about summary refs log tree commit diff
diff options
context:
space:
mode:
authorazahi <azat@bahawi.net>2025-02-02 01:48:24 +0300
committerazahi <azat@bahawi.net>2025-02-02 01:48:24 +0300
commitba11ee8c7a130cebcf0b13640563ae748cef0e5f (patch)
tree86b8b52745708a49ca23486155726e02652745d2
parent2025-01-24 (diff)
2025-02-02
Diffstat (limited to '')
-rw-r--r--configurations/eonwe/default.nix3
-rw-r--r--configurations/eonwe/ollama.nix3
-rw-r--r--flake.lock146
-rw-r--r--flake.nix2
-rw-r--r--modules/common/xdg.nix6
-rw-r--r--modules/firefox/addons.json3
-rw-r--r--modules/firefox/default.nix1
-rw-r--r--modules/games/default.nix6
-rw-r--r--modules/games/steam.nix14
-rw-r--r--modules/hyprland.nix8
-rw-r--r--modules/kde.nix5
-rw-r--r--modules/profiles/dev/default.nix1
-rw-r--r--modules/profiles/headful.nix18
-rw-r--r--modules/wireguard.nix25
14 files changed, 126 insertions, 115 deletions
diff --git a/configurations/eonwe/default.nix b/configurations/eonwe/default.nix
index 8ee224b..d9ae2bc 100644
--- a/configurations/eonwe/default.nix
+++ b/configurations/eonwe/default.nix
@@ -27,15 +27,12 @@ with lib;
     libvirtd.enable = true;
     mpd.enable = true;
     qutebrowser.enable = true;
-
-    hyprland.enable = true;
   };
 
   hm = {
     home.packages = with pkgs; [
       calibre
       inkscape
-      krita
       paper-plane
       qolibri
       radeontop
diff --git a/configurations/eonwe/ollama.nix b/configurations/eonwe/ollama.nix
index 45e6179..13ff300 100644
--- a/configurations/eonwe/ollama.nix
+++ b/configurations/eonwe/ollama.nix
@@ -27,13 +27,14 @@
 
   services = {
     ollama = {
+      # FIXME https://github.com/NixOS/nixpkgs/issues/376930
       enable = true;
 
       host = "0.0.0.0";
       port = 11434;
 
       acceleration = "rocm";
-      rocmOverrideGfx = "11.0.0";
+      rocmOverrideGfx = "11.0.0"; # RX 7800 XT
 
       environmentVariables.OLLAMA_ORIGINS = lib.concatStringsSep "," [
         "http://eonwe.shire.net:11434"
diff --git a/flake.lock b/flake.lock
index 2370b4a..1c6cbe6 100644
--- a/flake.lock
+++ b/flake.lock
@@ -12,11 +12,11 @@
         "systems": "systems"
       },
       "locked": {
-        "lastModified": 1723293904,
-        "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
+        "lastModified": 1736955230,
+        "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
+        "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
         "type": "github"
       },
       "original": {
@@ -134,11 +134,11 @@
     "base16-helix": {
       "flake": false,
       "locked": {
-        "lastModified": 1725860795,
-        "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
+        "lastModified": 1736852337,
+        "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
         "owner": "tinted-theming",
         "repo": "base16-helix",
-        "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
+        "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
         "type": "github"
       },
       "original": {
@@ -150,16 +150,17 @@
     "base16-vim": {
       "flake": false,
       "locked": {
-        "lastModified": 1731949548,
-        "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
+        "lastModified": 1732806396,
+        "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
         "owner": "tinted-theming",
         "repo": "base16-vim",
-        "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
+        "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
         "type": "github"
       },
       "original": {
         "owner": "tinted-theming",
         "repo": "base16-vim",
+        "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
         "type": "github"
       }
     },
@@ -229,11 +230,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736591904,
-        "narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=",
+        "lastModified": 1738148035,
+        "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "33827d2bd16bfe2e21b62956526c72d313595dfd",
+        "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54",
         "type": "github"
       },
       "original": {
@@ -252,11 +253,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1733919067,
-        "narHash": "sha256-ZsL5pKwEDhcZhVJh+3IwgHus7kSW/N8qOlBscwB6BCI=",
+        "lastModified": 1737653493,
+        "narHash": "sha256-qTbv8Pm9WWF63M5Fj0Od9E54/lsbMSQUBHw/s30eFok=",
         "owner": "nix-community",
         "repo": "dns.nix",
-        "rev": "a23f43f9762aa96d3e35c8eeefa7610bd0cdf456",
+        "rev": "96e548ae8bd44883afc5bddb9dacd0502542276d",
         "type": "github"
       },
       "original": {
@@ -268,11 +269,11 @@
     "firefox-gnome-theme": {
       "flake": false,
       "locked": {
-        "lastModified": 1734969791,
-        "narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
+        "lastModified": 1736899990,
+        "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
         "owner": "rafaelmardojai",
         "repo": "firefox-gnome-theme",
-        "rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
+        "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
         "type": "github"
       },
       "original": {
@@ -380,11 +381,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1735882644,
-        "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
+        "lastModified": 1737465171,
+        "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
+        "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
         "type": "github"
       },
       "original": {
@@ -403,19 +404,14 @@
         "nixpkgs": [
           "stylix",
           "nixpkgs"
-        ],
-        "nixpkgs-stable": [
-          "stylix",
-          "git-hooks",
-          "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1731363552,
-        "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
+        "lastModified": 1735882644,
+        "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
+        "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
         "type": "github"
       },
       "original": {
@@ -491,11 +487,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736508663,
-        "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
+        "lastModified": 1738275749,
+        "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
+        "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9",
         "type": "github"
       },
       "original": {
@@ -507,11 +503,11 @@
     "homelab-svg-assets": {
       "flake": false,
       "locked": {
-        "lastModified": 1733409874,
-        "narHash": "sha256-Q9QMq9dXIjvJB7YSE3DU5W2eOAPQxjBRKYmNvk+ZnFo=",
+        "lastModified": 1738350188,
+        "narHash": "sha256-q1zqxnkYLsTH6y+957yH0zaHOxSms/TB68kZYLbw5sQ=",
         "owner": "loganmarchione",
         "repo": "homelab-svg-assets",
-        "rev": "f084a7da8dc72f44edcd8c21dd8650b5f781734c",
+        "rev": "c378f0a492cacfa327b9cc7b4b97fa6605f72de8",
         "type": "github"
       },
       "original": {
@@ -522,11 +518,11 @@
     },
     "impermanence": {
       "locked": {
-        "lastModified": 1734945620,
-        "narHash": "sha256-olIfsfJK4/GFmPH8mXMmBDAkzVQ1TWJmeGT3wBGfQPY=",
+        "lastModified": 1737831083,
+        "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "d000479f4f41390ff7cf9204979660ad5dd16176",
+        "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
         "type": "github"
       },
       "original": {
@@ -563,11 +559,11 @@
         "nixpkgs-24_11": "nixpkgs-24_11"
       },
       "locked": {
-        "lastModified": 1735230346,
-        "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=",
+        "lastModified": 1737736848,
+        "narHash": "sha256-VrUfCXBXYV+YmQ2OvVTeML9EnmaPRtH+POrNIcJp6yo=",
         "owner": "simple-nixos-mailserver",
         "repo": "nixos-mailserver",
-        "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b",
+        "rev": "6b425d13f5a9d73cb63973d3609acacef4d1e261",
         "type": "gitlab"
       },
       "original": {
@@ -589,11 +585,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736646923,
-        "narHash": "sha256-kU6J2zS90yskkmcbUcHKrDBxsUZWwLNMiCHnzJs2Rjg=",
+        "lastModified": 1738287839,
+        "narHash": "sha256-Vh060kC/aTX+e8Ru195wo+QySd0z91wJ++JZNSDJxy8=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "cbd313bed852a2f277e7199ce060ac224bdce7da",
+        "rev": "58f1ae4ac2620cbcef912e32b17f9a64fcb372ad",
         "type": "github"
       },
       "original": {
@@ -609,11 +605,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736652904,
-        "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=",
+        "lastModified": 1737861961,
+        "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "271e5bd7c57e1f001693799518b10a02d1123b12",
+        "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523",
         "type": "github"
       },
       "original": {
@@ -636,11 +632,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736111688,
-        "narHash": "sha256-5z1ZgHgrr1qI0ve+mc0SjbL5PGbDLZb/3uijpmLIWT8=",
+        "lastModified": 1738246091,
+        "narHash": "sha256-2+KkZsRO+XlOFbXbRgMZbRtlqn5MBNYj4HNmZ/2Tojg=",
         "owner": "oddlama",
         "repo": "nix-topology",
-        "rev": "ac1aa5116d858fdff131625dde59a988f74efb11",
+        "rev": "5526269fa3eedf4f4bc00c0bf7a03db31d24b029",
         "type": "github"
       },
       "original": {
@@ -651,11 +647,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1736441705,
-        "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=",
+        "lastModified": 1737751639,
+        "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337",
+        "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
         "type": "github"
       },
       "original": {
@@ -666,11 +662,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1736675421,
-        "narHash": "sha256-TZTSrzYjwP1AM4IvJcN643U6uJbSQW3CNmpwIRafd1g=",
+        "lastModified": 1738370331,
+        "narHash": "sha256-AGpeTVt2yBf/uN2dMCnu7pXqkN3AipnoVo5R1Ar5wXU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "7093d6908eeca322434542ac527902242382233f",
+        "rev": "9d52b7a88651b112d024ba445d176cad032eafe4",
         "type": "github"
       },
       "original": {
@@ -696,16 +692,16 @@
     },
     "nixpkgs-amneziawg": {
       "locked": {
-        "lastModified": 1733085004,
-        "narHash": "sha256-pskW7udXL6KssMYlBR7cxSLPzqLMrZWgel98dKEgKPs=",
+        "lastModified": 1737908040,
+        "narHash": "sha256-e/fcvUz3W4/3Odo5KvH+KKSzCpft+YS259xrbtpLb2o=",
         "owner": "azahi",
         "repo": "nixpkgs",
-        "rev": "ba3f8e26212ff64cc96a4c1932d91bd18eb87757",
+        "rev": "5b2dc95baba1980f1729fa523f9ad45e4e57d919",
         "type": "github"
       },
       "original": {
         "owner": "azahi",
-        "ref": "amneziawg",
+        "ref": "add-amneziawg-to-wg-quick",
         "repo": "nixpkgs",
         "type": "github"
       }
@@ -724,11 +720,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1736675421,
-        "narHash": "sha256-TZTSrzYjwP1AM4IvJcN643U6uJbSQW3CNmpwIRafd1g=",
+        "lastModified": 1738370331,
+        "narHash": "sha256-AGpeTVt2yBf/uN2dMCnu7pXqkN3AipnoVo5R1Ar5wXU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "7093d6908eeca322434542ac527902242382233f",
+        "rev": "9d52b7a88651b112d024ba445d176cad032eafe4",
         "type": "github"
       },
       "original": {
@@ -825,11 +821,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1735858634,
-        "narHash": "sha256-qp83fDr3W5b6QoWSp+vfcH1vFNEhreW98qe9tlhSaXE=",
+        "lastModified": 1738198321,
+        "narHash": "sha256-lhnHBXO9Y8xEn92JqxjancdL8Gh16ONuxZp60iZfmX4=",
         "owner": "nix-community",
         "repo": "srvos",
-        "rev": "eea4ff2050968da5134788c73d63a2461f9daf27",
+        "rev": "7d5a4aaadac9ff63f9ed4347df95175aceee5079",
         "type": "github"
       },
       "original": {
@@ -864,11 +860,11 @@
         "tinted-zed": "tinted-zed"
       },
       "locked": {
-        "lastModified": 1736530113,
-        "narHash": "sha256-a+IUtGdzESNSQEZkW99TXf5js8o4Oy9M4H2am+2ECp4=",
+        "lastModified": 1738278499,
+        "narHash": "sha256-q1SUyXSQ9znHTME53/vPLe+Ga3V1wW3X3gWfa8JsBUM=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "f1e003194cb528bbd4eda50b781d1f703611782d",
+        "rev": "b00c9f46ae6c27074d24d2db390f0ac5ebcc329f",
         "type": "github"
       },
       "original": {
@@ -959,11 +955,11 @@
     "tinted-tmux": {
       "flake": false,
       "locked": {
-        "lastModified": 1729501581,
-        "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
+        "lastModified": 1735737224,
+        "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=",
         "owner": "tinted-theming",
         "repo": "tinted-tmux",
-        "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
+        "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64",
         "type": "github"
       },
       "original": {
@@ -1001,11 +997,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736646936,
-        "narHash": "sha256-NJaM0SiWs6nSZCQ9w3H9cV6ysg447/PYoBpMWYV12h4=",
+        "lastModified": 1738287944,
+        "narHash": "sha256-q8pOnhaA95ZZf+CJ4ahScSzt5pbnL7lShFuMwTwiw7I=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "5669bbca35e6dd98ba43477e2fa4d87d0a0da3db",
+        "rev": "529e0a84346f34db86ea24203c0b2e975fefb4f2",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index fe42cb6..3092c23 100644
--- a/flake.nix
+++ b/flake.nix
@@ -13,7 +13,7 @@
     flake-parts.url = "github:hercules-ci/flake-parts";
 
     # TODO https://github.com/NixOS/nixpkgs/pull/360866
-    nixpkgs-amneziawg.url = "github:azahi/nixpkgs/amneziawg";
+    nixpkgs-amneziawg.url = "github:azahi/nixpkgs/add-amneziawg-to-wg-quick";
 
     nixos-hardware.url = "github:NixOS/nixos-hardware";
 
diff --git a/modules/common/xdg.nix b/modules/common/xdg.nix
index df7d624..e91d2c5 100644
--- a/modules/common/xdg.nix
+++ b/modules/common/xdg.nix
@@ -84,7 +84,11 @@ in
 
   config = {
     xdg = {
-      portal.enable = this.isHeadful;
+      portal = {
+        enable = this.isHeadful;
+        xdgOpenUsePortal = this.isHeadful;
+      };
+
       sounds.enable = this.isHeadful;
     };
 
diff --git a/modules/firefox/addons.json b/modules/firefox/addons.json
index 55919c3..e3867c1 100644
--- a/modules/firefox/addons.json
+++ b/modules/firefox/addons.json
@@ -36,9 +36,6 @@
     "slug": "redirector"
   },
   {
-    "slug": "skip-redirect"
-  },
-  {
     "slug": "switchyomega"
   },
   {
diff --git a/modules/firefox/default.nix b/modules/firefox/default.nix
index 69324b7..bad56ff 100644
--- a/modules/firefox/default.nix
+++ b/modules/firefox/default.nix
@@ -110,7 +110,6 @@ in
                 no-pdf-download
                 redirector
                 rikaichamp
-                skip-redirect
                 switchyomega
                 ublock-origin
                 user-agent-switcher
diff --git a/modules/games/default.nix b/modules/games/default.nix
index 4f474b4..b70b94b 100644
--- a/modules/games/default.nix
+++ b/modules/games/default.nix
@@ -14,12 +14,10 @@ in
       services = {
         jack.alsa.support32Bit = config.services.jack.alsa.enable;
         pipewire.alsa.support32Bit = config.services.pipewire.alsa.enable;
+        pulseaudio.support32Bit = config.services.pulseaudio.enable;
       };
 
-      hardware = {
-        graphics.enable32Bit = true;
-        pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
-      };
+      hardware.graphics.enable32Bit = true;
     })
   ];
 }
diff --git a/modules/games/steam.nix b/modules/games/steam.nix
index d1da8ee..d8c6964 100644
--- a/modules/games/steam.nix
+++ b/modules/games/steam.nix
@@ -13,11 +13,15 @@ in
 
   config = mkIf cfg.enable {
     nixfiles.modules = {
-      common.nix.allowedUnfreePackages = [
-        "steam"
-        "steam-run"
-        "steam-unwrapped"
-      ];
+      common = {
+        nix.allowedUnfreePackages = [
+          "steam"
+          "steam-run"
+          "steam-unwrapped"
+        ];
+
+        xdg.defaultApplications.steam = [ "x-scheme-handler/steam" ];
+      };
 
       games = {
         enable32BitSupport = true;
diff --git a/modules/hyprland.nix b/modules/hyprland.nix
index c7f574a..a2776dc 100644
--- a/modules/hyprland.nix
+++ b/modules/hyprland.nix
@@ -112,11 +112,11 @@ in
                     let
                       c = (x + 1) / 10;
                     in
-                    toString (x + 1 - (c * 10));
+                    x + 1 - (c * 10) |> toString;
                 in
                 [
-                  "SUPER, ${ws}, workspace, ${toString (x + 1)}"
-                  "SUPER SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
+                  "SUPER,       ${ws}, workspace,       ${x + 1 |> toString}"
+                  "SUPER SHIFT, ${ws}, movetoworkspace, ${x + 1 |> toString}"
                 ]
               ) 10
             ));
@@ -125,7 +125,5 @@ in
 
       programs.hyprlock.enable = true;
     };
-
-    programs.hyprland.enable = true;
   };
 }
diff --git a/modules/kde.nix b/modules/kde.nix
index 9490b71..c227620 100644
--- a/modules/kde.nix
+++ b/modules/kde.nix
@@ -20,9 +20,6 @@ in
     };
 
     hm = {
-      # NOTE This will fail the home-manager service upon startup while a Plasma
-      # session is not initialised. Something about dbus not being able to
-      # communicate with presumably KDE configuration daemon.
       stylix.targets.kde.enable = true;
 
       programs.firefox.profiles.default.settings = {
@@ -55,7 +52,7 @@ in
         enable = true;
 
         wayland = {
-          enable = false;
+          enable = true;
           compositor = "kwin";
         };
       };
diff --git a/modules/profiles/dev/default.nix b/modules/profiles/dev/default.nix
index 38a2117..bb7cfc9 100644
--- a/modules/profiles/dev/default.nix
+++ b/modules/profiles/dev/default.nix
@@ -68,6 +68,7 @@ in
           ])
           age
           dbeaver-bin
+          devenv
           distrobox
           htmlq
           httpie
diff --git a/modules/profiles/headful.nix b/modules/profiles/headful.nix
index a315af4..e328691 100644
--- a/modules/profiles/headful.nix
+++ b/modules/profiles/headful.nix
@@ -17,6 +17,8 @@ in
 
   config = mkIf cfg.enable {
     nixfiles.modules = {
+      common.xdg.defaultApplications."org.telegram.desktop" = [ "x-scheme-handler/tg" ];
+
       profiles.dev.enable = true;
 
       alacritty.enable = mkDefault true;
@@ -85,7 +87,21 @@ in
     };
 
     boot = {
-      kernelPackages = mkDefault pkgs.linuxPackages_latest;
+      kernelPackages = mkDefault (
+        if config.boot.zfs.enabled then
+          pkgs.linuxKernel.packages
+          |> lib.filterAttrs (
+            k: v:
+            (builtins.match "linux_[0-9]+_[0-9]+" k) != null
+            && (builtins.tryEval v).success
+            && (!v.${config.boot.zfs.package.kernelModuleAttribute}.meta.broken)
+          )
+          |> builtins.attrValues
+          |> lib.sort (a: b: lib.versionOlder a.kernel.version b.kernel.version)
+          |> lib.last
+        else
+          pkgs.linuxPackages_latest
+      );
 
       kernelParams = [
         # https://wiki.archlinux.org/title/improving_performance#Watchdogs
diff --git a/modules/wireguard.nix b/modules/wireguard.nix
index 92497e1..c9d9937 100644
--- a/modules/wireguard.nix
+++ b/modules/wireguard.nix
@@ -22,25 +22,27 @@ let
   );
 
   extraOptions = {
-    jc = 23;
-    jmin = 58;
-    jmax = 1021;
-    s1 = 49;
-    s2 = 87;
-    h1 = 1264154357;
-    h2 = 462401493;
-    h3 = 737329836;
-    h4 = 1039929807;
+    Jc = 23;
+    Jmin = 58;
+    Jmax = 1021;
+    S1 = 49;
+    S2 = 87;
+    H1 = 1264154357;
+    H2 = 462401493;
+    H3 = 737329836;
+    H4 = 1039929807;
   };
 in
 {
   disabledModules = [
     "services/networking/wg-quick.nix"
     "services/networking/wireguard.nix"
+    "services/networking/wireguard-networkd.nix"
   ];
   imports = [
     "${inputs.nixpkgs-amneziawg}/nixos/modules/services/networking/wg-quick.nix"
     "${inputs.nixpkgs-amneziawg}/nixos/modules/services/networking/wireguard.nix"
+    "${inputs.nixpkgs-amneziawg}/nixos/modules/services/networking/wireguard-networkd.nix"
   ];
 
   options.nixfiles.modules.wireguard = {
@@ -218,8 +220,9 @@ in
         networking = {
           wireguard = {
             enable = true;
-            type = "amneziawg";
+            useNetworkd = false; # Does not work with "amneziawg".
             interfaces.${cfg.interface} = with cfg.server; {
+              type = "amneziawg";
               privateKeyFile = config.secrets."wireguard-private-key-${this.hostname}".path;
               ips = [
                 "${ipv6.address}/16"
@@ -227,7 +230,7 @@ in
               ];
               listenPort = port;
               inherit peers extraOptions;
-              postSetup = DNSSetup;
+              postSetup = lib.optionalString (!config.networking.wireguard.useNetworkd) DNSSetup;
               allowedIPsAsRoutes = false;
             };
           };

Consider giving Nix/NixOS a try! <3