Compare commits

..

23 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
16 changed files with 364 additions and 220 deletions

243
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": {
@@ -228,29 +228,6 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gotify-desktop": {
"inputs": {
"nixpkgs": [
@@ -382,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": 1784471205,
"narHash": "sha256-u/m4ToCCm0kI1npq+wj+aIEJtuvv2LaER2DywD9TD6U=",
"lastModified": 1786391152,
"narHash": "sha256-P+dUN0wWRYLop9lLsnCOEi5bYE/GC5LvzV2VZh520TM=",
"ref": "refs/heads/main",
"rev": "782cd6884b28f91f2af4274b99adcdb9c146fa79",
"revCount": 49,
"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": 1784471205,
"narHash": "sha256-u/m4ToCCm0kI1npq+wj+aIEJtuvv2LaER2DywD9TD6U=",
"ref": "refs/heads/main",
"rev": "782cd6884b28f91f2af4274b99adcdb9c146fa79",
"revCount": 49,
"rev": "b4426becc44de00e891098b9883eca2b2028f981",
"revCount": 53,
"type": "git",
"url": "https://git.voidarc.co.uk/voidarc/hypr"
},
@@ -460,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": {
@@ -517,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": {
@@ -635,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": {
@@ -709,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": {
@@ -800,6 +759,22 @@
}
},
"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": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
@@ -815,13 +790,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_12": {
"locked": {
"lastModified": 1782467914,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e73de5be04e0eff4190a1432b946d469c794e7b4",
"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": {
@@ -832,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=",
@@ -847,7 +854,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1773734432,
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=",
@@ -863,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": {
@@ -879,7 +886,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1782467914,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
@@ -895,7 +902,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
@@ -911,7 +918,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1783224372,
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
@@ -927,33 +934,17 @@
"type": "github"
}
},
"nixpkgs_9": {
"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"
}
},
"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"
},
@@ -994,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": {
@@ -1017,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": {
@@ -1033,7 +1024,6 @@
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"hyprland",
@@ -1041,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": {
@@ -1057,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"
},
@@ -1076,9 +1066,8 @@
"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",
@@ -1092,7 +1081,7 @@
},
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1784438913,
@@ -1110,14 +1099,14 @@
},
"sls-steam": {
"inputs": {
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1783704618,
"narHash": "sha256-/zurHHGZW+E2xF4Pk6BSP4Mib3oPJDMtqrinRF2pYFI=",
"lastModified": 1785411317,
"narHash": "sha256-r/YV6psmPZj9aSMydTmOooTBLFiwMJoCWnaKkUlXiss=",
"owner": "AceSLS",
"repo": "SLSsteam",
"rev": "37d5bb313fa186e70b38623bee3ba0f4f17f65b5",
"rev": "b3da36b024f565f79ee19b44bea493af3f48ea95",
"type": "github"
},
"original": {
@@ -1304,7 +1293,7 @@
"woomer": {
"inputs": {
"crane": "crane",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"systems": "systems_4"
},
"locked": {
@@ -1345,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": {
@@ -1363,7 +1352,7 @@
},
"wrappers_2": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1782135443,
@@ -1381,7 +1370,7 @@
},
"wrappers_3": {
"inputs": {
"nixpkgs": "nixpkgs_10"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1782135443,
@@ -1422,9 +1411,7 @@
"wshowkeys_2": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1781708685,
@@ -1474,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,10 +32,7 @@
url = "github:coffeeispower/woomer";
inputs.nixpkgs.follows = "nixpkgs";
};
wshowkeys = {
url = "github:voidarclabs/wshowkeys";
inputs.nixpkgs.follows = "nixpkgs";
};
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

@@ -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

@@ -33,71 +33,77 @@
zsh = let
flakeLocation = builtins.getEnv "PWD";
in
assert flakeLocation != "";
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 = "( cd ${flakeLocation} && sudo nixos-rebuild switch --impure --flake . )";
vinix = "nvim --cmd 'cd ${flakeLocation}'";
};
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
'';
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
'';
};
ohMyPosh = inputs.wrappers.wrappers.oh-my-posh.wrap {
inherit pkgs;
configFile = ./config.toml;

View File

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

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

@@ -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;
};
};
}