diff options
author | Gabriel Fontes <hi@m7.rs> | 2023-04-30 00:27:25 -0300 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-05-06 13:57:53 -0300 |
commit | 16b3b0c53b1ee8936739f8c588544e7fcec3fc60 (patch) | |
tree | 9b74f9c20948468882efead8e43a4f5a20df4c23 /nixos/modules/services/web-apps/kavita.nix | |
parent | e2854d332d34310763b60ade9d86bcedfac99e5c (diff) | |
download | nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar.gz nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar.bz2 nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar.lz nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar.xz nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.tar.zst nixlib-16b3b0c53b1ee8936739f8c588544e7fcec3fc60.zip |
nixos/tests/kavita: init
Diffstat (limited to 'nixos/modules/services/web-apps/kavita.nix')
-rw-r--r-- | nixos/modules/services/web-apps/kavita.nix | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/nixos/modules/services/web-apps/kavita.nix b/nixos/modules/services/web-apps/kavita.nix index 040737eb3b2d..e28b204f1bbe 100644 --- a/nixos/modules/services/web-apps/kavita.nix +++ b/nixos/modules/services/web-apps/kavita.nix @@ -12,12 +12,7 @@ in { description = lib.mdDoc "User account under which Kavita runs."; }; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.kavita; - defaultText = "pkgs.kavita"; - description = lib.mdDoc "Kavita package to use."; - }; + package = lib.mkPackageOptionMD pkgs "kavita" { }; dataDir = lib.mkOption { default = "/var/lib/kavita"; @@ -40,8 +35,8 @@ in { ipAdresses = lib.mkOption { default = ["0.0.0.0" "::"]; type = lib.types.listOf lib.types.str; - description = lib.mdDoc "IP Adresses to bind to. The default is to bind to all IPv4 - and IPv6 addresses."; + description = lib.mdDoc "IP Adresses to bind to. The default is to bind + to all IPv4 and IPv6 addresses."; }; }; @@ -51,7 +46,7 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; preStart = '' - mkdir -p "${cfg.dataDir}/config" + umask u=rwx,g=rx,o= cat > "${cfg.dataDir}/config/appsettings.json" <<EOF { "TokenKey": "$(cat ${cfg.tokenKeyFile})", @@ -59,7 +54,6 @@ in { "IpAddresses": "${lib.concatStringsSep "," cfg.ipAdresses}" } EOF - chmod 640 ${cfg.dataDir}/config/appsettings.json ''; serviceConfig = { WorkingDirectory = cfg.dataDir; @@ -69,13 +63,17 @@ in { }; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0750 ${cfg.user} ${cfg.user} - -" + "d '${cfg.dataDir}/config' 0750 ${cfg.user} ${cfg.user} - -" + ]; + users = { users.${cfg.user} = { description = "kavita service user"; isSystemUser = true; group = cfg.user; home = cfg.dataDir; - createHome = true; }; groups.${cfg.user} = { }; }; |