diff --git a/.gitignore b/.gitignore
index 6b0aaab..5377cec 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,8 @@
-hardware-configuration.nix
+hardware-configuration.*
secrets.nix
.vscode/
matrix-user-tokens.txt
nixpkgs/
result
-wg/
\ No newline at end of file
+wg/
+
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..994325c
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,849 @@
+{
+ "nodes": {
+ "attic": {
+ "inputs": {
+ "crane": "crane",
+ "flake-compat": "flake-compat",
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs",
+ "nixpkgs-stable": "nixpkgs-stable"
+ },
+ "locked": {
+ "lastModified": 1707922053,
+ "narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=",
+ "owner": "zhaofengli",
+ "repo": "attic",
+ "rev": "6eabc3f02fae3683bffab483e614bebfcd476b21",
+ "type": "github"
+ },
+ "original": {
+ "owner": "zhaofengli",
+ "ref": "main",
+ "repo": "attic",
+ "type": "github"
+ }
+ },
+ "attic_2": {
+ "inputs": {
+ "crane": "crane_3",
+ "flake-compat": "flake-compat_3",
+ "flake-utils": "flake-utils_3",
+ "nixpkgs": "nixpkgs_3",
+ "nixpkgs-stable": "nixpkgs-stable_2"
+ },
+ "locked": {
+ "lastModified": 1711742460,
+ "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=",
+ "owner": "zhaofengli",
+ "repo": "attic",
+ "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "zhaofengli",
+ "ref": "main",
+ "repo": "attic",
+ "type": "github"
+ }
+ },
+ "botcore-v4": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1683656302,
+ "narHash": "sha256-I2eu+9/i0ktqNzQwkc0NuczQ2UThCBf8L9xnZ8v3NSM=",
+ "owner": "BotCore-Devs",
+ "repo": "BotCore-v4",
+ "rev": "0e8738ba7df060782df050dc733b0bfc8c499830",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "BotCore-Devs",
+ "ref": "staging",
+ "repo": "BotCore-v4",
+ "type": "gitlab"
+ }
+ },
+ "conduit": {
+ "inputs": {
+ "attic": "attic",
+ "crane": "crane_2",
+ "fenix": "fenix",
+ "flake-compat": "flake-compat_2",
+ "flake-utils": "flake-utils_2",
+ "nix-filter": "nix-filter",
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1719308595,
+ "narHash": "sha256-HOGnT6Nn+PLZzT9vpdXwKnf+dcwOcH7MMlqxGFcEVdM=",
+ "owner": "famedly",
+ "repo": "conduit",
+ "rev": "de0deda179dde4142291aea69e5fab7be1583808",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "famedly",
+ "ref": "next",
+ "repo": "conduit",
+ "type": "gitlab"
+ }
+ },
+ "crane": {
+ "inputs": {
+ "nixpkgs": [
+ "conduit",
+ "attic",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1702918879,
+ "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "crane_2": {
+ "inputs": {
+ "nixpkgs": [
+ "conduit",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1713721181,
+ "narHash": "sha256-Vz1KRVTzU3ClBfyhOj8gOehZk21q58T1YsXC30V23PU=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "55f4939ac59ff8f89c6a4029730a2d49ea09105f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "ref": "master",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "crane_3": {
+ "inputs": {
+ "nixpkgs": [
+ "grapevine",
+ "attic",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1702918879,
+ "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "crane_4": {
+ "inputs": {
+ "nixpkgs": [
+ "grapevine",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1716569590,
+ "narHash": "sha256-5eDbq8TuXFGGO3mqJFzhUbt5zHVTf5zilQoyW5jnJwo=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "109987da061a1bf452f435f1653c47511587d919",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "ref": "master",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "fenix": {
+ "inputs": {
+ "nixpkgs": [
+ "conduit",
+ "nixpkgs"
+ ],
+ "rust-analyzer-src": "rust-analyzer-src"
+ },
+ "locked": {
+ "lastModified": 1709619709,
+ "narHash": "sha256-l6EPVJfwfelWST7qWQeP6t/TDK3HHv5uUB1b2vw4mOQ=",
+ "owner": "nix-community",
+ "repo": "fenix",
+ "rev": "c8943ea9e98d41325ff57d4ec14736d330b321b2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "fenix",
+ "type": "github"
+ }
+ },
+ "fenix_2": {
+ "inputs": {
+ "nixpkgs": [
+ "grapevine",
+ "nixpkgs"
+ ],
+ "rust-analyzer-src": "rust-analyzer-src_2"
+ },
+ "locked": {
+ "lastModified": 1716359173,
+ "narHash": "sha256-pYcjP6Gy7i6jPWrjiWAVV0BCQp+DdmGaI/k65lBb/kM=",
+ "owner": "nix-community",
+ "repo": "fenix",
+ "rev": "b6fc5035b28e36a98370d0eac44f4ef3fd323df6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "main",
+ "repo": "fenix",
+ "type": "github"
+ }
+ },
+ "flake-compat": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1673956053,
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_3": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1673956053,
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_4": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "ref": "master",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_5": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-utils": {
+ "locked": {
+ "lastModified": 1667395993,
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1709126324,
+ "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "d465f4819400de7c8d874d50b982301f28a84605",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_3": {
+ "locked": {
+ "lastModified": 1667395993,
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_4": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1710146030,
+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "ref": "main",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_5": {
+ "inputs": {
+ "systems": "systems_3"
+ },
+ "locked": {
+ "lastModified": 1710146030,
+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "grapevine": {
+ "inputs": {
+ "attic": "attic_2",
+ "crane": "crane_4",
+ "fenix": "fenix_2",
+ "flake-compat": "flake-compat_4",
+ "flake-utils": "flake-utils_4",
+ "nix-filter": "nix-filter_2",
+ "nixpkgs": "nixpkgs_4"
+ },
+ "locked": {
+ "host": "gitlab.computer.surgery",
+ "lastModified": 1718689420,
+ "narHash": "sha256-3GudMEhlzJ7nzrJcgjjhl/9/bbEt0ZCvD4lppUEZu9Y=",
+ "owner": "matrix",
+ "repo": "grapevine-fork",
+ "rev": "9b38bd59401e7d8f79a4a5066de63cbdfcde5924",
+ "type": "gitlab"
+ },
+ "original": {
+ "host": "gitlab.computer.surgery",
+ "owner": "matrix",
+ "ref": "benjamin/debug-emma-kde-room",
+ "repo": "grapevine-fork",
+ "type": "gitlab"
+ }
+ },
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_5"
+ },
+ "locked": {
+ "lastModified": 1719180626,
+ "narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "master",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "mtxclientSrc": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1718061774,
+ "narHash": "sha256-uIppA6FzWqPhXSQAnoiYi78NSA8+gpYf01E9XdLrvpU=",
+ "owner": "Nheko-reborn",
+ "repo": "mtxclient",
+ "rev": "e87c6f4f7aa8fc8e5b1640454e8c94a4efd36e8a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Nheko-reborn",
+ "ref": "master",
+ "repo": "mtxclient",
+ "type": "github"
+ }
+ },
+ "nhekoSrc": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1719179438,
+ "narHash": "sha256-+EDWmCz64T0qj37nZnenNOrq+HBmPz2QDaieYaDjea8=",
+ "owner": "Nheko-reborn",
+ "repo": "nheko",
+ "rev": "5a19adee349c0a62b0257ec04e6a442148395b48",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Nheko-reborn",
+ "ref": "master",
+ "repo": "nheko",
+ "type": "github"
+ }
+ },
+ "nix-filter": {
+ "locked": {
+ "lastModified": 1705332318,
+ "narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=",
+ "owner": "numtide",
+ "repo": "nix-filter",
+ "rev": "3449dc925982ad46246cfc36469baf66e1b64f17",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "nix-filter",
+ "type": "github"
+ }
+ },
+ "nix-filter_2": {
+ "locked": {
+ "lastModified": 1710156097,
+ "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
+ "owner": "numtide",
+ "repo": "nix-filter",
+ "rev": "3342559a24e85fc164b295c3444e8a139924675b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "ref": "main",
+ "repo": "nix-filter",
+ "type": "github"
+ }
+ },
+ "nixos-wsl": {
+ "inputs": {
+ "flake-compat": "flake-compat_5",
+ "flake-utils": "flake-utils_5",
+ "nixpkgs": "nixpkgs_6"
+ },
+ "locked": {
+ "lastModified": 1719220171,
+ "narHash": "sha256-xywM6JoGT8AwfoOFJBTv8GRlvNu8LYqqqMS/OQ6uCgE=",
+ "owner": "nix-community",
+ "repo": "NixOS-WSL",
+ "rev": "269411cfed6aab694e46f719277c972de96177bb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NixOS-WSL",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1702539185,
+ "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-RoryNix": {
+ "locked": {
+ "lastModified": 1719122173,
+ "narHash": "sha256-aEMsNUtqSPwn6l+LIZ/rX++nCgun3E9M3uSZs6Rwb7w=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "906320ae02f769d13a646eb3605a9821df0d6ea2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-rory": {
+ "locked": {
+ "lastModified": 1719309243,
+ "narHash": "sha256-jkt9UH5zW7BpD1vr1xFum39iNAzkBGtGgTlEqHgxfF8=",
+ "owner": "TheArcaneBrony",
+ "repo": "nixpkgs",
+ "rev": "3b1beb5027c6781325b372fa25b0c93c524a8084",
+ "type": "github"
+ },
+ "original": {
+ "owner": "TheArcaneBrony",
+ "ref": "master",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1702780907,
+ "narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable_2": {
+ "locked": {
+ "lastModified": 1711460390,
+ "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "44733514b72e732bd49f5511bd0203dea9b9a434",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable_3": {
+ "locked": {
+ "lastModified": 1719099622,
+ "narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5e8e3b89adbd0be63192f6e645e0a54080004924",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "release-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1709479366,
+ "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1711401922,
+ "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "07262b18b97000d16a4bdb003418bd2fb067a932",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_4": {
+ "locked": {
+ "lastModified": 1716330097,
+ "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_5": {
+ "locked": {
+ "lastModified": 1718895438,
+ "narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_6": {
+ "locked": {
+ "lastModified": 1718835956,
+ "narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-24.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1719075281,
+ "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_8": {
+ "locked": {
+ "lastModified": 1718983919,
+ "narHash": "sha256-+1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "90338afd6177fc683a04d934199d693708c85a3b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "botcore-v4": "botcore-v4",
+ "conduit": "conduit",
+ "grapevine": "grapevine",
+ "home-manager": "home-manager",
+ "mtxclientSrc": "mtxclientSrc",
+ "nhekoSrc": "nhekoSrc",
+ "nixos-wsl": "nixos-wsl",
+ "nixpkgs": "nixpkgs_7",
+ "nixpkgs-RoryNix": "nixpkgs-RoryNix",
+ "nixpkgs-rory": "nixpkgs-rory",
+ "sops-nix": "sops-nix"
+ }
+ },
+ "rust-analyzer-src": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1709571018,
+ "narHash": "sha256-ISFrxHxE0J5g7lDAscbK88hwaT5uewvWoma9TlFmRzM=",
+ "owner": "rust-lang",
+ "repo": "rust-analyzer",
+ "rev": "9f14343f9ee24f53f17492c5f9b653427e2ad15e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rust-lang",
+ "ref": "nightly",
+ "repo": "rust-analyzer",
+ "type": "github"
+ }
+ },
+ "rust-analyzer-src_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1716107283,
+ "narHash": "sha256-NJgrwLiLGHDrCia5AeIvZUHUY7xYGVryee0/9D3Ir1I=",
+ "owner": "rust-lang",
+ "repo": "rust-analyzer",
+ "rev": "21ec8f523812b88418b2bfc64240c62b3dd967bd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rust-lang",
+ "ref": "nightly",
+ "repo": "rust-analyzer",
+ "type": "github"
+ }
+ },
+ "sops-nix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_8",
+ "nixpkgs-stable": "nixpkgs-stable_3"
+ },
+ "locked": {
+ "lastModified": 1719268571,
+ "narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=",
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "type": "github"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_3": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
index 2c9b26d..f5fca4e 100755
--- a/flake.nix
+++ b/flake.nix
@@ -9,8 +9,8 @@
};
nixpkgs-rory = {
- url = "path:/Rory-Open-Architecture/nixpkgs";
- #url = "github:TheArcaneBrony/nixpkgs/master";
+ #url = "path:/Rory-Open-Architecture/nixpkgs";
+ url = "github:TheArcaneBrony/nixpkgs/master";
};
nixpkgs-RoryNix = {
diff --git a/host/Rory-desktop/configuration.nix b/host/Rory-desktop/configuration.nix
index 28a3b7f..756a894 100644
--- a/host/Rory-desktop/configuration.nix
+++ b/host/Rory-desktop/configuration.nix
@@ -36,6 +36,10 @@ args@{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }:
#readOnlyNixStore = false;
};
+ environment.sessionVariables = {
+ ZSH_DISABLE_COMPFIX = "true";
+ };
+
services.udev.extraRules = ''
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="users"
# SDP protocol
@@ -73,12 +77,14 @@ args@{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }:
services = {
xserver = {
+ displayManager.gdm.enable = true;
+ displayManager.lightdm.enable = false;
enable = true;
updateDbusEnvironment = true;
- libinput.enable = true;
- layout = "us";
+ xkb.layout = "us";
wacom.enable = true;
};
+ libinput.enable = true;
openssh = {
enable = true;
@@ -185,7 +191,7 @@ args@{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }:
};
};
xdgOpenUsePortal = true;
- gtkUsePortal = true;
+ #gtkUsePortal = true; # deprecated
};
#sounds.enable = true;
@@ -195,7 +201,7 @@ args@{ config, pkgs, lib, nhekoSrc, mtxclientSrc, ... }:
#autostart.enable = true;
};
fonts = {
- fonts = with pkgs; [
+ packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
noto-fonts-monochrome-emoji
];
diff --git a/host/Rory-desktop/ollama.nix b/host/Rory-desktop/ollama.nix
index 233ea1f..a302d1c 100755
--- a/host/Rory-desktop/ollama.nix
+++ b/host/Rory-desktop/ollama.nix
@@ -4,19 +4,19 @@
# systemd.tmpfiles.rules = [ "d /data/ollama 0750 ostgres postgres" ];
#overlays
- nixpkgs.overlays = [
- (final: old: {
- rocmPackages = old.rocmPackages // {
- rocblas = (old.rocmPackages.rocblas.overrideAttrs (oldAttrs: {
- gpuTargets = [ "gfx1102" ];
- }));
- };
- }
- )
- ];
+ #nixpkgs.overlays = [
+ # (final: old: {
+ # rocmPackages = old.rocmPackages // {
+ # rocblas = (old.rocmPackages.rocblas.overrideAttrs (oldAttrs: {
+ # gpuTargets = [ "gfx1102" ];
+ # }));
+ # };
+ # }
+ # )
+ #];
services.ollama = {
- enable = true;
+ enable = false;
home = "/data/ollama/home";
models = "/data/ollama/home/models";
environmentVariables = {
diff --git a/host/Rory-desktop/optional/gui/wayland.nix b/host/Rory-desktop/optional/gui/wayland.nix
index c923007..74cb192 100644
--- a/host/Rory-desktop/optional/gui/wayland.nix
+++ b/host/Rory-desktop/optional/gui/wayland.nix
@@ -34,6 +34,8 @@
wl-clipboard
grim
slurp
+ easyeffects
+ keepassxc
];
};
diff --git a/host/Rory-desktop/optional/gui/x11.nix b/host/Rory-desktop/optional/gui/x11.nix
index 4bf9fe4..0f55862 100644
--- a/host/Rory-desktop/optional/gui/x11.nix
+++ b/host/Rory-desktop/optional/gui/x11.nix
@@ -13,13 +13,18 @@
xrandr --output HDMI-1 --mode 3840x2160 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1080 --pos 3840x1080 --rotate normal --output HDMI-2 --off --output DP-2 --off
${pkgs.polybarFull}/bin/polybar &
${pkgs.dunst}/bin/dunst &
+ ${pkgs.picom}/bin/picom --config ~/.config/picom.conf &
${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../../../modules/users/Rory/wallpaper.webp}
'';
+ windowManager.i3.extraPackages = with pkgs; [
+ easyeffects
+ keepassxc
+ ];
};
- picom.enable = true;
- picom.vSync = false;
- picom.backend = "glx";
+ picom.enable = false;
+ #picom.vSync = false;
+ #picom.backend = "glx";
};
}
diff --git a/host/Rory-desktop/optional/hardware-specific/amd.nix b/host/Rory-desktop/optional/hardware-specific/amd.nix
index d44766a..45bea66 100644
--- a/host/Rory-desktop/optional/hardware-specific/amd.nix
+++ b/host/Rory-desktop/optional/hardware-specific/amd.nix
@@ -21,10 +21,9 @@ boot.initrd.kernelModules = [ "amdgpu" ];
];
hardware = {
- opengl = {
+ graphics = {
enable = true;
- driSupport = true;
- driSupport32Bit = true;
+ enable32Bit = true;
extraPackages = with pkgs; [
rocmPackages.clr.icd
amdvlk
diff --git a/host/Rory-desktop/optional/hardware-specific/nvidia.nix b/host/Rory-desktop/optional/hardware-specific/nvidia.nix
index 7278d84..66b328f 100644
--- a/host/Rory-desktop/optional/hardware-specific/nvidia.nix
+++ b/host/Rory-desktop/optional/hardware-specific/nvidia.nix
@@ -18,7 +18,7 @@
};
hardware = {
- opengl = {
+ graphics = {
enable = true;
driSupport = true;
driSupport32Bit = true;
diff --git a/host/Rory-devenv/software.nix b/host/Rory-devenv/software.nix
index 93b430e..63aed74 100755
--- a/host/Rory-devenv/software.nix
+++ b/host/Rory-devenv/software.nix
@@ -47,9 +47,9 @@
enable = true;
user = "Rory";
};
- libinput.enable = true;
videoDrivers = [ "qxl" ];
};
+ libinput.enable = true;
qemuGuest.enable = true;
spice-vdagentd.enable = true;
};
@@ -67,7 +67,7 @@
vscode-with-extensions
nodejs
];
- fonts.fonts = with pkgs; [
+ fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
diff --git a/host/Rory-portable/configuration.nix b/host/Rory-portable/configuration.nix
index 579a655..6f49445 100644
--- a/host/Rory-portable/configuration.nix
+++ b/host/Rory-portable/configuration.nix
@@ -73,8 +73,7 @@
updateDbusEnvironment = true;
#videoDrivers = ["amdgpu"]; #"nvidia"
#desktopManager.gnome.enable = true;
- libinput.enable = true;
- layout = "us";
+ xkb.layout = "us";
windowManager.i3.enable = true;
windowManager.i3.extraSessionCommands = ''
# output from arandr:
@@ -85,6 +84,7 @@
${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${../../modules/users/Rory/wallpaper.webp}
'';
};
+ libinput.enable = true;
picom.enable = true;
picom.vSync = false;
picom.backend = "glx";
diff --git a/host/Rory-portable/optional/hardware-specific/amd.nix b/host/Rory-portable/optional/hardware-specific/amd.nix
index d44766a..e24bcd0 100644
--- a/host/Rory-portable/optional/hardware-specific/amd.nix
+++ b/host/Rory-portable/optional/hardware-specific/amd.nix
@@ -21,9 +21,9 @@ boot.initrd.kernelModules = [ "amdgpu" ];
];
hardware = {
- opengl = {
+ graphics = {
enable = true;
- driSupport = true;
+ #driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
rocmPackages.clr.icd
diff --git a/host/Rory-portable/optional/hardware-specific/nvidia.nix b/host/Rory-portable/optional/hardware-specific/nvidia.nix
index 7278d84..66b328f 100644
--- a/host/Rory-portable/optional/hardware-specific/nvidia.nix
+++ b/host/Rory-portable/optional/hardware-specific/nvidia.nix
@@ -18,7 +18,7 @@
};
hardware = {
- opengl = {
+ graphics = {
enable = true;
driSupport = true;
driSupport32Bit = true;
diff --git a/host/RoryNix/configuration.nix b/host/RoryNix/configuration.nix
index 6f79c8f..3618ca7 100644
--- a/host/RoryNix/configuration.nix
+++ b/host/RoryNix/configuration.nix
@@ -42,10 +42,10 @@
enable = true;
videoDrivers = [ "intel" ];
desktopManager.gnome.enable = true;
- libinput.enable = true;
- layout = "us";
+ xkb.layout = "us";
modules = [ pkgs.xorg.xf86videointel ];
};
+ libinput.enable = true;
gnome = {
core-developer-tools.enable = false;
core-utilities.enable = false;
@@ -143,7 +143,7 @@
zsh-completions
];
- fonts.fonts = with pkgs; [
+ fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
nix = {
diff --git a/modules/base-client.nix b/modules/base-client.nix
index f36cd16..c88db02 100755
--- a/modules/base-client.nix
+++ b/modules/base-client.nix
@@ -41,7 +41,7 @@
gnome.gnome-screenshot
];
- fonts.fonts = with pkgs; [
+ fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
cozette
];
diff --git a/modules/base.nix b/modules/base.nix
index 51098ee..5d382aa 100755
--- a/modules/base.nix
+++ b/modules/base.nix
@@ -48,7 +48,6 @@
loader = {
grub = {
enable = lib.mkDefault true;
- version = 2;
};
timeout = 1;
};
diff --git a/modules/users/Rory.client.nix b/modules/users/Rory.client.nix
index b3ef89f..b74bbd9 100755
--- a/modules/users/Rory.client.nix
+++ b/modules/users/Rory.client.nix
@@ -17,35 +17,35 @@
};
};
# keepassxc, maybe?
- systemd.user.services.keepassxc = {
- Unit = {
- Description = "KeePassXC password manager";
- #After = [ "graphical-session-pre.target" ];
- PartOf = [ "default.target" ];
- };
-
- Install = { WantedBy = [ "default.target" ]; };
-
- Service = {
- ExecStart = "${pkgs.keepassxc}/bin/keepassxc ~/.secrets.kdbx";
- Restart = "always";
- };
- };
-
- systemd.user.services.easyeffects = {
- Unit = {
- Description = "EasyEffects";
- #After = [ "graphical-session-pre.target" ];
- PartOf = [ "default.target" ];
- };
-
- Install = { WantedBy = [ "default.target" ]; };
-
- Service = {
- ExecStart = "${pkgs.easyeffects}/bin/easyeffects";
- Restart = "always";
- };
- };
+ #systemd.user.services.keepassxc = {
+ # Unit = {
+ # Description = "KeePassXC password manager";
+ # #After = [ "graphical-session-pre.target" ];
+ # PartOf = [ "default.target" ];
+ # };
+#
+ # Install = { WantedBy = [ "default.target" ]; };
+#
+ # Service = {
+ # ExecStart = "${pkgs.keepassxc}/bin/keepassxc ~/.secrets.kdbx";
+ # Restart = "always";
+ # };
+ #};
+#
+ #systemd.user.services.easyeffects = {
+ # Unit = {
+ # Description = "EasyEffects";
+ # #After = [ "graphical-session-pre.target" ];
+ # PartOf = [ "default.target" ];
+ # };
+#
+ # Install = { WantedBy = [ "default.target" ]; };
+#
+ # Service = {
+ # ExecStart = "${pkgs.easyeffects}/bin/easyeffects";
+ # Restart = "always";
+ # };
+ #};
home.stateVersion = "22.11";
};
diff --git a/modules/users/Rory.nix b/modules/users/Rory.nix
index 414a70c..5bba267 100755
--- a/modules/users/Rory.nix
+++ b/modules/users/Rory.nix
@@ -51,7 +51,8 @@
};
zsh = {
enable = true;
- enableAutosuggestions = true;
+ #enableAutosuggestions = true;
+ autosuggestion.enable = true;
enableVteIntegration = true;
autocd = true;
|