X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fwebapps%2Fdiaspora.nix;h=d9e9989f1b3afed5c28fd4d6a4c8a930e610a73f;hb=ce95026934c4ea8c647365f68eb195459fcdff08;hp=226633202792a24bb08345a1d07436754a223803;hpb=81b9ff8980a9a235b8915b5779ebc1d2a738a9a3;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/webapps/diaspora.nix b/modules/webapps/diaspora.nix index 2266332..d9e9989 100644 --- a/modules/webapps/diaspora.nix +++ b/modules/webapps/diaspora.nix @@ -108,19 +108,21 @@ in }; config = lib.mkIf cfg.enable { - users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { - inherit name; - inherit uid; - group = cfg.group; - description = "Diaspora user"; - home = cfg.dataDir; - packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ]; - useDefaultShell = true; - }); - users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { - inherit name; - inherit gid; - }); + users.users = lib.optionalAttrs (cfg.user == name) { + "${name}" = { + inherit uid; + group = cfg.group; + description = "Diaspora user"; + home = cfg.dataDir; + packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ]; + useDefaultShell = true; + }; + }; + users.groups = lib.optionalAttrs (cfg.group == name) { + "${name}" = { + inherit gid; + }; + }; systemd.services.diaspora = { description = "Diaspora"; @@ -141,6 +143,11 @@ in path = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby pkgs.curl pkgs.which pkgs.gawk ]; preStart = '' + install -m 0755 -d ${cfg.dataDir}/uploads ${cfg.dataDir}/tmp ${cfg.dataDir}/log + install -m 0700 -d ${cfg.dataDir}/tmp/pids + if [ ! -f ${cfg.dataDir}/schedule.yml ]; then + echo "{}" > ${cfg.dataDir}/schedule.yml + fi ./bin/bundle exec rails db:migrate ''; @@ -162,18 +169,5 @@ in unitConfig.RequiresMountsFor = cfg.dataDir; }; - - system.activationScripts.diaspora = { - deps = [ "users" ]; - text = '' - install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}/uploads \ - ${cfg.dataDir}/tmp ${cfg.dataDir}/log - install -m 0700 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}/tmp/pids - if [ ! -f ${cfg.dataDir}/schedule.yml ]; then - echo "{}" | $wrapperDir/sudo -u ${cfg.user} tee ${cfg.dataDir}/schedule.yml - fi - ''; - }; - }; }