lock update and temporary linux-firmware fix
This commit is contained in:
150
flake.lock
generated
150
flake.lock
generated
@@ -80,11 +80,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749155310,
|
||||
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=",
|
||||
"lastModified": 1750372185,
|
||||
"narHash": "sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e+09fN+NL/Q3BjTWHY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3",
|
||||
"rev": "7cef49d261cbbe537e8cb662485e76d29ac4cbca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -123,11 +123,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750327187,
|
||||
"narHash": "sha256-16+LlTyw9wmINhxXB8BxGnSvngwm4nfrQ7GDKi7Cbdw=",
|
||||
"lastModified": 1750590097,
|
||||
"narHash": "sha256-t4kfCp4x9D3MuboVa9/GSOYoWd6qeexxrdW/ismcuBY=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "1055783472d16df6bc14819cbcfe78f7c9829ffa",
|
||||
"rev": "2ec05989abec9857735ea87803bdffcb40f4c910",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -182,11 +182,11 @@
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750401514,
|
||||
"narHash": "sha256-q1xXOopSQMJK0Wp/t9keh9u4SjFCjrx2cVMMF976GlQ=",
|
||||
"lastModified": 1750574187,
|
||||
"narHash": "sha256-A2v6EQCnGk67cZstf5nxfH4ZUr9DpUovAvSrLaAfhUM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "b217fe5e1c7d5e19da71e9d344eb4c0945ad2e0b",
|
||||
"rev": "263d9d394e9b9606a82c73941c4145052007799a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -438,11 +438,11 @@
|
||||
"zon2nix": "zon2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750261123,
|
||||
"narHash": "sha256-DQXRonmHaOshX4WyWvdWSvrOQf7+syTo6W3WMd4lHdw=",
|
||||
"lastModified": 1750564801,
|
||||
"narHash": "sha256-A/zncbdhx0lBESpvVZEjVgosBpR76F3loYQKS8iCg9c=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "d0e145292e35994bf86908ac27864ff267ce0e4c",
|
||||
"rev": "5bfdb1b9cfc58eee9c0eca38a1e2ce8e3e38e0fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -497,11 +497,11 @@
|
||||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1750083401,
|
||||
"narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=",
|
||||
"lastModified": 1750431636,
|
||||
"narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad",
|
||||
"rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -533,11 +533,11 @@
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750344736,
|
||||
"narHash": "sha256-pPktfkA5r1zhza2Gw+u7K4g/s9EfpXXMh7m/IQ3mIbs=",
|
||||
"lastModified": 1750531852,
|
||||
"narHash": "sha256-ps4Fa8cq+q13Kb2nj9uxXjIGvsSRBUfcxW5CgquxiQI=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "036729211a94d058b835f5ee212ab15de83bc037",
|
||||
"rev": "171dfc60e5cda8f9fb6c4f662872f35bbe864a53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -595,11 +595,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750275572,
|
||||
"narHash": "sha256-upC/GIlsIgtdtWRGd1obzdXWYQptNkfzZeyAFWgsgf0=",
|
||||
"lastModified": 1750304462,
|
||||
"narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0f355844e54e4c70906b1ef5cc35a0047d666c04",
|
||||
"rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -653,11 +653,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749238452,
|
||||
"narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=",
|
||||
"lastModified": 1750371717,
|
||||
"narHash": "sha256-cNP+bVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8",
|
||||
"rev": "15c6f8f3a567fec9a0f732cd310a7ff456deef88",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -717,11 +717,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750371888,
|
||||
"narHash": "sha256-+8f8R1PdcmmuOES6GtwgdtXKClvXr6kYPa76AHRoLCs=",
|
||||
"lastModified": 1750503503,
|
||||
"narHash": "sha256-UWxbL6a81GWBg990pcct1dzm4HuWIEd1Q6mpV7bHrnM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hypridle",
|
||||
"rev": "cff17e8b52c129dab5b9ca4a6fe214e616e36ab8",
|
||||
"rev": "25578b71370d1ba7bf08127ca4b0959452df4d04",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -746,11 +746,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750373382,
|
||||
"narHash": "sha256-HsBt7sl2ODSHv1LxKxA47j7klCqY4k3fE4SQGnEO0Ac=",
|
||||
"lastModified": 1750589353,
|
||||
"narHash": "sha256-+3W7HI8ZzVqhjaws8++TFaUX8JP2eq9Uzn/KHA/qr0U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"rev": "8ebff1948ff665ff6a1b49fb715b7de0797fae04",
|
||||
"rev": "dd33128c2f127f39c30cca72addb1970b8936d07",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -885,11 +885,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749155776,
|
||||
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=",
|
||||
"lastModified": 1750371812,
|
||||
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522",
|
||||
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -914,11 +914,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749145882,
|
||||
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
||||
"lastModified": 1750371198,
|
||||
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
||||
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -949,11 +949,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750371918,
|
||||
"narHash": "sha256-kUA/ZLAE6zqZ13oNZv7f24o9OBp5G3Yf12kuMQNe1E4=",
|
||||
"lastModified": 1750577079,
|
||||
"narHash": "sha256-KX7nCVTBEMy75mTqZG/GadOSP717HhVv2aSc1sGPTx8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlock",
|
||||
"rev": "e67036e8ccc02af62aa8e885ad7620aa1c2291c7",
|
||||
"rev": "a9638986c31ab74fd95e83057f7cdd5187747ec7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1012,11 +1012,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749819919,
|
||||
"narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=",
|
||||
"lastModified": 1750371096,
|
||||
"narHash": "sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "57ab2a867d8b554ad89f29060c15efd11631db91",
|
||||
"rev": "38f3a211657ce82a1123bf19402199b67a410f08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1062,11 +1062,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749145760,
|
||||
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
||||
"lastModified": 1750371869,
|
||||
"narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
||||
"rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1134,11 +1134,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750230721,
|
||||
"narHash": "sha256-rg/lnazeno/f4VNSv+t2Zwio/OyCYKx5zV9/8hfhfgA=",
|
||||
"lastModified": 1750403547,
|
||||
"narHash": "sha256-XDDINMbHTtKQeSRpX5mwq20z23Wg/I/G4JUinA3V8Xg=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "6c88df8c85ad3f80a5832edc50534a5add255b47",
|
||||
"rev": "52b86b86d925ec00c836ecc6d36f9c947bb15736",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1192,11 +1192,11 @@
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746179441,
|
||||
"narHash": "sha256-WGr2qqxcbh7hotqPj8ZQbSB3E4qG5U2LEmqXx/aEc18=",
|
||||
"lastModified": 1750551105,
|
||||
"narHash": "sha256-F3yRJrOzBzSDLadVTZqOPMaqF+3NSzedi222EawqVWQ=",
|
||||
"owner": "NotAShelf",
|
||||
"repo": "microfetch",
|
||||
"rev": "f7d7c7307308b49175a342a7c63dc0a5044f0fb5",
|
||||
"rev": "bc03fd73a0010c46f379e5d3b510b415bc4273b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1251,11 +1251,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750384700,
|
||||
"narHash": "sha256-/WSASAJl2N786HXrZKWnqsIbUh/ti9VCl8y5Z3FgcvA=",
|
||||
"lastModified": 1750557776,
|
||||
"narHash": "sha256-+BgqY5UK1moaknyb+yi6NOqx63e0lT7V6d2h6lhFQoQ=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "72ef3e7ea3eb1a4e47e68119c268d2cbe8c83e7c",
|
||||
"rev": "6bdd014132028f025d53059a40ce9489c070ca27",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1384,11 +1384,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1750134718,
|
||||
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
|
||||
"lastModified": 1750365781,
|
||||
"narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
|
||||
"rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1429,11 +1429,11 @@
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"lastModified": 1750365781,
|
||||
"narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1484,11 +1484,11 @@
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750426612,
|
||||
"narHash": "sha256-n9nRba1rdgy1C1J+jJ4br36QLlxNHyhirKr0DFpIDVQ=",
|
||||
"lastModified": 1750441488,
|
||||
"narHash": "sha256-JuFBp2xM4JD/XGb69dTSDOdGbUD0fVHlgY9X9GHGTFE=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "76becd77e0fddc0b0371381946478bd2b558baf8",
|
||||
"rev": "18c17b7b8dbf6e0f10e3eb5f1fa5341a9175a3b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1577,11 +1577,11 @@
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1750378317,
|
||||
"narHash": "sha256-4TsZVenbtAR/FgWvxgj0KPiWCuf8kGNBzmbs2xNJ7W4=",
|
||||
"lastModified": 1750538096,
|
||||
"narHash": "sha256-8/KtURbFw0cd15WcqKJOMeF3JoxBbmjk2AWJ8Ud80WY=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "dc2e14d5f38a0a640e4a993d25eb79ce9d828fb8",
|
||||
"rev": "0ddaf2cd7b5c020addb5c35b09dc5ef409701522",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1599,11 +1599,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750214276,
|
||||
"narHash": "sha256-1kniuhH70q4TAC/xIvjFYH46aHiLrbIlcr6fdrRwO1A=",
|
||||
"lastModified": 1750473400,
|
||||
"narHash": "sha256-wiW2j63MyGQyyijRF25hf7Ab7vx4G8pCiGjUe3OGV4c=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "f9b2b2b1327ff6beab4662b8ea41689e0a57b8d4",
|
||||
"rev": "3d7d4c4e284f26d6dc4840491c66884912be0062",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1846,11 +1846,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "nix",
|
||||
"lastModified": 1750014871,
|
||||
"narHash": "sha256-2P4YKeMy9LXy0totnWIWzgW3A0UwB7HY0CfdCt8OOBU=",
|
||||
"lastModified": 1750571237,
|
||||
"narHash": "sha256-sc6D/HSaArKwdzyDvMbirPQlJPHI2PoqUUh1haVOw5Q=",
|
||||
"owner": "wez",
|
||||
"repo": "wezterm",
|
||||
"rev": "d6c178f961d3de351ad72b8176f5d05e8ad8e8c6",
|
||||
"rev": "2b656cb5b931fc32e79421d38a141d1de2f2aeec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1889,11 +1889,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749490041,
|
||||
"narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=",
|
||||
"lastModified": 1750372504,
|
||||
"narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30",
|
||||
"rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -12,6 +12,19 @@
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
# Use system-wide overlays to override linux-firmware
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
linux-firmware = prev.linux-firmware.overrideAttrs (old: rec {
|
||||
version = "20250509";
|
||||
src = prev.fetchzip {
|
||||
url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${version}.tar.xz";
|
||||
hash = "sha256-0FrhgJQyCeRCa3s0vu8UOoN0ZgVCahTQsSH0o6G6hhY=";
|
||||
};
|
||||
});
|
||||
})
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
imports = [
|
||||
./home/programs/aerc
|
||||
./home/programs/alacritty
|
||||
# ./home/programs/anyrun
|
||||
./home/programs/bash
|
||||
./home/programs/chromium
|
||||
./home/programs/discord
|
||||
@@ -16,7 +15,6 @@
|
||||
./home/programs/fuzzel
|
||||
./home/programs/ghostty
|
||||
./home/programs/helix
|
||||
./home/programs/hyprland
|
||||
./home/programs/hyprlock
|
||||
./home/programs/jujutsu
|
||||
./home/programs/kitty
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.home.programs.hyprland;
|
||||
in {
|
||||
options = {
|
||||
home.programs.hyprland.appearance.enable = mkEnableOption "Enables appearance settings in Hyprland";
|
||||
};
|
||||
config = mkIf cfg.appearance.enable {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
general = {
|
||||
gaps_in = 2;
|
||||
gaps_out = "4, 4, 4, 4";
|
||||
border_size = 3;
|
||||
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
#col.inactive_border = rgba(595959aa)
|
||||
"col.active_border" = "rgb(4c7a5d)"; # rgba(b16286ee) 45deg
|
||||
"col.inactive_border" = "rgb(504945)";
|
||||
layout = "dwindle";
|
||||
resize_on_border = true;
|
||||
};
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
blur = {
|
||||
enabled = true;
|
||||
brightness = 1.0;
|
||||
contrast = 1.0;
|
||||
noise = 0.01;
|
||||
vibrancy = 0.15;
|
||||
vibrancy_darkness = 0.5;
|
||||
passes = 1;
|
||||
size = 3;
|
||||
popups = true;
|
||||
popups_ignorealpha = 0.2;
|
||||
};
|
||||
shadow = {
|
||||
enabled = false;
|
||||
color = "rgba(00000025)";
|
||||
ignore_window = true;
|
||||
offset = "0 5";
|
||||
range = 45;
|
||||
render_power = 2;
|
||||
scale = 0.95;
|
||||
};
|
||||
};
|
||||
animations.enabled = true;
|
||||
animation = [
|
||||
"border, 1, 2, default"
|
||||
"fade, 1, 4, default"
|
||||
"windows, 1, 3, default, popin 80%"
|
||||
"workspaces, 1, 2, default, slide"
|
||||
];
|
||||
dwindle = {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true; # you probably want this
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkDefault;
|
||||
cfg = config.home.programs.hyprland;
|
||||
hyprlandPkg = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
in {
|
||||
imports = [
|
||||
./appearance.nix
|
||||
./inputs.nix
|
||||
./keybinds.nix
|
||||
./rules.nix
|
||||
./startup.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
home.programs.hyprland = {
|
||||
enable = mkEnableOption "Enable Hyprland";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.programs.hyprland = {
|
||||
appearance.enable = mkDefault true;
|
||||
inputs.enable = mkDefault true;
|
||||
keybinds.enable = mkDefault true;
|
||||
rules.enable = mkDefault true;
|
||||
startup.enable = mkDefault true;
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = hyprlandPkg;
|
||||
systemd = {
|
||||
enable = false;
|
||||
variables = ["--all"];
|
||||
extraCommands = [
|
||||
"systemctl --user stop graphical-session.target"
|
||||
"systemctl --user start hyprland-session.target"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.home.programs.hyprland;
|
||||
host = osConfig.networking.hostName;
|
||||
in {
|
||||
options = {
|
||||
home.programs.hyprland.inputs.enable = mkEnableOption "Enables input settings in Hyprland";
|
||||
};
|
||||
config = mkIf cfg.inputs.enable (mkMerge [
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor =
|
||||
map (
|
||||
m: "${m.name},${
|
||||
if m.enabled
|
||||
then "${toString m.width}x${toString m.height}@${toString m.refreshRate},${m.position},${toString m.scale},transform,${toString m.transform}${
|
||||
if m.bitDepth != null
|
||||
then ",bitdepth,${toString m.bitDepth}"
|
||||
else ""
|
||||
}"
|
||||
else "disable"
|
||||
}"
|
||||
)
|
||||
config.monitors;
|
||||
|
||||
workspace = map (
|
||||
m: "name:${m.workspace},monitor:${m.name}"
|
||||
) (lib.filter (m: m.enabled && m.workspace != null) config.monitors);
|
||||
|
||||
env = [
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "se";
|
||||
kb_variant = "nodeadkeys";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
disable_while_typing = true;
|
||||
clickfinger_behavior = true;
|
||||
scroll_factor = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_distance = 400;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.2;
|
||||
workspace_swipe_min_speed_to_force = 5;
|
||||
workspace_swipe_direction_lock = true;
|
||||
workspace_swipe_direction_lock_threshold = 10;
|
||||
workspace_swipe_create_new = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
mouse_move_enables_dpms = 1;
|
||||
key_press_enables_dpms = 0;
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
disable_autoreload = true;
|
||||
disable_xdg_env_checks = true;
|
||||
layers_hog_keyboard_focus = false;
|
||||
};
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
(mkIf (host == "cnix") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
render = {
|
||||
explicit_sync = 2;
|
||||
explicit_sync_kms = 2;
|
||||
direct_scanout = false;
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = 2;
|
||||
};
|
||||
general = {
|
||||
allow_tearing = false;
|
||||
};
|
||||
misc = {
|
||||
vrr = 0;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (host == "cnixpad") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
input = {
|
||||
kb_options = "ctrl:swapcaps";
|
||||
};
|
||||
general = {
|
||||
allow_tearing = false;
|
||||
};
|
||||
misc = {
|
||||
vrr = 0;
|
||||
vfr = 1;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (host == "toothpc") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
render = {
|
||||
explicit_sync = 0;
|
||||
explicit_sync_kms = 0;
|
||||
direct_scanout = false;
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
general = {
|
||||
allow_tearing = false;
|
||||
};
|
||||
misc = {
|
||||
vrr = 0;
|
||||
};
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
@@ -1,130 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.home.programs.hyprland;
|
||||
host = osConfig.networking.hostName;
|
||||
|
||||
toggle = program: let
|
||||
prog = builtins.substring 0 14 program;
|
||||
in "pkill ${prog} || uwsm app -- ${program}";
|
||||
|
||||
runOnce = program: "pgrep ${program} || uwsm app -- ${program}";
|
||||
in {
|
||||
options = {
|
||||
home.programs.hyprland.keybinds.enable = mkEnableOption "Enables keybind settings in Hyprland";
|
||||
};
|
||||
|
||||
config = mkIf cfg.keybinds.enable (mkMerge [
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# Common Keybind Variables
|
||||
"$fileManager" = "thunar";
|
||||
"$yazi" = "foot -e yazi";
|
||||
"$launcher" = "fuzzel";
|
||||
|
||||
bind = [
|
||||
"$mod, SPACE, exec, $launcher"
|
||||
"$mod, R, exec, $launcher"
|
||||
"$mod, L, exec, ${toggle "nwg-bar"}"
|
||||
"$mod SHIFT, B, exec, pkill -SIGUSR2 waybar"
|
||||
"$mod, A, exec, pkill -SIGUSR1 waybar"
|
||||
"$mod, T, exec, $terminal"
|
||||
"$mod, W, exec, $browser"
|
||||
"$mod, K, exec, keepassxc"
|
||||
"$mod SHIFT, W, exec, $browserinc"
|
||||
"$mod, Q, killactive,"
|
||||
"$mod, E, exec, $fileManager"
|
||||
"$mod SHIFT, E, exec, $yazi"
|
||||
"$mod, F, fullscreen,"
|
||||
"$mod SHIFT, F, togglefloating,"
|
||||
"$mod, P, pseudo,"
|
||||
"$mod, J, togglesplit,"
|
||||
"$mod, C, exec, hyprctl dispatch exec copyq toggle"
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
",XF86AudioLowerVolume, exec, volume-control.sh --dec"
|
||||
",XF86AudioRaiseVolume, exec, volume-control.sh --inc"
|
||||
",XF86AudioMute, exec, volume-control.sh --toggle"
|
||||
",XF86AudioMicMute, exec, volume-control.sh --toggle-mic"
|
||||
|
||||
",XF86MonBrightnessDown, exec, brightnessctl s 5%-"
|
||||
",XF86MonBrightnessUp, exec, brightnessctl s +5%"
|
||||
"$mod, XF86MonBrightnessUp, exec, hyprctl dispatch dpms on"
|
||||
"$mod, XF86MonBrightnessDown, exec, hyprctl dispatch dpms off"
|
||||
|
||||
",Insert, exec, ${runOnce "grimblast"} --notify --freeze copysave area"
|
||||
"SHIFT, Insert, exec, ${runOnce "grimblast"} --notify --freeze copysave output"
|
||||
"ALT, Insert, exec, ${runOnce "grimblast"} --freeze save area - | ${runOnce "tesseract"} - - | wl-copy && ${runOnce "notify-send"} -t 3000 'OCR result copied to buffer'"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
(mkIf (host == "cnix") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$terminal" = "ghostty";
|
||||
"$browser" = "zen";
|
||||
"$browserinc" = "zen --private-window";
|
||||
"$mod" = "SUPER";
|
||||
bind = [
|
||||
# Add more host-specific binds as needed
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (host == "cnixpad") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$terminal" = "foot";
|
||||
"$browser" = "zen";
|
||||
"$browserinc" = "zen --private-window";
|
||||
"$mod" = "ALT_L";
|
||||
bind = [
|
||||
# Add more host-specific binds as needed
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (host == "toothpc") {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$terminal" = "alacritty";
|
||||
"$browser" = "firefox";
|
||||
"$browserinc" = "firefox --private-window";
|
||||
"$mod" = "ALT_L";
|
||||
bind = [
|
||||
# Add more host-specific binds as needed
|
||||
];
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.home.programs.hyprland.rules;
|
||||
in {
|
||||
options = {
|
||||
home.programs.hyprland.rules.enable = mkEnableOption "Enables window rule settings in Hyprland";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
windowrulev2 = [
|
||||
# === CALCURSE SETTINGS ===
|
||||
"size 843 650, initialTitle:^(floatcal)$"
|
||||
"move 100%-w-20 40, initialTitle:^(floatcal)$"
|
||||
"float, initialTitle:^(floatcal)$"
|
||||
|
||||
# === TUIRUN SETTINGS ===
|
||||
"size 600 300, title:^(tuirun)$"
|
||||
"center, title:^(tuirun)$"
|
||||
# "workspace special:tuirun, initialTitle:^(tuirun)$"
|
||||
"noborder, title:^(tuirun)$"
|
||||
"float, title:^(tuirun)$"
|
||||
|
||||
# === KEEPASSXC SETTINGS ===
|
||||
"size 843 530, class:^(org.keepassxc.KeePassXC)$"
|
||||
"move 100%-w-20 40, class:^(org.keepassxc.KeePassXC)$"
|
||||
"float, class:^(org.keepassxc.KeePassXC)$"
|
||||
|
||||
# === SUPPRESS MAXIMIZE EVENT ===
|
||||
"suppressevent maximize, class:.*" # Suppress maximize events for all windows
|
||||
|
||||
# === NWG-LOOK SETTINGS ===
|
||||
"center, class:^(nwg-look)$"
|
||||
"float, class:^(nwg-look)$"
|
||||
|
||||
# === OCULANTE SETTINGS ===
|
||||
"center, class:^(oculante)$"
|
||||
"float, class:^(oculante)$"
|
||||
|
||||
# === PAVUCONTROL SETTINGS ===
|
||||
"move 100%-w-20 40, class:^(pavucontrol)$"
|
||||
"size 741 585, class:^(pavucontrol)$"
|
||||
"float, class:^(pavucontrol)$"
|
||||
|
||||
# === XARCHIVER SETTINGS ===
|
||||
"center, class:^(xarchiver)$"
|
||||
"float, class:^(xarchiver)$"
|
||||
|
||||
# === FLOATING APPLICATIONS ===
|
||||
"float, class:^(org.gnome.FileRoller)$"
|
||||
"float, class:^(org.freedesktop.impl.portal.desktop.kde)$"
|
||||
"float, class:^(org.corectrl.CoreCtrl)$"
|
||||
"float, class:^(feh)$"
|
||||
"float, class:^(polkit-gnome-authentication-agent-1)$"
|
||||
"float, class:^(org.gnome.Calculator)$"
|
||||
"float, class:^(com.github.hluk.copyq)$"
|
||||
"float, class:^(blueman-manager)$"
|
||||
|
||||
# === WORKSPACE RULES ===
|
||||
"workspace 5 silent, class:^(discord)$"
|
||||
];
|
||||
windowrule = [];
|
||||
workspace = [
|
||||
"name:2,monitor:DP-3"
|
||||
"name:3,monitor:DP-3"
|
||||
"name:4,monitor:DP-3"
|
||||
"name:6,monitor:DP-3"
|
||||
"name:7,monitor:DP-3"
|
||||
"name:8,monitor:DP-3"
|
||||
"name:9,monitor:DP-3"
|
||||
"name:10,monitor:DP-3"
|
||||
];
|
||||
layerrule = [
|
||||
"animation fade,hyprpicker"
|
||||
"animation fade,selection"
|
||||
|
||||
"noanim,waybar"
|
||||
"ignorezero,waybar"
|
||||
"ignorealpha 0.0,waybar"
|
||||
|
||||
"blur,notifications"
|
||||
"ignorezero,notifications"
|
||||
|
||||
"noanim,wallpaper"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkMerge;
|
||||
cfg = config.home.programs.hyprland;
|
||||
host = osConfig.networking.hostName;
|
||||
in {
|
||||
options = {
|
||||
home.programs.hyprland.startup.enable = mkEnableOption "Enables startup settings in Hyprland";
|
||||
};
|
||||
|
||||
config = mkIf cfg.startup.enable (mkMerge [
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"sleep 2 && uwsm finalize"
|
||||
"hyprlock"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
(mkIf (host == "cnix") {
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- blueman-applet"
|
||||
"uwsm app -- keepassxc"
|
||||
"uwsm app -- pamixer --set-volume 50"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
"uwsm app -- nm-applet --indicator"
|
||||
];
|
||||
})
|
||||
|
||||
(mkIf (host == "cnixpad") {
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"uwsm app -- blueman-applet"
|
||||
"uwsm app -- keepassxc"
|
||||
"uwsm app -- pamixer --set-volume 50"
|
||||
"uwsm app -- nm-applet --indicator"
|
||||
];
|
||||
})
|
||||
|
||||
(mkIf (host == "toothpc") {
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"uwsm app -- mullvad-vpn"
|
||||
"uwsm app -- keepassxc"
|
||||
"uwsm app -- solaar -w hide -b regular"
|
||||
"uwsm app -- nm-applet --indicator"
|
||||
];
|
||||
})
|
||||
]);
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkDefault;
|
||||
@@ -33,6 +34,7 @@ in {
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
withUWSM = true;
|
||||
};
|
||||
environment.variables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
@@ -65,8 +65,6 @@ in {
|
||||
(mkIf (host == "cnixtop") {
|
||||
programs.hyprland.settings = {
|
||||
render = {
|
||||
explicit_sync = 2;
|
||||
explicit_sync_kms = 2;
|
||||
direct_scanout = false;
|
||||
};
|
||||
cursor = {
|
||||
@@ -99,8 +97,6 @@ in {
|
||||
(mkIf (host == "toothpc") {
|
||||
programs.hyprland.settings = {
|
||||
render = {
|
||||
explicit_sync = 0;
|
||||
explicit_sync_kms = 0;
|
||||
direct_scanout = false;
|
||||
};
|
||||
cursor = {
|
||||
|
||||
@@ -14,7 +14,7 @@ in {
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
programs.hyprland.settings = {
|
||||
windowrulev2 = [
|
||||
windowrule = [
|
||||
# === CALCURSE SETTINGS ===
|
||||
"size 843 650, initialTitle:^(floatcal)$"
|
||||
"move 100%-w-20 40, initialTitle:^(floatcal)$"
|
||||
@@ -68,7 +68,6 @@ in {
|
||||
"workspace 4 silent, class:^(steam_app_0)$"
|
||||
"workspace 4 silent, title:^(World of Warcraft)$"
|
||||
];
|
||||
windowrule = [];
|
||||
layerrule = [
|
||||
"animation fade,hyprpicker"
|
||||
"animation fade,selection"
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.nixos.programs.hyprland;
|
||||
# hyprsysteminfoFlake = inputs.hyprsysteminfo.packages.${pkgs.system}.default;
|
||||
in {
|
||||
options = {
|
||||
nixos.programs.hyprland = {
|
||||
enable = mkEnableOption "Enables hyprland";
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
security.pam.services.hyprlock.text = "auth include login";
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
environment = {
|
||||
variables.NIXOS_OZONE_WL = "1";
|
||||
systemPackages = [
|
||||
# pkgs.hyprwayland-scanner
|
||||
# hyprsysteminfoFlake
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -41,9 +41,6 @@
|
||||
helix = {
|
||||
enable = true;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
@@ -43,9 +43,6 @@
|
||||
helix = {
|
||||
enable = true;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = false;
|
||||
};
|
||||
|
||||
@@ -31,9 +31,6 @@
|
||||
helix = {
|
||||
enable = true;
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user