forgejo
This commit is contained in:
parent
a221f87b5c
commit
ee91921c9d
3 changed files with 17 additions and 31 deletions
6
flake.lock
generated
6
flake.lock
generated
|
@ -377,11 +377,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744735751,
|
"lastModified": 1744812667,
|
||||||
"narHash": "sha256-OPpfgL3qUIbQdbmp1/ZwnlsuTLooHN4or0EABnZTFRY=",
|
"narHash": "sha256-2AJZwXMO82YGw6B/RRCPz8Wz2zSRCZIdjhdFuiw7Ymg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "db7738e67a101ad945abbcb447e1310147afaf1b",
|
"rev": "5d48f3ded3b55ef32d5853c9022fb4df29b3fc45",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -75,6 +75,9 @@
|
||||||
gnupg
|
gnupg
|
||||||
util-linux
|
util-linux
|
||||||
git
|
git
|
||||||
|
forgejo
|
||||||
|
forgejo-cli
|
||||||
|
forgejo-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.emenel = {
|
users.users.emenel = {
|
||||||
|
|
|
@ -6,6 +6,7 @@ in
|
||||||
services = {
|
services = {
|
||||||
forgejo = {
|
forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.forgejo;
|
||||||
lfs = {
|
lfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
@ -61,33 +62,15 @@ in
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = let
|
# sops.secrets.forgejo-emenel.owner = "forgejo";
|
||||||
cfg = config.services.forgejo;
|
# systemd.services.forgejo.preStart = let
|
||||||
forgejo-cli = pkgs.writeScriptBin "forgejo-cli" ''
|
# adminCmd = "${lib.getExe pkgs.forgejo} admin user";
|
||||||
#!${pkgs.runtimeShell}
|
# pwd = config.sops.secrets.forgejo-emenel;
|
||||||
cd ${cfg.stateDir}
|
# user = "emenel"; # Note, Forgejo doesn't allow creation of an account named "admin"
|
||||||
sudo=exec
|
# in ''
|
||||||
if [[ "$USER" != forgejo ]]; then
|
# ${adminCmd} create --admin --email "matt@emenel.ca" --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||||
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} -g ${cfg.group} --preserve-env=GITEA_WORK_DIR --preserve-env=GITEA_CUSTOM'
|
# ## uncomment this line to change an admin user which was already created
|
||||||
fi
|
# # ${adminCmd} change-password --username ${user} --password "$(tr -d '\n' < ${pwd.path})" || true
|
||||||
# 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
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue