NixOS configuration 🪄

✨ added spindle and orginzed some stuff

Signed-off-by: Xaiya Schumin <d.schumin@proton.me>

+55 -8
+6
modules/nixos/services/atprotocol/default.nix
··· 1 + { 2 + imports = [ 3 + ./knot.nix 4 + ./spindle.nix 5 + ]; 6 + }
+34
modules/nixos/services/atprotocol/spindle.nix
··· 1 + { inputs, lib, self, config, ... }: 2 + let 3 + inherit (lib) mkIf; 4 + 5 + inherit (self.lib.modules) mkPackageOpt; 6 + cfg = config.sylveon.services.atprotocol.tangled.knot; 7 + spindle = config.services.tangled.spindle; 8 + in 9 + { 10 + 11 + imports = [ inputs.tangled.nixosModules.spindle ]; 12 + options.sylveon.services.atprotocol.tangled.spindle = mkPackageOpt null "Tangled knot for git repos"; 13 + 14 + config = mkIf cfg.enable { 15 + services.tangled.spindle = { 16 + enable = true; 17 + 18 + server = { 19 + hostname = "spindle.xaiya.dev"; 20 + owner = "did:plc:mycafjhyplj5z7a6qi5qjcil"; # TODO: change if new PDS 21 + }; 22 + }; 23 + 24 + services.nginx.virtualHosts.${spindle.server.hostname} = { 25 + enableACME = true; 26 + forceSSL = true; 27 + 28 + locations."/".proxyPass = "http://127.0.0.1:6555"; 29 + extraConfig = "proxy_ssl_server_name on;"; 30 + }; 31 + 32 + # settings.firewall.allowedTCPPorts = [ 22 ]; # TODO: unsecure? 33 + }; 34 + }
+2 -1
modules/nixos/services/default.nix
··· 11 11 ./firefly.nix 12 12 ./glance 13 13 ./kitchenowl.nix 14 - ./knot.nix 14 + 15 + ./atprotocol 15 16 16 17 ./plex.nix 17 18 ];
+1 -1
modules/nixos/services/docker.nix
··· 17 17 config = mkIf cfg.enable { 18 18 virtualisation.docker = { 19 19 enable = true; 20 - storageDriver = "btrfs"; 20 + # storageDriver = "btrfs"; TODO: 0 // change if redoing apricot 21 21 22 22 rootless = { 23 23 enable = true;
+5 -4
modules/nixos/services/knot.nix modules/nixos/services/atprotocol/knot.nix
··· 3 3 inherit (lib) mkIf; 4 4 5 5 inherit (self.lib.modules) mkPackageOpt; 6 - cfg = config.sylveon.services.tangled.knot; 6 + cfg = config.sylveon.services.atprotocol.tangled.knot; 7 + knot = config.services.tangled.knot; 7 8 in 8 9 { 9 10 10 11 imports = [ inputs.tangled.nixosModules.knot ]; 11 - options.sylveon.services.tangled.knot = mkPackageOpt null "Tangled knot for git repos"; 12 + options.sylveon.services.atprotocol.tangled.knot = mkPackageOpt null "Tangled knot for git repos"; 12 13 13 14 config = mkIf cfg.enable { 14 15 services.tangled.knot = { ··· 20 21 }; 21 22 22 23 motd = '' 23 - >> Tangled Knot !! (owned by: ${config.services.tangled.knot.server.owner}) 24 + >> Tangled Knot !! (owned by: ${knot.server.owner}) 24 25 ''; 25 26 }; 26 27 27 - services.nginx.virtualHosts."knot.xaiya.dev" = { 28 + services.nginx.virtualHosts.${knot.server.hostname} = { 28 29 enableACME = true; 29 30 forceSSL = true; 30 31
+7 -2
systems/apricot/default.nix
··· 28 28 docker.enable = true; 29 29 30 30 vaultwarden.enable = true; 31 - # gitlab.enable = true; 32 31 glance.enable = true; 33 32 # firefly.enable = true; TODO 34 33 kitchenowl.enable = true; 35 - tangled.knot.enable = true; 34 + 35 + atprotocol = { 36 + tangled = { 37 + knot.enable = true; 38 + spindle.enable = true; 39 + }; 40 + }; 36 41 37 42 plex.enable = true; 38 43