about summary refs log tree commit diff stats
path: root/flake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.lock288
-rw-r--r--flake.lock.license9
-rw-r--r--flake.nix123
-rw-r--r--flake/apps/default.nix23
-rw-r--r--flake/default.nix120
-rw-r--r--flake/nixosConfigurations/default.nix86
-rw-r--r--flake/packages/default.nix20
-rw-r--r--flake/treefmt.nix9
8 files changed, 209 insertions, 469 deletions
diff --git a/flake.lock b/flake.lock
index 6b1f16fb..66b6ddae 100644
--- a/flake.lock
+++ b/flake.lock
@@ -16,11 +16,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736955230,
-        "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
+        "lastModified": 1750173260,
+        "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
+        "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf",
         "type": "github"
       },
       "original": {
@@ -29,32 +29,6 @@
         "type": "github"
       }
     },
-    "arkenfox-nixos": {
-      "inputs": {
-        "flake-compat": [
-          "flake-compat"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ],
-        "pre-commit": [
-          "pre-commit-hooks"
-        ]
-      },
-      "locked": {
-        "lastModified": 1744011341,
-        "narHash": "sha256-ZwyAdfXgfigchDLMZ/UqSjLc5YKk2xnchGHuWaNfqmQ=",
-        "owner": "dwarfmaster",
-        "repo": "arkenfox-nixos",
-        "rev": "57eefe49b80ea5e02f42199db531292de34a4350",
-        "type": "github"
-      },
-      "original": {
-        "owner": "dwarfmaster",
-        "repo": "arkenfox-nixos",
-        "type": "github"
-      }
-    },
     "beautysh": {
       "inputs": {
         "nixpkgs": [
@@ -83,11 +57,11 @@
     },
     "crane": {
       "locked": {
-        "lastModified": 1743908961,
-        "narHash": "sha256-e1idZdpnnHWuosI3KsBgAgrhMR05T2oqskXCmNzGPq0=",
+        "lastModified": 1750266157,
+        "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=",
         "owner": "ipetkov",
         "repo": "crane",
-        "rev": "80ceeec0dc94ef967c371dcdc56adb280328f591",
+        "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48",
         "type": "github"
       },
       "original": {
@@ -123,11 +97,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744145203,
-        "narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=",
+        "lastModified": 1750903843,
+        "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989",
+        "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
         "type": "github"
       },
       "original": {
@@ -139,11 +113,11 @@
     "flake-compat": {
       "flake": false,
       "locked": {
-        "lastModified": 1733328505,
-        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
+        "lastModified": 1747046372,
+        "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
         "owner": "edolstra",
         "repo": "flake-compat",
-        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
+        "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
         "type": "github"
       },
       "original": {
@@ -159,11 +133,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743550720,
-        "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
+        "lastModified": 1749398372,
+        "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "c621e8422220273271f52058f618c94e405bb0f5",
+        "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
         "type": "github"
       },
       "original": {
@@ -192,32 +166,6 @@
         "type": "github"
       }
     },
-    "flake_version_update": {
-      "inputs": {
-        "flake-utils": [
-          "flake-utils"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ],
-        "systems": [
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1685288691,
-        "narHash": "sha256-oP6h34oJ8rm6KlUpyZrX+ww3hnoWny2ecrEXxkU7F3c=",
-        "ref": "refs/heads/prime",
-        "rev": "e9a97e01eca780bd16e1dbdbd8856b59558f4959",
-        "revCount": 5,
-        "type": "git",
-        "url": "https://codeberg.org/soispha/flake_version_update.git"
-      },
-      "original": {
-        "type": "git",
-        "url": "https://codeberg.org/soispha/flake_version_update.git"
-      }
-    },
     "git-hooks": {
       "inputs": {
         "flake-compat": [
@@ -231,11 +179,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1742649964,
-        "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
+        "lastModified": 1750779888,
+        "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
+        "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
         "type": "github"
       },
       "original": {
@@ -291,11 +239,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744208565,
-        "narHash": "sha256-vG3JJOar/r8ognz7wuwMtOJ8Knu1MMlOzHB1N6R2MbY=",
+        "lastModified": 1751336185,
+        "narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "542efdf2dfac351498f534eb71671525b9bd45ed",
+        "rev": "96354906f58464605ff81d2f6c2ea23211cbf051",
         "type": "github"
       },
       "original": {
@@ -332,16 +280,16 @@
         ]
       },
       "locked": {
-        "lastModified": 1729958008,
-        "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
+        "lastModified": 1748294338,
+        "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
         "owner": "NuschtOS",
         "repo": "ixx",
-        "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
+        "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
         "type": "github"
       },
       "original": {
         "owner": "NuschtOS",
-        "ref": "v0.0.6",
+        "ref": "v0.0.8",
         "repo": "ixx",
         "type": "github"
       }
@@ -405,11 +353,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743496612,
-        "narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=",
+        "lastModified": 1751313918,
+        "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
         "owner": "lnl7",
         "repo": "nix-darwin",
-        "rev": "73d59580d01e9b9f957ba749f336a272869c42dd",
+        "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
         "type": "github"
       },
       "original": {
@@ -446,11 +394,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743911143,
-        "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=",
+        "lastModified": 1751170039,
+        "narHash": "sha256-3EKpUmyGmHYA/RuhZjINTZPU+OFWko0eDwazUOW64nw=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb",
+        "rev": "9c932ae632d6b5150515e5749b198c175d8565db",
         "type": "github"
       },
       "original": {
@@ -459,32 +407,6 @@
         "type": "github"
       }
     },
-    "nixVim": {
-      "inputs": {
-        "flake-parts": [
-          "flake-parts"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ],
-        "nuschtosSearch": [
-          "nuschtosSearch"
-        ]
-      },
-      "locked": {
-        "lastModified": 1744200902,
-        "narHash": "sha256-BqTLjxT1C1XfREDBQSxPrfKI9DBpZHBVLHzfXZs+h8M=",
-        "owner": "nix-community",
-        "repo": "nixvim",
-        "rev": "51203927e395535c4a427295efed4e1b2ef8349b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-community",
-        "repo": "nixvim",
-        "type": "github"
-      }
-    },
     "nixos-generators": {
       "inputs": {
         "nixlib": [
@@ -495,11 +417,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1742568034,
-        "narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=",
+        "lastModified": 1747663185,
+        "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=",
         "owner": "nix-community",
         "repo": "nixos-generators",
-        "rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11",
+        "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc",
         "type": "github"
       },
       "original": {
@@ -510,27 +432,27 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1744098102,
-        "narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
+        "lastModified": 1751331362,
+        "narHash": "sha256-U4PMIjimk9RQwERsPkd7+84WRoWgaeVGDo/XuydRpns=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
+        "rev": "08ed4a9c085d54f04207ec4e8c5e0eddbe991229",
         "type": "github"
       },
       "original": {
         "owner": "NixOS",
-        "ref": "nixos-unstable",
+        "ref": "nixos-unstable-small",
         "repo": "nixpkgs",
         "type": "github"
       }
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1743901752,
-        "narHash": "sha256-WKv9xikcdKm0VWOnhttJ6dAxorQJDjJCfIsjrP00ip4=",
+        "lastModified": 1751159883,
+        "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
         "owner": "nix-community",
         "repo": "nixpkgs.lib",
-        "rev": "2bb0af21f02e8c61a5dded3832b92db47d6a0411",
+        "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab",
         "type": "github"
       },
       "original": {
@@ -541,20 +463,49 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1743975612,
-        "narHash": "sha256-o4FjFOUmjSRMK7dn0TFdAT0RRWUWD+WsspPHa+qEQT8=",
+        "lastModified": 1751211869,
+        "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "a880f49904d68b5e53338d1e8c7bf80f59903928",
+        "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
         "type": "github"
       },
       "original": {
         "owner": "NixOS",
-        "ref": "nixos-24.11",
+        "ref": "nixos-25.05",
         "repo": "nixpkgs",
         "type": "github"
       }
     },
+    "nixvim": {
+      "inputs": {
+        "flake-parts": [
+          "flake-parts"
+        ],
+        "nixpkgs": [
+          "nixpkgs"
+        ],
+        "nuschtosSearch": [
+          "nuschtosSearch"
+        ],
+        "systems": [
+          "systems"
+        ]
+      },
+      "locked": {
+        "lastModified": 1751144320,
+        "narHash": "sha256-KJsKiGfkfXFB23V26NQ1p+UPsexI6NKtivnrwSlWWdQ=",
+        "owner": "nix-community",
+        "repo": "nixvim",
+        "rev": "ceb52aece5d571b37096945c2815604195a04eb4",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "repo": "nixvim",
+        "type": "github"
+      }
+    },
     "nuschtosSearch": {
       "inputs": {
         "flake-utils": [
@@ -566,11 +517,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743683223,
-        "narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=",
+        "lastModified": 1749730855,
+        "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
         "owner": "NuschtOS",
         "repo": "search",
-        "rev": "56a49ffef2908dad1e9a8adef1f18802bc760962",
+        "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
         "type": "github"
       },
       "original": {
@@ -622,11 +573,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1742649964,
-        "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
+        "lastModified": 1750779888,
+        "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
+        "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
         "type": "github"
       },
       "original": {
@@ -665,42 +616,9 @@
         "url": "https://git.foss-syndicate.org/bpeetz/qmk_layout.git"
       }
     },
-    "ragenix": {
-      "inputs": {
-        "agenix": [
-          "agenix"
-        ],
-        "crane": [
-          "crane"
-        ],
-        "flake-utils": [
-          "flake-utils"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ],
-        "rust-overlay": [
-          "rust-overlay"
-        ]
-      },
-      "locked": {
-        "lastModified": 1741508717,
-        "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=",
-        "owner": "yaxitech",
-        "repo": "ragenix",
-        "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9",
-        "type": "github"
-      },
-      "original": {
-        "owner": "yaxitech",
-        "repo": "ragenix",
-        "type": "github"
-      }
-    },
     "root": {
       "inputs": {
         "agenix": "agenix",
-        "arkenfox-nixos": "arkenfox-nixos",
         "beautysh": "beautysh",
         "crane": "crane",
         "devshell": "devshell",
@@ -708,7 +626,6 @@
         "flake-compat": "flake-compat",
         "flake-parts": "flake-parts",
         "flake-utils": "flake-utils",
-        "flake_version_update": "flake_version_update",
         "git-hooks": "git-hooks",
         "gitignore": "gitignore",
         "haumea": "haumea",
@@ -718,19 +635,17 @@
         "library": "library",
         "nix-darwin": "nix-darwin",
         "nix-index-database": "nix-index-database",
-        "nixVim": "nixVim",
         "nixos-generators": "nixos-generators",
         "nixpkgs": "nixpkgs",
         "nixpkgs-lib": "nixpkgs-lib",
         "nixpkgs-stable": "nixpkgs-stable",
+        "nixvim": "nixvim",
         "nuschtosSearch": "nuschtosSearch",
         "poetry2nix": "poetry2nix",
         "pre-commit-hooks": "pre-commit-hooks",
         "qmk_firmware": "qmk_firmware",
-        "ragenix": "ragenix",
         "rust-overlay": "rust-overlay",
         "serverphone": "serverphone",
-        "shell_library": "shell_library",
         "systems": "systems",
         "templates": "templates",
         "treefmt-nix": "treefmt-nix"
@@ -743,11 +658,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744166053,
-        "narHash": "sha256-mpI7OzFwp+fUeDtZYQbVZ2YmtxTN2UNrrOwbYD27xKU=",
+        "lastModified": 1751338093,
+        "narHash": "sha256-/yd9nPcTfUZPFtwjRbdB5yGLdt3LTPqz6Ja63Joiahs=",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "896158be1835589db6f42f45ef0a49b8b492cc66",
+        "rev": "6cfb7821732dac2d3e2dea857a5613d3b856c20c",
         "type": "github"
       },
       "original": {
@@ -791,35 +706,6 @@
         "url": "https://codeberg.org/vhack.eu/serverphone.git"
       }
     },
-    "shell_library": {
-      "inputs": {
-        "flake-utils": [
-          "flake-utils"
-        ],
-        "flake_version_update": [
-          "flake_version_update"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ],
-        "systems": [
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1710519017,
-        "narHash": "sha256-7C7onkhZiLwzrrf9XfzHEOjht9FmZfGABPbzE8XOYoI=",
-        "ref": "refs/heads/prime",
-        "rev": "24713f56f30e755553cac9497258ebc5d73036dc",
-        "revCount": 180,
-        "type": "git",
-        "url": "https://codeberg.org/soispha/shell_library.git"
-      },
-      "original": {
-        "type": "git",
-        "url": "https://codeberg.org/soispha/shell_library.git"
-      }
-    },
     "systems": {
       "locked": {
         "lastModified": 1680978846,
@@ -871,11 +757,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743748085,
-        "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=",
+        "lastModified": 1750931469,
+        "narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d",
+        "rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
         "type": "github"
       },
       "original": {
diff --git a/flake.lock.license b/flake.lock.license
new file mode 100644
index 00000000..eae6a84c
--- /dev/null
+++ b/flake.lock.license
@@ -0,0 +1,9 @@
+nixos-config - My current NixOS configuration
+
+Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+SPDX-License-Identifier: GPL-3.0-or-later
+
+This file is part of my nixos-config.
+
+You should have received a copy of the License along with this program.
+If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
diff --git a/flake.nix b/flake.nix
index 0fa1c1e0..9c5a2963 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,13 +1,20 @@
-# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# nixos-config - My current NixOS configuration
 #
+# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
 # SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
 {
   description = "A NixOS System Configuration";
 
   inputs = {
     # base
-    nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
-    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+    nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
 
     # open nixpkgs prs
 
@@ -112,14 +119,6 @@
         nixpkgs.follows = "nixpkgs";
       };
     };
-    flake_version_update = {
-      url = "git+https://codeberg.org/soispha/flake_version_update.git";
-      inputs = {
-        systems.follows = "systems";
-        nixpkgs.follows = "nixpkgs";
-        flake-utils.follows = "flake-utils";
-      };
-    };
 
     # nixos modules
     home-manager = {
@@ -134,12 +133,13 @@
         nixpkgs.follows = "nixpkgs";
       };
     };
-    nixVim = {
+    nixvim = {
       url = "github:nix-community/nixvim";
       inputs = {
         flake-parts.follows = "flake-parts";
         nixpkgs.follows = "nixpkgs";
         nuschtosSearch.follows = "nuschtosSearch";
+        systems.follows = "systems";
       };
     };
     agenix = {
@@ -151,16 +151,6 @@
         systems.follows = "systems";
       };
     };
-    ragenix = {
-      url = "github:yaxitech/ragenix";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        agenix.follows = "agenix";
-        flake-utils.follows = "flake-utils";
-        rust-overlay.follows = "rust-overlay";
-        crane.follows = "crane";
-      };
-    };
     impermanence = {
       url = "github:nix-community/impermanence";
       inputs = {
@@ -201,14 +191,6 @@
         nixpkgs.follows = "nixpkgs";
       };
     };
-    arkenfox-nixos = {
-      url = "github:dwarfmaster/arkenfox-nixos";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        pre-commit.follows = "pre-commit-hooks";
-        flake-compat.follows = "flake-compat";
-      };
-    };
 
     # my configs
     templates = {
@@ -222,15 +204,6 @@
     };
 
     # my bins
-    shell_library = {
-      url = "git+https://codeberg.org/soispha/shell_library.git";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        flake-utils.follows = "flake-utils";
-        systems.follows = "systems";
-        flake_version_update.follows = "flake_version_update";
-      };
-    };
     qmk_firmware = {
       url = "git+https://git.foss-syndicate.org/bpeetz/qmk_layout.git?ref=prime";
       inputs = {
@@ -261,71 +234,77 @@
     nixos-generators,
     impermanence,
     agenix,
-    ragenix,
     serverphone,
     disko,
     lanzaboote,
-    nixVim,
+    nixvim,
     nix-index-database,
-    arkenfox-nixos,
     # external dependencies
     treefmt-nix,
     templates,
     # my binaries
-    shell_library,
     qmk_firmware,
     ...
   }: let
     system = "x86_64-linux";
-    sysLib = shell_library.lib.${system};
 
-    baseLib = import ./lib {inherit (pkgs) lib;};
+    packageSets = rec {
+      stable = nixpkgs-stable.legacyPackages.${system};
+      unstable = nixpkgs.legacyPackages.${system};
 
-    inherit (library) nixLib;
-
-    pkgsStable = nixpkgs-stable.legacyPackages.${system};
-    pkgs = nixpkgs.legacyPackages.${system};
-    myPkgs = import ./pkgs {
-      inherit sysLib pkgs nixLib;
+      soispha = import ./pkgs {
+        inherit libraries;
+        pkgs = unstable;
+      };
     };
 
-    nixpkgs_as_input = nixpkgs;
-    nixpkgs_open_prs = {
+    libraries = rec {
+      nix = packageSets.unstable.lib;
+      base = import ./lib {lib = nix;};
+      extra = library.nixLib;
     };
 
-    outputs = import ./flake {
+    modules = {
       inherit
-        # core
-        self
-        pkgs
-        pkgsStable
-        nixLib
-        myPkgs
-        system
-        sysLib
-        baseLib
-        nixpkgs_as_input
-        nixpkgs_open_prs
-        # modules
         home-manager
-        nixVim
+        nixvim
         nixos-generators
         impermanence
         agenix
-        ragenix
         serverphone
         disko
         lanzaboote
         nix-index-database
-        arkenfox-nixos
-        # external dependencies
+        ;
+    };
+
+    externalDependencies = {
+      inherit
         treefmt-nix
         templates
-        # my binaries
-        shell_library
+        ;
+    };
+
+    externalBinaries = {
+      inherit
         qmk_firmware
         ;
     };
+
+    openPRsNixpkgs = {};
+
+    outputs = import ./flake {
+      inherit
+        self
+        system
+        openPRsNixpkgs
+        packageSets
+        libraries
+        modules
+        externalDependencies
+        externalBinaries
+        ;
+    };
   in
     outputs;
 }
diff --git a/flake/apps/default.nix b/flake/apps/default.nix
deleted file mode 100644
index f1709c71..00000000
--- a/flake/apps/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  self,
-  system,
-  ...
-}: {
-  install = {
-    type = "app";
-    program = "${self.packages."${system}".install}/bin/install";
-  };
-  activate = {
-    type = "app";
-    program = "${self.packages."${system}".activate}/bin/activate";
-  };
-  setup = {
-    type = "app";
-    program = "${self.packages."${system}".setup}/bin/setup";
-  };
-  config_setup = {
-    type = "app";
-    program = "${self.packages."${system}".config_setup}/bin/config_setup";
-  };
-  default = self.apps."${system}".activate;
-}
diff --git a/flake/default.nix b/flake/default.nix
index ae17ad39..e80e6ead 100644
--- a/flake/default.nix
+++ b/flake/default.nix
@@ -1,80 +1,58 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
 {
-  # core
   self,
-  pkgs,
-  pkgsStable,
-  nixLib,
-  baseLib,
-  myPkgs,
   system,
-  sysLib,
-  nixpkgs_as_input,
-  nixpkgs_open_prs,
-  # modules
-  home-manager,
-  nixVim,
-  nixos-generators,
-  impermanence,
-  agenix,
-  ragenix,
-  serverphone,
-  disko,
-  lanzaboote,
-  nix-index-database,
-  arkenfox-nixos,
-  # external dependencies
-  treefmt-nix,
-  templates,
-  # my binaries
-  shell_library,
-  qmk_firmware,
+  openPRsNixpkgs,
+  packageSets,
+  libraries,
+  modules,
+  externalDependencies,
+  externalBinaries,
 }: let
-  treefmtEval = import ./treefmt.nix {inherit treefmt-nix pkgs;};
+  # Unpack common stuff.
+  nixLib = libraries.extra;
+  pkgs = packageSets.unstable;
 
-  nixosConfigurations = import ./nixosConfigurations {
+  treefmtEval = import ./treefmt.nix {
+    inherit (externalDependencies) treefmt-nix;
+    inherit pkgs;
+  };
+
+  nixosConfigurations = import ../hosts {
     inherit
       self
-      pkgsStable
-      myPkgs
       system
-      nixpkgs_as_input
-      nixpkgs_open_prs
-      # my things
-      shell_library
-      sysLib
-      nixLib
-      baseLib
-      templates
-      # modules
-      home-manager
-      nixVim
-      nixos-generators
-      impermanence
-      agenix
-      ragenix
-      serverphone
-      disko
-      lanzaboote
-      nix-index-database
-      arkenfox-nixos
-      # bins
-      qmk_firmware
+      openPRsNixpkgs
+      packageSets
+      libraries
+      modules
+      externalDependencies
+      externalBinaries
       ;
   };
 
   tests = import ../tests {
-    inherit pkgs nixpkgs_as_input myPkgs sysLib nixLib nixpkgs_open_prs system;
+    inherit pkgs nixLib openPRsNixpkgs system;
+    myPkgs = packageSets.soispha;
     inherit (pkgs) lib;
     extraModules = {
       nixvim = {
-        homeManagerModule = nixVim.homeManagerModules.nixvim;
+        homeManagerModule = modules.nixVim.homeManagerModules.nixvim;
       };
-      agenix = agenix.nixosModules.default;
-      disko = disko.nixosModules.default;
-      serverphone = serverphone.nixosModules.default;
-      inherit (home-manager.nixosModules) home-manager;
-      inherit (impermanence.nixosModules) impermanence;
-      inherit (lanzaboote.nixosModules) lanzaboote;
+      agenix = modules.agenix.nixosModules.default;
+      disko = modules.disko.nixosModules.default;
+      serverphone = modules.serverphone.nixosModules.default;
+      inherit (modules.home-manager.nixosModules) home-manager;
+      inherit (modules.impermanence.nixosModules) impermanence;
+      inherit (modules.lanzaboote.nixosModules) lanzaboote;
     };
   };
 in {
@@ -93,24 +71,15 @@ in {
 
   packages."${system}" = import ./packages {
     inherit
-      nixos-generators
       pkgs
-      pkgsStable
-      myPkgs
-      sysLib
-      system
-      nixVim
       self
-      shell_library
       ;
-    inherit (pkgs) lib;
+    myPkgs = packageSets.soispha;
   };
 
   formatter."${system}" = treefmtEval.config.build.wrapper;
 
-  baseLib."${system}" = baseLib;
-
-  apps."${system}" = import ./apps {inherit self system;};
+  baseLib."${system}" = libraries.base;
 
   devShells."${system}" = {
     default = pkgs.mkShell {
@@ -121,9 +90,10 @@ in {
         # other
         pkgs.cocogitto
         pkgs.git-bug
+        pkgs.reuse
 
         # secrets
-        ragenix.packages."${system}".default
+        pkgs.ragenix
         pkgs.rage
 
         # shell
@@ -136,10 +106,6 @@ in {
         # nix
         pkgs.alejandra
         pkgs.deadnix
-
-        # update
-        myPkgs.generate_moz_extension # needed for the firefox extension update script
-        myPkgs.lf-make-map # needed to generate the lf cd mappings
       ];
     };
   };
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
deleted file mode 100644
index 1831cd1b..00000000
--- a/flake/nixosConfigurations/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  self,
-  system,
-  pkgsStable,
-  myPkgs,
-  nixpkgs_as_input,
-  nixpkgs_open_prs,
-  # my things
-  shell_library,
-  sysLib,
-  nixLib,
-  baseLib,
-  templates,
-  # modules
-  home-manager,
-  nixVim,
-  nixos-generators,
-  impermanence,
-  agenix,
-  ragenix,
-  serverphone,
-  disko,
-  lanzaboote,
-  nix-index-database,
-  arkenfox-nixos,
-  # bins
-  qmk_firmware,
-}: let
-  modules = [
-    agenix.nixosModules.default
-    disko.nixosModules.default
-    home-manager.nixosModules.home-manager
-    impermanence.nixosModules.impermanence
-    lanzaboote.nixosModules.lanzaboote
-    serverphone.nixosModules.default
-
-    ../../modules
-    ../../modules/common
-  ];
-
-  specialArgs = {
-    inherit
-      # extra package sources
-      nixpkgs_open_prs
-      pkgsStable
-      myPkgs
-      shell_library
-      sysLib
-      nixLib
-      baseLib
-      # extra information
-      system
-      # modules
-      impermanence
-      nix-index-database
-      nixVim
-      arkenfox-nixos
-      # nix registry
-      nixpkgs_as_input
-      self
-      templates
-      # bins
-      # TODO: Integrate these into `pkgs/by-name` <2024-05-22>
-      qmk_firmware
-      serverphone
-      ;
-  };
-
-  generateHost = name: {
-    name = "${name}";
-    value = nixpkgs_as_input.lib.nixosSystem {
-      inherit specialArgs;
-      modules =
-        [
-          ../../hosts/${name}
-        ]
-        ++ modules;
-    };
-  };
-
-  # FIXME: These need to stay in this position for the install script
-  hosts = ["tiamat" "apzu"];
-
-  generatedHosts = builtins.listToAttrs (builtins.map generateHost hosts);
-in
-  generatedHosts
diff --git a/flake/packages/default.nix b/flake/packages/default.nix
index 95aa539a..9c67eda3 100644
--- a/flake/packages/default.nix
+++ b/flake/packages/default.nix
@@ -1,16 +1,19 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
 {
-  self,
-  nixos-generators,
   pkgs,
+  self,
   myPkgs,
-  pkgsStable,
-  sysLib,
-  system,
-  shell_library,
   ...
 }: let
   inherit (pkgs) lib;
-  output = import ../../bootstrap {inherit pkgs sysLib;};
 
   run_test_description = pkgs.callPackage ../../tests/infrastructure/run.nix {};
 
@@ -77,8 +80,6 @@ in
     #   format = "install-iso";
     # };
 
-    update_shell_lib = shell_library.packages."${system}".update_shell_library;
-
     # gpg-iso = nixos-generators.nixosGenerate {
     #   system = "x86_64-linux";
     #   specialArgs = defaultSpecialArgs;
@@ -92,6 +93,5 @@ in
     nvim = nvim.tiamat;
     inherit run_test_description;
   }
-  // output
   // output_neovim
   // myPkgsFlat
diff --git a/flake/treefmt.nix b/flake/treefmt.nix
index e2c6aeae..703a85e8 100644
--- a/flake/treefmt.nix
+++ b/flake/treefmt.nix
@@ -1,3 +1,12 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
 {
   treefmt-nix,
   pkgs,