about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-09-16 02:07:57 +0300
committerAzat Bahawi <azat@bahawi.net>2023-09-16 02:07:57 +0300
commitd58f6d509cd81c6c21739f3bf0fcec7fa623ee9f (patch)
treef8742617b495d478cc8c9b2c1f200e143f2c1d28
parent2023-08-23 (diff)
2023-09-16
-rw-r--r--.typos.toml3
-rw-r--r--flake.lock108
-rw-r--r--flake.nix1
-rw-r--r--modules/common/common/nix/default.nix81
-rw-r--r--modules/common/emacs/doom/init.el2
-rw-r--r--modules/common/git.nix1
-rw-r--r--modules/common/profiles/headful.nix1
-rw-r--r--modules/nixos/common/networking.nix3
-rw-r--r--modules/nixos/common/services.nix4
-rw-r--r--modules/nixos/firefox/default.nix107
-rw-r--r--modules/nixos/games/steam-run.nix3
-rw-r--r--modules/nixos/libvirtd.nix1
-rw-r--r--modules/nixos/vaultwarden.nix8
-rw-r--r--modules/nixos/x11.nix44
-rw-r--r--nixosConfigurations/eonwe/default.nix8
15 files changed, 143 insertions, 232 deletions
diff --git a/.typos.toml b/.typos.toml
index 4270c91..783ecda 100644
--- a/.typos.toml
+++ b/.typos.toml
@@ -3,3 +3,6 @@ gud = "gud"
 iterm2 = "iterm2"
 openpgp4fpr= "openpgp4fpr"
 referer = "referer"
+
+[files]
+extend-exclude = ["nixosConfigurations/eonwe/work.nix", "secrets/*"]
diff --git a/flake.lock b/flake.lock
index e10b306..aaff461 100644
--- a/flake.lock
+++ b/flake.lock
@@ -13,11 +13,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1690228878,
-        "narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=",
+        "lastModified": 1694793763,
+        "narHash": "sha256-y6gTE1C9mIoSkymRYyzCmv62PFgy+hbZ5j8fuiQK5KI=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "d8c973fd228949736dedf61b7f8cc1ece3236792",
+        "rev": "572baca9b0c592f71982fca0790db4ce311e3c75",
         "type": "github"
       },
       "original": {
@@ -70,11 +70,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1691919538,
-        "narHash": "sha256-Er7hGXFZit1VLy8yfEaTCfx0p6RqfMrK+GGT0tixWQM=",
+        "lastModified": 1693814299,
+        "narHash": "sha256-DdmhEwIkd/t8vb7i2HS+M/rzcgSsxufC0F7LCDh0F/I=",
         "owner": "dwarfmaster",
         "repo": "arkenfox-nixos",
-        "rev": "9183705626ae64a61f489ffa199d4f825eeaa5fe",
+        "rev": "64bfb7623798d17c0ea0541f7f1488975ab4ff73",
         "type": "github"
       },
       "original": {
@@ -147,11 +147,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692248770,
-        "narHash": "sha256-tZeFpETKQGbgnaSIO1AGWD27IyTcBm4D+A9d7ulQ4NM=",
+        "lastModified": 1694810318,
+        "narHash": "sha256-LuvrVj2oj9TzdnnwtQUClqcXjpgwCP01FFVBM7azGV8=",
         "owner": "LnL7",
         "repo": "nix-darwin",
-        "rev": "511177ffe8226c78c9cf6a92a7b5f2df3684956b",
+        "rev": "80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8",
         "type": "github"
       },
       "original": {
@@ -209,11 +209,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1690933134,
-        "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=",
+        "lastModified": 1693611461,
+        "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb",
+        "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
         "type": "github"
       },
       "original": {
@@ -226,11 +226,11 @@
     "flake-registry": {
       "flake": false,
       "locked": {
-        "lastModified": 1689333397,
-        "narHash": "sha256-g1Nn0sgH/hR/gEAQ1q6bloU+Q+V+Y4HlBBH6CBxC0HM=",
+        "lastModified": 1692779116,
+        "narHash": "sha256-erTXdDToRA8whxURoEgBGWj550vcUirO6adEFIjQ0M0=",
         "owner": "NixOS",
         "repo": "flake-registry",
-        "rev": "5d8dc3eb692809ffd9a2f22cdb8015aa11972905",
+        "rev": "3f641cbae15d3c74370aa9b97fd0ac478a114305",
         "type": "github"
       },
       "original": {
@@ -245,11 +245,11 @@
         "systems": "systems"
       },
       "locked": {
-        "lastModified": 1689068808,
-        "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
+        "lastModified": 1694529238,
+        "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
+        "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
         "type": "github"
       },
       "original": {
@@ -266,11 +266,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1660459072,
-        "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
+        "lastModified": 1694102001,
+        "narHash": "sha256-vky6VPK1n1od6vXbqzOXnekrQpTL4hbPAwUhT5J9c9E=",
         "owner": "hercules-ci",
         "repo": "gitignore.nix",
-        "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
+        "rev": "9e21c80adf67ebcb077d75bd5e7d724d21eeafd6",
         "type": "github"
       },
       "original": {
@@ -287,11 +287,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692720545,
-        "narHash": "sha256-DQDremUH7lRxiZEIVh6C6kQusuPe1vUKtiVl29nmP0E=",
+        "lastModified": 1694643239,
+        "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "8eb8c212e50e2fd95af5849585a2eb819add0a1e",
+        "rev": "d9b88b43524db1591fb3d9410a21428198d75d49",
         "type": "github"
       },
       "original": {
@@ -303,11 +303,11 @@
     },
     "impermanence": {
       "locked": {
-        "lastModified": 1690797372,
-        "narHash": "sha256-GImz19e33SeVcIvBB7NnhbJSbTpFFmNtWLh7Z85Y188=",
+        "lastModified": 1694622745,
+        "narHash": "sha256-z397+eDhKx9c2qNafL1xv75lC0Q4nOaFlhaU1TINqb8=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "e3a7acd113903269a1b5c8b527e84ce7ee859851",
+        "rev": "e9643d08d0d193a2e074a19d4d90c67a874d932e",
         "type": "github"
       },
       "original": {
@@ -346,11 +346,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692666842,
-        "narHash": "sha256-0ulu9R7V8qqtu8U6O/MeYUqH7GkBIkOvEyzUJrsCfwI=",
+        "lastModified": 1694740557,
+        "narHash": "sha256-9HZ8cHeSv3uy6xcErO4Eb60lhcov7uXXeUFmqbAcjYs=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "7aaee05358d9d4f19bb7a8435d6d7a45773939a6",
+        "rev": "20d2f5ccd03b8b1549f2b2e92d4d147318bc1296",
         "type": "github"
       },
       "original": {
@@ -373,11 +373,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692672597,
-        "narHash": "sha256-Jj5HRXOaH6mXPwc2uG3X8EnZDy7LQNkm36nwYPDscD4=",
+        "lastModified": 1694740775,
+        "narHash": "sha256-cxnaqGPye8mN7WaCpF1TGlcQaSHAyEIgSVImOTuVrsQ=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "b8d9bd5161f4de34a62519b36bcd7a9e8dd08467",
+        "rev": "d073d60efa6c3400d9de3c91bcddba5c4c419159",
         "type": "github"
       },
       "original": {
@@ -389,11 +389,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1692373088,
-        "narHash": "sha256-EPgCecdc9I8aTdmDNoO1l7R72r2WPhZRcesV4nzxBj8=",
+        "lastModified": 1694710316,
+        "narHash": "sha256-uRh46iIC86D8BD1wCDA5gRrt+hslUXiD0kx/UjnjBcs=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "7f1836531b126cfcf584e7d7d71bf8758bb58969",
+        "rev": "570256327eb6ca6f7bebe8d93af49459092a0c43",
         "type": "github"
       },
       "original": {
@@ -405,11 +405,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1692557222,
-        "narHash": "sha256-TCOtZaioLf/jTEgfa+nyg0Nwq5Uc610Z+OFV75yUgGw=",
+        "lastModified": 1694760568,
+        "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "0b07d4957ee1bd7fd3bdfd12db5f361bd70175a6",
+        "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e",
         "type": "github"
       },
       "original": {
@@ -421,11 +421,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1692742407,
-        "narHash": "sha256-faLzZ2u3Wki8h9ykEfzQr19B464eyADP3Ux7A/vjKIY=",
+        "lastModified": 1694810993,
+        "narHash": "sha256-SWYQdFzdcRyGoX4b2G1sZfGwvizrVejBaVB54OUjgBc=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a2eca347ae1e542af3f818274c38305c1e00604c",
+        "rev": "7fb1b6096567f4a5e7e5f195396950a77d8d85d7",
         "type": "github"
       },
       "original": {
@@ -437,11 +437,11 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1692735708,
-        "narHash": "sha256-3HO7FbIF5YM+EgmlJbmQZqE0PpIS4gVlrPTTdXvX6DQ=",
+        "lastModified": 1694810104,
+        "narHash": "sha256-9UCF1nno2Cy+a4uu5lScW3cIrfUQAdTteYCDGCeIUWE=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "26260b170c16b4ae0f092754a33430cb361b2bda",
+        "rev": "15af07fe9e9e8c01dcaaff0e1ee71186c64f04f7",
         "type": "github"
       },
       "original": {
@@ -465,11 +465,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692739558,
-        "narHash": "sha256-wEiSSoozftaoGCORrfPpAjjm1dKihFfMhynMHPDIk6g=",
+        "lastModified": 1694341786,
+        "narHash": "sha256-7xp0lZ0Ihx1f9WLYxOWP73PlM0HOa0Wrp3/iF7D++zc=",
         "owner": "nix-community",
         "repo": "nixvim",
-        "rev": "00016841c996eebcf3f673f8bc3223680d4825df",
+        "rev": "9e6892e8391a5bcc3727802b6a9fb2b9b52537df",
         "type": "github"
       },
       "original": {
@@ -515,11 +515,11 @@
     },
     "nur": {
       "locked": {
-        "lastModified": 1692737112,
-        "narHash": "sha256-DHOEzu+U+mAOr1aQIZ+AOETO4yR24IEk5pm6Am7yqL4=",
+        "lastModified": 1694810691,
+        "narHash": "sha256-PiJzhZcBIYMAolB3IL8qiYJwERlqxexY0lK0/XRTaAk=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "2f14a3d24e9ddd7bf68bddc585708fc5342ddf33",
+        "rev": "0ea96f83aba38b8e75462f16ae7862285b772b2c",
         "type": "github"
       },
       "original": {
@@ -606,11 +606,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1692274144,
-        "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=",
+        "lastModified": 1694364351,
+        "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=",
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa",
+        "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index cc5bfed..3f16734 100644
--- a/flake.nix
+++ b/flake.nix
@@ -329,6 +329,7 @@
             typos = {
               enable = true;
               types = ["text"];
+              pass_filenames = false;
             };
             yamllint.enable = true;
             promtool = {
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index e516500..f0add5e 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -97,87 +97,22 @@ with lib; {
           patches = final.patches ++ [./patches/tdesktop-no-ads.patch];
         });
 
-        inherit (pkgsPr 245433 "sha256-7duAw2pGwXrX4cgUioNSypmuiNR/hCUVywhKL6jW3qE=") openmw;
+        inherit (pkgsPr 245433 "sha256-FF1WW0+/pJ15+mPVjv0bkrh0dpHfQU08HNat2gu1PQk=") openmw;
       }
-      // (let
-        openconnect = super.openconnect.overrideAttrs (_: _: {
-          version = "unstable-2023-07-01";
-          src = super.fetchFromGitLab {
-            owner = "openconnect";
-            repo = "openconnect";
-            rev = "0e5a69e8f990ece134b50ec0be7b6bf42f14dfbd";
-            hash = "sha256-/8ybs7tlmdVIZORxdcB/xE9Mpyo2cX+VN7eQAS7Qb5k=";
-          };
-        });
-      in {
-        networkmanager-openconnect =
-          (super.networkmanager-openconnect.override {inherit openconnect;})
-          .overrideAttrs (_: final: {
-            version = "unstable-2023-05-29";
-            src = super.fetchFromGitLab {
-              domain = "gitlab.gnome.org";
-              owner = "GNOME";
-              repo = "NetworkManager-openconnect";
-              rev = "030a3a9f05560bdb515ec2a6dad3a0ffbab3b213";
-              hash = "sha256-GvhBKAQmbmzgM1Bh2j6carnGwtL/z5rbPl/jL/4kDoc=";
-            };
-            buildInputs =
-              final.buildInputs
-              ++ [
-                (super.webkitgtk_4_1.override {
-                  inherit (super.gnome) libsoup;
-                })
-              ];
-            nativeBuildInputs =
-              final.nativeBuildInputs
-              ++ [
-                super.autoreconfHook
-              ];
-            preAutoreconf = ''
-              autoupdate
-            '';
-            preConfigure = ''
-              NOCONFIGURE=x ./autogen.sh
-              touch gtk4/nm-openconnect-dialog.ui
-            '';
-          });
-
-        plasma5Packages =
-          super.plasma5Packages
-          // {
-            plasma-nm =
-              (super.plasma5Packages.plasma-nm.override {inherit openconnect;})
-              .overrideAttrs (_: final: {
-                buildInputs = final.buildInputs ++ [super.qt5.qtwebengine];
-                patches =
-                  final.patches
-                  ++ [
-                    (super.fetchpatch {
-                      url = "https://invent.kde.org/plasma/plasma-nm/-/commit/6ef64be8645ac32fc0b42df2cee5d9ff3b57e485.patch";
-                      sha256 = "sha256-b5yTMB7s+wG7X/EyuEa5tBrUU8oKc1Wa0zn0ND1rtI0=";
-                    })
-                  ];
-              });
-          };
-      })
-      // (with super; let
-        np = nodePackages;
-      in {
+      // (with super; {
         # Normalises package names. This is done purely for aesthetics.
-        css-language-server = np.vscode-css-languageserver-bin;
+        css-language-server = nodePackages.vscode-css-languageserver-bin;
         dhall-language-server = dhall-lsp-server;
-        dockerfile-language-server = np.dockerfile-language-server-nodejs;
+        dockerfile-language-server = nodePackages.dockerfile-language-server-nodejs;
         editorconfig = editorconfig-core-c;
         go-language-server = gopls;
-        html-language-server = np.vscode-html-languageserver-bin;
-        inherit (np) bash-language-server;
-        inherit (np) vim-language-server;
-        inherit (np) yaml-language-server;
-        json-language-server = np.vscode-json-languageserver-bin;
+        html-language-server = nodePackages.vscode-html-languageserver-bin;
+        inherit (nodePackages) bash-language-server;
+        inherit (nodePackages) vim-language-server;
+        json-language-server = nodePackages.vscode-json-languageserver-bin;
         k3d = kube3d;
         kubelogin = kubelogin-oidc;
         nix-language-server = rnix-lsp;
-        omnisharp = omnisharp-roslyn;
         telepresence = telepresence2;
         tor-browser = tor-browser-bundle-bin;
       }))
diff --git a/modules/common/emacs/doom/init.el b/modules/common/emacs/doom/init.el
index 76c14fe..fbd7c4d 100644
--- a/modules/common/emacs/doom/init.el
+++ b/modules/common/emacs/doom/init.el
@@ -77,7 +77,7 @@
        :lang
        (cc +lsp +tree-sitter)
        (common-lisp +lsp +tree-sitter)
-       (csharp +lsp +tree-sitter)
+       ;; (csharp +lsp +tree-sitter)
        data
        ;; (dhall +lsp +tree-sitter)
        (emacs-lisp +lsp +tree-sitter)
diff --git a/modules/common/git.nix b/modules/common/git.nix
index 7f06676..cfd1bf4 100644
--- a/modules/common/git.nix
+++ b/modules/common/git.nix
@@ -86,6 +86,7 @@ in {
               "notabug" = "notabug.org";
               "opencode" = "opencode.net";
               "sourcehut" = "git.sr.ht";
+              "torproject" = "gitlab.torproject.org";
               "videolan" = "code.videolan.org";
             };
 
diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix
index 09bfad0..f85e793 100644
--- a/modules/common/profiles/headful.nix
+++ b/modules/common/profiles/headful.nix
@@ -38,7 +38,6 @@ in {
           comma
           fd
           ripgrep
-          # ripgrep-all # FIXME https://github.com/NixOS/nixpkgs/issues/250306
           sd
           tldr
         ];
diff --git a/modules/nixos/common/networking.nix b/modules/nixos/common/networking.nix
index 8d94a4e..91306be 100644
--- a/modules/nixos/common/networking.nix
+++ b/modules/nixos/common/networking.nix
@@ -16,7 +16,7 @@ in {
       optional networkmanager.enable "/etc/NetworkManager/system-connections"
       ++ optional wireless.iwd.enable "/var/lib/iwd";
 
-    # TODO Support multiple interfaces and IP addresses.
+    # TODO Switch to systemd-networkd.
     networking = mkMerge [
       {
         domain = my.domain.shire;
@@ -32,6 +32,7 @@ in {
         };
 
         nameservers = mkDefault dns.const.quad9.default;
+        resolvconf.enable = true;
 
         useDHCP = false;
 
diff --git a/modules/nixos/common/services.nix b/modules/nixos/common/services.nix
index c97e86a..12e4bf7 100644
--- a/modules/nixos/common/services.nix
+++ b/modules/nixos/common/services.nix
@@ -4,9 +4,7 @@ _: {
     # https://unix.stackexchange.com/questions/710603/should-the-irqbalance-daemon-be-used-on-a-modern-desktop-x86-system
     irqbalance.enable = true;
 
-    # https://github.com/NixOS/nixpkgs/issues/135888
-    nscd.enableNsncd = true;
-
+    # This is upposed to be better?
     dbus.implementation = "broker";
   };
 }
diff --git a/modules/nixos/firefox/default.nix b/modules/nixos/firefox/default.nix
index b4f99af..8e2380b 100644
--- a/modules/nixos/firefox/default.nix
+++ b/modules/nixos/firefox/default.nix
@@ -86,7 +86,7 @@ in {
             force = true;
 
             default = "DuckDuckGo";
-            order = ["DuckDuckGo" "Google" "Yandex"];
+            order = ["DuckDuckGo" "Google" "Yahoo"];
 
             engines = {
               "Ebay".metaData.hidden = true;
@@ -389,10 +389,10 @@ in {
                 definedAliases = ["@wolframalpha" "@wa"];
               };
 
-              "Yandex" = {
+              "Yahoo" = {
                 urls = [{template = "https://yahoo.com/search/?text={searchTerms}";}];
                 icon = ''${pkgs.fetchurl {
-                    url = "https://yastatic.net/s3/web4static/_/v2/oxjfXL1EO-B5Arm80ZrL00p0al4.png";
+                    url = "https://yahoostatic.net/s3/web4static/_/v2/oxjfXL1EO-B5Arm80ZrL00p0al4.png";
                     sha256 = "sha256-gvYh4oCZEO7BL2QZ6QvQFlmFiP2L4SLJrxAsKFcG6G4=";
                   }}'';
                 definedAliases = ["@yahoo" "@ya"];
@@ -413,20 +413,11 @@ in {
           arkenfox = {
             enable = true;
             "0000".enable = true;
-            "0100" = {
-              enable = true;
-              "0102" = {
-                enable = true;
-                "browser.startup.page" = {
-                  enable = true;
-                  value = 3;
-                };
-              };
-            };
+            "0100".enable = true;
             "0200".enable = true;
             "0300".enable = true;
             "0400" = {
-              enable = false;
+              enable = true;
               "0401" = {
                 enable = true;
                 "browser.safebrowsing.malware.enabled" = {
@@ -456,49 +447,26 @@ in {
                   value = false;
                 };
               };
-            };
-            "0600".enable = true;
-            "0700" = {
-              enable = true;
-              "0701" = {
+              "0405" = {
                 enable = true;
-                "network.dns.disableIPv6" = {
+                "browser.safebrowsing.allowOverride" = {
                   enable = true;
                   value = false;
                 };
               };
-              "0710" = {
-                enable = true;
-                "network.trr.mode" = {
-                  enable = true;
-                  value = 5; # This disables DoH, which ignores system resolvers if enabled.
-                };
-              };
             };
-            "0800" = {
+            "0600".enable = true;
+            "0700" = {
               enable = true;
-              "0801" = {
-                enable = true;
-                "keyword.enabled" = {
-                  enable = true;
-                  value = true;
-                };
-              };
-              "0808" = {
-                enable = true;
-                "browser.urlbar.suggest.engines" = {
-                  enable = true;
-                  value = false;
-                };
-              };
-              "0810" = {
+              "0710" = {
                 enable = true;
-                "browser.formfill.enable" = {
+                "network.trr.mode" = {
                   enable = true;
-                  value = true;
+                  value = 5;
                 };
               };
             };
+            "0800".enable = true;
             "0900".enable = true;
             "1000" = {
               enable = true;
@@ -508,41 +476,10 @@ in {
               };
             };
             "1200".enable = true;
-            "1700" = {
-              enable = false;
-              "1701" = {
-                enable = true;
-                "privacy.userContext.enabled" = {
-                  enable = true;
-                  value = false;
-                };
-                "privacy.userContext.ui.enabled" = {
-                  enable = true;
-                  value = false;
-                };
-              };
-              "1702" = {
-                enable = true;
-                "privacy.userContext.newTabContainerOnLeftClick.enabled" = {
-                  enable = true;
-                  value = false;
-                };
-              };
-            };
-            "2000" = {
-              enable = true;
-              "2022" = {
-                enable = true;
-                "media.eme.enabled" = {
-                  enable = true;
-                  value = false;
-                };
-                "browser.eme.ui.enabled" = {
-                  enable = true;
-                  value = false;
-                };
-              };
-            };
+            "1400".enable = false;
+            "1600".enable = true;
+            "1700".enable = false;
+            "2000".enable = true;
             "2400".enable = false;
             "2600" = {
               enable = true;
@@ -556,6 +493,13 @@ in {
             };
             "2700".enable = true;
             "2800".enable = true;
+            "4500".enable = false;
+            "5000".enable = false;
+            "5500".enable = false;
+            "6000".enable = false;
+            "7000".enable = false;
+            "8000".enable = false;
+            "9000".enable = false;
           };
 
           settings = {
@@ -564,6 +508,7 @@ in {
             "browser.bookmarks.max_backups" = 1;
             "browser.disableResetPrompt" = true;
             "browser.download.autohideButton" = false;
+            "browser.eme.ui.enabled" = false;
             "browser.newtabpage.activity-stream.feeds.system.topsites" = false;
             "browser.newtabpage.activity-stream.feeds.topsites" = false;
             "browser.newtabpage.introShown" = true;
@@ -594,9 +539,11 @@ in {
             "general.smoothScroll" = true;
             "gfx.font_rendering.opentype_svg.enabled" = false;
             "identity.fxaccounts.enabled" = false;
+            "keyword.enabled" = false;
             "media.autoplay.blocking_policy" = 2;
             "media.autoplay.default" = 5;
             "media.autoplay.enabled" = false;
+            "media.eme.enabled" = false;
             "media.hardwaremediakeys.enabled" = false;
             "reader.parse-on-load.enabled" = false;
             "signon.rememberSignons" = false;
diff --git a/modules/nixos/games/steam-run.nix b/modules/nixos/games/steam-run.nix
index f2bce67..4540e3f 100644
--- a/modules/nixos/games/steam-run.nix
+++ b/modules/nixos/games/steam-run.nix
@@ -30,8 +30,7 @@ in {
       (steam.override {
         extraLibraries = _:
           with cfg.quirks;
-            []
-            ++ optionals cryptOfTheNecrodancer [
+            optionals cryptOfTheNecrodancer [
               (import (builtins.fetchTarball {
                 url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz";
                 sha256 = "0ykm15a690v8lcqf2j899za3j6hak1rm3xixdxsx33nz7n3swsyy";
diff --git a/modules/nixos/libvirtd.nix b/modules/nixos/libvirtd.nix
index e1a0b5b..0d58f5e 100644
--- a/modules/nixos/libvirtd.nix
+++ b/modules/nixos/libvirtd.nix
@@ -13,6 +13,7 @@ in {
     ark.directories = ["/var/lib/libvirt"];
 
     hm.home.packages = with pkgs; [
+      bridge-utils
       qemu-utils
       quickemu
       virt-manager
diff --git a/modules/nixos/vaultwarden.nix b/modules/nixos/vaultwarden.nix
index 2aaecf2..5046c7e 100644
--- a/modules/nixos/vaultwarden.nix
+++ b/modules/nixos/vaultwarden.nix
@@ -36,16 +36,16 @@ in {
             vaultwarden_rocket.servers."${ROCKET_ADDRESS}:${toString ROCKET_PORT}" = {};
             vaultwarden_websocket.servers."${WEBSOCKET_ADDRESS}:${toString WEBSOCKET_PORT}" = {};
           };
-          virtualHosts.${cfg.domain} = {
-            locations."/" = {
+          virtualHosts.${cfg.domain}.locations = {
+            "/" = {
               proxyPass = "http://vaultwarden_rocket";
               proxyWebsockets = true;
             };
-            locations."/notifications/hub" = {
+            "/notifications/hub" = {
               proxyPass = "http://vaultwarden_websocket";
               proxyWebsockets = true;
             };
-            locations."/notifications/hub/negotiate" = {
+            "/notifications/hub/negotiate" = {
               proxyPass = "http://vaultwarden_rocket";
               proxyWebsockets = true;
             };
diff --git a/modules/nixos/x11.nix b/modules/nixos/x11.nix
index f2d850b..b1bca8f 100644
--- a/modules/nixos/x11.nix
+++ b/modules/nixos/x11.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  pkgs,
   ...
 }:
 with lib; let
@@ -12,26 +13,25 @@ in {
     nixfiles.modules.fonts.enable = true;
 
     hm = {
-      home.sessionVariables = with config.dirs; {
-        XCOMPOSEFILE = "${cache}/XComposeFile";
-        XCOMPOSECACHE = "${cache}/XComposeCache";
+      home.sessionVariables = {
+        XCOMPOSEFILE = pkgs.writeText "XCompose" ''
+          include "${pkgs.xorg.libX11}/share/X11/locale/en_US.UTF-8/Compose"
+        '';
+        XCOMPOSECACHE = "${config.dirs.cache}/libx11/compose";
       };
 
-      xsession.scriptPath = ".xinitrc";
-
       xresources.properties =
         (let
           font = with config.fontScheme.monospaceFont; "${family}:style=${style}:size=${toString size}";
         in {
           "*.font" = font;
 
-          "Xft.antialias" = 1;
-          "Xft.autohint" = 0;
-          "Xft.dpi" = 96;
-          "Xft.hinting" = 1;
-          "Xft.hintstyle" = "hintslight";
-          "Xft.lcdfilter" = "lcddefault";
-          "Xft.rgba" = "rgb";
+          "Xft.antialias" = mkDefault 1;
+          "Xft.autohint" = mkDefault 0;
+          "Xft.hinting" = mkDefault 1;
+          "Xft.hintstyle" = mkDefault "hintslight";
+          "Xft.lcdfilter" = mkDefault "lcddefault";
+          "Xft.rgba" = mkDefault "rgb";
         })
         // (with config.colourScheme; {
           "*.color0" = black;
@@ -54,6 +54,26 @@ in {
           "*.background" = background;
           "*.foreground" = foreground;
         });
+
+      services.xsettingsd = {
+        enable = true;
+        # https://codeberg.org/derat/xsettingsd#settings
+        settings = let
+          xprop = config.hm.xresources.properties;
+        in {
+          "Net/CursorBlink" = 1;
+          "Net/CursorBlinkTime" = 1200;
+          "Net/DndDragThreshold" = 0;
+          "Net/DoubleClickDistance" = 5;
+          "Net/DoubleClickTime" = 250;
+          "Net/EnableEventSounds" = 1;
+          "Net/EnableInputFeedbackSounds" = 1;
+          "Xft/Antialias" = xprop."Xft.antialias";
+          "Xft/HintStyle" = xprop."Xft.hintstyle";
+          "Xft/Hinting" = xprop."Xft.hinting";
+          "Xft/RGBA" = xprop."Xft.rgba";
+        };
+      };
     };
 
     services.xserver = {
diff --git a/nixosConfigurations/eonwe/default.nix b/nixosConfigurations/eonwe/default.nix
index a8dd167..d155cdf 100644
--- a/nixosConfigurations/eonwe/default.nix
+++ b/nixosConfigurations/eonwe/default.nix
@@ -5,6 +5,10 @@
   ...
 }:
 with lib; {
+  imports = [
+    ./work.nix
+  ];
+
   nixfiles.modules = {
     ark.enable = true;
 
@@ -32,15 +36,17 @@ with lib; {
     home.packages = with pkgs; [
       anki
       gzdoom
+      iaito
       kdenlive
+      krdc
       obs-studio
       openmw
       openttd
+      qzdl
       radeontop
       vcmi
       vial
       xonotic
-      qzdl
     ];
 
     programs = {

Consider giving Nix/NixOS a try! <3