diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-24 09:19:12 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-24 09:19:12 +0100 |
commit | c2eac6741bc2bf8ae5ff2e6779492dbe5829092d (patch) | |
tree | 1c423bc8330a2295281d96c4c3149c6e23b3317d /nixos | |
parent | 917f6f987aa3e0008abc0104e4655b7410da608e (diff) | |
parent | d7ba3764356317a8642b420a6c5995ed6a0e55a3 (diff) | |
download | nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.gz nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.bz2 nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.lz nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.xz nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.tar.zst nixpkgs-c2eac6741bc2bf8ae5ff2e6779492dbe5829092d.zip |
Merge master into staging-next
Diffstat (limited to 'nixos')
101 files changed, 237 insertions, 128 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 0785784f25a..0fc014ae439 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -54,6 +54,8 @@ </itemizedlist> <para>to <literal>false</literal> and enable your preferred display manager.</para> </note> + </listitem> + <listitem> <para> A major refactoring of the Kubernetes module has been completed. Refactorings primarily focus on decoupling components and enhancing @@ -96,6 +98,13 @@ <literal>./services/misc/beanstalkd.nix</literal> </para> </listitem> + <listitem> + <para> + There is a new <varname>services.cockroachdb</varname> module for running + CockroachDB databases. NixOS now ships with CockroachDB 2.1.x as well, available + on <literal>x86_64-linux</literal> and <literal>aarch64-linux</literal>. + </para> + </listitem> </itemizedlist> </section> @@ -644,6 +653,7 @@ <link linkend="opt-services.xserver.videoDrivers">X.org video drivers</link>. The <literal>modesetting</literal> driver should take over automatically, it is better maintained upstream and has less problems with advanced X11 features. + This can lead to a change in the output names used by <literal>xrandr</literal>. Some performance regressions on some GPU models might happen. Some OpenCL and VA-API applications might also break (Beignet seems to provide OpenCL support with diff --git a/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix index 7e05e77d967..2c18244621a 100644 --- a/nixos/modules/config/fonts/fontconfig-penultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-penultimate.nix @@ -55,7 +55,9 @@ let localConf = pkgs.writeText "fc-local.conf" cfg.localConf; # The configuration to be included in /etc/font/ - penultimateConf = pkgs.runCommand "font-penultimate-conf" {} '' + penultimateConf = pkgs.runCommand "font-penultimate-conf" { + preferLocalBuild = true; + } '' support_folder=$out/etc/fonts/conf.d latest_folder=$out/etc/fonts/${latestVersion}/conf.d diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix index 7549dc6c065..45328f3eaf1 100644 --- a/nixos/modules/config/fonts/fontconfig-ultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix @@ -7,7 +7,7 @@ let cfg = config.fonts.fontconfig.ultimate; latestVersion = pkgs.fontconfig.configVersion; # The configuration to be included in /etc/font/ - confPkg = pkgs.runCommand "font-ultimate-conf" {} '' + confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } '' support_folder=$out/etc/fonts/conf.d latest_folder=$out/etc/fonts/${latestVersion}/conf.d diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 12f5ca2e799..d79c43c0b5b 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -190,7 +190,7 @@ let cfg = config.fonts.fontconfig; ''; # fontconfig configuration package - confPkg = pkgs.runCommand "fontconfig-conf" {} '' + confPkg = pkgs.runCommand "fontconfig-conf" { preferLocalBuild = true; } '' support_folder=$out/etc/fonts latest_folder=$out/etc/fonts/${latestVersion} diff --git a/nixos/modules/config/fonts/fontdir.nix b/nixos/modules/config/fonts/fontdir.nix index 180e38f81f4..cc70fbf8744 100644 --- a/nixos/modules/config/fonts/fontdir.nix +++ b/nixos/modules/config/fonts/fontdir.nix @@ -4,7 +4,7 @@ with lib; let - x11Fonts = pkgs.runCommand "X11-fonts" { } '' + x11Fonts = pkgs.runCommand "X11-fonts" { preferLocalBuild = true; } '' mkdir -p "$out/share/X11-fonts" find ${toString config.fonts.fonts} \ \( -name fonts.dir -o -name '*.ttf' -o -name '*.otf' \) \ diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index b601e908e49..13277fe56e4 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -61,6 +61,15 @@ in { }; }; + system.nssHosts = mkOption { + type = types.listOf types.str; + default = []; + example = [ "mdns" ]; + description = '' + List of host entries to configure in <filename>/etc/nsswitch.conf</filename>. + ''; + }; + }; config = { @@ -85,7 +94,7 @@ in { group: ${concatStringsSep " " passwdArray} shadow: ${concatStringsSep " " shadowArray} - hosts: ${concatStringsSep " " hostArray} + hosts: ${concatStringsSep " " config.system.nssHosts} networks: files ethers: files @@ -94,6 +103,8 @@ in { rpc: files ''; + system.nssHosts = hostArray; + # Systemd provides nss-myhostname to ensure that our hostname # always resolves to a valid IP address. It returns all locally # configured IP addresses, or ::1 and 127.0.0.2 as diff --git a/nixos/modules/hardware/acpilight.nix b/nixos/modules/hardware/acpilight.nix new file mode 100644 index 00000000000..34e8a222096 --- /dev/null +++ b/nixos/modules/hardware/acpilight.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.hardware.acpilight; +in +{ + options = { + hardware.acpilight = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable acpilight. + This will allow brightness control via xbacklight from users in the video group + ''; + }; + }; + }; + + config = mkIf cfg.enable { + services.udev.packages = with pkgs; [ acpilight ]; + }; +} diff --git a/nixos/modules/hardware/ledger.nix b/nixos/modules/hardware/ledger.nix new file mode 100644 index 00000000000..41abe74315a --- /dev/null +++ b/nixos/modules/hardware/ledger.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.ledger; + +in { + options.hardware.ledger.enable = mkEnableOption "udev rules for Ledger devices"; + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.ledger-udev-rules ]; + }; +} diff --git a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix index 2cf5f13bc15..a808429c999 100644 --- a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix +++ b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix @@ -29,6 +29,7 @@ runCommand "uvcdynctrl-udev-rules-${version}" ]; dontPatchELF = true; dontStrip = true; + preferLocalBuild = true; } '' mkdir -p "$out/lib/udev" diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index e946c4abc57..ab5e7c0645f 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -13,7 +13,7 @@ let # user, as expected by nixos-rebuild/nixos-install. FIXME: merge # with make-channel.nix. channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" - { } + { preferLocalBuild = true; } '' mkdir -p $out cp -prd ${nixpkgs.outPath} $out/nixos diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix index 228ef371d25..917b3758d38 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix @@ -31,6 +31,10 @@ with lib; # there is no power management backend such as upower). powerManagement.enable = true; + # Enable sound in graphical iso's. + hardware.pulseaudio.enable = true; + hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root. + environment.systemPackages = [ # Include gparted for partitioning disks. pkgs.gparted diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 5f134b51939..e78673514e3 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -272,7 +272,7 @@ nzbget = 245; mosquitto = 246; toxvpn = 247; - squeezelite = 248; + # squeezelite = 248; # DynamicUser = true turnserver = 249; smokeping = 250; gocd-agent = 251; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 75217581a94..32b3f14e82d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -44,6 +44,7 @@ ./hardware/digitalbitbox.nix ./hardware/sensor/iio.nix ./hardware/ksm.nix + ./hardware/ledger.nix ./hardware/mcelog.nix ./hardware/network/b43.nix ./hardware/nitrokey.nix diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix index fba756391b1..649f5564ac6 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -14,5 +14,9 @@ libinput.enable = true; # for touchpad support on many laptops }; + # Enable sound in virtualbox appliances. + hardware.pulseaudio.enable = true; + hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root. + environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ]; } diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix index d39103a5805..9fdf99e9c69 100644 --- a/nixos/modules/programs/less.nix +++ b/nixos/modules/programs/less.nix @@ -25,7 +25,7 @@ let ''; lessKey = pkgs.runCommand "lesskey" - { src = pkgs.writeText "lessconfig" configText; } + { src = pkgs.writeText "lessconfig" configText; preferLocalBuild = true; } "${pkgs.less}/bin/lesskey -o $out $src"; in diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 67469be18b4..1c4ee421fc5 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -14,6 +14,7 @@ let { files = cfg.certificateFiles ++ [ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ]; + preferLocalBuild = true; } '' cat $files > $out diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 69a2a4f8f9a..573588aaeec 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -215,7 +215,10 @@ in environment.etc = singleton { source = pkgs.runCommand "sudoers" - { src = pkgs.writeText "sudoers-in" cfg.configFile; } + { + src = pkgs.writeText "sudoers-in" cfg.configFile; + preferLocalBuild = true; + } # Make sure that the sudoers file is syntactically valid. # (currently disabled - NIXOS-66) "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out"; diff --git a/nixos/modules/services/audio/squeezelite.nix b/nixos/modules/services/audio/squeezelite.nix index 57ae3855993..05506f5bcc7 100644 --- a/nixos/modules/services/audio/squeezelite.nix +++ b/nixos/modules/services/audio/squeezelite.nix @@ -3,8 +3,7 @@ with lib; let - - uid = config.ids.uids.squeezelite; + dataDir = "/var/lib/squeezelite"; cfg = config.services.squeezelite; in { @@ -17,14 +16,6 @@ in { enable = mkEnableOption "Squeezelite, a software Squeezebox emulator"; - dataDir = mkOption { - default = "/var/lib/squeezelite"; - type = types.str; - description = '' - The directory where Squeezelite stores its name file. - ''; - }; - extraArguments = mkOption { default = ""; type = types.str; @@ -46,22 +37,14 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "network.target" "sound.target" ]; description = "Software Squeezebox emulator"; - preStart = "mkdir -p ${cfg.dataDir} && chown -R squeezelite ${cfg.dataDir}"; serviceConfig = { - ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${cfg.dataDir}/player-name ${cfg.extraArguments}"; - User = "squeezelite"; - PermissionsStartOnly = true; + DynamicUser = true; + ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${dataDir}/player-name ${cfg.extraArguments}"; + StateDirectory = builtins.baseNameOf dataDir; + SupplementaryGroups = "audio"; }; }; - users.users.squeezelite= { - inherit uid; - group = "nogroup"; - extraGroups = [ "audio" ]; - description = "Squeezelite user"; - home = "${cfg.dataDir}"; - }; - }; } diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix index 9daf391c73c..2136778aff4 100644 --- a/nixos/modules/services/continuous-integration/buildkite-agent.nix +++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix @@ -24,7 +24,7 @@ let EOF chmod 755 $out/${name} ''; - in pkgs.runCommand "buildkite-agent-hooks" {} '' + in pkgs.runCommand "buildkite-agent-hooks" { preferLocalBuild = true; } '' mkdir $out ${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))} ''; diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index a0aff1b8b5b..3ceaa6f5ff3 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -8,6 +8,7 @@ let if (cfg.configFile == null) then (pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \ diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix index 4772e897efe..52f2d95b4e0 100644 --- a/nixos/modules/services/databases/hbase.nix +++ b/nixos/modules/services/databases/hbase.nix @@ -18,7 +18,7 @@ let </configuration> ''; - configDir = pkgs.runCommand "hbase-config-dir" {} '' + configDir = pkgs.runCommand "hbase-config-dir" { preferLocalBuild = true; } '' mkdir -p $out cp ${cfg.package}/conf/* $out/ rm $out/hbase-site.xml diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index d7a028b25d8..888bf13c3df 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -98,6 +98,7 @@ let configFile = pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \ diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix index 0f05876aee3..4c97485d972 100644 --- a/nixos/modules/services/hardware/acpid.nix +++ b/nixos/modules/services/hardware/acpid.nix @@ -21,7 +21,7 @@ let }; }; - acpiConfDir = pkgs.runCommand "acpi-events" {} + acpiConfDir = pkgs.runCommand "acpi-events" { preferLocalBuild = true; } '' mkdir -p $out ${ diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index b894025c0fd..092ff051a04 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -17,6 +17,7 @@ tlp = pkgs.tlp.override { confFile = pkgs.runCommand "tlp" { config = cfg.extraConfig; passAsFile = [ "config" ]; + preferLocalBuild = true; } '' cat ${tlp}/etc/default/tlp > $out diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 1477d273d5e..9c64160e92b 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.logcheck; - defaultRules = pkgs.runCommand "logcheck-default-rules" {} '' + defaultRules = pkgs.runCommand "logcheck-default-rules" { preferLocalBuild = true; } '' cp -prd ${pkgs.logcheck}/etc/logcheck $out chmod u+w $out rm -r $out/logcheck.* diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index aa019d855ea..9b707e9deb5 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -27,7 +27,10 @@ let logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings; - logstashSettingsDir = pkgs.runCommand "logstash-settings" {inherit logstashSettingsYml;} '' + logstashSettingsDir = pkgs.runCommand "logstash-settings" { + inherit logstashSettingsYml; + preferLocalBuild = true; + } '' mkdir -p $out ln -s $logstashSettingsYml $out/logstash.yml ''; diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index 4276552d4f0..a870550ba50 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -8,7 +8,7 @@ let conf = pkgs.writeText "smtpd.conf" cfg.serverConfiguration; args = concatStringsSep " " cfg.extraServerArgs; - sendmail = pkgs.runCommand "opensmtpd-sendmail" {} '' + sendmail = pkgs.runCommand "opensmtpd-sendmail" { preferLocalBuild = true; } '' mkdir -p $out/bin ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail ''; diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix index b9c2a966e6f..c7f2a168f8a 100644 --- a/nixos/modules/services/misc/gitolite.nix +++ b/nixos/modules/services/misc/gitolite.nix @@ -110,7 +110,7 @@ in config = mkIf cfg.enable ( let manageGitoliteRc = cfg.extraGitoliteRc != ""; - rcDir = pkgs.runCommand "gitolite-rc" { } rcDirScript; + rcDir = pkgs.runCommand "gitolite-rc" { preferLocalBuild = true; } rcDirScript; rcDirScript = '' mkdir "$out" diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 4ccfa22c89e..95a7f2ea989 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -19,7 +19,7 @@ let ${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out ''; - availableComponents = pkgs.home-assistant.availableComponents; + availableComponents = cfg.package.availableComponents; # Given component "parentConfig.platform", returns whether config.parentConfig # is a list containing a set with set.platform == "platform". diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 9a8116a03e8..665215822af 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -33,7 +33,7 @@ let sh = pkgs.runtimeShell; binshDeps = pkgs.writeReferencesToFile sh; in - pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; } ('' + pkgs.runCommand "nix.conf" { preferLocalBuild = true; extraOptions = cfg.extraOptions; } ('' ${optionalString (!isNix20) '' extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done) ''} diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 5f97abf1871..483bc99ad94 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -109,7 +109,7 @@ let nixos-taskserver = pkgs.pythonPackages.buildPythonApplication { name = "nixos-taskserver"; - src = pkgs.runCommand "nixos-taskserver-src" {} '' + src = pkgs.runCommand "nixos-taskserver-src" { preferLocalBuild = true; } '' mkdir -p "$out" cat "${pkgs.substituteAll { src = ./helper-tool.py; diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 7ee870183ca..49957e65290 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -45,7 +45,7 @@ let eventToShellCmds = event: if builtins.hasAttr event cfg.hooks then (shellCmdsForEventScript event (builtins.getAttr event cfg.hooks)) else ""; - scriptDir = pkgs.runCommand "apcupsd-scriptdir" {} ('' + scriptDir = pkgs.runCommand "apcupsd-scriptdir" { preferLocalBuild = true; } ('' mkdir "$out" # Copy SCRIPTDIR from apcupsd package cp -r ${pkgs.apcupsd}/etc/apcupsd/* "$out"/ diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index cdc98b407e9..f59bc56962b 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -9,8 +9,10 @@ let dataDir = cfg.dataDir; staticDir = cfg.dataDir + "/static"; - graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" - {inherit graphiteLocalSettings;} '' + graphiteLocalSettingsDir = pkgs.runCommand "graphite_local_settings" { + inherit graphiteLocalSettings; + preferLocalBuild = true; + } '' mkdir -p $out ln -s $graphiteLocalSettings $out/graphite_local_settings.py ''; diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index 3e1d727b416..e5496209f82 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -11,8 +11,10 @@ let nagiosObjectDefs = cfg.objectDefs; - nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;} - "mkdir -p $out; ln -s $nagiosObjectDefs $out/"; + nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" { + inherit nagiosObjectDefs; + preferLocalBuild = true; + } "mkdir -p $out; ln -s $nagiosObjectDefs $out/"; nagiosCfgFile = pkgs.writeText "nagios.cfg" '' diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix index 1d86c5d893d..a49555cf677 100644 --- a/nixos/modules/services/monitoring/netdata.nix +++ b/nixos/modules/services/monitoring/netdata.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.netdata; - wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} '' + wrappedPlugins = pkgs.runCommand "wrapped-plugins" { preferLocalBuild = true; } '' mkdir -p $out/libexec/netdata/plugins.d ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin ''; diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index 1b1503ab5fc..cc703573d8c 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -19,7 +19,7 @@ let # Pretty-print JSON to a file writePrettyJSON = name: x: - pkgs.runCommand name { } '' + pkgs.runCommand name { preferLocalBuild = true; } '' echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out ''; diff --git a/nixos/modules/services/monitoring/scollector.nix b/nixos/modules/services/monitoring/scollector.nix index 6ecb21d628d..fbded746a5f 100644 --- a/nixos/modules/services/monitoring/scollector.nix +++ b/nixos/modules/services/monitoring/scollector.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.scollector; - collectors = pkgs.runCommand "collectors" {} + collectors = pkgs.runCommand "collectors" { preferLocalBuild = true; } '' mkdir -p $out ${lib.concatStringsSep diff --git a/nixos/modules/services/monitoring/telegraf.nix b/nixos/modules/services/monitoring/telegraf.nix index 6bfcd7143e1..d8786732668 100644 --- a/nixos/modules/services/monitoring/telegraf.nix +++ b/nixos/modules/services/monitoring/telegraf.nix @@ -7,6 +7,7 @@ let configFile = pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.extraConfig)} \ diff --git a/nixos/modules/services/monitoring/uptime.nix b/nixos/modules/services/monitoring/uptime.nix index b4d3a264010..c0993f3bc2e 100644 --- a/nixos/modules/services/monitoring/uptime.nix +++ b/nixos/modules/services/monitoring/uptime.nix @@ -4,7 +4,8 @@ let cfg = config.services.uptime; - configDir = pkgs.runCommand "config" {} (if cfg.configFile != null then '' + configDir = pkgs.runCommand "config" { preferLocalBuild = true; } + (if cfg.configFile != null then '' mkdir $out ext=`echo ${cfg.configFile} | grep -o \\..*` ln -sv ${cfg.configFile} $out/default$ext diff --git a/nixos/modules/services/network-filesystems/beegfs.nix b/nixos/modules/services/network-filesystems/beegfs.nix index d9dde3f6bb6..86b1bb9160f 100644 --- a/nixos/modules/services/network-filesystems/beegfs.nix +++ b/nixos/modules/services/network-filesystems/beegfs.nix @@ -102,7 +102,10 @@ let # wrappers to beegfs tools. Avoid typing path of config files utilWrappers = mapAttrsToList ( name: cfg: - ( pkgs.runCommand "beegfs-utils-${name}" { nativeBuildInputs = [ pkgs.makeWrapper ]; } '' + ( pkgs.runCommand "beegfs-utils-${name}" { + nativeBuildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' mkdir -p $out/bin makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \ diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index 602cd50d8f5..d4fa1eccdf3 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -19,7 +19,7 @@ let "/var/lib/ipfs/.ipfs"; # Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment - wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } '' + wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; preferLocalBuild = true; } '' mkdir -p "$out/bin" makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" \ --set IPFS_PATH ${cfg.dataDir} \ diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index 240c1392088..93d2d7fcd97 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -15,7 +15,7 @@ let clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB); - afsConfig = pkgs.runCommand "afsconfig" {} '' + afsConfig = pkgs.runCommand "afsconfig" { preferLocalBuild = true; } '' mkdir -p $out echo ${cfg.cellName} > $out/ThisCell cat ${cellServDB} ${clientServDB} > $out/CellServDB @@ -198,7 +198,7 @@ in environment.etc = { clientCellServDB = { - source = pkgs.runCommand "CellServDB" {} '' + source = pkgs.runCommand "CellServDB" { preferLocalBuild = true; } '' cat ${cellServDB} ${clientServDB} > $out ''; target = "openafs/CellServDB"; diff --git a/nixos/modules/services/networking/dnscache.nix b/nixos/modules/services/networking/dnscache.nix index fc30f50317f..5051fc916d9 100644 --- a/nixos/modules/services/networking/dnscache.nix +++ b/nixos/modules/services/networking/dnscache.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.dnscache; - dnscache-root = pkgs.runCommand "dnscache-root" {} '' + dnscache-root = pkgs.runCommand "dnscache-root" { preferLocalBuild = true; } '' mkdir -p $out/{servers,ip} ${concatMapStrings (ip: '' diff --git a/nixos/modules/services/networking/hylafax/systemd.nix b/nixos/modules/services/networking/hylafax/systemd.nix index 91d9c1a37da..ef177e4be34 100644 --- a/nixos/modules/services/networking/hylafax/systemd.nix +++ b/nixos/modules/services/networking/hylafax/systemd.nix @@ -41,7 +41,7 @@ let "$out/config.${name}" ''; in - pkgs.runCommand "hylafax-config-modems" {} + pkgs.runCommand "hylafax-config-modems" { preferLocalBuild = true; } ''mkdir --parents "$out/" ${concatStringsSep "\n" (mapModems mkLine)}''; setupSpoolScript = pkgs.substituteAll { diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix index f63f86496be..c936417e68c 100644 --- a/nixos/modules/services/networking/prayer.nix +++ b/nixos/modules/services/networking/prayer.nix @@ -25,7 +25,7 @@ let ${cfg.extraConfig} ''; - prayerCfg = pkgs.runCommand "prayer.cf" { } '' + prayerCfg = pkgs.runCommand "prayer.cf" { preferLocalBuild = true; } '' # We have to remove the http_port 80, or it will start a server there cat ${prayer}/etc/prayer.cf | grep -v http_port > $out cat ${prayerExtraCfg} >> $out diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix index 1ea676d0f92..f511a9af256 100644 --- a/nixos/modules/services/networking/shout.nix +++ b/nixos/modules/services/networking/shout.nix @@ -6,7 +6,7 @@ let cfg = config.services.shout; shoutHome = "/var/lib/shout"; - defaultConfig = pkgs.runCommand "config.js" {} '' + defaultConfig = pkgs.runCommand "config.js" { preferLocalBuild = true; } '' EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD mv config.js $out ''; diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix index a1c5d879f3c..cc18f6d0064 100644 --- a/nixos/modules/services/networking/xrdp.nix +++ b/nixos/modules/services/networking/xrdp.nix @@ -4,7 +4,7 @@ with lib; let cfg = config.services.xrdp; - confDir = pkgs.runCommand "xrdp.conf" { } '' + confDir = pkgs.runCommand "xrdp.conf" { preferLocalBuild = true; } '' mkdir $out cp ${cfg.package}/etc/xrdp/{km-*,xrdp,sesman,xrdp_keyboard}.ini $out diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 3a43ebbb889..854c76cc0a1 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -11,8 +11,9 @@ let avahiEnabled = config.services.avahi.enable; polkitEnabled = config.security.polkit.enable; - additionalBackends = pkgs.runCommand "additional-cups-backends" { } - '' + additionalBackends = pkgs.runCommand "additional-cups-backends" { + preferLocalBuild = true; + } '' mkdir -p $out if [ ! -e ${cups.out}/lib/cups/backend/smb ]; then mkdir -p $out/lib/cups/backend diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index 82b6a51028e..dc37f9bee4b 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -82,7 +82,7 @@ in { X-RestartIfChanged=false ''; - systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { } + systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { preferLocalBuild = true; } '' mkdir -p $out ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service diff --git a/nixos/modules/services/web-apps/codimd.nix b/nixos/modules/services/web-apps/codimd.nix index a0af28eac7c..56e1de17e3c 100644 --- a/nixos/modules/services/web-apps/codimd.nix +++ b/nixos/modules/services/web-apps/codimd.nix @@ -6,7 +6,7 @@ let cfg = config.services.codimd; prettyJSON = conf: - pkgs.runCommand "codimd-config.json" { } '' + pkgs.runCommand "codimd-config.json" { preferLocalBuild = true; } '' echo '${builtins.toJSON conf}' | ${pkgs.jq}/bin/jq \ '{production:del(.[]|nulls)|del(.[][]?|nulls)}' > $out ''; diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 3fd19d425c7..1eac5be2f8d 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -217,7 +217,7 @@ let ) null ([ cfg ] ++ subservices); documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else - pkgs.runCommand "empty" {} "mkdir -p $out"; + pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"; documentRootConf = '' DocumentRoot "${documentRoot}" @@ -426,6 +426,7 @@ let phpIni = pkgs.runCommand "php.ini" { options = concatStringsSep "\n" ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); + preferLocalBuild = true; } '' cat ${php}/etc/php.ini > $out diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index e871ae6ff15..6234478014c 100644 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -116,9 +116,10 @@ let ''; }; - mediawikiScripts = pkgs.runCommand "mediawiki-${config.id}-scripts" - { buildInputs = [ pkgs.makeWrapper ]; } - '' + mediawikiScripts = pkgs.runCommand "mediawiki-${config.id}-scripts" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' mkdir -p $out/bin for i in changePassword.php createAndPromote.php userOptions.php edit.php nukePage.php update.php; do makeWrapper ${php}/bin/php $out/bin/mediawiki-${config.id}-$(basename $i .php) \ diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 6c733f093ba..89dc8b3795e 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -44,7 +44,25 @@ let } '')); - configFile = pkgs.writeText "nginx.conf" '' + awkFormat = pkgs.writeText "awkFormat-nginx.awk" '' + awk -f + {sub(/^[ \t]+/,"");idx=0} + /\{/{ctx++;idx=1} + /\}/{ctx--} + {id="";for(i=idx;i<ctx;i++)id=sprintf("%s%s", id, "\t");printf "%s%s\n", id, $0} + ''; + + configFile = pkgs.stdenv.mkDerivation { + name = "nginx-config"; + src = ""; + phases = [ "installPhase" ]; + installPhase = '' + mkdir $out + awk -f ${awkFormat} ${pre-configFile} | sed '/^\s*$/d' > $out/nginx.conf + ''; + }; + + pre-configFile = pkgs.writeText "pre-nginx.conf" '' user ${cfg.user} ${cfg.group}; error_log ${cfg.logError}; daemon off; @@ -638,10 +656,10 @@ in preStart = '' ${cfg.preStart} - ${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir} -t + ${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir} -t ''; serviceConfig = { - ExecStart = "${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir}"; + ExecStart = "${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "always"; RestartSec = "10s"; diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index 97c730061bd..ffafbc5e92f 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -39,6 +39,7 @@ let phpIni = pool: pkgs.runCommand "php.ini" { inherit (pool) phpPackage phpOptions; + preferLocalBuild = true; nixDefaults = '' sendmail_path = "/run/wrappers/bin/sendmail -t -i" ''; diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix index 700202b1d28..4674ed0177e 100644 --- a/nixos/modules/services/web-servers/traefik.nix +++ b/nixos/modules/services/web-servers/traefik.nix @@ -8,6 +8,7 @@ let if cfg.configFile == null then pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \ diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 31ff60019ae..6255dce8276 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -15,7 +15,7 @@ let ''; }; - nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" {} + nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } '' mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas cp -rf ${pkgs.gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix index 7c794b1ba17..de128809ce3 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix @@ -12,9 +12,10 @@ let # We need a few things in the environment for the greeter to run with # fonts/icons. - wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" - { buildInputs = [ pkgs.makeWrapper ]; } - '' + wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm-enso-os-greeter}/bin/pantheon-greeter \ $out/greeter \ diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index 76fb0e619d7..5b280b02423 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -18,9 +18,10 @@ let # The default greeter provided with this expression is the GTK greeter. # Again, we need a few things in the environment for the greeter to run with # fonts/icons. - wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" - { buildInputs = [ pkgs.makeWrapper ]; } - '' + wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" { + buildInputs = [ pkgs.makeWrapper ]; + preferLocalBuild = true; + } '' # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ $out/greeter \ diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 4e411c8ceb0..124660a43f0 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -28,7 +28,7 @@ let # Unpack the SLiM theme, or use the default. slimThemesDir = let - unpackedTheme = pkgs.runCommand "slim-theme" {} + unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; } '' mkdir -p $out cd $out diff --git a/nixos/modules/services/x11/gdk-pixbuf.nix b/nixos/modules/services/x11/gdk-pixbuf.nix index 58faa8e2f9d..2dc8eabd95a 100644 --- a/nixos/modules/services/x11/gdk-pixbuf.nix +++ b/nixos/modules/services/x11/gdk-pixbuf.nix @@ -10,7 +10,7 @@ let # Generate the cache file by running gdk-pixbuf-query-loaders for each # package and concatenating the results. - loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" {} '' + loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" { preferLocalBuild = true; } '' ( for package in ${concatStringsSep " " effectivePackages}; do module_dir="$package/${pkgs.gdk_pixbuf.moduleDir}" diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 34fbefa4256..d84ab3ced6f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -113,6 +113,7 @@ let { xfs = optionalString (cfg.useXFS != false) ''FontPath "${toString cfg.useXFS}"''; inherit (cfg) config; + preferLocalBuild = true; } '' echo 'Section "Files"' >> $out @@ -705,6 +706,7 @@ in system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" { inherit (cfg) xkbModel layout xkbVariant xkbOptions; nativeBuildInputs = [ pkgs.xkbvalidate ]; + preferLocalBuild = true; } '' validate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions" touch "$out" diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 5e27b24ac44..9984a97bbdd 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -196,9 +196,10 @@ let ''; # */ - udevRules = pkgs.runCommand "udev-rules" - { allowedReferences = [ extraUtils ]; } - '' + udevRules = pkgs.runCommand "udev-rules" { + allowedReferences = [ extraUtils ]; + preferLocalBuild = true; + } '' mkdir -p $out echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules @@ -298,9 +299,10 @@ let { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf; symlink = "/etc/mdadm.conf"; } - { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" - { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; } - '' + { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" { + src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; + preferLocalBuild = true; + } '' target=$out ${pkgs.buildPackages.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out ''; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 9fdef0251d7..18ee2ef1b8f 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -593,7 +593,7 @@ in services.journald.forwardToSyslog = mkOption { default = config.services.rsyslogd.enable || config.services.syslog-ng.enable; - defaultText = "config.services.rsyslogd.enable || config.services.syslog-ng.enable"; + defaultText = "services.rsyslogd.enable || services.syslog-ng.enable"; type = types.bool; description = '' Whether to forward log messages to syslog. @@ -652,6 +652,7 @@ in services.logind.lidSwitchExternalPower = mkOption { default = config.services.logind.lidSwitch; + defaultText = "services.logind.lidSwitch"; example = "ignore"; type = logindHandlerType; @@ -759,7 +760,10 @@ in environment.etc = let # generate contents for /etc/systemd/system-generators from # systemd.generators and systemd.generator-packages - generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } '' + generators = pkgs.runCommand "system-generators" { + preferLocalBuild = true; + packages = cfg.generator-packages; + } '' mkdir -p $out for package in $packages do diff --git a/nixos/modules/tasks/filesystems/vboxsf.nix b/nixos/modules/tasks/filesystems/vboxsf.nix index 87f1984f084..5497194f6a8 100644 --- a/nixos/modules/tasks/filesystems/vboxsf.nix +++ b/nixos/modules/tasks/filesystems/vboxsf.nix @@ -6,7 +6,7 @@ let inInitrd = any (fs: fs == "vboxsf") config.boot.initrd.supportedFilesystems; - package = pkgs.runCommand "mount.vboxsf" {} '' + package = pkgs.runCommand "mount.vboxsf" { preferLocalBuild = true; } '' mkdir -p $out/bin cp ${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf $out/bin ''; diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index fbe42b8e8f0..6d34f897d18 100644 --- a/nixos/modules/tasks/kbd.nix +++ b/nixos/modules/tasks/kbd.nix @@ -15,6 +15,7 @@ let optimizedKeymap = pkgs.runCommand "keymap" { nativeBuildInputs = [ pkgs.buildPackages.kbd ]; LOADKEYS_KEYMAP_PATH = "${kbdEnv}/share/keymaps/**"; + preferLocalBuild = true; } '' loadkeys -b ${optionalString isUnicode "-u"} "${config.i18n.consoleKeyMap}" > $out ''; diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 815523093dd..f9b0eb330bf 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -995,7 +995,7 @@ in ''; environment.etc."hostid" = mkIf (cfg.hostId != null) - { source = pkgs.runCommand "gen-hostid" {} '' + { source = pkgs.runCommand "gen-hostid" { preferLocalBuild = true; } '' hi="${cfg.hostId}" ${if pkgs.stdenv.isBigEndian then '' echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix index dfb60998941..56b21a40155 100644 --- a/nixos/tests/avahi.nix +++ b/nixos/tests/avahi.nix @@ -2,7 +2,7 @@ import ./make-test.nix ({ pkgs, ... } : { name = "avahi"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = let diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix index 9b7ac111a57..fa2fbc2c92a 100644 --- a/nixos/tests/beanstalkd.nix +++ b/nixos/tests/beanstalkd.nix @@ -1,23 +1,25 @@ import ./make-test.nix ({ pkgs, lib, ... }: let + pythonEnv = pkgs.python3.withPackages (p: [p.beanstalkc]); + produce = pkgs.writeScript "produce.py" '' - #!${pkgs.python2.withPackages (p: [p.beanstalkc])}/bin/python + #!${pythonEnv.interpreter} import beanstalkc queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); - queue.put('this is a job') - queue.put('this is another job') + queue.put(b'this is a job') + queue.put(b'this is another job') ''; consume = pkgs.writeScript "consume.py" '' - #!${pkgs.python2.withPackages (p: [p.beanstalkc])}/bin/python + #!${pythonEnv.interpreter} import beanstalkc queue = beanstalkc.Connection(host='localhost', port=11300, parse_yaml=False); job = queue.reserve(timeout=0) - print job.body + print(job.body.decode('utf-8')) job.delete() ''; diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 27871f72b4e..3b1169a1b7f 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -23,7 +23,7 @@ in { name = "bittorrent"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow rob bobvanderlinden ]; + maintainers = [ domenkozar eelco rob bobvanderlinden ]; }; nodes = diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix index 0eae51433d2..38db64eb793 100644 --- a/nixos/tests/containers-bridge.nix +++ b/nixos/tests/containers-bridge.nix @@ -10,7 +10,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-bridge"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 782095a09da..0c101037aa7 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "containers-imperative"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix index 5f83a33b107..ace68ff2df8 100644 --- a/nixos/tests/containers-ipv4.nix +++ b/nixos/tests/containers-ipv4.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "containers-ipv4"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-ipv6.nix b/nixos/tests/containers-ipv6.nix index 5866e51b731..a9499d192bd 100644 --- a/nixos/tests/containers-ipv6.nix +++ b/nixos/tests/containers-ipv6.nix @@ -8,7 +8,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-ipv6"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ]; }; machine = diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix index d2dda926fc0..ec8e9629c21 100644 --- a/nixos/tests/containers-portforward.nix +++ b/nixos/tests/containers-portforward.nix @@ -10,7 +10,7 @@ in import ./make-test.nix ({ pkgs, ...} : { name = "containers-portforward"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ianwookim ]; + maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ]; }; machine = diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix index d787ac97300..e7ae023f3ff 100644 --- a/nixos/tests/elk.nix +++ b/nixos/tests/elk.nix @@ -13,7 +13,7 @@ let mkElkTest = name : elk : makeTest { inherit name; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow offline basvandijk ]; + maintainers = [ eelco offline basvandijk ]; }; nodes = { one = diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index 58a80243ea9..f5b946a0881 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "firefox"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; machine = diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index 7207a880d8e..fcf758910e0 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -3,7 +3,7 @@ import ./make-test.nix ( { pkgs, ... } : { name = "firewall"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 95694ea4828..b58c9e5a0e3 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "gnome3"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow lethalman ]; + maintainers = [ domenkozar eelco lethalman ]; }; machine = diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix index 440049d9511..61201202204 100644 --- a/nixos/tests/influxdb.nix +++ b/nixos/tests/influxdb.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "influxdb"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ chaoflow offline ]; + maintainers = [ offline ]; }; nodes = { diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix index 97f348a9bee..14f24c29cfe 100644 --- a/nixos/tests/ipv6.nix +++ b/nixos/tests/ipv6.nix @@ -4,7 +4,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "ipv6"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index 4f2d2085cd1..a6eec411ff2 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "jenkins"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ bjornfor coconnor domenkozar eelco chaoflow ]; + maintainers = [ bjornfor coconnor domenkozar eelco ]; }; nodes = { diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index db596189d46..b13b4131091 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "kexec"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = { ... }: diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index 3dbb494b689..9844ad492e8 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: { name = "login"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index 3ad55651b11..ca28bc31cf1 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ...} : rec { name = "misc"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; foo = pkgs.writeText "foo" "Hello World"; diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 8146453bfd5..dadd16fd9a0 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -9,7 +9,7 @@ in { name = "mumble"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ thoughtpolice eelco chaoflow ]; + maintainers = [ thoughtpolice eelco ]; }; nodes = { diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 95cecf17b8c..31374aaf77e 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -4,7 +4,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "munin"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow ]; + maintainers = [ domenkozar eelco ]; }; nodes = { diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix index 84d70cf3524..c75a862106f 100644 --- a/nixos/tests/mysql-replication.nix +++ b/nixos/tests/mysql-replication.nix @@ -8,7 +8,7 @@ in { name = "mysql-replication"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; nodes = { diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix index 7251c4a8649..1a611779366 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "mysql"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; nodes = { diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 34229e91311..51d9cf166bb 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -24,7 +24,7 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, name = "nat" + (if withFirewall then "WithFirewall" else "Standalone") + (lib.optionalString withConntrackHelpers "withConntrackHelpers"); meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow rob ]; + maintainers = [ eelco rob ]; }; nodes = diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index ce171701893..2f655336e75 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -20,7 +20,7 @@ in { name = "nfs"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix index c66b90b802d..219a20c5c7e 100644 --- a/nixos/tests/openssh.nix +++ b/nixos/tests/openssh.nix @@ -5,7 +5,7 @@ let inherit (import ./ssh-keys.nix pkgs) in { name = "openssh"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ aszlig eelco chaoflow ]; + maintainers = [ aszlig eelco ]; }; nodes = { diff --git a/nixos/tests/phabricator.nix b/nixos/tests/phabricator.nix index 20b3b838aba..db23331842c 100644 --- a/nixos/tests/phabricator.nix +++ b/nixos/tests/phabricator.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "phabricator"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ chaoflow ]; + maintainers = [ ]; }; nodes = { diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 7026637ead1..caa8131a4b4 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({pkgs, ... }: { name = "printing"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow jgeerds ]; + maintainers = [ domenkozar eelco jgeerds ]; }; nodes = { diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index 18195312028..1f39e903cdd 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -16,7 +16,7 @@ in { name = "proxy"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 75c82cca63f..fbb798515e1 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -22,7 +22,7 @@ in rec { name = "quake3"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ domenkozar eelco chaoflow ]; + maintainers = [ domenkozar eelco ]; }; # TODO: lcov doesn't work atm diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix index 34ab0578786..bb5932c3641 100644 --- a/nixos/tests/rabbitmq.nix +++ b/nixos/tests/rabbitmq.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "rabbitmq"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow offline ]; + maintainers = [ eelco offline ]; }; nodes = { diff --git a/nixos/tests/subversion.nix b/nixos/tests/subversion.nix index 6175155cdfc..e7b99b10602 100644 --- a/nixos/tests/subversion.nix +++ b/nixos/tests/subversion.nix @@ -34,7 +34,7 @@ in { name = "subversion"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index af63c7ee8e0..8e7b886dd30 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "tomcat"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = { diff --git a/nixos/tests/trac.nix b/nixos/tests/trac.nix index 4599885acde..8ec11ebda2c 100644 --- a/nixos/tests/trac.nix +++ b/nixos/tests/trac.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ... }: { name = "trac"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; nodes = { diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix index 8bbbe286efc..dcf869908d8 100644 --- a/nixos/tests/udisks2.nix +++ b/nixos/tests/udisks2.nix @@ -12,7 +12,7 @@ in { name = "udisks2"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; + maintainers = [ eelco ]; }; machine = diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 47717e8cf7d..12d8a050d47 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "xfce"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow shlevy ]; + maintainers = [ eelco shlevy ]; }; machine = |