about summary refs log tree commit diff
path: root/nixos/modules/security/apparmor.nix
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@higgsboson.tk>2017-01-10 22:47:23 +0100
committerJörg Thalheim <joerg@higgsboson.tk>2017-01-10 23:01:03 +0100
commit30a554acfbb8421300dc835761e0e3a51bd7d718 (patch)
tree4fa32dbff5dda1b53bd04992b15f1410ecc7cf3b /nixos/modules/security/apparmor.nix
parent3aca77a7f24f8c4e11dc4ef2a9a596e4d84b774d (diff)
downloadnixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar.gz
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar.bz2
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar.lz
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar.xz
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.tar.zst
nixlib-30a554acfbb8421300dc835761e0e3a51bd7d718.zip
apparmor: support for lxc profiles
Diffstat (limited to 'nixos/modules/security/apparmor.nix')
-rw-r--r--nixos/modules/security/apparmor.nix18
1 files changed, 13 insertions, 5 deletions
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix
index 202639f98701..d323a158a4df 100644
--- a/nixos/modules/security/apparmor.nix
+++ b/nixos/modules/security/apparmor.nix
@@ -18,22 +18,30 @@ in
          default = [];
          description = "List of files containing AppArmor profiles.";
        };
+       packages = mkOption {
+         type = types.listOf types.package;
+         default = [];
+         description = "List of packages to be added to apparmor's include path";
+       };
      };
    };
 
    config = mkIf cfg.enable {
      environment.systemPackages = [ pkgs.apparmor-utils ];
 
-     systemd.services.apparmor = {
+     systemd.services.apparmor = let
+       paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
+         ([ pkgs.apparmor-profiles ] ++ cfg.packages);
+     in {
        wantedBy = [ "local-fs.target" ];
        serviceConfig = {
          Type = "oneshot";
          RemainAfterExit = "yes";
-         ExecStart = concatMapStrings (p:
-           ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
+         ExecStart = map (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv ${paths} "${p}"''
          ) cfg.profiles;
-         ExecStop = concatMapStrings (p:
-           ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
+         ExecStop = map (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
          ) cfg.profiles;
        };
      };