My NixOS dotfiles
0

Configure Feed

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

✨ Tangked

Simon R. - fantomitechno (Jun 30, 2026, 11:48 AM +0200) ba8bb9e3 c57eb7b2

+104 -24
+21
flake.nix
··· 29 29 inputs.nixpkgs.follows = "nixpkgs"; 30 30 }; 31 31 32 + # Homelab inputs 33 + 32 34 inputs.copyparty = { 33 35 url = "github:9001/copyparty?tag=v1.20.16"; 36 + inputs.nixpkgs.follows = "nixpkgs"; 37 + }; 38 + 39 + tangled = { 40 + url = "git+https://tangled.org/tangled.org/core?ref=refs/tags/v1.15.0-alpha"; 41 + inputs.nixpkgs.follows = "nixpkgs"; 42 + # Disable useless monorepo inputs 43 + inputs.actor-typeahead-src.follows = ""; 44 + inputs.fenix.follows = ""; 45 + inputs.htmx-src.follows = ""; 46 + inputs.htmx-ws-src.follows = ""; 47 + inputs.ibm-plex-mono-src.follows = ""; 48 + inputs.inter-fonts-src.follows = ""; 49 + inputs.lucide-src.follows = ""; 50 + inputs.mermaid-src.follows = ""; 51 + }; 52 + 53 + inputs.tranquil = { 54 + url = "git+https://tangled.org/tranquil.farm/tranquil-pds"; 34 55 inputs.nixpkgs.follows = "nixpkgs"; 35 56 }; 36 57 };
+1
hosts/fant0mib0t/default.nix
··· 11 11 ++ builtins.map (i: ../../modules/${i}) ([ 12 12 "caddy" 13 13 "radius" 14 + "tangled" 14 15 ]); 15 16 16 17 # Bootloader
+9
hosts/fant0mib0t/nfs.nix
··· 1 + { ... }: 2 + { 3 + fileSystems."/nas" = { 4 + device = "172.16.20.10:/data"; 5 + fsType = "nfs"; 6 + }; 7 + 8 + boot.supportedFilesystems = [ "nfs" ]; 9 + }
+16
modules/caddy/common
··· 1 + { 2 + email simon@renoux.dev 3 + } 4 + 5 + (logging) { 6 + log { 7 + output file /var/log/{args[0]}.log 8 + format console 9 + # level error 10 + } 11 + } 12 + 13 + @local_net client_ip 172.16.0.0/12 14 + @server_net client_ip 172.16.20.0/24 15 + @admin_net client_ip 172.16.10.0/24 16 + @guest_net client_ip 172.16.100.0/24
+3 -11
modules/caddy/conseil
··· 1 - { 2 - email simon@renoux.dev 3 - } 4 - 5 - (logging) { 6 - log { 7 - output file /var/log/{args[0]}.log 8 - format console 9 - # level error 10 - } 11 - } 1 + import common 12 2 13 3 conseil.renoux.dev { 14 4 respond "Welcome!" ··· 26 16 27 17 s3.fantom.internal { 28 18 import logging garage 19 + abort not @server_net 29 20 reverse_proxy 127.0.0.1:3900 { 30 21 header_up X-Forwarded-For {remote_host} 31 22 header_up X-Forwarded-Proto {scheme} ··· 34 25 35 26 s3.fantom.home { 36 27 import logging garage 28 + abort not @local_net 37 29 reverse_proxy 127.0.0.1:3901 { 38 30 header_up X-Forwarded-For {remote_host} 39 31 header_up X-Forwarded-Proto {scheme}
+3
modules/caddy/default.nix
··· 4 4 enableReload = true; 5 5 configFile = "${dotfileFolder}/modules/caddy/${hostname}"; 6 6 openFirewall = true; 7 + 8 + httpPort = 80; 9 + httpsPort = 443; 7 10 }; 8 11 }
+1 -11
modules/caddy/fant0mib0t
··· 1 - { 2 - email simon@renoux.dev 3 - } 4 - 5 - (logging) { 6 - log { 7 - output file /var/log/{args[0]}.log 8 - format console 9 - # level error 10 - } 11 - } 1 + import common 12 2 13 3 fant0mib0t.renoux.dev { 14 4 respond "Welcome!"
+3 -2
modules/ssh.nix
··· 1 - { ... }: { 1 + { lib, ... }: { 2 2 services.openssh = { 3 - enable = true; 3 + enable = lib.mkDefault true; 4 4 openFirewall = true; 5 5 settings = { 6 6 PasswordAuthentication = false; ··· 10 10 MaxAuthTries = 3; 11 11 PerSourcePenalties = "crash:3600s authfail:3600s max:86400s"; 12 12 }; 13 + ports = [ 22 ]; 13 14 }; 14 15 }
+7
modules/tangled/default.nix
··· 1 + { ... }: 2 + { 3 + imports = [ 4 + ./knot.nix 5 + ./spindle.nix 6 + ]; 7 + }
+25
modules/tangled/knot.nix
··· 1 + { flakes, ... }: { 2 + imports = [ 3 + flakes.inputs.tangled.nixosModules.knot 4 + ]; 5 + 6 + services = { 7 + tangled.knot = { 8 + enable = true; 9 + gitUser = "git"; 10 + stateDir = "/var/lib/tangled-knot"; 11 + repo.scanPath = "/nas/knot/repos"; 12 + motd = "mreoow"; 13 + server = { 14 + listenAddr = "127.0.0.1:4000"; 15 + hostname = "knot.fantomitechno.dev"; 16 + owner = "did:plc:q2leouakch2kg4ruldreunip"; 17 + }; 18 + }; 19 + 20 + openssh = { 21 + settings.AllowUsers = [ "git" ]; 22 + settings.AllowGroups = [ "git" ]; 23 + }; 24 + }; 25 + }
+15
modules/tangled/spindle.nix
··· 1 + { flakes, ... }: { 2 + imports = [ 3 + flakes.inputs.tangled.nixosModules.spindle 4 + ]; 5 + 6 + services.tangled.spindle = { 7 + enable = true; 8 + server = { 9 + listenAddr = "127.0.0.1:4001"; 10 + hostname = "spindle.fantomitechno.dev"; 11 + owner = "did:plc:q2leouakch2kg4ruldreunip"; 12 + }; 13 + pipelines.workflowTimeout = "10m"; 14 + }; 15 + }