Compare commits

..

29 Commits

Author SHA1 Message Date
25c6507c3e updated quickshell 2026-08-15 20:12:58 +01:00
b33c816191 updated hyprland and quickshell, will deprecate waybar shortly 2026-08-10 20:46:39 +01:00
f2c68c8511 updated nvim and quickshell 2026-08-10 16:59:46 +01:00
06848de32a tailscale feature added to desktop 2026-08-10 12:11:03 +01:00
29413b1f67 fixed upower quickshell thing 2026-08-10 12:10:56 +01:00
bfeeacc434 moved upower to dedicated module 2026-08-07 19:04:33 +01:00
749ee86763 removed useless inputs from amddrivers 2026-08-07 19:04:19 +01:00
e56b948f91 updated nvim 2026-08-07 16:42:48 +01:00
c0da93fe55 enabled upower for quickshell 2026-08-05 17:12:49 +01:00
9b931a6284 updated nvim 2026-08-05 17:06:04 +01:00
f16c1137f9 disabled pixel scroll on kitty because who tf needs that 2026-08-05 16:57:16 +01:00
eb7217973d updated hyprland for new binds 2026-08-04 18:12:58 +01:00
d9bbfff120 fixed i3 2026-08-01 20:47:08 +01:00
21fe0c40e9 i3 feature 2026-08-01 20:21:23 +01:00
7be2e897d4 made hyprland default session for display manager 2026-08-01 20:20:13 +01:00
deddffad50 changed wshowkeys nixpkgs 2026-07-31 20:27:59 +01:00
00f6800290 added mpv to desktop 2026-07-30 19:38:12 +01:00
56aed1cf2d trying to fix davinci recording 2026-07-30 19:37:52 +01:00
88266b040f added server02 hostname block to ohmyposh 2026-07-29 17:46:43 +01:00
5f7fc8ea05 added warning for flakeLocation being null instead of an assert 2026-07-29 17:26:14 +01:00
3a634375a0 updated quickshell 2026-07-29 17:16:49 +01:00
7a3d2fee77 removed weylus temporarily 2026-07-28 19:59:10 +01:00
d4db1e7f09 updated flake and removed now redundant hyprland input 2026-07-28 19:59:10 +01:00
33702f4552 added docker and tor 2026-07-28 19:21:53 +01:00
4d9e050344 added user01 as a nix trusted user for devenv 2026-07-28 19:21:43 +01:00
a938343f87 devenv support (zsh feature) 2026-07-28 19:21:28 +01:00
637e665581 weylus feature 2026-07-22 13:35:09 +01:00
0d35a34e9b added weylus 2026-07-17 21:55:28 +01:00
9104f3b5af reformat and added vinix and nrs functions 2026-07-15 17:47:26 +01:00
20 changed files with 554 additions and 204 deletions

321
flake.lock generated
View File

@@ -24,11 +24,11 @@
]
},
"locked": {
"lastModified": 1782073106,
"narHash": "sha256-dnS5SaZlPqR1E0dPXaPc+lFkBwLUbAgbwsVMk7uA6dY=",
"lastModified": 1784368054,
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "6d6e2384f381def4ea4ea81543cba4bbdac72457",
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
"type": "github"
},
"original": {
@@ -194,7 +194,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_8"
"systems": "systems_7"
},
"locked": {
"lastModified": 1731533236,
@@ -210,26 +210,21 @@
"type": "github"
}
},
"gitignore": {
"flake-utils_3": {
"inputs": {
"nixpkgs": [
"hyprland",
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
"systems": "systems_9"
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
@@ -364,36 +359,18 @@
"hyprland": {
"inputs": {
"hyprland": "hyprland_2",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_3",
"otter-launcher": "otter-launcher",
"woomer": "woomer",
"wrappers": "wrappers",
"wshowkeys": "wshowkeys"
},
"locked": {
"lastModified": 1783943095,
"narHash": "sha256-yolDQ38XW+EpTKMLli8BOcHKnIbR53iM03K9T6wkc9I=",
"lastModified": 1786391152,
"narHash": "sha256-P+dUN0wWRYLop9lLsnCOEi5bYE/GC5LvzV2VZh520TM=",
"ref": "refs/heads/main",
"rev": "84edd88834b645751babc02f44408ccb703e421f",
"revCount": 48,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr"
},
"original": {
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr"
}
},
"hyprland-config": {
"flake": false,
"locked": {
"lastModified": 1783943095,
"narHash": "sha256-yolDQ38XW+EpTKMLli8BOcHKnIbR53iM03K9T6wkc9I=",
"ref": "refs/heads/main",
"rev": "84edd88834b645751babc02f44408ccb703e421f",
"revCount": 48,
"rev": "b4426becc44de00e891098b9883eca2b2028f981",
"revCount": 53,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr"
},
@@ -442,11 +419,11 @@
]
},
"locked": {
"lastModified": 1782563850,
"narHash": "sha256-rs/EzgrgPHbCtJjFZN4aR1HYldH/0NtGAempWVpWQTs=",
"lastModified": 1784196523,
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "5ba080ee036c30cb2485f2647ff8a61f7aa08178",
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
"type": "github"
},
"original": {
@@ -499,11 +476,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1783110106,
"narHash": "sha256-PRnnFkTfQ+sQHSrcWw0512zEMNp5/1WHJeVuDf6FmxI=",
"lastModified": 1785237127,
"narHash": "sha256-sMSWRj9zZ3O4Q1Bk8mKkdXsTb3zpXRESlrzWmQXmW54=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "14fa1fd0273973b7a40966b4fa9e081d6bf67dae",
"rev": "ff24e1755fd308ee70367d63168a12feb05d1fc2",
"type": "github"
},
"original": {
@@ -617,11 +594,11 @@
]
},
"locked": {
"lastModified": 1783002634,
"narHash": "sha256-xGqHIUK0wIZoW7SiMalwvO6uGOO/VrlQwoRobpE7dDI=",
"lastModified": 1784323413,
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "41fb809557abd29a57151b6e1aaeabd05f9437e1",
"rev": "5f03477ab3a005ff27c527486f551883535aea2f",
"type": "github"
},
"original": {
@@ -691,11 +668,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"lastModified": 1784254960,
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"owner": "vic",
"repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"type": "github"
},
"original": {
@@ -781,13 +758,61 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_10": {
"locked": {
"lastModified": 1782467914,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e73de5be04e0eff4190a1432b946d469c794e7b4",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1784356753,
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
"type": "github"
},
"original": {
@@ -798,6 +823,22 @@
}
},
"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=",
@@ -813,7 +854,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1773734432,
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=",
@@ -829,13 +870,13 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_6": {
"locked": {
"lastModified": 1783549019,
"narHash": "sha256-0XnckG4ZhBmAsYa9mLuEIFowBG0fDGPLHduQGsbMS4A=",
"lastModified": 1785386831,
"narHash": "sha256-sPS3CaXH8RAT3FZRuy4VcV47iuYIWMMfa0GbyJKC3o4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "74cc63f702f7d60a557e152a57b40fb1fd0f72ac",
"rev": "21ea275a7c46aef9d4d6ddc962e6d562e9d94183",
"type": "github"
},
"original": {
@@ -845,7 +886,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1782467914,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
@@ -861,7 +902,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
@@ -877,7 +918,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1783224372,
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
@@ -893,33 +934,17 @@
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim": {
"inputs": {
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_7",
"wrappers": "wrappers_2"
},
"locked": {
"lastModified": 1783352922,
"narHash": "sha256-59Kea6PaeTM6ZBEAWzdPnuLlij2emLd21JsPnobR3B0=",
"lastModified": 1786377545,
"narHash": "sha256-I5/PcFU0jlDw6+32MXpMGJxxHqWBUdYCt6DzFDctybw=",
"ref": "refs/heads/main",
"rev": "970da906087f0691932418db8757803d64f60c28",
"revCount": 94,
"rev": "dc386a5f5cf31925c513a3a39f546d5364289095",
"revCount": 100,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/nvim"
},
@@ -960,11 +985,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1783145565,
"narHash": "sha256-czL1P2nQV3JrbV6J2b3jXnWcz+Kbz+xhaXKk3+wdnF0=",
"lastModified": 1783875707,
"narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=",
"owner": "kuokuo123",
"repo": "otter-launcher",
"rev": "2e35ce8c7ba6f5e4d98bf4c9073f5fa91143744d",
"rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6",
"type": "github"
},
"original": {
@@ -983,11 +1008,11 @@
"systems": "systems_6"
},
"locked": {
"lastModified": 1783339207,
"narHash": "sha256-ZO2WzXNEM9XKuReixgQuP1G+5nrihYWajugBCIjjPkE=",
"lastModified": 1783875707,
"narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=",
"owner": "kuokuo123",
"repo": "otter-launcher",
"rev": "d101421377473a190701d53cbe28b8244edad728",
"rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6",
"type": "github"
},
"original": {
@@ -999,7 +1024,6 @@
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"hyprland",
@@ -1007,11 +1031,11 @@
]
},
"locked": {
"lastModified": 1781733627,
"narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=",
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
@@ -1023,11 +1047,11 @@
"quickshell": {
"flake": false,
"locked": {
"lastModified": 1783436659,
"narHash": "sha256-rh0BJlcRM8nFet9aYIaZMxe7M6BMNJOrSgJi3cPQ+Tc=",
"lastModified": 1786547899,
"narHash": "sha256-QxLEKq1R455FlEmaarx3cq9mk4jSBxHg3CyseLiOick=",
"ref": "refs/heads/main",
"rev": "68d4240fcbc605ee36a0e71797c04c0ac33f3e19",
"revCount": 25,
"rev": "e33041b66c66a1b68930bfd3bb58746ffbd5f4b2",
"revCount": 72,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/quickshell"
},
@@ -1042,29 +1066,47 @@
"flake-parts": "flake-parts",
"gotify-desktop": "gotify-desktop",
"hyprland": "hyprland",
"hyprland-config": "hyprland-config",
"import-tree": "import-tree",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_6",
"nvim": "nvim",
"omnisearch": "omnisearch",
"otter-launcher": "otter-launcher_2",
"quickshell": "quickshell",
"sls-steam": "sls-steam",
"weylus": "weylus",
"woomer": "woomer_2",
"wrappers": "wrappers_3",
"wshowkeys": "wshowkeys_2"
}
},
"sls-steam": {
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1783704618,
"narHash": "sha256-/zurHHGZW+E2xF4Pk6BSP4Mib3oPJDMtqrinRF2pYFI=",
"lastModified": 1784438913,
"narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "afacd6819d3765a05814ee8e3de74c77d42ac799",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sls-steam": {
"inputs": {
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1785411317,
"narHash": "sha256-r/YV6psmPZj9aSMydTmOooTBLFiwMJoCWnaKkUlXiss=",
"owner": "AceSLS",
"repo": "SLSsteam",
"rev": "37d5bb313fa186e70b38623bee3ba0f4f17f65b5",
"rev": "b3da36b024f565f79ee19b44bea493af3f48ea95",
"type": "github"
},
"original": {
@@ -1193,6 +1235,21 @@
"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"
@@ -1211,10 +1268,32 @@
"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_3",
"nixpkgs": "nixpkgs_4",
"systems": "systems_4"
},
"locked": {
@@ -1237,7 +1316,7 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_7"
"systems": "systems_8"
},
"locked": {
"lastModified": 1782685056,
@@ -1255,14 +1334,14 @@
},
"wrappers": {
"inputs": {
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1782375095,
"narHash": "sha256-bRepNpAluz2i0IIk7Tmzw/4BkyOrwABvc66NEgXPEhA=",
"lastModified": 1785177581,
"narHash": "sha256-9Z4l080DSrHMxoQTZTpVsML2h6JDuB9lDwHPsLd9BrQ=",
"owner": "lassulus",
"repo": "wrappers",
"rev": "cd780e92c0fa66c2e721e1d91894f3db13b9f2b4",
"rev": "f57bc81aa9669871343341b13aa175c8927b6a74",
"type": "github"
},
"original": {
@@ -1273,7 +1352,7 @@
},
"wrappers_2": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1782135443,
@@ -1291,7 +1370,7 @@
},
"wrappers_3": {
"inputs": {
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1782135443,
@@ -1331,10 +1410,8 @@
},
"wshowkeys_2": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1781708685,
@@ -1384,11 +1461,11 @@
]
},
"locked": {
"lastModified": 1782311043,
"narHash": "sha256-07zLc2M3/ax+JsjxGTft17/Joua41LHE9/9AC/F9zeU=",
"lastModified": 1784371182,
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "882ad01e195ce201b07c618bbee44a0cad8b9e5a",
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
"type": "github"
},
"original": {

View File

@@ -9,11 +9,6 @@
nvim.url = "git+https://git.voidarc.co.uk/voidarc/nvim";
hyprland = {
url = "git+https://git.voidarc.co.uk/voidarc/hypr";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-config = {
url = "git+https://git.voidarc.co.uk/voidarc/hypr";
flake = false;
};
otter-launcher = {
url = "github:kuokuo123/otter-launcher";
@@ -37,8 +32,9 @@
url = "github:coffeeispower/woomer";
inputs.nixpkgs.follows = "nixpkgs";
};
wshowkeys = {
url = "github:voidarclabs/wshowkeys";
wshowkeys.url = "github:voidarclabs/wshowkeys";
weylus = {
url = "github:voidarclabs/WeylusCommunityEdition";
inputs.nixpkgs.follows = "nixpkgs";
};

View File

@@ -14,6 +14,7 @@
audio
systemTheme
];
runtimePkgs = self'.packages.hyprland.passthru.runtimePackages;
lib = pkgs.lib;
@@ -27,12 +28,16 @@
enable = true;
package = self'.packages.hyprland;
};
services.displayManager.defaultSession = "hyprland";
services.xserver.enable = true;
security.polkit.enable = true;
environment.systemPackages = with pkgs; [
hyprlock
gsettings-desktop-schemas
];
system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr-runtime-env/bin
${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: ''
@@ -40,9 +45,10 @@
'')
runtimePkgs)}
'';
system.activationScripts.hyprConfig = lib.stringAfter ["specialfs"] ''
mkdir -p /run/hypr/config
ln -sfn ${inputs.hyprland-config}/* /run/hypr/config
ln -sfn ${inputs'.hyprland.packages.repo-files}/* /run/hypr/config
'';
});
perSystem = {
@@ -54,7 +60,7 @@
packages = {
hyprland = inputs'.hyprland.packages.default.override {
flags."--config" = "/run/hypr/config/hyprland.lua";
env."MODULES_ROOT" = "/run/hypr/config/modules";
env."MODULES_ROOT" = "/run/hypr/config/modules";
runtimePackages =
inputs.hyprland.lib.defaultRuntimePkgs.${system}
// {

View File

@@ -0,0 +1,71 @@
set $mod Mod4
set $term kitty
set $menu dmenu_run
exec --no-startup-id xrandr --output HDMI-1 --mode 1920x1080 --rate 60 --pos -1920x0 --output DP-1 --mode 1920x1080 --rate 60 --pos 0x0 --output DP-2 --mode 1920x1080 --rate 60 --pos 1920x0
font pango:FiraMono Nerd Font 10
workspace 1 output DP-1
workspace 2 output HDMI-A-1
workspace 3 output DP-2
# Window functions
bindsym $mod+BackSpace kill
bindsym $mod+b fullscreen toggle
# Apps
bindsym $mod+Return exec --no-startup-id $term
bindsym $mod+d exec --no-startup-id $menu
bindsym $mod+f exec --no-startup-id firefox
bindsym $mod+s exec --no-startup-id nemo
# Focus windows
bindsym $mod+k focus up
bindsym $mod+j focus down
bindsym $mod+h focus left
bindsym $mod+l focus right
# Move windows
bindsym $mod+Shift+h move left
bindsym $mod+Shift+l move right
bindsym $mod+Shift+k move up
bindsym $mod+Shift+j move down
# Workspaces
bindsym $mod+q workspace number 1
bindsym $mod+w workspace number 2
bindsym $mod+e workspace number 3
bindsym $mod+r workspace number 4
bindsym $mod+t workspace number 5
bindsym $mod+y workspace number 6
bindsym $mod+u workspace number 7
bindsym $mod+i workspace number 8
bindsym $mod+o workspace number 9
bindsym $mod+p workspace number 10
# Move container to workspace
bindsym $mod+Shift+q move container to workspace number 1
bindsym $mod+Shift+w move container to workspace number 2
bindsym $mod+Shift+e move container to workspace number 3
bindsym $mod+Shift+r move container to workspace number 4
bindsym $mod+Shift+t move container to workspace number 5
bindsym $mod+Shift+y move container to workspace number 6
bindsym $mod+Shift+u move container to workspace number 7
bindsym $mod+Shift+i move container to workspace number 8
bindsym $mod+Shift+o move container to workspace number 9
bindsym $mod+Shift+p move container to workspace number 10
# Logout menu
bindsym $mod+Shift+a exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# Reload
bindsym $mod+Shift+m reload
# Drag windows with titlebar
tiling_drag modifier titlebar
# Bar
bar {
status_command i3status
}

View File

@@ -0,0 +1,48 @@
{
inputs,
moduleWithSystem,
...
}: {
flake.nixosModules.i3 = moduleWithSystem ({
pkgs,
self',
...
}: {
services.xserver = {
enable = true;
desktopManager = {
xterm.enable = false;
};
windowManager.i3 = {
enable = true;
package = self'.packages.i3;
extraPackages = with pkgs;
[
dmenu
i3status
xinit
];
};
};
});
perSystem = {pkgs, self', ...}: {
packages.i3 = inputs.wrappers.lib.wrapPackage ({...}: {
inherit pkgs;
package = pkgs.i3;
runtimePkgs = with pkgs;
[
xrandr
firefox
]
++ (with self'.packages; [
kitty
nemo
]);
flags = {
"-c" = ./config;
};
});
};
}

View File

@@ -29,6 +29,7 @@
settings = {
font_size = 11;
scrollbar = "never";
pixel_scroll = false;
window_padding_width = 9;
background_opacity = 0.50;
confirm_os_window_close = 0;

View File

@@ -3,7 +3,11 @@
inputs,
...
}: {
flake.nixosModules.quickshell = moduleWithSystem ({self', ...}: {
flake.nixosModules.quickshell = moduleWithSystem ({
self',
pkgs,
...
}: {
environment.systemPackages = with self'.packages; [
quickshell
];

View File

@@ -0,0 +1,11 @@
{
self,
moduleWithSystem,
...
}: {
flake.nixosModules.tailscale = moduleWithSystem ({...}: {
services.tailscale = {
enable = true;
};
});
}

View File

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

View File

@@ -34,6 +34,11 @@ 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

@@ -30,58 +30,80 @@
...
}: {
packages = {
zsh = inputs.wrappers.wrappers.zsh.wrap {
inherit pkgs;
runtimePkgs = [pkgs.carapace 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;
devenv = lib.getExe pkgs.devenv;
carapace = lib.getExe pkgs.carapace;
man = "man -P \"${lib.getExe pkgs.bat} -p\"";
nsh = "nix-shell -p";
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
'';
};
zshrc.content = ''
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
export EDITOR=nvim
eval "$(${lib.getExe pkgs.devenv} hook zsh)"
eval "$(${lib.getExe self'.packages.ohMyPosh} init zsh)"
${lib.getExe pkgs.any-nix-shell} zsh --info-right | source /dev/stdin
'';
};
ohMyPosh = inputs.wrappers.wrappers.oh-my-posh.wrap {
inherit pkgs;
configFile = ./config.toml;

View File

@@ -0,0 +1,82 @@
__devenv_reload_apply() {
if [ -n "$DEVENV_RELOAD_FILE" ] && [ -f "$DEVENV_RELOAD_FILE" ]; then
local output
output=$(DEVENV_RELOAD_FILE="$DEVENV_RELOAD_FILE" bash <<'RELOAD_BASH' 2>/dev/null
__devenv_ignored_var() {
case "$1" in
_*|PWD|OLDPWD|SHLVL|SHELL|SHELLOPTS|BASHOPTS|BASH_*|HISTCMD|HISTFILE)
return 0 ;;
PS1|PS2|PS3|PS4|PROMPT|PROMPT_COMMAND|PROMPT_DIRTRIM)
return 0 ;;
COMP_*|READLINE_*|MAILCHECK|COLUMNS|LINES|RANDOM|SECONDS|LINENO|EPOCHSECONDS|EPOCHREALTIME|SRANDOM)
return 0 ;;
STARSHIP_*|__fish*|DIRENV_*|nix_saved_*)
return 0 ;;
*) return 1 ;;
esac
}
__devenv_capture_env() { declare -p -x 2>/dev/null | LC_ALL=C sort; }
__devenv_serialize_diff() { gzip -c | base64 -w0; }
__devenv_deserialize_diff() { echo "$1" | base64 -d | gzip -d 2>/dev/null; }
__devenv_compute_diff() {
local before_file="$1" after_file diff_content
after_file=$(mktemp); diff_content=$(mktemp)
__devenv_capture_env > "$after_file"
local -A before_vars after_vars
while IFS= read -r line; do
[[ "$line" != declare\ -x\ * ]] && continue
local vardef="${line#declare -x }" var="${vardef%%=*}"
[[ -z "$var" ]] && continue
__devenv_ignored_var "$var" && continue
before_vars["$var"]="$line"
done < "$before_file"
while IFS= read -r line; do
[[ "$line" != declare\ -x\ * ]] && continue
local vardef="${line#declare -x }" var="${vardef%%=*}"
[[ -z "$var" ]] && continue
__devenv_ignored_var "$var" && continue
after_vars["$var"]="$line"
done < "$after_file"
for var in "${!before_vars[@]}"; do
[[ "${after_vars[$var]}" != "${before_vars[$var]}" ]] && echo "P:${before_vars[$var]}" >> "$diff_content"
done
for var in "${!after_vars[@]}"; do
if [[ -z "${before_vars[$var]+x}" ]]; then echo "N:$var" >> "$diff_content"
elif [[ "${after_vars[$var]}" != "${before_vars[$var]}" ]]; then echo "N:$var" >> "$diff_content"; fi
done
_DEVENV_DIFF=$(__devenv_serialize_diff < "$diff_content"); export _DEVENV_DIFF
rm -f "$after_file" "$diff_content"
}
__devenv_apply_reverse_diff() {
[[ -z "$_DEVENV_DIFF" ]] && return
local -A prev_vars
local diff_content; diff_content=$(__devenv_deserialize_diff "$_DEVENV_DIFF")
while IFS= read -r line; do
if [[ "$line" == P:declare\ * ]]; then
local decl="${line#P:}" var="${decl#declare -x }"; var="${var%%=*}"
prev_vars["$var"]=1; eval "export ${decl#declare -x }" 2>/dev/null
fi
done <<< "$diff_content"
while IFS= read -r line; do
if [[ "$line" == N:* ]]; then
local var="${line#N:}"
[[ -z "${prev_vars[$var]+x}" ]] && unset "$var"
fi
done <<< "$diff_content"
}
__devenv_apply_reverse_diff
_before=$(mktemp); __devenv_capture_env > "$_before"
if { : >/dev/tty; } 2>/dev/null; then _devenv_reload_out=/dev/tty; else _devenv_reload_out=/dev/null; fi
source "$DEVENV_RELOAD_FILE" >"$_devenv_reload_out" 2>"$_devenv_reload_out"
rm -f "$DEVENV_RELOAD_FILE"; unset _devenv_reload_out
__devenv_compute_diff "$_before"; rm -f "$_before"
export -p
RELOAD_BASH
)
if [ -n "$output" ]; then eval "$output"; fi
_DEVENV_PATH="$PATH"
fi
}
__devenv_restore_path() {
[ -n "$_DEVENV_PATH" ] && export PATH="$_DEVENV_PATH"
}

View File

@@ -15,6 +15,8 @@
davinci
sddm-autologin
nix-ld
i3
];
};
}

View File

@@ -1,12 +1,15 @@
{
self,
inputs,
...
}: {
flake.nixosModules.hackstationConfiguration = {...}: {
{...}: {
flake.nixosModules.hackstationConfiguration = {pkgs, ...}: {
virtualisation.docker = {
enable = true;
};
networking = {
interfaces.enp5s0.wakeOnLan.enable = true;
hostName = "HACKSTATION";
};
environment.systemPackages = with pkgs; [
tor-browser
tor
];
};
}

View File

@@ -9,6 +9,7 @@
mobile02Configuration
intelDrivers
development
upower
];
};
}

View File

@@ -8,12 +8,16 @@
lib,
...
}: {
environment.systemPackages = with pkgs; [
playerctl
pavucontrol
];
environment.systemPackages = with pkgs; [
playerctl
pavucontrol
pulseaudioFull
];
services.pulseaudio.enable = false;
security.rtkit.enable = true;
nixpkgs.config.pulseaudio = true;
services.pipewire = {
enable = true;
alsa.enable = true;

View File

@@ -21,6 +21,7 @@
};
settings = {
cores = 6;
trusted-users = ["root" "user01"];
download-buffer-size = 524288000;
experimental-features = [
"nix-command"

View File

@@ -3,15 +3,19 @@
moduleWithSystem,
...
}: {
flake.nixosModules.desktop = moduleWithSystem ({...}: let
flake.nixosModules.desktop = moduleWithSystem ({pkgs, ...}: let
modules = with self.nixosModules; [
core
hyprland
sddm
network
omnisearch
tailscale
];
in {
imports = modules;
environment.systemPackages = with pkgs; [
mpv
];
});
}

View File

@@ -1,13 +1,5 @@
{
self,
inputs,
...
}: {
flake.nixosModules.amdDrivers = {
pkgs,
lib,
...
}: {
{...}: {
flake.nixosModules.amdDrivers = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
mesa
rocmPackages.rocm-smi

View File

@@ -0,0 +1,11 @@
{...}: {
flake.nixosModules.upower = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
upower
];
services = {
upower.enable = true;
power-profiles-daemon.enable = true;
};
};
}