configurations for my servers and desktops
nix nixos flake dots dotfiles

feat: tangled

+54
+4
flake.nix
··· 11 11 }; 12 12 mac-app-util.url = "github:hraban/mac-app-util"; 13 13 agenix.url = "github:ryantm/agenix"; 14 + tangled.url = "git+https://tangled.org/@tangled.org/core"; 14 15 }; 15 16 16 17 outputs = { ··· 19 20 home-manager, 20 21 mac-app-util, 21 22 agenix, 23 + tangled, 22 24 ... 23 25 }: { 24 26 darwinConfigurations = { ··· 62 64 ./hosts/bluepill 63 65 agenix.nixosModules.default 64 66 home-manager.nixosModules.home-manager 67 + tangled.nixosModules.knot 68 + tangled.nixosModules.spindle 65 69 ]; 66 70 }; 67 71
+1
hosts/bluepill-proxy/default.nix
··· 1 1 {pkgs, ...}: { 2 2 imports = [ 3 3 ./hardware.nix 4 + ./modules/caddy.nix 4 5 ]; 5 6 6 7 networking.hostName = "bluepill-proxy";
+27
hosts/bluepill-proxy/modules/caddy.nix
··· 1 + {...}: { 2 + services.caddy = { 3 + enable = true; 4 + virtualHosts = { 5 + "knot.devins.page" = { 6 + extraConfig = '' 7 + reverse_proxy http://100.108.47.83:5555 { 8 + header_up Host {http.request.host} 9 + header_up X-Real-IP {http.request.remote} 10 + header_up X-Forwarded-For {http.request.remote} 11 + header_up X-Forwarded-Proto {http.request.scheme} 12 + } 13 + ''; 14 + }; 15 + "spindle.devins.page" = { 16 + extraConfig = '' 17 + reverse_proxy http://100.108.47.83:6555 { 18 + header_up Host {http.request.host} 19 + header_up X-Real-IP {http.request.remote} 20 + header_up X-Forwarded-For {http.request.remote} 21 + header_up X-Forwarded-Proto {http.request.scheme} 22 + } 23 + ''; 24 + }; 25 + }; 26 + }; 27 + }
+1
hosts/bluepill/default.nix
··· 12 12 ./modules/restic.nix 13 13 ./modules/samba.nix 14 14 ./modules/slskd.nix 15 + ./modules/tangled.nix 15 16 ./modules/transmission.nix 16 17 ]; 17 18
+21
hosts/bluepill/modules/tangled.nix
··· 1 + {...}: { 2 + services = { 3 + tangled = { 4 + knot = { 5 + enable = true; 6 + stateDir = "/srv/knot"; 7 + server = { 8 + hostname = "knot.devins.page"; 9 + owner = "did:plc:3xpaniu6rs7fygzthgmtuv7c"; 10 + }; 11 + }; 12 + spindle = { 13 + enable = true; 14 + server = { 15 + hostname = "spindle.devins.page"; 16 + owner = "did:plc:3xpaniu6rs7fygzthgmtuv7c"; 17 + }; 18 + }; 19 + }; 20 + }; 21 + }