Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Set up spindle

+38 -3
+2
host-specific/misaki/coredns/packetlost.dev.hosts
··· 3 3 192.168.1.3 plex.packetlost.dev 4 4 192.168.1.3 jellyfin.packetlost.dev 5 5 192.168.1.3 nats.packetlost.dev 6 + 192.168.1.3 spindle.packetlost.dev 6 7 7 8 # LAN Hosts 8 9 192.168.1.3 misaki.packetlost.dev misaki ··· 12 13 fe80::9ab7:85ff:fe1e:dfe8 plex.packetlost.dev plex 13 14 fe80::9ab7:85ff:fe1e:dfe8 jellyfin.packetlost.dev jellyfin 14 15 fe80::9ab7:85ff:fe1e:dfe8 nats.packetlost.dev nats 16 + fe80::9ab7:85ff:fe1e:dfe8 spindle.packetlost.dev spindle 15 17 192.168.1.6 rainbow.packetlost.dev rainbow 16 18 192.168.1.10 ichika.packetlost.dev ichika 17 19 192.168.1.11 futaba.packetlost.dev futaba
+10 -1
host-specific/misaki/services.nix
··· 9 9 10 10 imports = [ 11 11 inputs.tangled.nixosModules.knot 12 - inputs.tangled.nixosModules.spindle 13 12 ]; 14 13 15 14 services.zfs = { ··· 534 533 "plex.packetlost.dev" 535 534 "img.ngp.computer" 536 535 "knot.packetlost.dev" 536 + "spindle.packetlost.dev" 537 537 "files.ngp.computer" 538 538 "cache.ngp.computer" 539 539 "photos.ngp.computer" ··· 827 827 acmeRoot = null; 828 828 http2 = true; 829 829 locations."/".proxyPass = "http://${config.services.tangled.knot.server.listenAddr}"; 830 + }; 831 + virtualHosts."spindle.packetlost.dev" = { 832 + forceSSL = true; 833 + enableACME = true; 834 + acmeRoot = null; 835 + http2 = true; 836 + # Spindle itself runs on Odin; Misaki only terminates TLS publicly. 837 + locations."/".proxyPass = "http://192.168.1.6:6555"; 838 + locations."/".proxyWebsockets = true; 830 839 }; 831 840 virtualHosts."id.ngp.computer" = { 832 841 forceSSL = true;
+3 -1
host-specific/odin/networking.nix
··· 31 31 allowedUDPPorts = [ ]; 32 32 allowedUDPPortRanges = [ ]; 33 33 allowedTCPPorts = [ 34 - 2375 35 34 3000 36 35 ]; 36 + extraInputRules = '' 37 + ip saddr 192.168.1.3 tcp dport 6555 accept 38 + ''; 37 39 }; 38 40 39 41 services.avahi = {
+23 -1
host-specific/odin/services.nix
··· 1 - { config, pkgs, ... }: 1 + { 2 + config, 3 + pkgs, 4 + inputs, 5 + ... 6 + }: 2 7 { 8 + imports = [ 9 + inputs.tangled.nixosModules.spindle 10 + ]; 11 + 3 12 # Some programs need SUID wrappers, can be configured further or are 4 13 # started in user sessions. 5 14 # programs.mtr.enable = true; ··· 59 68 storageDriver = "overlay2"; 60 69 }; 61 70 }; 71 + 72 + services.tangled.spindle = { 73 + enable = true; 74 + server = { 75 + hostname = "spindle.packetlost.dev"; 76 + owner = "did:plc:hjp23blu4y7bgf7zrzhzdemi"; 77 + }; 78 + pipelines = { 79 + nixery = "localhost:${toString config.services.nixery.port}"; 80 + logBucket = ""; 81 + }; 82 + }; 83 + 62 84 age.secrets.coder_client_secret = { 63 85 file = ../../secrets/coder-client-secret.age; 64 86 owner = "coder";