nixos server configurations

add tangled knot/spindle

+48
+5
flake.nix
··· 5 5 6 6 sops-nix.url = "github:Mic92/sops-nix"; 7 7 sops-nix.inputs.nixpkgs.follows = "nixpkgs"; 8 + 9 + tangled.url = "git+https://tangled.org/tangled.org/core"; 10 + tangled.inputs.nixpkgs.follows = "nixpkgs"; 8 11 }; 9 12 outputs = 10 13 inputs@{ nixpkgs, ... }: ··· 15 18 modules = [ 16 19 ./servers/kuribo/configuration.nix 17 20 inputs.sops-nix.nixosModules.sops 21 + inputs.tangled.nixosModules.knot 22 + inputs.tangled.nixosModules.spindle 18 23 ]; 19 24 }; 20 25 };
+1
servers/kuribo/configuration.nix
··· 5 5 ../../modules/gc.nix 6 6 ../../users/users.nix 7 7 ./pds.nix 8 + ./tangled.nix 8 9 ]; 9 10 10 11 networking.hostName = "kuribo";
+42
servers/kuribo/tangled.nix
··· 1 + { config, ... }: 2 + let 3 + owner = "did:plc:tjgdahiw3u2djgnigyqeummg"; 4 + in 5 + { 6 + services.tangled = { 7 + # docs: https://tangled.org/tangled.org/core/blob/master/nix/modules/knot.nix 8 + knot = { 9 + enable = true; 10 + git = { 11 + userName = "Star Haven"; 12 + userEmail = "noreply@starhaven.dev"; 13 + }; 14 + server = { 15 + inherit owner; 16 + hostname = "knot.starhaven.dev"; 17 + }; 18 + }; 19 + 20 + # docs: https://tangled.org/tangled.org/core/blob/master/nix/modules/spindle.nix 21 + spindle = { 22 + enable = true; 23 + server = { 24 + inherit owner; 25 + hostname = "spindle.starhaven.dev"; 26 + }; 27 + }; 28 + }; 29 + 30 + services.caddy.virtualHosts = { 31 + ${config.services.tangled.knot.server.hostname} = { 32 + extraConfig = '' 33 + reverse_proxy http://${toString config.services.tangled.knot.server.listenAddr} 34 + ''; 35 + }; 36 + ${config.services.tangled.spindle.server.hostname} = { 37 + extraConfig = '' 38 + reverse_proxy http://${toString config.services.tangled.spindle.server.listenAddr} 39 + ''; 40 + }; 41 + }; 42 + }