HASH 338e3a25a1da
DATE 2025-01-12
SUBJECT forgejo: add forgejo cli script
FILES 1 CHANGED
HASH 338e3a25a1da
DATE 2025-01-12
SUBJECT forgejo: add forgejo cli script
FILES 1 CHANGED
┌─ modules/nixos/server/services/forgejo/default.nix ────────────────────────┐
│ diff --git a/modules/nixos/server/services/forgejo/default.nix b/modules/nixos/ser │
│ ver/services/forgejo/default.nix │
│ index c31731a..7cfd06e 100644 │
│ --- a/modules/nixos/server/services/forgejo/default.nix │
│ +++ b/modules/nixos/server/services/forgejo/default.nix │
│ @@ -1,10 +1,11 @@ │
│ { │
│ config, │
│ lib, │
│ + pkgs, │
│ ... │
│ }: let │
│ inherit (config.ooknet.server) services domain; │
│ - inherit (lib) mkIf elem; │
│ + inherit (lib) mkIf elem getExe; │
│ in { │
│ config = mkIf (elem "forgejo" services) { │
│ networking.firewall.allowedTCPPorts = [2222]; │
│ @@ -62,5 +63,24 @@ in { │
│ ''; │
│ }; │
│ }; │
│ + # credit to TLATER │
│ + # https://discourse.nixos.org/t/how-to-access-forgejo-cli/45370 │
│ + 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} --pres │
│ erve-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 ${getExe cfg.package} "$@" │
│ + ''; │
│ + in [ │
│ + forgejo-cli │
│ + ]; │
│ }; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../services/forgejo/default.nix ───┐
│ diff --git a/modules/nixos/server/services/f │
│ orgejo/default.nix b/modules/nixos/server/se │
│ rvices/forgejo/default.nix │
│ index c31731a..7cfd06e 100644 │
│ --- a/modules/nixos/server/services/forgejo/ │
│ default.nix │
│ +++ b/modules/nixos/server/services/forgejo/ │
│ default.nix │
│ @@ -1,10 +1,11 @@ │
│ { │
│ config, │
│ lib, │
│ + pkgs, │
│ ... │
│ }: let │
│ inherit (config.ooknet.server) services d │
│ omain; │
│ - inherit (lib) mkIf elem; │
│ + inherit (lib) mkIf elem getExe; │
│ in { │
│ config = mkIf (elem "forgejo" services) { │
│ networking.firewall.allowedTCPPorts = [ │
│ 2222]; │
│ @@ -62,5 +63,24 @@ in { │
│ ''; │
│ }; │
│ }; │
│ + # credit to TLATER │
│ + # https://discourse.nixos.org/t/how-to- │
│ access-forgejo-cli/45370 │
│ + environment.systemPackages = let │
│ + cfg = config.services.forgejo; │
│ + forgejo-cli = pkgs.writeScriptBin "fo │
│ rgejo-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-e │
│ nv=GITEA_WORK_DIR --preserve-env=GITEA_CUSTO │
│ M' │
│ + fi │
│ + # Note that these variable names wi │
│ ll change │
│ + export GITEA_WORK_DIR=${cfg.stateDi │
│ r} │
│ + export GITEA_CUSTOM=${cfg.customDir │
│ } │
│ + $sudo ${getExe cfg.package} "$@" │
│ + ''; │
│ + in [ │
│ + forgejo-cli │
│ + ]; │
│ }; │
│ } │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET