Merge master into staging-next
This commit is contained in:
commit
f6895f13b0
|
@ -483,8 +483,8 @@ rec {
|
|||
};
|
||||
|
||||
# can execute on 32bit chip
|
||||
gcc_mips32r2_o32 = { gcc = { arch = "mips32r2"; abi = "o32"; }; };
|
||||
gcc_mips32r6_o32 = { gcc = { arch = "mips32r6"; abi = "o32"; }; };
|
||||
gcc_mips32r2_o32 = { gcc = { arch = "mips32r2"; abi = "32"; }; };
|
||||
gcc_mips32r6_o32 = { gcc = { arch = "mips32r6"; abi = "32"; }; };
|
||||
gcc_mips64r2_n32 = { gcc = { arch = "mips64r2"; abi = "n32"; }; };
|
||||
gcc_mips64r6_n32 = { gcc = { arch = "mips64r6"; abi = "n32"; }; };
|
||||
gcc_mips64r2_64 = { gcc = { arch = "mips64r2"; abi = "64"; }; };
|
||||
|
|
|
@ -9890,6 +9890,12 @@
|
|||
fingerprint = "196A BFEC 6A1D D1EC 7594 F8D1 F625 47D0 75E0 9767";
|
||||
}];
|
||||
};
|
||||
patryk4815 = {
|
||||
email = "patryk.sondej@gmail.com";
|
||||
github = "patryk4815";
|
||||
githubId = 3074260;
|
||||
name = "Patryk Sondej";
|
||||
};
|
||||
patternspandemic = {
|
||||
email = "patternspandemic@live.com";
|
||||
github = "patternspandemic";
|
||||
|
@ -12714,6 +12720,16 @@
|
|||
githubId = 886074;
|
||||
name = "Matthieu Coudron";
|
||||
};
|
||||
teutat3s = {
|
||||
email = "teutates@mailbox.org";
|
||||
matrix = "@teutat3s:pub.solar";
|
||||
github = "teutat3s";
|
||||
githubId = 10206665;
|
||||
name = "teutat3s";
|
||||
keys = [{
|
||||
fingerprint = "81A1 1C61 F413 8C84 9139 A4FA 18DA E600 A6BB E705";
|
||||
}];
|
||||
};
|
||||
tex = {
|
||||
email = "milan.svoboda@centrum.cz";
|
||||
github = "tex";
|
||||
|
|
|
@ -6,9 +6,9 @@ with lib;
|
|||
appstream.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install files to support the
|
||||
<link xlink:href="https://www.freedesktop.org/software/appstream/docs/index.html">AppStream metadata specification</link>.
|
||||
[AppStream metadata specification](https://www.freedesktop.org/software/appstream/docs/index.html).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -30,9 +30,9 @@ in
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to create a directory with links to all fonts in
|
||||
<filename>/run/current-system/sw/share/X11/fonts</filename>.
|
||||
{file}`/run/current-system/sw/share/X11/fonts`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -40,9 +40,9 @@ in
|
|||
type = types.bool;
|
||||
default = config.programs.xwayland.enable;
|
||||
defaultText = literalExpression "config.programs.xwayland.enable";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to decompress fonts in
|
||||
<filename>/run/current-system/sw/share/X11/fonts</filename>.
|
||||
{file}`/run/current-system/sw/share/X11/fonts`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -22,9 +22,8 @@ in
|
|||
default = null;
|
||||
type = timezone;
|
||||
example = "America/New_York";
|
||||
description = ''
|
||||
The time zone used when displaying times and dates. See <link
|
||||
xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/>
|
||||
description = lib.mdDoc ''
|
||||
The time zone used when displaying times and dates. See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
|
||||
for a comprehensive list of possible values for this setting.
|
||||
|
||||
If null, the timezone will default to UTC and can be set imperatively
|
||||
|
@ -35,7 +34,7 @@ in
|
|||
hardwareClockInLocalTime = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "If set, keep the hardware clock in local time instead of UTC.";
|
||||
description = lib.mdDoc "If set, keep the hardware clock in local time instead of UTC.";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -44,18 +43,18 @@ in
|
|||
|
||||
latitude = mkOption {
|
||||
type = types.float;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Your current latitude, between
|
||||
<literal>-90.0</literal> and <literal>90.0</literal>. Must be provided
|
||||
`-90.0` and `90.0`. Must be provided
|
||||
along with longitude.
|
||||
'';
|
||||
};
|
||||
|
||||
longitude = mkOption {
|
||||
type = types.float;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Your current longitude, between
|
||||
between <literal>-180.0</literal> and <literal>180.0</literal>. Must be
|
||||
between `-180.0` and `180.0`. Must be
|
||||
provided along with latitude.
|
||||
'';
|
||||
};
|
||||
|
@ -63,9 +62,9 @@ in
|
|||
provider = mkOption {
|
||||
type = types.enum [ "manual" "geoclue2" ];
|
||||
default = "manual";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The location provider to use for determining your location. If set to
|
||||
<literal>manual</literal> you must also provide latitude/longitude.
|
||||
`manual` you must also provide latitude/longitude.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ with lib;
|
|||
type = types.listOf types.path;
|
||||
internal = true;
|
||||
default = [];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Search path for NSS (Name Service Switch) modules. This allows
|
||||
several DNS resolution methods to be specified via
|
||||
<filename>/etc/nsswitch.conf</filename>.
|
||||
{file}`/etc/nsswitch.conf`.
|
||||
'';
|
||||
apply = list:
|
||||
{
|
||||
|
@ -28,8 +28,8 @@ with lib;
|
|||
system.nssDatabases = {
|
||||
passwd = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of passwd entries to configure in <filename>/etc/nsswitch.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
List of passwd entries to configure in {file}`/etc/nsswitch.conf`.
|
||||
|
||||
Note that "files" is always prepended while "systemd" is appended if nscd is enabled.
|
||||
|
||||
|
@ -40,8 +40,8 @@ with lib;
|
|||
|
||||
group = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of group entries to configure in <filename>/etc/nsswitch.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
List of group entries to configure in {file}`/etc/nsswitch.conf`.
|
||||
|
||||
Note that "files" is always prepended while "systemd" is appended if nscd is enabled.
|
||||
|
||||
|
@ -52,8 +52,8 @@ with lib;
|
|||
|
||||
shadow = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of shadow entries to configure in <filename>/etc/nsswitch.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
List of shadow entries to configure in {file}`/etc/nsswitch.conf`.
|
||||
|
||||
Note that "files" is always prepended.
|
||||
|
||||
|
@ -64,8 +64,8 @@ with lib;
|
|||
|
||||
hosts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of hosts entries to configure in <filename>/etc/nsswitch.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
List of hosts entries to configure in {file}`/etc/nsswitch.conf`.
|
||||
|
||||
Note that "files" is always prepended, and "dns" and "myhostname" are always appended.
|
||||
|
||||
|
@ -76,8 +76,8 @@ with lib;
|
|||
|
||||
services = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
List of services entries to configure in <filename>/etc/nsswitch.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
List of services entries to configure in {file}`/etc/nsswitch.conf`.
|
||||
|
||||
Note that "files" is always prepended.
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the PulseAudio sound server.
|
||||
'';
|
||||
};
|
||||
|
@ -97,7 +97,7 @@ in {
|
|||
systemWide = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
If false, a PulseAudio server is launched automatically for
|
||||
each user that tries to use the sound system. The server runs
|
||||
with user privileges. If true, one system-wide PulseAudio
|
||||
|
@ -112,7 +112,7 @@ in {
|
|||
support32Bit = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to include the 32-bit pulseaudio libraries in the system or not.
|
||||
This is only useful on 64-bit systems and currently limited to x86_64-linux.
|
||||
'';
|
||||
|
@ -120,7 +120,7 @@ in {
|
|||
|
||||
configFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The path to the default configuration options the PulseAudio server
|
||||
should use. By default, the "default.pa" configuration
|
||||
from the PulseAudio distribution is used.
|
||||
|
@ -130,8 +130,8 @@ in {
|
|||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Literal string to append to <literal>configFile</literal>
|
||||
description = lib.mdDoc ''
|
||||
Literal string to append to `configFile`
|
||||
and the config file generated by the pulseaudio module.
|
||||
'';
|
||||
};
|
||||
|
@ -139,7 +139,7 @@ in {
|
|||
extraClientConf = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Extra configuration appended to pulse/client.conf file.
|
||||
'';
|
||||
};
|
||||
|
@ -151,10 +151,10 @@ in {
|
|||
else pkgs.pulseaudio;
|
||||
defaultText = literalExpression "pkgs.pulseaudio";
|
||||
example = literalExpression "pkgs.pulseaudioFull";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The PulseAudio derivation to use. This can be used to enable
|
||||
features (such as JACK support, Bluetooth) via the
|
||||
<literal>pulseaudioFull</literal> package.
|
||||
`pulseaudioFull` package.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -162,7 +162,7 @@ in {
|
|||
type = types.listOf types.package;
|
||||
default = [];
|
||||
example = literalExpression "[ pkgs.pulseaudio-modules-bt ]";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Extra pulseaudio modules to use. This is intended for out-of-tree
|
||||
pulseaudio modules like extra bluetooth codecs.
|
||||
|
||||
|
@ -174,7 +174,7 @@ in {
|
|||
logLevel = mkOption {
|
||||
type = types.str;
|
||||
default = "notice";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The log level that the system-wide pulseaudio daemon should use,
|
||||
if activated.
|
||||
'';
|
||||
|
@ -183,7 +183,7 @@ in {
|
|||
config = mkOption {
|
||||
type = types.attrsOf types.unspecified;
|
||||
default = {};
|
||||
description = "Config of the pulse daemon. See <literal>man pulse-daemon.conf</literal>.";
|
||||
description = lib.mdDoc "Config of the pulse daemon. See `man pulse-daemon.conf`.";
|
||||
example = literalExpression ''{ realtime-scheduling = "yes"; }'';
|
||||
};
|
||||
};
|
||||
|
@ -205,7 +205,7 @@ in {
|
|||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = literalExpression ''[ "127.0.0.1" "192.168.1.0/24" ]'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
A list of IP subnets that are allowed to stream to the server.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -20,10 +20,10 @@ in {
|
|||
type = types.listOf types.package;
|
||||
default = [];
|
||||
example = literalExpression "with pkgs.unixODBCDrivers; [ sqlite psql ]";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Specifies Unix ODBC drivers to be registered in
|
||||
<filename>/etc/odbcinst.ini</filename>. You may also want to
|
||||
add <literal>pkgs.unixODBC</literal> to the system path to get
|
||||
{file}`/etc/odbcinst.ini`. You may also want to
|
||||
add `pkgs.unixODBC` to the system path to get
|
||||
a command line client to connect to ODBC databases.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -10,9 +10,9 @@ with lib;
|
|||
xdg.autostart.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install files to support the
|
||||
<link xlink:href="https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html">XDG Autostart specification</link>.
|
||||
[XDG Autostart specification](https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,9 +10,9 @@ with lib;
|
|||
xdg.icons.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install files to support the
|
||||
<link xlink:href="https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">XDG Icon Theme specification</link>.
|
||||
[XDG Icon Theme specification](https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,9 +10,9 @@ with lib;
|
|||
xdg.menus.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install files to support the
|
||||
<link xlink:href="https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html">XDG Desktop Menu specification</link>.
|
||||
[XDG Desktop Menu specification](https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,9 +10,9 @@ with lib;
|
|||
xdg.sounds.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install files to support the
|
||||
<link xlink:href="https://www.freedesktop.org/wiki/Specifications/sound-theme-spec/">XDG Sound Theme specification</link>.
|
||||
[XDG Sound Theme specification](https://www.freedesktop.org/wiki/Specifications/sound-theme-spec/).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,13 +6,13 @@ let
|
|||
in
|
||||
{
|
||||
options.hardware.cpu.intel.sgx.enableDcapCompat = mkOption {
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable backward compatibility for SGX software build for the
|
||||
out-of-tree Intel SGX DCAP driver.
|
||||
|
||||
Creates symbolic links for the SGX devices <literal>/dev/sgx_enclave</literal>
|
||||
and <literal>/dev/sgx_provision</literal> to make them available as
|
||||
<literal>/dev/sgx/enclave</literal> and <literal>/dev/sgx/provision</literal>,
|
||||
Creates symbolic links for the SGX devices `/dev/sgx_enclave`
|
||||
and `/dev/sgx_provision` to make them available as
|
||||
`/dev/sgx/enclave` and `/dev/sgx/provision`,
|
||||
respectively.
|
||||
'';
|
||||
type = types.bool;
|
||||
|
@ -22,17 +22,17 @@ in
|
|||
options.hardware.cpu.intel.sgx.provision = {
|
||||
enable = mkEnableOption "access to the Intel SGX provisioning device";
|
||||
user = mkOption {
|
||||
description = "Owner to assign to the SGX provisioning device.";
|
||||
description = lib.mdDoc "Owner to assign to the SGX provisioning device.";
|
||||
type = types.str;
|
||||
default = "root";
|
||||
};
|
||||
group = mkOption {
|
||||
description = "Group to assign to the SGX provisioning device.";
|
||||
description = lib.mdDoc "Group to assign to the SGX provisioning device.";
|
||||
type = types.str;
|
||||
default = defaultPrvGroup;
|
||||
};
|
||||
mode = mkOption {
|
||||
description = "Mode to set for the SGX provisioning device.";
|
||||
description = lib.mdDoc "Mode to set for the SGX provisioning device.";
|
||||
type = types.str;
|
||||
default = "0660";
|
||||
};
|
||||
|
|
|
@ -15,9 +15,9 @@ in {
|
|||
sleep = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
How many milliseconds ksmd should sleep between scans.
|
||||
Setting it to <literal>null</literal> uses the kernel's default time.
|
||||
Setting it to `null` uses the kernel's default time.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -22,9 +22,9 @@ in
|
|||
let
|
||||
enginesDrv = filterAttrs (const isDerivation) pkgs.fcitx-engines;
|
||||
engines = concatStringsSep ", "
|
||||
(map (name: "<literal>${name}</literal>") (attrNames enginesDrv));
|
||||
(map (name: "`${name}`") (attrNames enginesDrv));
|
||||
in
|
||||
"Enabled Fcitx engines. Available engines are: ${engines}.";
|
||||
lib.mdDoc "Enabled Fcitx engines. Available engines are: ${engines}.";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -43,15 +43,15 @@ in
|
|||
let
|
||||
enginesDrv = filterAttrs (const isDerivation) pkgs.ibus-engines;
|
||||
engines = concatStringsSep ", "
|
||||
(map (name: "<literal>${name}</literal>") (attrNames enginesDrv));
|
||||
(map (name: "`${name}`") (attrNames enginesDrv));
|
||||
in
|
||||
"Enabled IBus engines. Available engines are: ${engines}.";
|
||||
lib.mdDoc "Enabled IBus engines. Available engines are: ${engines}.";
|
||||
};
|
||||
panel = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
example = literalExpression ''"''${pkgs.plasma5Packages.plasma-desktop}/lib/libexec/kimpanel-ibus-panel"'';
|
||||
description = "Replace the IBus panel with another panel.";
|
||||
description = lib.mdDoc "Replace the IBus panel with another panel.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -75,15 +75,15 @@ in
|
|||
configuration = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The NixOS module that <literal>nixos-generate-config</literal>
|
||||
saves to <literal>/etc/nixos/configuration.nix</literal>.
|
||||
description = lib.mdDoc ''
|
||||
The NixOS module that `nixos-generate-config`
|
||||
saves to `/etc/nixos/configuration.nix`.
|
||||
|
||||
This is an internal option. No backward compatibility is guaranteed.
|
||||
Use at your own risk!
|
||||
|
||||
Note that this string gets spliced into a Perl script. The perl
|
||||
variable <literal>$bootLoaderConfig</literal> can be used to
|
||||
variable `$bootLoaderConfig` can be used to
|
||||
splice in the boot loader configuration.
|
||||
'';
|
||||
};
|
||||
|
@ -92,15 +92,15 @@ in
|
|||
internal = true;
|
||||
type = types.listOf types.lines;
|
||||
default = [];
|
||||
description = ''
|
||||
Text to preseed the desktop configuration that <literal>nixos-generate-config</literal>
|
||||
saves to <literal>/etc/nixos/configuration.nix</literal>.
|
||||
description = lib.mdDoc ''
|
||||
Text to preseed the desktop configuration that `nixos-generate-config`
|
||||
saves to `/etc/nixos/configuration.nix`.
|
||||
|
||||
This is an internal option. No backward compatibility is guaranteed.
|
||||
Use at your own risk!
|
||||
|
||||
Note that this string gets spliced into a Perl script. The perl
|
||||
variable <literal>$bootLoaderConfig</literal> can be used to
|
||||
variable `$bootLoaderConfig` can be used to
|
||||
splice in the boot loader configuration.
|
||||
'';
|
||||
};
|
||||
|
@ -110,7 +110,7 @@ in
|
|||
internal = true;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Disable nixos-rebuild, nixos-generate-config, nixos-installer
|
||||
and other NixOS tools. This is useful to shrink embedded,
|
||||
read-only systems which are not expected to be rebuild or
|
||||
|
|
|
@ -36,8 +36,8 @@ in
|
|||
type = lib.types.package;
|
||||
default = pkgs.man-db;
|
||||
defaultText = lib.literalExpression "pkgs.man-db";
|
||||
description = ''
|
||||
The <literal>man-db</literal> derivation to use. Useful to override
|
||||
description = lib.mdDoc ''
|
||||
The `man-db` derivation to use. Useful to override
|
||||
configuration options used for the package.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -16,9 +16,9 @@ in {
|
|||
type = with lib.types; listOf str;
|
||||
default = [ "share/man" ];
|
||||
example = lib.literalExpression "[ \"share/man\" \"share/man/fr\" ]";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Change the manpath, i. e. the directories where
|
||||
<citerefentry><refentrytitle>man</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
{manpage}`man(1)`
|
||||
looks for section-specific directories of man pages.
|
||||
You only need to change this setting if you want extra man pages
|
||||
(e. g. in non-english languages). All values must be strings that
|
||||
|
@ -31,8 +31,8 @@ in {
|
|||
type = lib.types.package;
|
||||
default = pkgs.mandoc;
|
||||
defaultText = lib.literalExpression "pkgs.mandoc";
|
||||
description = ''
|
||||
The <literal>mandoc</literal> derivation to use. Useful to override
|
||||
description = lib.mdDoc ''
|
||||
The `mandoc` derivation to use. Useful to override
|
||||
configuration options used for the package.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -49,42 +49,42 @@ in
|
|||
nixos.version = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
description = "The full NixOS version (e.g. <literal>16.03.1160.f2d4ee1</literal>).";
|
||||
description = lib.mdDoc "The full NixOS version (e.g. `16.03.1160.f2d4ee1`).";
|
||||
};
|
||||
|
||||
nixos.release = mkOption {
|
||||
readOnly = true;
|
||||
type = types.str;
|
||||
default = trivial.release;
|
||||
description = "The NixOS release (e.g. <literal>16.03</literal>).";
|
||||
description = lib.mdDoc "The NixOS release (e.g. `16.03`).";
|
||||
};
|
||||
|
||||
nixos.versionSuffix = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = trivial.versionSuffix;
|
||||
description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
|
||||
description = lib.mdDoc "The NixOS version suffix (e.g. `1160.f2d4ee1`).";
|
||||
};
|
||||
|
||||
nixos.revision = mkOption {
|
||||
internal = true;
|
||||
type = types.nullOr types.str;
|
||||
default = trivial.revisionWithDefault null;
|
||||
description = "The Git revision from which this NixOS configuration was built.";
|
||||
description = lib.mdDoc "The Git revision from which this NixOS configuration was built.";
|
||||
};
|
||||
|
||||
nixos.codeName = mkOption {
|
||||
readOnly = true;
|
||||
type = types.str;
|
||||
default = trivial.codeName;
|
||||
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
|
||||
description = lib.mdDoc "The NixOS release code name (e.g. `Emu`).";
|
||||
};
|
||||
|
||||
stateVersion = mkOption {
|
||||
type = types.str;
|
||||
default = cfg.release;
|
||||
defaultText = literalExpression "config.${opt.release}";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Every once in a while, a new NixOS release may change
|
||||
configuration defaults in a way incompatible with stateful
|
||||
data. For instance, if the default version of PostgreSQL
|
||||
|
@ -108,13 +108,13 @@ in
|
|||
internal = true;
|
||||
type = types.str;
|
||||
default = "https://nixos.org/channels/nixos-unstable";
|
||||
description = "Default NixOS channel to which the root user is subscribed.";
|
||||
description = lib.mdDoc "Default NixOS channel to which the root user is subscribed.";
|
||||
};
|
||||
|
||||
configurationRevision = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "The Git revision of the top-level flake from which this configuration was built.";
|
||||
description = lib.mdDoc "The Git revision of the top-level flake from which this configuration was built.";
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -20,7 +20,7 @@ in
|
|||
type = types.package;
|
||||
default = pkgs.atop;
|
||||
defaultText = literalExpression "pkgs.atop";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Which package to use for Atop.
|
||||
'';
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ in
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install and enable the netatop kernel module.
|
||||
Note: this sets the kernel taint flag "O" for loading out-of-tree modules.
|
||||
'';
|
||||
|
@ -38,7 +38,7 @@ in
|
|||
type = types.package;
|
||||
default = config.boot.kernelPackages.netatop;
|
||||
defaultText = literalExpression "config.boot.kernelPackages.netatop";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Which package to use for netatop.
|
||||
'';
|
||||
};
|
||||
|
@ -47,7 +47,7 @@ in
|
|||
atopgpu.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install and enable the atopgpud daemon to get information about
|
||||
NVIDIA gpus.
|
||||
'';
|
||||
|
@ -56,7 +56,7 @@ in
|
|||
setuidWrapper.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to install a setuid wrapper for Atop. This is required to use some of
|
||||
the features as non-root user (e.g.: ipc information, netatop, atopgpu).
|
||||
Atop tries to drop the root privileges shortly after starting.
|
||||
|
@ -66,7 +66,7 @@ in
|
|||
atopService.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the atop service responsible for storing statistics for
|
||||
long-term analysis.
|
||||
'';
|
||||
|
@ -74,7 +74,7 @@ in
|
|||
atopRotateTimer.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the atop-rotate timer, which restarts the atop service
|
||||
daily to make sure the data files are rotate.
|
||||
'';
|
||||
|
@ -82,7 +82,7 @@ in
|
|||
atopacctService.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the atopacct service which manages process accounting.
|
||||
This allows Atop to gather data about processes that disappeared in between
|
||||
two refresh intervals.
|
||||
|
@ -95,8 +95,8 @@ in
|
|||
flags = "a1f";
|
||||
interval = 5;
|
||||
};
|
||||
description = ''
|
||||
Parameters to be written to <filename>/etc/atoprc</filename>.
|
||||
description = lib.mdDoc ''
|
||||
Parameters to be written to {file}`/etc/atoprc`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -30,10 +30,10 @@ in
|
|||
/*
|
||||
enable = mkOption {
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whenever to configure Bash as an interactive shell.
|
||||
Note that this tries to make Bash the default
|
||||
<option>users.defaultUserShell</option>,
|
||||
{option}`users.defaultUserShell`,
|
||||
which in turn means that you might need to explicitly
|
||||
set this variable if you have another shell configured
|
||||
with NixOS.
|
||||
|
@ -44,16 +44,16 @@ in
|
|||
|
||||
shellAliases = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
Set of aliases for bash shell, which overrides <option>environment.shellAliases</option>.
|
||||
See <option>environment.shellAliases</option> for an option format description.
|
||||
description = lib.mdDoc ''
|
||||
Set of aliases for bash shell, which overrides {option}`environment.shellAliases`.
|
||||
See {option}`environment.shellAliases` for an option format description.
|
||||
'';
|
||||
type = with types; attrsOf (nullOr (either str path));
|
||||
};
|
||||
|
||||
shellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during bash shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -61,7 +61,7 @@ in
|
|||
|
||||
loginShellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during login bash shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -69,7 +69,7 @@ in
|
|||
|
||||
interactiveShellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during interactive bash shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -92,7 +92,7 @@ in
|
|||
fi
|
||||
fi
|
||||
'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code used to initialise the bash prompt.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -100,7 +100,7 @@ in
|
|||
|
||||
promptPluginInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code used to initialise bash prompt plugins.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
|
|
@ -33,14 +33,14 @@ in
|
|||
profiles = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = "Set of dconf profile files, installed at <filename>/etc/dconf/profiles/<replaceable>name</replaceable></filename>.";
|
||||
description = lib.mdDoc "Set of dconf profile files, installed at {file}`/etc/dconf/profiles/«name»`.";
|
||||
internal = true;
|
||||
};
|
||||
|
||||
packages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
description = "A list of packages which provide dconf profiles and databases in <filename>/etc/dconf</filename>.";
|
||||
description = lib.mdDoc "A list of packages which provide dconf profiles and databases in {file}`/etc/dconf`.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -49,7 +49,7 @@ in
|
|||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to configure fish as an interactive shell.
|
||||
'';
|
||||
type = types.bool;
|
||||
|
@ -58,16 +58,16 @@ in
|
|||
useBabelfish = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
If enabled, the configured environment will be translated to native fish using <link xlink:href="https://github.com/bouk/babelfish">babelfish</link>.
|
||||
Otherwise, <link xlink:href="https://github.com/oh-my-fish/plugin-foreign-env">foreign-env</link> will be used.
|
||||
description = lib.mdDoc ''
|
||||
If enabled, the configured environment will be translated to native fish using [babelfish](https://github.com/bouk/babelfish).
|
||||
Otherwise, [foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) will be used.
|
||||
'';
|
||||
};
|
||||
|
||||
vendor.config.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether fish should source configuration snippets provided by other packages.
|
||||
'';
|
||||
};
|
||||
|
@ -75,7 +75,7 @@ in
|
|||
vendor.completions.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether fish should use completion files provided by other packages.
|
||||
'';
|
||||
};
|
||||
|
@ -83,7 +83,7 @@ in
|
|||
vendor.functions.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether fish should autoload fish functions provided by other packages.
|
||||
'';
|
||||
};
|
||||
|
@ -94,7 +94,7 @@ in
|
|||
gco = "git checkout";
|
||||
npu = "nix-prefetch-url";
|
||||
};
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Set of fish abbreviations.
|
||||
'';
|
||||
type = with types; attrsOf str;
|
||||
|
@ -102,16 +102,16 @@ in
|
|||
|
||||
shellAliases = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
Set of aliases for fish shell, which overrides <option>environment.shellAliases</option>.
|
||||
See <option>environment.shellAliases</option> for an option format description.
|
||||
description = lib.mdDoc ''
|
||||
Set of aliases for fish shell, which overrides {option}`environment.shellAliases`.
|
||||
See {option}`environment.shellAliases` for an option format description.
|
||||
'';
|
||||
type = with types; attrsOf (nullOr (either str path));
|
||||
};
|
||||
|
||||
shellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during fish shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -119,7 +119,7 @@ in
|
|||
|
||||
loginShellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during fish login shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -127,7 +127,7 @@ in
|
|||
|
||||
interactiveShellInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code called during interactive fish shell initialisation.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
@ -135,7 +135,7 @@ in
|
|||
|
||||
promptInit = mkOption {
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Shell script code used to initialise fish prompt.
|
||||
'';
|
||||
type = types.lines;
|
||||
|
|
|
@ -41,12 +41,12 @@ in
|
|||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = literalExpression ''"''${pkgs.my-configs}/lesskey"'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Path to lesskey configuration file.
|
||||
|
||||
<option>configFile</option> takes precedence over <option>commands</option>,
|
||||
<option>clearDefaultCommands</option>, <option>lineEditingKeys</option>, and
|
||||
<option>envVariables</option>.
|
||||
{option}`configFile` takes precedence over {option}`commands`,
|
||||
{option}`clearDefaultCommands`, {option}`lineEditingKeys`, and
|
||||
{option}`envVariables`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -57,13 +57,13 @@ in
|
|||
h = "noaction 5\\e(";
|
||||
l = "noaction 5\\e)";
|
||||
};
|
||||
description = "Defines new command keys.";
|
||||
description = lib.mdDoc "Defines new command keys.";
|
||||
};
|
||||
|
||||
clearDefaultCommands = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Clear all default commands.
|
||||
You should remember to set the quit key.
|
||||
Otherwise you will not be able to leave less without killing it.
|
||||
|
@ -76,7 +76,7 @@ in
|
|||
example = {
|
||||
e = "abort";
|
||||
};
|
||||
description = "Defines new line-editing keys.";
|
||||
description = lib.mdDoc "Defines new line-editing keys.";
|
||||
};
|
||||
|
||||
envVariables = mkOption {
|
||||
|
@ -87,14 +87,14 @@ in
|
|||
example = {
|
||||
LESS = "--quit-if-one-screen";
|
||||
};
|
||||
description = "Defines environment variables.";
|
||||
description = lib.mdDoc "Defines environment variables.";
|
||||
};
|
||||
|
||||
lessopen = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = "|${pkgs.lesspipe}/bin/lesspipe.sh %s";
|
||||
defaultText = literalExpression ''"|''${pkgs.lesspipe}/bin/lesspipe.sh %s"'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed.
|
||||
'';
|
||||
};
|
||||
|
@ -102,7 +102,7 @@ in
|
|||
lessclose = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN).
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -14,9 +14,9 @@ in
|
|||
nanorc = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The system-wide nano configuration.
|
||||
See <citerefentry><refentrytitle>nanorc</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
See {manpage}`nanorc(5)`.
|
||||
'';
|
||||
example = ''
|
||||
set nowrap
|
||||
|
@ -27,7 +27,7 @@ in
|
|||
syntaxHighlight = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to enable syntax highlight for various languages.";
|
||||
description = lib.mdDoc "Whether to enable syntax highlight for various languages.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -26,17 +26,17 @@ let
|
|||
|
||||
type = mkOption {
|
||||
type = types.enum [ "http" "socks4" "socks5" ];
|
||||
description = "Proxy type.";
|
||||
description = lib.mdDoc "Proxy type.";
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
description = "Proxy host or IP address.";
|
||||
description = lib.mdDoc "Proxy host or IP address.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
description = "Proxy port";
|
||||
description = lib.mdDoc "Proxy port";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -55,26 +55,26 @@ in {
|
|||
type = mkOption {
|
||||
type = types.enum [ "dynamic" "strict" "random" ];
|
||||
default = "strict";
|
||||
description = ''
|
||||
<literal>dynamic</literal> - Each connection will be done via chained proxies
|
||||
description = lib.mdDoc ''
|
||||
`dynamic` - Each connection will be done via chained proxies
|
||||
all proxies chained in the order as they appear in the list
|
||||
at least one proxy must be online to play in chain
|
||||
(dead proxies are skipped)
|
||||
otherwise <literal>EINTR</literal> is returned to the app.
|
||||
otherwise `EINTR` is returned to the app.
|
||||
|
||||
<literal>strict</literal> - Each connection will be done via chained proxies
|
||||
`strict` - Each connection will be done via chained proxies
|
||||
all proxies chained in the order as they appear in the list
|
||||
all proxies must be online to play in chain
|
||||
otherwise <literal>EINTR</literal> is returned to the app.
|
||||
otherwise `EINTR` is returned to the app.
|
||||
|
||||
<literal>random</literal> - Each connection will be done via random proxy
|
||||
(or proxy chain, see <option>programs.proxychains.chain.length</option>) from the list.
|
||||
`random` - Each connection will be done via random proxy
|
||||
(or proxy chain, see {option}`programs.proxychains.chain.length`) from the list.
|
||||
'';
|
||||
};
|
||||
length = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Chain length for random chain.
|
||||
'';
|
||||
};
|
||||
|
@ -83,7 +83,7 @@ in {
|
|||
proxyDNS = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Proxy DNS requests - no leak for DNS data.";
|
||||
description = lib.mdDoc "Proxy DNS requests - no leak for DNS data.";
|
||||
};
|
||||
|
||||
quietMode = mkEnableOption "Quiet mode (no output from the library).";
|
||||
|
@ -91,7 +91,7 @@ in {
|
|||
remoteDNSSubnet = mkOption {
|
||||
type = types.enum [ 10 127 224 ];
|
||||
default = 224;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Set the class A subnet number to use for the internal remote DNS mapping, uses the reserved 224.x.x.x range by default.
|
||||
'';
|
||||
};
|
||||
|
@ -99,24 +99,24 @@ in {
|
|||
tcpReadTimeOut = mkOption {
|
||||
type = types.int;
|
||||
default = 15000;
|
||||
description = "Connection read time-out in milliseconds.";
|
||||
description = lib.mdDoc "Connection read time-out in milliseconds.";
|
||||
};
|
||||
|
||||
tcpConnectTimeOut = mkOption {
|
||||
type = types.int;
|
||||
default = 8000;
|
||||
description = "Connection time-out in milliseconds.";
|
||||
description = lib.mdDoc "Connection time-out in milliseconds.";
|
||||
};
|
||||
|
||||
localnet = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.0/255.0.0.0";
|
||||
description = "By default enable localnet for loopback address ranges.";
|
||||
description = lib.mdDoc "By default enable localnet for loopback address ranges.";
|
||||
};
|
||||
|
||||
proxies = mkOption {
|
||||
type = types.attrsOf (types.submodule proxyOptions);
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Proxies to be used by proxychains.
|
||||
'';
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ in
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to install SpaceFM and create <filename>/etc/spacefm/spacefm.conf</filename>.
|
||||
description = lib.mdDoc ''
|
||||
Whether to install SpaceFM and create {file}`/etc/spacefm/spacefm.conf`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -34,10 +34,10 @@ in
|
|||
terminal_su = "''${pkgs.sudo}/bin/sudo";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The system-wide spacefm configuration.
|
||||
Parameters to be written to <filename>/etc/spacefm/spacefm.conf</filename>.
|
||||
Refer to the <link xlink:href="https://ignorantguru.github.io/spacefm/spacefm-manual-en.html#programfiles-etc">relevant entry</link> in the SpaceFM manual.
|
||||
Parameters to be written to {file}`/etc/spacefm/spacefm.conf`.
|
||||
Refer to the [relevant entry](https://ignorantguru.github.io/spacefm/spacefm-manual-en.html#programfiles-etc) in the SpaceFM manual.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ in {
|
|||
settings = mkOption {
|
||||
inherit (settingsFormat) type;
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration included in <literal>starship.toml</literal>.
|
||||
description = lib.mdDoc ''
|
||||
Configuration included in `starship.toml`.
|
||||
|
||||
See https://starship.rs/config/#prompt for documentation.
|
||||
'';
|
||||
|
|
|
@ -11,11 +11,11 @@ with lib;
|
|||
security.lockKernelModules = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Disable kernel module loading once the system is fully initialised.
|
||||
Module loading is disabled until the next reboot. Problems caused
|
||||
by delayed module loading can be fixed by adding the module(s) in
|
||||
question to <option>boot.kernelModules</option>.
|
||||
question to {option}`boot.kernelModules`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -29,7 +29,7 @@ in
|
|||
if (subject.local) return "yes";
|
||||
});
|
||||
'';
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Any polkit rules to be added to config (in JavaScript ;-). See:
|
||||
http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html#polkit-rules
|
||||
|
@ -40,12 +40,12 @@ in
|
|||
type = types.listOf types.str;
|
||||
default = [ "unix-group:wheel" ];
|
||||
example = [ "unix-user:alice" "unix-group:admin" ];
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Specifies which users are considered “administrators”, for those
|
||||
actions that require the user to authenticate as an
|
||||
administrator (i.e. have an <literal>auth_admin</literal>
|
||||
value). By default, this is all users in the <literal>wheel</literal> group.
|
||||
administrator (i.e. have an `auth_admin`
|
||||
value). By default, this is all users in the `wheel` group.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -222,6 +222,15 @@ in
|
|||
A script that must run after finishing the backup process.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.restic;
|
||||
defaultText = literalExpression "pkgs.restic";
|
||||
description = ''
|
||||
Restic package to use.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}));
|
||||
default = { };
|
||||
|
@ -254,7 +263,7 @@ in
|
|||
(name: backup:
|
||||
let
|
||||
extraOptions = concatMapStrings (arg: " -o ${arg}") backup.extraOptions;
|
||||
resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
|
||||
resticCmd = "${backup.package}/bin/restic${extraOptions}";
|
||||
filesFromTmpFile = "/run/restic-backups-${name}/includes";
|
||||
backupPaths =
|
||||
if (backup.dynamicFilesFrom == null)
|
||||
|
|
|
@ -125,6 +125,7 @@ in {
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
|
||||
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
|
||||
path = [ pkgs.lottieconverter ];
|
||||
|
||||
preStart = ''
|
||||
# Not all secrets can be passed as environment variable (yet)
|
||||
|
|
|
@ -22,11 +22,11 @@ in
|
|||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to create symlinks to the system generations under
|
||||
<literal>/boot</literal>. When enabled,
|
||||
<literal>/boot/default/kernel</literal>,
|
||||
<literal>/boot/default/initrd</literal>, etc., are updated to
|
||||
`/boot`. When enabled,
|
||||
`/boot/default/kernel`,
|
||||
`/boot/default/initrd`, etc., are updated to
|
||||
point to the current generation's kernel image, initial RAM
|
||||
disk, and other bootstrap files.
|
||||
|
||||
|
@ -41,7 +41,7 @@ in
|
|||
copyKernels = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether copy the necessary boot files into /boot, so
|
||||
/nix/store is not needed by the boot loader.
|
||||
'';
|
||||
|
|
|
@ -177,11 +177,11 @@ in
|
|||
default = pkgs.systemd;
|
||||
defaultText = literalExpression "pkgs.systemd";
|
||||
type = types.package;
|
||||
description = "The systemd package.";
|
||||
description = lib.mdDoc "The systemd package.";
|
||||
};
|
||||
|
||||
systemd.units = mkOption {
|
||||
description = "Definition of systemd units.";
|
||||
description = lib.mdDoc "Definition of systemd units.";
|
||||
default = {};
|
||||
type = systemdUtils.types.units;
|
||||
};
|
||||
|
@ -190,43 +190,43 @@ in
|
|||
default = [];
|
||||
type = types.listOf types.package;
|
||||
example = literalExpression "[ pkgs.systemd-cryptsetup-generator ]";
|
||||
description = "Packages providing systemd units and hooks.";
|
||||
description = lib.mdDoc "Packages providing systemd units and hooks.";
|
||||
};
|
||||
|
||||
systemd.targets = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.targets;
|
||||
description = "Definition of systemd target units.";
|
||||
description = lib.mdDoc "Definition of systemd target units.";
|
||||
};
|
||||
|
||||
systemd.services = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.services;
|
||||
description = "Definition of systemd service units.";
|
||||
description = lib.mdDoc "Definition of systemd service units.";
|
||||
};
|
||||
|
||||
systemd.sockets = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.sockets;
|
||||
description = "Definition of systemd socket units.";
|
||||
description = lib.mdDoc "Definition of systemd socket units.";
|
||||
};
|
||||
|
||||
systemd.timers = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.timers;
|
||||
description = "Definition of systemd timer units.";
|
||||
description = lib.mdDoc "Definition of systemd timer units.";
|
||||
};
|
||||
|
||||
systemd.paths = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.paths;
|
||||
description = "Definition of systemd path units.";
|
||||
description = lib.mdDoc "Definition of systemd path units.";
|
||||
};
|
||||
|
||||
systemd.mounts = mkOption {
|
||||
default = [];
|
||||
type = systemdUtils.types.mounts;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd mount units.
|
||||
This is a list instead of an attrSet, because systemd mandates the names to be derived from
|
||||
the 'where' attribute.
|
||||
|
@ -236,7 +236,7 @@ in
|
|||
systemd.automounts = mkOption {
|
||||
default = [];
|
||||
type = systemdUtils.types.automounts;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd automount units.
|
||||
This is a list instead of an attrSet, because systemd mandates the names to be derived from
|
||||
the 'where' attribute.
|
||||
|
@ -246,41 +246,41 @@ in
|
|||
systemd.slices = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.slices;
|
||||
description = "Definition of slice configurations.";
|
||||
description = lib.mdDoc "Definition of slice configurations.";
|
||||
};
|
||||
|
||||
systemd.generators = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
example = { systemd-gpt-auto-generator = "/dev/null"; };
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd generators.
|
||||
For each <literal>NAME = VALUE</literal> pair of the attrSet, a link is generated from
|
||||
<literal>/etc/systemd/system-generators/NAME</literal> to <literal>VALUE</literal>.
|
||||
For each `NAME = VALUE` pair of the attrSet, a link is generated from
|
||||
`/etc/systemd/system-generators/NAME` to `VALUE`.
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.shutdown = mkOption {
|
||||
type = types.attrsOf types.path;
|
||||
default = {};
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd shutdown executables.
|
||||
For each <literal>NAME = VALUE</literal> pair of the attrSet, a link is generated from
|
||||
<literal>/etc/systemd/system-shutdown/NAME</literal> to <literal>VALUE</literal>.
|
||||
For each `NAME = VALUE` pair of the attrSet, a link is generated from
|
||||
`/etc/systemd/system-shutdown/NAME` to `VALUE`.
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.defaultUnit = mkOption {
|
||||
default = "multi-user.target";
|
||||
type = types.str;
|
||||
description = "Default unit started when the system boots.";
|
||||
description = lib.mdDoc "Default unit started when the system boots.";
|
||||
};
|
||||
|
||||
systemd.ctrlAltDelUnit = mkOption {
|
||||
default = "reboot.target";
|
||||
type = types.str;
|
||||
example = "poweroff.target";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Target that should be started when Ctrl-Alt-Delete is pressed.
|
||||
'';
|
||||
};
|
||||
|
@ -289,8 +289,8 @@ in
|
|||
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
|
||||
default = {};
|
||||
example = { TZ = "CET"; };
|
||||
description = ''
|
||||
Environment variables passed to <emphasis>all</emphasis> systemd units.
|
||||
description = lib.mdDoc ''
|
||||
Environment variables passed to *all* systemd units.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -298,16 +298,16 @@ in
|
|||
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
|
||||
default = {};
|
||||
example = { SYSTEMD_LOG_LEVEL = "debug"; };
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Environment variables of PID 1. These variables are
|
||||
<emphasis>not</emphasis> passed to started units.
|
||||
*not* passed to started units.
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.enableCgroupAccounting = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable cgroup accounting.
|
||||
'';
|
||||
};
|
||||
|
@ -315,7 +315,7 @@ in
|
|||
systemd.enableUnifiedCgroupHierarchy = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the unified cgroup hierarchy (cgroupsv2).
|
||||
'';
|
||||
};
|
||||
|
@ -324,7 +324,7 @@ in
|
|||
default = "";
|
||||
type = types.lines;
|
||||
example = "DefaultLimitCORE=infinity";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Extra config options for systemd. See man systemd-system.conf for
|
||||
available options.
|
||||
'';
|
||||
|
@ -334,7 +334,7 @@ in
|
|||
default = "";
|
||||
type = types.lines;
|
||||
example = "HibernateDelaySec=1h";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Extra config options for systemd sleep state logic.
|
||||
See sleep.conf.d(5) man page for available options.
|
||||
'';
|
||||
|
@ -344,7 +344,7 @@ in
|
|||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
example = [ "debug-shell.service" "systemd-quotacheck.service" ];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Additional units shipped with systemd that shall be enabled.
|
||||
'';
|
||||
};
|
||||
|
@ -353,10 +353,10 @@ in
|
|||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
example = [ "systemd-backlight@.service" ];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
A list of units to skip when generating system systemd configuration directory. This has
|
||||
priority over upstream units, <option>systemd.units</option>, and
|
||||
<option>systemd.additionalUpstreamSystemUnits</option>. The main purpose of this is to
|
||||
priority over upstream units, {option}`systemd.units`, and
|
||||
{option}`systemd.additionalUpstreamSystemUnits`. The main purpose of this is to
|
||||
prevent a upstream systemd unit from being added to the initrd with any modifications made to it
|
||||
by other NixOS modules.
|
||||
'';
|
||||
|
@ -366,7 +366,7 @@ in
|
|||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/dev/watchdog";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The path to a hardware watchdog device which will be managed by systemd.
|
||||
If not specified, systemd will default to /dev/watchdog.
|
||||
'';
|
||||
|
@ -376,7 +376,7 @@ in
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "30s";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The amount of time which can elapse before a watchdog hardware device
|
||||
will automatically reboot the system. Valid time units include "ms",
|
||||
"s", "min", "h", "d", and "w".
|
||||
|
@ -387,7 +387,7 @@ in
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "10m";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The amount of time which can elapse after a reboot has been triggered
|
||||
before a watchdog hardware device will automatically reboot the system.
|
||||
Valid time units include "ms", "s", "min", "h", "d", and "w".
|
||||
|
@ -398,7 +398,7 @@ in
|
|||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "10m";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The amount of time which can elapse when kexec is being executed before
|
||||
a watchdog hardware device will automatically reboot the system. This
|
||||
option should only be enabled if reloadTime is also enabled. Valid
|
||||
|
|
|
@ -150,7 +150,7 @@ in {
|
|||
};
|
||||
|
||||
contents = mkOption {
|
||||
description = "Set of files that have to be linked into the initrd";
|
||||
description = lib.mdDoc "Set of files that have to be linked into the initrd";
|
||||
example = literalExpression ''
|
||||
{
|
||||
"/etc/hostname".text = "mymachine";
|
||||
|
@ -162,7 +162,7 @@ in {
|
|||
};
|
||||
|
||||
storePaths = mkOption {
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Store paths to copy into the initrd as well.
|
||||
'';
|
||||
type = with types; listOf (oneOf [ singleLineStr package ]);
|
||||
|
@ -170,7 +170,7 @@ in {
|
|||
};
|
||||
|
||||
extraBin = mkOption {
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Tools to add to /bin
|
||||
'';
|
||||
example = literalExpression ''
|
||||
|
@ -183,7 +183,7 @@ in {
|
|||
};
|
||||
|
||||
suppressedStorePaths = mkOption {
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Store paths specified in the storePaths option that
|
||||
should not be copied.
|
||||
'';
|
||||
|
@ -194,7 +194,7 @@ in {
|
|||
emergencyAccess = mkOption {
|
||||
type = with types; oneOf [ bool (nullOr (passwdEntry str)) ];
|
||||
visible = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Set to true for unauthenticated emergency access, and false for
|
||||
no emergency access.
|
||||
|
||||
|
@ -208,7 +208,7 @@ in {
|
|||
type = types.listOf types.package;
|
||||
default = [];
|
||||
visible = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Packages to include in /bin for the stage 1 emergency shell.
|
||||
'';
|
||||
};
|
||||
|
@ -218,7 +218,7 @@ in {
|
|||
type = types.listOf types.str;
|
||||
visible = false;
|
||||
example = [ "debug-shell.service" "systemd-quotacheck.service" ];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Additional units shipped with systemd that shall be enabled.
|
||||
'';
|
||||
};
|
||||
|
@ -228,17 +228,17 @@ in {
|
|||
type = types.listOf types.str;
|
||||
example = [ "systemd-backlight@.service" ];
|
||||
visible = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
A list of units to skip when generating system systemd configuration directory. This has
|
||||
priority over upstream units, <option>boot.initrd.systemd.units</option>, and
|
||||
<option>boot.initrd.systemd.additionalUpstreamUnits</option>. The main purpose of this is to
|
||||
priority over upstream units, {option}`boot.initrd.systemd.units`, and
|
||||
{option}`boot.initrd.systemd.additionalUpstreamUnits`. The main purpose of this is to
|
||||
prevent a upstream systemd unit from being added to the initrd with any modifications made to it
|
||||
by other NixOS modules.
|
||||
'';
|
||||
};
|
||||
|
||||
units = mkOption {
|
||||
description = "Definition of systemd units.";
|
||||
description = lib.mdDoc "Definition of systemd units.";
|
||||
default = {};
|
||||
visible = false;
|
||||
type = systemdUtils.types.units;
|
||||
|
@ -249,49 +249,49 @@ in {
|
|||
visible = false;
|
||||
type = types.listOf types.package;
|
||||
example = literalExpression "[ pkgs.systemd-cryptsetup-generator ]";
|
||||
description = "Packages providing systemd units and hooks.";
|
||||
description = lib.mdDoc "Packages providing systemd units and hooks.";
|
||||
};
|
||||
|
||||
targets = mkOption {
|
||||
default = {};
|
||||
visible = false;
|
||||
type = systemdUtils.types.initrdTargets;
|
||||
description = "Definition of systemd target units.";
|
||||
description = lib.mdDoc "Definition of systemd target units.";
|
||||
};
|
||||
|
||||
services = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.initrdServices;
|
||||
visible = false;
|
||||
description = "Definition of systemd service units.";
|
||||
description = lib.mdDoc "Definition of systemd service units.";
|
||||
};
|
||||
|
||||
sockets = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.initrdSockets;
|
||||
visible = false;
|
||||
description = "Definition of systemd socket units.";
|
||||
description = lib.mdDoc "Definition of systemd socket units.";
|
||||
};
|
||||
|
||||
timers = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.initrdTimers;
|
||||
visible = false;
|
||||
description = "Definition of systemd timer units.";
|
||||
description = lib.mdDoc "Definition of systemd timer units.";
|
||||
};
|
||||
|
||||
paths = mkOption {
|
||||
default = {};
|
||||
type = systemdUtils.types.initrdPaths;
|
||||
visible = false;
|
||||
description = "Definition of systemd path units.";
|
||||
description = lib.mdDoc "Definition of systemd path units.";
|
||||
};
|
||||
|
||||
mounts = mkOption {
|
||||
default = [];
|
||||
type = systemdUtils.types.initrdMounts;
|
||||
visible = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd mount units.
|
||||
This is a list instead of an attrSet, because systemd mandates the names to be derived from
|
||||
the 'where' attribute.
|
||||
|
@ -302,7 +302,7 @@ in {
|
|||
default = [];
|
||||
type = systemdUtils.types.automounts;
|
||||
visible = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Definition of systemd automount units.
|
||||
This is a list instead of an attrSet, because systemd mandates the names to be derived from
|
||||
the 'where' attribute.
|
||||
|
@ -313,7 +313,7 @@ in {
|
|||
default = {};
|
||||
type = systemdUtils.types.slices;
|
||||
visible = false;
|
||||
description = "Definition of slice configurations.";
|
||||
description = lib.mdDoc "Definition of slice configurations.";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -14,23 +14,23 @@ in
|
|||
boot.cleanTmpDir = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to delete all files in <filename>/tmp</filename> during boot.
|
||||
description = lib.mdDoc ''
|
||||
Whether to delete all files in {file}`/tmp` during boot.
|
||||
'';
|
||||
};
|
||||
|
||||
boot.tmpOnTmpfs = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to mount a tmpfs on <filename>/tmp</filename> during boot.
|
||||
description = lib.mdDoc ''
|
||||
Whether to mount a tmpfs on {file}`/tmp` during boot.
|
||||
'';
|
||||
};
|
||||
|
||||
boot.tmpOnTmpfsSize = mkOption {
|
||||
type = types.oneOf [ types.str types.types.ints.positive ];
|
||||
default = "50%";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Size of tmpfs in percentage.
|
||||
Percentage is defined by systemd.
|
||||
'';
|
||||
|
|
|
@ -82,8 +82,8 @@ in
|
|||
"default/useradd".text = "GROUP=100 ...";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Set of files that have to be linked in <filename>/etc</filename>.
|
||||
description = lib.mdDoc ''
|
||||
Set of files that have to be linked in {file}`/etc`.
|
||||
'';
|
||||
|
||||
type = with types; attrsOf (submodule (
|
||||
|
@ -93,7 +93,7 @@ in
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether this /etc file should be generated. This
|
||||
option allows specific /etc files to be disabled.
|
||||
'';
|
||||
|
@ -101,9 +101,9 @@ in
|
|||
|
||||
target = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Name of symlink (relative to
|
||||
<filename>/etc</filename>). Defaults to the attribute
|
||||
{file}`/etc`). Defaults to the attribute
|
||||
name.
|
||||
'';
|
||||
};
|
||||
|
@ -111,20 +111,20 @@ in
|
|||
text = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.lines;
|
||||
description = "Text of the file.";
|
||||
description = lib.mdDoc "Text of the file.";
|
||||
};
|
||||
|
||||
source = mkOption {
|
||||
type = types.path;
|
||||
description = "Path of the source file.";
|
||||
description = lib.mdDoc "Path of the source file.";
|
||||
};
|
||||
|
||||
mode = mkOption {
|
||||
type = types.str;
|
||||
default = "symlink";
|
||||
example = "0600";
|
||||
description = ''
|
||||
If set to something else than <literal>symlink</literal>,
|
||||
description = lib.mdDoc ''
|
||||
If set to something else than `symlink`,
|
||||
the file is copied instead of symlinked, with the given
|
||||
file mode.
|
||||
'';
|
||||
|
@ -133,7 +133,7 @@ in
|
|||
uid = mkOption {
|
||||
default = 0;
|
||||
type = types.int;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
UID of created file. Only takes effect when the file is
|
||||
copied (that is, the mode is not 'symlink').
|
||||
'';
|
||||
|
@ -142,7 +142,7 @@ in
|
|||
gid = mkOption {
|
||||
default = 0;
|
||||
type = types.int;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
GID of created file. Only takes effect when the file is
|
||||
copied (that is, the mode is not 'symlink').
|
||||
'';
|
||||
|
@ -151,20 +151,20 @@ in
|
|||
user = mkOption {
|
||||
default = "+${toString config.uid}";
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
User name of created file.
|
||||
Only takes effect when the file is copied (that is, the mode is not 'symlink').
|
||||
Changing this option takes precedence over <literal>uid</literal>.
|
||||
Changing this option takes precedence over `uid`.
|
||||
'';
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
default = "+${toString config.gid}";
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Group name of created file.
|
||||
Only takes effect when the file is copied (that is, the mode is not 'symlink').
|
||||
Changing this option takes precedence over <literal>gid</literal>.
|
||||
Changing this option takes precedence over `gid`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -16,33 +16,33 @@ let
|
|||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry.";
|
||||
description = lib.mdDoc "The block device is backed by an encrypted one, adds this device as a initrd luks entry.";
|
||||
};
|
||||
|
||||
blkDev = mkOption {
|
||||
default = null;
|
||||
example = "/dev/sda1";
|
||||
type = types.nullOr types.str;
|
||||
description = "Location of the backing encrypted device.";
|
||||
description = lib.mdDoc "Location of the backing encrypted device.";
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "rootfs";
|
||||
type = types.nullOr types.str;
|
||||
description = "Label of the unlocked encrypted device. Set <literal>fileSystems.<name?>.device</literal> to <literal>/dev/mapper/<label></literal> to mount the unlocked device.";
|
||||
description = lib.mdDoc "Label of the unlocked encrypted device. Set `fileSystems.<name?>.device` to `/dev/mapper/<label>` to mount the unlocked device.";
|
||||
};
|
||||
|
||||
keyFile = mkOption {
|
||||
default = null;
|
||||
example = "/mnt-root/root/.swapkey";
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Path to a keyfile used to unlock the backing encrypted
|
||||
device. At the time this keyfile is accessed, the
|
||||
<literal>neededForBoot</literal> filesystems (see
|
||||
<literal>fileSystems.<name?>.neededForBoot</literal>)
|
||||
will have been mounted under <literal>/mnt-root</literal>,
|
||||
`neededForBoot` filesystems (see
|
||||
`fileSystems.<name?>.neededForBoot`)
|
||||
will have been mounted under `/mnt-root`,
|
||||
so the keyfile path should usually start with "/mnt-root/".
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@ in
|
|||
d2 = "/mnt/disk2/";
|
||||
d3 = "/mnt/disk3/";
|
||||
};
|
||||
description = "SnapRAID data disks.";
|
||||
description = lib.mdDoc "SnapRAID data disks.";
|
||||
type = attrsOf str;
|
||||
};
|
||||
parityFiles = mkOption {
|
||||
|
@ -27,7 +27,7 @@ in
|
|||
"/mnt/diskt/snapraid.5-parity"
|
||||
"/mnt/disku/snapraid.6-parity"
|
||||
];
|
||||
description = "SnapRAID parity files.";
|
||||
description = lib.mdDoc "SnapRAID parity files.";
|
||||
type = listOf str;
|
||||
};
|
||||
contentFiles = mkOption {
|
||||
|
@ -37,46 +37,46 @@ in
|
|||
"/mnt/disk1/snapraid.content"
|
||||
"/mnt/disk2/snapraid.content"
|
||||
];
|
||||
description = "SnapRAID content list files.";
|
||||
description = lib.mdDoc "SnapRAID content list files.";
|
||||
type = listOf str;
|
||||
};
|
||||
exclude = mkOption {
|
||||
default = [ ];
|
||||
example = [ "*.unrecoverable" "/tmp/" "/lost+found/" ];
|
||||
description = "SnapRAID exclude directives.";
|
||||
description = lib.mdDoc "SnapRAID exclude directives.";
|
||||
type = listOf str;
|
||||
};
|
||||
touchBeforeSync = mkOption {
|
||||
default = true;
|
||||
example = false;
|
||||
description =
|
||||
"Whether <command>snapraid touch</command> should be run before <command>snapraid sync</command>.";
|
||||
description = lib.mdDoc
|
||||
"Whether {command}`snapraid touch` should be run before {command}`snapraid sync`.";
|
||||
type = bool;
|
||||
};
|
||||
sync.interval = mkOption {
|
||||
default = "01:00";
|
||||
example = "daily";
|
||||
description = "How often to run <command>snapraid sync</command>.";
|
||||
description = lib.mdDoc "How often to run {command}`snapraid sync`.";
|
||||
type = str;
|
||||
};
|
||||
scrub = {
|
||||
interval = mkOption {
|
||||
default = "Mon *-*-* 02:00:00";
|
||||
example = "weekly";
|
||||
description = "How often to run <command>snapraid scrub</command>.";
|
||||
description = lib.mdDoc "How often to run {command}`snapraid scrub`.";
|
||||
type = str;
|
||||
};
|
||||
plan = mkOption {
|
||||
default = 8;
|
||||
example = 5;
|
||||
description =
|
||||
"Percent of the array that should be checked by <command>snapraid scrub</command>.";
|
||||
description = lib.mdDoc
|
||||
"Percent of the array that should be checked by {command}`snapraid scrub`.";
|
||||
type = int;
|
||||
};
|
||||
olderThan = mkOption {
|
||||
default = 10;
|
||||
example = 20;
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
"Number of days since data was last scrubbed before it can be scrubbed again.";
|
||||
type = int;
|
||||
};
|
||||
|
@ -90,7 +90,7 @@ in
|
|||
autosave 500
|
||||
pool /pool
|
||||
'';
|
||||
description = "Extra config options for SnapRAID.";
|
||||
description = lib.mdDoc "Extra config options for SnapRAID.";
|
||||
type = lines;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ in {
|
|||
};
|
||||
|
||||
mdadmConf = lib.mkOption {
|
||||
description = "Contents of <filename>/etc/mdadm.conf</filename> in initrd.";
|
||||
description = lib.mdDoc "Contents of {file}`/etc/mdadm.conf` in initrd.";
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
address = mkOption {
|
||||
default = addr;
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
IPv${toString v} ${name} address.
|
||||
'';
|
||||
};
|
||||
|
@ -18,9 +18,9 @@ let
|
|||
prefixLength = mkOption {
|
||||
default = pref;
|
||||
type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128));
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Subnet mask of the ${name} address, specified as the number of
|
||||
bits in the prefix (<literal>${if v == 4 then "24" else "64"}</literal>).
|
||||
bits in the prefix (`${if v == 4 then "24" else "64"}`).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -37,7 +37,7 @@ in
|
|||
default = pkgs.anbox.image;
|
||||
defaultText = literalExpression "pkgs.anbox.image";
|
||||
type = types.package;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Base android image for Anbox.
|
||||
'';
|
||||
};
|
||||
|
@ -45,7 +45,7 @@ in
|
|||
extraInit = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Extra shell commands to be run inside the container image during init.
|
||||
'';
|
||||
};
|
||||
|
@ -57,7 +57,7 @@ in
|
|||
dns = mkOption {
|
||||
default = "1.1.1.1";
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Container DNS server.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -25,8 +25,8 @@ in
|
|||
options = {
|
||||
|
||||
virtualisation.vmVariant = mkOption {
|
||||
description = ''
|
||||
Machine configuration to be added for the vm script produced by <literal>nixos-rebuild build-vm</literal>.
|
||||
description = lib.mdDoc ''
|
||||
Machine configuration to be added for the vm script produced by `nixos-rebuild build-vm`.
|
||||
'';
|
||||
inherit (vmVariant) type;
|
||||
default = {};
|
||||
|
@ -34,8 +34,8 @@ in
|
|||
};
|
||||
|
||||
virtualisation.vmVariantWithBootLoader = mkOption {
|
||||
description = ''
|
||||
Machine configuration to be added for the vm script produced by <literal>nixos-rebuild build-vm-with-bootloader</literal>.
|
||||
description = lib.mdDoc ''
|
||||
Machine configuration to be added for the vm script produced by `nixos-rebuild build-vm-with-bootloader`.
|
||||
'';
|
||||
inherit (vmVariantWithBootLoader) type;
|
||||
default = {};
|
||||
|
|
|
@ -31,7 +31,7 @@ in
|
|||
mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
This option enables the common /etc/containers configuration module.
|
||||
'';
|
||||
};
|
||||
|
@ -39,13 +39,13 @@ in
|
|||
ociSeccompBpfHook.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the OCI seccomp BPF hook";
|
||||
description = lib.mdDoc "Enable the OCI seccomp BPF hook";
|
||||
};
|
||||
|
||||
containersConf.settings = mkOption {
|
||||
type = toml.type;
|
||||
default = { };
|
||||
description = "containers.conf configuration";
|
||||
description = lib.mdDoc "containers.conf configuration";
|
||||
};
|
||||
|
||||
containersConf.cniPlugins = mkOption {
|
||||
|
@ -60,7 +60,7 @@ in
|
|||
pkgs.cniPlugins.dnsname
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
CNI plugins to install on the system.
|
||||
'';
|
||||
};
|
||||
|
@ -74,14 +74,14 @@ in
|
|||
runroot = "/run/containers/storage";
|
||||
};
|
||||
};
|
||||
description = "storage.conf configuration";
|
||||
description = lib.mdDoc "storage.conf configuration";
|
||||
};
|
||||
|
||||
registries = {
|
||||
search = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "docker.io" "quay.io" ];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
List of repositories to search.
|
||||
'';
|
||||
};
|
||||
|
@ -89,7 +89,7 @@ in
|
|||
insecure = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
List of insecure repositories.
|
||||
'';
|
||||
};
|
||||
|
@ -97,7 +97,7 @@ in
|
|||
block = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
List of blocked repositories.
|
||||
'';
|
||||
};
|
||||
|
@ -116,10 +116,10 @@ in
|
|||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Signature verification policy file.
|
||||
If this option is empty the default policy file from
|
||||
<literal>skopeo</literal> will be used.
|
||||
`skopeo` will be used.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ in
|
|||
type = with types; either (enum [ "auto" ]) int;
|
||||
default = "auto";
|
||||
example = 4096;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Size of disk image. Unit is MB.
|
||||
'';
|
||||
};
|
||||
|
@ -21,12 +21,12 @@ in
|
|||
virtualisation.digitalOceanImage.configFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
A path to a configuration file which will be placed at
|
||||
<literal>/etc/nixos/configuration.nix</literal> and be used when switching
|
||||
to a new configuration. If set to <literal>null</literal>, a default
|
||||
`/etc/nixos/configuration.nix` and be used when switching
|
||||
to a new configuration. If set to `null`, a default
|
||||
configuration is used that imports
|
||||
<literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
|
||||
`(modulesPath + "/virtualisation/digital-ocean-config.nix")`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -34,7 +34,7 @@ in
|
|||
type = types.enum [ "gzip" "bzip2" ];
|
||||
default = "gzip";
|
||||
example = "bzip2";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Disk image compression method. Choose bzip2 to generate smaller images that
|
||||
take longer to generate but will consume less metered storage space on your
|
||||
Digital Ocean account.
|
||||
|
|
|
@ -15,18 +15,18 @@ in {
|
|||
type = types.bool;
|
||||
default = true;
|
||||
example = true;
|
||||
description = "Whether to reconfigure the system from Digital Ocean user data";
|
||||
description = lib.mdDoc "Whether to reconfigure the system from Digital Ocean user data";
|
||||
};
|
||||
options.virtualisation.digitalOcean.defaultConfigFile = mkOption {
|
||||
type = types.path;
|
||||
default = defaultConfigFile;
|
||||
defaultText = literalDocBook ''
|
||||
The default configuration imports user-data if applicable and
|
||||
<literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
|
||||
`(modulesPath + "/virtualisation/digital-ocean-config.nix")`.
|
||||
'';
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
A path to a configuration file which will be placed at
|
||||
<literal>/etc/nixos/configuration.nix</literal> and be used when switching to
|
||||
`/etc/nixos/configuration.nix` and be used when switching to
|
||||
a new configuration.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -18,18 +18,18 @@ in
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
This option enables docker in a rootless mode, a daemon that manages
|
||||
linux containers. To interact with the daemon, one needs to set
|
||||
<command>DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock</command>.
|
||||
{command}`DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock`.
|
||||
'';
|
||||
};
|
||||
|
||||
setSocketVariable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Point <command>DOCKER_HOST</command> to rootless Docker instance for
|
||||
description = lib.mdDoc ''
|
||||
Point {command}`DOCKER_HOST` to rootless Docker instance for
|
||||
normal users by default.
|
||||
'';
|
||||
};
|
||||
|
@ -41,7 +41,7 @@ in
|
|||
ipv6 = true;
|
||||
"fixed-cidr-v6" = "fd00::/80";
|
||||
};
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Configuration for docker daemon. The attributes are serialized to JSON used as daemon.conf.
|
||||
See https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
|
||||
'';
|
||||
|
@ -51,7 +51,7 @@ in
|
|||
default = pkgs.docker;
|
||||
defaultText = literalExpression "pkgs.docker";
|
||||
type = types.package;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Docker package to be used in the module.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@ in {
|
|||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable Open vSwitch. A configuration daemon (ovs-server)
|
||||
will be started.
|
||||
'';
|
||||
|
@ -22,9 +22,9 @@ in {
|
|||
resetOnStart = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Whether to reset the Open vSwitch configuration database to a default
|
||||
configuration on every start of the systemd <literal>ovsdb.service</literal>.
|
||||
configuration on every start of the systemd `ovsdb.service`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -32,7 +32,7 @@ in {
|
|||
type = types.package;
|
||||
default = pkgs.openvswitch;
|
||||
defaultText = literalExpression "pkgs.openvswitch";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Open vSwitch package to use.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -14,42 +14,42 @@ in {
|
|||
type = with types; either (enum [ "auto" ]) int;
|
||||
default = "auto";
|
||||
example = 50 * 1024;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The size of the VirtualBox base image in MiB.
|
||||
'';
|
||||
};
|
||||
baseImageFreeSpace = mkOption {
|
||||
type = with types; int;
|
||||
default = 30 * 1024;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Free space in the VirtualBox base image in MiB.
|
||||
'';
|
||||
};
|
||||
memorySize = mkOption {
|
||||
type = types.int;
|
||||
default = 1536;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The amount of RAM the VirtualBox appliance can use in MiB.
|
||||
'';
|
||||
};
|
||||
vmDerivationName = mkOption {
|
||||
type = types.str;
|
||||
default = "nixos-ova-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The name of the derivation for the VirtualBox appliance.
|
||||
'';
|
||||
};
|
||||
vmName = mkOption {
|
||||
type = types.str;
|
||||
default = "NixOS ${config.system.nixos.label} (${pkgs.stdenv.hostPlatform.system})";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The name of the VirtualBox appliance.
|
||||
'';
|
||||
};
|
||||
vmFileName = mkOption {
|
||||
type = types.str;
|
||||
default = "nixos-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.ova";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The file name of the VirtualBox appliance.
|
||||
'';
|
||||
};
|
||||
|
@ -60,10 +60,10 @@ in {
|
|||
rtcuseutc = "on";
|
||||
usb = "off";
|
||||
};
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Parameters passed to the Virtualbox appliance.
|
||||
|
||||
Run <literal>VBoxManage modifyvm --help</literal> to see more options.
|
||||
Run `VBoxManage modifyvm --help` to see more options.
|
||||
'';
|
||||
};
|
||||
exportParams = mkOption {
|
||||
|
@ -72,14 +72,14 @@ in {
|
|||
"--vsys" "0" "--vendor" "ACME Inc."
|
||||
];
|
||||
default = [];
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Parameters passed to the Virtualbox export command.
|
||||
|
||||
Run <literal>VBoxManage export --help</literal> to see more options.
|
||||
Run `VBoxManage export --help` to see more options.
|
||||
'';
|
||||
};
|
||||
extraDisk = mkOption {
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Optional extra disk/hdd configuration.
|
||||
The disk will be an 'ext4' partition on a separate VMDK file.
|
||||
'';
|
||||
|
@ -93,16 +93,16 @@ in {
|
|||
options = {
|
||||
size = mkOption {
|
||||
type = types.int;
|
||||
description = "Size in MiB";
|
||||
description = lib.mdDoc "Size in MiB";
|
||||
};
|
||||
label = mkOption {
|
||||
type = types.str;
|
||||
default = "vm-extra-storage";
|
||||
description = "Label for the disk partition";
|
||||
description = lib.mdDoc "Label for the disk partition";
|
||||
};
|
||||
mountPoint = mkOption {
|
||||
type = types.str;
|
||||
description = "Path where to mount this disk.";
|
||||
description = lib.mdDoc "Path where to mount this disk.";
|
||||
};
|
||||
};
|
||||
});
|
||||
|
|
|
@ -37,7 +37,7 @@ in
|
|||
type = types.package;
|
||||
defaultText = literalExpression "pkgs.xen";
|
||||
example = literalExpression "pkgs.xen-light";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The package used for Xen binary.
|
||||
'';
|
||||
relatedPackages = [ "xen" "xen-light" ];
|
||||
|
@ -47,7 +47,7 @@ in
|
|||
type = types.package;
|
||||
defaultText = literalExpression "pkgs.xen";
|
||||
example = literalExpression "pkgs.qemu_xen-light";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
The package with qemu binaries for dom0 qemu and xendomains.
|
||||
'';
|
||||
relatedPackages = [ "xen"
|
||||
|
@ -59,7 +59,7 @@ in
|
|||
mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.str;
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Parameters passed to the Xen hypervisor at boot time.
|
||||
'';
|
||||
|
@ -70,7 +70,7 @@ in
|
|||
default = 0;
|
||||
example = 512;
|
||||
type = types.addCheck types.int (n: n >= 0);
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Amount of memory (in MiB) allocated to Domain 0 on boot.
|
||||
If set to 0, all memory is assigned to Domain 0.
|
||||
|
@ -81,7 +81,7 @@ in
|
|||
name = mkOption {
|
||||
default = "xenbr0";
|
||||
type = types.str;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Name of bridge the Xen domUs connect to.
|
||||
'';
|
||||
};
|
||||
|
@ -89,7 +89,7 @@ in
|
|||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "172.16.0.1";
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
IPv4 address of the bridge.
|
||||
'';
|
||||
};
|
||||
|
@ -97,9 +97,9 @@ in
|
|||
prefixLength = mkOption {
|
||||
type = types.addCheck types.int (n: n >= 0 && n <= 32);
|
||||
default = 16;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Subnet mask of the bridge interface, specified as the number of
|
||||
bits in the prefix (<literal>24</literal>).
|
||||
bits in the prefix (`24`).
|
||||
A DHCP server will provide IP addresses for the whole, remaining
|
||||
subnet.
|
||||
'';
|
||||
|
@ -108,8 +108,8 @@ in
|
|||
forwardDns = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
If set to <literal>true</literal>, the DNS queries from the
|
||||
description = lib.mdDoc ''
|
||||
If set to `true`, the DNS queries from the
|
||||
hosts connected to the bridge will be forwarded to the DNS
|
||||
servers specified in /etc/resolv.conf .
|
||||
'';
|
||||
|
@ -120,7 +120,7 @@ in
|
|||
virtualisation.xen.stored =
|
||||
mkOption {
|
||||
type = types.path;
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Xen Store daemon to use. Defaults to oxenstored of the xen package.
|
||||
'';
|
||||
|
@ -130,7 +130,7 @@ in
|
|||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description =
|
||||
description = lib.mdDoc
|
||||
''
|
||||
Options defined here will override the defaults for xendomains.
|
||||
The default options can be seen in the file included from
|
||||
|
|
|
@ -63,6 +63,12 @@ import ./make-test-python.nix (
|
|||
inherit repository passwordFile;
|
||||
pruneOpts = [ "--keep-last 1" ];
|
||||
};
|
||||
custompackage = {
|
||||
inherit repository passwordFile paths;
|
||||
package = pkgs.writeShellScriptBin "restic" ''
|
||||
echo "$@" >> /tmp/fake-restic.log;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
|
||||
|
@ -76,6 +82,7 @@ import ./make-test-python.nix (
|
|||
"${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots",
|
||||
'${pkgs.restic}/bin/restic --repository-file ${repositoryFile} -p ${passwordFile} snapshots"',
|
||||
"${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
|
||||
"grep 'backup .* /opt' /tmp/fake-restic.log",
|
||||
)
|
||||
server.succeed(
|
||||
"mkdir -p /opt",
|
||||
|
@ -89,6 +96,8 @@ import ./make-test-python.nix (
|
|||
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
|
||||
'${pkgs.restic}/bin/restic --repository-file ${repositoryFile} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
|
||||
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
|
||||
"systemctl start restic-backups-custompackage.service",
|
||||
"grep 'backup .* /opt' /tmp/fake-restic.log",
|
||||
"timedatectl set-time '2017-12-13 13:45'",
|
||||
"systemctl start restic-backups-remotebackup.service",
|
||||
"rm /opt/backupCleanupCommand",
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
, help2man
|
||||
, pkg-config
|
||||
, texinfo
|
||||
, makeWrapper
|
||||
, boehmgc
|
||||
, readline
|
||||
, guiSupport ? false, tcl, tcllib, tk
|
||||
, guiSupport ? false, makeWrapper, tcl, tcllib, tk
|
||||
, miSupport ? true, json_c
|
||||
, nbdSupport ? !stdenv.isDarwin, libnbd
|
||||
, textStylingSupport ? true
|
||||
|
@ -22,14 +21,17 @@ let
|
|||
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "poke";
|
||||
version = "2.3";
|
||||
version = "2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-NpDPERbafLOp7GtPcAPiU+JotRAhKiiP04qv7Q68x2Y=";
|
||||
sha256 = "sha256-hB4oWRfGc4zpgqaTDjDr6t7PsGVaedkYTxb4dqn+bkc=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "info" "lib" "man" ];
|
||||
outputs = [ "out" "dev" "info" "lib" ]
|
||||
# help2man can't cross compile because it runs `poke --help` to
|
||||
# generate the man page
|
||||
++ lib.optional (!isCross) "man";
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
|
@ -39,21 +41,28 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
help2man
|
||||
pkg-config
|
||||
texinfo
|
||||
] ++ lib.optional guiSupport makeWrapper;
|
||||
] ++ lib.optionals (!isCross) [
|
||||
help2man
|
||||
] ++ lib.optionals guiSupport [
|
||||
makeWrapper
|
||||
tcl.tclPackageHook
|
||||
];
|
||||
|
||||
buildInputs = [ boehmgc readline ]
|
||||
++ lib.optionals guiSupport [ tk tcl.tclPackageHook tcllib ]
|
||||
++ lib.optionals guiSupport [ tcl tcllib tk ]
|
||||
++ lib.optional miSupport json_c
|
||||
++ lib.optional nbdSupport libnbd
|
||||
++ lib.optional textStylingSupport gettext
|
||||
++ lib.optional (!isCross) dejagnu;
|
||||
|
||||
configureFlags = [
|
||||
# libpoke depends on $datadir/poke, so we specify the datadir in
|
||||
# $lib, and later move anything else it doesn't depend on to $out
|
||||
"--datadir=${placeholder "lib"}/share"
|
||||
] ++ lib.optionals guiSupport [
|
||||
"--enable-gui"
|
||||
"--with-tcl=${tcl}/lib"
|
||||
"--with-tk=${tk}/lib"
|
||||
"--with-tkinclude=${tk.dev}/include"
|
||||
|
@ -66,6 +75,16 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
postInstall = ''
|
||||
moveToOutput share/emacs "$out"
|
||||
moveToOutput share/vim "$out"
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString guiSupport ''
|
||||
wrapProgram "$out/bin/poke-gui" \
|
||||
--prefix TCLLIBPATH ' ' "$TCLLIBPATH"
|
||||
|
||||
# Prevent tclPackageHook from auto-wrapping all binaries, we only
|
||||
# need to wrap poke-gui
|
||||
unset TCLLIBPATH
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -85,10 +104,11 @@ in stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "Interactive, extensible editor for binary data";
|
||||
homepage = "http://www.jemarch.net/poke";
|
||||
changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${version}";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres kira-bruneau ];
|
||||
platforms = platforms.unix;
|
||||
changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${version}";
|
||||
badPlatforms = [ "aarch64-darwin" ]; # Undefined symbols for architecture arm64
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{
|
||||
"TrueZen-nvim": {
|
||||
"date": "2022-07-27",
|
||||
"new": "true-zen-nvim"
|
||||
},
|
||||
"compe-tmux": {
|
||||
"date": "2021-12-21",
|
||||
"new": "cmp-tmux"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -824,6 +824,10 @@ self: super: {
|
|||
meta.platforms = lib.platforms.all;
|
||||
});
|
||||
|
||||
telescope-media-files-nvim = super.telescope-media-files-nvim.overrideAttrs (old: {
|
||||
dependencies = with self; [ telescope-nvim popup-nvim plenary-nvim ];
|
||||
});
|
||||
|
||||
telescope-nvim = super.telescope-nvim.overrideAttrs (old: {
|
||||
dependencies = with self; [ plenary-nvim ];
|
||||
});
|
||||
|
@ -974,7 +978,7 @@ self: super: {
|
|||
libiconv
|
||||
];
|
||||
|
||||
cargoSha256 = "sha256-9Vr1gpggfAQlMgM/s8j6FTTYFppHql2PQ7cPtg1wNmo=";
|
||||
cargoSha256 = "sha256-prqS4cx5T+EiilXf3v7ResNBtgst0Kpgvayknf0QDXA=";
|
||||
};
|
||||
in
|
||||
''
|
||||
|
|
|
@ -614,6 +614,7 @@ https://github.com/nvim-telescope/telescope-fzf-writer.nvim/,,
|
|||
https://github.com/nvim-telescope/telescope-fzy-native.nvim/,,
|
||||
https://github.com/nvim-telescope/telescope-github.nvim/,,
|
||||
https://github.com/gbrlsnchs/telescope-lsp-handlers.nvim/,,
|
||||
https://github.com/nvim-telescope/telescope-media-files.nvim/,HEAD,
|
||||
https://github.com/nvim-telescope/telescope-project.nvim/,,
|
||||
https://github.com/nvim-telescope/telescope-symbols.nvim/,,
|
||||
https://github.com/nvim-telescope/telescope-ui-select.nvim/,,
|
||||
|
|
|
@ -34,11 +34,16 @@ let
|
|||
mktplcRef = {
|
||||
publisher = "1Password";
|
||||
name = "op-vscode";
|
||||
version = "1.0.0";
|
||||
sha256 = "sha256-ZeKTP3WKjyuR/ryBdJRHXJT+l2gbY4QnWNTsN9+4nOA=";
|
||||
version = "1.0.1";
|
||||
sha256 = "sha256-0SsHf1zZgmrb7oIsRU6Xpa3AvR8bSfANz5ZlRogjiS0=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/1Password/op-vscode/releases";
|
||||
description = "A VSCode extension that integrates your development workflow with 1Password service";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=1Password.op-vscode";
|
||||
homepage = "https://github.com/1Password/op-vscode";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ _2gn ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pineapple-pictures";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BLumia";
|
||||
repo = "pineapple-pictures";
|
||||
rev = version;
|
||||
sha256 = "sha256-KTYwe6fS/rUHBbC2B9OdK95mFm3zvgDdGODkg7VQ27M=";
|
||||
sha256 = "sha256-1fsEHyepmoZfNOFEnW6RQJyccOlQr5LTp8TjRqyXkcw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "argocd-autopilot";
|
||||
version = "0.3.9";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj-labs";
|
||||
repo = "argocd-autopilot";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-LX/26fOvQYnzCbVuMxsuD/3bdZx/mVD47v8l4DppUPA=";
|
||||
sha256 = "sha256-xwcETaeoxnfZqW48IJRpJkONuPNuFR5ngUYAMDKWMtk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-UYTEQ3RvSJB+9zduw0xCDU71Zp54ilZzNucuzTMKEHA=";
|
||||
vendorSha256 = "sha256-rJj9GFNX9OUMzkdr9D9dzucSZe10iW2LpqybhXD0m6s=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cilium-cli";
|
||||
version = "0.11.11";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-IZMtkTKslFvbk/qwfZpFZAV6VUj66JKGFewXH1Ujxbw=";
|
||||
sha256 = "sha256-/fVPo9aO2UhX/qsyjFUykFz4am7R2USmdvYqhQcT7q8=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kn";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "knative";
|
||||
repo = "client";
|
||||
rev = "knative-v${version}";
|
||||
sha256 = "sha256-etENW/zP9xy0pyUT2UoFXrzgkSXrfp8dxl35bD2t/Yc=";
|
||||
sha256 = "sha256-3qH7L0tOsAnAAPIzTd5MIVMPM/M2SJAkxXfyMijHuRs=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "senpai";
|
||||
version = "unstable-2022-05-10";
|
||||
version = "unstable-2022-07-25";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~taiite";
|
||||
repo = "senpai";
|
||||
rev = "7a9fe74fdfb3f334b97434df0aa74b2b32e3582e";
|
||||
sha256 = "sha256-uagdJG+YVryzsaZfkg5W2F8mQSc1bpflL77tqMHp1Ck=";
|
||||
rev = "f13aa044de9d7b8922a12e895f3ff3f86b60e939";
|
||||
sha256 = "sha256-siQoRgbJIVtBXqrxJzdVABnDgdHqW5FLSJpBrL0iVuU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-hgojB1D0/SZWLEzJ48EBoT/InYYmqD/1qoTknfk/aTo=";
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clapper";
|
||||
version = "0.5.1";
|
||||
version = "0.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rafostar";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-o68IdI20gSwWCPI0g/BhUGF5ro6srXMy0JD1EgmY5ck=";
|
||||
sha256 = "sha256-s+qdTq3/pHHstwr1W3Hs2Zje++iJFHM6hQTFoZD43bY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"commit": "155a57bcfc019c9972a44be54a407d0329dfb436",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/155a57bcfc019c9972a44be54a407d0329dfb436.tar.gz",
|
||||
"sha256": "17pqq15b936gf8vm1lb1kmnnlmjd61a5bfld9v3cs7ydz764kg8w",
|
||||
"msg": "Update from Hackage at 2022-07-21T21:13:45Z"
|
||||
"commit": "c58387b71e19d6dd43bbade8f84d6a44b6418e24",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c58387b71e19d6dd43bbade8f84d6a44b6418e24.tar.gz",
|
||||
"sha256": "0xdvqn4392l65ns4wm47c8nyp1s7al4i506927dmkzz85m3hvyn0",
|
||||
"msg": "Update from Hackage at 2022-07-26T16:57:53Z"
|
||||
}
|
||||
|
|
381
pkgs/development/compilers/ghc/9.4.1.nix
Normal file
381
pkgs/development/compilers/ghc/9.4.1.nix
Normal file
|
@ -0,0 +1,381 @@
|
|||
# Preliminary GHC 9.4.1 expression using the make build system.
|
||||
# TODO(@sternenseemann): port to hadrian, so we are prepared for 9.6
|
||||
# where make support will be dropped.
|
||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
|
||||
, xattr, autoSignDarwinBinariesHook
|
||||
, bash
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
, glibcLocales ? null
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
, useLLVM ? !(stdenv.targetPlatform.isx86
|
||||
|| stdenv.targetPlatform.isPower
|
||||
|| stdenv.targetPlatform.isSparc
|
||||
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
# build-time dependency too.
|
||||
buildTargetLlvmPackages, llvmPackages
|
||||
|
||||
, # If enabled, GHC will be built with the GPL-free but slightly slower native
|
||||
# bignum backend instead of the faster but GPLed gmp backend.
|
||||
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
|
||||
, gmp
|
||||
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||
(if useLLVM then "perf-cross" else "perf-cross-ncg")
|
||||
|
||||
, # Whether to build sphinx documentation.
|
||||
enableDocs ? (
|
||||
# Docs disabled for musl and cross because it's a large task to keep
|
||||
# all `sphinx` dependencies building in those environments.
|
||||
# `sphinx` pulls in among others:
|
||||
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
&& !stdenv.hostPlatform.isMusl
|
||||
)
|
||||
|
||||
, enableHaddockProgram ?
|
||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
||||
}:
|
||||
|
||||
assert !enableNativeBignum -> gmp != null;
|
||||
|
||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||
# see note [HADDOCK_DOCS].
|
||||
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
"${targetPlatform.config}-";
|
||||
|
||||
buildMK = ''
|
||||
BuildFlavour = ${ghcFlavour}
|
||||
ifneq \"\$(BuildFlavour)\" \"\"
|
||||
include mk/flavours/\$(BuildFlavour).mk
|
||||
endif
|
||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' +
|
||||
# Note [HADDOCK_DOCS]:
|
||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||
# program is built (which we generally always want to have a complete GHC install)
|
||||
# and whether it is run on the GHC sources to generate hyperlinked source code
|
||||
# (which is impossible for cross-compilation); see:
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
|
||||
# This implies that currently a cross-compiled GHC will never have a `haddock`
|
||||
# program, so it can never generate haddocks for any packages.
|
||||
# If this is solved in the future, we'd like to unconditionally
|
||||
# build the haddock program (removing the `enableHaddockProgram` option).
|
||||
''
|
||||
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
|
||||
# Build haddocks for boot packages with hyperlinking
|
||||
EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump
|
||||
|
||||
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
|
||||
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
|
||||
'' + lib.optionalString (targetPlatform != hostPlatform) ''
|
||||
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
'' + lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' +
|
||||
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
|
||||
# makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
|
||||
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
|
||||
lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
|
||||
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
|
||||
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
EXTRA_CC_OPTS += -std=gnu99
|
||||
'';
|
||||
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: lib.optional enableTerminfo ncurses
|
||||
++ [libffi]
|
||||
++ lib.optional (!enableNativeBignum) gmp
|
||||
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
|
||||
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
|
||||
# GHC doesn't seem to have {LLC,OPT}_HOST
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
|
||||
# derivation for certain tools depending on the platform.
|
||||
bintoolsFor = {
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
};
|
||||
|
||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||
# see #84670 and #49071 for more background.
|
||||
useLdGold = targetPlatform.linker == "gold" ||
|
||||
(targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
|
||||
|
||||
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
|
||||
variantSuffix = lib.concatStrings [
|
||||
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
|
||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
# C compiler, bintools and LLVM are used at build time, but will also leak into
|
||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
||||
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "9.4.0.20220721";
|
||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/ghc/9.4.1-rc1/ghc-${version}-src.tar.xz";
|
||||
sha256 = "bca8c52f76d8747a66291181de2de7bdf9ff80093808fe39bf5cbff0f116c426";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
patches = [
|
||||
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch";
|
||||
sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk=";
|
||||
extraPrefix = "utils/haddock/";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC needs the locale configured during the Haddock phase.
|
||||
LANG = "en_US.UTF-8";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
|
||||
preConfigure = ''
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
'' + ''
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
# GHC 9.4.1-rc1 tarball is not properly prepared, also the boot script has been renamed
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/21626#note_444654
|
||||
# TODO(@sternenseemann): make source-dist rules include all boot-generated files
|
||||
./boot.source
|
||||
|
||||
# Too restrictive upper bound on Cabal the make build system chokes on
|
||||
# XXX(@sternenseemann): this should be upstreamed
|
||||
substituteInPlace utils/ghc-cabal/ghc-cabal.cabal --replace "3.8" "3.9"
|
||||
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
|
||||
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
||||
'' + lib.optionalString (!stdenv.isDarwin) ''
|
||||
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
export NIX_LDFLAGS+=" -no_dtrace_dof"
|
||||
|
||||
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
|
||||
export XATTR=${lib.getBin xattr}/bin/xattr
|
||||
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
|
||||
'' + lib.optionalString targetPlatform.isMusl ''
|
||||
echo "patching llvm-targets for musl targets..."
|
||||
echo "Cloning these existing '*-linux-gnu*' targets:"
|
||||
grep linux-gnu llvm-targets | sed 's/^/ /'
|
||||
echo "(go go gadget sed)"
|
||||
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
|
||||
echo "llvm-targets now contains these '*-linux-musl*' targets:"
|
||||
grep linux-musl llvm-targets | sed 's/^/ /'
|
||||
|
||||
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
|
||||
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
|
||||
for x in configure aclocal.m4; do
|
||||
substituteInPlace $x \
|
||||
--replace '*-android*|*-gnueabi*)' \
|
||||
'*-android*|*-gnueabi*|*-musleabi*)'
|
||||
done
|
||||
'';
|
||||
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
||||
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ lib.optionals (libffi != null) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
] ++ lib.optionals (targetPlatform != hostPlatform) [
|
||||
"--enable-bootstrap-with-devel-snapshot"
|
||||
] ++ lib.optionals useLdGold [
|
||||
"CFLAGS=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
strictDeps = true;
|
||||
|
||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||
dontAddExtraLibs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoconf automake m4 python3
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
sphinx
|
||||
];
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
|
||||
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||
# that in turn causes GHCi to abort
|
||||
stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||
|
||||
checkTarget = "test";
|
||||
|
||||
hardeningDisable =
|
||||
[ "format" ]
|
||||
# In nixpkgs, musl based builds currently enable `pie` hardening by default
|
||||
# (see `defaultHardeningFlags` in `make-derivation.nix`).
|
||||
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
|
||||
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
|
||||
# See:
|
||||
# * https://github.com/NixOS/nixpkgs/issues/129247
|
||||
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
|
||||
++ lib.optional stdenv.targetPlatform.isMusl "pie";
|
||||
|
||||
# big-parallel allows us to build with more than 2 cores on
|
||||
# Hydra which already warrants a significant speedup
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
postInstall = ''
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit bootPkgs targetPrefix;
|
||||
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# This is used by the haskell builder to query
|
||||
# the presence of the haddock program.
|
||||
hasHaddock = enableHaddockProgram;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "http://haskell.org/ghc";
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
maintainers = with lib.maintainers; [
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
noAuditTmpdir = true;
|
||||
})
|
|
@ -8,10 +8,10 @@
|
|||
}:
|
||||
mkDerivation {
|
||||
pname = "cabal2nix";
|
||||
version = "unstable-2022-07-17";
|
||||
version = "unstable-2022-07-22";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/6c6fa480dd535a8a6909b60e1130a6b5bfc2a2c4.tar.gz";
|
||||
sha256 = "19dagxhj1aflhf19xab8yss5mia6kfpghn4h0na8zshqab8xxgrd";
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/e00ab24821be85cb025432f8e9c4ff56dbb00a81.tar.gz";
|
||||
sha256 = "11a5l0fdj67bpqv30af4v5zxr3c7n9p81pfs4c0d3w65bmr9sa1y";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
|
|
|
@ -99,7 +99,7 @@ self: super: {
|
|||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "0pr2fnaq3fa6lcly39xssl89v65h0wa26ikv5g30fm8y6z5rkqqd";
|
||||
sha256 = "0p9qd7yasdji5kwxn4d0hrv9hnxbzfsczknldh8jav3ynhg8k6c9";
|
||||
# delete android and Android directories which cause issues on
|
||||
# darwin (case insensitive directory). Since we don't need them
|
||||
# during the build process, we can delete it to prevent a hash
|
||||
|
@ -2404,26 +2404,13 @@ self: super: {
|
|||
# https://github.com/system-f/validation/issues/57
|
||||
validation = doJailbreak super.validation;
|
||||
|
||||
# aws upstream seems to lack the necessary maintenance at the moment, luckily
|
||||
# Joey Hess seems to have already looked into building git-annex with aeson 2.0
|
||||
# https://github.com/aristidb/aws/issues/275
|
||||
aws = overrideCabal (drv: {
|
||||
patches = drv.patches or [] ++ [
|
||||
(fetchpatch {
|
||||
name = "aws-aeson-2.0-compat.patch";
|
||||
url = "https://github.com/aristidb/aws/pull/277/commits/7af7586c5d244d07f77d49e5fdc739e6e8e54816.patch";
|
||||
sha256 = "1bsiyk1k671rwlyflka2whq972h72cwscrxkr9n2wzhxp70ap3g3";
|
||||
excludes = [ "aws.cabal" ];
|
||||
})
|
||||
];
|
||||
# needs aws credentials, jailbreak for base16-bytestring
|
||||
doCheck = false;
|
||||
jailbreak = true;
|
||||
}) super.aws;
|
||||
|
||||
# 2022-03-16: strict upper bounds https://github.com/monadfix/shower/issues/18
|
||||
shower = doJailbreak (dontCheck super.shower);
|
||||
|
||||
# Doesn't compile with HTF 0.15
|
||||
# https://github.com/andrewufrank/uniform-error/issues/1
|
||||
uniform-error = dontCheck super.uniform-error;
|
||||
|
||||
# The shipped Setup.hs file is broken.
|
||||
csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
|
||||
|
||||
|
|
51
pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
Normal file
51
pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ pkgs, haskellLib }:
|
||||
|
||||
let
|
||||
inherit (pkgs) fetchpatch lib;
|
||||
inherit (lib) throwIfNot versionOlder;
|
||||
in
|
||||
|
||||
self: super: {
|
||||
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
|
||||
|
||||
# Disable GHC core libraries.
|
||||
array = null;
|
||||
base = null;
|
||||
binary = null;
|
||||
bytestring = null;
|
||||
Cabal = null;
|
||||
Cabal-syntax = null;
|
||||
containers = null;
|
||||
deepseq = null;
|
||||
directory = null;
|
||||
exceptions = null;
|
||||
filepath = null;
|
||||
ghc-bignum = null;
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghc-prim = null;
|
||||
ghci = null;
|
||||
haskeline = null;
|
||||
hpc = null;
|
||||
integer-gmp = null;
|
||||
libiserv = null;
|
||||
mtl = null;
|
||||
parsec = null;
|
||||
pretty = null;
|
||||
process = null;
|
||||
rts = null;
|
||||
stm = null;
|
||||
system-cxx-std-lib = null;
|
||||
template-haskell = null;
|
||||
# GHC only builds terminfo if it is a native compiler
|
||||
terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else self.terminfo_0_4_1_5;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
# GHC only bundles the xhtml library if haddock is enabled, check if this is
|
||||
# still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
|
||||
xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
|
||||
}
|
|
@ -543,6 +543,7 @@ broken-packages:
|
|||
- cabalgraph
|
||||
- cabal-graphdeps
|
||||
- cabal-helper
|
||||
- cabal-hoogle
|
||||
- Cabal-ide-backend
|
||||
- cabal-info
|
||||
- cabal-install-bundle
|
||||
|
@ -1259,6 +1260,7 @@ broken-packages:
|
|||
- ebnf-bff
|
||||
- eccrypto
|
||||
- ecma262
|
||||
- ecta
|
||||
- ecu
|
||||
- eddie
|
||||
- ede
|
||||
|
@ -1304,6 +1306,7 @@ broken-packages:
|
|||
- emailaddress
|
||||
- email-header
|
||||
- email-postmark
|
||||
- embed-config
|
||||
- embla
|
||||
- emgm
|
||||
- Emping
|
||||
|
@ -1502,7 +1505,6 @@ broken-packages:
|
|||
- fix-symbols-gitit
|
||||
- fizzbuzz
|
||||
- fizzbuzz-as-a-service
|
||||
- flac
|
||||
- flaccuraterip
|
||||
- flamethrower
|
||||
- flamingra
|
||||
|
@ -2867,6 +2869,7 @@ broken-packages:
|
|||
- koellner-phonetic
|
||||
- koneko
|
||||
- Konf
|
||||
- konnakol
|
||||
- kontra-config
|
||||
- koofr-client
|
||||
- korea-holidays
|
||||
|
@ -3537,7 +3540,6 @@ broken-packages:
|
|||
- newtype-th
|
||||
- next-ref
|
||||
- nextstep-plist
|
||||
- nfc
|
||||
- NGrams
|
||||
- niagra
|
||||
- nibblestring
|
||||
|
@ -4015,6 +4017,7 @@ broken-packages:
|
|||
- postgres-embedded
|
||||
- PostgreSQL
|
||||
- postgresql-lo-stream
|
||||
- postgresql-ltree
|
||||
- postgresql-named
|
||||
- postgresql-query
|
||||
- postgresql-resilient
|
||||
|
@ -5492,6 +5495,7 @@ broken-packages:
|
|||
- validated-types
|
||||
- Validation
|
||||
- validations
|
||||
- validity-network-uri
|
||||
- valid-names
|
||||
- value-supply
|
||||
- vampire
|
||||
|
|
|
@ -165,6 +165,8 @@ package-maintainers:
|
|||
- spago
|
||||
- stack
|
||||
- termonad
|
||||
centromere:
|
||||
- nfc
|
||||
dalpd:
|
||||
- ghc-vis
|
||||
- svgcairo
|
||||
|
|
|
@ -304,6 +304,7 @@ dont-distribute-packages:
|
|||
- PlslTools
|
||||
- Printf-TH
|
||||
- ProbabilityMonads
|
||||
- PropaFP
|
||||
- Pugs
|
||||
- Pup-Events
|
||||
- Pup-Events-Demo
|
||||
|
@ -844,6 +845,7 @@ dont-distribute-packages:
|
|||
- bricks-rendering
|
||||
- bricks-syntax
|
||||
- bronyradiogermany-streaming
|
||||
- btc-lsp
|
||||
- btree
|
||||
- buchhaltung
|
||||
- buildbox-tools
|
||||
|
@ -1316,6 +1318,7 @@ dont-distribute-packages:
|
|||
- ekg-carbon
|
||||
- ekg-cloudwatch
|
||||
- ekg-wai
|
||||
- electrs-client
|
||||
- elerea-examples
|
||||
- elliptic-curve
|
||||
- elsa
|
||||
|
@ -1452,7 +1455,6 @@ dont-distribute-packages:
|
|||
- fixed-point-vector-space
|
||||
- fixed-precision
|
||||
- fixhs
|
||||
- flac-picture
|
||||
- flashblast
|
||||
- flatbuffers
|
||||
- flexiwrap
|
||||
|
@ -1550,6 +1552,7 @@ dont-distribute-packages:
|
|||
- geniconvert
|
||||
- geniserver
|
||||
- genvalidity-mergeful
|
||||
- genvalidity-network-uri
|
||||
- genvalidity-sydtest
|
||||
- genvalidity-sydtest-aeson
|
||||
- genvalidity-sydtest-hashable
|
||||
|
@ -3120,6 +3123,7 @@ dont-distribute-packages:
|
|||
- poseidon
|
||||
- poseidon-postgis
|
||||
- postgresql-pure
|
||||
- postgresql-simple-ltree
|
||||
- postgresql-simple-queue
|
||||
- postgresql-simple-typed
|
||||
- postgresql-tx-query
|
||||
|
@ -3194,6 +3198,7 @@ dont-distribute-packages:
|
|||
- pvd
|
||||
- qd-vec
|
||||
- qhs
|
||||
- qhull
|
||||
- qr-imager
|
||||
- qr-repa
|
||||
- qtah-examples
|
||||
|
|
|
@ -948,6 +948,10 @@ self: super: builtins.intersectAttrs super {
|
|||
] ++ (drv.patches or []);
|
||||
}) super.graphviz;
|
||||
|
||||
# Test suite requires AWS access which requires both a network
|
||||
# connection and payment.
|
||||
aws = dontCheck super.aws;
|
||||
|
||||
# Test case tries to contact the network
|
||||
http-api-data-qq = overrideCabal (drv: {
|
||||
testFlags = [
|
||||
|
@ -973,6 +977,13 @@ self: super: builtins.intersectAttrs super {
|
|||
'';
|
||||
}) super.jacinda;
|
||||
|
||||
nfc = overrideCabal (drv: {
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = with self; drv.executableHaskellDepends or [] ++ [ base base16-bytestring bytestring ];
|
||||
configureFlags = drv.configureFlags or [] ++ [ "-fbuild-examples" ];
|
||||
enableSeparateBinOutput = true;
|
||||
}) super.nfc;
|
||||
|
||||
# haskell-language-server plugins all use the same test harness so we give them what we want in this loop.
|
||||
} // pkgs.lib.mapAttrs
|
||||
(_: overrideCabal (drv: {
|
||||
|
|
1033
pkgs/development/haskell-modules/hackage-packages.nix
generated
1033
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
|
@ -1,13 +1,13 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmark-gfm";
|
||||
version = "0.29.0.gfm.3";
|
||||
version = "0.29.0.gfm.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = "cmark-gfm";
|
||||
rev = version;
|
||||
sha256 = "sha256-V3XegSjqKLCMpfnoYHr9/r5fSC2CC7A2jXkAcHUt7eA=";
|
||||
sha256 = "sha256-touFLrxVQvX75JXYLADq84yIuQ1kl43fVUvZ4qGYoMM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "just";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "casey";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-b0a5TaB0muojqLCxTVvD95zgGp7gz72OvxfK+QtZV8k=";
|
||||
sha256 = "sha256-XtX71Nd+xJmBG3MfLdEMK/JWLS8p8tOPN3RAQMMi4vU=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ka5Np7YxfYRL42ipClD9xWTYA2vynDjQqy/6IsP5Ejs=";
|
||||
cargoSha256 = "sha256-yMRoLgbX6JyJeO6hG5+iX8jAY5YElXF/FCnO06O3bo4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "grapejuice";
|
||||
version = "5.1.1";
|
||||
version = "5.2.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "BrinkerVII";
|
||||
repo = "grapejuice";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-31pxQtKw5sLGnnNdboF7AAIFqsan5pXKHIHtKq/ErRE=";
|
||||
sha256 = "sha256-YEAYoZF1Lf0ykB13cuRf5sOR1HIxwdcibyJLgP3g4Jk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -32,7 +32,7 @@ let
|
|||
|
||||
extraMeta = {
|
||||
branch = lib.versions.majorMinor version + "/master";
|
||||
maintainers = with lib.maintainers; [ andresilva pedrohlc psydvl ];
|
||||
maintainers = with lib.maintainers; [ andresilva pedrohlc ];
|
||||
description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads." +
|
||||
lib.optionalString isLqx " (Same as linux_zen but less aggressive release schedule)";
|
||||
};
|
||||
|
|
|
@ -66,7 +66,7 @@ in rec {
|
|||
};
|
||||
|
||||
unifi7 = generic {
|
||||
version = "7.1.66";
|
||||
sha256 = "sha256-lLpudaDUWdUM3HKn8yLJJh2XrqfQv7QYwYTV21iFZ7k=";
|
||||
version = "7.1.68";
|
||||
sha256 = "sha256-N12/v1uUPBpU/lXOvj7AjSKo/CjWTjGr9SMIiE/ldF8=";
|
||||
};
|
||||
}
|
||||
|
|
37
pkgs/tools/admin/kics/default.nix
Normal file
37
pkgs/tools/admin/kics/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ stdenv, buildGoModule, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kics";
|
||||
version = "1.5.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Checkmarx";
|
||||
repo = "kics";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jHspStyjq5T9jzYDRYaf2gOI4F/X+h4nDn0PFUOHoBY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-q5NuuP04kOoLVj210s17fIW2cxrsC/tAyET8YYGai0M=";
|
||||
|
||||
subPackages = [ "cmd/console" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/console $out/bin/kics
|
||||
'';
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
"-X github.com/Checkmarx/kics/internal/constant.SCMCommits=${version}"
|
||||
"-X github.com/Checkmarx/kics/internal/constants.Version=${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
Find security vulnerabilities, compliance issues, and infrastructure misconfigurations early in the development
|
||||
cycle of your infrastructure-as-code with KICS by Checkmarx.
|
||||
'';
|
||||
homepage = "https://github.com/Checkmarx/kics";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ patryk4815 ];
|
||||
};
|
||||
}
|
|
@ -1,34 +1,42 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libpng, rlottie, zlib }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, libpng
|
||||
, rlottie
|
||||
, giflib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "LottieConverter";
|
||||
version = "0.1.1";
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lottieconverter";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sot-tech";
|
||||
repo = pname;
|
||||
rev = "r${version}";
|
||||
hash = "sha256-lAGzh6B2js2zDuN+1U8CZnse09RJGZRXbtmsheGKuYU=";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "r${finalAttrs.version}";
|
||||
hash = "sha256-oCFQsOQbWzmzClaTOeuEtGo7uXoKYtaJuSLLgqAQP1M=";
|
||||
};
|
||||
|
||||
buildInputs = [ libpng rlottie zlib ];
|
||||
makeFlags = [ "CONF=Release" ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libpng rlottie giflib ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSYSTEM_RL=1"
|
||||
"-DSYSTEM_GL=1"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -v dist/Release/GNU-Linux/lottieconverter $out/bin/
|
||||
|
||||
install -Dm755 lottieconverter "$out/bin/lottieconverter"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sot-tech/LottieConverter/";
|
||||
description = "Lottie converter utility";
|
||||
license = licenses.lgpl21Plus;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ CRTified ];
|
||||
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/lottieconverter.x86_64-darwin
|
||||
maintainers = with maintainers; [ CRTified nickcao ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bgpq4";
|
||||
version = "1.4";
|
||||
version = "1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bgp";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-EFxINRFrcNXGtXpNqvBIN6pE1kG3OdeDIHYOsG2celI=";
|
||||
sha256 = "sha256-yIggx2rSi2/AVw5W9fvKQORD4TaK05TeQtErVEmcHUw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "frp";
|
||||
version = "0.43.0";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fatedier";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ked1emPx9pOz54s4ViutY41s7sQG+IjX/eZJkX15IGo=";
|
||||
sha256 = "sha256-DH+MOMsDdW+GGrxhkXhC+5D+2IsAZwByd0FjNT+i+og=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-5ljUbEvynNo1AxGpJq9B0bTFgzVfgVZbsqXcPBERLMI=";
|
||||
|
|
24
pkgs/tools/package-management/deploy-rs/default.nix
Normal file
24
pkgs/tools/package-management/deploy-rs/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, lib, fetchFromGitHub, rustPlatform, CoreServices, SystemConfiguration }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "deploy-rs-unstable";
|
||||
version = "2022-05-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "serokell";
|
||||
repo = "deploy-rs";
|
||||
rev = "184349d8149436748986d1bdba087e4149e9c160";
|
||||
sha256 = "sha256-kJ0ENmnQJ4qL2FeYKZba9kvv1KmIuB3NVpBwMeI7AJQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Ocb1kwNDfODGceCaCJ16CTGGTxIQacgHQ3I6HIR/EUo=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices SystemConfiguration ];
|
||||
|
||||
meta = with lib; {
|
||||
description = " A simple multi-profile Nix-flake deploy tool. ";
|
||||
homepage = "https://github.com/serokell/deploy-rs";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ maintainers.teutat3s ];
|
||||
};
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
{ lib, fetchFromGitHub, fetchzip }:
|
||||
|
||||
rec {
|
||||
version = "0.103.0";
|
||||
version = "0.106.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vk6GBgLsXRLAVu60xW4WWWhhi4b1WLceTxh/TeISIUg=";
|
||||
sha256 = "sha256-/L8w8imvfjO3ICe0FBhfVrTivK58/9Y+j9Hc71tlpjA=";
|
||||
};
|
||||
|
||||
# submodule dependencies
|
||||
|
@ -17,22 +17,22 @@ rec {
|
|||
langsSrc = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep-langs";
|
||||
rev = "78e518dad1ce2a7c76854c944245434bd8426439";
|
||||
sha256 = "sha256-t9F/OzzT6FI9G4Fxz0lUjz6TVrJlenusQNJnFpiKaQs=";
|
||||
rev = "98e4aacb0d58539b50a642a28d916a5d749e2a42";
|
||||
sha256 = "sha256-7w+8vLmzqBjbeV+a4Br7kLQ2bJv3aZJw8cB0R9d/D+E=";
|
||||
};
|
||||
|
||||
interfacesSrc = fetchFromGitHub {
|
||||
owner = "returntocorp";
|
||||
repo = "semgrep-interfaces";
|
||||
rev = "a64a45034ea428ecbe9da6bd849a4f1cfd23cdd2";
|
||||
sha256 = "sha256-eatuyA5xyfZVHCmHvZIzQK2c5eEWUEZd9LumJQtk8+s=";
|
||||
rev = "8bc79b2bca62c051e46a33fb65751357a71b87b6";
|
||||
sha256 = "sha256-k/rsTGYqHnw/4bsmeg7pQ/ckNglvuA0yhuz+OayXCdw=";
|
||||
};
|
||||
|
||||
# fetch pre-built semgrep-core since the ocaml build is complex and relies on
|
||||
# the opam package manager at some point
|
||||
coreRelease = fetchzip {
|
||||
url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-ubuntu-16.04.tgz";
|
||||
sha256 = "sha256-L3NbiVYmgJim7H4W1cr75WOItSiHT1YIkUEefuaCYlY=";
|
||||
sha256 = "sha256-ARf776uOJkCBGsJI8ul3IDWI24vFQxs2jlGEA6uXG+o=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -9,16 +9,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hck";
|
||||
version = "0.7.1";
|
||||
version = "0.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sstadick";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6PXhFOXWplj7yEyn7hOQSPS2YDGc1nxTs6wRseRvEVk=";
|
||||
sha256 = "sha256-29uxcbqAnWCdxKqVdrMVtorXvSLUC+jlt4YwE19Gh+A=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-VAtvc8K4282twB1MRY72+dCky3JmrTRjOPx1Ft7Oqt8=";
|
||||
cargoSha256 = "sha256-VHuzv6Zq83byXDEEyYDtlaPC4DZ3GNJaJfO0ACrrqO8=";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
|
|
|
@ -5696,6 +5696,8 @@ with pkgs;
|
|||
ssh = openssh;
|
||||
};
|
||||
|
||||
kics = callPackage ../tools/admin/kics { };
|
||||
|
||||
kramdown-asciidoc = callPackage ../tools/typesetting/kramdown-asciidoc { };
|
||||
|
||||
lychee = callPackage ../tools/networking/lychee { };
|
||||
|
@ -34697,6 +34699,10 @@ with pkgs;
|
|||
|
||||
dell-530cdn = callPackage ../misc/drivers/dell-530cdn {};
|
||||
|
||||
deploy-rs = callPackage ../tools/package-management/deploy-rs {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices SystemConfiguration;
|
||||
};
|
||||
|
||||
dockutil = callPackage ../os-specific/darwin/dockutil { };
|
||||
|
||||
eiciel = callPackage ../tools/filesystems/eiciel { };
|
||||
|
|
|
@ -16,12 +16,14 @@ let
|
|||
"native-bignum"
|
||||
"ghc902"
|
||||
"ghc923"
|
||||
"ghc941"
|
||||
"ghcHEAD"
|
||||
];
|
||||
|
||||
nativeBignumIncludes = [
|
||||
"ghc902"
|
||||
"ghc923"
|
||||
"ghc941"
|
||||
"ghcHEAD"
|
||||
];
|
||||
|
||||
|
@ -153,6 +155,21 @@ in {
|
|||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc941 = callPackage ../development/compilers/ghc/9.4.1.nix {
|
||||
bootPkgs =
|
||||
# TODO(@sternenseemann): Package 9.0.2 bindist or wait for upstream fix
|
||||
# Need to use 902 due to
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/21914
|
||||
packages.ghc902;
|
||||
inherit (buildPackages.python3Packages) sphinx;
|
||||
# Need to use apple's patched xattr until
|
||||
# https://github.com/xattr/xattr/issues/44 and
|
||||
# https://github.com/xattr/xattr/issues/55 are solved.
|
||||
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
|
||||
# Support range >= 10 && < 14
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
|
||||
bootPkgs =
|
||||
if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
|
||||
|
@ -265,6 +282,11 @@ in {
|
|||
ghc = bh.compiler.ghc923;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
|
||||
};
|
||||
ghc941 = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghc941;
|
||||
ghc = bh.compiler.ghc941;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
|
||||
};
|
||||
ghcHEAD = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghcHEAD;
|
||||
ghc = bh.compiler.ghcHEAD;
|
||||
|
|
Loading…
Reference in New Issue
Block a user