summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2020-01-17 13:16:59 -0500
committerGitHub <noreply@github.com>2020-01-17 13:16:59 -0500
commitb3c85349110f193d5b234b7855c400fccd26499d (patch)
tree6496730ba0462e622bcfe0c360a3b2cf095f5d54 /nixos/modules
parentc80ebc9317fc20ca6b229214903ae990ec4d63bf (diff)
parent1c2e27e4d55d14f8a6d769eb9a27c0bc3c4f883e (diff)
downloadnixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar.gz
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar.bz2
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar.lz
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar.xz
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.tar.zst
nixpkgs-b3c85349110f193d5b234b7855c400fccd26499d.zip
Merge pull request #77294 from worldofpeace/systemd-packages-duplicates
nixos/systemd-lib: don't fail on systemd.packages duplicates
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix8
1 files changed, 7 insertions, 1 deletions
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index 28ad4f121bb..fd1a5b9f62c 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -147,7 +147,13 @@ in rec {
       done
 
       # Symlink all units provided listed in systemd.packages.
-      for i in ${toString cfg.packages}; do
+      packages="${toString cfg.packages}"
+
+      # Filter duplicate directories
+      declare -A unique_packages
+      for k in $packages ; do unique_packages[$k]=1 ; done
+
+      for i in ''${!unique_packages[@]}; do
         for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do
           if ! [[ "$fn" =~ .wants$ ]]; then
             if [[ -d "$fn" ]]; then