Personal-use NixOS configuration
0
fork

Configure Feed

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

Get some stuff working

encode42 cd537b41 e7adf175

+74 -16
+1 -1
hosts/index/config/media/navidrome.nix
··· 22 22 services.navidrome = { 23 23 settings = { 24 24 DataFolder = "/mnt/apps/navidrome"; 25 - MusicFolder = "/mnt/data/media/Music"; # TODO 25 + MusicFolder = "/mnt/data/media/Music"; 26 26 }; 27 27 28 28 environmentFile = "/mnt/apps/navidrome/navidrome.env";
+30
hosts/index/config/nfs.nix
··· 1 + { flakeRoot, ... }: 2 + 3 + { 4 + imports = [ 5 + (flakeRoot + /modules/server/nfs.nix) 6 + ]; 7 + 8 + services.nfs.server = { 9 + nproc = 16; 10 + }; 11 + 12 + fileSystems."/export/media" = { 13 + depends = [ 14 + "/mnt/data" 15 + ]; 16 + 17 + device = "/mnt/data/media"; 18 + fsType = "none"; 19 + 20 + options = [ 21 + "bind" 22 + "x-systemd.requires=zfs-mount.service" 23 + ]; 24 + }; 25 + 26 + services.nfs.server.exports = '' 27 + /export *(fsid=0,ro,insecure) 28 + /export/media *(rw,insecure,async,no_subtree_check,nohide,all_squash,anonuid=974,anongid=442) 29 + ''; 30 + }
+2
hosts/index/config/web/searx.nix
··· 31 31 32 32 server = { 33 33 base_url = "https://${host}"; 34 + 35 + secret_key = "@SEARXNG_SECRET@"; 34 36 }; 35 37 }; 36 38 };
+12 -10
hosts/index/default.nix
··· 15 15 (flakeRoot + /modules/common) 16 16 (flakeRoot + /modules/common/boot/systemd-boot.nix) 17 17 18 - #(flakeRoot + /modules/server/nfs.nix) 19 18 (flakeRoot + /modules/server/openssh.nix) 19 + 20 + (flakeRoot + /packages/server/iperf.nix) 20 21 21 22 ./config/zfs.nix 23 + ./config/nfs.nix 22 24 23 - #./config/databases/mysql.nix 24 - #./config/databases/postgresql.nix 25 + ./config/databases/mysql.nix 26 + ./config/databases/postgresql.nix 25 27 26 - #./config/groupware/maddy.nix 28 + ./config/groupware/maddy.nix 27 29 28 30 #./config/media/audiobookshelf.nix 29 31 #./config/media/emby.nix 30 - #./config/media/navidrome.nix 32 + ./config/media/navidrome.nix 31 33 32 34 #./config/torrenting/rtorrent.nix 33 35 #./config/torrenting/soulseek.nix 34 36 35 - #./config/web/caddy.nix 36 - #./config/web/forgejo.nix 37 - #./config/web/miniflux.nix 38 - #./config/web/searx.nix 39 - #./config/web/vaultwarden.nix 37 + ./config/web/caddy.nix 38 + ./config/web/forgejo.nix 39 + ./config/web/miniflux.nix 40 + ./config/web/searx.nix 41 + ./config/web/vaultwarden.nix 40 42 #./config/web/wakapi.nix 41 43 42 44 ./users
+4
hosts/index/users/default.nix
··· 6 6 7 7 ./encode42.nix 8 8 ]; 9 + 10 + users.groups.media = { 11 + gid = 442; 12 + }; 9 13 }
+3 -1
hosts/index/users/encode42.nix
··· 15 15 ../homes/encode42.nix 16 16 ]; 17 17 18 - home.stateVersion = "24.11"; 18 + home.stateVersion = "25.05"; 19 19 }; 20 20 21 21 users.users.encode42.extraGroups = [ 22 22 "wheel" 23 23 "cdrom" 24 24 "optical" 25 + 26 + "media" 25 27 ]; 26 28 }
+2
modules/server/nfs.nix
··· 9 9 ]; 10 10 in 11 11 { 12 + services.rpcbind.enable = true; 13 + 12 14 services.nfs.server = { 13 15 enable = true; 14 16
+6 -1
packages/server/caddy/default.nix
··· 24 24 "github.com/BadAimWeeb/caddy-uwsgi-transport@v0.0.0-20240317192154-74a1008b9763" 25 25 ]; 26 26 27 - hash = "sha256-THbBk1z14F6LhsI8feUgZxCPIFehLXlNkpxidl0soYc="; 27 + hash = "sha256-LbqG168rWLMtNY0dQcedZiKuXkR6cLLNRf3S/F9dV7Y="; 28 28 }; 29 29 }; 30 + 31 + networking.firewall.allowedTCPPorts = [ 32 + 80 33 + 443 34 + ]; 30 35 }
+1 -1
packages/server/caddy/modules/ssl.nix
··· 4 4 ''; 5 5 6 6 cloudflare = '' 7 - tls = { 7 + tls { 8 8 dns cloudflare {env.CF_API_TOKEN} 9 9 10 10 resolvers 1.1.1.1
+7
packages/server/iperf.nix
··· 1 + { 2 + services.iperf3 = { 3 + enable = true; 4 + 5 + openFirewall = true; 6 + }; 7 + }
+2
packages/server/media/navidrome.nix
··· 64 64 services.caddy.virtualHosts = flakeLib.mkProxies hosts '' 65 65 reverse_proxy unix/${socket} 66 66 ''; 67 + 68 + users.users.caddy.extraGroups = [ config.users.users.navidrome.group ]; 67 69 }
+2
packages/server/web/searx.nix
··· 508 508 header_up X-Real-IP {http.request.header.CF-Connecting-IP} 509 509 } 510 510 ''; 511 + 512 + users.users.caddy.extraGroups = [ config.users.users.searx.group ]; 511 513 }
+2 -2
packages/server/web/vaultwarden.nix
··· 55 55 56 56 EXTENDED_LOGGING = false; 57 57 58 - ROCKET_ADDRESS = "unix:${socket}"; 58 + ROCKET_ADDRESS = "127.0.0.1"; # "unix:${socket}"; Supposedly, this is supported. However, it is not. 59 59 DATABASE_URL = "postgresql:///vaultwarden?host=/run/postgresql"; 60 60 }; 61 61 ··· 63 63 }; 64 64 65 65 services.caddy.virtualHosts = flakeLib.mkProxies hosts '' 66 - reverse_proxy unix/${socket} 66 + reverse_proxy :8000 # unix/${socket} 67 67 ''; 68 68 }