Compare commits

56 Commits

Author SHA1 Message Date
9b7c46d4a3 fixed the matrix thingy 2026-10-07 20:18:15 +01:00
0397b9647b commet doesnt work for verification :( 2026-10-04 20:23:30 +01:00
342619eb68 fixed my matrix encryption stuff and replaced cinny with commet 2026-10-04 20:08:14 +01:00
168e7fc389 added cinny to talk on matrix 2026-10-04 15:15:17 +01:00
7b6cc9ec4a added matrix recovery key because where else am i gonna put it 2026-10-03 08:20:20 +01:00
9f9e3607e1 tried to add bs manager but there are no mods for 1.44.2 :( 2026-10-03 08:20:09 +01:00
b708a82046 updated quickshell 2026-09-26 17:37:44 +01:00
a3b6475c0c updated gotify desktop 2026-09-26 17:25:40 +01:00
35fbb13b3d permit root login for ssh 2026-09-26 17:25:23 +01:00
5e9fb94bcb removed useless school module 2026-09-25 21:13:30 +01:00
ff34c0d3c1 removed deprecated waybar to stop eval warning 2026-09-25 21:01:06 +01:00
38ffd22819 fixed gotify desktop finally 2026-09-25 21:00:34 +01:00
8b33848660 adding sops to fix gotify-desktop after long last 2026-09-25 20:48:13 +01:00
e3fc39cf43 fixed davinci for hopefully the last time 2026-09-25 20:06:36 +01:00
9a2161d8e2 added some missing groups and fixed davinci (i can edit the damn video) 2026-09-25 15:45:13 +01:00
75de4af64b some bullshit to make hyprland work that didnt work, rolling back for now 2026-09-24 22:00:49 +01:00
7208f789e9 fixed new mouse behavior 2026-09-19 14:18:17 +01:00
c77103a09a updated hyprland 2026-09-19 13:38:09 +01:00
ddc2abab52 updated hyprland for wshowkeys 2026-09-18 16:55:06 +01:00
8e8061a311 updated hyprland 2026-09-17 17:26:24 +01:00
d5f3518ef6 deprecated and removed i3 2026-09-17 17:14:10 +01:00
01456a3d4d deprecated waybar 2026-09-17 17:14:04 +01:00
3f606df726 updated flake 2026-09-17 17:13:59 +01:00
2f125855f4 changed to alt in i3 for a xephyr experiment 2026-09-17 17:07:39 +01:00
a9cd267bb9 added g++ to distcc to inhibit warnings 2026-09-17 17:07:28 +01:00
c16c8e4726 added teams for school 2026-09-07 13:51:55 +01:00
a7b6f63509 distcc feature added to hackstation 2026-09-05 19:18:47 +01:00
a2959bda31 added unstablePkgs module option 2026-09-05 19:18:29 +01:00
406cfcdcca enabled networkManager applet when on tablet to log into school wifi 2026-09-04 08:13:22 +01:00
daf346127a changed enablePlugins option to universal tabletSupport option because it makes more sense 2026-09-04 08:13:05 +01:00
4caac02796 updated hyprland and quickshell for new touchscreen features 2026-09-02 19:24:52 +01:00
83b3cee120 added wvkbd according to tablet mode toggle 2026-08-31 19:55:28 +01:00
c98e633178 re-added the repo-checker thingy 2026-08-27 14:23:02 +01:00
8dc79f60ee formatted zsh and replaced manual flakeLocation with universal 2026-08-27 14:21:49 +01:00
03f1d74812 cleaned up core modules and added universal flakeLocation argument 2026-08-27 14:21:11 +01:00
06f2e248a8 updated hyprland and quickshell for tablet mode 2026-08-26 19:36:50 +01:00
b5c4879bb4 updated quickshell for tablet mode 2026-08-26 19:05:58 +01:00
4ba613b95f added a thinkpad fan controller module (because that isnt inbuilt???) 2026-08-26 18:43:18 +01:00
ba688432e6 moved the ssh indicator to the leftmost spot 2026-08-26 17:54:49 +01:00
676fdbea0e made all ssh shells show hostname instead 2026-08-26 14:24:30 +01:00
85d4610988 plugins loading in hyprland according to toggle 2026-08-25 20:19:18 +01:00
1d28a7b7ef fixed my awful nix syntax errors 2026-08-25 19:24:16 +01:00
036d16cf05 removed non-functional hyprland module in favour of a symlinked file 2026-08-25 19:16:24 +01:00
ac7a0adbf2 updated hyprland for hyprgrass null safety and installed prismlauncher 2026-08-24 21:12:54 +01:00
65dcf59eeb fixed hyprgrass install and removed hyprspace (incompatible with hyprland 0.56) 2026-08-24 21:12:12 +01:00
9c28a8b6db replaced any-nix-shell with newer nix-your-shell 2026-08-24 14:19:06 +01:00
6a3839a38e altered woomer to remove xorg, waiting for pull upstream 2026-08-24 13:53:28 +01:00
54ee803c9c removed weylus feature, moved back to main for wshowkeys, and updated flake 2026-08-24 13:41:39 +01:00
38bc8a1c20 updated hyprland and quickshell 2026-08-24 13:33:42 +01:00
9748ccaa0c made togglable plugins option for mobile03 2026-08-24 13:21:22 +01:00
4476a7f809 added networkmanager group to user01 2026-08-23 10:16:30 +01:00
7be136dfe8 updated hyprland for hopefully the last time 2026-08-23 10:13:39 +01:00
eeb251585d updated hyprland again because I forgot something 2026-08-23 09:57:27 +01:00
f6321ffd93 updated hyprland to add support for mobile03 2026-08-23 09:55:24 +01:00
48606f4977 added mobile03 (just a copy of mobile02) 2026-08-22 20:10:56 +01:00
88c38b76b8 added user to plugdev so they can use networkmanager 2026-08-22 20:10:40 +01:00
25 changed files with 544 additions and 395 deletions

431
flake.lock generated
View File

@@ -24,11 +24,11 @@
]
},
"locked": {
"lastModified": 1784368054,
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
"lastModified": 1789630322,
"narHash": "sha256-jiUl3+k9K+BASO4hvKFhlCMUpHPPoy2q5uZMl3pzOF0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
"rev": "f31c47a1b9d300847d8fc3108ad959448103dfc1",
"type": "github"
},
"original": {
@@ -91,11 +91,11 @@
"nixpkgs-pinned": "nixpkgs-pinned"
},
"locked": {
"lastModified": 1782405315,
"narHash": "sha256-pZKG7KOr1NPtWwzfEnRZvAi7Uvndd4LiC0OVHjf5IPE=",
"lastModified": 1790349619,
"narHash": "sha256-cU4QbXhq5LKLUdrlDEVLIm/onZma++w0esx64Hrsi3U=",
"ref": "refs/heads/main",
"rev": "c9859df9bd3781c63d838a1a90d22129885a910b",
"revCount": 5,
"rev": "4a5b823e81a15c36834c7c2a9f0e18b6added29e",
"revCount": 7,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/nixos.davinci"
},
@@ -125,11 +125,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"lastModified": 1788450739,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github"
},
"original": {
@@ -194,25 +194,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_7"
},
"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": "systems_9"
"systems": "systems_8"
},
"locked": {
"lastModified": 1731533236,
@@ -236,11 +218,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1783347374,
"narHash": "sha256-kdizmVOka0IACJaTeEgftxCeGxdwuT0ba1/9QPGDWgw=",
"lastModified": 1790439891,
"narHash": "sha256-muUR0v2/4NqyvRjIcya890SwlX3qVukepZV7CnmtgFs=",
"owner": "voidarclabs",
"repo": "gotify-desktop",
"rev": "b4f62aab117238ce72c19809d19fcfee2b67f5d2",
"rev": "f8fd3ca612611ae648bf7355399a3c8374488c25",
"type": "github"
},
"original": {
@@ -311,11 +293,11 @@
]
},
"locked": {
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"lastModified": 1786464181,
"narHash": "sha256-2alOMkLjXANh7unkZnYnCF2K2rApZaOLMoQ3o+VX2CY=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"rev": "e4ed7c08123df5af460a0a70961380cbfb872f76",
"type": "github"
},
"original": {
@@ -343,11 +325,11 @@
]
},
"locked": {
"lastModified": 1782566056,
"narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=",
"lastModified": 1786464367,
"narHash": "sha256-k58p4wbzIXWyRWrW84pP8tD+iaZSSYiiM+fr0Auk4oU=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8",
"rev": "7c895c44e3ca6d28ed68ddd80ec02b02b925e7fc",
"type": "github"
},
"original": {
@@ -356,21 +338,49 @@
"type": "github"
}
},
"hyprgrass": {
"inputs": {
"hyprland": [
"hyprland",
"hyprland"
],
"nixpkgs": [
"hyprgrass",
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1789324148,
"narHash": "sha256-hUJXbEdceQ+cn8RIrD7KDUdc4clFiXDL/z9hHHtGAJM=",
"owner": "horriblename",
"repo": "hyprgrass",
"rev": "f524680fad86d63018dec3c35be61fe55bde2dcd",
"type": "github"
},
"original": {
"owner": "horriblename",
"repo": "hyprgrass",
"type": "github"
}
},
"hyprland": {
"inputs": {
"hyprland": "hyprland_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs": [
"nixpkgs"
],
"otter-launcher": "otter-launcher",
"woomer": "woomer",
"wrappers": "wrappers",
"wshowkeys": "wshowkeys"
},
"locked": {
"lastModified": 1787132992,
"narHash": "sha256-7Gj1O1jIT2UM/7/yf5A31Sz7LtawsbUwTHtroLbymVg=",
"lastModified": 1790264545,
"narHash": "sha256-ombw2VPUqYkLlAvX9FrTS07WL21IsjB4n+CsHwUjH00=",
"ref": "refs/heads/main",
"rev": "52e482df12d54f1a155671fdd20e660a6feecb13",
"revCount": 56,
"rev": "22a5e42c7c8c5437253f9cbd3df5b449fb6d7c8e",
"revCount": 86,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr"
},
@@ -419,11 +429,11 @@
]
},
"locked": {
"lastModified": 1784196523,
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
"lastModified": 1786464504,
"narHash": "sha256-7sHwM86KILQyHDHDuE2SDBlQ2jvZ0EW3hY7sW009/cg=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
"rev": "4c30cf3097ea963c0e250749ee0c59f8b08816d6",
"type": "github"
},
"original": {
@@ -446,11 +456,11 @@
]
},
"locked": {
"lastModified": 1772460177,
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
"lastModified": 1789475883,
"narHash": "sha256-YRFLrPESYitsDYqQKquOFg8OWNI7tHKwPnTrTZWXxWY=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
"rev": "cc9a8fd253bdc00f48a967ecf4828211ef08751f",
"type": "github"
},
"original": {
@@ -476,11 +486,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1785237127,
"narHash": "sha256-sMSWRj9zZ3O4Q1Bk8mKkdXsTb3zpXRESlrzWmQXmW54=",
"lastModified": 1789814244,
"narHash": "sha256-X8GK0kUU8WAPD4072wafvbcRRtYWiFCSA5Iyz9mr6KU=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "ff24e1755fd308ee70367d63168a12feb05d1fc2",
"rev": "5fbb2a7acce2d6f155d18cf5b590fc553a8e7abc",
"type": "github"
},
"original": {
@@ -508,11 +518,11 @@
]
},
"locked": {
"lastModified": 1777320127,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
"lastModified": 1786464129,
"narHash": "sha256-339AkTlpMYSIvFuG0rnR+8Yg4/AZKeJalshJavlnKfg=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
"rev": "9508458be316a0d70d37ebed1ab725ccd10411ff",
"type": "github"
},
"original": {
@@ -567,11 +577,11 @@
]
},
"locked": {
"lastModified": 1782554491,
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=",
"lastModified": 1785930473,
"narHash": "sha256-DitTu625BhEYpZjtjxtGpjrEJwPwW+X/+jJvhSZNSJM=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35",
"rev": "af515b69dfbe366dc7873aa1475cb2f4db3ebad7",
"type": "github"
},
"original": {
@@ -594,11 +604,11 @@
]
},
"locked": {
"lastModified": 1784323413,
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
"lastModified": 1788619883,
"narHash": "sha256-dpmeFq5vPvSOsi30ZchOLjltAZEuVBucDvGKs3IZYf4=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "5f03477ab3a005ff27c527486f551883535aea2f",
"rev": "a21e87b878e72ee5dfd375899e8b2ad0d0c4c0e1",
"type": "github"
},
"original": {
@@ -621,11 +631,11 @@
]
},
"locked": {
"lastModified": 1777159683,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
"lastModified": 1786464033,
"narHash": "sha256-QM8Qe4/L8lpdVN4bgwahmi+jyyc4fisseDMe4afcDxA=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
"rev": "62e62c1ca23da17612c6890d4ad2064f575643db",
"type": "github"
},
"original": {
@@ -653,11 +663,11 @@
]
},
"locked": {
"lastModified": 1778410714,
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
"lastModified": 1786464294,
"narHash": "sha256-ZQsZ2WvBdkboCIyh8LStDPdAIARmxzn0XMNxxoOhjPE=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
"rev": "4ce7cd6b6128c1ac41caf23c58a30a26b327f9dd",
"type": "github"
},
"original": {
@@ -668,11 +678,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1784254960,
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"lastModified": 1788467110,
"narHash": "sha256-ljEMTXP/rH0tOvDzc9gzwww6KcHRPRnEHzd9lK48V7s=",
"owner": "vic",
"repo": "import-tree",
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"rev": "eb1b52eaecc57f7c136d07ae8a93e724dfecac46",
"type": "github"
},
"original": {
@@ -683,11 +693,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1782233679,
"narHash": "sha256-QyuGP5+QOtmXpy4i2X4DhBVBaySBdDKQEhqKcphcp34=",
"lastModified": 1790113641,
"narHash": "sha256-D2aaQetafdpHxbwA4ldAxs51UX0b11pXL+JL/5L8VrM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "667d5cf1c59585031d743c78b394b0a647537c35",
"rev": "1bc55b9def8165e82073919945c3239903fe4dc2",
"type": "github"
},
"original": {
@@ -699,11 +709,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
"lastModified": 1788057806,
"narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
"rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c",
"type": "github"
},
"original": {
@@ -758,39 +768,23 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1789546076,
"narHash": "sha256-zVxLZiSnmaaPLwnhj7pwmqe3axBg/C6nG5JZsJMh2g4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b1b875982b17dabde9b4a37f3e229e74913e6db3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1786719841,
"narHash": "sha256-QcpQOT0NQEFkI77t+YXPZqDJc35iIodG7zinieOwFUg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8be7bd0c83f12e2e3bbba07c9044d6fed9e66f7f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
@@ -808,11 +802,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1784356753,
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
"lastModified": 1789684949,
"narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
"rev": "e554fab72f81915600f3f449b786fd9af40439a5",
"type": "github"
},
"original": {
@@ -823,22 +817,6 @@
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1785090369,
"narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "624af665418d3c65d544145b4d34ad696439570e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1782175435,
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
@@ -854,13 +832,13 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1773734432,
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=",
"lastModified": 1787498568,
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cda48547b432e8d3b18b4180ba07473762ec8558",
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
"type": "github"
},
"original": {
@@ -870,13 +848,13 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_5": {
"locked": {
"lastModified": 1787042014,
"narHash": "sha256-lgnV/xeEatfEnPZG0RrXS0fhcr63p3tsVvL1GdaVkJQ=",
"lastModified": 1789542786,
"narHash": "sha256-ajQuqcxnj6RYnwCjA/9FTCnrdR2+BDzstE8UembXf60=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c69ae8fb8faeb3472fd11234ba55a70ac3601f9b",
"rev": "4c7870105e7f1fdf9c48688c8d7efc21abf0688a",
"type": "github"
},
"original": {
@@ -886,7 +864,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_6": {
"locked": {
"lastModified": 1787070829,
"narHash": "sha256-vXNVDVtvfiQuXthP0NHPFdNvvMTkGpx0UP8oddIWbNk=",
@@ -902,7 +880,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_7": {
"locked": {
"lastModified": 1786719841,
"narHash": "sha256-QcpQOT0NQEFkI77t+YXPZqDJc35iIodG7zinieOwFUg=",
@@ -918,7 +896,7 @@
"type": "github"
}
},
"nixpkgs_9": {
"nixpkgs_8": {
"locked": {
"lastModified": 1783224372,
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
@@ -934,9 +912,25 @@
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1788431191,
"narHash": "sha256-MFClkboDeW56feBCAeAV3Z3J2quGSZFlAOXQ4JjIlIA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b9402b959a2276982ddd5ad3652a38b97f7c40b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim": {
"inputs": {
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_6",
"wrappers": "wrappers_2"
},
"locked": {
@@ -985,11 +979,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1783875707,
"narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=",
"lastModified": 1789817313,
"narHash": "sha256-ylVsprB4GxLJMvYQUFtMOz8x8D1Mp7FPudbn89wCasU=",
"owner": "kuokuo123",
"repo": "otter-launcher",
"rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6",
"rev": "d764523df810d2b601222009393e886495100fb8",
"type": "github"
},
"original": {
@@ -1008,11 +1002,11 @@
"systems": "systems_6"
},
"locked": {
"lastModified": 1783875707,
"narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=",
"lastModified": 1789296134,
"narHash": "sha256-PDe/T14bM7mXQM3gwwdgMHKW8Nsfpbqto9FxsL85Jdc=",
"owner": "kuokuo123",
"repo": "otter-launcher",
"rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6",
"rev": "9d82c9770f0cad7006e3930a48343a59105c55e6",
"type": "github"
},
"original": {
@@ -1031,11 +1025,11 @@
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"lastModified": 1789514889,
"narHash": "sha256-PFD1nxptCXJyJoiYO1gf/5Vv43yqGpHtMC6LUhl9/pQ=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"rev": "59f4ca0d063a1a3ec722c88b51a33004862e5379",
"type": "github"
},
"original": {
@@ -1047,11 +1041,11 @@
"quickshell": {
"flake": false,
"locked": {
"lastModified": 1787152417,
"narHash": "sha256-VR3CdkZ871jOtwzyhwau9LH+YjRE2By4vSk8DxD+44I=",
"lastModified": 1790440634,
"narHash": "sha256-5kU5Ryam1gIyt7mfDqtHYk+bUYmuDh00HpeUGzZqz0k=",
"ref": "refs/heads/main",
"rev": "96d734d0672da5e5fd851ba51a30d8cb3fd61c68",
"revCount": 82,
"rev": "297f3fe688c8039262796e8b56c975d9398c2a12",
"revCount": 93,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/quickshell"
},
@@ -1065,53 +1059,57 @@
"davinci": "davinci",
"flake-parts": "flake-parts",
"gotify-desktop": "gotify-desktop",
"hyprgrass": "hyprgrass",
"hyprland": "hyprland",
"import-tree": "import-tree",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable",
"nvim": "nvim",
"omnisearch": "omnisearch",
"otter-launcher": "otter-launcher_2",
"quickshell": "quickshell",
"sls-steam": "sls-steam",
"weylus": "weylus",
"sops-nix": "sops-nix",
"woomer": "woomer_2",
"wrappers": "wrappers_3",
"wshowkeys": "wshowkeys_2"
}
},
"rust-overlay": {
"sls-steam": {
"inputs": {
"nixpkgs": "nixpkgs_10"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1784438913,
"narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "afacd6819d3765a05814ee8e3de74c77d42ac799",
"lastModified": 1788435466,
"narHash": "sha256-A6izbjMpkQpQxQDFHx5SXw5/1gwTTzO0Vz+1sjPTGdw=",
"owner": "AceSLS",
"repo": "SLSsteam",
"rev": "71021ad32e47ad4382717f63c53d2d06d44be3bd",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"owner": "AceSLS",
"repo": "SLSsteam",
"type": "github"
}
},
"sls-steam": {
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_9"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1786818912,
"narHash": "sha256-GFRGB8n84MuixVcyKnLRfGKO0YajxOjiEH/a5lixg1Q=",
"owner": "AceSLS",
"repo": "SLSsteam",
"rev": "01a3b1ed08bc8f33fc25ee12d2b6e191a9963b38",
"lastModified": 1790247521,
"narHash": "sha256-TNfgoHsqsYYvaJImlWctfRkh4PseTagzegU1Dgdbehw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "2bd00bd9bb35fe6d114888c8f1c2e946c541dd8f",
"type": "github"
},
"original": {
"owner": "AceSLS",
"repo": "SLSsteam",
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
@@ -1235,21 +1233,6 @@
"type": "github"
}
},
"systems_9": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
@@ -1268,32 +1251,10 @@
"type": "github"
}
},
"weylus": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1784471251,
"narHash": "sha256-07//RRO1xhgR4lKyq460+iOEDHUw21rJRi59fMUhLfM=",
"owner": "voidarclabs",
"repo": "WeylusCommunityEdition",
"rev": "bcf34c2a2c9d3cbac00ca0d3e6ede5b3bbc6a18c",
"type": "github"
},
"original": {
"owner": "voidarclabs",
"repo": "WeylusCommunityEdition",
"type": "github"
}
},
"woomer": {
"inputs": {
"crane": "crane",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_3",
"systems": "systems_4"
},
"locked": {
@@ -1316,32 +1277,32 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_8"
"systems": "systems_7"
},
"locked": {
"lastModified": 1782685056,
"narHash": "sha256-WJasTKjf1hcxdCc+jKL3dU5RIL2zdYJ/OBFTmIUbuXc=",
"owner": "coffeeispower",
"lastModified": 1787575546,
"narHash": "sha256-IHHEp8Hv4p+Cm+u4cmQnpRAUSeGaCAEp07uFRRzEgjk=",
"owner": "voidarclabs",
"repo": "woomer",
"rev": "a7a0b288f70b98d168eaa0e8714816d3583c33b1",
"rev": "ca331daf3bda84e9079e629a69d84920a917ff4f",
"type": "github"
},
"original": {
"owner": "coffeeispower",
"owner": "voidarclabs",
"repo": "woomer",
"type": "github"
}
},
"wrappers": {
"inputs": {
"nixpkgs": "nixpkgs_5"
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1785177581,
"narHash": "sha256-9Z4l080DSrHMxoQTZTpVsML2h6JDuB9lDwHPsLd9BrQ=",
"lastModified": 1789546006,
"narHash": "sha256-hv8Y2AcOGuCoI/5fVjPZzCAOygTbL9wvvY9HKXvvLEk=",
"owner": "lassulus",
"repo": "wrappers",
"rev": "f57bc81aa9669871343341b13aa175c8927b6a74",
"rev": "e6676c0f59edd80dc1afb6a00047f5578095e4cb",
"type": "github"
},
"original": {
@@ -1352,7 +1313,7 @@
},
"wrappers_2": {
"inputs": {
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1786998037,
@@ -1370,14 +1331,14 @@
},
"wrappers_3": {
"inputs": {
"nixpkgs": "nixpkgs_11"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1786998037,
"narHash": "sha256-QJ8QmuqmiOiHCT0HidqwlRpejNfCVcizLmLtzRWHWeQ=",
"lastModified": 1788981141,
"narHash": "sha256-7xWS16u13YGlRNKWaAPzRbEyh4OLOXJe31k7h4AnXNU=",
"owner": "BirdeeHub",
"repo": "nix-wrapper-modules",
"rev": "780954265c11444ed0c9e164115360f4f5d24d0b",
"rev": "1db3c116a6aa61823f8d8f3c47c306846428fc54",
"type": "github"
},
"original": {
@@ -1410,19 +1371,19 @@
},
"wshowkeys_2": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_12"
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1781708685,
"narHash": "sha256-NH5b736WoI9LodJKPlonO1X+Lxg8URMLLRkT5to61Zg=",
"owner": "voidarclabs",
"lastModified": 1785224811,
"narHash": "sha256-8upkB3179A8wP5Hph0EanE0VuIxe7VsmsqzcRaOq5y0=",
"owner": "DreamMaoMao",
"repo": "wshowkeys",
"rev": "47dfb7a0237acbf847ca28cbb88000b33929f50a",
"rev": "35d70762ab9af4ea301853e79b3b925d5fe9e920",
"type": "github"
},
"original": {
"owner": "voidarclabs",
"owner": "DreamMaoMao",
"repo": "wshowkeys",
"type": "github"
}
@@ -1461,11 +1422,11 @@
]
},
"locked": {
"lastModified": 1784371182,
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
"lastModified": 1788025068,
"narHash": "sha256-TBqronrrc/F2Ry/E37d/1TLldDLJDFNSwvJjgk+cXzU=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
"rev": "ba31964ee42b56bcb0d3b78a64ead5d8a1c3c6f6",
"type": "github"
},
"original": {

View File

@@ -4,11 +4,17 @@
inputs = {
# System
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Apps
nvim.url = "git+https://git.voidarc.co.uk/voidarc/nvim";
hyprland = {
url = "git+https://git.voidarc.co.uk/voidarc/hypr";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprgrass = {
url = "github:horriblename/hyprgrass";
inputs.hyprland.follows = "hyprland/hyprland";
};
otter-launcher = {
url = "github:kuokuo123/otter-launcher";
@@ -29,12 +35,14 @@
inputs.nixpkgs.follows = "nixpkgs";
};
woomer = {
url = "github:coffeeispower/woomer";
url = "github:voidarclabs/woomer";
inputs.nixpkgs.follows = "nixpkgs";
};
wshowkeys.url = "github:voidarclabs/wshowkeys";
weylus = {
url = "github:voidarclabs/WeylusCommunityEdition";
wshowkeys.url = "github:DreamMaoMao/wshowkeys";
# Secrets and stuff
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};

View File

@@ -3,11 +3,16 @@
moduleWithSystem,
...
}: {
flake.nixosModules.gaming = moduleWithSystem ({...}: let
flake.nixosModules.gaming = moduleWithSystem ({pkgs, unstablePkgs, ...}: let
modules = with self.nixosModules; [
steam
];
in {
imports = modules;
environment.systemPackages = with pkgs; [
prismlauncher
] ++ (with unstablePkgs; [
bs-manager
]);
});
}

View File

@@ -0,0 +1,27 @@
{moduleWithSystem, ...}: {
flake.nixosModules.distcc = moduleWithSystem ({unstablePkgs, ...}: {
services.distccd = {
enable = true;
allowedClients = ["192.168.1.0/24"];
};
systemd.services.distccd = {
serviceConfig = {
Environment = [
"\"PATH=/run/wrappers/bin:/run/current-system/sw/bin:/usr/bin:/bin\""
"DISTCCD_PATH=/run/current-system/sw/bin:/run/wrappers/bin:/usr/bin:/bin"
];
};
};
environment.systemPackages = let
pkgs = unstablePkgs;
lib = pkgs.lib;
in [
(pkgs.writeShellScriptBin "x86_64-pc-linux-gnu-gcc" ''
exec ${lib.getExe pkgs.gcc15} "$@"
'')
(pkgs.writeShellScriptBin "x86_64-pc-linux-gnu-g++" ''
exec ${lib.getExe' pkgs.gcc15 "g++"} "$@"
'')
];
});
}

View File

@@ -1,5 +1,5 @@
{
inputs,
inputs,
moduleWithSystem,
...
}: {
@@ -15,11 +15,10 @@ inputs,
}: {
packages = {
gotify-desktop = let
# Requires gpg keyring cert in order to get api key
config-file = pkgs.writeText "config.toml" ''
[gotify]
url = "wss://ntfy.voidarc.co.uk:443"
token = { command = "${pkgs.gnupg}/bin/gpg --quiet --batch --decrypt ${./gotify-key.secret}" }
token = { command = "cat /run/secrets/gotify-desktop-key"}
[notification]
min_priority = 1
'';

View File

@@ -8,11 +8,13 @@
self',
pkgs,
inputs',
flakeLocation,
...
}: {config, ...}: let
modules = with self.nixosModules; [
audio
systemTheme
quickshell
];
runtimePkgs = self'.packages.hyprland.passthru.runtimePackages;
@@ -24,31 +26,66 @@
else lib.getExe pkg;
in {
imports = modules;
programs.hyprland = {
enable = true;
package = self'.packages.hyprland;
options = {
tabletSupport = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable tablet support across all modules";
};
};
services.displayManager.defaultSession = "hyprland";
services.xserver.enable = true;
security.polkit.enable = true;
config = {
programs.hyprland = {
enable = true;
package = self'.packages.hyprland;
};
environment.systemPackages = with pkgs; [
gsettings-desktop-schemas
];
services.displayManager.defaultSession = "hyprland";
services.xserver.enable = true;
services.seatd.enable = true;
security.polkit.enable = true;
system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr-runtime-env/bin
${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: ''
ln -sfn ${runtimeTarget name pkg} /run/hypr-runtime-env/bin/${name}
'')
runtimePkgs)}
'';
environment.systemPackages = with pkgs; [
gsettings-desktop-schemas
glib
];
system.activationScripts.hyprConfig = lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr/config
ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config
'';
system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr-runtime-env/bin
${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: ''
ln -sfn ${runtimeTarget name pkg} /run/hypr-runtime-env/bin/${name}
'')
runtimePkgs)}
'';
system.activationScripts.hyprConfig = let
hyprgrassPath = "${inputs'.hyprgrass.packages.default}/lib/libhyprgrass.so";
pluginFile = pkgs.writeText "plugins.lua" ''
hl.on("hyprland.start", function ()
${lib.optionalString config.tabletSupport ''
hl.exec_cmd("hyprctl plugin load ${hyprgrassPath}")
''}
end)
'';
# Easy way to get nix runtime info (ie the directory the config is at)
# into hyprland to run commands and stuff
runtimeFile = pkgs.writeText "runtime.lua" ''
hl.on("hyprland.start", function ()
${lib.optionalString (flakeLocation != "") ''
hl.exec_cmd( 'curl -X POST -H "Content-Type: application/json" -d "{\"ref\":\"$(git -C ${flakeLocation} rev-parse HEAD)\", \"status\":\"$(git -C ${flakeLocation} diff --quiet && echo "clean" || echo "dirty")\"}" https://n8n.voidarc.co.uk/webhook/config-checker' )
''}
end)
'';
in
lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr/config
rm -rf /run/hypr/config/*
ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config
ln -sfn ${pluginFile} /run/hypr/config/plugins.lua
ln -sfn ${runtimeFile} /run/hypr/config/runtime.lua
'';
};
});
perSystem = {
self',
@@ -60,6 +97,7 @@
hyprland = inputs'.hyprland.packages.default.override {
flags."--config" = "/run/hypr/config/hyprland.lua";
env."MODULES_ROOT" = "/run/hypr/config/modules";
env."HYPRLAND_ROOT" = "/run/hypr/config";
runtimePackages =
inputs.hyprland.lib.defaultRuntimePkgs.${system}
// {
@@ -70,7 +108,6 @@
hyprlock = self'.packages.hyprlock;
quickshell = self'.packages.quickshell;
wshowkeys = self'.packages.wshowkeys;
waybar = self'.packages.waybar;
way-edges = self'.packages.way-edges;
};
};

View File

@@ -1,4 +1,4 @@
set $mod Mod4
set $mod Mod1
set $term kitty
set $menu dmenu_run

View File

@@ -18,17 +18,21 @@
windowManager.i3 = {
enable = true;
package = self'.packages.i3;
extraPackages = with pkgs;
[
dmenu
i3status
xinit
];
extraPackages = with pkgs; [
dmenu
i3status
xinit
];
};
};
});
perSystem = {pkgs, self', ...}: {
packages.i3 = inputs.wrappers.lib.wrapPackage ({...}: {
perSystem = {
pkgs,
lib,
self',
...
}: {
packages.i3 = lib.warn "i3 is no longer maintained and therefore marked as deprecated" inputs.wrappers.lib.wrapPackage ({...}: {
inherit pkgs;
package = pkgs.i3;
runtimePkgs = with pkgs;

View File

@@ -7,10 +7,20 @@
self',
pkgs,
...
}: {
environment.systemPackages = with self'.packages; [
quickshell
];
}: {config, ...}: {
environment.systemPackages = with self'.packages;
[
quickshell
]
++ (
if config.tabletSupport == true
then
# If on tablet enable on screen keyboard
(with pkgs; [
wvkbd
])
else []
);
});
perSystem = {pkgs, ...}: {
packages.quickshell = inputs.wrappers.wrappers.quickshell.wrap {

View File

@@ -0,0 +1,24 @@
{inputs, ...}: {
flake.nixosModules.sops = {config, ...}: {
imports = [inputs.sops-nix.nixosModules.sops];
sops = {
age.keyFile = "/etc/sops/age/keys.txt";
defaultSopsFile = ./secrets.yaml;
secrets = {
gotify-desktop-key = {
# Make readable
mode = "0444";
};
};
templates = {
"gotify-desktop-key".content = config.sops.placeholder.gotify-desktop-key;
};
};
# Make the secrets dir readable to normal users
systemd.tmpfiles.rules = [
"d /run/secrets 0755 root root -"
];
};
}

View File

@@ -0,0 +1,18 @@
gotify-desktop-key: ENC[AES256_GCM,data:kMCJfkrf5jKAgjX9hT9S,iv:T/zDp94522MeW6V3874JgyaQCx5H1qY+DsZOoPBaC1w=,tag:Csu+9imWiMBYXaE0uXzMsg==,type:str]
matrix-recovery-key: ENC[AES256_GCM,data:JssA1EJwxV3ZFXazKOhy0hF08x8qvQ1rzcy0vd3ko3mLvpTDMK5iHGfFf9xO4oK7cZFHGoSsXqaGzTs=,iv:TpBJzYulg8L8Yl7NpZl3u81U7hmxll4CYQ8XdbBOrSY=,tag:eP0Ubmx26e3wjzVbYO4Vmw==,type:str]
matrix-cinny-key: ENC[AES256_GCM,data:1vfnRIFTIpLcySHi8Q5PGx3whxNATQxoWMqkDAfbMvIUWDVQcQBW6sHnllyB4364V1LMmq2JANqqyJM=,iv:DpEo993W8UgnJ/aeEyOpcgoNBiSdmBEoWPECB7BJr/Y=,tag:tZfAsGsppkC31vFbjWlvog==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKR3ZQTzVxWWFFam91Y1V0
VGdnSkZFcmJ6RG1JOHp3R1puY2ZRazkxbmlZCjYyek5QOWEzaWg2bnpXc0ZrNks0
QUl2Nk45R1h6WjFTSWlveUF5RHlRcEUKLS0tIE5mYmQ1aWpvNGNjYzJrUW9DSXpm
MS8ralY4WDI1YjhNSmRWYWxYL3VkbDAKQuLvaHiUXkwiaOif10vrl3LFh/4mKQUV
Y3HJ9Jr3DAyokEzN7S/S1v50coM1bE4d74SS/V1uIw0nYdZRUGrZww==
-----END AGE ENCRYPTED FILE-----
recipient: age1rg4rsns375z2zj4tv8cyqtjl504fw8tprlmj2w057dz6ztttjstsgjvkvy
lastmodified: "2026-10-04T19:47:26Z"
mac: ENC[AES256_GCM,data:0OMarmjmNE5CziZqJbsB96K4u9QgnrB5FkuM3ILgxsxjb6UQLpqjql/th0KIDDAgyVFy9K5KwtocBYeLfuhYkLuj6i8EtlBAyi4KG+WCgy4LF+st8iaTxPy/Xn5yLxbp15DURXPuXrvDs1kpCqFWvfAXAABx/GyHUnYNwpmUytk=,iv:2O3NnZrvwN6CxFcdV/FDBurgRbthshDQ7tpbeHQAlCc=,tag:CzZV/PS26ngz5f4lGs9hzA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3

View File

@@ -8,8 +8,8 @@
waybar
];
});
perSystem = {pkgs, ...}: {
packages.waybar = inputs.wrappers.wrappers.waybar.wrap {
perSystem = {pkgs, lib, ...}: {
packages.waybar = lib.warn "Waybar is deprecated and no longer maintained. Please use pacakges.quickshell instead" inputs.wrappers.wrappers.waybar.wrap {
inherit pkgs;
"style.css".path = ./style.css;
configFile.content = ''

View File

@@ -1,9 +0,0 @@
{moduleWithSystem, ...}: {
flake.nixosModules.weylus = moduleWithSystem ({inputs', ...}: {
programs.weylus = {
enable = true;
package = inputs'.weylus.packages.default;
users = ["user01"];
};
});
}

View File

@@ -17,6 +17,11 @@ final_space = true
alignment = 'left'
newline = true
[[blocks.segments]] # Hostname
type = 'text'
style = 'plain'
template = '{{ if .Env.SSH_CLIENT }}<green>󰒋 {{.HostName}}</> <#7f849c>|</> {{ end }}'
[[blocks.segments]]
type = 'text'
style = 'plain'
@@ -34,11 +39,6 @@ template = '''
{{- end -}}
'''
[[blocks.segments]] # Hostname
type = 'text'
style = 'plain'
template = '{{ if eq .HostName "server02" }}<green>󰒋 {{.HostName}}</> <#7f849c>|</> {{ end }}'
[[blocks.segments]] # Python venv
type = 'text'
style = 'plain'

View File

@@ -25,85 +25,85 @@
});
perSystem = {
pkgs,
lib,
self',
lib,
flakeLocation,
...
}: {
packages = {
zsh = let
flakeLocation = builtins.getEnv "PWD";
in
lib.warnIf (flakeLocation == "") "Flake Location is undefined. Are you building in the right directory?"
inputs.wrappers.wrappers.zsh.wrap {
inherit pkgs;
runtimePkgs = [pkgs.carapace pkgs.devenv pkgs.fzf];
zshAliases = {
ls = "${lib.getExe pkgs.lsd} -l";
v = lib.getExe self'.packages.nvim;
cat = lib.getExe pkgs.bat;
lg = lib.getExe pkgs.lazygit;
man = "man -P \"${lib.getExe pkgs.bat} -p\"";
nsh = "nix-shell -p";
nrs =
if flakeLocation != ""
then "( cd ${flakeLocation} && sudo nixos-rebuild switch --impure --flake . )"
else "echo 'Flake location not specified. Did you build with --impure?'";
vinix =
if flakeLocation != ""
then "nvim --cmd 'cd ${flakeLocation}'"
else "echo 'Flake location not specified. Did you build with --impure?'";
};
zshrc.content = ''
source ${./devenv.zsh}
if (( ''${+terminfo[smkx]} )) && (( ''${+terminfo[rmkx]} )); then
function zle-line-init() { echoti smkx }
function zle-line-finish() { echoti rmkx }
zle -N zle-line-init
zle -N zle-line-finish
fi
autoload -U compinit && compinit
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
source <(${lib.getExe pkgs.carapace} _carapace)
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
autoload -U select-word-style
select-word-style bash
autoload -U up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[OA" up-line-or-beginning-search
bindkey "^[OB" down-line-or-beginning-search
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey "^[[3;5~" kill-word
bindkey "^H" backward-kill-word
source <(${lib.getExe pkgs.fzf} --zsh)
setopt NO_CASE_GLOB
${lib.getExe pkgs.any-nix-shell} zsh --info-right | source /dev/stdin
export EDITOR=nvim
eval "$(${lib.getExe self'.packages.ohMyPosh} init zsh)"
eval "$(${lib.getExe pkgs.devenv} hook zsh)"
typeset -ag precmd_functions
if (( ! ''${precmd_functions[(I)__devenv_reload_apply]} )); then
precmd_functions+=(__devenv_reload_apply)
fi
if (( ! ''${precmd_functions[(I)__devenv_restore_path]} )); then
precmd_functions+=(__devenv_restore_path)
fi
'';
zsh = lib.warnIf (flakeLocation == "") "Flake Location is undefined. Are you building in the right directory?"
inputs.wrappers.wrappers.zsh.wrap {
inherit pkgs;
runtimePkgs = [pkgs.carapace pkgs.devenv pkgs.fzf];
zshAliases = {
ls = "${lib.getExe pkgs.lsd} -l";
v = lib.getExe self'.packages.nvim;
cat = lib.getExe pkgs.bat;
lg = lib.getExe pkgs.lazygit;
man = "man -P \"${lib.getExe pkgs.bat} -p\"";
nsh = "nix-shell -p";
nrs =
if flakeLocation != ""
then "( cd ${flakeLocation} && sudo nixos-rebuild switch --impure --flake . )"
else "echo 'Flake location not specified. Did you build with --impure?'";
vinix =
if flakeLocation != ""
then "nvim --cmd 'cd ${flakeLocation}'"
else "echo 'Flake location not specified. Did you build with --impure?'";
};
zshrc.content = ''
source ${./devenv.zsh}
if (( ''${+terminfo[smkx]} )) && (( ''${+terminfo[rmkx]} )); then
function zle-line-init() { echoti smkx }
function zle-line-finish() { echoti rmkx }
zle -N zle-line-init
zle -N zle-line-finish
fi
autoload -U compinit && compinit
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
source <(${lib.getExe pkgs.carapace} _carapace)
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
autoload -U select-word-style
select-word-style bash
autoload -U up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[OA" up-line-or-beginning-search
bindkey "^[OB" down-line-or-beginning-search
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey "^[[3;5~" kill-word
bindkey "^H" backward-kill-word
source <(${lib.getExe pkgs.fzf} --zsh)
setopt NO_CASE_GLOB
if command -v ${lib.getExe pkgs.nix-your-shell} > /dev/null; then
${lib.getExe pkgs.nix-your-shell} -- zsh | source /dev/stdin
fi
export EDITOR=nvim
eval "$(${lib.getExe self'.packages.ohMyPosh} init zsh)"
eval "$(${lib.getExe pkgs.devenv} hook zsh)"
typeset -ag precmd_functions
if (( ! ''${precmd_functions[(I)__devenv_reload_apply]} )); then
precmd_functions+=(__devenv_reload_apply)
fi
if (( ! ''${precmd_functions[(I)__devenv_restore_path]} )); then
precmd_functions+=(__devenv_restore_path)
fi
'';
};
ohMyPosh = inputs.wrappers.wrappers.oh-my-posh.wrap {
inherit pkgs;
configFile = ./config.toml;

View File

@@ -9,14 +9,13 @@
hackstationConfiguration
amdDrivers
youtube
distcc
development
bottles
gaming
davinci
sddm-autologin
nix-ld
i3
];
};
}

View File

@@ -10,6 +10,7 @@
environment.systemPackages = with pkgs; [
tor-browser
tor
cinny-desktop
];
};
}

View File

@@ -0,0 +1,20 @@
{
self,
inputs,
...
}: {
flake.nixosConfigurations.mobile03 = inputs.nixpkgs.lib.nixosSystem {
modules = with self.nixosModules; [
desktop
mobile03Configuration
intelDrivers
development
thinkpadFanControl
upower
distcc
({...}: {
tabletSupport = true;
})
];
};
}

View File

@@ -0,0 +1,11 @@
{
self,
inputs,
...
}: {
flake.nixosModules.mobile03Configuration = {...}: {
networking = {
hostName = "mobile03";
};
};
}

View File

@@ -1,13 +1,5 @@
{
self,
inputs,
...
}: {
flake.nixosModules.core = {
pkgs,
lib,
...
}: let
{self, ...}: {
flake.nixosModules.core = {pkgs, ...}: let
modules = with self.nixosModules; [
user
bootloader
@@ -21,8 +13,14 @@
/etc/nixos/hardware-configuration.nix
]
++ modules;
services = {
openssh.enable = true;
openssh = {
enable = true;
settings = {
PermitRootLogin = "yes";
};
};
avahi.enable = true;
};
environment.systemPackages = with pkgs; [

View File

@@ -1,8 +1,15 @@
{inputs, ...}: {
perSystem = {system, ...}: {
_module.args.unfreePkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
_module.args = {
unfreePkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
};
unstablePkgs = import inputs.nixpkgs-unstable {
inherit system;
};
# Make flakeLocation universally addressable
flakeLocation = builtins.getEnv "PWD";
};
};
flake.nixosModules.nix = {...}: {

View File

@@ -20,7 +20,12 @@
description = "user01";
extraGroups = [
"root"
"seat"
"audio"
"video"
"wheel"
"plugdev"
"networkmanager"
];
};
};

View File

@@ -10,7 +10,8 @@
sddm
network
omnisearch
tailscale
tailscale
sops
];
in {
imports = modules;

View File

@@ -0,0 +1,27 @@
{
self,
moduleWithSystem,
...
}: {
flake.nixosModules.thinkpadFanControl = moduleWithSystem ({inputs', ...}: {
# Enable fan control for the thinkpad module (why is this not the default??)
boot.extraModprobeConfig = ''
options thinkpad_acpi fan_control=1
'';
services.thinkfan = {
enable = true;
extraArgs = ["-s" "5"];
levels = [
[0 0 55]
[1 50 60]
[3 58 68]
[5 65 75]
[7 73 85]
["level disengaged" 82 32767]
];
};
});
}

View File

@@ -1,13 +1,5 @@
{
self,
inputs,
...
}: {
flake.nixosModules.network = {
pkgs,
lib,
...
}: {
{moduleWithSystem, ...}: {
flake.nixosModules.network = moduleWithSystem ({...}: {config, ...}: {
networking = {
networkmanager = {
enable = true;
@@ -22,7 +14,11 @@
services.unbound = {
enable = true;
};
programs.nm-applet.enable =
if config.tabletSupport == true
then true
else false;
systemd.services.NetworkManager-wait-online.enable = false;
};
});
}