about summary refs log tree commit diff
diff options
context:
space:
mode:
authorazahi <azat@bahawi.net>2025-01-01 13:10:32 +0300
committerazahi <azat@bahawi.net>2025-01-01 13:10:32 +0300
commit7c06c0a354b106e37e26ddfc2bc6ba8336d90cc7 (patch)
treed52c7729b2aa8d81aaa18301d70877a6911a2167
parent2024-12-17 (diff)
2025-01-01 HEAD master
-rw-r--r--checks.nix2
-rw-r--r--configurations/eonwe/default.nix46
-rw-r--r--configurations/eonwe/ollama.nix26
-rw-r--r--configurations/manwe/default.nix3
-rw-r--r--flake.lock112
-rw-r--r--flake.nix2
-rw-r--r--modules/common/ark.nix4
-rw-r--r--modules/emacs/doom/config.el71
-rw-r--r--modules/emacs/doom/init.el2
-rw-r--r--modules/firefox/addons.json3
-rw-r--r--modules/firefox/addons.nix302
-rw-r--r--modules/firefox/default.nix1
-rw-r--r--modules/firefox/userContent.css88
-rw-r--r--modules/profiles/default.nix8
-rw-r--r--modules/profiles/headful.nix2
15 files changed, 382 insertions, 290 deletions
diff --git a/checks.nix b/checks.nix
index 3261f1a..173c1d4 100644
--- a/checks.nix
+++ b/checks.nix
@@ -29,7 +29,7 @@
       detect-private-keys.enable = true;
       editorconfig-checker.enable = true;
       fix-byte-order-marker.enable = true;
-      flake-checker.enable = true;
+      # flake-checker.enable = true;
       nil.enable = true;
       nixfmt-rfc-style.enable = true;
       prettier.enable = true;
diff --git a/configurations/eonwe/default.nix b/configurations/eonwe/default.nix
index f718135..875f737 100644
--- a/configurations/eonwe/default.nix
+++ b/configurations/eonwe/default.nix
@@ -193,34 +193,7 @@ with lib;
     cores = 30;
   };
 
-  # Required[1] for using ZFS kernel modules with "unsupported" kernels.
-  #
-  # [1]: https://github.com/NixOS/nixpkgs/pull/121113#issuecomment-830003344
-  # [1]: https://github.com/NixOS/nixpkgs/pull/230498#issuecomment-1551328615
-  nixpkgs.config.allowBroken = true;
-
   boot = {
-    kernelPackages = pkgs.linuxPackages_xanmod_latest;
-
-    kernelParams = [
-      # Silence benign MCE errors:
-      # ```
-      # mce: [Hardware Error]: CPU 1: Machine Check: 0 Bank 29: ffffffffffffffff
-      # mce: [Hardware Error]: TSC 0 MISC ff1fffffffffffff SYND ffffffffffffffff IPID ffffffffffffffff
-      # mce: [Hardware Error]: PROCESSOR 2:a60f12 TIME 1669988017 SOCKET 0 APIC 2 microcode a601201
-      # ```
-      "mce=nobootlog"
-      # This disables[1] User Mode Instruction Protection (UMIP)[2]. This is
-      # required for some games to run via Wine.
-      #
-      # [1]: https://docs.kernel.org/x86/cpuinfo.html
-      # [2]: https://en.wikichip.org/wiki/x86/umip
-      "clearcpuid=514"
-    ];
-
-    # https://wiki.archlinux.org/title/improving_performance#Watchdogs
-    blacklistedKernelModules = [ "sp5100_tco" ];
-
     # The boot drive is Samsung SSD 980 PRO 2TB.
     initrd.kernelModules = [ "nvme" ];
 
@@ -306,26 +279,9 @@ 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;
+    memoryPercent = 50;
   };
 
   my.extraGroups = [ "corectrl" ];
diff --git a/configurations/eonwe/ollama.nix b/configurations/eonwe/ollama.nix
index 806885b..45e6179 100644
--- a/configurations/eonwe/ollama.nix
+++ b/configurations/eonwe/ollama.nix
@@ -1,11 +1,11 @@
 {
-  config,
   lib,
   ...
 }:
 {
   ark.directories = [
-    config.services.ollama.home
+    "/var/lib/private/open-webui"
+    "/var/lib/private/ollama"
   ];
 
   hm.programs.firefox.profiles.default.bookmarks = [
@@ -32,9 +32,6 @@
       host = "0.0.0.0";
       port = 11434;
 
-      user = "ollama";
-      group = "ollama";
-
       acceleration = "rocm";
       rocmOverrideGfx = "11.0.0";
 
@@ -75,23 +72,4 @@
       openFirewall = true;
     };
   };
-
-  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;
-  };
-
-  users = {
-    users.ollama = {
-      isSystemUser = true;
-      group = "ollama";
-      inherit (config.services.ollama) home;
-      uid = 241; # Reuses a removed ID from Nixpkgs.
-    };
-    groups.ollama.gid = 241;
-  };
-
-  my.extraGroups = [ "ollama" ];
 }
diff --git a/configurations/manwe/default.nix b/configurations/manwe/default.nix
index f9cb2be..89b111a 100644
--- a/configurations/manwe/default.nix
+++ b/configurations/manwe/default.nix
@@ -7,6 +7,9 @@ with lib;
 {
   imports = attrValues (modulesIn ./.);
 
+  # Something is broken there. Not sure why it affects me tho.
+  disabledModules = [ "services/networking/wireguard-networkd.nix" ];
+
   nixfiles.modules = {
     wireguard.server.enable = true;
 
diff --git a/flake.lock b/flake.lock
index c4ee276..0eabee8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -229,11 +229,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734343412,
-        "narHash": "sha256-b7G8oFp0Nj01BYUJ6ENC9Qf/HsYAIZvN9k/p0Kg/PFU=",
+        "lastModified": 1735048446,
+        "narHash": "sha256-Tc35Y8H+krA6rZeOIczsaGAtobSSBPqR32AfNTeHDRc=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "a08bfe06b39e94eec98dd089a2c1b18af01fef19",
+        "rev": "3a4de9fa3a78ba7b7170dda6bd8b4cdab87c0b21",
         "type": "github"
       },
       "original": {
@@ -367,11 +367,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734379367,
-        "narHash": "sha256-Keu8z5VgT5gnCF4pmB+g7XZFftHpfl4qOn7nqBcywdE=",
+        "lastModified": 1734797603,
+        "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "0bb4be58f21ff38fc3cdbd6c778eb67db97f0b99",
+        "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
         "type": "github"
       },
       "original": {
@@ -425,11 +425,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734344598,
-        "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=",
+        "lastModified": 1735381016,
+        "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "83ecd50915a09dca928971139d3a102377a8d242",
+        "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2",
         "type": "github"
       },
       "original": {
@@ -456,11 +456,11 @@
     },
     "impermanence": {
       "locked": {
-        "lastModified": 1734200366,
-        "narHash": "sha256-0NursoP4BUdnc+wy+Mq3icHkXu/RgP1Sjo0MJxV2+Dw=",
+        "lastModified": 1734945620,
+        "narHash": "sha256-olIfsfJK4/GFmPH8mXMmBDAkzVQ1TWJmeGT3wBGfQPY=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "c6323585fa0035d780e3d8906eb1b24b65d19a48",
+        "rev": "d000479f4f41390ff7cf9204979660ad5dd16176",
         "type": "github"
       },
       "original": {
@@ -472,11 +472,11 @@
     "infuse": {
       "flake": false,
       "locked": {
-        "lastModified": 1732860261,
-        "narHash": "sha256-xGOVrmZgsi5qAEFrPelsC7DE1Kd9+EJ2oY/gCKD4Diw=",
+        "lastModified": 1735391646,
+        "narHash": "sha256-hT6nV+C8VmdC7yUFA8lBTYqHyehSewQAcesQa8Xjrew=",
         "ref": "refs/heads/trunk",
-        "rev": "0005869a31b879b57cfc9b216c8cf7f3c710579c",
-        "revCount": 41,
+        "rev": "a9baa4b0ac2f88a6aad540831bc5958891b68b5e",
+        "revCount": 44,
         "type": "git",
         "url": "https://codeberg.org/amjoseph/infuse.nix"
       },
@@ -494,14 +494,14 @@
         "nixpkgs": [
           "nixpkgs"
         ],
-        "nixpkgs-24_05": "nixpkgs-24_05"
+        "nixpkgs-24_11": "nixpkgs-24_11"
       },
       "locked": {
-        "lastModified": 1734370678,
-        "narHash": "sha256-a8zkti1QM5Oxkdfnzr/NjrFlyqI36/kYV/X8G1jOmB4=",
+        "lastModified": 1735230346,
+        "narHash": "sha256-zgR8NTiNDPVNrfaiOlB9yHSmCqFDo7Ks2IavaJ2dZo4=",
         "owner": "simple-nixos-mailserver",
         "repo": "nixos-mailserver",
-        "rev": "c43d8c4a3ce84a7bebd110b06e69365484db6208",
+        "rev": "dc0569066e79ae96184541da6fa28f35a33fbf7b",
         "type": "gitlab"
       },
       "original": {
@@ -523,11 +523,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734314370,
-        "narHash": "sha256-9PhjDAAuXP4tuJg+kM1AozKwBFyHHJ8ZqhQD+peqGtg=",
+        "lastModified": 1735437273,
+        "narHash": "sha256-MSB8fwFAV/9KOcnlmrZvjJkL4o0QkzzUUPb/PT3YQII=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "616634de04e87b621bc3d495af114c4e9c6ccd36",
+        "rev": "37ae8c818d9943c0b60826ace55aaf5bd065a3c2",
         "type": "github"
       },
       "original": {
@@ -543,11 +543,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734234111,
-        "narHash": "sha256-icEMqBt4HtGH52PU5FHidgBrNJvOfXH6VQKNtnD1aw8=",
+        "lastModified": 1735443188,
+        "narHash": "sha256-AydPpRBh8+NOkrLylG7vTsHrGO2b5L7XkMEL5HlzcA8=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "311d6cf3ad3f56cb051ffab1f480b2909b3f754d",
+        "rev": "55ab1e1df5daf2476e6b826b69a82862dcbd7544",
         "type": "github"
       },
       "original": {
@@ -570,11 +570,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734266385,
-        "narHash": "sha256-k9P9Sa6jw/Xre8UDp7Ukk75h4Tcq8ZrK+nz6A2MC1IM=",
+        "lastModified": 1734639503,
+        "narHash": "sha256-Z58HeNQpfbi94Cw8VxdF1GtU1S5AoWO0hfJTxA6wu78=",
         "owner": "oddlama",
         "repo": "nix-topology",
-        "rev": "ba6f61e594a85eabebf1c8f373923b59b3b07448",
+        "rev": "d6edd49bac68dc70e19b5e91617b9f04e8ac1c43",
         "type": "github"
       },
       "original": {
@@ -585,11 +585,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1734352517,
-        "narHash": "sha256-mfv+J/vO4nqmIOlq8Y1rRW8hVsGH3M+I2ESMjhuebDs=",
+        "lastModified": 1735388221,
+        "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "b12e314726a4226298fe82776b4baeaa7bcf3dcd",
+        "rev": "7c674c6734f61157e321db595dbfcd8523e04e19",
         "type": "github"
       },
       "original": {
@@ -600,32 +600,32 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1734126203,
-        "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=",
+        "lastModified": 1734978747,
+        "narHash": "sha256-pf6fuTEgaWhRULssfJuogTV+huMGcj/zCAtvqEWkJcY=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2",
+        "rev": "1588cc08aff2ccae08ec49a0b8612ff71c5736ac",
         "type": "github"
       },
       "original": {
         "owner": "NixOS",
-        "ref": "nixpkgs-unstable",
+        "ref": "1588cc08aff2ccae08ec49a0b8612ff71c5736ac",
         "repo": "nixpkgs",
         "type": "github"
       }
     },
-    "nixpkgs-24_05": {
+    "nixpkgs-24_11": {
       "locked": {
-        "lastModified": 1731797254,
-        "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
+        "lastModified": 1734083684,
+        "narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59",
+        "rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
         "type": "github"
       },
       "original": {
         "id": "nixpkgs",
-        "ref": "nixos-24.05",
+        "ref": "nixos-24.11",
         "type": "indirect"
       }
     },
@@ -659,11 +659,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1734389326,
-        "narHash": "sha256-YPjF7N9G9tGjnm630FVaLojjpl+OnWao+UqhprZ29dQ=",
+        "lastModified": 1735464802,
+        "narHash": "sha256-W8WRoQlkS9ZqOaR9Lmphg6aODYxNCLSnvO4laH0YtMU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "6ea67fde4864ca2ab720f946e4af74ab2b73e5b9",
+        "rev": "1bdf3ca3ad39a0a837746f81bb2eb6adb518abee",
         "type": "github"
       },
       "original": {
@@ -675,11 +675,11 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1734284970,
-        "narHash": "sha256-iPXIDT8Rth+fJ9VpeZMu9wgdEEhrUrn77uYNcmtw3s0=",
+        "lastModified": 1735336148,
+        "narHash": "sha256-J3W9UW0fDdytCZGtZE7+ark8dp/au71Z9C1J7VrdIvY=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "6903830d1075f13346be0ea9611ae6ef50a472d6",
+        "rev": "d19eb06286da7d91276afccb4ffb2bd85da6f65d",
         "type": "github"
       },
       "original": {
@@ -760,11 +760,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734311023,
-        "narHash": "sha256-NpiSmBZ4usbCuucwLWKX8TypbP+KfKZB5GOJevdp2rM=",
+        "lastModified": 1735379278,
+        "narHash": "sha256-DpihJuI9SaWOUc1lRrw+e5014Qj+WHn9Xla89jxA6jk=",
         "owner": "nix-community",
         "repo": "srvos",
-        "rev": "528f3ec754231bd6dc0113cd3010f66513e957f4",
+        "rev": "e3b404890cfb44caec3edc8b84facb8934299428",
         "type": "github"
       },
       "original": {
@@ -796,11 +796,11 @@
         "tinted-tmux": "tinted-tmux"
       },
       "locked": {
-        "lastModified": 1734110168,
-        "narHash": "sha256-Q0eeLYn45ErXlqGQyXmLLHGe1mqnUiK0Y9wZRa1SNFI=",
+        "lastModified": 1735253599,
+        "narHash": "sha256-aKLAUkdeMH2N5gMDNiOC7KghRNy1necLtLa9+zUcj1g=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "a9e3779949925ef22f5a215c5f49cf520dea30b1",
+        "rev": "963e77a3a4fc2be670d5a9a6cbeb249b8a43808a",
         "type": "github"
       },
       "original": {
@@ -917,11 +917,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1734314392,
-        "narHash": "sha256-EydUadS7omV3SO/4TLeMkLT2JUugvPEtvBoAF43ggWU=",
+        "lastModified": 1735437250,
+        "narHash": "sha256-UMLwX1WiR2cjJndlKHm4WXQ8fBKJPMMSUsk+YjsjTl8=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "4ef033412f0732794077fcc25af4f79f097ad1e1",
+        "rev": "adf374ae7e5237a3aa03e88503644732ea15045d",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index 67180ca..3bf2570 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,7 +6,7 @@
   #
   # [1]: https://github.com/NixOS/nix/issues/5373
   inputs = {
-    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+    nixpkgs.url = "github:NixOS/nixpkgs?ref=1588cc08aff2ccae08ec49a0b8612ff71c5736ac";
     nixpkgs-master.url = "github:NixOS/nixpkgs/master";
     nixpkgs-stable.url = "github:NixOS/nixpkgs/release-24.05";
 
diff --git a/modules/common/ark.nix b/modules/common/ark.nix
index 007e209..f297fce 100644
--- a/modules/common/ark.nix
+++ b/modules/common/ark.nix
@@ -46,8 +46,8 @@ in
   config = lib.mkIf cfg.enable {
     environment.persistence.${cfg.path} = {
       hideMounts = true;
-      enableDebugging = false;
-      enableWarnings = false;
+      enableDebugging = true;
+      enableWarnings = true;
       inherit (cfg) directories files;
     };
 
diff --git a/modules/emacs/doom/config.el b/modules/emacs/doom/config.el
index a212e17..be481d4 100644
--- a/modules/emacs/doom/config.el
+++ b/modules/emacs/doom/config.el
@@ -271,13 +271,14 @@
          gptel-backend (gptel-make-ollama "ollama"
                          :host "eonwe.shire.net:11434"
                          :stream t
-                         :models '(dagbs/qwen2.5-coder-7b-instruct-abliterated:latest
-                                   qwen2.5-coder:7b
-                                   deepseek-coder-v2:16b
-                                   codegemma:7b
-                                   codellama:7b
-                                   llama3.2:3b
-                                   mistral:7b))))
+                         :models '(qwen2.5-coder:32b-instruct-q3_K_M
+                                   qwen2.5-coder:14b-instruct-q8_0
+                                   qwen2.5-coder:7b-instruct-fp16
+                                   llama3.2:3b-instruct-fp16
+                                   llama3.1:8b-instruct-fp16
+                                   llama3:8b-instruct-fp16
+                                   gemma:7b-instruct-q8_0
+                                   mistral:7b-instruct-fp16))))
 
 (use-package! ellama
   :init
@@ -288,79 +289,61 @@
                           :scheme "http"
                           :host "eonwe.shire.net"
                           :port 11434
-                          :chat-model "llama3.2:3b"
+                          :chat-model "llama3.2:3b-instruct-fp16"
                           :embedding-model "nomic-embed-text:latest")
          ellama-providers '(("llama" . (make-llm-ollama
                                         :scheme "http"
                                         :host "eonwe.shire.net"
                                         :port 11434
-                                        :chat-model "llama3.2:3b"
+                                        :chat-model "llama3.2:3b-instruct-fp16"
                                         :embedding-model "nomic-embed-text:latest"))
-                            ("codellama" . (make-llm-ollama
-                                            :scheme "http"
-                                            :host "eonwe.shire.net"
-                                            :port 11434
-                                            :chat-model "codellama:7b"
-                                            :embedding-model "nomic-embed-text:latest"))
                             ("qwen" . (make-llm-ollama
                                        :scheme "http"
                                        :host "eonwe.shire.net"
                                        :port 11434
-                                       :chat-model "qwen2.5:7b"
+                                       :chat-model "qwen2:7b-instruct-fp16"
                                        :embedding-model "nomic-embed-text:latest"))
                             ("qwen-coder" . (make-llm-ollama
                                              :scheme "http"
                                              :host "eonwe.shire.net"
                                              :port 11434
-                                             :chat-model "qwen2.5-coder:7b"
+                                             :chat-model "qwen2.5-coder:14b-instruct-q8_0"
                                              :embedding-model "nomic-embed-text:latest"))
-                            ("qwen-coder-instruct" . (make-llm-ollama
-                                                      :scheme "http"
-                                                      :host "eonwe.shire.net"
-                                                      :port 11434
-                                                      :chat-model "dagbs/qwen2.5-coder-7b-instruct-abliterated:latest"
-                                                      :embedding-model "nomic-embed-text:latest"))
                             ("gemma" . (make-llm-ollama
                                         :scheme "http"
                                         :host "eonwe.shire.net"
                                         :port 11434
-                                        :chat-model "gemma2:9b"
+                                        :chat-model "gemma:7b-instruct-q8_0"
                                         :embedding-model "nomic-embed-text:latest"))
-                            ("codegemma" . (make-llm-ollama
+                            ("mistral" . (make-llm-ollama
+                                          :scheme "http"
+                                          :host "eonwe.shire.net"
+                                          :port 11434
+                                          :chat-model "mistral:7b-instruct-fp16"
+                                          :embedding-model "nomic-embed-text:latest"))
+                            ("opencoder" . (make-llm-ollama
                                             :scheme "http"
                                             :host "eonwe.shire.net"
                                             :port 11434
-                                            :chat-model "codegemma:7b"
+                                            :chat-model "opencoder:8b-instruct-fp16"
                                             :embedding-model "nomic-embed-text:latest"))
-                            ("mistral" . (make-llm-ollama
+                            ("granite" . (make-llm-ollama
                                           :scheme "http"
                                           :host "eonwe.shire.net"
                                           :port 11434
-                                          :chat-model "mistral:7b"
-                                          :embedding-model "nomic-embed-text:latest"))
-                            ("hermes" . (make-llm-ollama
-                                         :scheme "http"
-                                         :host "eonwe.shire.net"
-                                         :port 11434
-                                         :chat-model "hermes3:8b"
-                                         :embedding-model "nomic-embed-text:latest"))
-                            ("deepseek" . (make-llm-ollama
-                                           :scheme "http"
-                                           :host "eonwe.shire.net"
-                                           :port 11434
-                                           :chat-model "deepseek-coder-v2:16b"
-                                           :embedding-model "nomic-embed-text:latest")))
+                                          :chat-model "granite3.1-moe:3b-instruct-fp16"
+                                          :embedding-model "granite-embedding:278m-fp16")))
          ellama-translation-provider (make-llm-ollama
                                       :scheme "http"
                                       :host "eonwe.shire.net"
                                       :port 11434
-                                      :chat-model "qwen2.5:7b"
+                                      :chat-model "mistral:7b-instruct-fp16"
                                       :embedding-model "nomic-embed-text:latest")
          ellama-summarization-provider (make-llm-ollama
                                         :scheme "http"
                                         :host "eonwe.shire.net"
                                         :port 11434
-                                        :chat-model "mistral:7b"
+                                        :chat-model "mistral:7b-instruct-fp16"
                                         :embedding-model "nomic-embed-text:latest")))
 
 (use-package! magit-gptcommit
@@ -371,7 +354,7 @@
                                        :scheme "http"
                                        :host "eonwe.shire.net"
                                        :port 11434
-                                       :chat-model "dagbs/qwen2.5-coder-7b-instruct-abliterated:latest"
+                                       :chat-model "qwen2.5-coder:32b-instruct-q3_K_M"
                                        :embedding-model "nomic-embed-text:latest"))
 
   (magit-gptcommit-status-buffer-setup))
diff --git a/modules/emacs/doom/init.el b/modules/emacs/doom/init.el
index 3845fd6..51d4291 100644
--- a/modules/emacs/doom/init.el
+++ b/modules/emacs/doom/init.el
@@ -26,7 +26,7 @@
        file-templates
        fold
        (format +onsave)
-       lispy
+       ;; lispy
        ;; multiple-cursors
        ;; objed
        parinfer
diff --git a/modules/firefox/addons.json b/modules/firefox/addons.json
index c194368..55919c3 100644
--- a/modules/firefox/addons.json
+++ b/modules/firefox/addons.json
@@ -10,6 +10,9 @@
     "slug": "furiganaize"
   },
   {
+    "slug": "indie-wiki-buddy"
+  },
+  {
     "slug": "ipfs-companion"
   },
   {
diff --git a/modules/firefox/addons.nix b/modules/firefox/addons.nix
index 5a08549..3bb23d2 100644
--- a/modules/firefox/addons.nix
+++ b/modules/firefox/addons.nix
@@ -5,10 +5,10 @@
 {
   "bitwarden" = buildFirefoxXpiAddon {
     pname = "bitwarden";
-    version = "2024.10.1";
+    version = "2024.11.2";
     addonId = "{446900e4-71c2-419f-a6a7-df9c091e268b}";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4371752/bitwarden_password_manager-2024.10.1.xpi";
-    sha256 = "7b7357ddce2756dc536b86b5c14139ec09731c1c114ac82807c60fba3ced12a5";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4392295/bitwarden_password_manager-2024.11.2.xpi";
+    sha256 = "38faecbfca76086a54e62b6e2036eae45e9d9f9f3aee4c7a72b652593f51b8e7";
     meta = with lib; {
       homepage = "https://bitwarden.com";
       description = "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information.";
@@ -74,6 +74,264 @@
       platforms = platforms.all;
     };
   };
+  "indie-wiki-buddy" = buildFirefoxXpiAddon {
+    pname = "indie-wiki-buddy";
+    version = "3.11.1";
+    addonId = "{cb31ec5d-c49a-4e5a-b240-16c767444f62}";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4379107/indie_wiki_buddy-3.11.1.xpi";
+    sha256 = "2b63271fa42e3d46a683605f719de816195471ccd8654771606d6eb811f7596d";
+    meta = with lib; {
+      homepage = "https://getindie.wiki/";
+      description = "Helping you discover quality, independent wikis!\n\nWhen visiting a Fandom wiki, Indie Wiki Buddy redirects or alerts you of independent alternatives. It also filters search engine results. BreezeWiki is also supported, to reduce clutter on Fandom.";
+      license = licenses.mit;
+      mozPermissions = [
+        "storage"
+        "webRequest"
+        "notifications"
+        "scripting"
+        "https://*.fandom.com/*"
+        "https://*.fextralife.com/*"
+        "https://*.neoseeker.com/*"
+        "https://breezewiki.com/*"
+        "https://antifandom.com/*"
+        "https://bw.artemislena.eu/*"
+        "https://breezewiki.catsarch.com/*"
+        "https://breezewiki.esmailelbob.xyz/*"
+        "https://breezewiki.frontendfriendly.xyz/*"
+        "https://bw.hamstro.dev/*"
+        "https://breeze.hostux.net/*"
+        "https://breezewiki.hyperreal.coffee/*"
+        "https://breeze.mint.lgbt/*"
+        "https://breezewiki.nadeko.net/*"
+        "https://nerd.whatever.social/*"
+        "https://breeze.nohost.network/*"
+        "https://z.opnxng.com/*"
+        "https://bw.projectsegfau.lt/*"
+        "https://breezewiki.pussthecat.org/*"
+        "https://bw.vern.cc/*"
+        "https://breeze.whateveritworks.org/*"
+        "https://breezewiki.woodland.cafe/*"
+        "https://*.bing.com/search*"
+        "https://search.brave.com/search*"
+        "https://*.duckduckgo.com/*"
+        "https://*.ecosia.org/*"
+        "https://kagi.com/search*"
+        "https://*.qwant.com/*"
+        "https://*.search.yahoo.com/*"
+        "https://*.startpage.com/*"
+        "https://*.ya.ru/*"
+        "https://*.yandex.az/*"
+        "https://*.yandex.by/*"
+        "https://*.yandex.co.il/*"
+        "https://*.yandex.com.am/*"
+        "https://*.yandex.com.ge/*"
+        "https://*.yandex.com.tr/*"
+        "https://*.yandex.com/*"
+        "https://*.yandex.ee/*"
+        "https://*.yandex.eu/*"
+        "https://*.yandex.fr/*"
+        "https://*.yandex.kz/*"
+        "https://*.yandex.lt/*"
+        "https://*.yandex.lv/*"
+        "https://*.yandex.md/*"
+        "https://*.yandex.ru/*"
+        "https://*.yandex.tj/*"
+        "https://*.yandex.tm/*"
+        "https://*.yandex.uz/*"
+        "https://www.google.com/search*"
+        "https://www.google.ad/search*"
+        "https://www.google.ae/search*"
+        "https://www.google.com.af/search*"
+        "https://www.google.com.ag/search*"
+        "https://www.google.com.ai/search*"
+        "https://www.google.al/search*"
+        "https://www.google.am/search*"
+        "https://www.google.co.ao/search*"
+        "https://www.google.com.ar/search*"
+        "https://www.google.as/search*"
+        "https://www.google.at/search*"
+        "https://www.google.com.au/search*"
+        "https://www.google.az/search*"
+        "https://www.google.ba/search*"
+        "https://www.google.com.bd/search*"
+        "https://www.google.be/search*"
+        "https://www.google.bf/search*"
+        "https://www.google.bg/search*"
+        "https://www.google.com.bh/search*"
+        "https://www.google.bi/search*"
+        "https://www.google.bj/search*"
+        "https://www.google.com.bn/search*"
+        "https://www.google.com.bo/search*"
+        "https://www.google.com.br/search*"
+        "https://www.google.bs/search*"
+        "https://www.google.bt/search*"
+        "https://www.google.co.bw/search*"
+        "https://www.google.by/search*"
+        "https://www.google.com.bz/search*"
+        "https://www.google.ca/search*"
+        "https://www.google.cd/search*"
+        "https://www.google.cf/search*"
+        "https://www.google.cg/search*"
+        "https://www.google.ch/search*"
+        "https://www.google.ci/search*"
+        "https://www.google.co.ck/search*"
+        "https://www.google.cl/search*"
+        "https://www.google.cm/search*"
+        "https://www.google.cn/search*"
+        "https://www.google.com.co/search*"
+        "https://www.google.co.cr/search*"
+        "https://www.google.com.cu/search*"
+        "https://www.google.cv/search*"
+        "https://www.google.com.cy/search*"
+        "https://www.google.cz/search*"
+        "https://www.google.de/search*"
+        "https://www.google.dj/search*"
+        "https://www.google.dk/search*"
+        "https://www.google.dm/search*"
+        "https://www.google.com.do/search*"
+        "https://www.google.dz/search*"
+        "https://www.google.com.ec/search*"
+        "https://www.google.ee/search*"
+        "https://www.google.com.eg/search*"
+        "https://www.google.es/search*"
+        "https://www.google.com.et/search*"
+        "https://www.google.fi/search*"
+        "https://www.google.com.fj/search*"
+        "https://www.google.fm/search*"
+        "https://www.google.fr/search*"
+        "https://www.google.ga/search*"
+        "https://www.google.ge/search*"
+        "https://www.google.gg/search*"
+        "https://www.google.com.gh/search*"
+        "https://www.google.com.gi/search*"
+        "https://www.google.gl/search*"
+        "https://www.google.gm/search*"
+        "https://www.google.gr/search*"
+        "https://www.google.com.gt/search*"
+        "https://www.google.gy/search*"
+        "https://www.google.com.hk/search*"
+        "https://www.google.hn/search*"
+        "https://www.google.hr/search*"
+        "https://www.google.ht/search*"
+        "https://www.google.hu/search*"
+        "https://www.google.co.id/search*"
+        "https://www.google.ie/search*"
+        "https://www.google.co.il/search*"
+        "https://www.google.im/search*"
+        "https://www.google.co.in/search*"
+        "https://www.google.iq/search*"
+        "https://www.google.is/search*"
+        "https://www.google.it/search*"
+        "https://www.google.je/search*"
+        "https://www.google.com.jm/search*"
+        "https://www.google.jo/search*"
+        "https://www.google.co.jp/search*"
+        "https://www.google.co.ke/search*"
+        "https://www.google.com.kh/search*"
+        "https://www.google.ki/search*"
+        "https://www.google.kg/search*"
+        "https://www.google.co.kr/search*"
+        "https://www.google.com.kw/search*"
+        "https://www.google.kz/search*"
+        "https://www.google.la/search*"
+        "https://www.google.com.lb/search*"
+        "https://www.google.li/search*"
+        "https://www.google.lk/search*"
+        "https://www.google.co.ls/search*"
+        "https://www.google.lt/search*"
+        "https://www.google.lu/search*"
+        "https://www.google.lv/search*"
+        "https://www.google.com.ly/search*"
+        "https://www.google.co.ma/search*"
+        "https://www.google.md/search*"
+        "https://www.google.me/search*"
+        "https://www.google.mg/search*"
+        "https://www.google.mk/search*"
+        "https://www.google.ml/search*"
+        "https://www.google.com.mm/search*"
+        "https://www.google.mn/search*"
+        "https://www.google.ms/search*"
+        "https://www.google.com.mt/search*"
+        "https://www.google.mu/search*"
+        "https://www.google.mv/search*"
+        "https://www.google.mw/search*"
+        "https://www.google.com.mx/search*"
+        "https://www.google.com.my/search*"
+        "https://www.google.co.mz/search*"
+        "https://www.google.com.na/search*"
+        "https://www.google.com.ng/search*"
+        "https://www.google.com.ni/search*"
+        "https://www.google.ne/search*"
+        "https://www.google.nl/search*"
+        "https://www.google.no/search*"
+        "https://www.google.com.np/search*"
+        "https://www.google.nr/search*"
+        "https://www.google.nu/search*"
+        "https://www.google.co.nz/search*"
+        "https://www.google.com.om/search*"
+        "https://www.google.com.pa/search*"
+        "https://www.google.com.pe/search*"
+        "https://www.google.com.pg/search*"
+        "https://www.google.com.ph/search*"
+        "https://www.google.com.pk/search*"
+        "https://www.google.pl/search*"
+        "https://www.google.pn/search*"
+        "https://www.google.com.pr/search*"
+        "https://www.google.ps/search*"
+        "https://www.google.pt/search*"
+        "https://www.google.com.py/search*"
+        "https://www.google.com.qa/search*"
+        "https://www.google.ro/search*"
+        "https://www.google.ru/search*"
+        "https://www.google.rw/search*"
+        "https://www.google.com.sa/search*"
+        "https://www.google.com.sb/search*"
+        "https://www.google.sc/search*"
+        "https://www.google.se/search*"
+        "https://www.google.com.sg/search*"
+        "https://www.google.sh/search*"
+        "https://www.google.si/search*"
+        "https://www.google.sk/search*"
+        "https://www.google.com.sl/search*"
+        "https://www.google.sn/search*"
+        "https://www.google.so/search*"
+        "https://www.google.sm/search*"
+        "https://www.google.sr/search*"
+        "https://www.google.st/search*"
+        "https://www.google.com.sv/search*"
+        "https://www.google.td/search*"
+        "https://www.google.tg/search*"
+        "https://www.google.co.th/search*"
+        "https://www.google.com.tj/search*"
+        "https://www.google.tl/search*"
+        "https://www.google.tm/search*"
+        "https://www.google.tn/search*"
+        "https://www.google.to/search*"
+        "https://www.google.com.tr/search*"
+        "https://www.google.tt/search*"
+        "https://www.google.com.tw/search*"
+        "https://www.google.co.tz/search*"
+        "https://www.google.com.ua/search*"
+        "https://www.google.co.ug/search*"
+        "https://www.google.co.uk/search*"
+        "https://www.google.com.uy/search*"
+        "https://www.google.co.uz/search*"
+        "https://www.google.com.vc/search*"
+        "https://www.google.co.ve/search*"
+        "https://www.google.vg/search*"
+        "https://www.google.co.vi/search*"
+        "https://www.google.com.vn/search*"
+        "https://www.google.vu/search*"
+        "https://www.google.ws/search*"
+        "https://www.google.rs/search*"
+        "https://www.google.co.za/search*"
+        "https://www.google.co.zm/search*"
+        "https://www.google.co.zw/search*"
+        "https://www.google.cat/search*"
+      ];
+      platforms = platforms.all;
+    };
+  };
   "ipfs-companion" = buildFirefoxXpiAddon {
     pname = "ipfs-companion";
     version = "3.1.0";
@@ -102,10 +360,10 @@
   };
   "languagetool" = buildFirefoxXpiAddon {
     pname = "languagetool";
-    version = "8.11.8";
+    version = "8.13.2";
     addonId = "languagetool-webextension@languagetool.org";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4341696/languagetool-8.11.8.xpi";
-    sha256 = "2f1489f7180303be730ff2b16d6a432d07017c6cffd3fbfc39f37dc809a25fc8";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4396724/languagetool-8.13.2.xpi";
+    sha256 = "e8a93ca046df390aaafeb7ba86254505ed3c593371c1f9e5af6892018d12de66";
     meta = with lib; {
       homepage = "https://languagetool.org";
       description = "With this extension you can check text with the free style and grammar checker LanguageTool. It finds many errors that a simple spell checker cannot detect, like mixing up there/their, a/an, or repeating a word.";
@@ -118,6 +376,7 @@
         "https://*/*"
         "file:///*"
         "*://docs.google.com/document/*"
+        "*://docs.google.com/presentation/*"
         "*://languagetool.org/*"
       ];
       platforms = platforms.all;
@@ -125,30 +384,25 @@
   };
   "metamask" = buildFirefoxXpiAddon {
     pname = "metamask";
-    version = "12.0.6";
+    version = "12.6.2";
     addonId = "webextension@metamask.io";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4342782/ether_metamask-12.0.6.xpi";
-    sha256 = "a66e20bbe5ded1b9408420e4c2ffc82369cc3bfd27350afe25f2c0ef6b26ff3b";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4392249/ether_metamask-12.6.2.xpi";
+    sha256 = "ca7b385559d7469ccca0454323f92f63d3aef5d68c504a46f818eb59bd735c74";
     meta = with lib; {
       description = "Ethereum Browser Extension";
       mozPermissions = [
         "storage"
         "unlimitedStorage"
         "clipboardWrite"
-        "http://localhost:8545/"
-        "https://*.infura.io/"
-        "https://*.codefi.network/"
-        "https://*.cx.metamask.io/"
-        "https://chainid.network/chains.json"
-        "https://lattice.gridplus.io/*"
+        "http://*/*"
+        "https://*/*"
         "activeTab"
         "webRequest"
+        "webRequestBlocking"
         "*://*.eth/"
         "notifications"
         "file://*/*"
-        "http://*/*"
-        "https://*/*"
-        "*://connect.trezor.io/*/popup.html"
+        "*://connect.trezor.io/*/popup.html*"
       ];
       platforms = platforms.all;
     };
@@ -290,10 +544,10 @@
   };
   "ublock-origin" = buildFirefoxXpiAddon {
     pname = "ublock-origin";
-    version = "1.61.0";
+    version = "1.61.2";
     addonId = "uBlock0@raymondhill.net";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4382536/ublock_origin-1.61.0.xpi";
-    sha256 = "e6fd55b799a568c66c10892a8f22428e6773fe16d7466ce9dee2952f224b203d";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4391011/ublock_origin-1.61.2.xpi";
+    sha256 = "ee3a724a46ff32c17d1723077fecc6ede7fdab742154020b51fb6253ddcbba14";
     meta = with lib; {
       homepage = "https://github.com/gorhill/uBlock#ublock-origin";
       description = "Finally, an efficient wide-spectrum content blocker. Easy on CPU and memory.";
@@ -350,10 +604,10 @@
   };
   "violentmonkey" = buildFirefoxXpiAddon {
     pname = "violentmonkey";
-    version = "2.28.0";
+    version = "2.29.0";
     addonId = "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4379821/violentmonkey-2.28.0.xpi";
-    sha256 = "30bc3db14194a5197e4721d419123f3a02b9c6f3e94646724aa991137121bcba";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4398029/violentmonkey-2.29.0.xpi";
+    sha256 = "2edf39a824476b8a77a57c7c3abdaf3f685a679486e47450fab837b4bd71d469";
     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 ee45434..69324b7 100644
--- a/modules/firefox/default.nix
+++ b/modules/firefox/default.nix
@@ -104,6 +104,7 @@ in
               [
                 consent-o-matic
                 furiganaize
+                indie-wiki-buddy
                 languagetool
                 metamask
                 no-pdf-download
diff --git a/modules/firefox/userContent.css b/modules/firefox/userContent.css
index a009ad8..f068f20 100644
--- a/modules/firefox/userContent.css
+++ b/modules/firefox/userContent.css
@@ -248,39 +248,6 @@
   }
 }
 
-@-moz-document regexp("https?://.*\.fandom\.com/wiki/.*")
-{
-  :root {
-    --theme-body-background-image-full: none !important;
-    --theme-body-background-image-desktop: none !important;
-    --theme-body-background-image-large-desktop: none !important;
-  }
-
-  #WikiaBar,
-  #highlight__main-container,
-  .global-footer,
-  .global-navigation,
-  .global-registration-buttons,
-  .notifications-placeholder {
-    display: none !important;
-  }
-
-  .main-container,
-  body {
-    background-image: none !important;
-    background: none !important;
-  }
-
-  .main-container {
-    margin-left: none !important;
-    width: auto !important;
-  }
-
-  .fandom-sticky-header {
-    left: 0px !important;
-  }
-}
-
 @-moz-document regexp("https?:\/\/gog\.com.*") {
   .galaxy-section-wrapper,
   footer {
@@ -306,26 +273,6 @@
   }
 }
 
-@-moz-document regexp("https?://www\.songsterr\.com.*")
-{
-  #favorite,
-  #fullscreen,
-  #logo,
-  #menu-favorites,
-  #menu-help,
-  #menu-plus,
-  #menu-signin,
-  #menu-submit,
-  #promo,
-  #revisions,
-  #showroom,
-  #showroom_sidebar,
-  #text-showroom,
-  footer {
-    display: none !important;
-  }
-}
-
 @-moz-document regexp("https?://developer\.mozilla\.org.*")
 {
   #nav-footer,
@@ -346,41 +293,6 @@
   }
 }
 
-@-moz-document regexp("https?://(.*\.)?wikipedia\.org/wiki/.*")
-{
-  #footer,
-  #mp-topbanner,
-  #siteNotice,
-  #siteSub,
-  #wmde-banner-app,
-  .mw-footer-container,
-  .mw-header,
-  .vector-page-toolbar {
-    display: none !important;
-  }
-
-  html,
-  body {
-    font-family: var(--sans-serif-font-family) !important;
-    font-size: var(--sans-serif-font-size) !important;
-  }
-
-  .k-player,
-  body.mediawiki,
-  #dialogEngineContainer #dialogEngineDialog {
-    background: inherit !important;
-  }
-}
-
-@-moz-document regexp("https?://open-vsx\.org.*")
-{
-  MuiCollapse-container,
-  cc-window.cc-banner,
-  footer {
-    display: none !important;
-  }
-}
-
 @-moz-document regexp("https?://duckduckgo\.com.*")
 {
   .badge-link, /* Annoying DuckDuckGo extension ads. */
diff --git a/modules/profiles/default.nix b/modules/profiles/default.nix
index ae03bcc..34093d0 100644
--- a/modules/profiles/default.nix
+++ b/modules/profiles/default.nix
@@ -29,13 +29,13 @@ in
       }
     ];
 
-    ark.directories = [ "/var/log" ];
+    ark.directories = [
+      "/var/lib/nixos"
+      "/var/log"
+    ];
 
     nixfiles.modules = {
-      bat.enable = true;
-      eza.enable = true;
       htop.enable = true;
-      tmux.enable = true;
       vim.enable = true;
     };
 
diff --git a/modules/profiles/headful.nix b/modules/profiles/headful.nix
index e2ed1df..991d513 100644
--- a/modules/profiles/headful.nix
+++ b/modules/profiles/headful.nix
@@ -21,9 +21,11 @@ in
 
       alacritty.enable = mkDefault true;
       aria2.enable = true;
+      bat.enable = true;
       chromium.enable = true;
       dwm.enable = mkDefault false;
       emacs.enable = true;
+      eza.enable = true;
       firefox.enable = true;
       foot.enable = mkDefault true;
       kde.enable = mkDefault true;

Consider giving Nix/NixOS a try! <3