From 0d89ebd2e5e222374f2e79683c91d0e1c4777993 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 08:13:15 +0200 Subject: [PATCH 01/48] feat: improves virtualization modularity and implementation --- modules/core/virtualization.nix | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/modules/core/virtualization.nix b/modules/core/virtualization.nix index 3ad3ae8..b021936 100644 --- a/modules/core/virtualization.nix +++ b/modules/core/virtualization.nix @@ -1,4 +1,10 @@ -{ pkgs, host, ... }: +{ + pkgs, + host, + config, + username, + ... +}: { virtualisation = { # vmware.host.enable = true; # Causes issues for now :p @@ -12,10 +18,23 @@ true else false; - spiceUSBRedirection.enable = true; + spiceUSBRedirection.enable = + if (config.virtualisation.libvirtd.enable == true) then true else false; }; - programs.virt-manager.enable = true; + programs.virt-manager.enable = + if (config.virtualisation.waydroid.enable == true) then true else false; + #dconf.settings."org/virt-manager/virt-manager/connections" = + # if (config.programs.virt-manager.enable == true) then + # { + # autoconnect = [ "qemu:///system" ]; + # uris = [ "qemu:///system" ]; + # } + # else + # { }; + + users.groups.libvirtd.members = + if (config.virtualisation.waydroid.enable == true) then [ username ] else [ ]; # Enable qemu etc environment.systemPackages = with pkgs; [ From 2868f55690e91ff2f42c324142608250c0d3d29b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 08:13:30 +0200 Subject: [PATCH 02/48] feat: switch to foot for hyprland config --- modules/home/hyprland/config.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index 0bfab5d..69fb5b9 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -85,6 +85,7 @@ "wl-paste --watch cliphist store &" "yubikey-touch-detector --libnotify &" "mpDris2 &" + "foot --server" ]; input = { @@ -213,8 +214,8 @@ bind = [ # keybindings - "$mainMod, Return, exec, kitty" - "$mainMod SHIFT, Return, exec, [float; center; size 950 650] kitty" + "$mainMod, Return, exec, footclient" + "$mainMod SHIFT, Return, exec, [float; center; size 950 650] footclient" "$mainMod, Q, killactive," "$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar "$mainMod, Space, togglefloating," @@ -332,6 +333,9 @@ "float,title:^(float_kitty)$" "center,title:^(float_kitty)$" "size 950 600,title:^(float_kitty)$" + "float,title:^(float_foot)$" + "center,title:^(float_foot)$" + "size 950 600,title:^(float_foot)$" "float,title:^(Volume Control)$" "float,title:^(Librewolf — Sharing Indicator)$" "move 0 0,title:^(Librewolf — Sharing Indicator)$" From 6ee8d321ed598e59ba627fbbcc36170b37745b63 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 08:14:05 +0200 Subject: [PATCH 03/48] feat: adds `foot` and `imagemagick` --- modules/home/packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 34db02f..62c82ad 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -31,6 +31,8 @@ python3 # CLI shit + imagemagick + foot termpdfpy vimv iamb From ac356565f76968f6ee83a19d9bf17f7ad84d19e3 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 08:14:16 +0200 Subject: [PATCH 04/48] flake: add iamb --- flake.lock | 182 +++++++++++++++++++++++++++++++++++++++++------------ flake.nix | 2 + 2 files changed, 145 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index bf17cbe..a6898ce 100644 --- a/flake.lock +++ b/flake.lock @@ -190,6 +190,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flakeCompat": { "flake": false, "locked": { @@ -727,6 +745,26 @@ "type": "github" } }, + "iamb": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_6", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1756876216, + "narHash": "sha256-ZVRwUbMrGeH3XZrFt/YoCOxXR6TWwkXcqWwWAA+F+Rs=", + "owner": "ulyssa", + "repo": "iamb", + "rev": "7b1dc93f3a01f4e8b138922a27bb3ce60d7be1f9", + "type": "github" + }, + "original": { + "owner": "ulyssa", + "repo": "iamb", + "type": "github" + } + }, "ixx": { "inputs": { "flake-utils": [ @@ -804,6 +842,38 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1742800061, + "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -884,6 +954,38 @@ } }, "nixpkgs_6": { + "locked": { + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { "locked": { "lastModified": 1755186698, "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", @@ -899,7 +1001,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_9": { "locked": { "lastModified": 1743315132, "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", @@ -915,42 +1017,10 @@ "type": "github" } }, - "nixpkgs_8": { - "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { - "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_9", "nixvim": "nixvim_2" }, "locked": { @@ -970,7 +1040,7 @@ "nixvim_2": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_10", "nuschtosSearch": "nuschtosSearch" }, "locked": { @@ -990,7 +1060,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1755435577, @@ -1008,7 +1078,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -1062,8 +1132,9 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "hyprsunset": "hyprsunset", + "iamb": "iamb", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_8", "nixvim": "nixvim", "nur": "nur", "sops-nix": "sops-nix" @@ -1086,9 +1157,27 @@ "type": "github" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1756694554, + "narHash": "sha256-z/Iy4qvcMqzhA2IAAg71Sw4BrMwbBHvCS90ZoPLsnIk=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "b29e5365120f344fe7161f14fc9e272fcc41ee56", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1754988908, @@ -1164,6 +1253,21 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ diff --git a/flake.nix b/flake.nix index dee9411..4030848 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,7 @@ nixvim.url = "github:ahwxorg/nixvim-config"; sops-nix.url = "github:Mic92/sops-nix"; disko.url = "github:nix-community/disko/latest"; + iamb.url = "github:ulyssa/iamb"; }; outputs = @@ -24,6 +25,7 @@ nixpkgs, sops-nix, disko, + iamb, ... }@inputs: let From 11d61defac0b8ce382539e2395ee6394a8f6c17b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 08:14:23 +0200 Subject: [PATCH 05/48] chore: adds iamb --- modules/core/program.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/core/program.nix b/modules/core/program.nix index 5def924..7739cd0 100644 --- a/modules/core/program.nix +++ b/modules/core/program.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, inputs, ... }: { programs = { dconf.enable = true; @@ -15,5 +15,6 @@ git dig traceroute + inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default ]; } From b4d41e5e66d4b03751b66dddd96df7206e03c5c9 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 16:05:12 +0200 Subject: [PATCH 06/48] feat: adds ollama --- modules/services/ollama.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 modules/services/ollama.nix diff --git a/modules/services/ollama.nix b/modules/services/ollama.nix new file mode 100644 index 0000000..95b7c8d --- /dev/null +++ b/modules/services/ollama.nix @@ -0,0 +1,9 @@ +{ + services.ollama = { + enable = true; + # Optional: preload models, see https://ollama.com/library + # loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"]; + # acceleration = "rocm"; # nope, 5700XT is too old for this + }; + services.open-webui.enable = true; +} From 1e7e4595cc78d33665dfdb44de28afba7965b8a9 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 9 Sep 2025 16:05:19 +0200 Subject: [PATCH 07/48] chore: adds ollama to iris --- hosts/iris/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iris/default.nix b/hosts/iris/default.nix index bc47be4..56df25e 100644 --- a/hosts/iris/default.nix +++ b/hosts/iris/default.nix @@ -13,6 +13,7 @@ ./../../modules/core/virtualization.nix ./../../modules/services/tailscale.nix ./../../modules/services/mpd.nix + ./../../modules/services/ollama.nix ]; powerManagement = { From de60d04835792010556ddbd1573af783921ce4fd Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 11 Sep 2025 13:18:14 +0200 Subject: [PATCH 08/48] chore: host `ollama` on `violet` --- modules/services/violet.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/services/violet.nix b/modules/services/violet.nix index 15639ef..ae3d19a 100644 --- a/modules/services/violet.nix +++ b/modules/services/violet.nix @@ -23,6 +23,7 @@ ++ [ (import ./ntfy.nix) ] ++ [ (import ./nginx.nix) ] ++ [ (import ./nix-serve.nix) ] + ++ [ (import ./ollama.nix) ] ++ [ (import ./paperless-ngx.nix) ] ++ [ (import ./radicale.nix) ] ++ [ (import ./remote-build.nix) ] From 3811e2fae075696b956ea0c77a1fa34fc3aabf68 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 11 Sep 2025 13:53:28 +0200 Subject: [PATCH 09/48] flake: update --- flake.lock | 110 ++++++++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/flake.lock b/flake.lock index a6898ce..8f308cc 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1753216019, - "narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=", + "lastModified": 1755946532, + "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "be166e11d86ba4186db93e10c54a141058bdce49", + "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", "type": "github" }, "original": { @@ -253,11 +253,11 @@ ] }, "locked": { - "lastModified": 1755397986, - "narHash": "sha256-qwrF5laj6eE3Zht0wKYTmH6QzL7bdOyE2f6jd3WCO8g=", + "lastModified": 1757578556, + "narHash": "sha256-w1PGkTGow5XzsjccV364No46rkuGxTqo7m/4cfhnkIk=", "owner": "nix-community", "repo": "home-manager", - "rev": "8b4ac149687e8520187a66f05e9d4eafebf96522", + "rev": "b7112b12ea5b8c3aa6af344498ed9ca27dd03ba3", "type": "github" }, "original": { @@ -271,11 +271,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1753252360, - "narHash": "sha256-PFAJoEqQWMlo1J+yZb+4HixmhbRVmmNl58e/AkLYDDI=", + "lastModified": 1755680610, + "narHash": "sha256-g7/g5o0spemkZCzPa8I21RgCmN0Kv41B5z9Z5HQWraY=", "owner": "hyprwm", "repo": "contrib", - "rev": "6839b23345b71db17cd408373de4f5605bf589b8", + "rev": "04721247f417256ca96acf28cdfe946cf1006263", "type": "github" }, "original": { @@ -329,11 +329,11 @@ ] }, "locked": { - "lastModified": 1754305013, - "narHash": "sha256-u+M2f0Xf1lVHzIPQ7DsNCDkM1NYxykOSsRr4t3TbSM4=", + "lastModified": 1756891319, + "narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "4c1d63a0f22135db123fc789f174b89544c6ec2d", + "rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d", "type": "github" }, "original": { @@ -360,11 +360,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1755416233, - "narHash": "sha256-tydnBQmV8pPHPlvq7sTEOEhkjXnYaeJtMN+77Rf/1NU=", + "lastModified": 1757508065, + "narHash": "sha256-aZCTbfKkxsEinY5V7R0NYuuitKLYc8ig8T91+yDMGJ0=", "ref": "refs/heads/main", - "rev": "251288ec5942b3544ad31de1299569284d80f0d7", - "revCount": 6370, + "rev": "46174f78b374b6cea669c48880877a8bdcf7802f", + "revCount": 6418, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -509,11 +509,11 @@ ] }, "locked": { - "lastModified": 1753622892, - "narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=", + "lastModified": 1756810301, + "narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809", + "rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931", "type": "github" }, "original": { @@ -582,11 +582,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1755112136, - "narHash": "sha256-eYLtZJayWWbKBC3u/gvDSqVyffuD+egryr7zPWRAeyY=", + "lastModified": 1756066004, + "narHash": "sha256-L5AX14cRzCikpSkL4jgC7WKdVzZ9K4c3dWe445ogZ+o=", "owner": "hyprwm", "repo": "hyprsunset", - "rev": "1f9afca28fac5f490e5f232e6f1887a69ff34896", + "rev": "fa2f7dde11eba8a6835ecedbbd144c48017156af", "type": "github" }, "original": { @@ -607,11 +607,11 @@ ] }, "locked": { - "lastModified": 1754481650, - "narHash": "sha256-6u6HdEFJh5gY6VfyMQbhP7zDdVcqOrCDTkbiHJmAtMI=", + "lastModified": 1756117388, + "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "df6b8820c4a0835d83d0c7c7be86fbc555f1f7fd", + "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", "type": "github" }, "original": { @@ -682,11 +682,11 @@ ] }, "locked": { - "lastModified": 1751897909, - "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { @@ -797,11 +797,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1755330281, - "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", + "lastModified": 1757103352, + "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", + "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "type": "github" }, "original": { @@ -859,11 +859,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "lastModified": 1757487488, + "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", "type": "github" }, "original": { @@ -875,11 +875,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "lastModified": 1757034884, + "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "ca77296380960cd497a765102eeb1356eb80fed0", "type": "github" }, "original": { @@ -987,11 +987,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "lastModified": 1757487488, + "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", "type": "github" }, "original": { @@ -1024,11 +1024,11 @@ "nixvim": "nixvim_2" }, "locked": { - "lastModified": 1755007783, - "narHash": "sha256-mxKUvsLy6Nf8Td8jQ0Q7q+A+FcTuYMyp/qmnnCRK1QE=", + "lastModified": 1755612464, + "narHash": "sha256-a77eam3zh4Lr4CrzOo/QKBD+etz4+TQZv/THVoLAhBA=", "owner": "ahwxorg", "repo": "nixvim-config", - "rev": "d4b1e0a37718bd4b704c5c055151135094d911eb", + "rev": "76880a7e5930e8255f0d5c19b865beada4bf0573", "type": "github" }, "original": { @@ -1063,11 +1063,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1755435577, - "narHash": "sha256-Rgcfyl8sWF+Uxe2HM51kJ72aNtaoy/UPiblwGTZHANU=", + "lastModified": 1757591071, + "narHash": "sha256-u5Xr/Tx5mYIcrVz7zwx9YvOWQJEei0T8mRJsr3/aBoA=", "owner": "nix-community", "repo": "NUR", - "rev": "199390e7082f9307578531d389cccd9f37412156", + "rev": "a625a24a40e4a4c21fcb7bbaa5869b0766fc0eab", "type": "github" }, "original": { @@ -1110,11 +1110,11 @@ ] }, "locked": { - "lastModified": 1754416808, - "narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=", + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -1180,11 +1180,11 @@ "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1754988908, - "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", + "lastModified": 1757503115, + "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", + "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", "type": "github" }, "original": { @@ -1296,11 +1296,11 @@ ] }, "locked": { - "lastModified": 1753633878, - "narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=", + "lastModified": 1755354946, + "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a", + "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", "type": "github" }, "original": { From 6461bc5f277d734037113324f6e3205691f83f66 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 11 Sep 2025 16:13:22 +0200 Subject: [PATCH 10/48] fix: play along with deprecation of `services.logind.extraConfig` --- modules/core/services.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/core/services.nix b/modules/core/services.nix index 0020bf2..63e7fcf 100644 --- a/modules/core/services.nix +++ b/modules/core/services.nix @@ -3,10 +3,9 @@ services = { fstrim.enable = true; }; - services.logind.extraConfig = '' - # don’t shutdown when power button is short-pressed - HandlePowerKey=ignore - ''; + services.logind.settings.Login = { + HandlePowerKey = "ignore"; # don’t shutdown when power button is short-pressed + }; # To prevent getting stuck at shutdown. # systemd.extraConfig = "DefaultTimeoutStopSec=10s"; # Deprecated now From 8cba7f17c5ea3500366298be3c9f6e66a3d04775 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 11 Sep 2025 16:16:29 +0200 Subject: [PATCH 11/48] chore: `plasma5Packages` -> `kdePackages` --- roles/gui.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/gui.nix b/roles/gui.nix index ff059bd..c5c39f7 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -44,7 +44,7 @@ in thunderbird lxqt.pavucontrol-qt mpv - plasma5Packages.kdeconnect-kde + kdePackages.kdeconnect-kde winbox # onthespot-overlay From 54ffe2e375a7113f8f48b0fd34a15a2718a65539 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 17:44:14 +0200 Subject: [PATCH 12/48] feat: adds `fff` package --- modules/home/packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 62c82ad..b9e2bcc 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -31,6 +31,7 @@ python3 # CLI shit + fff imagemagick foot termpdfpy From dd430bbe4a6a39d9339c296fcc2ca165c2480526 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 17:44:59 +0200 Subject: [PATCH 13/48] feat: adds `scientifica` font --- modules/home/fonts.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/fonts.nix b/modules/home/fonts.nix index f0a2a97..93abc8a 100644 --- a/modules/home/fonts.nix +++ b/modules/home/fonts.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { home.packages = with pkgs; [ + scientifica # nerd-fonts._0xproto # nerd-fonts._3270 # nerd-fonts.agave From cfe2e227b30726837d7ee9a42754a5f70fbaa01f Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 17:47:13 +0200 Subject: [PATCH 14/48] chore: re-enable `displaylink` --- modules/core/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/default.nix b/modules/core/default.nix index 10c17fa..f4d87d3 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -3,7 +3,7 @@ imports = [ (import ./docker.nix) ] ++ [ (import ./hardware.nix) ] - # ++ [(import ./displaylink.nix)] + ++ [ (import ./displaylink.nix) ] # ++ [(import ./printing.nix)] ++ [ (import ./xserver.nix) ] ++ [ (import ./network.nix) ] From ddbca9dbd99015443c92a993a1978e40d625e5a5 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 17:47:35 +0200 Subject: [PATCH 15/48] feat: adds `fprintd` for zinnia as well --- modules/core/yubikey.nix | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/modules/core/yubikey.nix b/modules/core/yubikey.nix index 36080f0..cb26b94 100644 --- a/modules/core/yubikey.nix +++ b/modules/core/yubikey.nix @@ -21,14 +21,32 @@ login.u2fAuth = true; greetd.u2fAuth = true; sudo.u2fAuth = true; - swaylock.fprintAuth = if (host == "sakura") then true else false; + swaylock.fprintAuth = + if (host == "sakura") then + true + else if (host == "zinnia") then + true + else + false; # No longer using Hyprlock, might stay here for if I ever switch to it again. hyprlock.u2fAuth = true; - hyprlock.fprintAuth = if (host == "sakura") then true else false; + hyprlock.fprintAuth = + if (host == "sakura") then + true + else if (host == "zinnia") then + true + else + false; }; }; - services.fprintd.enable = if (host == "sakura") then true else false; + services.fprintd.enable = + if (host == "sakura") then + true + else if (host == "zinnia") then + true + else + false; environment.systemPackages = with pkgs; [ yubikey-manager From 9dd9083a37fc157f9889611123fb73ae8e8acbce Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 17:48:15 +0200 Subject: [PATCH 16/48] feat: adds `scientifica` --- modules/home/fonts.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/fonts.nix b/modules/home/fonts.nix index f0a2a97..93abc8a 100644 --- a/modules/home/fonts.nix +++ b/modules/home/fonts.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { home.packages = with pkgs; [ + scientifica # nerd-fonts._0xproto # nerd-fonts._3270 # nerd-fonts.agave From 535780048ea303c74df8fa4faef37953090ee399 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 18:12:47 +0200 Subject: [PATCH 17/48] chore: adds config for `foot` --- modules/home/foot.nix | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 modules/home/foot.nix diff --git a/modules/home/foot.nix b/modules/home/foot.nix new file mode 100644 index 0000000..8fb8829 --- /dev/null +++ b/modules/home/foot.nix @@ -0,0 +1,48 @@ +{ pkgs, username, ... }: +{ + home.file."/home/${username}.config/foot/foot.ini" = '' + # -*- conf -*- + + # font=GohuFont 14 Nerd Font Mono:size=9 + initial-window-mode=maximized + # [tweak] + # allow-overflowing-double-width-glyphs=true + + [desktop-notifications] + # command=notify-send --wait --app-name $\{app-id} --icon $\{app-id} --category $\{category} --urgency $\{urgency} --expire-time $\{expire-time} --hint STRING:image-path:$\{icon} --hint BOOLEAN:suppress-sound:$\{muted} --hint STRING:sound-name:$\{sound-name} --replace-id $\{replace-id} $\{action-argument} --print-id -- $\{title} $\{body} + # command-action-argument=--action $\{action-name}=$\{action-label} + # close="" + # inhibit-when-focused=yes + + [cursor] + style=block + + [colors] + alpha=0.5 + + background=000000 + foreground=878ba6 + flash=7f7f00 + flash-alpha=0.5 + + ## Normal/regular colors (color palette 0-7) + regular0=1e202f # black + regular1=7586f5 # red + regular2=fb6fa9 # green + regular3=ffb3d2 # yellow + regular4=8696fd # blue + regular5=fb6fa9 # magenta + regular6=a0acfe # cyan + regular7=878ba6 # white + + ## Bright colors (color palette 8-15) + bright0=4f5472 # bright black + bright1=fe81b5 # bright red + bright2=292c3d # bright green + bright3=444864 # bright yellow + bright4=5b6080 # bright blue + bright5=d2d8fe # bright magenta + bright6=f764a1 # bright cyan + bright7=ebedff # bright white + ''; +} From b31f9615ebe514e4b235ee6982e4dab1edfc2f2b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 18:13:03 +0200 Subject: [PATCH 18/48] chore: adds `terminfo` for `foot` --- roles/server.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/server.nix b/roles/server.nix index 7eb2f8a..5a81e7d 100644 --- a/roles/server.nix +++ b/roles/server.nix @@ -17,7 +17,8 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ - pkgs.kitty.terminfo + kitty.terminfo + foot.terminfo powertop ]; From 6c6c3a86522e80bbd7b97696758864089eac0b81 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 18:13:14 +0200 Subject: [PATCH 19/48] chore: enables `foot` --- modules/home/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/default.nix b/modules/home/default.nix index 96bcd35..8e47e1e 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -7,6 +7,7 @@ ++ [ (import ./hyprland) ] ++ [ (import ./hyprlock) ] ++ [ (import ./kitty.nix) ] + ++ [ (import ./foot.nix) ] ++ [ (import ./nvim.nix) ] ++ [ (import ./zathura.nix) ] ++ [ (import ./packages.nix) ] From 104d10f7b30aa260731a6d08cf3b8fc823f2b87b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 18:14:29 +0200 Subject: [PATCH 20/48] chore: no longer use `xserver` for login; will write a `zsh` function for this shortly --- modules/core/xserver.nix | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/core/xserver.nix b/modules/core/xserver.nix index 3e35c27..57fc11a 100644 --- a/modules/core/xserver.nix +++ b/modules/core/xserver.nix @@ -1,20 +1,20 @@ -{ username, ... }: +{ username, ... }: { - services = { - xserver = { - enable = true; - xkb.layout = "us"; - # displayManager.lightdm.greeters.slick.enable = true; - displayManager.lightdm.greeters.mini = { - enable = true; - user = "liv"; - extraConfig = '' - [greeter] - show-password-label = false - [greeter-theme] - background-image = "/home/liv/Pictures/wallpapers/others/anime-sky-lonely.png" - ''; - }; - }; - }; + #services = { + # xserver = { + # enable = true; + # xkb.layout = "us"; + # displayManager.lightdm.greeters.slick.enable = true; + # #displayManager.lightdm.greeters.mini = { + # # enable = true; + # # user = "liv"; + # # extraConfig = '' + # # [greeter] + # # show-password-label = false + # # [greeter-theme] + # # background-image = "/home/liv/Pictures/wallpapers/others/anime-sky-lonely.png" + # # ''; + # #}; + # }; + #}; } From cceceb35c7553732fe69e75533470ada519cd355 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 20:03:52 +0200 Subject: [PATCH 21/48] chore(temp): comment out gestures for `hyprland` as they broke --- modules/home/hyprland/config.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index 69fb5b9..b8966c2 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -99,10 +99,10 @@ }; }; - gestures = { - workspace_swipe = true; - workspace_swipe_invert = true; - }; + #gestures = { + # workspace_swipe = true; + # workspace_swipe_invert = true; + #}; general = { "$mainMod" = "ALT"; From 73d770fe575f4ff1b4b612fdf0bb94a13c1a497d Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 13 Sep 2025 20:04:09 +0200 Subject: [PATCH 22/48] fix: use correct type for foot config --- modules/home/foot.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/foot.nix b/modules/home/foot.nix index 8fb8829..bac074f 100644 --- a/modules/home/foot.nix +++ b/modules/home/foot.nix @@ -1,6 +1,6 @@ { pkgs, username, ... }: { - home.file."/home/${username}.config/foot/foot.ini" = '' + home.file."/home/${username}.config/foot/foot.ini".text = '' # -*- conf -*- # font=GohuFont 14 Nerd Font Mono:size=9 From 225e920426d3129831027a252235f9837ce83744 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 14 Sep 2025 19:52:01 +0200 Subject: [PATCH 23/48] chore: move to `dino` from `gajim` --- roles/gui.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/gui.nix b/roles/gui.nix index c5c39f7..acc939d 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -27,7 +27,7 @@ in home-manager.users.${username}.home.packages = with pkgs; [ element-desktop - gajim + dino signal-desktop mumble anki-bin From d9e32dc90128be758520886564dd86f3fa496359 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 14 Sep 2025 19:52:12 +0200 Subject: [PATCH 24/48] chore: switch to `juno` gtk theme --- modules/home/hyprland/config.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index b8966c2..8ed7e97 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -23,12 +23,12 @@ size = 14; }; theme = { - name = "Gruvbox-Green-Dark"; - package = pkgs.gruvbox-gtk-theme.override { - colorVariants = [ "dark" ]; - themeVariants = [ "green" ]; - tweakVariants = [ "macos" ]; - }; + name = "Juno"; + package = pkgs.juno-theme; # .override { + # colorVariants = [ "dark" ]; + # themeVariants = [ "green" ]; + # tweakVariants = [ "macos" ]; + # }; }; iconTheme = { name = "Papirus-Dark"; From 5f51d917f2a618ff1f4b9ffe7dcc887512613fe9 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 19 Sep 2025 12:24:13 +0200 Subject: [PATCH 25/48] feat: adds syncplay credentials --- modules/core/sops.nix | 1 + secrets/violet/secrets.yaml | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/core/sops.nix b/modules/core/sops.nix index 27b1c10..91bd2f0 100644 --- a/modules/core/sops.nix +++ b/modules/core/sops.nix @@ -23,6 +23,7 @@ owner = "matrix-synapse"; }; "smbLoginDetails" = { }; + "syncplay" = { }; } else if (host == "sakura") then { diff --git a/secrets/violet/secrets.yaml b/secrets/violet/secrets.yaml index f8d5015..57aabc9 100644 --- a/secrets/violet/secrets.yaml +++ b/secrets/violet/secrets.yaml @@ -3,6 +3,7 @@ forgejoWorkerSecret: ENC[AES256_GCM,data:kmUjukTJ9SP6nJvfhIMFVTu5vAc9TIfZidUgejC matrixRegistrationSecret: ENC[AES256_GCM,data:xDFYVpBJa+FHWjmLlZspJAzJcoav53nWPoctQ5+gAnDYMurtSCkmoQn8r5j6fOmiy56KQyk8AD2/kT1HeFFNKA==,iv:82eIoh1ePc0VxfTbBPxpwGhYrcdRMI6WjFhlUJhxuHk=,tag:FAYUXUy0lEQU56ni2dxvbg==,type:str] minioRootCredentials: ENC[AES256_GCM,data:/IrpspB6Puy+6scHheBSBp6zQVh8uwpu4nFPLSkueuohSUESPHbRb0w1XAp4V5HraMtOThFqlm0JeBW0XbhY4E8L1P+S3/aMLKjp2voA928l9AjF6sTaSKsO7qh6LEmo90qm9Jo0nDo=,iv:M5NOGfSsl+LggLyEjV49vcWCaYmbG0eJcgwI2v7AKcI=,tag:A+CrDTL+TkEayOqBUII4aQ==,type:str] smbLoginDetails: ENC[AES256_GCM,data:Puv+Vewv0TDpiYM+Uym180CLT+vXKoeSW/uNxAX7f9y0NvG2Uqqglj/HcCMhyQn9GpCIQyb+xidlLWn3Ywdg6ybaf4WN5EdAEXMK/FRQyVIvvOcCcwG+IeUc1Wc5NmM2qEbxLqLNDWxiH8/QsrT9rWWxxx4c4eD1HOpIv9LCuavXXLmKy6JvtxYwtOv4u8ukp+e0uP7pLN7d,iv:XH+6soi7lZiGz9ZGlQb49f44API715ib/Y7Zh3hFnDM=,tag:iz8RYRSwNxrMxy+rqeM07Q==,type:str] +syncplay: ENC[AES256_GCM,data:Vrn1GmmUnIikiTKIQtP3qBfZIZRW2Za2Xhhegp7PAulujxumLGMAz9lBnTPBy3uofpayP8NJuU9v8cpU4a4w5A==,iv:s4RFaZwftqmI3BhpO1msvpfO2u3AGlPik7nMX2hjnyE=,tag:13zft7dmd85udoi7CnfWYg==,type:str] sops: age: - recipient: age1yzapmznelujajfyrpw5mxmy86ckg377494w5ap4yej39jatewursfxls9w @@ -23,7 +24,7 @@ sops: S3pjSjlhZjZiSDBNakhLVzNKMjd3bWsKC2geLVXFp190lkjxtmZKq8aLN0XMNeAI VqbwIY3a30iuWAaxqf8h1ZuCGJvbAZZBevFZraj9yktRHc54JV3Aww== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-08-19T12:23:05Z" - mac: ENC[AES256_GCM,data:hH3cTyHeFMTH5zYpCWyM1uqLta/uzQcLc5HPSdsR52Skh89/5h51vC666g0JuVm/sXh3gv6XQ1AGidPMAmx60qmHjiWE/LRli7xDwKk3p4mldC7RC2FrR0JPmfhDzXIo7VL60PCq4CPWevyRpAWMEMgnc3Z/IzmfDObUsvU+rg0=,iv:CrL4uqV8keGMw+tuqvkNrpKoM0qqr1vsdhESPUb+Hig=,tag:O2NKejf2dpkrkTzX1IfQcA==,type:str] + lastmodified: "2025-09-19T10:22:44Z" + mac: ENC[AES256_GCM,data:aJcXcdCR9nKbiaGEcGIQxr0kW7D8p2OzC2YDh18AFinWhdUSUDh6B8vkHR3ScIgUOYWc70/vSVsn3+M5JmtH3+mKMwMwSKF2plhicSBGdRELkeeowy6tCZGOVUvRsBhUpynd86qxxvWbJO4Q6mCSNbBQ/cr8493OZWenzB/fedQ=,iv:UqgIWA4ZK3cVn0iepeBPF8KuNREuGKNnijo/oGd4/q0=,tag:CT2uFz+flsZyNAM6SnhveA==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2 From 10c138960ae4060e5e2292b5ffb50a6ceb550141 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 19 Sep 2025 12:25:33 +0200 Subject: [PATCH 26/48] feat: adds syncplay server --- modules/services/syncplay.nix | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 modules/services/syncplay.nix diff --git a/modules/services/syncplay.nix b/modules/services/syncplay.nix new file mode 100644 index 0000000..447e4a7 --- /dev/null +++ b/modules/services/syncplay.nix @@ -0,0 +1,7 @@ +{ config, ... }: +{ + services.syncplay = { + enable = true; + passwordFile = config.sops.secrets.syncplay.path; + }; +} From a642fb41df9e518d1968591a7f85f819619e9c95 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 19 Sep 2025 12:31:13 +0200 Subject: [PATCH 27/48] fix: mumble server works now and supports 192kb/s :) --- modules/services/mumble.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/services/mumble.nix b/modules/services/mumble.nix index eaa0836..febfefc 100644 --- a/modules/services/mumble.nix +++ b/modules/services/mumble.nix @@ -2,6 +2,7 @@ { services.murmur = { enable = true; - openFirewall = false; + openFirewall = true; + bandwidth = 192000; }; } From 7a84a849ecb673659a72eb27b52beb0f0b559918 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 19 Sep 2025 12:37:52 +0200 Subject: [PATCH 28/48] fix: allow firewall port for syncplay --- modules/services/syncplay.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/services/syncplay.nix b/modules/services/syncplay.nix index 447e4a7..ca4551b 100644 --- a/modules/services/syncplay.nix +++ b/modules/services/syncplay.nix @@ -4,4 +4,5 @@ enable = true; passwordFile = config.sops.secrets.syncplay.path; }; + networking.firewall.allowedTCPPorts = [ 8999 ]; } From 2092fef7605bde687b11922a1ab8a14a16da57df Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 12:55:47 +0200 Subject: [PATCH 29/48] chore: librey moves to a different port so that jitsi could exist (but jitsi is dead now) --- modules/services/librey-proxy.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/librey-proxy.nix b/modules/services/librey-proxy.nix index 2bd3e7d..09e95b4 100644 --- a/modules/services/librey-proxy.nix +++ b/modules/services/librey-proxy.nix @@ -3,7 +3,7 @@ services = { anubis.instances.librey = { settings = { - TARGET = "http://localhost:8080"; + TARGET = "http://localhost:8078"; BIND = ":8079"; BIND_NETWORK = "tcp"; }; From f10870110113811b6e913b1e88100d483797fc0e Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 12:56:36 +0200 Subject: [PATCH 30/48] chore: remove open-webui as it sucks --- modules/services/ollama.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/ollama.nix b/modules/services/ollama.nix index 95b7c8d..8676727 100644 --- a/modules/services/ollama.nix +++ b/modules/services/ollama.nix @@ -5,5 +5,5 @@ # loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"]; # acceleration = "rocm"; # nope, 5700XT is too old for this }; - services.open-webui.enable = true; + services.open-webui.enable = false; } From 55c041622c7c0ae59b2f5bd235719e3283f5cb57 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 12:58:05 +0200 Subject: [PATCH 31/48] chore: move --- modules/services/violet.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/violet.nix b/modules/services/violet.nix index ae3d19a..53c8b39 100644 --- a/modules/services/violet.nix +++ b/modules/services/violet.nix @@ -13,6 +13,7 @@ ++ [ (import ./guacamole.nix) ] ++ [ (import ./gokapi.nix) ] ++ [ (import ./jellyfin.nix) ] + # ++ [ (import ./jitsi-meet.nix) ] ++ [ (import ./librey-proxy.nix) ] ++ [ (import ./lidarr.nix) ] ++ [ (import ./matrix/default.nix) ] @@ -34,5 +35,4 @@ ++ [ (import ./tailscale.nix) ] ++ [ (import ./vaultwarden.nix) ]; # ++ [ (import ./smart-monitoring.nix) ] - # ++ [ (import ./jitsi-meet.nix) ] } From 9b7fbb34710e3e4b7e7f98a60cc1c660d7976c17 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 13:02:00 +0200 Subject: [PATCH 32/48] chore: adds more shares --- modules/services/nfs.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/services/nfs.nix b/modules/services/nfs.nix index 2f9d3c4..40e4aa5 100644 --- a/modules/services/nfs.nix +++ b/modules/services/nfs.nix @@ -9,7 +9,7 @@ # Network shares samba = { package = pkgs.samba; - # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba` + # ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`. samba4Full gives issue, however) # 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; @@ -19,6 +19,16 @@ writable = "true"; comment = "Hello world!"; }; + shares.violet = { + path = "/spinners/violet"; + writable = "true"; + comment = "Hello world!"; + }; + shares.ahwx = { + path = "/spinners/ahwx"; + writable = "true"; + comment = "Hello world!"; + }; }; avahi = { publish.enable = true; From cdaa84a0da56ab8e8d33487f5c9118b6d6c12bfb Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 13:02:11 +0200 Subject: [PATCH 33/48] chore: set scrubbing to be weekly instead of monthly --- hosts/dandelion/default.nix | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/hosts/dandelion/default.nix b/hosts/dandelion/default.nix index 7349609..f950bc8 100644 --- a/hosts/dandelion/default.nix +++ b/hosts/dandelion/default.nix @@ -35,20 +35,20 @@ allowedUDPPorts = [ 5201 ]; - interfaces."ens4s1".allowedTCPPorts = [ - # allow everything for local link - { - from = 1; - to = 65354; - } - ]; - interfaces."ens4s1".allowedUDPPorts = [ - # allow everything for local link - { - from = 1; - to = 65354; - } - ]; + #interfaces."ens4s1".allowedTCPPorts = [ + # # allow everything for local link + # { + # from = 0; + # to = 60000; + # } + #]; + #interfaces."ens4s1".allowedUDPPorts = [ + # # allow everything for local link + # { + # from = 0; + # to = 65536; + # } + #]; }; }; @@ -82,6 +82,7 @@ services.zfs = { autoScrub.enable = true; + autoScrub.interval = "weekly"; trim.enable = true; }; From 79f50a5b8f34d43520275db33176922875c3044d Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 19:10:13 +0200 Subject: [PATCH 34/48] flake: update; remove iamb --- flake.lock | 264 ++++++++++++++++------------------------------------- 1 file changed, 80 insertions(+), 184 deletions(-) diff --git a/flake.lock b/flake.lock index 8f308cc..9d8ad16 100644 --- a/flake.lock +++ b/flake.lock @@ -190,24 +190,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flakeCompat": { "flake": false, "locked": { @@ -253,11 +235,11 @@ ] }, "locked": { - "lastModified": 1757578556, - "narHash": "sha256-w1PGkTGow5XzsjccV364No46rkuGxTqo7m/4cfhnkIk=", + "lastModified": 1758593331, + "narHash": "sha256-p+904PfmINyekyA/LieX3IYGsiFtExC00v5gSYfJtpM=", "owner": "nix-community", "repo": "home-manager", - "rev": "b7112b12ea5b8c3aa6af344498ed9ca27dd03ba3", + "rev": "9a2dc0efbc569ce9352a6ffb8e8ec8dbc098e142", "type": "github" }, "original": { @@ -271,11 +253,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1755680610, - "narHash": "sha256-g7/g5o0spemkZCzPa8I21RgCmN0Kv41B5z9Z5HQWraY=", + "lastModified": 1758531979, + "narHash": "sha256-iRv5afKzuu6SkwztqMwZ33161CzBJsyeRHp0uviN9TI=", "owner": "hyprwm", "repo": "contrib", - "rev": "04721247f417256ca96acf28cdfe946cf1006263", + "rev": "de79078fd59140067e53cd00ebdf17f96ce27846", "type": "github" }, "original": { @@ -329,11 +311,11 @@ ] }, "locked": { - "lastModified": 1756891319, - "narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=", + "lastModified": 1758192433, + "narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d", + "rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7", "type": "github" }, "original": { @@ -360,11 +342,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1757508065, - "narHash": "sha256-aZCTbfKkxsEinY5V7R0NYuuitKLYc8ig8T91+yDMGJ0=", + "lastModified": 1758542519, + "narHash": "sha256-NHEzK6MN8Tv9YrnJb2A9KxcOI2cCsKRqZOC5kUeG8Aw=", "ref": "refs/heads/main", - "rev": "46174f78b374b6cea669c48880877a8bdcf7802f", - "revCount": 6418, + "rev": "70a7047ee175d2e7fca1575d50a3738ac40fd2c6", + "revCount": 6446, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -480,11 +462,11 @@ ] }, "locked": { - "lastModified": 1753819801, - "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", + "lastModified": 1757694755, + "narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", + "rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c", "type": "github" }, "original": { @@ -559,11 +541,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1750371999, - "narHash": "sha256-de87tFOEhJiXTHNzG3LcwxGR1a/D6v+nC+9+V1GW1Zs=", + "lastModified": 1757972732, + "narHash": "sha256-V2lQfZyVMzlyQNtY7VZbJhh+fg9KsNztJynXBs3OgUc=", "owner": "hyprwm", "repo": "hyprpicker", - "rev": "d6a1363a86cd99460f0020134e455d921e8bacd8", + "rev": "6f32582d2282fd97f18e54db0f45f53f18edde4f", "type": "github" }, "original": { @@ -582,11 +564,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756066004, - "narHash": "sha256-L5AX14cRzCikpSkL4jgC7WKdVzZ9K4c3dWe445ogZ+o=", + "lastModified": 1757678186, + "narHash": "sha256-YuvkWCVZKiUoUC2tx/N5KkPXWmje2UbeENYkOc2C31Y=", "owner": "hyprwm", "repo": "hyprsunset", - "rev": "fa2f7dde11eba8a6835ecedbbd144c48017156af", + "rev": "72071709f58bc2fed8546288af295aa9153a287f", "type": "github" }, "original": { @@ -745,26 +727,6 @@ "type": "github" } }, - "iamb": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_6", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1756876216, - "narHash": "sha256-ZVRwUbMrGeH3XZrFt/YoCOxXR6TWwkXcqWwWAA+F+Rs=", - "owner": "ulyssa", - "repo": "iamb", - "rev": "7b1dc93f3a01f4e8b138922a27bb3ce60d7be1f9", - "type": "github" - }, - "original": { - "owner": "ulyssa", - "repo": "iamb", - "type": "github" - } - }, "ixx": { "inputs": { "flake-utils": [ @@ -797,11 +759,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757103352, - "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", + "lastModified": 1757943327, + "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", + "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "type": "github" }, "original": { @@ -843,43 +805,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "lastModified": 1758262103, + "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1757034884, - "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ca77296380960cd497a765102eeb1356eb80fed0", + "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01", "type": "github" }, "original": { @@ -955,53 +885,21 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", - "owner": "nixos", + "lastModified": 1758427187, + "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { - "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1757487488, - "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { "locked": { "lastModified": 1743315132, "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", @@ -1017,10 +915,42 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1742800061, + "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1758427187, + "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim_2" }, "locked": { @@ -1040,7 +970,7 @@ "nixvim_2": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_8", "nuschtosSearch": "nuschtosSearch" }, "locked": { @@ -1060,14 +990,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1757591071, - "narHash": "sha256-u5Xr/Tx5mYIcrVz7zwx9YvOWQJEei0T8mRJsr3/aBoA=", + "lastModified": 1758640565, + "narHash": "sha256-ElrlkD9NTp27BR+K8RO6KYF/5gHURj6b9Vpan/bf8wk=", "owner": "nix-community", "repo": "NUR", - "rev": "a625a24a40e4a4c21fcb7bbaa5869b0766fc0eab", + "rev": "af2e804a55892665adfd0b30c75088b1ad1b462c", "type": "github" }, "original": { @@ -1078,7 +1008,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -1110,11 +1040,11 @@ ] }, "locked": { - "lastModified": 1757239681, - "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -1132,9 +1062,8 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "hyprsunset": "hyprsunset", - "iamb": "iamb", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_6", "nixvim": "nixvim", "nur": "nur", "sops-nix": "sops-nix" @@ -1157,34 +1086,16 @@ "type": "github" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_7" - }, - "locked": { - "lastModified": 1756694554, - "narHash": "sha256-z/Iy4qvcMqzhA2IAAg71Sw4BrMwbBHvCS90ZoPLsnIk=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "b29e5365120f344fe7161f14fc9e272fcc41ee56", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1757503115, - "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", + "lastModified": 1758425756, + "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", + "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", "type": "github" }, "original": { @@ -1253,21 +1164,6 @@ "type": "github" } }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "xdph": { "inputs": { "hyprland-protocols": [ From 3cd4873e872b255210137e7e7a7f559a8496af31 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 19:10:18 +0200 Subject: [PATCH 35/48] chore: remove iamb --- flake.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/flake.nix b/flake.nix index c8cd3d1..74cece5 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,6 @@ nixvim.url = "github:ahwxorg/nixvim-config"; sops-nix.url = "github:Mic92/sops-nix"; disko.url = "github:nix-community/disko/latest"; - iamb.url = "github:ulyssa/iamb"; }; outputs = @@ -25,7 +24,6 @@ nixpkgs, sops-nix, disko, - iamb, ... }@inputs: let From a06055736004151781f009a1f7de9fe7145c1414 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 23 Sep 2025 19:10:22 +0200 Subject: [PATCH 36/48] chore: remove iamb --- modules/core/program.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/core/program.nix b/modules/core/program.nix index 7739cd0..a0acdd6 100644 --- a/modules/core/program.nix +++ b/modules/core/program.nix @@ -15,6 +15,5 @@ git dig traceroute - inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default ]; } From a711bf5dd67b3cdf952276c3b6201e688f419955 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:43:34 +0200 Subject: [PATCH 37/48] chore: remove displaylink from all hosts to re-add to laptops, as it is not required for desktops or servers --- modules/core/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/default.nix b/modules/core/default.nix index f4d87d3..96f0236 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -3,7 +3,7 @@ imports = [ (import ./docker.nix) ] ++ [ (import ./hardware.nix) ] - ++ [ (import ./displaylink.nix) ] + # ++ [ (import ./displaylink.nix) ] # ++ [(import ./printing.nix)] ++ [ (import ./xserver.nix) ] ++ [ (import ./network.nix) ] From 341a99b1fb049ddffb1b86285b9c06c83fa09d57 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:43:55 +0200 Subject: [PATCH 38/48] chore: adds `cifs-utils` to desktops --- roles/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/desktop.nix b/roles/desktop.nix index fc6fcdb..23c75df 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -16,6 +16,7 @@ in }; config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ cifs-utils ]; home-manager = { users.${username} = { home.packages = with pkgs; [ From 6b0bf699b74e8105533434253a7550103743a126 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:44:23 +0200 Subject: [PATCH 39/48] chore: adds displaylink to laptop role; adds `cifs-utils` to laptop role too --- roles/laptop.nix | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/roles/laptop.nix b/roles/laptop.nix index 4a61e0d..5b37a81 100644 --- a/roles/laptop.nix +++ b/roles/laptop.nix @@ -1,13 +1,32 @@ -{ lib, pkgs, config, username, home-manager, ... }: +{ + lib, + pkgs, + config, + username, + home-manager, + ... +}: with lib; let cfg = config.liv.laptop; -in { +in +{ options.liv.laptop = { enable = mkEnableOption "Enable laptop"; }; + # DisplayLink + services.xserver.videoDrivers = [ + "displaylink" + "modesetting" + ]; + systemd.services.dlm.wantedBy = [ "multi-user.target" ]; + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + cifs-utils + powertop + ]; home-manager = { users.${username} = { home.packages = with pkgs; [ @@ -19,20 +38,16 @@ in { networking.networkmanager.enable = true; - environment.systemPackages = with pkgs; [ - # powertop - ]; boot = { - kernelModules = ["acpi_call"]; - extraModulePackages = with config.boot.kernelPackages; - [ - acpi_call - ]; - }; - services = { + kernelModules = [ "acpi_call" ]; + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + }; + services = { thermald.enable = true; power-profiles-daemon.enable = true; - + upower = { enable = true; percentageLow = 20; From 1e9ad6c6b3e6ea7ce21480f4e90200c3d8e3da83 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:44:46 +0200 Subject: [PATCH 40/48] chore: adds `steam` to iris --- hosts/iris/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iris/default.nix b/hosts/iris/default.nix index 56df25e..84fd5e4 100644 --- a/hosts/iris/default.nix +++ b/hosts/iris/default.nix @@ -9,7 +9,7 @@ imports = [ ./hardware-configuration.nix ./../../modules/core - # ./../../modules/home/nfs.nix + ./../../modules/home/steam.nix ./../../modules/core/virtualization.nix ./../../modules/services/tailscale.nix ./../../modules/services/mpd.nix From 25d6d805e105266771d8267e865dd5335d8f9240 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:44:58 +0200 Subject: [PATCH 41/48] chore: simple steam module --- modules/home/steam.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 modules/home/steam.nix diff --git a/modules/home/steam.nix b/modules/home/steam.nix new file mode 100644 index 0000000..05f296d --- /dev/null +++ b/modules/home/steam.nix @@ -0,0 +1,3 @@ +{ + programs.steam.enable = true; +} From efff74008b59e7706065450fcb6c222a4799eb29 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 20:49:27 +0200 Subject: [PATCH 42/48] fix: move displaylink stuff to be inside cfg argument, of course that doesn't work otherwise --- roles/laptop.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/roles/laptop.nix b/roles/laptop.nix index 5b37a81..76cb8f8 100644 --- a/roles/laptop.nix +++ b/roles/laptop.nix @@ -15,13 +15,6 @@ in enable = mkEnableOption "Enable laptop"; }; - # DisplayLink - services.xserver.videoDrivers = [ - "displaylink" - "modesetting" - ]; - systemd.services.dlm.wantedBy = [ "multi-user.target" ]; - config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ cifs-utils @@ -36,6 +29,13 @@ in }; }; + # DisplayLink + services.xserver.videoDrivers = [ + "displaylink" + "modesetting" + ]; + systemd.services.dlm.wantedBy = [ "multi-user.target" ]; + networking.networkmanager.enable = true; boot = { @@ -56,6 +56,6 @@ in criticalPowerAction = "Hibernate"; }; }; - # powerManagement.powertop.enable = true; + powerManagement.powertop.enable = true; }; } From dc39c3f1fe2ed580a5eb95911bddf3f91a194679 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 23:54:28 +0200 Subject: [PATCH 43/48] fix: make `username` a `libvirtd` group member if `libvirtd` is enabled, as opposed to `waydroid` --- modules/core/virtualization.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/core/virtualization.nix b/modules/core/virtualization.nix index 94c40a7..601680b 100644 --- a/modules/core/virtualization.nix +++ b/modules/core/virtualization.nix @@ -12,6 +12,8 @@ libvirtd.enable = if (host == "violet") then true + else if (host == "dandelion") then + true else if (host == "sakura") then true else if (host == "yoshino") then @@ -36,7 +38,7 @@ # { }; users.groups.libvirtd.members = - if (config.virtualisation.waydroid.enable == true) then [ username ] else [ ]; + if (config.virtualisation.libvirtd.enable == true) then [ username ] else [ ]; # Enable qemu etc environment.systemPackages = with pkgs; [ From dc1bd0dc1807d06a48f79892b4396253f7ea494c Mon Sep 17 00:00:00 2001 From: Ahwx Date: Thu, 25 Sep 2025 23:54:54 +0200 Subject: [PATCH 44/48] chore: import virtualization by default as it is host-based --- modules/core/default.server.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/core/default.server.nix b/modules/core/default.server.nix index 118f8a3..850882f 100644 --- a/modules/core/default.server.nix +++ b/modules/core/default.server.nix @@ -1,12 +1,13 @@ { ... }: { imports = - [(import ./hardware.nix)] - ++ [(import ./network.nix)] - ++ [(import ./program.nix)] - ++ [(import ./sshd.nix)] - ++ [(import ./security.nix)] - ++ [(import ./services.nix)] - ++ [(import ./system.nix)] - ++ [(import ./user.nix)]; + [ (import ./hardware.nix) ] + ++ [ (import ./network.nix) ] + ++ [ (import ./program.nix) ] + ++ [ (import ./sshd.nix) ] + ++ [ (import ./security.nix) ] + ++ [ (import ./services.nix) ] + ++ [ (import ./system.nix) ] + ++ [ (import ./user.nix) ] + ++ [ (import ./virtualization.nix) ]; } From 60060d94ddbfbba8dfb807d4e7ed7f0259b2774f Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 3 Oct 2025 15:23:59 +0200 Subject: [PATCH 45/48] chore: do not allow `u2f` to unlock or login to computer anymore --- modules/core/yubikey.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/core/yubikey.nix b/modules/core/yubikey.nix index cb26b94..1fdad61 100644 --- a/modules/core/yubikey.nix +++ b/modules/core/yubikey.nix @@ -18,8 +18,8 @@ }; services = { - login.u2fAuth = true; - greetd.u2fAuth = true; + login.u2fAuth = false; + greetd.u2fAuth = false; sudo.u2fAuth = true; swaylock.fprintAuth = if (host == "sakura") then @@ -29,7 +29,7 @@ else false; # No longer using Hyprlock, might stay here for if I ever switch to it again. - hyprlock.u2fAuth = true; + hyprlock.u2fAuth = false; hyprlock.fprintAuth = if (host == "sakura") then true From de2713fab938e398fe55b4be2e575babba25a614 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 3 Oct 2025 15:24:28 +0200 Subject: [PATCH 46/48] chore: change some waybar configuration --- modules/home/waybar/default.nix | 621 ++++++++++++++++---------------- 1 file changed, 312 insertions(+), 309 deletions(-) diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index dfe464a..905cbf1 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -22,347 +22,349 @@ home.file = { "/home/${username}/.config/waybar/config" = { text = '' - [{ - "layer": "bottom", - "position": "bottom", + [{ + "layer": "top", + "position": "top", - "modules-left": [ - "privacy", - "network", - "custom/vpn", - "custom/devices", - "custom/spotify", - "tray", - ], + "modules-left": [ + "privacy", + "network", + "custom/vpn", + "custom/devices", + "custom/spotify", + "tray", + ], - "modules-center": [ - "hyprland/workspaces", - ], + "modules-center": [ + "hyprland/workspaces", + ], - "modules-right": [ - "custom/yubikey#icon", - "custom/yubikey#data", - "group/hardware", - "group/resources", - "bluetooth", - // "wireplumber", - "group/audio", - "group/battery", - "group/clock" - ], + "modules-right": [ + "custom/yubikey#icon", + "custom/yubikey#data", + "group/hardware", + "group/resources", + "bluetooth", + // "wireplumber", + "group/audio", + "group/battery", + "group/clock" + ], - "hyprland/window": { - "format": "{}", - "rewrite": { - "(.*) - zsh": "> [$1]" - }, - "separate-outputs": true - }, + "hyprland/window": { + "format": "{}", + "rewrite": { + "(.*) - zsh": "> [$1]" + }, + "separate-outputs": true + }, - "sway/workspaces": { - "all-outputs": true, - "disable-scroll": true, - "format": "{name}" - }, + "sway/workspaces": { + "all-outputs": true, + "disable-scroll": true, + "format": "{name}" + }, - "hyprland/workspaces": { - "all-outputs": true, - "disable-scroll": true, - "format": "{name}" - }, + "hyprland/workspaces": { + "all-outputs": true, + "disable-scroll": true, + "format": "{name}" + }, - // "group/network": { - // "orientation": "horizontal", - // "modules": [ - // "network", - // "custom/vpn", - // ], - // "drawer": { - // "transition-left-to-right": true, - // "transition-duration": 500 - // } - // }, - - "network": { - "format": "󰈀 {ifname}", - "format-wifi": " {essid} - {ipaddr}/{cidr} {signalStrength}%", - "format-ethernet": "󰈀 {ipaddr}/{cidr}", - "format-disconnected": "󰈂", - "tooltip-format": "{ifname} via {gwaddr}", - "tooltip-format-wifi": "{essid} ({signalStrength}%)", - "tooltip-format-ethernet": "{ifname}", - "tooltip-format-disconnected": "Disconnected" - }, + // "group/network": { + // "orientation": "horizontal", + // "modules": [ + // "network", + // "custom/vpn", + // ], + // "drawer": { + // "transition-left-to-right": true, + // "transition-duration": 500 + // } + // }, + + "network": { + "format": "󰈀 {ifname}", + // "format-wifi": "WLAN: {essid} - {ipaddr}/{cidr} {signalStrength}%", + "format-wifi": "WLAN: {ipaddr}/{cidr} {signalStrength}%", + "format-ethernet": "LAN: {ipaddr}/{cidr}", + "format-disconnected": "WLAN: down", + "tooltip-format": "{ifname} via {gwaddr}", + "tooltip-format-wifi": "{essid} ({signalStrength}%)", + "tooltip-format-ethernet": "{ifname}", + "tooltip-format-disconnected": "Disconnected" + }, - "custom/vpn": { - "format": "{icon}", - "tooltip-format": "{text}", - "format-icons": [ "","" ], - "return-type": "json", - "exec": "~/.local/bin/waybar-vpn", - "interval": 30 - }, + "custom/vpn": { + "format": "{icon}", + "tooltip-format": "{text}", + "format-icons": [ "","" ], + "return-type": "json", + "exec": "~/.local/bin/waybar-vpn", + "interval": 30 + }, - "custom/spotify": { - "interval": 5, - "return-type": "json", - "exec": "~/.local/bin/waybar-music", - "on-click": "playerctl play-pause", - "escape": true - }, + "custom/spotify": { + "interval": 5, + "return-type": "json", + "exec": "~/.local/bin/waybar-music", + "on-click": "playerctl play-pause", + "escape": true + }, - "custom/devices": { - "interval": 60, - "font-size": 14, - // "return-type": "json", - "exec": "~/.local/bin/waybar-devices", - }, + "custom/devices": { + "interval": 60, + "font-size": 14, + // "return-type": "json", + "exec": "~/.local/bin/waybar-devices", + }, - "privacy": { - "icon-spacing": 8, - "icon-size": 14, - "transition-duration": 250, - "modules": [ - { - "type": "screenshare", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-out", - "tooltip": true, - "tooltip-icon-size": 24 - }, - { - "type": "audio-in", - "tooltip": true, - "tooltip-icon-size": 24 - } - ] - }, + "privacy": { + "icon-spacing": 8, + "icon-size": 14, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-out", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, - "tray": { - "icon-size": 12, - "spacing": 0 - }, + "tray": { + "icon-size": 12, + "spacing": 0 + }, - "sway/mode": { - "format": " {}", - "tooltip": false - }, + "sway/mode": { + "format": " {}", + "tooltip": false + }, - "custom/yubikey#icon": { - "exec": "~/.local/bin/waybar-yubikey 0", - "return-type": "json" - }, + "custom/yubikey#icon": { + "exec": "~/.local/bin/waybar-yubikey 0", + "return-type": "json" + }, - "custom/yubikey#data": { - "exec": "~/.local/bin/waybar-yubikey 1", - "return-type": "json" - }, + "custom/yubikey#data": { + "exec": "~/.local/bin/waybar-yubikey 1", + "return-type": "json" + }, - "group/hardware": { - "orientation": "horizontal", - "modules": [ - "cpu", - "temperature#cpu", - "temperature#gpu", - "temperature#nvme", - "temperature#wifi" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/hardware": { + "orientation": "horizontal", + "modules": [ + "cpu", + "temperature#cpu", + "temperature#gpu", + "temperature#nvme", + "temperature#wifi" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "cpu": { - "interval": 30, - "format": " {avg_frequency:3.2f}GHz {usage}%", - "states": { - "warning": 70, - "critical": 90 - }, - }, + "cpu": { + "interval": 30, + "format": "FREQ: {avg_frequency:3.2f}GHz {usage}% ", + "states": { + "warning": 70, + "critical": 90 + }, + }, - "temperature#cpu": { - "hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input", - "critical-threshold": 80, - "format": " CPU {temperatureC}°C" - }, + "temperature#cpu": { + "hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input", + "critical-threshold": 80, + "format": "CPU {temperatureC}°C" + }, - "temperature#gpu": { - "hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input", - "critical-threshold": 80, - "format": "· GPU {temperatureC}°C" - }, + "temperature#gpu": { + "hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input", + "critical-threshold": 80, + "format": "GPU {temperatureC}°C" + }, - "temperature#nvme": { - "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", - "critical-threshold": 80, - "format": "· NVMe {temperatureC}°C" - }, + "temperature#nvme": { + "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", + "critical-threshold": 80, + "format": "NVMe {temperatureC}°C" + }, - "temperature#wifi": { - "hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input", - "critical-threshold": 80, - "format": "· WiFi {temperatureC}°C" - }, + "temperature#wifi": { + "hwmon-path": "/sys/class/hwmon/hwmon11/temp1_input", + "critical-threshold": 80, + "format": "WiFi {temperatureC}°C" + }, - "group/resources": { - "orientation": "horizontal", - "modules": [ "memory", "disk#root" ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/resources": { + "orientation": "horizontal", + "modules": [ "memory", "disk#root" ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "memory": { - "interval": 60, - "format": "󰘚 {used:3.1f}GiB/{total:3.1f}GiB" - }, + "memory": { + "interval": 60, + "format": "RAM: {used:3.1f}GiB/{total:3.1f}GiB " + }, - "disk#root": { - "interval": 360, - "format": " {used}/{total}", - "path": "/" - }, + "disk#root": { + "interval": 360, + "format": "DISK: {used}/{total}", + "path": "/" + }, - "bluetooth": { - // "controller": "controller1", - "on-click": "~/.local/bin/waybar-bluetooth toggle", - "format": "󰂲", - "format-disabled": "", - "format-connected": "", - "format-connected-battery": " {device_battery_percentage}%", - "tooltip-format": "{controller_alias}\t\t[{controller_address}]", - "tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", - "tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]", - "tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]" - }, + "bluetooth": { + // "controller": "controller1", + "on-click": "~/.local/bin/waybar-bluetooth toggle", + "format": "󰂲", + "format-disabled": "", + "format-connected": "", + "format-connected-battery": " {device_battery_percentage}%", + "tooltip-format": "{controller_alias}\t\t[{controller_address}]", + "tooltip-format-connected": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", + "tooltip-format-connected-battery": "{controller_alias}\t\t[{controller_address}]\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t\t[{device_address}]", + "tooltip-format-enumerate-connected-battery": "{device_alias} ({device_battery_percentage})\t\t[{device_address}]" + }, - "group/audio": { - "orientation": "horizontal", - "modules": [ - "wireplumber", - "custom/audio-internal", - "custom/audio-headphones", - "custom/audio-hdmi" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/audio": { + "orientation": "horizontal", + "modules": [ + "wireplumber", + "custom/audio-internal", + "custom/audio-headphones", + "custom/audio-hdmi" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "wireplumber": { - "format": "{icon} {node_name}/{volume}", - "format-muted": "", - "on-click": "pavucontrol-qt", - "on-click-right": "helvum", - "format-icons": ["", "", ""] - }, + "wireplumber": { + "format": "{icon} {node_name}/{volume}", + "format-muted": "", + "on-click": "pavucontrol-qt", + "on-click-right": "helvum", + "format-icons": ["", "", ""] + }, - "custom/audio-internal": { - "format": "󱡬 ", - "tooltip-format": "Internal", - "on-click": "audio-router analog", - "interval": "once" - }, + "custom/audio-internal": { + "format": "󱡬 ", + "tooltip-format": "Internal", + "on-click": "audio-router analog", + "interval": "once" + }, - "custom/audio-hdmi": { - "format": "󰡁 ", - "tooltip-format": "HDMI", - "on-click": "audio-router hdmi", - "interval": "once" - }, + "custom/audio-hdmi": { + "format": "󰡁 ", + "tooltip-format": "HDMI", + "on-click": "audio-router hdmi", + "interval": "once" + }, - "group/battery": { - "orientation": "horizontal", - "modules": [ - "battery", - "custom/powerdraw" - ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/battery": { + "orientation": "horizontal", + "modules": [ + "battery", + "custom/powerdraw" + ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "battery": { - "bat": "BAT1", - "interval": 30, - "states": { - "warning": 20, - "critical": 10 - }, - "format-time": "{H}:{m}", - "format": "{icon} {time} {capacity}%", - "format-discharging": "{icon} {capacity}%", - "format-discharging-warning": "{icon} {capacity}%", - "format-discharging-critical": "{icon} {capacity}%", - "format-charging": "{icon} {capacity}% @ {power:2.0f}W", - "format-full": "󱐥 {capacity}%", - "format-not-charging": "󱐤 {capacity}%", - "format-icons": [" ", " ", " ", " ", " "], - }, + "battery": { + "bat": "BAT1", + "interval": 20, + "states": { + "warning": 20, + "critical": 10 + }, + "format-time": "{H}:{m}", + "format": "BATT: {time} {capacity}%", + "format-alt": "BATT: {time} ", + "format-discharging": "BATT: {capacity}%", + "format-discharging-warning": "BATT: {capacity}%", + "format-discharging-critical": "BATT: {capacity}%", + "format-charging": "BATT: {capacity}% @ {power:2.0f}W", + "format-full": "BATT: 󱐥 {capacity}%", + "format-not-charging": "BATT: 󱐤 {capacity}%", + // "format-icons": [" ", " ", " ", " ", " "], // use {icon} + }, - "custom/powerdraw": { - "interval": 60, - "exec": "~/.local/bin/waybar-powerdraw", - }, + "custom/powerdraw": { + "interval": 60, + "exec": "~/.local/bin/waybar-powerdraw", + }, - "group/clock": { - "orientation": "horizontal", - "modules": [ "clock#time", "custom/clock#minutes", "clock#date" ], - "drawer": { - "transition-left-to-right": false, - "transition-duration": 500 - } - }, + "group/clock": { + "orientation": "horizontal", + "modules": [ "clock#time", "custom/clock#minutes", "clock#date" ], + "drawer": { + "transition-left-to-right": false, + "transition-duration": 500 + } + }, - "clock#date": { - "interval": 60, - "format": " {:%a %e %b %Y}", - "tooltip-format": "{:%B %Y}\n{calendar}", - "calendar": { - "mode" : "year", - "mode-mon-col" : 2, - "weeks-pos" : "right", - "on-scroll" : 1, - "format": { - "months": "{}", - "days": "{}", - "weeks": "W{}", - "weekdays": "{}", - "today": "{}" - } - }, - "actions": { - "on-click-right": "mode", - "on-scroll-up": "shift_up", - "on-scroll-down": "shift_down" - } - }, + "clock#date": { + "interval": 60, + "format": " {:%a %e %b %Y}", + "tooltip-format": "{:%B %Y}\n{calendar}", + "calendar": { + "mode" : "year", + "mode-mon-col" : 2, + "weeks-pos" : "right", + "on-scroll" : 1, + "format": { + "months": "{}", + "days": "{}", + "weeks": "W{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, - "clock#time": { - "interval": 60, - "format": " {:%I:%M %p}", - "actions": { - "on-scroll-up": "tz_up", - "on-scroll-down": "tz_down" - } - }, + "clock#time": { + "interval": 60, + "format": "CEST: {:%I:%M %p}", + "actions": { + "on-scroll-up": "tz_up", + "on-scroll-down": "tz_down" + } + }, - "custom/clock#minutes": { - "interval": 60, - "format": " {} ", - "exec": "~/.local/bin/waybar-minutes" - } - } - ] + "custom/clock#minutes": { + "interval": 60, + "format": "CEST: {} ", + "exec": "~/.local/bin/waybar-minutes" + } + } + ] ''; }; "/home/${username}/.config/waybar/style.css" = { @@ -377,17 +379,18 @@ /* margin: 0 0px; */ } - window#waybar.bottom { + window#waybar.top { /* background-color: rgba(115, 116, 116, 0.22); */ background-color: rgba(0, 0, 0, 0.25); - border-bottom: none; + border-top: none; color: #eeeeee; transition-property: background-color; transition-duration: .5s; } window#waybar.hidden { - opacity: 0.25; + /* opacity: 0.25; */ + opacity: 0.00; } label#window { @@ -439,7 +442,7 @@ #workspaces button { /*padding: 4px 6px;*/ padding: 4px 6px; - color: #555555; + color: #aaaaaa; border-radius: 0px; /*min-width: 32px;*/ } From 09df3d83aac31bb1f76c573d7098aefc2b2ae564 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 3 Oct 2025 15:24:47 +0200 Subject: [PATCH 47/48] chore: disable lid state waybar thing --- modules/home/waybar/scripts.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/modules/home/waybar/scripts.nix b/modules/home/waybar/scripts.nix index a4a7bb7..3c9b2e3 100644 --- a/modules/home/waybar/scripts.nix +++ b/modules/home/waybar/scripts.nix @@ -181,12 +181,6 @@ #!/usr/bin/env bash if [[ "$(hostname)" == "sakura" ]]; then - if [[ $(cat /proc/acpi/button/lid/LID0/state | grep "open") ]]; then - LTEXT="󰌢 " - else - LTEXT="󰛧 " - fi - MICROPHONE_STATE="$(sudo framework_tool --privacy | tail -n2 | head -n1)" CAMERA_STATE="$(sudo framework_tool --privacy | tail -n1)" @@ -206,7 +200,7 @@ CTEXT="󰗟 " fi - echo "$LTEXT $CTEXT $MTEXT" + echo "$CTEXT $MTEXT" fi ''; }; From cfa3de1bb5eefe6c8f0c068396d8cb567a11efb8 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Fri, 3 Oct 2025 15:26:08 +0200 Subject: [PATCH 48/48] chore: set ip for direct connection on `iris` --- hosts/iris/default.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/hosts/iris/default.nix b/hosts/iris/default.nix index 84fd5e4..3dec566 100644 --- a/hosts/iris/default.nix +++ b/hosts/iris/default.nix @@ -27,17 +27,15 @@ networkmanager.enable = true; }; - systemd.network.networks."99-local" = { - matchConfig.name = "enp68s0"; - address = [ - "192.168.1.100/24" - ]; - routes = [ - { - Gateway = "172.16.10.1"; - GatewayOnLink = false; - } - ]; + networking = { + interfaces.ens4d1 = { + ipv4.addresses = [ + { + address = "192.168.1.101"; + prefixLength = 24; + } + ]; + }; }; liv = {