about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--configurations/eonwe/default.nix19
-rw-r--r--configurations/eonwe/ollama.nix68
-rw-r--r--configurations/eonwe/vidya.nix1
-rw-r--r--flake.lock129
-rw-r--r--modules/docker.nix9
-rw-r--r--modules/firefox/addons.json3
-rw-r--r--modules/firefox/addons.nix33
-rw-r--r--modules/firefox/default.nix29
-rw-r--r--modules/firefox/userChrome.css140
-rw-r--r--modules/firefox/userContent.css7
-rw-r--r--modules/podman.nix29
-rw-r--r--modules/psd.nix1
-rw-r--r--modules/syncthing.nix5
-rw-r--r--modules/wayland.nix7
14 files changed, 217 insertions, 263 deletions
diff --git a/configurations/eonwe/default.nix b/configurations/eonwe/default.nix
index 3928e84..9fd4ba2 100644
--- a/configurations/eonwe/default.nix
+++ b/configurations/eonwe/default.nix
@@ -23,7 +23,6 @@ with lib;
     android.enable = true;
     beets.enable = true;
     bluetooth.enable = true;
-    incus.enable = true;
     libvirtd.enable = true;
     mpd.enable = true;
     qutebrowser.enable = true;
@@ -39,6 +38,7 @@ with lib;
       paper-plane
       qolibri
       radeontop
+      rocmPackages.rocm-smi
       vial
       wacomtablet
     ];
@@ -295,6 +295,23 @@ with lib;
     "/home/${my.username}".neededForBoot = true;
   };
 
+  systemd.mounts = [
+    {
+      type = "tmpfs";
+      what = "tmpfs";
+      where = "/var/tmp";
+      mountConfig.Options = [
+        "huge=within_size"
+        "mode=1777"
+        "noatime"
+        "nodev"
+        "nosuid"
+        "rw"
+        "size=25%"
+      ];
+    }
+  ];
+
   zramSwap = {
     enable = true;
     memoryPercent = 25;
diff --git a/configurations/eonwe/ollama.nix b/configurations/eonwe/ollama.nix
new file mode 100644
index 0000000..a98fb3f
--- /dev/null
+++ b/configurations/eonwe/ollama.nix
@@ -0,0 +1,68 @@
+{
+  config,
+  lib,
+  ...
+}:
+
+{
+  ark.directories = [ config.services.ollama.home ];
+
+  hm.programs.firefox.profiles.default.bookmarks = [
+    {
+      name = "Bookmarks Toolbar";
+      toolbar = true;
+      bookmarks = [
+        {
+          name = "Ollama";
+          url = "http://127.0.0.1:11435";
+        }
+      ];
+    }
+  ];
+
+  services = {
+    ollama = {
+      enable = true;
+
+      host = "0.0.0.0";
+      port = 11434;
+
+      user = "ollama";
+      group = "ollama";
+
+      acceleration = "rocm";
+      rocmOverrideGfx = "10.3.0";
+
+      environmentVariables.OLLAMA_ORIGINS = lib.concatStringsSep "," [
+        "http://127.0.0.1:11435"
+        "http://eonwe.shire.net:11435"
+        "http://eonwe:11435"
+        "http://localhost:11435"
+      ];
+
+      openFirewall = true;
+    };
+
+    nextjs-ollama-llm-ui = {
+      enable = true;
+
+      hostname = "0.0.0.0";
+      port = 11435;
+
+      ollamaUrl = "http://127.0.0.1:11434";
+    };
+  };
+
+  systemd.services = {
+    ollama = {
+      serviceConfig = {
+        StateDirectory = lib.mkForce config.services.ollama.home;
+        DynamicUser = lib.mkForce false;
+        User = config.services.ollama.user;
+        Group = config.services.ollama.group;
+      };
+    };
+
+    nextjs-ollama-llm-ui.serviceConfig.CacheDirectory = "nextjs-ollama-llm-ui";
+  };
+}
diff --git a/configurations/eonwe/vidya.nix b/configurations/eonwe/vidya.nix
index bf9ffb4..a40daa9 100644
--- a/configurations/eonwe/vidya.nix
+++ b/configurations/eonwe/vidya.nix
@@ -33,7 +33,6 @@
     fallout-ce
     fallout2-ce
     gzdoom
-    nethack
     openmw
     openttd
     qzdl
diff --git a/flake.lock b/flake.lock
index b46ec93..4fa2d06 100644
--- a/flake.lock
+++ b/flake.lock
@@ -71,11 +71,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730968822,
-        "narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=",
+        "lastModified": 1731496216,
+        "narHash": "sha256-nlQrNN+tmJ+iP6Ck/czwZI0Hxz3oNvUyGkVruxJwgwA=",
         "owner": "hyprwm",
         "repo": "aquamarine",
-        "rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14",
+        "rev": "3b00e96f90cb0040de6d88ad99bf5f4d443f0c59",
         "type": "github"
       },
       "original": {
@@ -116,11 +116,11 @@
     "azahi-cc": {
       "flake": false,
       "locked": {
-        "lastModified": 1688374221,
-        "narHash": "sha256-FK8wJXsOQHzLH3QJ932xJXan8NmWjJbenjL9OAZzw7w=",
+        "lastModified": 1731443312,
+        "narHash": "sha256-+w/EjWb1OTHD4htRNTjKNshHMhzG2W3yhabsPloyKAw=",
         "ref": "master",
-        "rev": "e5faa2c2cb107c77ce2f4268c6b5d3d01be078cb",
-        "revCount": 17,
+        "rev": "9ba3c3d09c6db4449722607d899ccef2730ac886",
+        "revCount": 18,
         "type": "git",
         "url": "https://git.azahi.cc/azahi-cc"
       },
@@ -262,11 +262,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730751873,
-        "narHash": "sha256-sdY29RWz0S7VbaoTwSy6RummdHKf0wUTaBlqPxrtvmQ=",
+        "lastModified": 1731746438,
+        "narHash": "sha256-f3SSp1axoOk0NAI7oFdRzbxG2XPBSIXC+/DaAXnvS1A=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "856a2902156ba304efebd4c1096dbf7465569454",
+        "rev": "cb64993826fa7a477490be6ccb38ba1fa1e18fa8",
         "type": "github"
       },
       "original": {
@@ -336,11 +336,11 @@
         "systems": "systems_2"
       },
       "locked": {
-        "lastModified": 1726560853,
-        "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
+        "lastModified": 1731533236,
+        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
+        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
         "type": "github"
       },
       "original": {
@@ -400,11 +400,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730814269,
-        "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
+        "lastModified": 1731363552,
+        "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "d70155fdc00df4628446352fc58adc640cd705c2",
+        "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
         "type": "github"
       },
       "original": {
@@ -458,11 +458,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730633670,
-        "narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=",
+        "lastModified": 1731604581,
+        "narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661",
+        "rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
         "type": "github"
       },
       "original": {
@@ -474,11 +474,11 @@
     "homelab-svg-assets": {
       "flake": false,
       "locked": {
-        "lastModified": 1729175365,
-        "narHash": "sha256-r43u2HqdhRezqGwo/nbbZhHx5WUmkvAsfoLt8taFKyw=",
+        "lastModified": 1731595323,
+        "narHash": "sha256-j8sUwfjWuSeD9D8Id+zFJ6jkbLphUHLn29k4uNAEbVU=",
         "owner": "loganmarchione",
         "repo": "homelab-svg-assets",
-        "rev": "745e5d9249f2c847d58de5f1fd7ba4de2f63918e",
+        "rev": "54342c639455e3b2258ad36a5c262d1d993b78e6",
         "type": "github"
       },
       "original": {
@@ -532,11 +532,11 @@
         "xdph": "xdph"
       },
       "locked": {
-        "lastModified": 1731119644,
-        "narHash": "sha256-tQytm74mti64PmF0BbLdFUip9OD/nJwSiGuwAGlSAZY=",
+        "lastModified": 1731712919,
+        "narHash": "sha256-368tg2qt73lTaY7nc7SzGpSwks024mSd0yxW65QZt/c=",
         "owner": "hyprwm",
         "repo": "Hyprland",
-        "rev": "cca227a53e10b9101d2fbcfb99e6360b416d7168",
+        "rev": "7affc34ab43c5d5cbf670759b839a9e990d8bbea",
         "type": "github"
       },
       "original": {
@@ -611,11 +611,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730968903,
-        "narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
+        "lastModified": 1731518387,
+        "narHash": "sha256-aZZw1ZvTMLkcA6udlvkA3hrCkuipoWLy8s/JNnIclxY=",
         "owner": "hyprwm",
         "repo": "hyprutils",
-        "rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
+        "rev": "315fba5d21d87ddb756d4bebdb49f99d86b0ffe8",
         "type": "github"
       },
       "original": {
@@ -651,11 +651,11 @@
     },
     "impermanence": {
       "locked": {
-        "lastModified": 1730403150,
-        "narHash": "sha256-W1FH5aJ/GpRCOA7DXT/sJHFpa5r8sq2qAUncWwRZ3Gg=",
+        "lastModified": 1731242966,
+        "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "0d09341beeaa2367bac5d718df1404bf2ce45e6f",
+        "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a",
         "type": "github"
       },
       "original": {
@@ -718,11 +718,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730771089,
-        "narHash": "sha256-TRt7P8pIcKlrz1gVqtibcq2ZGu/EHep1I0n2Chklta4=",
+        "lastModified": 1731721802,
+        "narHash": "sha256-bdzCCvI3spAsAhWOt8NUrnyVSXI0DBTf7ZAGxJq05pk=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "84d4f0e13ff27a31d6b73d0ec4ab151755f9f1cb",
+        "rev": "b169b926e312ac0ea61367a191014a9d6e2114e8",
         "type": "github"
       },
       "original": {
@@ -738,11 +738,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730604744,
-        "narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
+        "lastModified": 1731593150,
+        "narHash": "sha256-FvksinoI2Y6kuwH+cKBu1oDA8uPGfoRqgtQV6O8GDc4=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
+        "rev": "40d882b55e89add1ded379cc99edaab24983d6d9",
         "type": "github"
       },
       "original": {
@@ -780,11 +780,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1730797322,
-        "narHash": "sha256-cH9emjYIbDYTde/CKOmU97rh7sKuyfedzPcTz4OTJkE=",
+        "lastModified": 1731740897,
+        "narHash": "sha256-teFd31vsE/0Z0WR6XVeKhKPw6Eyb2gXGpG0tjpMfBDM=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "1b0b927860d7eb367ee6a3123ddeb7a8e24bd836",
+        "rev": "c2c275fbb2e656948ba6e1f67b8ddd430f158c5f",
         "type": "github"
       },
       "original": {
@@ -795,11 +795,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1730785428,
-        "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
+        "lastModified": 1731139594,
+        "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
+        "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
         "type": "github"
       },
       "original": {
@@ -854,11 +854,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1730825790,
-        "narHash": "sha256-3mg9ETbJWsXrF4iMaIACVfiiZe8I/+E9Wxet7C78d1I=",
+        "lastModified": 1731754023,
+        "narHash": "sha256-pP3mOxJzWNaE866eHXRkCN4q2kVdFflmj4ahWg64wgM=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "ec3d46cd68eff268ed54793ab909d700117f6a66",
+        "rev": "1b68d687ec217df9ec606ed67b718d04d4eac14b",
         "type": "github"
       },
       "original": {
@@ -870,11 +870,11 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1730806663,
-        "narHash": "sha256-yFmtgfZnzcoJy+z26+ilRq0oxZHCwifsUMjO6pa7hIc=",
+        "lastModified": 1731737433,
+        "narHash": "sha256-pT/lio7wmcXBZreoQ3xsPYd2wGvlFNKnottDYpwJSfs=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a417c003326c9a0cdebb62157466603313ffd47e",
+        "rev": "3c1c28c6d6691914707719d33f2e88b0feb7c58d",
         "type": "github"
       },
       "original": {
@@ -886,11 +886,11 @@
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1730768919,
-        "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=",
+        "lastModified": 1731531548,
+        "narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc",
+        "rev": "24f0d4acd634792badd6470134c387a3b039dace",
         "type": "github"
       },
       "original": {
@@ -972,11 +972,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730682372,
-        "narHash": "sha256-GU8ghhVS7ctcV4Cy1W3X/N6KtmJNVptirIzkA7NMxp8=",
+        "lastModified": 1730940990,
+        "narHash": "sha256-FyRDs/jlmaBDL1ryf3tM9rFaOrlYn5wSa1VUr4k2w+4=",
         "owner": "nix-community",
         "repo": "srvos",
-        "rev": "a9f2ae9fb213b6175c71cd6aecfdb366979d2e0c",
+        "rev": "dabae9d2062afd45f343d13d819eea1029d08162",
         "type": "github"
       },
       "original": {
@@ -1008,11 +1008,11 @@
         "tinted-tmux": "tinted-tmux"
       },
       "locked": {
-        "lastModified": 1729963473,
-        "narHash": "sha256-uGjTjvvlGQfQ0yypVP+at0NizI2nrb6kz4wGAqzRGbY=",
+        "lastModified": 1731657386,
+        "narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "04afcfc0684d9bbb24bb1dc77afda7c1843ec93b",
+        "rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f",
         "type": "github"
       },
       "original": {
@@ -1084,16 +1084,17 @@
     "tinted-foot": {
       "flake": false,
       "locked": {
-        "lastModified": 1696725948,
-        "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
+        "lastModified": 1726913040,
+        "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
         "owner": "tinted-theming",
         "repo": "tinted-foot",
-        "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
+        "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
         "type": "github"
       },
       "original": {
         "owner": "tinted-theming",
         "repo": "tinted-foot",
+        "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
         "type": "github"
       }
     },
@@ -1143,11 +1144,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730771180,
-        "narHash": "sha256-VSPWndy0ChZobMOS283g1KItO+jLfzTLNaFSN+Lixlw=",
+        "lastModified": 1731721953,
+        "narHash": "sha256-Wh+SleqO6vQc4M6UI90zbm3al2Hq3OLbMupJmrTIdq8=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "77da8f3bed69932db301f372119ed71c439193b7",
+        "rev": "32e3b124252161fcd7e0623c6e6faf9d535c1a3f",
         "type": "github"
       },
       "original": {
diff --git a/modules/docker.nix b/modules/docker.nix
index 62dc095..330d417 100644
--- a/modules/docker.nix
+++ b/modules/docker.nix
@@ -5,14 +5,13 @@
   pkgs,
   ...
 }:
-with lib;
 let
   cfg = config.nixfiles.modules.docker;
 in
 {
-  options.nixfiles.modules.docker.enable = mkEnableOption "Docker";
+  options.nixfiles.modules.docker.enable = lib.mkEnableOption "Docker";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     assertions = [
       {
         assertion = cfg.enable -> !config.nixfiles.modules.podman.enable;
@@ -20,12 +19,14 @@ in
       }
     ];
 
+    ark.directories = [ "/var/lib/docker" ];
+
     nixfiles.modules.common.shell.aliases.d = "docker";
 
     secrets.containers-auth = {
       file = "${inputs.self}/secrets/containers-auth";
       path = "${config.my.home}/.docker/config.json";
-      owner = my.username;
+      owner = lib.my.username;
       inherit (config.my) group;
     };
 
diff --git a/modules/firefox/addons.json b/modules/firefox/addons.json
index 2a217c2..f189ed7 100644
--- a/modules/firefox/addons.json
+++ b/modules/firefox/addons.json
@@ -7,9 +7,6 @@
     "slug": "consent-o-matic"
   },
   {
-    "slug": "darkreader"
-  },
-  {
     "slug": "furiganaize"
   },
   {
diff --git a/modules/firefox/addons.nix b/modules/firefox/addons.nix
index ebe834a..6fac4df 100644
--- a/modules/firefox/addons.nix
+++ b/modules/firefox/addons.nix
@@ -52,27 +52,6 @@
       platforms = platforms.all;
     };
   };
-  "darkreader" = buildFirefoxXpiAddon {
-    pname = "darkreader";
-    version = "4.9.94";
-    addonId = "addon@darkreader.org";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4359254/darkreader-4.9.94.xpi";
-    sha256 = "251c4e7d0a30c0cab006803600e59ab92dcc0c606429740d42677846d4c9ccd6";
-    meta = with lib; {
-      homepage = "https://darkreader.org/";
-      description = "Dark mode for every website. Take care of your eyes, use dark theme for night and daily browsing.";
-      license = licenses.mit;
-      mozPermissions = [
-        "alarms"
-        "contextMenus"
-        "storage"
-        "tabs"
-        "theme"
-        "<all_urls>"
-      ];
-      platforms = platforms.all;
-    };
-  };
   "furiganaize" = buildFirefoxXpiAddon {
     pname = "furiganaize";
     version = "0.7.2";
@@ -288,10 +267,10 @@
   };
   "ublock-origin" = buildFirefoxXpiAddon {
     pname = "ublock-origin";
-    version = "1.60.0";
+    version = "1.61.0";
     addonId = "uBlock0@raymondhill.net";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.60.0.xpi";
-    sha256 = "e2cda9b2a1b0a7f6e5ef0da9f87f28df52f8560587ba2e51a3003121cfb81600";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4382536/ublock_origin-1.61.0.xpi";
+    sha256 = "e6fd55b799a568c66c10892a8f22428e6773fe16d7466ce9dee2952f224b203d";
     meta = with lib; {
       homepage = "https://github.com/gorhill/uBlock#ublock-origin";
       description = "Finally, an efficient wide-spectrum content blocker. Easy on CPU and memory.";
@@ -348,10 +327,10 @@
   };
   "violentmonkey" = buildFirefoxXpiAddon {
     pname = "violentmonkey";
-    version = "2.26.0";
+    version = "2.28.0";
     addonId = "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4362578/violentmonkey-2.26.0.xpi";
-    sha256 = "47b61fd463602a38bf67591ab94c60d3f1a02ad4f81b9a8a3de97d5461b2e12e";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4379821/violentmonkey-2.28.0.xpi";
+    sha256 = "30bc3db14194a5197e4721d419123f3a02b9c6f3e94646724aa991137121bcba";
     meta = with lib; {
       homepage = "https://violentmonkey.github.io/";
       description = "Userscript support for browsers, open source.";
diff --git a/modules/firefox/default.nix b/modules/firefox/default.nix
index 51e464f..c207930 100644
--- a/modules/firefox/default.nix
+++ b/modules/firefox/default.nix
@@ -41,28 +41,6 @@ in
             mkCssWithRoot =
               css:
               mkMerge [
-                # https://github.com/tinted-theming/base24/blob/master/styling.md
-                (with config.colors.withHashtag; ''
-                  :root {
-                    --black: ${base01};
-                    --red: ${base08};
-                    --green: ${base0B};
-                    --yellow: ${base09};
-                    --blue: ${base0D};
-                    --magenta: ${base0E};
-                    --cyan: ${base0C};
-                    --white: ${base06};
-                    --bright-black: ${base02};
-                    --bright-red: ${base12};
-                    --bright-green: ${base14};
-                    --bright-yellow: ${base13};
-                    --bright-blue: ${base16};
-                    --bright-magenta: ${base17};
-                    --bright-cyan: ${base15};
-                    --bright-white: ${base07};
-                    --background: ${base00};
-                    --foreground: ${base05};
-                '')
                 (
                   let
                     mapFonts = concatMapStringsSep ", " (font: ''"${font}"'');
@@ -70,6 +48,7 @@ in
                   in
                   with config.fonts.fontconfig.defaultFonts;
                   ''
+                    :root {
                       --serif-font-family: ${mapFonts serif}, serif;
                       --serif-font-size: ${size};
                       --sans-serif-font-family: ${mapFonts sansSerif}, sans-serif;
@@ -124,7 +103,6 @@ in
               with addons;
               [
                 consent-o-matic
-                darkreader
                 furiganaize
                 languagetool
                 metamask
@@ -422,6 +400,10 @@ in
                 name = "Bookmarks Toolbar";
                 toolbar = true;
                 bookmarks = with config.nixfiles.modules; [
+                  {
+                    name = "XUL";
+                    url = "chrome://browser/content/browser.xhtml";
+                  }
                   (mkIf syncthing.enable {
                     name = "Syncthing";
                     url = "http://${config.services.syncthing.guiAddress}";
@@ -530,6 +512,7 @@ in
               "browser.tabs.warnOnClose" = false;
               "browser.tabs.warnOnCloseOtherTabs" = false;
               "browser.tabs.warnOnOpen" = false;
+              "browser.theme.dark-private-windows" = false;
               "browser.toolbars.bookmarks.visibility" = "newtab";
               "browser.translations.enable" = false;
               "browser.urlbar.decodeURLsOnCopy" = true;
diff --git a/modules/firefox/userChrome.css b/modules/firefox/userChrome.css
index 80d1f7a..aeb1c8f 100644
--- a/modules/firefox/userChrome.css
+++ b/modules/firefox/userChrome.css
@@ -1,23 +1,9 @@
 @-moz-document url(chrome://browser/content/browser.xhtml)
 {
-  /*
-   ***
-   * Tabbar
-   ***
-   */
-
-  /*
-   * Apply colours and fonts.
-   */
-  .tabbrowser-tab {
-    color: var(--background-alt) !important;
+  #urlbar {
     font-family: var(--sans-serif-font-family) !important;
     font-size: var(--sans-serif-font-size) !important;
   }
-  .tabbrowser-tab[visuallyselected="true"] {
-    background: var(--background) !important;
-    color: var(--foreground) !important;
-  }
 
   /*
    * Not sure why is this shit even exists...
@@ -34,32 +20,6 @@
   }
 
   /*
-   * Disable borders and margins.
-   */
-  #tabbrowser-tabs {
-    border-inline-start: 0 !important;
-    /* padding-inline-start: 0 !important; */
-    margin-inline-start: 0 !important;
-  }
-  #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
-    > #tabbrowser-arrowscrollbox
-    > .tabbrowser-tab[first-visible-unpinned-tab] {
-    margin-inline-start: none !important;
-  }
-  .tabbrowser-tab::after,
-  .tabbrowser-tab::before {
-    border: none !important;
-  }
-
-  /*
-   * Make tabs backgroundless.
-   */
-  /* .tab-background, */
-  /* .tab-line { */
-  /*   display: none !important; */
-  /* } */
-
-  /*
    * Stretch tabs to the max by default.
    */
   .tabbrowser-tab[fadein]:not([pinned="true"]) {
@@ -67,14 +27,6 @@
   }
 
   /*
-   * Fix favicon location.
-   */
-  .tab-icon-image {
-    margin-inline-end: 10px !important;
-    margin-top: 0px !important;
-  }
-
-  /*
    * "C-t" exists.
    */
   #tabs-newtab-button,
@@ -90,64 +42,13 @@
   }
 
   /*
-   ***
-   * Navbar & urlbar.
-   ***
-   */
-
-  /*
-   * Remove padding between urlbar and side elements.
+   * Remove padding between URL bar and side elements.
    */
   #customizableui-special-spring1,
   #customizableui-special-spring2 {
     display: none !important;
   }
 
-  #urlbar {
-    background: var(--background) !important;
-    color: var(--foreground) !important;
-    font-family: var(--sans-serif-font-family) !important;
-    font-size: var(--sans-serif-font-size) !important;
-    border-color: transparent !important;
-  }
-
-  /* #urlbar:not(:-moz-lwtheme):not([focused="true"]) > #urlbar-background, */
-  /* #searchbar:not(:-moz-lwtheme):not(:focus-within) { */
-  /*   border: none !important; */
-  /* } */
-
-  /* #urlbar *|*.textbox-input::-moz-placeholder { */
-  /*   color: transparent !important; */
-  /* } */
-
-  /* .urlbar-icon:hover:not([disabled]), */
-  /* .urlbar-icon-wrapper:hover:not([disabled]) { */
-  /*   background-color: var(--background-alt) !important; */
-  /* } */
-
-  /* #urlbar-background { */
-  /*   background: transparent !important; */
-  /* } */
-
-  /* .urlbarView-tags, */
-  /* .urlbarView-url, */
-  /* .urlbarView-title:not(:empty) ~ .urlbarView-action { */
-  /*   font-size: var(--sans-serif-font-size) !important; */
-  /* } */
-
-  .urlbarView-row[label="Firefox Suggest"] {
-    margin-block-start: 0 !important;
-  }
-  .urlbarView-row[label="Firefox Suggest"]::before {
-    display: none !important;
-  }
-
-  /*
-   ***
-   * Misc.
-   ***
-   */
-
   /*
    * Call indicator that some "designer" decided to make floating and impossible
    * to hide.
@@ -157,16 +58,41 @@
   }
 
   /*
-   * Disable some context menu entries.
-   */
-  #context-navigation {
+   * Context menu. Both for tabs and page.
+   */
+  #context-bookmarklink,
+  #context-inspect-a11y,
+  #context-navigation,
+  #context-pocket,
+  #context-print-selection,
+  #context-searchselect,
+  #context-selectall,
+  #context-sendimage,
+  #context-sendlinktodevice,
+  #context-sendpagetodevice,
+  #context-viewsource,
+  #context_bookmarkTab,
+  #context_moveTabOptions,
+  #context_selectAllTabs,
+  #context_sendTabToDevice,
+  menuseparator {
     display: none !important;
   }
 
   /*
-   * Remove dumb websites that Mozilla is forced to include.
+   * Unify margins for tab browser.
    */
-  .search-one-offs {
-    display: none !important;
+  #tabbrowser-tabs {
+    margin-inline-start: 0 !important;
+    border-inline-start: 0 !important;
+    padding-inline-start: calc(
+      var(--tab-overflow-pinned-tabs-width) + 2px
+    ) !important;
+    margin-inline-start: 0 !important;
+  }
+  #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])[orient="horizontal"]
+    > #tabbrowser-arrowscrollbox
+    > .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) {
+    margin-inline-start: 0 !important;
   }
 }
diff --git a/modules/firefox/userContent.css b/modules/firefox/userContent.css
index 96bb529..72382db 100644
--- a/modules/firefox/userContent.css
+++ b/modules/firefox/userContent.css
@@ -1,16 +1,11 @@
 @-moz-document media-document(all) {
   body {
     background-image: none !important;
-    background-color: var(--background) !important;
+    background-color: var(--background-color-box) !important;
   }
 }
 
 @-moz-document regexp("about:(blank|home|newtab|privatebrowsing|welcome)") {
-  html,
-  body {
-    background: var(--background) !important;
-  }
-
   body {
     display: none !important;
   }
diff --git a/modules/podman.nix b/modules/podman.nix
index bdef5be..6c4b20a 100644
--- a/modules/podman.nix
+++ b/modules/podman.nix
@@ -5,14 +5,13 @@
   pkgs,
   ...
 }:
-with lib;
 let
   cfg = config.nixfiles.modules.podman;
 in
 {
-  options.nixfiles.modules.podman.enable = mkEnableOption "Podman";
+  options.nixfiles.modules.podman.enable = lib.mkEnableOption "Podman";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     assertions = [
       {
         assertion = cfg.enable -> !config.nixfiles.modules.docker.enable;
@@ -20,33 +19,31 @@ in
       }
     ];
 
+    ark.directories = [ "/var/lib/containers" ];
+
     nixfiles.modules.common.shell.aliases.p = "podman";
 
     secrets.containers-auth = {
       file = "${inputs.self}/secrets/containers-auth";
       path = "${config.dirs.config}/containers/auth.json";
-      owner = my.username;
+      owner = lib.my.username;
       inherit (config.my) group;
     };
 
     virtualisation.podman = {
       enable = true;
-      dockerCompat = true;
-      dockerSocket.enable = true;
+      dockerCompat = false;
+      dockerSocket.enable = false;
     };
 
-    environment.systemPackages = with pkgs; [ podman-compose ];
+    environment.systemPackages = [ pkgs.podman-compose ];
 
     my.extraGroups = [ "podman" ];
 
-    hm.xdg.configFile = {
-      "containers/registries.conf".source = pkgs.writers.writeTOML "containers-registries.toml" {
-        registries.search.registries = [ "docker.io" ];
-      };
-
-      "containers/storage.conf".source = pkgs.writers.writeTOML "containers-storage.toml" {
-        storage.driver = "overlay";
-      };
-    };
+    hm.xdg.configFile."containers/registries.conf".source =
+      pkgs.writers.writeTOML "containers-registries.toml"
+        {
+          registries.search.registries = [ "docker.io" ];
+        };
   };
 }
diff --git a/modules/psd.nix b/modules/psd.nix
index f974af2..5bb9dc3 100644
--- a/modules/psd.nix
+++ b/modules/psd.nix
@@ -17,6 +17,7 @@ in
 
       xdg.configFile."psd/psd.conf".text = ''
         USE_OVERLAYFS="yes"
+        USE_BACKUPS="no"
       '';
     };
 
diff --git a/modules/syncthing.nix b/modules/syncthing.nix
index e261a12..e61c080 100644
--- a/modules/syncthing.nix
+++ b/modules/syncthing.nix
@@ -121,11 +121,6 @@ in
                 devices = notHeadless;
                 versioning = trashcan;
               };
-              pass = {
-                path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR;
-                devices = notOther;
-                versioning = trashcan;
-              };
               org = {
                 path = "${documents}/org";
                 devices = all;
diff --git a/modules/wayland.nix b/modules/wayland.nix
index 1ad4fe3..f15f66e 100644
--- a/modules/wayland.nix
+++ b/modules/wayland.nix
@@ -22,12 +22,7 @@ in
         wlr-randr
       ];
 
-      sessionVariables = {
-        NIXOS_OZONE_WL = 1;
-        QT_QPA_PLATFORM = "wayland";
-        SDL_VIDEODRIVER = "wayland";
-        XDG_SESSION_TYPE = "wayland";
-      };
+      sessionVariables.NIXOS_OZONE_WL = 1;
     };
   };
 }

Consider giving Nix/NixOS a try! <3