summary refs log tree commit diff
path: root/nixos/modules/system/activation
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-04-19 14:28:33 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-04-19 14:28:33 +0200
commit82535e0f8fc485db52ff976b9ef7d11096a8dfa3 (patch)
tree9cea0f3f77a4765f5e201ad7ed301b2d067ee55c /nixos/modules/system/activation
parentb03a2f9e9022f3e56bcf935eaa8d385bd1e5b374 (diff)
downloadnixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar.gz
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar.bz2
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar.lz
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar.xz
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.tar.zst
nixlib-82535e0f8fc485db52ff976b9ef7d11096a8dfa3.zip
switch-to-configuration: Check overrides.conf for X-* options
Diffstat (limited to 'nixos/modules/system/activation')
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl12
1 files changed, 7 insertions, 5 deletions
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index f8c1ab12ebfa..4cea0c5910c4 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -96,18 +96,19 @@ sub parseFstab {
 
 sub parseUnit {
     my ($filename) = @_;
-    parseKeyValues(read_file($filename));
+    my $info = {};
+    parseKeyValues($info, read_file($filename));
+    parseKeyValues($info, read_file("${filename}.d/overrides.conf")) if -f "${filename}.d/overrides.conf";
+    return $info;
 }
 
 sub parseKeyValues {
-    my @lines = @_;
-    my $info = {};
+    my $info = shift;
     foreach my $line (@_) {
         # FIXME: not quite correct.
         $line =~ /^([^=]+)=(.*)$/ or next;
         $info->{$1} = $2;
     }
-    return $info;
 }
 
 sub boolIsTrue {
@@ -362,7 +363,8 @@ while (my ($unit, $state) = each %{$activeNew}) {
     elsif ($state->{state} eq "auto-restart") {
         # A unit in auto-restart state is a failure *if* it previously failed to start
         my $lines = `@systemd@/bin/systemctl show '$unit'`;
-        my $info = parseKeyValues(split "\n", $lines);
+        my $info = {};
+        parseKeyValues($info, split("\n", $lines));
 
         if ($info->{ExecMainStatus} ne '0') {
             push @failed, $unit;