summaryrefslogtreecommitdiffstats
path: root/krebs/3modules/permown.nix
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/3modules/permown.nix')
-rw-r--r--krebs/3modules/permown.nix10
1 files changed, 6 insertions, 4 deletions
diff --git a/krebs/3modules/permown.nix b/krebs/3modules/permown.nix
index a3b49b303..0f2ba86c8 100644
--- a/krebs/3modules/permown.nix
+++ b/krebs/3modules/permown.nix
@@ -35,7 +35,7 @@ with import <stockholm/lib>;
config = let
plans = attrValues config.krebs.permown;
- in mkIf (plans != {}) {
+ in mkIf (plans != []) {
system.activationScripts.permown = let
mkdir = plan: /* sh */ ''
@@ -61,7 +61,7 @@ with import <stockholm/lib>;
ExecStart = pkgs.writeDash "permown" ''
set -efu
- find "$ROOT_PATH" -exec chown "$OWNER_GROUP" {} +
+ find "$ROOT_PATH" -exec chown -h "$OWNER_GROUP" {} +
find "$ROOT_PATH" -type d -exec chmod "$DIR_MODE" {} +
find "$ROOT_PATH" -type f -exec chmod "$FILE_MODE" {} +
@@ -70,8 +70,10 @@ with import <stockholm/lib>;
if test -d "$path"; then
exec "$0" "$@"
fi
- chown "$OWNER_GROUP" "$path"
- chmod "$FILE_MODE" "$path"
+ chown -h "$OWNER_GROUP" "$path"
+ if test -f "$path"; then
+ chmod "$FILE_MODE" "$path"
+ fi
done
'';
Restart = "always";