diff --git a/flake.lock b/flake.lock index 7cd2628..c538140 100644 --- a/flake.lock +++ b/flake.lock @@ -377,11 +377,11 @@ ] }, "locked": { - "lastModified": 1744735751, - "narHash": "sha256-OPpfgL3qUIbQdbmp1/ZwnlsuTLooHN4or0EABnZTFRY=", + "lastModified": 1744812667, + "narHash": "sha256-2AJZwXMO82YGw6B/RRCPz8Wz2zSRCZIdjhdFuiw7Ymg=", "owner": "nix-community", "repo": "home-manager", - "rev": "db7738e67a101ad945abbcb447e1310147afaf1b", + "rev": "5d48f3ded3b55ef32d5853c9022fb4df29b3fc45", "type": "github" }, "original": { diff --git a/hosts/emenel-services/configuration.nix b/hosts/emenel-services/configuration.nix index 38508c4..7cea8f5 100644 --- a/hosts/emenel-services/configuration.nix +++ b/hosts/emenel-services/configuration.nix @@ -75,6 +75,9 @@ gnupg util-linux git + forgejo + forgejo-cli + forgejo-cli ]; users.users.emenel = { diff --git a/modules/system/forgejo.nix b/modules/system/forgejo.nix index da3151e..de5bdc2 100644 --- a/modules/system/forgejo.nix +++ b/modules/system/forgejo.nix @@ -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 +# ''; }