summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2022-01-30 10:47:23 +0100
committerlassulus <lassulus@lassul.us>2022-01-30 11:22:09 +0100
commit100b6fc2438db6ca2c7abe0ad525be3b1dd64895 (patch)
treeedd2839758d8c5246622a999abb804230798d66c /lass
parent1fe702a0830ab1065bd993005b1230336cff7c62 (diff)
move acl module to krebs
Diffstat (limited to 'lass')
-rw-r--r--lass/2configs/sync/the_playlist.nix6
-rw-r--r--lass/3modules/acl.nix55
-rw-r--r--lass/3modules/default.nix1
3 files changed, 3 insertions, 59 deletions
diff --git a/lass/2configs/sync/the_playlist.nix b/lass/2configs/sync/the_playlist.nix
index 5bbf790a7..d8b17d239 100644
--- a/lass/2configs/sync/the_playlist.nix
+++ b/lass/2configs/sync/the_playlist.nix
@@ -3,7 +3,7 @@
path = "/home/lass/tmp/the_playlist";
devices = [ "mors" "phone" "prism" ];
};
- lass.acl."/home/lass/tmp/the_playlist"."u:syncthing:X".parents = true;
- lass.acl."/home/lass/tmp/the_playlist"."u:syncthing:rwX" = {};
- lass.acl."/home/lass/tmp/the_playlist"."u:lass:rwX" = {};
+ krebs.acl."/home/lass/tmp/the_playlist"."u:syncthing:X".parents = true;
+ krebs.acl."/home/lass/tmp/the_playlist"."u:syncthing:rwX" = {};
+ krebs.acl."/home/lass/tmp/the_playlist"."u:lass:rwX" = {};
}
diff --git a/lass/3modules/acl.nix b/lass/3modules/acl.nix
deleted file mode 100644
index 81eeae920..000000000
--- a/lass/3modules/acl.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ config, lib, pkgs, ... }: let
- parents = dir:
- if dir == "/" then
- [ dir ]
- else
- [ dir ] ++ parents (builtins.dirOf dir)
- ;
-in {
- options.lass.acl = lib.mkOption {
- type = lib.types.attrsOf (lib.types.attrsOf (lib.types.submodule ({ config, ... }: {
- options = {
- rule = lib.mkOption {
- type = lib.types.str;
- default = config._module.args.name;
- };
- default = lib.mkOption {
- type = lib.types.bool;
- default = !config.parents;
- };
- recursive = lib.mkOption {
- type = lib.types.bool;
- default = !config.parents;
- };
- parents = lib.mkOption {
- type = lib.types.bool;
- default = false;
- description = ''
- apply ACL to every parent folder
- '';
- };
- };
- })));
- default = {};
- };
- config = lib.mkIf (config.lass.acl != {}) {
- systemd.services = lib.mapAttrs' (path: rules: lib.nameValuePair "acl-${lib.replaceChars ["/"] ["_"] path}" {
- wantedBy = [ "multi-user.target" ];
- path = [
- pkgs.acl
- pkgs.coreutils
- ];
- serviceConfig = {
- ExecStart = pkgs.writers.writeDash "acl" (lib.concatStrings (
- lib.mapAttrsToList (_: rule: ''
- setfacl -${lib.optionalString rule.recursive "R"}m ${rule.rule} ${path}
- ${lib.optionalString rule.default "setfacl -${lib.optionalString rule.recursive "R"}dm ${rule.rule} ${path}"}
- ${lib.optionalString rule.parents (lib.concatMapStringsSep "\n" (folder: "setfacl -m ${rule.rule} ${folder}") (parents path))}
- '') rules
- ));
- RemainAfterExit = true;
- Type = "simple";
- };
- }) config.lass.acl;
- };
-}
diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix
index 0373bd44c..570bb45be 100644
--- a/lass/3modules/default.nix
+++ b/lass/3modules/default.nix
@@ -1,7 +1,6 @@
_:
{
imports = [
- ./acl.nix
./dnsmasq.nix
./folderPerms.nix
./hosts.nix