diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index c2b27dc..d0554cc 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -1,22 +1,8 @@ -{ - admin = import ./admin.nix; - backup = import ./backup.nix; - borgServer = import ./borg-server.nix; - ddns = import ./ddns.nix; - element = import ./element.nix; - fileShare = import ./fileShare.nix; - gitea = import ./gitea.nix; - headphones = import ./headphones.nix; - homepage = import ./homepage.nix; - miniflux = import ./miniflux.nix; - inputs = import ./inputs.nix; - nixpkgs = import ./nixpkgs.nix; - packages = import ./packages.nix; - secrets = import ./secrets.nix; - share = import ./share.nix; - steam = import ./steam.nix; - sway = import ./sway.nix; - vpnServer = import ./vpnServer.nix; - weechat = import ./weechat.nix; - yubikey = import ./yubikey.nix; -} +{ lib, ... }: +with lib; let + modules' = dir: filterAttrs (name: type: (name != "default.nix" && name != "profiles" && ((hasSuffix ".nix" name) || (type == "directory")))) + (builtins.readDir dir); + modules = dir: mapAttrs' (name: _: nameValuePair (removeSuffix ".nix" name) (import (dir + "/${name}"))) + (modules' dir); +in +(modules ./.) diff --git a/nixos/modules/gitea.nix b/nixos/modules/gitea.nix index f566024..f73ddc0 100644 --- a/nixos/modules/gitea.nix +++ b/nixos/modules/gitea.nix @@ -4,21 +4,27 @@ , ... }: let - cfg = config.dadada.gitea; + cfg = config.dadada.forgejo; in { - options.dadada.gitea = { - enable = lib.mkEnableOption "Enable gitea"; + options.dadada.forgejo = { + enable = lib.mkEnableOption "Enable forgejo"; }; config = lib.mkIf cfg.enable { - services.gitea = { + services.forgejo = { enable = true; - appName = "dadada Gitea"; + user = "gitea"; + group = "gitea"; + stateDir = "/var/lib/gitea"; + database = { type = "postgres"; + name = "gitea"; + user = "gitea"; }; settings = { + DEFAULT.APP_NAME = "dadada forgejo"; service = { DISABLE_REGISTRATION = true; }; @@ -50,15 +56,15 @@ in cache = { ENABLE = true; ADAPTER = "redis"; - HOST = "network=unix,addr=${config.services.redis.servers.gitea.unixSocket},db=0,pool_size=100,idle_timeout=180"; + HOST = "network=unix,addr=${config.services.redis.servers.forgejo.unixSocket},db=0,pool_size=100,idle_timeout=180"; }; }; }; services.redis = { - servers.gitea = { + servers.forgejo = { enable = true; - user = config.services.gitea.user; + user = config.services.forgejo.user; }; vmOverCommit = true; }; @@ -68,8 +74,17 @@ in forceSSL = true; locations."/".extraConfig = '' - proxy_pass http://unix:/run/gitea/gitea.sock:/; + proxy_pass http://unix:/run/forgejo/forgejo.sock:/; ''; }; + + users.users.gitea = { + home = "/var/lib/gitea"; + useDefaultShell = true; + group = "gitea"; + isSystemUser = true; + }; + + users.groups.gitea = { }; }; } diff --git a/nixos/surgat/configuration.nix b/nixos/surgat/configuration.nix index 1522855..9a9bc54 100644 --- a/nixos/surgat/configuration.nix +++ b/nixos/surgat/configuration.nix @@ -40,7 +40,7 @@ in }; dadada.element.enable = true; - dadada.gitea.enable = true; + dadada.forgejo.enable = true; dadada.miniflux.enable = true; dadada.weechat.enable = true; dadada.homepage.enable = true; diff --git a/outputs.nix b/outputs.nix index 11461ee..8199211 100644 --- a/outputs.nix +++ b/outputs.nix @@ -40,7 +40,7 @@ nixosConfigurations = import ./nixos/configurations.nix inputs; - nixosModules = import ./nixos/modules; + nixosModules = import ./nixos/modules { lib = nixpkgs.lib; }; overlays = import ./overlays.nix;