From b30cebc53dbbfb64430f6ff7963b978c086bb17a Mon Sep 17 00:00:00 2001
From: chayleaf <chayleaf-git@pavluk.org>
Date: Tue, 19 Nov 2024 10:38:18 +0700
Subject: [PATCH] update inputs

---
 flake.lock                                    | 512 ++++++++++++------
 flake.nix                                     |   9 +-
 home/hosts/ereader.nix                        |  13 +-
 home/hosts/nixmsi.nix                         |  17 +-
 home/hosts/phone.nix                          |  13 +-
 home/hosts/remote.nix                         |   2 +-
 home/modules/firefox.nix                      |   2 +-
 home/modules/gui.nix                          |   2 +-
 nixos-rebuild.py                              |  29 +-
 pkgs/_sources/generated.json                  |  14 +-
 pkgs/_sources/generated.nix                   |  14 +-
 pkgs/default.nix                              |   8 -
 pkgs/firefox-addons/generated.nix             |   8 +-
 ...le-don-t-idle_notify-for-volume-keys.patch |  10 +-
 .../0002-mobile-reverse-layer-order.patch     |  26 -
 ...-mobile-swaybar-bottom-overlay-layer.patch |   6 +-
 ...upy-exclusive-layers-with-fullscreen.patch |  83 +--
 17 files changed, 417 insertions(+), 351 deletions(-)
 delete mode 100644 pkgs/sway/0002-mobile-reverse-layer-order.patch

diff --git a/flake.lock b/flake.lock
index 3ed4a76..c12f105 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,38 +1,5 @@
 {
   "nodes": {
-    "agenix": {
-      "inputs": {
-        "darwin": [
-          "nix-community-infra",
-          "nix-darwin"
-        ],
-        "home-manager": [
-          "nix-community-infra",
-          "empty"
-        ],
-        "nixpkgs": [
-          "nix-community-infra",
-          "nixpkgs"
-        ],
-        "systems": [
-          "nix-community-infra",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1723293904,
-        "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
-        "owner": "ryantm",
-        "repo": "agenix",
-        "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
-        "type": "github"
-      },
-      "original": {
-        "owner": "ryantm",
-        "repo": "agenix",
-        "type": "github"
-      }
-    },
     "blobs": {
       "flake": false,
       "locked": {
@@ -55,6 +22,10 @@
           "nix-community-infra",
           "flake-parts"
         ],
+        "hercules-ci-effects": [
+          "nix-community-infra",
+          "hercules-ci-effects"
+        ],
         "nixpkgs": [
           "nix-community-infra",
           "nixpkgs"
@@ -65,21 +36,20 @@
         ]
       },
       "locked": {
-        "lastModified": 1722902027,
-        "narHash": "sha256-STgis1RRrrerOrI/l7bBeJS8HR3ZHlsAhZ4NXO1eIi0=",
-        "owner": "qowoz",
+        "lastModified": 1736867510,
+        "narHash": "sha256-E5YApcNh54ZG4fs2xNa+dKEWNVoEm2dlZBLZUlbW6b8=",
+        "owner": "nix-community",
         "repo": "buildbot-nix",
-        "rev": "f43d4ee9e3325a486928ddc3d04956844b3baf56",
+        "rev": "1cc26e1cb5d8695dcb5026574980525d70fda352",
         "type": "github"
       },
       "original": {
-        "owner": "qowoz",
-        "ref": "skipped-build-workers",
+        "owner": "nix-community",
         "repo": "buildbot-nix",
         "type": "github"
       }
     },
-    "comin": {
+    "cgroup-exporter": {
       "inputs": {
         "nixpkgs": [
           "nix-community-infra",
@@ -87,17 +57,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1714766748,
-        "narHash": "sha256-//fP25eh1f9eA+0TEgWqusWjv9SuKh8rIF1ZJQNL1jo=",
-        "owner": "nlewo",
-        "repo": "comin",
-        "rev": "d3658c452024824235de2355ac3e156b10c3eaaf",
+        "lastModified": 1736508617,
+        "narHash": "sha256-YV49EvJWc+uae6R3REuk/XWZfKBKzfwx1Mu0/SlmBWE=",
+        "owner": "arianvp",
+        "repo": "cgroup-exporter",
+        "rev": "30eca88d60087e2cc7e9339acbaa6fae1f167d81",
         "type": "github"
       },
       "original": {
-        "owner": "nlewo",
-        "repo": "comin",
-        "rev": "d3658c452024824235de2355ac3e156b10c3eaaf",
+        "owner": "arianvp",
+        "repo": "cgroup-exporter",
         "type": "github"
       }
     },
@@ -110,11 +79,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1718998007,
-        "narHash": "sha256-2ByOTMmdtoD5CDVq5O/VFdz2u9xLtk5z3NpFsWOmIyA=",
+        "lastModified": 1732733541,
+        "narHash": "sha256-4kMy/AfcSqoDWGGWOPf2J7GxpXi2ikg9Z+WnPCsfpiA=",
         "owner": "chayleaf",
         "repo": "coop-fd",
-        "rev": "f71ac2a8a62cc53896a2c0d6649c1451e86f8135",
+        "rev": "25ad04f7a813cb0f2c4edb349656065119b5cb4b",
         "type": "github"
       },
       "original": {
@@ -173,11 +142,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1728330715,
-        "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
+        "lastModified": 1735644329,
+        "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
         "owner": "numtide",
         "repo": "devshell",
-        "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
+        "rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
         "type": "github"
       },
       "original": {
@@ -194,11 +163,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1723426710,
-        "narHash": "sha256-yrS9al6l3fYfFfvovnyBWnyELDQOdfKyai4K/jKgoBw=",
+        "lastModified": 1736711425,
+        "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "0d510fe40b56ed74907a021d7e1ffd0042592914",
+        "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07",
         "type": "github"
       },
       "original": {
@@ -241,11 +210,11 @@
     "flake-compat_2": {
       "flake": false,
       "locked": {
-        "lastModified": 1696426674,
-        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+        "lastModified": 1733328505,
+        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
         "owner": "edolstra",
         "repo": "flake-compat",
-        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
         "type": "github"
       },
       "original": {
@@ -307,11 +276,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1722555600,
-        "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
+        "lastModified": 1736143030,
+        "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
+        "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
         "type": "github"
       },
       "original": {
@@ -325,11 +294,11 @@
         "nixpkgs-lib": "nixpkgs-lib"
       },
       "locked": {
-        "lastModified": 1722555600,
-        "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
+        "lastModified": 1736143030,
+        "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
+        "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
         "type": "github"
       },
       "original": {
@@ -346,11 +315,32 @@
         ]
       },
       "locked": {
-        "lastModified": 1727826117,
-        "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
+        "lastModified": 1736143030,
+        "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
+        "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "type": "github"
+      }
+    },
+    "flake-parts_4": {
+      "inputs": {
+        "nixpkgs-lib": [
+          "nur",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1733312601,
+        "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
         "type": "github"
       },
       "original": {
@@ -364,11 +354,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": {
@@ -405,18 +395,14 @@
         "nixpkgs": [
           "nixvim",
           "nixpkgs"
-        ],
-        "nixpkgs-stable": [
-          "nixvim",
-          "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1728092656,
-        "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
+        "lastModified": 1737043064,
+        "narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
+        "rev": "94ee657f6032d913fe0ef49adaa743804635b0bb",
         "type": "github"
       },
       "original": {
@@ -447,6 +433,31 @@
         "type": "github"
       }
     },
+    "hercules-ci-effects": {
+      "inputs": {
+        "flake-parts": [
+          "nix-community-infra",
+          "flake-parts"
+        ],
+        "nixpkgs": [
+          "nix-community-infra",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1736917206,
+        "narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=",
+        "owner": "hercules-ci",
+        "repo": "hercules-ci-effects",
+        "rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hercules-ci",
+        "repo": "hercules-ci-effects",
+        "type": "github"
+      }
+    },
     "home-manager": {
       "inputs": {
         "nixpkgs": [
@@ -454,15 +465,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1723599998,
-        "narHash": "sha256-9a/Dq7WUhP35WrpqXUpDBsnKoKASsYB8FQjIeVlghm4=",
+        "lastModified": 1731943274,
+        "narHash": "sha256-EpVzPygqBuyU3CDNl9bnBhHkz/PTLM4UsIfB5A7QK/k=",
         "owner": "chayleaf",
         "repo": "home-manager",
-        "rev": "c29f1c444bbfe3cfa22e347923fe04245030bcda",
+        "rev": "7f95891341303b2b40ce8dc6f931b67071576bd0",
         "type": "github"
       },
       "original": {
         "owner": "chayleaf",
+        "ref": "ci",
         "repo": "home-manager",
         "type": "github"
       }
@@ -475,26 +487,44 @@
         ]
       },
       "locked": {
-        "lastModified": 1728337164,
-        "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=",
+        "lastModified": 1736373539,
+        "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "038630363e7de57c36c417fd2f5d7c14773403e4",
+        "rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
+        "ref": "release-24.11",
         "repo": "home-manager",
         "type": "github"
       }
     },
+    "hydra": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1732760183,
+        "narHash": "sha256-1kHzCYlQDCbfa3SpwFSIcPINRl/Qgx9G1mwBaGaOo0o=",
+        "owner": "qowoz",
+        "repo": "hydra",
+        "rev": "d9d54a51907c867b00676f001a3784f99dfab99c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "qowoz",
+        "ref": "community",
+        "repo": "hydra",
+        "type": "github"
+      }
+    },
     "impermanence": {
       "locked": {
-        "lastModified": 1719091691,
-        "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=",
+        "lastModified": 1736688610,
+        "narHash": "sha256-1Zl9xahw399UiZSJ9Vxs1W4WRFjO1SsNdVZQD4nghz0=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a",
+        "rev": "c64bed13b562fc3bb454b48773d4155023ac31b7",
         "type": "github"
       },
       "original": {
@@ -503,6 +533,49 @@
         "type": "github"
       }
     },
+    "ixx": {
+      "inputs": {
+        "flake-utils": [
+          "nixvim",
+          "nuschtosSearch",
+          "flake-utils"
+        ],
+        "nixpkgs": [
+          "nixvim",
+          "nuschtosSearch",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1729958008,
+        "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
+        "owner": "NuschtOS",
+        "repo": "ixx",
+        "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NuschtOS",
+        "ref": "v0.0.6",
+        "repo": "ixx",
+        "type": "github"
+      }
+    },
+    "lite-config": {
+      "locked": {
+        "lastModified": 1723691425,
+        "narHash": "sha256-xOroQo/+CAtocvJQsGPE5ukr1Btp72xlcWPB4tBZp6M=",
+        "owner": "yelite",
+        "repo": "lite-config",
+        "rev": "34357ad12ad0a66b2de55a2457159bda36c71a06",
+        "type": "github"
+      },
+      "original": {
+        "owner": "yelite",
+        "repo": "lite-config",
+        "type": "github"
+      }
+    },
     "mobile-nixos": {
       "flake": false,
       "locked": {
@@ -522,14 +595,18 @@
     },
     "nix-community-infra": {
       "inputs": {
-        "agenix": "agenix",
         "buildbot-nix": "buildbot-nix",
-        "comin": "comin",
+        "cgroup-exporter": "cgroup-exporter",
         "disko": "disko",
         "empty": "empty",
         "flake-compat": "flake-compat_3",
         "flake-parts": "flake-parts",
+        "hercules-ci-effects": "hercules-ci-effects",
+        "hydra": "hydra",
+        "lite-config": "lite-config",
         "nix-darwin": "nix-darwin",
+        "nix-index-database": "nix-index-database",
+        "nixos-facter-modules": "nixos-facter-modules",
         "nixpkgs": "nixpkgs",
         "nixpkgs-update": "nixpkgs-update",
         "nixpkgs-update-github-releases": "nixpkgs-update-github-releases",
@@ -540,11 +617,11 @@
         "treefmt-nix": "treefmt-nix"
       },
       "locked": {
-        "lastModified": 1723586765,
-        "narHash": "sha256-2YtIQm1DOph5fXkEySRdKAYSiWJK8ztc1NxoUnjvfSs=",
+        "lastModified": 1737339862,
+        "narHash": "sha256-MzvnhH2vkOzt7gBaVK7oUlMsjBSGdyT3TYKTrKIGofI=",
         "owner": "nix-community",
         "repo": "infra",
-        "rev": "177e5a2fbfeb70bbf86d7ca7efdfd5d1870678db",
+        "rev": "d5abde51c9698f01e71b3fd7f1cbdc908be570a5",
         "type": "github"
       },
       "original": {
@@ -561,11 +638,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1722924007,
-        "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
+        "lastModified": 1736819234,
+        "narHash": "sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP+5FgbiSwI=",
         "owner": "LnL7",
         "repo": "nix-darwin",
-        "rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
+        "rev": "bd921223ba7cdac346477d7ea5204d6f4736fcc6",
         "type": "github"
       },
       "original": {
@@ -582,15 +659,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1728385805,
-        "narHash": "sha256-mUd38b0vhB7yzgAjNOaFz7VY9xIVzlbn3P2wjGBcVV0=",
+        "lastModified": 1736820923,
+        "narHash": "sha256-SDuKLOWAh8VJRXlNWQn9QE99bjeEUAAbYXqrKGbsiyk=",
         "owner": "lnl7",
         "repo": "nix-darwin",
-        "rev": "48b50b3b137be5cfb9f4d006835ce7c3fe558ccc",
+        "rev": "944c2b181792ae7ae6b20c0df3f44879c11706c9",
         "type": "github"
       },
       "original": {
         "owner": "lnl7",
+        "ref": "nix-darwin-24.11",
         "repo": "nix-darwin",
         "type": "github"
       }
@@ -604,11 +682,11 @@
         "umu": "umu"
       },
       "locked": {
-        "lastModified": 1723425928,
-        "narHash": "sha256-BFj0H0h3+hTCTsHTMCzmO7hQL3ym2MTgIdQe1SN1wPw=",
+        "lastModified": 1737337163,
+        "narHash": "sha256-Z9hc25iV+jhH0AlvsrG65KqLEd726/HVvalSiqNQLqA=",
         "owner": "fufexan",
         "repo": "nix-gaming",
-        "rev": "cd19f284c40ce697db66314d0b7d29e41d47eb6b",
+        "rev": "e5559b3a91433c21eb64792b78134582b3bd77f2",
         "type": "github"
       },
       "original": {
@@ -620,15 +698,16 @@
     "nix-index-database": {
       "inputs": {
         "nixpkgs": [
+          "nix-community-infra",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1723352546,
-        "narHash": "sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8=",
+        "lastModified": 1736652904,
+        "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "ec78079a904d7d55e81a0468d764d0fffb50ac06",
+        "rev": "271e5bd7c57e1f001693799518b10a02d1123b12",
         "type": "github"
       },
       "original": {
@@ -637,13 +716,48 @@
         "type": "github"
       }
     },
+    "nix-index-database_2": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1737257306,
+        "narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=",
+        "owner": "nix-community",
+        "repo": "nix-index-database",
+        "rev": "744d330659e207a1883d2da0141d35e520eb87bd",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "repo": "nix-index-database",
+        "type": "github"
+      }
+    },
+    "nixos-facter-modules": {
+      "locked": {
+        "lastModified": 1736877249,
+        "narHash": "sha256-zsBwbF7J5cy96+9/IoxJVxSB22lSyHpwqWjMSRJB6ZU=",
+        "owner": "nix-community",
+        "repo": "nixos-facter-modules",
+        "rev": "8c92c91e7cc449796bedf772ec6373f61df38c07",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "repo": "nixos-facter-modules",
+        "type": "github"
+      }
+    },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1723310128,
-        "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=",
+        "lastModified": 1737357941,
+        "narHash": "sha256-4MMTEgQBJBRGTfGYf8rAOpZ+/FS+EZ4/X3TE+0GSiUU=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf",
+        "rev": "ce98bebf0f98140cb1d4b6a3edee4f1eaade9261",
         "type": "github"
       },
       "original": {
@@ -659,20 +773,19 @@
         "nixpkgs": [
           "nixpkgs"
         ],
-        "nixpkgs-24_05": [
-          "nixpkgs"
-        ]
+        "nixpkgs-24_11": "nixpkgs-24_11"
       },
       "locked": {
-        "lastModified": 1722877200,
-        "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=",
+        "lastModified": 1734884447,
+        "narHash": "sha256-HA9fAmGNGf0cOYrhgoa+B6BxNVqGAYXfLyx8zIS0ZBY=",
         "owner": "simple-nixos-mailserver",
         "repo": "nixos-mailserver",
-        "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2",
+        "rev": "63209b1def2c9fc891ad271f474a3464a5833294",
         "type": "gitlab"
       },
       "original": {
         "owner": "simple-nixos-mailserver",
+        "ref": "nixos-24.11",
         "repo": "nixos-mailserver",
         "type": "gitlab"
       }
@@ -699,11 +812,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1723316219,
-        "narHash": "sha256-2B9qh8QBvw3kV/8cHc7ZJcrbVsRwP8wKjkwPXTSz76Y=",
+        "lastModified": 1736881310,
+        "narHash": "sha256-5BlVeikKoJVrUXBdr1kSrcRQ8o20Kl+ZU2pEzpE5sUw=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "bef98989a27429e1cb9e3d9c25701ba2da742af2",
+        "rev": "733994ea06585b76621073160e87b0bfac7fc5ae",
         "type": "github"
       },
       "original": {
@@ -713,6 +826,21 @@
         "type": "github"
       }
     },
+    "nixpkgs-24_11": {
+      "locked": {
+        "lastModified": 1734083684,
+        "narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
+        "type": "github"
+      },
+      "original": {
+        "id": "nixpkgs",
+        "ref": "nixos-24.11",
+        "type": "indirect"
+      }
+    },
     "nixpkgs-kernel": {
       "locked": {
         "lastModified": 1723362943,
@@ -731,14 +859,14 @@
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1722555339,
-        "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
+        "lastModified": 1735774519,
+        "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
       }
     },
     "nixpkgs-update": {
@@ -748,25 +876,22 @@
           "empty"
         ],
         "nixpkgs": "nixpkgs_2",
-        "runtimeDeps": [
-          "nix-community-infra",
-          "nixpkgs"
-        ],
         "treefmt-nix": [
           "nix-community-infra",
           "treefmt-nix"
         ]
       },
       "locked": {
-        "lastModified": 1722969327,
-        "narHash": "sha256-P8g6kDgZYMwxqmp8FRRZOwwBjkT4ILifvXV0fOz9ofY=",
+        "lastModified": 1736377088,
+        "narHash": "sha256-x0cWnU8Y5efPcmgDEuG6rlwYDvp4Xc2dzcUAXU7/hLk=",
         "owner": "nix-community",
         "repo": "nixpkgs-update",
-        "rev": "503f7b0d94b6eb780a51823972e6ab0204b0a137",
+        "rev": "48bd44038906863af33eaa8441e52c8cc4d3d341",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
+        "ref": "infra",
         "repo": "nixpkgs-update",
         "type": "github"
       }
@@ -803,30 +928,47 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1723686439,
-        "narHash": "sha256-sgHQqIDtHQUivF5vqa+k4iwbc/cx8F6x6IvXTlNd4Pg=",
+        "lastModified": 1737357096,
+        "narHash": "sha256-rUsLrIDCNhcGHtuIzudiwUNihjGT/VB1VA5KSobmW3s=",
         "owner": "chayleaf",
         "repo": "nixpkgs",
-        "rev": "43a0d4fefbfb1a9bc2f109769610038fcfae5ea0",
+        "rev": "be2fd05128020dc0faa9999a519c9806adfa6bcf",
         "type": "github"
       },
       "original": {
         "owner": "chayleaf",
+        "ref": "ci",
         "repo": "nixpkgs",
         "type": "github"
       }
     },
     "nixpkgs_4": {
       "locked": {
-        "lastModified": 1728241625,
-        "narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
+        "lastModified": 1736916166,
+        "narHash": "sha256-puPDoVKxkuNmYIGMpMQiK8bEjaACcCksolsG36gdaNQ=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
+        "rev": "e24b4c09e963677b1beea49d411cd315a024ad3a",
         "type": "github"
       },
       "original": {
         "owner": "NixOS",
+        "ref": "nixos-24.11",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "nixpkgs_5": {
+      "locked": {
+        "lastModified": 1737062831,
+        "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
         "ref": "nixos-unstable",
         "repo": "nixpkgs",
         "type": "github"
@@ -845,15 +987,16 @@
         "treefmt-nix": "treefmt-nix_2"
       },
       "locked": {
-        "lastModified": 1728485062,
-        "narHash": "sha256-+2e9hAM2GVDF3gywdQI/OA7s4f0Z9rvFuiVxePI41QM=",
+        "lastModified": 1737283156,
+        "narHash": "sha256-FyHmM6vvz+UxCrPZo/poIaZBZejLHVKkAH4cjtUxZDA=",
         "owner": "nix-community",
         "repo": "nixvim",
-        "rev": "61ec39764fbe1e4f21cf801ea7b9209d527c8135",
+        "rev": "abcbd250b8a2c7aab1f4b2b9e01598ee24b42337",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
+        "ref": "nixos-24.11",
         "repo": "nixvim",
         "type": "github"
       }
@@ -885,11 +1028,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1700483422,
-        "narHash": "sha256-ni6niOmObnG9EVGtaeT1I7ULz5+EkEewGTJVeFuWNuc=",
+        "lastModified": 1726769859,
+        "narHash": "sha256-sHKPDv3ihpoLnX076og9U3fAYcKoHIjKysvjwJ4+oyc=",
         "owner": "chayleaf",
         "repo": "notnft",
-        "rev": "b3e6a023a13a81d70a6a30997e2f1aaf36feafb3",
+        "rev": "2ca0b2fdfdd6780c9d4cab24afedefdd33ef8e08",
         "type": "github"
       },
       "original": {
@@ -899,12 +1042,17 @@
       }
     },
     "nur": {
+      "inputs": {
+        "flake-parts": "flake-parts_4",
+        "nixpkgs": "nixpkgs_5",
+        "treefmt-nix": "treefmt-nix_3"
+      },
       "locked": {
-        "lastModified": 1723664702,
-        "narHash": "sha256-ErRJ3oUHFOzUXoDAzws/h5u7c6dCExETjmm5uIFL/QY=",
+        "lastModified": 1737355203,
+        "narHash": "sha256-nJ2OakILvf7Z+4jl1z/db91YdzHr9QRmGJEXBXJj9WM=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "7bcbb0362c92f230ba4a2c5ad227e04f84fc1ce0",
+        "rev": "faa786a8b89e71301d620cb1320df7b2195d8b54",
         "type": "github"
       },
       "original": {
@@ -921,11 +1069,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1716222588,
-        "narHash": "sha256-gbyIIHsJpk3V8tnsGP8RZpgc0NM/R9QT4zk4SObRDas=",
+        "lastModified": 1736363937,
+        "narHash": "sha256-2Adaxw0Yp3wx1Qe69J7phTzLmB371qClkiUax3PlclU=",
         "owner": "nix-community",
         "repo": "nur-update",
-        "rev": "a54c4c1b0ec643ff36b3c9deecb5fefce57dcabc",
+        "rev": "a664c6495ab8de81d428d3cbe57408d1c8039674",
         "type": "github"
       },
       "original": {
@@ -937,17 +1085,18 @@
     "nuschtosSearch": {
       "inputs": {
         "flake-utils": "flake-utils",
+        "ixx": "ixx",
         "nixpkgs": [
           "nixvim",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1728423244,
-        "narHash": "sha256-+YwNsyIFj3dXyLVQd1ry4pCNmtOpbceKUrkNS8wp9Ho=",
+        "lastModified": 1735854821,
+        "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
         "owner": "NuschtOS",
         "repo": "search",
-        "rev": "f276cc3b391493ba3a8b30170776860f9520b7fa",
+        "rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
         "type": "github"
       },
       "original": {
@@ -986,7 +1135,7 @@
         "mobile-nixos": "mobile-nixos",
         "nix-community-infra": "nix-community-infra",
         "nix-gaming": "nix-gaming",
-        "nix-index-database": "nix-index-database",
+        "nix-index-database": "nix-index-database_2",
         "nixos-hardware": "nixos-hardware",
         "nixos-mailserver": "nixos-mailserver",
         "nixos-router": "nixos-router",
@@ -1008,11 +1157,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1723602049,
-        "narHash": "sha256-Z/noCSn9WPkv7O77dWKLcBxe4Ub4bWyNzsL5JhjaQfw=",
+        "lastModified": 1737340068,
+        "narHash": "sha256-5UciRckNV+YOZ6y6ASBIb01cySB12whDxgFUK+EqT8g=",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "ea0bf33a11a26a62c60123c49d96011da396602c",
+        "rev": "275c824ed9e90e7fd4f96d187bde3670062e721f",
         "type": "github"
       },
       "original": {
@@ -1026,18 +1175,14 @@
         "nixpkgs": [
           "nix-community-infra",
           "nixpkgs"
-        ],
-        "nixpkgs-stable": [
-          "nix-community-infra",
-          "empty"
         ]
       },
       "locked": {
-        "lastModified": 1722897572,
-        "narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=",
+        "lastModified": 1736808430,
+        "narHash": "sha256-wlgdf/n7bJMLBheqt1jmPoxJFrUP6FByKQFXuM9YvIk=",
         "owner": "Mic92",
         "repo": "sops-nix",
-        "rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9",
+        "rev": "553c7cb22fed19fd60eb310423fdc93045c51ba8",
         "type": "github"
       },
       "original": {
@@ -1054,11 +1199,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1723423676,
-        "narHash": "sha256-E+DdXV2cFj77vU35cVNoEEE5YueE075HXiJLXwAxJ0k=",
+        "lastModified": 1736810122,
+        "narHash": "sha256-29Mp0xa3jXF33Qu92hd/uPz1HZWBestpEKmgG4RyzCo=",
         "owner": "nix-community",
         "repo": "srvos",
-        "rev": "a7cc81cd76c4c07bb7db01b731199ecd4be17305",
+        "rev": "61cc2047ad1a4c52ef18d117ac8e6ccfc0e38ea5",
         "type": "github"
       },
       "original": {
@@ -1120,11 +1265,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1723402464,
-        "narHash": "sha256-xjunKUFQs9D7u0TpVoXhrRYb4tbVkutRoFUHj0lEydE=",
+        "lastModified": 1736154270,
+        "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "c9f97032be6816fa234f24803b8ae79dc7753a91",
+        "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
         "type": "github"
       },
       "original": {
@@ -1141,11 +1286,32 @@
         ]
       },
       "locked": {
-        "lastModified": 1727984844,
-        "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
+        "lastModified": 1737103437,
+        "narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
+        "rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "type": "github"
+      }
+    },
+    "treefmt-nix_3": {
+      "inputs": {
+        "nixpkgs": [
+          "nur",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1733222881,
+        "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
         "type": "github"
       },
       "original": {
@@ -1163,11 +1329,11 @@
       },
       "locked": {
         "dir": "packaging/nix",
-        "lastModified": 1723319758,
-        "narHash": "sha256-4WYwxNzH/95Vj0IqR2xh4gyiSn8H9bGnBECFWy4vjIk=",
+        "lastModified": 1737161836,
+        "narHash": "sha256-v20q0DeglyrsIAbqwqOSxdzZ4JhEWtU9muWPlPz3Few=",
         "ref": "refs/heads/main",
-        "rev": "74656e9da4008f75f3b1d136dbaf1172bf6c232f",
-        "revCount": 697,
+        "rev": "3fd4ef90e8427cfc74d94914654a288912edb2cf",
+        "revCount": 901,
         "submodules": true,
         "type": "git",
         "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
diff --git a/flake.nix b/flake.nix
index 47f7a56..50b8151 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,8 +4,8 @@
   inputs = {
     nix-community-infra.url = "github:nix-community/infra";
     nixpkgs-kernel.url = "github:NixOS/nixpkgs/a58bc8ad779655e790115244571758e8de055e3d";
-    nixpkgs.url = "github:chayleaf/nixpkgs";
-    nixvim.url = "github:nix-community/nixvim";
+    nixpkgs.url = "github:chayleaf/nixpkgs/ci";
+    nixvim.url = "github:nix-community/nixvim/nixos-24.11";
     nixos-hardware.url = "github:NixOS/nixos-hardware";
     nix-index-database = {
       url = "github:nix-community/nix-index-database";
@@ -30,7 +30,7 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
     home-manager = {
-      url = "github:chayleaf/home-manager";
+      url = "github:chayleaf/home-manager/ci";
       inputs.nixpkgs.follows = "nixpkgs";
     };
     nix-gaming = {
@@ -50,9 +50,8 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
     nixos-mailserver = {
-      url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
+      url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
       inputs.nixpkgs.follows = "nixpkgs";
-      inputs.nixpkgs-24_05.follows = "nixpkgs";
     };
     unbound-rust-mod = {
       url = "github:chayleaf/unbound-rust-mod";
diff --git a/home/hosts/ereader.nix b/home/hosts/ereader.nix
index e9b33ee..bb97bc6 100644
--- a/home/hosts/ereader.nix
+++ b/home/hosts/ereader.nix
@@ -7,20 +7,9 @@
   imports = [
     ../modules/general.nix
     ../modules/i3-sway.nix
-    inputs.nur.nixosModules.nur
+    inputs.nur.modules.homeManager.default
   ];
 
-  nix.settings = {
-    trusted-public-keys = [
-      "binarycache.pavluk.org:Vk0ms/vSqoOV2JXeNVOroc8EfilgVxCCUtpCShGIKsQ="
-      "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
-    ];
-    trusted-substituters = [
-      "https://binarycache.pavluk.org"
-      "https://cache.nixos.org"
-    ];
-  };
-
   phone.enable = true;
   minimal = true;
   home.stateVersion = "23.11";
diff --git a/home/hosts/nixmsi.nix b/home/hosts/nixmsi.nix
index dcac769..be1d837 100644
--- a/home/hosts/nixmsi.nix
+++ b/home/hosts/nixmsi.nix
@@ -12,24 +12,9 @@
     ../modules/nvim.nix
     ../modules/helix.nix
     # ../modules/kakoune.nix
-    inputs.nur.nixosModules.nur
+    inputs.nur.modules.homeManager.default
   ];
 
-  nix.settings = {
-    trusted-public-keys = [
-      "binarycache.pavluk.org:Vk0ms/vSqoOV2JXeNVOroc8EfilgVxCCUtpCShGIKsQ="
-      "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
-      "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
-      # "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
-    ];
-    trusted-substituters = [
-      "https://binarycache.pavluk.org"
-      "https://cache.nixos.org"
-      "https://nix-gaming.cachix.org"
-      # "https://nixpkgs-wayland.cachix.org"
-    ];
-  };
-
   nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
     "steam-run"
     "steam"
diff --git a/home/hosts/phone.nix b/home/hosts/phone.nix
index e4f0746..ac64481 100644
--- a/home/hosts/phone.nix
+++ b/home/hosts/phone.nix
@@ -9,20 +9,9 @@
     ../modules/firefox.nix
     ../modules/i3-sway.nix
     ../modules/nvim.nix
-    inputs.nur.nixosModules.nur
+    inputs.nur.modules.homeManager.default
   ];
 
-  nix.settings = {
-    trusted-public-keys = [
-      "binarycache.pavluk.org:Vk0ms/vSqoOV2JXeNVOroc8EfilgVxCCUtpCShGIKsQ="
-      "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
-    ];
-    trusted-substituters = [
-      "https://binarycache.pavluk.org"
-      "https://cache.nixos.org"
-    ];
-  };
-
   phone.enable = true;
   phone.suspend = false;
   home.stateVersion = "23.11";
diff --git a/home/hosts/remote.nix b/home/hosts/remote.nix
index c9256e0..a8cd27e 100644
--- a/home/hosts/remote.nix
+++ b/home/hosts/remote.nix
@@ -5,7 +5,7 @@
 {
   imports = [
     ../modules/general.nix
-    inputs.nur.nixosModules.nur
+    inputs.nur.modules.homeManager.default
   ];
 
   home.stateVersion = "24.05";
diff --git a/home/modules/firefox.nix b/home/modules/firefox.nix
index 0de86f6..fee9a3d 100644
--- a/home/modules/firefox.nix
+++ b/home/modules/firefox.nix
@@ -28,7 +28,7 @@
         }];
     profiles.chayleaf = lib.mkMerge [
       {
-        extensions = (with config.nur.repos.rycee.firefox-addons; [
+        extensions = (with pkgs.nur.repos.rycee.firefox-addons; [
           cookies-txt
           don-t-fuck-with-paste
           greasemonkey
diff --git a/home/modules/gui.nix b/home/modules/gui.nix
index 9cf651e..22beb92 100644
--- a/home/modules/gui.nix
+++ b/home/modules/gui.nix
@@ -208,7 +208,7 @@ config = lib.mkMerge [
     # for working with nix
     nix-init
     nvfetcher
-    config.nur.repos.rycee.mozilla-addons-to-nix
+    pkgs.nur.repos.rycee.mozilla-addons-to-nix
   ];
 })
 (lib.mkIf (!config.minimal) {
diff --git a/nixos-rebuild.py b/nixos-rebuild.py
index 1460c15..d0fd2b1 100755
--- a/nixos-rebuild.py
+++ b/nixos-rebuild.py
@@ -19,7 +19,7 @@ def main():
         addr = opts["addresses"][cfg]
     build_host = opts["build_host"].get(cfg)
     act = args[2]
-    assert act in ["boot", "switch", "test", "build"]
+    assert act in ["boot", "switch", "test", "build", "home"]
     args = args[3:]
     args.extend(
         [
@@ -28,7 +28,10 @@ def main():
             os.path.dirname(__file__) + "/extra-builtins.nix",
         ]
     )
-    attr_path = f".#nixosConfigurations.{cfg}.config.system.build.toplevel"
+    if act == "home":
+        attr_path = f'.#homeConfigurations.user@{cfg}.activation-script'
+    else:
+        attr_path = f".#nixosConfigurations.{cfg}.config.system.build.toplevel"
     copy_args = []
     do_copy = True
     if build_host is not None:
@@ -70,9 +73,10 @@ def main():
         return
     if act in ["boot", "switch"]:
         cmds.append(["nix-env", "-p", "/nix/var/nix/profiles/system", "--set", ret])
-    cmds.append(
-        ["env", "NIXOS_INSTALL_BOOTLOADER=", ret + "/bin/switch-to-configuration", act]
-    )
+    if act != "home":
+        cmds.append(
+            ["env", "NIXOS_INSTALL_BOOTLOADER=", ret + "/bin/switch-to-configuration", act]
+        )
     if addr is None:
         for cmd in cmds:
             print('running', *cmd)
@@ -88,13 +92,14 @@ def main():
                 + args,
                 check=True,
             )
-        print('running', *cmd)
-        subprocess.run(
-            ["ssh", "root@" + addr],
-            input="\n".join(" ".join(cmd) for cmd in cmds) + "\n",
-            check=True,
-            encoding="utf-8",
-        )
+        if cmds:
+            print('running', cmds)
+            subprocess.run(
+                ["ssh", "root@" + addr],
+                input="\n".join(" ".join(cmd) for cmd in cmds) + "\n",
+                check=True,
+                encoding="utf-8",
+            )
 
 
 if __name__ == "__main__":
diff --git a/pkgs/_sources/generated.json b/pkgs/_sources/generated.json
index c1d7c1b..b171031 100644
--- a/pkgs/_sources/generated.json
+++ b/pkgs/_sources/generated.json
@@ -22,24 +22,24 @@
         "pinned": false,
         "src": {
             "name": null,
-            "sha256": "sha256-vpr4DVWI7TZWb+roijpX5kJRPOJT4wZhT/ZnRrkgZKI=",
+            "sha256": "sha256-1pWRbn4bjMlwWsR2LIsxFFvEJE4VD8fUIwtSM1MC6I8=",
             "type": "url",
-            "url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-11/GE-Proton9-11.tar.gz"
+            "url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-23/GE-Proton9-23.tar.gz"
         },
-        "version": "GE-Proton9-11"
+        "version": "GE-Proton9-23"
     },
     "searxng": {
         "cargoLocks": null,
-        "date": "2024-08-09",
+        "date": "2025-01-17",
         "extract": null,
         "name": "searxng",
         "passthru": null,
         "pinned": false,
         "src": {
-            "sha256": "sha256-2QetT4xLlyKAC/eiIhShYRMRwFU9dJm6Ah5wS84Rgf8=",
+            "sha256": "sha256-IGpped9GcB2vWvb5B8qK6BV2FQAGUek68Ox+9aBJxN4=",
             "type": "tarball",
-            "url": "https://github.com/searxng/searxng/archive/f1c05e7c16e59a8d5d98640bc057958ea268cddf.tar.gz"
+            "url": "https://github.com/searxng/searxng/archive/a576f69c12d599d510b8aa486b21cc7d79516d6a.tar.gz"
         },
-        "version": "f1c05e7c16e59a8d5d98640bc057958ea268cddf"
+        "version": "a576f69c12d599d510b8aa486b21cc7d79516d6a"
     }
 }
\ No newline at end of file
diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix
index de642e2..c7888e5 100644
--- a/pkgs/_sources/generated.nix
+++ b/pkgs/_sources/generated.nix
@@ -12,19 +12,19 @@
   };
   proton-ge = {
     pname = "proton-ge";
-    version = "GE-Proton9-11";
+    version = "GE-Proton9-23";
     src = fetchurl {
-      url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-11/GE-Proton9-11.tar.gz";
-      sha256 = "sha256-vpr4DVWI7TZWb+roijpX5kJRPOJT4wZhT/ZnRrkgZKI=";
+      url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-23/GE-Proton9-23.tar.gz";
+      sha256 = "sha256-1pWRbn4bjMlwWsR2LIsxFFvEJE4VD8fUIwtSM1MC6I8=";
     };
   };
   searxng = {
     pname = "searxng";
-    version = "f1c05e7c16e59a8d5d98640bc057958ea268cddf";
+    version = "a576f69c12d599d510b8aa486b21cc7d79516d6a";
     src = fetchTarball {
-      url = "https://github.com/searxng/searxng/archive/f1c05e7c16e59a8d5d98640bc057958ea268cddf.tar.gz";
-      sha256 = "sha256-2QetT4xLlyKAC/eiIhShYRMRwFU9dJm6Ah5wS84Rgf8=";
+      url = "https://github.com/searxng/searxng/archive/a576f69c12d599d510b8aa486b21cc7d79516d6a.tar.gz";
+      sha256 = "sha256-IGpped9GcB2vWvb5B8qK6BV2FQAGUek68Ox+9aBJxN4=";
     };
-    date = "2024-08-09";
+    date = "2025-01-17";
   };
 }
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 59db133..3620fcd 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -24,14 +24,6 @@ in
 
   krita = pkgs.callPackage ./krita { inherit (pkgs) krita; };
 
-  openssh = pkgs.openssh.overrideAttrs (old: rec {
-    version = "9.8p1";
-    src = pkgs.fetchurl {
-      url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      hash = "sha256-3YvQAqN5tdSZ37BQ3R+pr4Ap6ARh9LtsUjxJlz9aOfM=";
-    };
-  });
-
   inherit (inputs.unbound-rust-mod.packages.${pkgs.system}) unbound-mod;
   unbound-full = pkgs.unbound-full.overrideAttrs (old: {
     configureFlags = old.configureFlags ++ [ "--with-dynlibmodule" ];
diff --git a/pkgs/firefox-addons/generated.nix b/pkgs/firefox-addons/generated.nix
index 2c73e4e..40957c7 100644
--- a/pkgs/firefox-addons/generated.nix
+++ b/pkgs/firefox-addons/generated.nix
@@ -23,13 +23,13 @@
     };
     "rikaitan" = buildFirefoxXpiAddon {
       pname = "rikaitan";
-      version = "24.7.31.0";
+      version = "25.1.5.0";
       addonId = "tatsu@autistici.org";
-      url = "https://addons.mozilla.org/firefox/downloads/file/4337076/rikaitan-24.7.31.0.xpi";
-      sha256 = "be4b8484221aa8eb4348d1880de988d6f19f3b9ca53deda3fca657dfa2ce3108";
+      url = "https://addons.mozilla.org/firefox/downloads/file/4418773/rikaitan-25.1.5.0.xpi";
+      sha256 = "b2ab8e545190fb0e8c60957acee92ded54e729bbec252d0f0e4decc005caf96b";
       meta = with lib;
       {
-        homepage = "https://github.com/Ajatt-Tools/rikaitan";
+        homepage = "https://rikaitan.github.io/";
         description = "Japanese dictionary with Anki integration and flashcard creation support.";
         license = licenses.gpl3;
         mozPermissions = [
diff --git a/pkgs/sway/0001-mobile-don-t-idle_notify-for-volume-keys.patch b/pkgs/sway/0001-mobile-don-t-idle_notify-for-volume-keys.patch
index d8cee38..2dca88e 100644
--- a/pkgs/sway/0001-mobile-don-t-idle_notify-for-volume-keys.patch
+++ b/pkgs/sway/0001-mobile-don-t-idle_notify-for-volume-keys.patch
@@ -1,4 +1,4 @@
-From c4690b1496ca34c416869d2932abfa112a93f188 Mon Sep 17 00:00:00 2001
+From c0ee6ec0b06721c2aa4f370fc84daaa48d3a6ff3 Mon Sep 17 00:00:00 2001
 From: chayleaf <chayleaf-git@pavluk.org>
 Date: Wed, 14 Aug 2024 08:17:44 +0700
 Subject: [PATCH 1/4] mobile: don't idle_notify for volume keys
@@ -8,10 +8,10 @@ Subject: [PATCH 1/4] mobile: don't idle_notify for volume keys
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
-index 8927287f..d42f62b0 100644
+index 1a73df01..ce4137d6 100644
 --- a/sway/input/keyboard.c
 +++ b/sway/input/keyboard.c
-@@ -404,7 +404,9 @@ static void handle_key_event(struct sway_keyboard *keyboard,
+@@ -406,7 +406,9 @@ static void handle_key_event(struct sway_keyboard *keyboard,
  		keyboard->seat_device->input_device->wlr_device;
  	char *device_identifier = input_device_get_identifier(wlr_device);
  	bool exact_identifier = keyboard->wlr->group != NULL;
@@ -19,9 +19,9 @@ index 8927287f..d42f62b0 100644
 +	if (event->keycode != XKB_KEY_XF86AudioLowerVolume && event->keycode != XKB_KEY_XF86AudioRaiseVolume) {
 +		seat_idle_notify_activity(seat, IDLE_SOURCE_KEYBOARD);
 +	}
- 	bool input_inhibited = seat->exclusive_client != NULL ||
- 		server.session_lock.locked;
+ 	bool locked = server.session_lock.lock;
  	struct sway_keyboard_shortcuts_inhibitor *sway_inhibitor =
+ 		keyboard_shortcuts_inhibitor_get_for_focused_surface(seat);
 -- 
 2.45.2
 
diff --git a/pkgs/sway/0002-mobile-reverse-layer-order.patch b/pkgs/sway/0002-mobile-reverse-layer-order.patch
deleted file mode 100644
index dde5917..0000000
--- a/pkgs/sway/0002-mobile-reverse-layer-order.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ffec4e61168224d5b57241ae863a6970ce969a47 Mon Sep 17 00:00:00 2001
-From: chayleaf <chayleaf-git@pavluk.org>
-Date: Wed, 14 Aug 2024 07:32:11 +0700
-Subject: [PATCH 2/4] mobile: reverse layer order
-
-This makes exclusive anchored layers that were added first be first
----
- sway/desktop/layer_shell.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
-index 8c6cedfe..41a638ee 100644
---- a/sway/desktop/layer_shell.c
-+++ b/sway/desktop/layer_shell.c
-@@ -129,7 +129,7 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list,
- 	struct wlr_box full_area = { 0 };
- 	wlr_output_effective_resolution(output->wlr_output,
- 			&full_area.width, &full_area.height);
--	wl_list_for_each(sway_layer, list, link) {
-+	wl_list_for_each_reverse(sway_layer, list, link) {
- 		struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface;
- 		struct wlr_layer_surface_v1_state *state = &layer->current;
- 		if (exclusive != (state->exclusive_zone > 0)) {
--- 
-2.45.2
-
diff --git a/pkgs/sway/0003-mobile-swaybar-bottom-overlay-layer.patch b/pkgs/sway/0003-mobile-swaybar-bottom-overlay-layer.patch
index 01e88cc..faa1796 100644
--- a/pkgs/sway/0003-mobile-swaybar-bottom-overlay-layer.patch
+++ b/pkgs/sway/0003-mobile-swaybar-bottom-overlay-layer.patch
@@ -1,4 +1,4 @@
-From 2bc4fabd214939f24c7f980e80fe5f3f0c6ff687 Mon Sep 17 00:00:00 2001
+From f61e3735f05c45b37ee2857ad42bfbe7a0a5bf88 Mon Sep 17 00:00:00 2001
 From: chayleaf <chayleaf-git@pavluk.org>
 Date: Fri, 23 Aug 2024 05:35:57 +0700
 Subject: [PATCH 3/4] mobile: swaybar: bottom -> overlay layer
@@ -8,10 +8,10 @@ Subject: [PATCH 3/4] mobile: swaybar: bottom -> overlay layer
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/swaybar/bar.c b/swaybar/bar.c
-index 021fc3bd..7f44799d 100644
+index 4d20f20f..7dc16b5e 100644
 --- a/swaybar/bar.c
 +++ b/swaybar/bar.c
-@@ -103,7 +103,7 @@ static void add_layer_surface(struct swaybar_output *output) {
+@@ -102,7 +102,7 @@ static void add_layer_surface(struct swaybar_output *output) {
  	output->layer_surface = zwlr_layer_shell_v1_get_layer_surface(
  			bar->layer_shell, output->surface, output->output,
  			hidden || overlay ? ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY :
diff --git a/pkgs/sway/0004-mobile-dont-occupy-exclusive-layers-with-fullscreen.patch b/pkgs/sway/0004-mobile-dont-occupy-exclusive-layers-with-fullscreen.patch
index eb06cec..db44e32 100644
--- a/pkgs/sway/0004-mobile-dont-occupy-exclusive-layers-with-fullscreen.patch
+++ b/pkgs/sway/0004-mobile-dont-occupy-exclusive-layers-with-fullscreen.patch
@@ -1,46 +1,18 @@
-From 7ce9a5b2ded14623e6ff56311f4336fba4d22c7f Mon Sep 17 00:00:00 2001
+From 8ca0427a879085b3380b6ed4d50c059f4589b5c7 Mon Sep 17 00:00:00 2001
 From: chayleaf <chayleaf-git@pavluk.org>
 Date: Fri, 23 Aug 2024 05:34:58 +0700
 Subject: [PATCH 4/4] mobile: dont occupy exclusive layers with fullscreen
 
 ---
- include/sway/desktop.h     |  5 ++++
- sway/desktop/layer_shell.c |  2 +-
- sway/tree/container.c      |  4 ++--
- sway/tree/view.c           | 48 +++++++++++++++++++++++++++++++-------
- 4 files changed, 48 insertions(+), 11 deletions(-)
+ sway/tree/container.c |  4 ++--
+ sway/tree/view.c      | 43 +++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 37 insertions(+), 10 deletions(-)
 
-diff --git a/include/sway/desktop.h b/include/sway/desktop.h
-index 7f2f5b3e..c20f5ee6 100644
---- a/include/sway/desktop.h
-+++ b/include/sway/desktop.h
-@@ -11,3 +11,8 @@ void desktop_damage_whole_container(struct sway_container *con);
- void desktop_damage_box(struct wlr_box *box);
- 
- void desktop_damage_view(struct sway_view *view);
-+
-+void apply_exclusive(struct wlr_box *usable_area,
-+		uint32_t anchor, int32_t exclusive,
-+		int32_t margin_top, int32_t margin_right,
-+		int32_t margin_bottom, int32_t margin_left);
-diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
-index 41a638ee..79833ef3 100644
---- a/sway/desktop/layer_shell.c
-+++ b/sway/desktop/layer_shell.c
-@@ -50,7 +50,7 @@ struct wlr_layer_surface_v1 *toplevel_layer_surface_from_surface(
- 	} while (true);
- }
- 
--static void apply_exclusive(struct wlr_box *usable_area,
-+void apply_exclusive(struct wlr_box *usable_area,
- 		uint32_t anchor, int32_t exclusive,
- 		int32_t margin_top, int32_t margin_right,
- 		int32_t margin_bottom, int32_t margin_left) {
 diff --git a/sway/tree/container.c b/sway/tree/container.c
-index 8c344a6d..8034029e 100644
+index 62bff1ea..6cfbc27a 100644
 --- a/sway/tree/container.c
 +++ b/sway/tree/container.c
-@@ -1132,7 +1132,7 @@ static void container_fullscreen_workspace(struct sway_container *con) {
+@@ -1235,7 +1235,7 @@ static void container_fullscreen_workspace(struct sway_container *con) {
  	con->saved_height = con->pending.height;
  
  	if (con->pending.workspace) {
@@ -49,7 +21,7 @@ index 8c344a6d..8034029e 100644
  		struct sway_seat *seat;
  		struct sway_workspace *focus_ws;
  		wl_list_for_each(seat, &server.input->seats, link) {
-@@ -1159,7 +1159,7 @@ static void container_fullscreen_global(struct sway_container *con) {
+@@ -1262,7 +1262,7 @@ static void container_fullscreen_global(struct sway_container *con) {
  	}
  	set_fullscreen(con, true);
  
@@ -59,42 +31,37 @@ index 8c344a6d..8034029e 100644
  	con->saved_y = con->pending.y;
  	con->saved_width = con->pending.width;
 diff --git a/sway/tree/view.c b/sway/tree/view.c
-index 65ca0c9c..032f7994 100644
+index ebf98faa..85adc608 100644
 --- a/sway/tree/view.c
 +++ b/sway/tree/view.c
-@@ -34,6 +34,7 @@
+@@ -35,6 +35,7 @@
+ #include "sway/config.h"
  #include "sway/xdg_decoration.h"
- #include "pango.h"
  #include "stringop.h"
 +#include "sway/layers.h"
  
- void view_init(struct sway_view *view, enum sway_view_type type,
+ bool view_init(struct sway_view *view, enum sway_view_type type,
  		const struct sway_view_impl *impl) {
-@@ -239,6 +240,23 @@ static bool gaps_to_edge(struct sway_view *view) {
+@@ -250,6 +251,18 @@ static bool gaps_to_edge(struct sway_view *view) {
  	return gaps.top > 0 || gaps.right > 0 || gaps.bottom > 0 || gaps.left > 0;
  }
  
-+void calculate_exclusive(struct sway_output *output, struct wlr_box *usable_area) {
-+	struct sway_layer_surface *sway_layer;
-+	for (int i = ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND; i <= ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY; ++i) {
-+		struct wl_list *list = &output->layers[i];
-+		wl_list_for_each_reverse(sway_layer, list, link) {
-+			struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface;
-+			struct wlr_layer_surface_v1_state *state = &layer->current;
-+			if (state->exclusive_zone <= 0) {
-+				continue;
-+			}
-+			apply_exclusive(usable_area, state->anchor, state->exclusive_zone,
-+			state->margin.top, state->margin.right,
-+					state->margin.bottom, state->margin.left);
-+		}
-+	}
++void calculate_exclusive(struct sway_view *view, struct wlr_box *usable_area) {
++	struct wlr_surface *surface = view->surface;
++	if (!surface) return;
++	struct wlr_layer_surface_v1 *layer_surface = wlr_layer_surface_v1_try_from_wlr_surface(surface);
++	if (!layer_surface) return;
++	struct wlr_layer_surface_v1_state *state = &layer_surface->current;
++	usable_area->y += state->margin.top;
++	usable_area->height -= state->margin.top + state->margin.bottom;
++	usable_area->x += state->margin.left;
++	usable_area->width -= state->margin.left + state->margin.right;
 +}
 +
  void view_autoconfigure(struct sway_view *view) {
  	struct sway_container *con = view->container;
  	struct sway_workspace *ws = con->pending.workspace;
-@@ -250,16 +268,30 @@ void view_autoconfigure(struct sway_view *view) {
+@@ -261,16 +274,30 @@ void view_autoconfigure(struct sway_view *view) {
  	struct sway_output *output = ws ? ws->output : NULL;
  
  	if (con->pending.fullscreen_mode == FULLSCREEN_WORKSPACE) {
@@ -108,7 +75,7 @@ index 65ca0c9c..032f7994 100644
 +			.width = output->width,
 +			.height = output->height,
 +		};
-+		calculate_exclusive(output, &box);
++		calculate_exclusive(view, &box);
 +		con->pending.content_x = box.x;
 +		con->pending.content_y = box.y;
 +		con->pending.content_width = box.width;
@@ -125,7 +92,7 @@ index 65ca0c9c..032f7994 100644
 +			.width = root->width,
 +			.height = root->height,
 +		};
-+		calculate_exclusive(output, &box);
++		calculate_exclusive(view, &box);
 +		con->pending.content_x = box.x;
 +		con->pending.content_y = box.y;
 +		con->pending.content_width = box.width;