forgejo
This commit is contained in:
parent
a221f87b5c
commit
ee91921c9d
3 changed files with 17 additions and 31 deletions
|
@ -6,6 +6,7 @@ in
|
|||
services = {
|
||||
forgejo = {
|
||||
enable = true;
|
||||
package = pkgs.forgejo;
|
||||
lfs = {
|
||||
enable = true;
|
||||
};
|
||||
|
@ -61,33 +62,15 @@ in
|
|||
# };
|
||||
};
|
||||
|
||||
environment.systemPackages = let
|
||||
cfg = config.services.forgejo;
|
||||
forgejo-cli = pkgs.writeScriptBin "forgejo-cli" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
cd ${cfg.stateDir}
|
||||
sudo=exec
|
||||
if [[ "$USER" != forgejo ]]; then
|
||||
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} -g ${cfg.group} --preserve-env=GITEA_WORK_DIR --preserve-env=GITEA_CUSTOM'
|
||||
fi
|
||||
# Note that these variable names will change
|
||||
export GITEA_WORK_DIR=${cfg.stateDir}
|
||||
export GITEA_CUSTOM=${cfg.customDir}
|
||||
$sudo ${lib.getExe cfg.package} "$@"
|
||||
'';
|
||||
in [
|
||||
forgejo-cli
|
||||
];
|
||||
|
||||
sops.secrets.forgejo-emenel.owner = "forgejo";
|
||||
systemd.services.forgejo.preStart = let
|
||||
adminCmd = "${lib.getExe pkgs.forgejo} admin user";
|
||||
pwd = config.sops.secrets.forgejo-emenel;
|
||||
user = "emenel"; # Note, Forgejo doesn't allow creation of an account named "admin"
|
||||
in ''
|
||||
${adminCmd} create --admin --email "matt@emenel.ca" --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||
## uncomment this line to change an admin user which was already created
|
||||
# ${adminCmd} change-password --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||
'';
|
||||
# sops.secrets.forgejo-emenel.owner = "forgejo";
|
||||
# systemd.services.forgejo.preStart = let
|
||||
# adminCmd = "${lib.getExe pkgs.forgejo} admin user";
|
||||
# pwd = config.sops.secrets.forgejo-emenel;
|
||||
# user = "emenel"; # Note, Forgejo doesn't allow creation of an account named "admin"
|
||||
# in ''
|
||||
# ${adminCmd} create --admin --email "matt@emenel.ca" --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||
# ## uncomment this line to change an admin user which was already created
|
||||
# # ${adminCmd} change-password --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||
# '';
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue