diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-15 02:15:14 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-15 02:15:14 +0200 |
commit | df7bc53606bd7576232e2fe25e404789b5a2389a (patch) | |
tree | 623aa9c3b27b47c1153fd207ee051200153861d1 /nixos/modules | |
parent | 36bef2b26731a9580260fd24d18c90dbecd5eb22 (diff) | |
parent | 785ed2b528322676a256fc14a2201773626f46bb (diff) | |
download | nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar.gz nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar.bz2 nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar.lz nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar.xz nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.tar.zst nixlib-df7bc53606bd7576232e2fe25e404789b5a2389a.zip |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/installer/tools/nixos-rebuild.sh | 5 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/programs/nano.nix | 35 | ||||
-rw-r--r-- | nixos/modules/security/setuid-wrappers.nix | 3 | ||||
-rw-r--r-- | nixos/modules/system/activation/activation-script.nix | 5 | ||||
-rw-r--r-- | nixos/modules/virtualisation/nixos-container.pl | 2 |
6 files changed, 48 insertions, 3 deletions
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index be37e61151aa..52b64c37578e 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -225,7 +225,10 @@ fi # If we're not just building, then make the new configuration the boot # default and/or activate it now. if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then - $pathToConfig/bin/switch-to-configuration "$action" + if ! $pathToConfig/bin/switch-to-configuration "$action"; then + echo "warning: there were error switching to the new configuration" >&2 + exit 1 + fi fi diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d90c56f2412a..453899175e01 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -53,6 +53,7 @@ ./programs/dconf.nix ./programs/environment.nix ./programs/info.nix + ./programs/nano.nix ./programs/screen.nix ./programs/shadow.nix ./programs/shell.nix diff --git a/nixos/modules/programs/nano.nix b/nixos/modules/programs/nano.nix new file mode 100644 index 000000000000..b8803eec7be1 --- /dev/null +++ b/nixos/modules/programs/nano.nix @@ -0,0 +1,35 @@ +{ config, lib, ... }: + +let + cfg = config.programs.nano; +in + +{ + ###### interface + + options = { + programs.nano = { + + nanorc = lib.mkOption { + type = lib.types.lines; + default = ""; + description = '' + The system-wide nano configuration. + See <citerefentry><refentrytitle>nanorc</refentrytitle><manvolnum>5</manvolnum></citerefentry>. + ''; + example = '' + set nowrap + set tabstospaces + set tabsize 4 + ''; + }; + }; + }; + + ###### implementation + + config = lib.mkIf (cfg.nanorc != "") { + environment.etc."nanorc".text = cfg.nanorc; + }; + +} diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 4cdc1023baab..373afffd3fb5 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -97,8 +97,7 @@ in }: '' - source=${if source != "" then source else "$(PATH=$SETUID_PATH type -tP ${program})"} - if test -z "$source"; then + if ! source=${if source != "" then source else "$(PATH=$SETUID_PATH type -tP ${program})"}; then # If we can't find the program, fall back to the # system profile. source=/nix/var/nix/profiles/default/bin/${program} diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index b1bad956b4bb..2e5a70b3aa54 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -66,6 +66,9 @@ in PATH=$PATH:$i/bin:$i/sbin done + _status=0 + trap "_status=1" ERR + # Ensure a consistent umask. umask 0022 @@ -84,6 +87,8 @@ in # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system + + exit $_status ''; }; diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index 5083abd84489..c0d30346e568 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -152,6 +152,7 @@ if ($action eq "create") { my $root = "/var/lib/containers/$containerName"; my $profileDir = "/nix/var/nix/profiles/per-container/$containerName"; +my $gcRootsDir = "/nix/var/nix/gcroots/per-container/$containerName"; my $confFile = "/etc/containers/$containerName.conf"; die "$0: container ‘$containerName’ does not exist\n" if !-e $confFile; @@ -172,6 +173,7 @@ if ($action eq "destroy") { stopContainer if isContainerRunning; rmtree($profileDir) if -e $profileDir; + rmtree($gcRootsDir) if -e $gcRootsDir; rmtree($root) if -e $root; unlink($confFile) or die; } |