about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--files/T-TeleSec_GlobalRoot_Class_2.crtbin0 -> 967 bytes
-rw-r--r--files/Telekom_Security_ServerID_OV_Class_2_CA.fullchain.pem71
-rw-r--r--flake.lock458
-rw-r--r--flake.nix18
-rw-r--r--hm/gpg/default.nix16
-rw-r--r--hm/mako/default.nix40
-rw-r--r--hm/nixvim/config.nix58
-rw-r--r--hm/packages/default.nix258
-rw-r--r--hm/rofi/default.nix2
-rw-r--r--hm/silas/default.nix5
-rw-r--r--hm/sils/default.nix9
-rw-r--r--hm/ssh/default.nix15
-rw-r--r--hm/waybar/default.nix99
-rw-r--r--hm/zsh/default.nix15
-rw-r--r--hosts/hplappi.nix10
-rw-r--r--hosts/thinklappi-bootstrap/default.nix5
-rw-r--r--modules/hm/sils/default.nix6
-rwxr-xr-xmodules/hm/sils/firefox/user-overrides.js3
-rw-r--r--modules/hm/sils/git.nix75
-rw-r--r--modules/hm/sils/hyfetch.nix6
-rw-r--r--modules/hm/sils/hyprland.nix62
-rw-r--r--modules/hm/sils/iamb.nix38
-rw-r--r--modules/hm/sils/poweralertd/default.nix14
-rw-r--r--modules/hm/sils/swaync/default.nix32
-rw-r--r--modules/hm/sils/theming.nix8
-rw-r--r--modules/hm/sils/vscodium.nix29
-rw-r--r--modules/hm/sils/wofi/default.nix14
-rw-r--r--modules/hm/sils/zellij.nix14
-rw-r--r--modules/nixos/sils/default.nix2
-rw-r--r--modules/nixos/sils/gnome.nix19
-rw-r--r--modules/nixos/sils/networking.nix9
-rw-r--r--modules/nixos/sils/nix.nix4
-rw-r--r--modules/nixos/sils/plasma.nix29
-rw-r--r--modules/nixos/sils/roles.nix2
-rw-r--r--modules/nixos/sils/theming/default.nix3
-rw-r--r--readme.md16
l---------result-man1
-rw-r--r--sys/services/flatpak/default.nix8
-rw-r--r--sys/services/greetd/default.nix4
-rw-r--r--sys/services/logind/default.nix12
-rw-r--r--sys/users/default.nix31
41 files changed, 886 insertions, 634 deletions
diff --git a/files/T-TeleSec_GlobalRoot_Class_2.crt b/files/T-TeleSec_GlobalRoot_Class_2.crt
new file mode 100644
index 0000000..0911a56
--- /dev/null
+++ b/files/T-TeleSec_GlobalRoot_Class_2.crt
Binary files differdiff --git a/files/Telekom_Security_ServerID_OV_Class_2_CA.fullchain.pem b/files/Telekom_Security_ServerID_OV_Class_2_CA.fullchain.pem
new file mode 100644
index 0000000..89ebd71
--- /dev/null
+++ b/files/Telekom_Security_ServerID_OV_Class_2_CA.fullchain.pem
@@ -0,0 +1,71 @@
+#
+# CA Zertifikat:
+#--------------------------
+#   Subject: C=DE,O=Deutsche Telekom Security GmbH,CN=Telekom Security ServerID OV Class 2 CA
+#   Issuer: C=DE,O=T-Systems Enterprise Services GmbH,OU=T-Systems Trust Center,CN=T-TeleSec GlobalRoot Class 2
+#   Ser.No.: 0xe5d298915c40431a4e1c4ca488b8ea3
+-----BEGIN CERTIFICATE-----
+MIIFdTCCBF2gAwIBAgIQDl0piRXEBDGk4cTKSIuOozANBgkqhkiG9w0BAQsFADCB
+gjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNl
+cnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAj
+BgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMjIwODAyMDkx
+NjQ0WhcNMjcwODAyMjM1OTU5WjBoMQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1
+dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMTAwLgYDVQQDDCdUZWxla29tIFNl
+Y3VyaXR5IFNlcnZlcklEIE9WIENsYXNzIDIgQ0EwggGiMA0GCSqGSIb3DQEBAQUA
+A4IBjwAwggGKAoIBgQDJI0Rpfxc6t0rquSh1jjQompiuSfyNpmGhel4Nt3D+0xNa
+6Vj1ed4P5eqtUZootIP8+X36Vg8c1TxZ9yX2CoUeSM7MSZ2DbyAbtnb4KH1qdmP2
+uO54tJhb6WRISzq2rjlPsQWB5s3G4Z+nD3DNuGXtlszHPPTDNEFQRj3yr17wX2V5
+Sz6KmH8ok/H/pLKhCGDktUkPeeAFaWLsWF4aUkkSPY6JRTiVE6xILq3YIFlc8vQn
+/GP82Wo5H56TQpapYdKimQlygj9jG9Xj+o/0TXuTUOqPPoSTsKdvjEDuqaR63hZg
+gzscFFDw6g45dapfYK5e0xyiE4hkDDWkLi1VbLjm0+Jy+xGRnPTex1vd2Pmk8GyN
+Fg2nqH9DK+o/atmb1VQj+APwEj6Iu1ZlvY1A6TxDVmMwwGLvik57lcSSQicqLQCv
+Ck+rJCA5RnU/Sq6iA3ke/zEu1UJaVcM1vBmtu597c857ntt1FXObUK+DEED0/RN2
+vq6hro99hlquqUoV24sCAwEAAaOCAX4wggF6MA4GA1UdDwEB/wQEAwIBBjAdBgNV
+HQ4EFgQUHAWTsX+oNDCMUuCWQKByoxBd4P8wHwYDVR0jBBgwFoAUv1kgNgB5oKAi
+a4zV8mHSuCzLgkowEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEF
+BQcDAgYIKwYBBQUHAwEwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2dyY2wyLmNy
+bC50ZWxlc2VjLmRlL3JsL1QtVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3Js
+MIGNBggrBgEFBQcBAQSBgDB+MC4GCCsGAQUFBzABhiJodHRwOi8vZ3JjbDIub2Nz
+cC50ZWxlc2VjLmRlL29jc3ByMEwGCCsGAQUFBzAChkBodHRwOi8vZ3JjbDIuY3J0
+LnRlbGVzZWMuZGUvY3J0L1QtVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3J0
+MBMGA1UdIAQMMAowCAYGZ4EMAQICMA0GCSqGSIb3DQEBCwUAA4IBAQBTLMxV+kTs
+Ij6ks1K3WOWM5MyS/IDOGYRAcjP99Dsqqsb0+Klv/DjDpqG+fNhToZkMIOLwFCVO
+RG2o0lx3OLN89yUxsWsi9gbxnJl8WMdYWablIlL4SGUT79GuumemtKs53WxEOpcZ
+5wKeRNz4kX6dzDp9/186Z87Fss478BuOLUvpeRyqzvHBNHNgPagqwD8DK3ab/Oja
+I81PR4Ah4HgVf0IcCUhIoJeZ5Egv63G/IonqwMmmRgylu1eRENJ49PplOL70QEkf
+VwnYyLPcxt13TEp8IwH1gjqmyTUO6hx3Tz/jmkrfjwAVaN8sBBREXzzCexjyeM5U
+UQI/g3ovkWbg
+-----END CERTIFICATE-----
+
+
+#
+# Root Zertifikat:
+#--------------------------
+#   Subject: C=DE,O=T-Systems Enterprise Services GmbH,OU=T-Systems Trust Center,CN=T-TeleSec GlobalRoot Class 2
+#   Issuer: C=DE,O=T-Systems Enterprise Services GmbH,OU=T-Systems Trust Center,CN=T-TeleSec GlobalRoot Class 2
+#   Ser.No.: 0x1
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
+KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
+BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
+YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1
+OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
+aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
+ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd
+AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC
+FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi
+1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq
+jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ
+wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj
+QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/
+WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy
+NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC
+uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw
+IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6
+g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP
+BSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+
diff --git a/flake.lock b/flake.lock
index b0a98ec..f997242 100644
--- a/flake.lock
+++ b/flake.lock
@@ -16,11 +16,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1736955230,
-        "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
+        "lastModified": 1762618334,
+        "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
+        "rev": "fcdea223397448d35d9b31f798479227e80183f6",
         "type": "github"
       },
       "original": {
@@ -32,11 +32,11 @@
     "arkenfox-user-js": {
       "flake": false,
       "locked": {
-        "lastModified": 1745247844,
-        "narHash": "sha256-YfgmhyqLH067pjqRSeCpfqFkeaac1nBvsKcrRNkKw7o=",
+        "lastModified": 1762131136,
+        "narHash": "sha256-LPDiiEPOZu5Ah5vCLyCMT3w1uoBhUjyqoPWCOiLVLnw=",
         "owner": "arkenfox",
         "repo": "user.js",
-        "rev": "7f852e94fc80fd0aa19f1c948319974e3301187f",
+        "rev": "0f14e030b3a9391e761c03ce3c260730a78a4db6",
         "type": "github"
       },
       "original": {
@@ -50,15 +50,15 @@
         "fromYaml": "fromYaml"
       },
       "locked": {
-        "lastModified": 1745452037,
-        "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
-        "owner": "awwpotato",
+        "lastModified": 1755819240,
+        "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
+        "owner": "SenchoPens",
         "repo": "base16.nix",
-        "rev": "985d704b4ff9f75627f279ef091b2899f8456690",
+        "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
         "type": "github"
       },
       "original": {
-        "owner": "awwpotato",
+        "owner": "SenchoPens",
         "repo": "base16.nix",
         "type": "github"
       }
@@ -66,27 +66,28 @@
     "base16-fish": {
       "flake": false,
       "locked": {
-        "lastModified": 1622559957,
-        "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
+        "lastModified": 1765809053,
+        "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
         "owner": "tomyun",
         "repo": "base16-fish",
-        "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
+        "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
         "type": "github"
       },
       "original": {
         "owner": "tomyun",
         "repo": "base16-fish",
+        "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
         "type": "github"
       }
     },
     "base16-helix": {
       "flake": false,
       "locked": {
-        "lastModified": 1736852337,
-        "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
+        "lastModified": 1760703920,
+        "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
         "owner": "tinted-theming",
         "repo": "base16-helix",
-        "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
+        "rev": "d646af9b7d14bff08824538164af99d0c521b185",
         "type": "github"
       },
       "original": {
@@ -114,11 +115,11 @@
     },
     "crane": {
       "locked": {
-        "lastModified": 1745454774,
-        "narHash": "sha256-oLvmxOnsEKGtwczxp/CwhrfmQUG2ym24OMWowcoRhH8=",
+        "lastModified": 1769287525,
+        "narHash": "sha256-gABuYA6BzoRMLuPaeO5p7SLrpd4qExgkwEmYaYQY4bM=",
         "owner": "ipetkov",
         "repo": "crane",
-        "rev": "efd36682371678e2b6da3f108fdb5c613b3ec598",
+        "rev": "0314e365877a85c9e5758f9ea77a9972afbb4c21",
         "type": "github"
       },
       "original": {
@@ -134,11 +135,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745502102,
-        "narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=",
+        "lastModified": 1768923567,
+        "narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70",
+        "rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28",
         "type": "github"
       },
       "original": {
@@ -150,11 +151,11 @@
     "firefox-gnome-theme": {
       "flake": false,
       "locked": {
-        "lastModified": 1744642301,
-        "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
+        "lastModified": 1764873433,
+        "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
         "owner": "rafaelmardojai",
         "repo": "firefox-gnome-theme",
-        "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
+        "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
         "type": "github"
       },
       "original": {
@@ -166,11 +167,11 @@
     "flake-compat": {
       "flake": false,
       "locked": {
-        "lastModified": 1733328505,
-        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
+        "lastModified": 1767039857,
+        "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
         "owner": "edolstra",
         "repo": "flake-compat",
-        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
+        "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
         "type": "github"
       },
       "original": {
@@ -186,11 +187,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743550720,
-        "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
+        "lastModified": 1768135262,
+        "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "c621e8422220273271f52058f618c94e405bb0f5",
+        "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
         "type": "github"
       },
       "original": {
@@ -203,16 +204,15 @@
       "inputs": {
         "nixpkgs-lib": [
           "stylix",
-          "nur",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1733312601,
-        "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+        "lastModified": 1767609335,
+        "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
+        "rev": "250481aafeb741edfe23d29195671c19b36b6dca",
         "type": "github"
       },
       "original": {
@@ -241,45 +241,6 @@
         "type": "github"
       }
     },
-    "flake-utils_2": {
-      "inputs": {
-        "systems": "systems"
-      },
-      "locked": {
-        "lastModified": 1731533236,
-        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
-    "flake-utils_3": {
-      "inputs": {
-        "systems": [
-          "stylix",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1731533236,
-        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
     "fromYaml": {
       "flake": false,
       "locked": {
@@ -309,37 +270,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1742649964,
-        "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
+        "lastModified": 1769069492,
+        "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
-        "type": "github"
-      },
-      "original": {
-        "owner": "cachix",
-        "repo": "git-hooks.nix",
-        "type": "github"
-      }
-    },
-    "git-hooks_2": {
-      "inputs": {
-        "flake-compat": [
-          "stylix",
-          "flake-compat"
-        ],
-        "gitignore": "gitignore_2",
-        "nixpkgs": [
-          "stylix",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1742649964,
-        "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
-        "owner": "cachix",
-        "repo": "git-hooks.nix",
-        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
+        "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23",
         "type": "github"
       },
       "original": {
@@ -355,33 +290,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1709087332,
-        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+        "lastModified": 1762808025,
+        "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=",
         "owner": "hercules-ci",
         "repo": "gitignore.nix",
-        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hercules-ci",
-        "repo": "gitignore.nix",
-        "type": "github"
-      }
-    },
-    "gitignore_2": {
-      "inputs": {
-        "nixpkgs": [
-          "stylix",
-          "git-hooks",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1709087332,
-        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
-        "owner": "hercules-ci",
-        "repo": "gitignore.nix",
-        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+        "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c",
         "type": "github"
       },
       "original": {
@@ -393,18 +306,20 @@
     "gnome-shell": {
       "flake": false,
       "locked": {
-        "lastModified": 1732369855,
-        "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
+        "host": "gitlab.gnome.org",
+        "lastModified": 1767737596,
+        "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
         "owner": "GNOME",
         "repo": "gnome-shell",
-        "rev": "dadd58f630eeea41d645ee225a63f719390829dc",
-        "type": "github"
+        "rev": "ef02db02bf0ff342734d525b5767814770d85b49",
+        "type": "gitlab"
       },
       "original": {
+        "host": "gitlab.gnome.org",
         "owner": "GNOME",
-        "ref": "47.2",
+        "ref": "gnome-49",
         "repo": "gnome-shell",
-        "type": "github"
+        "type": "gitlab"
       }
     },
     "home-manager": {
@@ -414,11 +329,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745494811,
-        "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
+        "lastModified": 1769397130,
+        "narHash": "sha256-TTM4KV9IHwa181X7afBRbhLJIrgynpDjAXJFMUOWfyU=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
+        "rev": "c37679d37bdbecf11bbe3c5eb238d89ca4f60641",
         "type": "github"
       },
       "original": {
@@ -427,46 +342,43 @@
         "type": "github"
       }
     },
-    "impermanence": {
+    "home-manager_2": {
+      "inputs": {
+        "nixpkgs": [
+          "impermanence",
+          "nixpkgs"
+        ]
+      },
       "locked": {
-        "lastModified": 1737831083,
-        "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
+        "lastModified": 1768598210,
+        "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=",
         "owner": "nix-community",
-        "repo": "impermanence",
-        "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
+        "repo": "home-manager",
+        "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "repo": "impermanence",
+        "repo": "home-manager",
         "type": "github"
       }
     },
-    "ixx": {
+    "impermanence": {
       "inputs": {
-        "flake-utils": [
-          "nixvim",
-          "nuschtosSearch",
-          "flake-utils"
-        ],
-        "nixpkgs": [
-          "nixvim",
-          "nuschtosSearch",
-          "nixpkgs"
-        ]
+        "home-manager": "home-manager_2",
+        "nixpkgs": "nixpkgs"
       },
       "locked": {
-        "lastModified": 1737371634,
-        "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
-        "owner": "NuschtOS",
-        "repo": "ixx",
-        "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
+        "lastModified": 1768941735,
+        "narHash": "sha256-OyxsfXNcOkt06/kM+4bnuC8moDx+t7Qr+RB0BBa83Ig=",
+        "owner": "nix-community",
+        "repo": "impermanence",
+        "rev": "69ecf31e8fddc9354a4b418f3a517445d486bb54",
         "type": "github"
       },
       "original": {
-        "owner": "NuschtOS",
-        "ref": "v0.0.7",
-        "repo": "ixx",
+        "owner": "nix-community",
+        "repo": "impermanence",
         "type": "github"
       }
     },
@@ -529,11 +441,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744478979,
-        "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
+        "lastModified": 1768764703,
+        "narHash": "sha256-5ulSDyOG1U+1sJhkJHYsUOWEsmtLl97O0NTVMvgIVyc=",
         "owner": "lnl7",
         "repo": "nix-darwin",
-        "rev": "43975d782b418ebf4969e9ccba82466728c2851b",
+        "rev": "0fc4e7ac670a0ed874abacf73c4b072a6a58064b",
         "type": "github"
       },
       "original": {
@@ -564,15 +476,15 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1745391562,
-        "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
-        "owner": "NixOs",
+        "lastModified": 1768564909,
+        "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
+        "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
+        "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
         "type": "github"
       },
       "original": {
-        "owner": "NixOs",
+        "owner": "nixos",
         "ref": "nixos-unstable",
         "repo": "nixpkgs",
         "type": "github"
@@ -581,11 +493,11 @@
     "nixpkgs-lib": {
       "locked": {
         "dir": "lib",
-        "lastModified": 1745391562,
-        "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
+        "lastModified": 1769170682,
+        "narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
         "owner": "NixOs",
         "repo": "nixpkgs",
-        "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
+        "rev": "c5296fdd05cfa2c187990dd909864da9658df755",
         "type": "github"
       },
       "original": {
@@ -628,6 +540,22 @@
         "type": "github"
       }
     },
+    "nixpkgs_2": {
+      "locked": {
+        "lastModified": 1769170682,
+        "narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
+        "owner": "NixOs",
+        "repo": "nixpkgs",
+        "rev": "c5296fdd05cfa2c187990dd909864da9658df755",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOs",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "nixvim": {
       "inputs": {
         "flake-parts": [
@@ -636,14 +564,14 @@
         "nixpkgs": [
           "nixpkgs"
         ],
-        "nuschtosSearch": "nuschtosSearch"
+        "systems": "systems"
       },
       "locked": {
-        "lastModified": 1745496969,
-        "narHash": "sha256-04ZWtuPFXc/aRklrWs9FY+Gcb9Ct5lmv84Livgafd84=",
+        "lastModified": 1769418848,
+        "narHash": "sha256-jLSg9IkglcIw64kU1utXxsxXhiVdD45dkh9ZJKaFQ7U=",
         "owner": "nix-community",
         "repo": "nixvim",
-        "rev": "62ecd39b40bf8a61fa428d026bb7061e1350f456",
+        "rev": "c19a0517ddeed4c1548611e42e187048fc2e5dcf",
         "type": "github"
       },
       "original": {
@@ -654,19 +582,21 @@
     },
     "nur": {
       "inputs": {
-        "flake-parts": "flake-parts_2",
+        "flake-parts": [
+          "stylix",
+          "flake-parts"
+        ],
         "nixpkgs": [
           "stylix",
           "nixpkgs"
-        ],
-        "treefmt-nix": "treefmt-nix"
+        ]
       },
       "locked": {
-        "lastModified": 1745459908,
-        "narHash": "sha256-bWqgohVf/py9EW3bLS/dYbenD2p9N2/Qsw1+CJk1S04=",
+        "lastModified": 1767810917,
+        "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "dbc4ba3233b2bf951521177bf0ee0a7679959035",
+        "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
         "type": "github"
       },
       "original": {
@@ -675,29 +605,6 @@
         "type": "github"
       }
     },
-    "nuschtosSearch": {
-      "inputs": {
-        "flake-utils": "flake-utils_2",
-        "ixx": "ixx",
-        "nixpkgs": [
-          "nixvim",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1745046075,
-        "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
-        "owner": "NuschtOS",
-        "repo": "search",
-        "rev": "066afe8643274470f4a294442aadd988356a478f",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NuschtOS",
-        "repo": "search",
-        "type": "github"
-      }
-    },
     "prismlauncher": {
       "inputs": {
         "libnbtplusplus": [
@@ -705,15 +612,14 @@
         ],
         "nixpkgs": [
           "nixpkgs"
-        ],
-        "qt-qrcodegenerator": "qt-qrcodegenerator"
+        ]
       },
       "locked": {
-        "lastModified": 1745126952,
-        "narHash": "sha256-hCcj3iWQucbN1zbSiFzCGbIx5K3hgL9I638ANgcsUBo=",
+        "lastModified": 1769361894,
+        "narHash": "sha256-/evRhHf0rdSMIUG1Fo88OMcYs7d8BzOWbPTMe4hiwgk=",
         "owner": "PrismLauncher",
         "repo": "PrismLauncher",
-        "rev": "60e279bf395b2a353c79b53780f5965371a80506",
+        "rev": "9776fb8d681d2ce3c3315bcead0facfc5933d921",
         "type": "github"
       },
       "original": {
@@ -722,22 +628,6 @@
         "type": "github"
       }
     },
-    "qt-qrcodegenerator": {
-      "flake": false,
-      "locked": {
-        "lastModified": 1737616857,
-        "narHash": "sha256-6SugPt0lp1Gz7nV23FLmsmpfzgFItkSw7jpGftsDPWc=",
-        "owner": "nayuki",
-        "repo": "QR-Code-generator",
-        "rev": "2c9044de6b049ca25cb3cd1649ed7e27aa055138",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nayuki",
-        "repo": "QR-Code-generator",
-        "type": "github"
-      }
-    },
     "ragenix": {
       "inputs": {
         "agenix": [
@@ -757,11 +647,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744897914,
-        "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=",
+        "lastModified": 1761832913,
+        "narHash": "sha256-VCNVjjuRvrKPiYYwqhE3BAKIaReiKXGpxGp27lZ0MFM=",
         "owner": "yaxitech",
         "repo": "ragenix",
-        "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223",
+        "rev": "83bccfdea758241999f32869fb6b36f7ac72f1ac",
         "type": "github"
       },
       "original": {
@@ -787,7 +677,7 @@
         "libnbtplusplus": "libnbtplusplus",
         "nix-darwin": "nix-darwin",
         "nix-github-actions": "nix-github-actions",
-        "nixpkgs": "nixpkgs",
+        "nixpkgs": "nixpkgs_2",
         "nixpkgs-lib": "nixpkgs-lib",
         "nixpkgs-pinned": "nixpkgs-pinned",
         "nixpkgs-stable": "nixpkgs-stable",
@@ -798,8 +688,7 @@
         "sops-nix": "sops-nix",
         "stylix": "stylix",
         "systems": "systems_3",
-        "treefmt-nix": "treefmt-nix_2",
-        "wl-togglescreens": "wl-togglescreens"
+        "treefmt-nix": "treefmt-nix"
       }
     },
     "rust-overlay": {
@@ -809,11 +698,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745462120,
-        "narHash": "sha256-TbVjPOl+Cg5vZ7TIn1KpQ8SOfHKD6OEgu84b6YSCfKE=",
+        "lastModified": 1769396217,
+        "narHash": "sha256-YNzh46h8fby49yOIB40lNoQ9ucVoXe1bHVwkZ4AwGe0=",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "79d3acd1a7e67fb9315fa5c5556eb6adf93dc2da",
+        "rev": "e9bcd12156a577ac4e47d131c14dc0293cc9c8c2",
         "type": "github"
       },
       "original": {
@@ -829,11 +718,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745310711,
-        "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=",
+        "lastModified": 1769314333,
+        "narHash": "sha256-+Uvq9h2eGsbhacXpuS7irYO7fFlz514nrhPCSTkASlw=",
         "owner": "Mic92",
         "repo": "sops-nix",
-        "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c",
+        "rev": "2eb9eed7ef48908e0f02985919f7eb9d33fa758f",
         "type": "github"
       },
       "original": {
@@ -849,15 +738,8 @@
         "base16-helix": "base16-helix",
         "base16-vim": "base16-vim",
         "firefox-gnome-theme": "firefox-gnome-theme",
-        "flake-compat": [
-          "flake-compat"
-        ],
-        "flake-utils": "flake-utils_3",
-        "git-hooks": "git-hooks_2",
+        "flake-parts": "flake-parts_2",
         "gnome-shell": "gnome-shell",
-        "home-manager": [
-          "home-manager"
-        ],
         "nixpkgs": [
           "nixpkgs"
         ],
@@ -870,11 +752,11 @@
         "tinted-zed": "tinted-zed"
       },
       "locked": {
-        "lastModified": 1745466324,
-        "narHash": "sha256-bKnHFiW/24Up/DWuO8ntzBOUu179mfx96COUeUCKSAQ=",
+        "lastModified": 1769202931,
+        "narHash": "sha256-4IZuCMjlWEtS6rVXozVXaJG6QADHVncXC29PLZr6ZB4=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "1db9218e9770c4fc2aaae64222820fabb213be7a",
+        "rev": "749285c90e3e35ebe0952c86838f3089abbc7939",
         "type": "github"
       },
       "original": {
@@ -948,28 +830,27 @@
     "tinted-kitty": {
       "flake": false,
       "locked": {
-        "lastModified": 1716423189,
-        "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
+        "lastModified": 1735730497,
+        "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
         "owner": "tinted-theming",
         "repo": "tinted-kitty",
-        "rev": "eb39e141db14baef052893285df9f266df041ff8",
+        "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
         "type": "github"
       },
       "original": {
         "owner": "tinted-theming",
         "repo": "tinted-kitty",
-        "rev": "eb39e141db14baef052893285df9f266df041ff8",
         "type": "github"
       }
     },
     "tinted-schemes": {
       "flake": false,
       "locked": {
-        "lastModified": 1744974599,
-        "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
+        "lastModified": 1767710407,
+        "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
         "owner": "tinted-theming",
         "repo": "schemes",
-        "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
+        "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
         "type": "github"
       },
       "original": {
@@ -981,11 +862,11 @@
     "tinted-tmux": {
       "flake": false,
       "locked": {
-        "lastModified": 1745111349,
-        "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
+        "lastModified": 1767489635,
+        "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
         "owner": "tinted-theming",
         "repo": "tinted-tmux",
-        "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
+        "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
         "type": "github"
       },
       "original": {
@@ -997,11 +878,11 @@
     "tinted-zed": {
       "flake": false,
       "locked": {
-        "lastModified": 1725758778,
-        "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
+        "lastModified": 1767488740,
+        "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
         "owner": "tinted-theming",
         "repo": "base16-zed",
-        "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
+        "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
         "type": "github"
       },
       "original": {
@@ -1013,17 +894,15 @@
     "treefmt-nix": {
       "inputs": {
         "nixpkgs": [
-          "stylix",
-          "nur",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1733222881,
-        "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
+        "lastModified": 1769353635,
+        "narHash": "sha256-J0G1ACrUK29M0THPAsz429eZX07GmR9Bs/b0pB3N0dQ=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
+        "rev": "f46bb205f239b415309f58166f8df6919fa88377",
         "type": "github"
       },
       "original": {
@@ -1031,47 +910,6 @@
         "repo": "treefmt-nix",
         "type": "github"
       }
-    },
-    "treefmt-nix_2": {
-      "inputs": {
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1744961264,
-        "narHash": "sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI=",
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "rev": "8d404a69efe76146368885110f29a2ca3700bee6",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "type": "github"
-      }
-    },
-    "wl-togglescreens": {
-      "inputs": {
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1696950026,
-        "narHash": "sha256-+uj4G2bf+cCh3EgAfZzWzzu9keA6W0oEzM/SasNH5lw=",
-        "ref": "main",
-        "rev": "5ae8ab2e87fa345330e33604361a18b58a68cd4c",
-        "revCount": 11,
-        "type": "git",
-        "url": "https://git.project-insanity.org/onny/wl-togglescreens.git"
-      },
-      "original": {
-        "ref": "main",
-        "type": "git",
-        "url": "https://git.project-insanity.org/onny/wl-togglescreens.git"
-      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index ef57e44..3647895 100644
--- a/flake.nix
+++ b/flake.nix
@@ -30,7 +30,6 @@
         flake-compat.follows = "flake-compat";
         gitignore.follows = "gitignore";
         nixpkgs.follows = "nixpkgs";
-        nixpkgs-stable.follows = "nixpkgs-stable";
       };
     };
 
@@ -67,9 +66,6 @@
       inputs = {
         nixpkgs.follows = "nixpkgs";
         flake-parts.follows = "flake-parts";
-        git-hooks.follows = "git-hooks";
-        home-manager.follows = "home-manager";
-        nix-darwin.follows = "nix-darwin";
       };
     };
     lanzaboote = {
@@ -79,7 +75,6 @@
         nixpkgs.follows = "nixpkgs";
         flake-compat.follows = "flake-compat";
         flake-parts.follows = "flake-parts";
-        flake-utils.follows = "flake-utils";
         pre-commit-hooks-nix.follows = "git-hooks";
         rust-overlay.follows = "rust-overlay";
       };
@@ -90,13 +85,11 @@
       url = "github:danth/stylix";
       inputs = {
         nixpkgs.follows = "nixpkgs";
-        home-manager.follows = "home-manager";
-        flake-compat.follows = "flake-compat";
       };
     };
 
     systems = {
-      url = "git+https://codeberg.org/sils/systems"; #  specify systems to evaluate
+      url = "git+https://codeberg.org/sils/systems"; # specify systems to evaluate
     };
     sops-nix = {
       url = "github:Mic92/sops-nix";
@@ -130,7 +123,6 @@
     prismlauncher = {
       url = "github:PrismLauncher/PrismLauncher";
       inputs = {
-        flake-compat.follows = "flake-compat";
         libnbtplusplus.follows = "libnbtplusplus";
         nixpkgs.follows = "nixpkgs";
       };
@@ -139,10 +131,10 @@
       url = "github:PrismLauncher/libnbtplusplus";
       flake = false;
     };
-    wl-togglescreens = {
-      url = "git+https://git.project-insanity.org/onny/wl-togglescreens.git?ref=main";
-      inputs.nixpkgs.follows = "nixpkgs";
-    };
+    #wl-togglescreens = {
+    #  url = "git+https://git.project-insanity.org/onny/wl-togglescreens.git?ref=main";
+    #  inputs.nixpkgs.follows = "nixpkgs";
+    #};
 
     arkenfox-user-js = {
       url = "github:arkenfox/user.js";
diff --git a/hm/gpg/default.nix b/hm/gpg/default.nix
index 2632874..8bbfb22 100644
--- a/hm/gpg/default.nix
+++ b/hm/gpg/default.nix
@@ -7,21 +7,21 @@
     enable = true;
   };
   services.gpg-agent = {
-    enable = true;
+    enable = false;
     defaultCacheTtl = 60 * 50;
     defaultCacheTtlSsh = 60 * 50;
     maxCacheTtl = 60 * 50;
     maxCacheTtlSsh = 60 * 50;
-    pinentryPackage = pkgs.pinentry-curses;
+    pinentry.package = pkgs.pinentry-curses;
     enableSshSupport = true;
     sshKeys = ["4077454831C98FE4BE4A9C167186C5A63615B790"];
   };
-  programs.zsh.initExtraFirst = lib.mkBefore ''
-    current_tty="$(tty)"
-    tty() { echo "$current_tty"; }
-    SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
-    gpg-connect-agent /bye
-  '';
+  #programs.zsh.initContent = lib.mkBefore ''
+  #  current_tty="$(tty)"
+  #  tty() { echo "$current_tty"; }
+  #  SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+  #  gpg-connect-agent /bye
+  #'';
   #home.sessionVariables = {
   #  GNUPGHOME = lib.mkForce "";
   #};
diff --git a/hm/mako/default.nix b/hm/mako/default.nix
deleted file mode 100644
index 503ca1b..0000000
--- a/hm/mako/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{...}: {
-  services.mako = {
-    enable = true;
-    #backgroundColor = "#2e3440";
-    #borderColor = "#88c0d0";
-    borderRadius = 25;
-    borderSize = 2;
-    defaultTimeout = 5000;
-    #font = "Source Code Pro 10";
-    width = 500;
-    height = 500;
-    icons = true;
-    ignoreTimeout = true;
-    layer = "overlay";
-    markup = true; # TODO
-    maxIconSize = 64;
-    sort = "-time";
-    #extraConfig = ''
-    #  [urgency=low]
-    #  border-color=#cccccc
-
-    #  [urgency=normal]
-    #  border-color=#d08770
-
-    #  [urgency=high]
-    #  border-size=3
-    #  border-color=#bf616a
-    #  default-timeout=0
-
-    #  [urgency=critical]
-    #  border-size=4
-    #  border-color=#bf616a
-    #  default-timeout=0
-
-    #  [category=mpd]
-    #  default-timeout=2000
-    #  group-by=category
-    #'';
-  };
-}
diff --git a/hm/nixvim/config.nix b/hm/nixvim/config.nix
index 58753b0..666232b 100644
--- a/hm/nixvim/config.nix
+++ b/hm/nixvim/config.nix
@@ -9,7 +9,10 @@ pkgs: {
     textwidth = 83;
     linebreak = true;
 
-    completeopt = ["menuone" "noselect"];
+    completeopt = [
+      "menuone"
+      "noselect"
+    ];
     wildmenu = true;
     wildmode = builtins.concatStringsSep "," [
       "longest"
@@ -19,22 +22,38 @@ pkgs: {
   };
   keymaps = [
     {
-      mode = ["n" "i" "t"];
+      mode = [
+        "n"
+        "i"
+        "t"
+      ];
       key = "<A-h>";
       action = ''<C-\><C-N><C-w>h'';
     }
     {
-      mode = ["n" "i" "t"];
+      mode = [
+        "n"
+        "i"
+        "t"
+      ];
       key = "<A-j>";
       action = ''<C-\><C-N><C-w>j'';
     }
     {
-      mode = ["n" "i" "t"];
+      mode = [
+        "n"
+        "i"
+        "t"
+      ];
       key = "<A-k>";
       action = ''<C-\><C-N><C-w>k'';
     }
     {
-      mode = ["n" "i" "t"];
+      mode = [
+        "n"
+        "i"
+        "t"
+      ];
       key = "<A-l>";
       action = ''<C-\><C-N><C-w>l'';
     }
@@ -51,7 +70,10 @@ pkgs: {
       action = ":Neotree float git_status<cr>";
     }
     {
-      mode = ["n" "i"];
+      mode = [
+        "n"
+        "i"
+      ];
       key = "<Esc>";
       action = "<cmd>noh<CR><Esc>";
     }
@@ -78,6 +100,7 @@ pkgs: {
       enable = true;
       settings = {
         powerline_fonts = 1;
+        theme = "base16_black_metal"; # "base16_gruvbox_dark_pale";
       };
     };
     cmp = {
@@ -140,7 +163,7 @@ pkgs: {
     lspkind = {
       enable = true;
 
-      cmp = {
+      settings.cmp = {
         enable = true;
         menu = {
           nvim_lsp = "[LSP]";
@@ -163,12 +186,12 @@ pkgs: {
         indent.enable = true;
       };
     };
-    treesitter-context = {
-      enable = true;
-    };
-    treesitter-refactor = {
-      enable = true;
-    };
+    #treesitter-context = {
+    #  enable = true;
+    #};
+    #treesitter-refactor = {
+    #  enable = true;
+    #};
     mini = {
       enable = true;
     };
@@ -180,8 +203,10 @@ pkgs: {
     };
     neo-tree = {
       enable = true;
-      autoCleanAfterSessionRestore = true;
-      closeIfLastWindow = true;
+      settings = {
+        auto_clean_after_session_restore = true;
+        close_if_last_window = true;
+      };
     };
     nvim-autopairs = {
       enable = true;
@@ -191,6 +216,9 @@ pkgs: {
     };
     vimtex = {
       enable = true;
+      settings = {
+        view_method = "zathura";
+      };
     };
     web-devicons = {
       enable = true;
diff --git a/hm/packages/default.nix b/hm/packages/default.nix
index cf58f09..363df37 100644
--- a/hm/packages/default.nix
+++ b/hm/packages/default.nix
@@ -2,151 +2,149 @@
   nixpkgs-pinned,
   pkgs,
   prismlauncher,
-  wl-togglescreens,
+  #wl-togglescreens,
   ...
 }: let
   pkgs-pinned = nixpkgs-pinned.legacyPackages.${pkgs.system};
 in {
   home.packages = with pkgs;
-  with pkgs.libsForQt5; [
-    godot_4 # gameengine
-    # core tools
-    neofetch # a must-have
-    lsd # ls in good
-    ripgrep # amazing grep
-    lf # file manager
-    kitty # terminal
-    alacritty # terminal
-    glow # markdown rendering
-    restic # backups
-    tree # tree view of directories
-    nmap # network scanning
-    rofi-wayland # application launcher
-    wofi # rofi with gtk
-    xdg-utils # mainly used for xdg-openA
-    git-crypt # obscure git repos
-    wl-clipboard # clipboard cli for wayland
-    htop # resource usage
-    exiftool # edit (photo) metadata
-
-    playerctl # for music control in eww
+    [
+      godot_4 # gameengine
+      # core tools
+      neofetch # a must-have
+      lsd # ls in good
+      ripgrep # amazing grep
+      lf # file manager
+      kitty # terminal
+      alacritty # terminal
+      glow # markdown rendering
+      restic # backups
+      tree # tree view of directories
+      nmap # network scanning
+      xdg-utils # mainly used for xdg-openA
+      git-crypt # obscure git repos
+      wl-clipboard # clipboard cli for wayland
+      htop # resource usage
+      exiftool # edit (photo) metadata
 
-    # notification daemon
-    mako
-    libnotify
+      gimp # image manipulation
 
-    logseq # structured notes
-
-    gnome-boxes # virtualisation
-
-    hugo # ssg
-
-    # wallpaper deamon
-    swww
-
-    networkmanagerapplet
-
-    nextcloud-client
-
-    grim # screenshots
-    slurp # select utility
-
-    #database
-    sqlitebrowser # graphical interactive sqlitedb management
-
-    # Hardware
-    sbctl # secure boot management
-
-    # text production/office
-    libreoffice # graphical office suite
-    pdfarranger # gui for pdf arranging
-
-    # LaTeX
-    texlive.combined.scheme-full # LaTeX
-    texlab # latex language server
-
-    pkgs-pinned.calibre # ebook management
-
-    html-tidy # html formatter
-    ltex-ls # lsp language server for languagetool
-
-    musescore # notesetting program
-
-    # communication
-    signal-desktop # the ecosystem is moving :(
-    signal-cli # use signal without phone
-    mumble # voice chat
-    element-desktop # chat
-    tdesktop # telegram messenger
-    thunderbird # emails
-    briar-desktop # privacy first
-
-    # Browser
-    ungoogled-chromium # just in case
-    tor-browser-bundle-bin # tor-browser
-
-    # archives
-    unzip
-    zip
-    _7zz
-
-    qtstyleplugin-kvantum # theming
-
-    # image editing
-    inkscape # vector graphics
-    imagemagick # powerful cli-tool
-
-    # multimedia
-    sayonara # audioplayer
-    vlc # audio and video
-    mpv # videos
-    pulseaudio # audio control
-    imv # image viewing cli
-
-    # Compiler
-    gcc
-    execline
-
-    # Programming Languages
-    jdk # java
-    python3 # python
+      playerctl # for music control in eww
 
-    # Rust
-    cargo # rust package manager
-    rustfmt # rust formatter
-    rust-analyzer # rust language server
-    rustc # rust compiler
+      # notification daemon
+      libnotify
+
+      logseq # structured notes
+
+      gnome-boxes # virtualisation
+
+      hugo # ssg
+
+      # wallpaper deamon
+      swww
 
-    # Nix Stuff
-    alejandra # nix code formatter
-    nil # nix language-server
-    statix # nix linter
+      networkmanagerapplet
+
+      nextcloud-client
+
+      grim # screenshots
+      slurp # select utility
+
+      #database
+      sqlitebrowser # graphical interactive sqlitedb management
+
+      # Hardware
+      sbctl # secure boot management
+
+      # text production/office
+      libreoffice # graphical office suite
+      pdfarranger # gui for pdf arranging
+
+      # LaTeX
+      texlive.combined.scheme-full # LaTeX
+      texlab # latex language server
+
+      pkgs-pinned.calibre # ebook management
+
+      html-tidy # html formatter
+      ltex-ls # lsp language server for languagetool
+
+      musescore # notesetting program
+
+      # communication
+      signal-desktop # the ecosystem is moving :(
+      signal-cli # use signal without phone
+      mumble # voice chat
+      element-desktop # chat
+      telegram-desktop # telegram messenger
+      thunderbird # emails
+      briar-desktop # privacy first
+
+      # Browser
+      ungoogled-chromium # just in case
+      tor-browser # tor-browser
+
+      # archives
+      unzip
+      zip
+      _7zz
+
+      # image editing
+      inkscape # vector graphics
+      imagemagick # powerful cli-tool
+
+      # multimedia
+      #sayonara # audioplayer
+      vlc # audio and video
+      mpv # videos
+      pulseaudio # audio control
+      imv # image viewing cli
+
+      # Compiler
+      gcc
+      execline
+
+      # Programming Languages
+      jdk # java
+      python3 # python
+
+      # Rust
+      cargo # rust package manager
+      rustfmt # rust formatter
+      rust-analyzer # rust language server
+      rustc # rust compiler
 
-    keepassxc # password manager
+      # Nix Stuff
+      alejandra # nix code formatter
+      nil # nix language-server
+      statix # nix linter
 
-    styx # static site generator in nix
-    cmatrix # hacker tool
+      keepassxc # password manager
 
-    lutris-free # another wine manager
-    wineWowPackages.waylandFull # wine
+      #styx # static site generator in nix
+      cmatrix # hacker tool
 
-    okular # pdf viewer
+      lutris-free # another wine manager
+      wineWowPackages.waylandFull # wine
 
-    # windowmanager
-    nwg-panel
-    brightnessctl # control brightness
-    river
-    yambar
-    swaylock
-    swaybg # wallpaper
-    prismlauncher.packages.${pkgs.system}.prismlauncher # minecraft-launcher
-    luanti # gameengine
+      # windowmanager
+      nwg-panel
+      brightnessctl # control brightness
+      yambar
+      swaylock
+      swaybg # wallpaper
+      prismlauncher.packages.${pkgs.system}.prismlauncher # minecraft-launcher
+      luanti # gameengine
 
-    wl-togglescreens.packages.${pkgs.system}.wl-togglescreens # toggle screens
-    wlr-randr # xrand for wayland, needed by wl-togglescreens
+      #wl-togglescreens.packages.${pkgs.system}.wl-togglescreens # toggle screens
+      wlr-randr # xrand for wayland, needed by wl-togglescreens
 
-    # soispha
+      # soispha
 
-    #grades.outputs.packages.${system}.default
-  ];
+      #grades.outputs.packages.${system}.default
+    ]
+    ++ (with pkgs.kdePackages; [
+      okular # pdf viewer
+      qtstyleplugin-kvantum # theming
+    ]);
 }
diff --git a/hm/rofi/default.nix b/hm/rofi/default.nix
index 51fb59a..ee79567 100644
--- a/hm/rofi/default.nix
+++ b/hm/rofi/default.nix
@@ -1,7 +1,7 @@
 {pkgs, ...}: {
   programs.rofi = {
     enable = true;
-    package = pkgs.rofi-wayland;
+    package = pkgs.rofi;
     terminal = "${pkgs.foot}/bin/foot";
     #theme = ./rounded-gray-dark.rasi;
   };
diff --git a/hm/silas/default.nix b/hm/silas/default.nix
index b6f110e..6c54d0a 100644
--- a/hm/silas/default.nix
+++ b/hm/silas/default.nix
@@ -3,7 +3,6 @@
     ../../modules/hm
     ../gpg
     ../gtk
-    ../mako
     ../nixvim
     ../packages
     ../rofi
@@ -15,7 +14,7 @@
     ../waybar
     ../xdg
     ../zsh
-    nixvim.homeManagerModules.nixvim
+    nixvim.homeModules.nixvim
   ];
 
   home = {
@@ -36,6 +35,7 @@
     git.enable = true;
     hyfetch.enable = true;
     hyprland.enable = true;
+    iamb.enable = true;
     jameica.enable = true;
     kdeconnect.enable = true;
     mail.enable = true;
@@ -44,6 +44,7 @@
     theming.enable = true;
     yt-dlp.enable = true;
     zathura.enable = true;
+    zellij.enable = true;
   };
   programs.home-manager.enable = true;
 }
diff --git a/hm/sils/default.nix b/hm/sils/default.nix
index 64df535..073fc94 100644
--- a/hm/sils/default.nix
+++ b/hm/sils/default.nix
@@ -3,7 +3,6 @@
     ../../modules/hm
     ../gpg
     ../gtk
-    ../mako
     ../nixvim
     ../packages
     ../rofi
@@ -15,7 +14,7 @@
     ../waybar
     ../xdg
     ../zsh
-    nixvim.homeManagerModules.nixvim
+    nixvim.homeModules.nixvim
   ];
 
   home = {
@@ -36,14 +35,20 @@
     git.enable = true;
     hyfetch.enable = true;
     hyprland.enable = true;
+    iamb.enable = true;
     jameica.enable = true;
     kdeconnect.enable = true;
     mail.enable = true;
     nextcloud.enable = true;
+    poweralertd.enable = true;
     sway.enable = true;
+    swaync.enable = true;
     theming.enable = true;
+    vscodium.enable = true;
+    wofi.enable = true;
     yt-dlp.enable = true;
     zathura.enable = true;
+    zellij.enable = true;
   };
   programs.home-manager.enable = true;
 }
diff --git a/hm/ssh/default.nix b/hm/ssh/default.nix
index c7b8e20..d123a6a 100644
--- a/hm/ssh/default.nix
+++ b/hm/ssh/default.nix
@@ -1,8 +1,9 @@
 {...}: {
-  services.ssh-agent.enable = false;
+  services.ssh-agent.enable = true;
 
   programs.ssh = {
     enable = true;
+    enableDefaultConfig = false;
     matchBlocks = let
       genBox = user: {
         inherit user;
@@ -10,6 +11,18 @@
       };
       username = "u384702";
     in {
+      "*" = {
+        forwardAgent = false;
+        addKeysToAgent = "no";
+        compression = false;
+        serverAliveInterval = 0;
+        serverAliveCountMax = 3;
+        hashKnownHosts = false;
+        userKnownHostsFile = "~/.ssh/known_hosts";
+        controlMaster = "no";
+        controlPath = "~/.ssh/master-%r@%n:%p";
+        controlPersist = "no";
+      };
       "storagebox" = genBox username;
       "storagebox-1" = genBox "${username}-sub1";
     };
diff --git a/hm/waybar/default.nix b/hm/waybar/default.nix
index 18b659c..cde53e4 100644
--- a/hm/waybar/default.nix
+++ b/hm/waybar/default.nix
@@ -1,13 +1,24 @@
 {pkgs, ...}: {
   programs.waybar = {
-    enable = true;
+    enable = false;
     settings = {
       mainBar = {
         layer = "top";
         position = "top";
-        modules-left = ["hyprland/workspaces" "clock"];
+        modules-left = [
+          "hyprland/workspaces"
+          "clock"
+        ];
         modules-center = ["hyprland/window"];
-        modules-right = ["pulseaudio" "network" "backlight" "battery" "tray"];
+        modules-right = [
+          "pulseaudio"
+          "network"
+          "backlight"
+          "battery"
+          "custom/notification"
+          "inhibitor"
+          "tray"
+        ];
 
         "hyprland/workspaces" = {
           disable-scroll = false;
@@ -27,7 +38,11 @@
         pulseaudio = {
           format = " {icon} ";
           format-muted = "ﱝ";
-          format-icons = ["奄" "奔" "墳"];
+          format-icons = [
+            "奄"
+            "奔"
+            "墳"
+          ];
           tooltip = true;
           tooltip-format = "{volume}%";
         };
@@ -43,7 +58,17 @@
         backlight = {
           device = "intel_backlight";
           format = "{icon}";
-          format-icons = ["" "" "" "" "" "" "" "" ""];
+          format-icons = [
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+          ];
           tooltip = true;
           tooltip-format = "{percent}%";
         };
@@ -52,11 +77,30 @@
           states = {
             warning = 30;
             critical = 15;
+            catastrophic = 10;
+          };
+          events = {
+            on-discharging-warning = "${pkgs.libnotify}/bin/notify-send -u normal 'Low Battery'";
+            on-discharging-critical = "${pkgs.libnotify}/bin/notify-send -u critical 'Very Low Battery' 'Hibernating soon'";
+            on-discharging-catastrophic = "${pkgs.libnotify}/bin/notify-send -u critical 'Very Low Battery' 'Hibernating now' && sleep 30 && ${pkgs.systemd}/bin/systemctl hibernate --check-inhibitors=no";
           };
           format = "{capacity}% {icon}";
           format-charging = "";
           format-plugged = "";
-          format-icons = ["" "" "" "" "" "" "" "" "" "" "" ""];
+          format-icons = [
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+          ];
           tooltip = true;
           tooltip-format = "{capacity}%";
         };
@@ -71,15 +115,44 @@
           tooltip-format = ''
             <big>{:%Y %B}</big>
             <tt><small>{calendar}</small></tt>'';
-          format-alt = ''
-            {:%d %m %Y}'';
-          format = ''
-            {:%H %M}'';
+          format-alt = ''{:%d %m %Y}'';
+          format = ''{:%H %M}'';
+        };
+        inhibitor = {
+          what = [
+            "idle"
+            "sleep"
+            "handle-lid-switch"
+          ];
+          format = ''{icon}'';
+          format-icons = {
+            activated = "";
+            deactivated = "";
+          };
         };
-
         tray = {
-          icon-size = 21;
-          spacing = 10;
+          icon-size = 10;
+          spacing = 5;
+        };
+        "custom/notification" = {
+          tooltip = false;
+          format = "{icon}";
+          format-icons = {
+            notification = " ";
+            none = " ";
+            dnd-notification = " ";
+            dnd-none = " ";
+            inhibited-notification = " ";
+            inhibited-none = " ";
+            dnd-inhibited-notification = " ";
+            dnd-inhibited-none = " ";
+          };
+          return-type = "json";
+          exec-if = "which swaync-client";
+          exec = "swaync-client -swb";
+          on-click = "swaync-client -t -sw";
+          on-click-right = "swaync-client -d -sw";
+          escape = true;
         };
       };
     };
diff --git a/hm/zsh/default.nix b/hm/zsh/default.nix
index 684493f..899bce5 100644
--- a/hm/zsh/default.nix
+++ b/hm/zsh/default.nix
@@ -2,6 +2,7 @@
   config,
   pkgs,
   self,
+  lib,
   ...
 }: {
   programs.zsh = {
@@ -12,7 +13,7 @@
     enableCompletion = true;
 
     autocd = true;
-    dotDir = ".config/zsh";
+    dotDir = "${config.xdg.configHome}/zsh";
 
     history = {
       path = "${config.xdg.stateHome}/zsh/zsh_history";
@@ -61,12 +62,10 @@
       addapache = "curl https://www.apache.org/licenses/LICENSE-2.0.txt > LICENSE";
     };
 
-    initExtraFirst =
-      builtins.readFile ./config/instant-prompt.zsh
-      + "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
-    # +
-    initExtra =
-      ''
+    initContent = lib.mkBefore (builtins.readFile ./config/instant-prompt.zsh
+      + "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"
+      + ''
+
         rm -rf ~/.mozilla/firefox/default/containers.json.backup
 
         export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh/
@@ -80,6 +79,6 @@
           source $ZSH/oh-my-zsh.sh
       ''
       + builtins.readFile ./config/p10k.zsh
-      + builtins.readFile ./config/functions.zsh;
+      + builtins.readFile ./config/functions.zsh);
   };
 }
diff --git a/hosts/hplappi.nix b/hosts/hplappi.nix
index d21e6c1..ef01626 100644
--- a/hosts/hplappi.nix
+++ b/hosts/hplappi.nix
@@ -1,5 +1,13 @@
-{config, ...}: {
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: {
   role.sils = "laptop";
+
+  environment.systemPackages = [pkgs.gnome-browser-connector];
+
   sils = {
     disks.enable = false;
     docker.enable = true;
diff --git a/hosts/thinklappi-bootstrap/default.nix b/hosts/thinklappi-bootstrap/default.nix
index 8fc94a7..3e1ed15 100644
--- a/hosts/thinklappi-bootstrap/default.nix
+++ b/hosts/thinklappi-bootstrap/default.nix
@@ -9,11 +9,12 @@
   ];
 
   hardware = {
-    opengl.enable = true;
+    graphics.enable = true;
     bluetooth.enable = true;
+  };
+  services = {
     pulseaudio.enable = false;
   };
-
   security = {
     rtkit.enable = true;
     pam.services.swaylock = {};
diff --git a/modules/hm/sils/default.nix b/modules/hm/sils/default.nix
index 1446d02..675500f 100644
--- a/modules/hm/sils/default.nix
+++ b/modules/hm/sils/default.nix
@@ -11,13 +11,19 @@
     ./git.nix
     ./hyfetch.nix
     ./hyprland.nix
+    ./iamb.nix
     ./jameica.nix
     ./kdeconnect.nix
     ./mail.nix
     ./nextcloud.nix
+    ./poweralertd
     ./sway.nix
+    ./swaync
     ./theming.nix
+    ./vscodium.nix
+    ./wofi
     ./yt-dlp.nix
     ./zathura.nix
+    ./zellij.nix
   ];
 }
diff --git a/modules/hm/sils/firefox/user-overrides.js b/modules/hm/sils/firefox/user-overrides.js
index f5ff8d6..331a506 100755
--- a/modules/hm/sils/firefox/user-overrides.js
+++ b/modules/hm/sils/firefox/user-overrides.js
@@ -3,7 +3,7 @@ user_pref("_user.js.parrot", "overrides section syntax error");
 //Fingerprinting resistance doesn't make sense in any browser other than Tor.
 //user_pref("privacy.window.maxInnerWidth", 1000);
 //user_pref("privacy.window.maxInnerHeight", 1900);
-user_pref("privacy.resistFingerprinting", true);
+user_pref("privacy.resistFingerprinting", false);
 user_pref("privacy.resistFingerprinting.letterboxing", false);
 
 /* override recipe: enable session restore ***/
@@ -17,6 +17,7 @@ user_pref("privacy.clearOnShutdown.formdata", false); // 2803 optional
 user_pref("privacy.cpd.history", false); // 2804 to match when you use Ctrl-Shift-Del
   // user_pref("privacy.cpd.cookies", false); // 2804 optional
   // user_pref("privacy.cpd.formdata", false); // 2804 optional
+user_pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", false); // 2812 FF136+
 user_pref("network.cookie.lifetimePolicy", 0);
 // I want to use Google Earth sometimes.
 user_pref("webgl.disabled", false);
diff --git a/modules/hm/sils/git.nix b/modules/hm/sils/git.nix
index 84a7d32..a17adfe 100644
--- a/modules/hm/sils/git.nix
+++ b/modules/hm/sils/git.nix
@@ -8,13 +8,48 @@
 in {
   options.sils.git.enable = lib.mkEnableOption "sils git config";
   config = lib.mkIf cfg.enable {
-    programs.git = {
-      enable = true;
-      package = pkgs.gitFull;
-      userName = "Silas Schöffel";
-      userEmail = "sils@sils.li";
+    programs = {
+      git = {
+        enable = true;
+        package = pkgs.gitFull;
+        settings = {
+          aliases = {
+            recommit = "commit --file=.git/COMMIT_EDITMSG --edit";
+          };
+          user = {
+            name = "Silas Schöffel";
+            email = "sils@sils.li";
+          };
+          signing = {
+            key = "467B7D129EA73AC9";
+            signByDefault = false;
+          };
+          core = {
+            autocrlf = "input";
+          };
+          safe = {
+            directory = "/etc/nixos";
+          };
+          push = {
+            autoSetupRemote = true;
+          };
+          init = {
+            defaultBranch = "main";
+          };
+          commit = {
+            verbose = true;
+          };
+          sendemail = {
+            smtpserver = "mail.foss-syndicate.org";
+            smtpuser = "sils@sils.li";
+            smtpencryption = "ssl";
+            smtpserverport = "465";
+          };
+        };
+      };
       delta = {
         enable = true;
+        enableGitIntegration = true;
         options = {
           decorations = {
             commit-decoration-style = "bold purple box ul";
@@ -25,36 +60,6 @@ in {
           whitespace-error-style = "22 reverse";
         };
       };
-      signing = {
-        key = "467B7D129EA73AC9";
-        signByDefault = true;
-      };
-      extraConfig = {
-        core = {
-          autocrlf = "input";
-        };
-        safe = {
-          directory = "/etc/nixos";
-        };
-        push = {
-          autoSetupRemote = true;
-        };
-        init = {
-          defaultBranch = "main";
-        };
-        commit = {
-          verbose = true;
-        };
-        sendemail = {
-          smtpserver = "mail.foss-syndicate.org";
-          smtpuser = "sils@sils.li";
-          smtpencryption = "ssl";
-          smtpserverport = "465";
-        };
-      };
-      aliases = {
-        recommit = "commit --file=.git/COMMIT_EDITMSG --edit";
-      };
     };
   };
 }
diff --git a/modules/hm/sils/hyfetch.nix b/modules/hm/sils/hyfetch.nix
index b40a37e..e664e0e 100644
--- a/modules/hm/sils/hyfetch.nix
+++ b/modules/hm/sils/hyfetch.nix
@@ -13,7 +13,7 @@ in {
     programs.hyfetch = {
       enable = true;
       settings = {
-        preset = "rainbow";
+        preset = "nonbinary";
         mode = "rgb";
         light_dark = "dark";
         lightness = 0.5;
@@ -22,9 +22,9 @@ in {
           custom_colors = [];
           fore_back = null;
         };
-        backend = "neofetch";
+        backend = "fastfetch";
         distro = null;
-        pride_month_shown = [];
+        pride_month_disable = true;
       };
     };
   };
diff --git a/modules/hm/sils/hyprland.nix b/modules/hm/sils/hyprland.nix
index 7cae6b1..b21aef2 100644
--- a/modules/hm/sils/hyprland.nix
+++ b/modules/hm/sils/hyprland.nix
@@ -31,6 +31,10 @@ in {
         # Source a file (multi-file configs)
         # source = ~/.config/hypr/myColors.conf
 
+        ecosystem = {
+          no_update_news = true;
+        };
+
         # Some default env vars.
         env = "XCURSOR_SIZE,24";
 
@@ -54,9 +58,9 @@ in {
         general = {
           # See https://wiki.hyprland.org/Configuring/Variables/ for more
 
-          gaps_in = "1";
-          gaps_out = "2";
-          border_size = "1";
+          gaps_in = "5";
+          gaps_out = "10";
+          border_size = "3";
           #"col.active_border" = "rgba(000000cc)";
           #"col.inactive_border" = "rgba(595959aa)";
 
@@ -66,24 +70,25 @@ in {
         decoration = {
           # See https://wiki.hyprland.org/Configuring/Variables/ for more
 
-          inactive_opacity = "1";
+          inactive_opacity = "0.8";
           active_opacity = "1";
-          rounding = "1";
+          rounding = "10";
           blur = {
-            enabled = false;
-            #size = "3";
-            #passes = "1";
-            #new_optimizations = "on";
+            enabled = true;
+            size = "3";
+            passes = "1";
+            new_optimizations = "on";
           };
 
-          # drop_shadow = "yes";
-          # shadow_range = "4";
-          # shadow_render_power = "3";
+          #drop_shadow = "yes";
+
+          #shadow_range = "4";
+          #shadow_render_power = "3";
           #"col.shadow" = "rgba(1a1a1aee)";
         };
 
         animations = {
-          enabled = "no";
+          enabled = "yes";
 
           # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
 
@@ -110,10 +115,9 @@ in {
         #  new_is_master = "true";
         #};
 
-        gestures = {
-          # See https://wiki.hyprland.org/Configuring/Variables/ for more
-          workspace_swipe = "off";
-        };
+        gesture = [
+          "3, horizontal, workspace"
+        ];
 
         # Example windowrule v1
         # windowrule = float, ^(kitty)$
@@ -131,7 +135,7 @@ in {
           "$mainMod, M, exit, "
           "$mainMod, E, exec, dolphin "
           "$mainMod, V, togglefloating, "
-          "$mainMod, R, exec, rofi -show drun"
+          "$mainMod, R, exec, wofi --show drun"
           "$mainMod, P, pseudo, " # dwindle
           "$mainMod, J, togglesplit, " # dwindle
           "$mainMod, L, exec, swaylock" # screenlock
@@ -146,16 +150,16 @@ in {
           "$mainMod, down, movefocus, d"
 
           # Switch workspaces with mainMod + [0-9]
-          "$mainMod, 1, focusworkspaceoncurrentmonitor, 1"
-          "$mainMod, 2, focusworkspaceoncurrentmonitor, 2"
-          "$mainMod, 3, focusworkspaceoncurrentmonitor, 3"
-          "$mainMod, 4, focusworkspaceoncurrentmonitor, 4"
-          "$mainMod, 5, focusworkspaceoncurrentmonitor, 5"
-          "$mainMod, 6, focusworkspaceoncurrentmonitor, 6"
-          "$mainMod, 7, focusworkspaceoncurrentmonitor, 7"
-          "$mainMod, 8, focusworkspaceoncurrentmonitor, 8"
-          "$mainMod, 9, focusworkspaceoncurrentmonitor, 9"
-          "$mainMod, 0, focusworkspaceoncurrentmonitor, 10"
+          "$mainMod, 1, workspace, 1"
+          "$mainMod, 2, workspace, 2"
+          "$mainMod, 3, workspace, 3"
+          "$mainMod, 4, workspace, 4"
+          "$mainMod, 5, workspace, 5"
+          "$mainMod, 6, workspace, 6"
+          "$mainMod, 7, workspace, 7"
+          "$mainMod, 8, workspace, 8"
+          "$mainMod, 9, workspace, 9"
+          "$mainMod, 0, workspace, 10"
 
           # Move active window to a workspace with mainMod + SHIFT + [0-9]
           "$mainMod SHIFT, 1, movetoworkspace, 1"
@@ -198,9 +202,7 @@ in {
           #"${pkgs.nwg-panel}/bin/nwg-panel"
           "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"
           #"${pkgs.waybar}/bin/waybar"
-          "${pkgs.mako}/bin/mako"
           "${pkgs.swaybg}/bin/swaybg -i ${self}/files/wallpaper.jpg"
-          "[workspace 1 silent] keepassxc"
         ];
       };
     };
diff --git a/modules/hm/sils/iamb.nix b/modules/hm/sils/iamb.nix
new file mode 100644
index 0000000..2c6932a
--- /dev/null
+++ b/modules/hm/sils/iamb.nix
@@ -0,0 +1,38 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.iamb;
+in {
+  options = {
+    sils.iamb.enable = lib.mkEnableOption "iamb, a matrix tui client";
+  };
+  config = lib.mkIf cfg.enable {
+    programs.iamb = {
+      enable = true;
+      settings = {
+        profiles = {
+          ljs = {
+            user_id = "@sils:linksjugend-solid.de";
+            url = "https://matrix.bak-it.de";
+          };
+          vhack = {
+            user_id = "@sils:vhack.eu";
+            url = "https://matrix.vhack.eu";
+          };
+        };
+        settings = {
+          notifications.enabled = true;
+          image_preview.protocol = {
+            type = "kitty";
+            size = {
+              height = 10;
+              width = 66;
+            };
+          };
+        };
+      };
+    };
+  };
+}
diff --git a/modules/hm/sils/poweralertd/default.nix b/modules/hm/sils/poweralertd/default.nix
new file mode 100644
index 0000000..15cfdc9
--- /dev/null
+++ b/modules/hm/sils/poweralertd/default.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.poweralertd;
+in {
+  options.sils.poweralertd.enable = lib.mkEnableOption "poweralertd";
+  config = lib.mkIf cfg.enable {
+    services.poweralertd = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/hm/sils/swaync/default.nix b/modules/hm/sils/swaync/default.nix
new file mode 100644
index 0000000..328888b
--- /dev/null
+++ b/modules/hm/sils/swaync/default.nix
@@ -0,0 +1,32 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.sils.swaync;
+in {
+  options.sils.swaync.enable = lib.mkEnableOption "swaync";
+  config = lib.mkIf cfg.enable {
+    services.swaync = {
+      enable = true;
+      settings = {
+        positionX = "right";
+        positionY = "top";
+        layer = "overlay";
+        control-center-layer = "top";
+        layer-shell = true;
+        cssPriority = "application";
+        control-center-margin-top = 0;
+        control-center-margin-bottom = 0;
+        control-center-margin-right = 0;
+        control-center-margin-left = 0;
+        notification-2fa-action = true;
+        notification-inline-replies = false;
+        notification-icon-size = 64;
+        notification-body-image-height = 100;
+        notification-body-image-width = 200;
+      };
+    };
+  };
+}
diff --git a/modules/hm/sils/theming.nix b/modules/hm/sils/theming.nix
index 958560d..9b7535c 100644
--- a/modules/hm/sils/theming.nix
+++ b/modules/hm/sils/theming.nix
@@ -19,6 +19,14 @@ in {
           accent = "mauve";
         };
       };
+      targets = {
+        waybar = {
+          enableCenterBackColors = false;
+          enableLeftBackColors = false;
+          enableRightBackColors = false;
+          font = "sansSerif";
+        };
+      };
     };
   };
 }
diff --git a/modules/hm/sils/vscodium.nix b/modules/hm/sils/vscodium.nix
new file mode 100644
index 0000000..ea048ed
--- /dev/null
+++ b/modules/hm/sils/vscodium.nix
@@ -0,0 +1,29 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.sils.vscodium;
+in {
+  options.sils.vscodium.enable = lib.mkEnableOption "vscodium editor";
+  config = lib.mkIf cfg.enable {
+    programs.vscode = {
+      enable = true;
+      package = pkgs.vscodium;
+      profiles.default.extensions = with pkgs.vscode-extensions; [
+        vscodevim.vim
+        ms-python.python
+        ms-python.debugpy
+        ms-python.pylint
+        ms-python.flake8
+        ms-python.mypy-type-checker
+        ms-python.black-formatter
+
+        jnoortheen.nix-ide
+        oops418.nix-env-picker
+        mkhl.direnv
+      ];
+    };
+  };
+}
diff --git a/modules/hm/sils/wofi/default.nix b/modules/hm/sils/wofi/default.nix
new file mode 100644
index 0000000..36f5916
--- /dev/null
+++ b/modules/hm/sils/wofi/default.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.wofi;
+in {
+  options.sils.wofi.enable = lib.mkEnableOption "wofi";
+  config = lib.mkIf cfg.enable {
+    programs.wofi = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/hm/sils/zellij.nix b/modules/hm/sils/zellij.nix
new file mode 100644
index 0000000..1038a0c
--- /dev/null
+++ b/modules/hm/sils/zellij.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.zellij;
+in {
+  options.sils.zellij.enable = lib.mkEnableOption "zellij";
+  config = lib.mkIf cfg.enable {
+    programs.zellij = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/nixos/sils/default.nix b/modules/nixos/sils/default.nix
index 01870c8..24de0b9 100644
--- a/modules/nixos/sils/default.nix
+++ b/modules/nixos/sils/default.nix
@@ -10,6 +10,7 @@
     ./firejail.nix
     ./font.nix
     ./fprintd.nix
+    ./gnome.nix
     ./graphics.nix
     ./hyprland.nix
     ./impermanence.nix
@@ -17,6 +18,7 @@
     ./networking.nix
     ./nix.nix
     ./pamconfig.nix
+    ./plasma.nix
     ./plymouth.nix
     ./printing.nix
     ./roles.nix
diff --git a/modules/nixos/sils/gnome.nix b/modules/nixos/sils/gnome.nix
new file mode 100644
index 0000000..7b798d9
--- /dev/null
+++ b/modules/nixos/sils/gnome.nix
@@ -0,0 +1,19 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.gnome;
+in {
+  options.sils.gnome.enable = lib.mkEnableOption "The Gnome DE";
+  config = lib.mkIf cfg.enable {
+    services = {
+      xserver.enable = true;
+      displayManager.gdm.enable = true;
+      desktopManager.gnome.enable = true;
+      tlp.enable = lib.mkForce false;
+      greetd.enable = lib.mkForce false;
+      gnome.gnome-keyring.enable = lib.mkForce false;
+    };
+  };
+}
diff --git a/modules/nixos/sils/networking.nix b/modules/nixos/sils/networking.nix
index fed09f7..4f55f49 100644
--- a/modules/nixos/sils/networking.nix
+++ b/modules/nixos/sils/networking.nix
@@ -1,6 +1,6 @@
 {
   config,
-  self,
+  pkgs,
   lib,
   ...
 }: let
@@ -11,7 +11,12 @@ in {
     networking = {
       enableIPv6 = false;
       #useDHCP = true;
-      networkmanager.enable = true;
+      networkmanager = {
+        enable = true;
+        plugins = with pkgs; [
+          networkmanager-openvpn
+        ];
+      };
       #nameservers = ["2620:fe::fe" "2620:fe::9" "9.9.9.9" "149.112.112.112"];
       #wireless = {
       #  enable = false; # TODO: Reenable
diff --git a/modules/nixos/sils/nix.nix b/modules/nixos/sils/nix.nix
index c23fdce..9d73fcd 100644
--- a/modules/nixos/sils/nix.nix
+++ b/modules/nixos/sils/nix.nix
@@ -14,8 +14,8 @@ in {
   config = {
     nix = {
       registry = {
-        nixpkgs.flake = nixpkgs;
-        n.flake = nixpkgs;
+        nixpkgs.flake = self.inputs.nixpkgs;
+        n.flake = self.inputs.nixpkgs;
         self.flake = self;
         s.flake = self;
       };
diff --git a/modules/nixos/sils/plasma.nix b/modules/nixos/sils/plasma.nix
new file mode 100644
index 0000000..f196447
--- /dev/null
+++ b/modules/nixos/sils/plasma.nix
@@ -0,0 +1,29 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.sils.plasma;
+in {
+  options.sils.plasma.enable = lib.mkEnableOption "KDE Plasma";
+  config = lib.mkIf cfg.enable {
+    services = {
+      greetd.enable = lib.mkForce false;
+      tlp.enable = lib.mkForce false;
+      displayManager.sddm = {
+        enable = true;
+        settings.General.DisplayServer = "wayland";
+        wayland.enable = true;
+      };
+      desktopManager.plasma6 = {
+        enable = true;
+      };
+    };
+    environment.plasma6.excludePackages = with pkgs.kdePackages; [
+      kwallet
+      kwallet-pam
+      kwalletmanager
+    ];
+  };
+}
diff --git a/modules/nixos/sils/roles.nix b/modules/nixos/sils/roles.nix
index 346149c..e4a2c82 100644
--- a/modules/nixos/sils/roles.nix
+++ b/modules/nixos/sils/roles.nix
@@ -13,6 +13,7 @@ in {
       bluetooth.enable = lib.mkDefault true;
       bootloader = lib.mkDefault "lanzaboote";
       disks.enable = lib.mkDefault true;
+      gnome.enable = lib.mkDefault true;
       graphics.enable = lib.mkDefault true;
       environment.enable = lib.mkDefault true;
       firejail.enable = false;
@@ -22,6 +23,7 @@ in {
       networking.enable = lib.mkDefault true;
       nix-config.enable = lib.mkDefault true;
       pamconfig.enable = lib.mkDefault true;
+      plasma.enable = lib.mkDefault false;
       plymouth.enable = lib.mkDefault true;
       printing.enable = lib.mkDefault true;
       sound.enable = lib.mkDefault true;
diff --git a/modules/nixos/sils/theming/default.nix b/modules/nixos/sils/theming/default.nix
index e8cf7bf..2d5d2fd 100644
--- a/modules/nixos/sils/theming/default.nix
+++ b/modules/nixos/sils/theming/default.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  pkgs,
   ...
 }: let
   cfg = config.sils.theming;
@@ -9,7 +10,7 @@ in {
   config = lib.mkIf cfg.enable {
     stylix = {
       enable = true;
-      base16Scheme = ./tokyo-night-dark.yaml;
+      base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml";
       image = ../../../../files/wallpaper.jpg;
       polarity = "dark";
     };
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..7ff6c7a
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,16 @@
+# My Nix(Os) Configuration
+
+This repository hosts my full NixOs Configuration.
+It lacks certain features I'd like to add, but as I'm really bad at staying
+focused I'll probably "finish" this someday in the not so foreseeable future.
+
+
+## ToDos
+
+- [] Documentation
+    - [] How to add Printers (very important!)
+- [] Switch back to declarative Wifi
+- [] Automate Installation 
+    - [] Make adding new Hosts interactive
+    - [] Build batteries included ISO
+- [] Switch away from Hyprland - just to anything else
diff --git a/result-man b/result-man
new file mode 120000
index 0000000..6bd4f75
--- /dev/null
+++ b/result-man
@@ -0,0 +1 @@
+/nix/store/rw3a44jhk6jm0742yh56kpcl7f9kv4cb-libnotify-0.8.6-man
\ No newline at end of file
diff --git a/sys/services/flatpak/default.nix b/sys/services/flatpak/default.nix
index 47f50b8..0cc6108 100644
--- a/sys/services/flatpak/default.nix
+++ b/sys/services/flatpak/default.nix
@@ -4,8 +4,8 @@
     device = "/srv/flatpak";
     options = ["bind"];
   };
-  #xdg.portal = {
-  #   enable = true;
-  #    extraPortals = [pkgs.xdg-desktop-portal-gtk];
-  #  };
+  xdg.portal = {
+    enable = true;
+    extraPortals = [pkgs.xdg-desktop-portal-gtk];
+  };
 }
diff --git a/sys/services/greetd/default.nix b/sys/services/greetd/default.nix
index 9b9d5f6..f94828f 100644
--- a/sys/services/greetd/default.nix
+++ b/sys/services/greetd/default.nix
@@ -4,10 +4,10 @@
     restart = true;
     settings = {
       default_session = {
-        command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd Hyprland";
+        command = "${pkgs.tuigreet}/bin/tuigreet --cmd Hyprland";
       };
       sway_session = {
-        command = "${pkgs.greetd.tuigreet}/bin/tuigreetswayway";
+        command = "${pkgs.tuigreet}/bin/tuigreetswayway";
       };
     };
   };
diff --git a/sys/services/logind/default.nix b/sys/services/logind/default.nix
index a3dd040..b883bcb 100644
--- a/sys/services/logind/default.nix
+++ b/sys/services/logind/default.nix
@@ -1,10 +1,8 @@
 {...}: {
-  services.logind = {
-    lidSwitch = "suspend-then-hibernate";
-    extraConfig = ''
-      IdleAction=ignore
-      HandlePowerKey=hibernate
-      HandlePowerKeyLongPress=poweroff
-    '';
+  services.logind.settings.Login = {
+    HandleLidSwitch = "suspend-then-hibernate";
+    IdleAction = "ignore";
+    HandlePowerKey = "hibernate";
+    HandlePowerKeyLongPress = "poweroff";
   };
 }
diff --git a/sys/users/default.nix b/sys/users/default.nix
index a6f8877..b1ff018 100644
--- a/sys/users/default.nix
+++ b/sys/users/default.nix
@@ -11,8 +11,37 @@
       home = "/home/sils";
       shell = pkgs.zsh;
       initialHashedPassword = "$y$j9T$r4578Hy9jZHmUH9uSr9OI.$SuR2anRq7EJ1gUJ6vi9qYmZrhLP.o3O5643IG6r5Ap/";
-      extraGroups = ["wheel" "networkmanager" "video" "libvirtd"];
+      extraGroups = [
+        "wheel"
+        "networkmanager"
+        "video"
+        "libvirtd"
+        "realtime"
+      ];
     };
   };
+  services.udev.extraRules = ''
+    KERNEL=="cpu_dma_latency", GROUP="realtime"
+  '';
+  security.pam.loginLimits = [
+    {
+      domain = "@realtime";
+      type = "-";
+      item = "rtprio";
+      value = 98;
+    }
+    {
+      domain = "@realtime";
+      type = "-";
+      item = "memlock";
+      value = "unlimited";
+    }
+    {
+      domain = "@realtime";
+      type = "-";
+      item = "nice";
+      value = -11;
+    }
+  ];
   programs.zsh.enable = true;
 }