diff options
author | worldofpeace <worldofpeace@protonmail.ch> | 2020-01-17 13:16:59 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-17 13:16:59 -0500 |
commit | b3c85349110f193d5b234b7855c400fccd26499d (patch) | |
tree | 6496730ba0462e622bcfe0c360a3b2cf095f5d54 /nixos/modules | |
parent | c80ebc9317fc20ca6b229214903ae990ec4d63bf (diff) | |
parent | 1c2e27e4d55d14f8a6d769eb9a27c0bc3c4f883e (diff) | |
download | nixpkgs-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.nix | 8 |
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 |