diff --git a/flake.lock b/flake.lock index bd903d6..0ce872c 100644 --- a/flake.lock +++ b/flake.lock @@ -83,11 +83,11 @@ ] }, "locked": { - "lastModified": 1750974272, - "narHash": "sha256-VaeQzSzekMvP+/OhwNZP4kzs4paWk5+20N0MFLTn+cs=", + "lastModified": 1751740947, + "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "dd921421391e75793d0cc674dc15eca16b46a089", + "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", "type": "github" }, "original": { @@ -101,11 +101,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1751463132, - "narHash": "sha256-eKbIZwTsl+Rbkj4coSZETlcTbmVbegN1nCKJ7059p88=", + "lastModified": 1751880463, + "narHash": "sha256-aSQllMKqsTYAUp4yhpspZn0Hj5yIj7Mh4UD5iyk5iMM=", "owner": "catppuccin", "repo": "nix", - "rev": "a682f7033678ea093c42c5e361975af5988aa3de", + "rev": "9474347c69e93e392f194dda7a57c641ba4b998e", "type": "github" }, "original": { @@ -179,11 +179,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -337,11 +337,11 @@ ] }, "locked": { - "lastModified": 1751463936, - "narHash": "sha256-kS8p1QgyFO/95BHSsZMpBs8oRh1bklAd/zzpWhF6ODk=", + "lastModified": 1751990210, + "narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d243d4a16cafe855df585b3030aa99261a27a86", + "rev": "218da00bfa73f2a61682417efe74549416c16ba6", "type": "github" }, "original": { @@ -355,11 +355,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1750372088, - "narHash": "sha256-LPwgPRBTfnA76rHUr7KYvwq2pNt5IfxymNAZUJFvn/M=", + "lastModified": 1751715349, + "narHash": "sha256-cP76ijtfGTFTpWFfmyFHA2MpDlIyKpWwW82kqQSQ6s0=", "owner": "hyprwm", "repo": "contrib", - "rev": "189f32f56285aae9646bf1292976392beba5a2e2", + "rev": "dafa5d09b413d08a55a81f6f8e85775d717bacda", "type": "github" }, "original": { @@ -413,11 +413,11 @@ ] }, "locked": { - "lastModified": 1750621377, - "narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=", + "lastModified": 1751808145, + "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310", + "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", "type": "github" }, "original": { @@ -444,11 +444,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1751404714, - "narHash": "sha256-U2EbKyeRJmJp54AxAt426vVdznrMkCgUiGuv0OSnPJs=", + "lastModified": 1751995875, + "narHash": "sha256-oGufLuYzFSdLP6fUSLsIm2m4QscfTPbRT1fzQTdkw4M=", "ref": "refs/heads/main", - "rev": "90c8609cbb5ae7b488d7b14b4dfb3ec9585ed2b7", - "revCount": 6239, + "rev": "9517d0eaa4ef93de67dc80fecca7a826f7ad556d", + "revCount": 6256, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -636,11 +636,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1751122848, - "narHash": "sha256-IJxNuudvBX+3WJpqG16DBaM6aDwgWAU9PchGYHSXoZM=", + "lastModified": 1751567624, + "narHash": "sha256-tUVODSZhvafXmuN+5SwZpNWV+2cvhSd+5IJ5TXu3YgI=", "owner": "hyprwm", "repo": "hyprsunset", - "rev": "845f7e8e86cac5023cad4dc446fc120be80fe69a", + "rev": "4b2f0f9f46a6552930eecb979d18ac48d7079312", "type": "github" }, "original": { @@ -661,11 +661,11 @@ ] }, "locked": { - "lastModified": 1751061882, - "narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=", + "lastModified": 1751888065, + "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "4737241eaf8a1e51671a2a088518071f9a265cf4", + "rev": "a8229739cf36d159001cfc203871917b83fdf917", "type": "github" }, "original": { @@ -736,11 +736,11 @@ ] }, "locked": { - "lastModified": 1750371869, - "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=", + "lastModified": 1751881472, + "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd", + "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", "type": "github" }, "original": { @@ -835,11 +835,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1751421595, - "narHash": "sha256-6uvHT496bu8b/UhTY86NnrbU2fzuqNkgHCHi1T3LLog=", + "lastModified": 1752026525, + "narHash": "sha256-uCkk6qnQFNKJh0wwpeN/B/S27834c0DpBSK/Frovvyo=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "cb4f76b2b304c07237bc7c2f81926b645a216021", + "rev": "9d902f4f96cba7226f242045a5605b1ffcf18cd4", "type": "github" }, "original": { @@ -881,11 +881,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "lastModified": 1751159883, + "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", "type": "github" }, "original": { @@ -927,11 +927,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -1023,11 +1023,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1750994206, - "narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=", + "lastModified": 1751625545, + "narHash": "sha256-4E7wWftF1ExK5ZEDzj41+9mVgxtuRV3wWCId7QAYMAU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf", + "rev": "c860cf0b3a0829f0f6cf344ca8de83a2bbfab428", "type": "github" }, "original": { @@ -1039,11 +1039,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -1112,15 +1112,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_11", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1751464546, - "narHash": "sha256-DCPeFJC6ih3cFhSwxBNNgbbHakCupR9fE5yX8DNWOzQ=", + "lastModified": 1752047019, + "narHash": "sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg=", "owner": "nix-community", "repo": "NUR", - "rev": "35af9e4796b6659705276544207796b5d05720e1", + "rev": "64185b1642f23c6340e3ebd52eabccfadfb78cfb", "type": "github" }, "original": { @@ -1301,27 +1300,6 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -1350,11 +1328,11 @@ ] }, "locked": { - "lastModified": 1750372504, - "narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=", + "lastModified": 1751300244, + "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92", + "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", "type": "github" }, "original": { diff --git a/hosts/dandelion/default.nix b/hosts/dandelion/default.nix index 93d87f7..313dbc2 100644 --- a/hosts/dandelion/default.nix +++ b/hosts/dandelion/default.nix @@ -27,6 +27,19 @@ time.timeZone = "Europe/Amsterdam"; + systemd.network.networks."99-local" = { + matchConfig.name = "ens3s1"; + address = [ + "192.168.1.100/24" + ]; + routes = [ + { + Gateway = "172.16.10.1"; + GatewayOnLink = false; + } + ]; + }; + environment.systemPackages = with pkgs; [ kitty.terminfo zfs diff --git a/modules/core/sshd.nix b/modules/core/sshd.nix index 2616303..36f4637 100644 --- a/modules/core/sshd.nix +++ b/modules/core/sshd.nix @@ -17,6 +17,6 @@ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # main laptop "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # main phone "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # 2nd laptop - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGm9dLpj13r+Iso5SuHSCSQbriumwW1Fs7TkgaBmmXeo liv@azalea" # linux phone + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mHVQp99G0osUAtnVoq5TARR8x5wjCkdbe7ChnzLRa liv@azalea" # linux phone ]; } diff --git a/modules/services/borg.nix b/modules/services/borg.nix index f068108..fad706a 100644 --- a/modules/services/borg.nix +++ b/modules/services/borg.nix @@ -26,6 +26,9 @@ in fi ''; user = "${username}"; + extraCreateArgs = [ + "--stats" + ]; environment = { BORG_RSH = "ssh -p 9123 -i /home/liv/.ssh/id_ed25519"; }; @@ -46,6 +49,9 @@ in fi ''; # user = "${username}"; + extraCreateArgs = [ + "--stats" + ]; environment = { BORG_RSH = "ssh -p 9123 -i /home/liv/.ssh/id_ed25519"; }; diff --git a/modules/services/dandelion.nix b/modules/services/dandelion.nix index edf193d..6bd0cd9 100644 --- a/modules/services/dandelion.nix +++ b/modules/services/dandelion.nix @@ -8,5 +8,6 @@ ++ [ (import ./monitoring.nix) ] ++ [ (import ./smart-monitoring.nix) ] ++ [ (import ./tailscale.nix) ] + ++ [ (import ./nfs.nix) ] ++ [ (import ./hd-idle.nix) ]; } diff --git a/modules/services/immich.nix b/modules/services/immich.nix index 6b66e76..c6d4d86 100644 --- a/modules/services/immich.nix +++ b/modules/services/immich.nix @@ -1,9 +1,12 @@ { config, ... }: { - services.immich = { - enable = true; - port = 2283; - }; + # services.immich = { + # enable = true; + # port = 2283; + # mediaLocation = "/spinners/rootvol/immich/"; + # openFirewall = true; + # machine-learning.enable = true; + # }; # services.nginx.virtualHosts."" = { # forceSSL = true; diff --git a/modules/services/nfs.nix b/modules/services/nfs.nix new file mode 100644 index 0000000..5391100 --- /dev/null +++ b/modules/services/nfs.nix @@ -0,0 +1,38 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + services = { + # Network shares + samba = { + package = pkgs.samba4Full; + # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba` + # Required for samba to register mDNS records for auto discovery + # See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268 + enable = true; + openFirewall = true; + shares.main = { + path = "/spinners/rootvol/nfs"; + writable = "true"; + comment = "Hello world!"; + }; + }; + avahi = { + publish.enable = true; + publish.userServices = true; + # ^^ Needed to allow samba to automatically register mDNS records (without the need for an `extraServiceFile` + #nssmdns4 = true; + # ^^ Not one hundred percent sure if this is needed- if it aint broke, don't fix it + enable = true; + openFirewall = true; + }; + samba-wsdd = { + # This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued + enable = true; + openFirewall = true; + }; + }; +} diff --git a/modules/services/violet.nix b/modules/services/violet.nix index e87f7ff..2f31873 100644 --- a/modules/services/violet.nix +++ b/modules/services/violet.nix @@ -7,7 +7,6 @@ ++ [ (import ./binternet-proxy.nix) ] ++ [ (import ./bluemap-proxy.nix) ] ++ [ (import ./docker.nix) ] - # ++ [ (import ./frp.nix) ] ++ [ (import ./forgejo.nix) ] ++ [ (import ./grafana.nix) ] ++ [ (import ./guacamole.nix) ] @@ -24,7 +23,7 @@ ++ [ (import ./readarr.nix) ] ++ [ (import ./sharkey-proxy.nix) ] # ++ [ (import ./komga.nix) ] - # ++ [ (import ./prosody.nix) ] + # ++ [ (import ./xmpp.nix) ] ++ [ (import ./tailscale.nix) ]; # ++ [ (import ./smart-monitoring.nix) ] # ++ [ (import ./jitsi-meet.nix) ] diff --git a/modules/services/xmpp.nix b/modules/services/xmpp.nix index f9c5cf1..96fe3c7 100644 --- a/modules/services/xmpp.nix +++ b/modules/services/xmpp.nix @@ -1,29 +1,29 @@ { - # services.prosody = { - # enable = false; - # user = "acme"; - # modules = { - # welcome = true; - # websocket = true; - # watchregistrations = true; - # }; - # admins = [ "liv@liv.town" ]; - # allowRegistration = false; - # ssl.cert = "/var/lib/acme/liv.town/cert.pem"; - # ssl.key = "/var/lib/acme/liv.town/key.pem"; - # virtualHosts."liv.town" = { - # enabled = true; - # domain = "liv.town"; - # ssl.cert = "/var/lib/acme/liv.town/fullchain.pem"; - # ssl.key = "/var/lib/acme/liv.town/key.pem"; - # }; - # muc = [ - # { - # domain = "conference.liv.town"; - # } - # ]; - # uploadHttp = { - # domain = "upload.liv.town"; - # }; - # }; + services.prosody = { + enable = true; + user = "root"; + modules = { + welcome = true; + websocket = true; + watchregistrations = true; + }; + admins = [ "liv@liv.town" ]; + allowRegistration = false; + ssl.cert = "/var/lib/acme/liv.town/cert.pem"; + ssl.key = "/var/lib/acme/liv.town/key.pem"; + virtualHosts."liv.town" = { + enabled = true; + domain = "liv.town"; + ssl.cert = "/var/lib/acme/liv.town/fullchain.pem"; + ssl.key = "/var/lib/acme/liv.town/key.pem"; + }; + muc = [ + { + domain = "conference.liv.town"; + } + ]; + uploadHttp = { + domain = "upload.liv.town"; + }; + }; }