Compare commits
7 Commits
cc77467709
...
4af0783c14
Author | SHA1 | Date | |
---|---|---|---|
4af0783c14
|
|||
ee677b5c4c
|
|||
e65fbecd3c
|
|||
62584588f5
|
|||
638b0c9366
|
|||
b005336b02
|
|||
2412129204
|
477
flake.lock
generated
477
flake.lock
generated
@ -1,5 +1,38 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752743471,
|
||||||
|
"narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
@ -40,6 +73,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
@ -54,7 +103,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
"flake-compat_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
@ -112,7 +161,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@ -143,6 +192,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752666637,
|
"lastModified": 1752666637,
|
||||||
@ -178,6 +249,318 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hypr-dynamic-cursors": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland": [
|
||||||
|
"hyprland"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752956935,
|
||||||
|
"narHash": "sha256-Yd5oSg1gS/mwobd5YFrLC3I4bar/cSGNGuIvxF3UeHE=",
|
||||||
|
"owner": "VirtCode",
|
||||||
|
"repo": "hypr-dynamic-cursors",
|
||||||
|
"rev": "d6eb0b798c9b07f7f866647c8eb1d75a930501be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "VirtCode",
|
||||||
|
"repo": "hypr-dynamic-cursors",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1749155331,
|
||||||
|
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprgraphics": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752149140,
|
||||||
|
"narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprgraphics",
|
||||||
|
"rev": "340494a38b5ec453dfc542c6226481f736cc8a9a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprgraphics",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
|
"hyprgraphics": "hyprgraphics",
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprland-qtutils": "hyprland-qtutils",
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"hyprutils": "hyprutils",
|
||||||
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
|
"systems": "systems",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753175652,
|
||||||
|
"narHash": "sha256-IXwbcUXRMINAcmmOoscjcElf990YSUCsPHoab0GAJ2M=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"rev": "fdbbad04bbf2382e9a980418c976668fc062f195",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-plugins": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland": [
|
||||||
|
"hyprland"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland-plugins",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753028264,
|
||||||
|
"narHash": "sha256-GbfsRZWW5uBAOeddLkmrYV2XmAbI0etVUTBXFH5thcw=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"rev": "14f9a444793d6dd78c29033acf9c3c974ded708d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1749046714,
|
||||||
|
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-qt-support": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1749154592,
|
||||||
|
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qt-support",
|
||||||
|
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qt-support",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-qtutils": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-qt-support": "hyprland-qt-support",
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"hyprlang",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1750371812,
|
||||||
|
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qtutils",
|
||||||
|
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qtutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1750371198,
|
||||||
|
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprutils": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752252310,
|
||||||
|
"narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprwayland-scanner": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751897909,
|
||||||
|
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737831083,
|
"lastModified": 1737831083,
|
||||||
@ -241,7 +624,7 @@
|
|||||||
},
|
},
|
||||||
"nix-alien": {
|
"nix-alien": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@ -350,7 +733,7 @@
|
|||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nuschtosSearch": "nuschtosSearch",
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752762787,
|
"lastModified": 1752762787,
|
||||||
@ -368,7 +751,7 @@
|
|||||||
},
|
},
|
||||||
"nps": {
|
"nps": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -448,12 +831,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pre-commit-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1750779888,
|
||||||
|
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"hardware": "hardware",
|
"hardware": "hardware",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"hypr-dynamic-cursors": "hypr-dynamic-cursors",
|
||||||
|
"hyprland": "hyprland",
|
||||||
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"nix-alien": "nix-alien",
|
"nix-alien": "nix-alien",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
@ -486,6 +895,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
@ -500,7 +924,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
@ -535,6 +959,47 @@
|
|||||||
"repo": "textfox",
|
"repo": "textfox",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"xdph": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-protocols"
|
||||||
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751300244,
|
||||||
|
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
@ -47,8 +47,10 @@
|
|||||||
# HyprPlugins
|
# HyprPlugins
|
||||||
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
|
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
|
||||||
hyprland-plugins.inputs.nixpkgs.follows = "nixpkgs";
|
hyprland-plugins.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
hyprland-plugins.inputs.hyprland.follows = "hyprland";
|
||||||
hypr-dynamic-cursors.url = "github:VirtCode/hypr-dynamic-cursors";
|
hypr-dynamic-cursors.url = "github:VirtCode/hypr-dynamic-cursors";
|
||||||
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
hypr-dynamic-cursors.inputs.hyprland.follows = "hyprland";
|
||||||
|
|
||||||
# NeoVim <3
|
# NeoVim <3
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
|
@ -82,136 +82,7 @@
|
|||||||
signCommits = true;
|
signCommits = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland = {
|
hyprland = import ./hyprland.nix {inherit config headless;};
|
||||||
enable = !headless;
|
|
||||||
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
|
||||||
|
|
||||||
keybindings = {
|
|
||||||
main-mod = "SUPER";
|
|
||||||
|
|
||||||
bindings = {
|
|
||||||
"$mainMod, t" = ["exec, kitty"];
|
|
||||||
"$mainMod, e" = ["exec, kitty --title=Yazi yazi"];
|
|
||||||
"$mainMod, n" = ["exec, neovide"];
|
|
||||||
# "$mainMod, r" = ["exec, kitty --title=Rmpc rmpc"];
|
|
||||||
"$mainMod CTRL, n" = ["exec, kitty --title=Navi navi"];
|
|
||||||
"$mainMod SHIFT, n" = ["exec, neovide ${config.paths.dotfiles}/navi/christoph.cheat"];
|
|
||||||
"$mainMod SHIFT, f" = ["exec, neovide ${config.paths.dotfiles}/flake.nix"];
|
|
||||||
|
|
||||||
"$mainMod, p" = ["exec, hyprpicker --autocopy --format=hex"];
|
|
||||||
"$mainMod, s" = ["exec, grim -g \"$(slurp)\""];
|
|
||||||
"$mainMod CTRL, s" = ["exec, grim -g \"$(slurp)\" - | wl-copy"];
|
|
||||||
"$mainMod SHIFT, s" = ["exec, grim -g \"$(slurp)\" - | wl-copy"];
|
|
||||||
|
|
||||||
", XF86AudioRaiseVolume" = ["exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"];
|
|
||||||
", XF86AudioLowerVolume" = ["exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"];
|
|
||||||
", XF86AudioPlay" = ["exec, playerctl play-pause"];
|
|
||||||
", XF86AudioPrev" = ["exec, playerctl previous"];
|
|
||||||
", XF86AudioNext" = ["exec, playerctl next"];
|
|
||||||
|
|
||||||
", XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset gamma -10"];
|
|
||||||
", XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset gamma +10"];
|
|
||||||
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
|
||||||
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
|
||||||
|
|
||||||
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
|
||||||
};
|
|
||||||
|
|
||||||
ws-bindings = {
|
|
||||||
# "<Workspace>" = "<Key>";
|
|
||||||
"1" = "1";
|
|
||||||
"2" = "2";
|
|
||||||
"3" = "3";
|
|
||||||
"4" = "4";
|
|
||||||
"5" = "5";
|
|
||||||
"6" = "6";
|
|
||||||
"7" = "7";
|
|
||||||
"8" = "8";
|
|
||||||
"9" = "9";
|
|
||||||
"10" = "0";
|
|
||||||
};
|
|
||||||
|
|
||||||
special-ws-bindings = {
|
|
||||||
"ferdium" = "x";
|
|
||||||
"msty" = "z";
|
|
||||||
"btop" = "b";
|
|
||||||
"rmpc" = "r";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
autostart = {
|
|
||||||
immediate = [
|
|
||||||
"kitty"
|
|
||||||
"zeal"
|
|
||||||
"nextcloud --background"
|
|
||||||
"protonvpn-app"
|
|
||||||
|
|
||||||
# "kdeconnect-indicator" # started by services.kdeconnect.indicator
|
|
||||||
];
|
|
||||||
|
|
||||||
delayed = [
|
|
||||||
"keepassxc" # The tray doesn't work when started too early
|
|
||||||
];
|
|
||||||
|
|
||||||
special-silent = {
|
|
||||||
"ferdium" = ["ferdium"];
|
|
||||||
"msty" = ["msty"];
|
|
||||||
"btop" = ["kitty --title=Btop btop"];
|
|
||||||
"rmpc" = ["kitty --title=Rmpc rmpc"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
windowrules = [];
|
|
||||||
|
|
||||||
workspacerules = {
|
|
||||||
"1" = [];
|
|
||||||
"2" = ["Zotero" "neovide" "code-url-handler"];
|
|
||||||
"3" = ["obsidian" "unityhub" "Unity"];
|
|
||||||
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
|
||||||
"5" = ["steam"];
|
|
||||||
"6" = ["steam_app_(.+)"];
|
|
||||||
"7" = ["signal"];
|
|
||||||
"8" = ["tidal-hifi"];
|
|
||||||
"9" = ["discord"];
|
|
||||||
"10" = ["python3"];
|
|
||||||
};
|
|
||||||
|
|
||||||
floating = [
|
|
||||||
{class = "org.kde.polkit-kde-authentication-agent-1";}
|
|
||||||
{
|
|
||||||
class = "thunar";
|
|
||||||
title = "File Operation Progress";
|
|
||||||
}
|
|
||||||
{class = "ffplay";}
|
|
||||||
];
|
|
||||||
|
|
||||||
transparent-opacity = "0.75";
|
|
||||||
|
|
||||||
transparent = [
|
|
||||||
"kitty"
|
|
||||||
"Alacritty"
|
|
||||||
"discord"
|
|
||||||
"signal"
|
|
||||||
"vesktop"
|
|
||||||
"Spotify"
|
|
||||||
"tidal-hifi"
|
|
||||||
"obsidian"
|
|
||||||
"firefox"
|
|
||||||
"org.qutebrowser.qutebrowser"
|
|
||||||
"jetbrains-clion"
|
|
||||||
"jetbrains-idea"
|
|
||||||
"jetbrains-pycharm"
|
|
||||||
"jetbrains-rustrover"
|
|
||||||
"jetbrains-rider"
|
|
||||||
"jetbrains-webstorm"
|
|
||||||
"code-url-handler"
|
|
||||||
"neovide"
|
|
||||||
"steam"
|
|
||||||
"ferdium"
|
|
||||||
"Msty"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprpanel.enable = !headless;
|
hyprpanel.enable = !headless;
|
||||||
kitty.enable = !headless;
|
kitty.enable = !headless;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
@ -561,17 +432,20 @@
|
|||||||
waves = false; # default false
|
waves = false; # default false
|
||||||
};
|
};
|
||||||
|
|
||||||
color = {
|
color = let
|
||||||
|
color = config.modules.color;
|
||||||
|
in {
|
||||||
# https://github.com/catppuccin/cava/blob/main/themes/latte-transparent.cava
|
# https://github.com/catppuccin/cava/blob/main/themes/latte-transparent.cava
|
||||||
gradient = 1;
|
gradient = 1;
|
||||||
gradient_color_1 = "'#179299'";
|
|
||||||
gradient_color_2 = "'#04a5e5'";
|
gradient_color_1 = "'${color.hexS.teal}'";
|
||||||
gradient_color_3 = "'#209fb5'";
|
gradient_color_2 = "'${color.hexS.sky}'";
|
||||||
gradient_color_4 = "'#1e66f5'";
|
gradient_color_3 = "'${color.hexS.sapphire}'";
|
||||||
gradient_color_5 = "'#8839ef'";
|
gradient_color_4 = "'${color.hexS.blue}'";
|
||||||
gradient_color_6 = "'#ea76cb'";
|
gradient_color_5 = "'${color.hexS.mauve}'";
|
||||||
gradient_color_7 = "'#e64553'";
|
gradient_color_6 = "'${color.hexS.pink}'";
|
||||||
gradient_color_8 = "'#d20f39'";
|
gradient_color_7 = "'${color.hexS.maroon}'";
|
||||||
|
gradient_color_8 = "'${color.hexS.red}'";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
132
home/christoph/hyprland.nix
Normal file
132
home/christoph/hyprland.nix
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
headless,
|
||||||
|
}: {
|
||||||
|
enable = !headless;
|
||||||
|
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
||||||
|
|
||||||
|
keybindings = {
|
||||||
|
main-mod = "SUPER";
|
||||||
|
|
||||||
|
bindings = {
|
||||||
|
"$mainMod, t" = ["exec, kitty"];
|
||||||
|
"$mainMod, e" = ["exec, kitty --title=Yazi yazi"];
|
||||||
|
"$mainMod, n" = ["exec, neovide"];
|
||||||
|
# "$mainMod, r" = ["exec, kitty --title=Rmpc rmpc"];
|
||||||
|
"$mainMod CTRL, n" = ["exec, kitty --title=Navi navi"];
|
||||||
|
"$mainMod SHIFT, n" = ["exec, neovide ${config.paths.dotfiles}/navi/christoph.cheat"];
|
||||||
|
"$mainMod SHIFT, f" = ["exec, neovide ${config.paths.dotfiles}/flake.nix"];
|
||||||
|
|
||||||
|
"$mainMod, p" = ["exec, hyprpicker --autocopy --format=hex"];
|
||||||
|
"$mainMod, s" = ["exec, grim -g \"$(slurp)\""];
|
||||||
|
"$mainMod CTRL, s" = ["exec, grim -g \"$(slurp)\" - | wl-copy"];
|
||||||
|
"$mainMod SHIFT, s" = ["exec, grim -g \"$(slurp)\" - | wl-copy"];
|
||||||
|
|
||||||
|
", XF86AudioRaiseVolume" = ["exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"];
|
||||||
|
", XF86AudioLowerVolume" = ["exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"];
|
||||||
|
", XF86AudioPlay" = ["exec, playerctl play-pause"];
|
||||||
|
", XF86AudioPrev" = ["exec, playerctl previous"];
|
||||||
|
", XF86AudioNext" = ["exec, playerctl next"];
|
||||||
|
|
||||||
|
", XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset gamma -10"];
|
||||||
|
", XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset gamma +10"];
|
||||||
|
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
||||||
|
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
||||||
|
|
||||||
|
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
||||||
|
};
|
||||||
|
|
||||||
|
ws-bindings = {
|
||||||
|
# "<Workspace>" = "<Key>";
|
||||||
|
"1" = "1";
|
||||||
|
"2" = "2";
|
||||||
|
"3" = "3";
|
||||||
|
"4" = "4";
|
||||||
|
"5" = "5";
|
||||||
|
"6" = "6";
|
||||||
|
"7" = "7";
|
||||||
|
"8" = "8";
|
||||||
|
"9" = "9";
|
||||||
|
"10" = "0";
|
||||||
|
};
|
||||||
|
|
||||||
|
special-ws-bindings = {
|
||||||
|
"ferdium" = "x";
|
||||||
|
"msty" = "z";
|
||||||
|
"btop" = "b";
|
||||||
|
"rmpc" = "r";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
autostart = {
|
||||||
|
immediate = [
|
||||||
|
"kitty"
|
||||||
|
"zeal"
|
||||||
|
"nextcloud --background"
|
||||||
|
"protonvpn-app"
|
||||||
|
|
||||||
|
# "kdeconnect-indicator" # started by services.kdeconnect.indicator
|
||||||
|
];
|
||||||
|
|
||||||
|
delayed = [
|
||||||
|
"keepassxc" # The tray doesn't work when started too early
|
||||||
|
];
|
||||||
|
|
||||||
|
special-silent = {
|
||||||
|
"ferdium" = ["ferdium"];
|
||||||
|
"msty" = ["msty"];
|
||||||
|
"btop" = ["kitty --title=Btop btop"];
|
||||||
|
"rmpc" = ["kitty --title=Rmpc rmpc"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
windowrules = [];
|
||||||
|
|
||||||
|
workspacerules = {
|
||||||
|
"1" = [];
|
||||||
|
"2" = ["Zotero" "neovide" "code-url-handler"];
|
||||||
|
"3" = ["obsidian" "unityhub" "Unity"];
|
||||||
|
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
||||||
|
"5" = ["steam"];
|
||||||
|
"6" = ["steam_app_(.+)"];
|
||||||
|
"7" = ["signal"];
|
||||||
|
"8" = ["tidal-hifi"];
|
||||||
|
"9" = ["discord"];
|
||||||
|
"10" = ["python3"];
|
||||||
|
};
|
||||||
|
|
||||||
|
floating = [
|
||||||
|
{class = "org.kde.polkit-kde-authentication-agent-1";}
|
||||||
|
{
|
||||||
|
class = "thunar";
|
||||||
|
title = "File Operation Progress";
|
||||||
|
}
|
||||||
|
{class = "ffplay";}
|
||||||
|
];
|
||||||
|
|
||||||
|
transparent-opacity = "0.75";
|
||||||
|
|
||||||
|
transparent = [
|
||||||
|
"kitty"
|
||||||
|
"Alacritty"
|
||||||
|
"discord"
|
||||||
|
"signal"
|
||||||
|
"vesktop"
|
||||||
|
"Spotify"
|
||||||
|
"tidal-hifi"
|
||||||
|
"obsidian"
|
||||||
|
"firefox"
|
||||||
|
"org.qutebrowser.qutebrowser"
|
||||||
|
"jetbrains-clion"
|
||||||
|
"jetbrains-idea"
|
||||||
|
"jetbrains-pycharm"
|
||||||
|
"jetbrains-rustrover"
|
||||||
|
"jetbrains-rider"
|
||||||
|
"jetbrains-webstorm"
|
||||||
|
"code-url-handler"
|
||||||
|
"neovide"
|
||||||
|
"steam"
|
||||||
|
"ferdium"
|
||||||
|
"Msty"
|
||||||
|
];
|
||||||
|
}
|
@ -10,20 +10,21 @@
|
|||||||
}: let
|
}: let
|
||||||
inherit (config.modules) hyprland color;
|
inherit (config.modules) hyprland color;
|
||||||
|
|
||||||
|
# Autostart programs
|
||||||
|
always-exec = import ./autostart.nix {inherit lib pkgs config hyprland;};
|
||||||
|
|
||||||
|
# Keybindings
|
||||||
always-bind = import ./mappings.nix {inherit lib config hyprland;};
|
always-bind = import ./mappings.nix {inherit lib config hyprland;};
|
||||||
|
|
||||||
|
# Mousebindings
|
||||||
always-bindm = {
|
always-bindm = {
|
||||||
"$mainMod, mouse:272" = ["movewindow"];
|
"$mainMod, mouse:272" = ["movewindow"];
|
||||||
"$mainMod, mouse:273" = ["resizewindow"];
|
"$mainMod, mouse:273" = ["resizewindow"];
|
||||||
};
|
};
|
||||||
|
|
||||||
always-exec = import ./autostart.nix {inherit lib pkgs config hyprland;};
|
|
||||||
in {
|
in {
|
||||||
options.modules.hyprland = import ./options.nix {inherit lib mylib;};
|
options.modules.hyprland = import ./options.nix {inherit lib mylib;};
|
||||||
|
|
||||||
config = lib.mkIf hyprland.enable {
|
config = lib.mkIf hyprland.enable {
|
||||||
# Some assertion is not possible if HM is used standalone,
|
|
||||||
# because nixosConfig won't be available.
|
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = nixosConfig.programs.hyprland.enable;
|
assertion = nixosConfig.programs.hyprland.enable;
|
||||||
@ -149,205 +150,16 @@ in {
|
|||||||
inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars
|
inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars
|
||||||
];
|
];
|
||||||
|
|
||||||
settings = {
|
settings = import ./settings.nix {
|
||||||
"$mainMod" = "${hyprland.keybindings.main-mod}";
|
inherit
|
||||||
|
lib
|
||||||
general = {
|
config
|
||||||
gaps_in = 5;
|
hyprland
|
||||||
gaps_out = 10;
|
color
|
||||||
border_size = 2;
|
always-exec
|
||||||
|
always-bind
|
||||||
"col.active_border" = "rgb(${color.hex.accent})";
|
|
||||||
"col.inactive_border" = "rgb(${color.hex.base})";
|
|
||||||
};
|
|
||||||
|
|
||||||
group = {
|
|
||||||
groupbar = {
|
|
||||||
enabled = true;
|
|
||||||
render_titles = false;
|
|
||||||
font_size = 10;
|
|
||||||
gradients = false;
|
|
||||||
|
|
||||||
"col.active" = "rgb(${color.hex.accent})";
|
|
||||||
"col.inactive" = "rgb(${color.hex.base})";
|
|
||||||
};
|
|
||||||
|
|
||||||
"col.border_active" = "rgb(${color.hex.accent})";
|
|
||||||
"col.border_inactive" = "rgb(${color.hex.base})";
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = hyprland.keyboard.layout;
|
|
||||||
kb_variant = hyprland.keyboard.variant;
|
|
||||||
kb_options = hyprland.keyboard.option;
|
|
||||||
kb_model = "pc104";
|
|
||||||
kb_rules = "";
|
|
||||||
|
|
||||||
follow_mouse = true;
|
|
||||||
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = "no";
|
|
||||||
};
|
|
||||||
|
|
||||||
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
|
||||||
};
|
|
||||||
|
|
||||||
monitor = let
|
|
||||||
mkMonitor = name: conf:
|
|
||||||
"${name}, "
|
|
||||||
+ "${builtins.toString conf.width}x${builtins.toString conf.height}@"
|
|
||||||
+ "${builtins.toString conf.rate}, "
|
|
||||||
+ "${builtins.toString conf.x}x${builtins.toString conf.y}, "
|
|
||||||
+ "${builtins.toString conf.scale}";
|
|
||||||
in
|
|
||||||
hyprland.monitors
|
|
||||||
|> builtins.mapAttrs mkMonitor
|
|
||||||
|> builtins.attrValues;
|
|
||||||
|
|
||||||
workspace = let
|
|
||||||
mkWorkspace = monitor: workspace:
|
|
||||||
"${builtins.toString workspace}, "
|
|
||||||
+ "monitor:${builtins.toString monitor}";
|
|
||||||
|
|
||||||
mkWorkspaces = monitor: workspace-list:
|
|
||||||
builtins.map (mkWorkspace monitor) workspace-list;
|
|
||||||
in
|
|
||||||
hyprland.workspaces
|
|
||||||
|> builtins.mapAttrs mkWorkspaces
|
|
||||||
|> builtins.attrValues
|
|
||||||
|> builtins.concatLists;
|
|
||||||
|
|
||||||
bind = let
|
|
||||||
mkBind = key: action: "${key}, ${action}";
|
|
||||||
mkBinds = key: actions: builtins.map (mkBind key) actions;
|
|
||||||
in
|
|
||||||
(hyprland.keybindings.bindings // always-bind)
|
|
||||||
|> builtins.mapAttrs mkBinds
|
|
||||||
|> builtins.attrValues
|
|
||||||
|> builtins.concatLists;
|
|
||||||
|
|
||||||
bindm = let
|
|
||||||
mkBind = key: action: "${key}, ${action}";
|
|
||||||
mkBinds = key: actions: builtins.map (mkBind key) actions;
|
|
||||||
in
|
|
||||||
always-bindm
|
always-bindm
|
||||||
|> builtins.mapAttrs mkBinds
|
;
|
||||||
|> builtins.attrValues
|
|
||||||
|> builtins.concatLists;
|
|
||||||
|
|
||||||
exec-once = let
|
|
||||||
mkDelayedStart = str: ''hyprctl dispatch exec "sleep 5s && ${str}"'';
|
|
||||||
|
|
||||||
mkSpecialSilentStart = w: str: "[workspace special:${w} silent] ${str}";
|
|
||||||
mkSpecialSilentStarts = w: strs: builtins.map (mkSpecialSilentStart w) strs;
|
|
||||||
in
|
|
||||||
lib.mkMerge [
|
|
||||||
always-exec
|
|
||||||
hyprland.autostart.immediate
|
|
||||||
(hyprland.autostart.special-silent
|
|
||||||
|> builtins.mapAttrs mkSpecialSilentStarts
|
|
||||||
|> builtins.attrValues
|
|
||||||
|> builtins.concatLists)
|
|
||||||
(hyprland.autostart.delayed
|
|
||||||
|> builtins.map mkDelayedStart)
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrule = let
|
|
||||||
mkWorkspaceRule = workspace: class:
|
|
||||||
"workspace ${workspace}, "
|
|
||||||
+ "class:^(${class})$";
|
|
||||||
mkWorkspaceRules = workspace: class-list:
|
|
||||||
builtins.map (mkWorkspaceRule workspace) class-list;
|
|
||||||
|
|
||||||
mkFloatingRule = attrs:
|
|
||||||
"float"
|
|
||||||
+ (lib.optionalString (builtins.hasAttr "class" attrs) ", class:^(${attrs.class})$")
|
|
||||||
+ (lib.optionalString (builtins.hasAttr "title" attrs) ", title:^(${attrs.title})$");
|
|
||||||
|
|
||||||
mkTranslucentRule = class:
|
|
||||||
"opacity ${hyprland.transparent-opacity} ${hyprland.transparent-opacity}, "
|
|
||||||
+ "class:^(${class})$";
|
|
||||||
in
|
|
||||||
lib.mkMerge [
|
|
||||||
(hyprland.workspacerules
|
|
||||||
|> builtins.mapAttrs mkWorkspaceRules
|
|
||||||
|> builtins.attrValues
|
|
||||||
|> builtins.concatLists)
|
|
||||||
(hyprland.floating
|
|
||||||
|> builtins.map mkFloatingRule)
|
|
||||||
(hyprland.transparent
|
|
||||||
|> builtins.map mkTranslucentRule)
|
|
||||||
hyprland.windowrules
|
|
||||||
];
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
|
||||||
new_status = "master";
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
# Say no to the anime girl
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
force_default_wallpaper = 0;
|
|
||||||
|
|
||||||
# Say no to the "Application not responding" window
|
|
||||||
enable_anr_dialog = false;
|
|
||||||
|
|
||||||
disable_splash_rendering = true;
|
|
||||||
font_family = "${color.font}";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Because those are not windows, but layers,
|
|
||||||
# we have to blur them explicitly
|
|
||||||
layerrule = [
|
|
||||||
"blur,rofi"
|
|
||||||
"ignorealpha 0.001,rofi" # Fix pixelated corners
|
|
||||||
"xray 0,rofi" # Render on top of other windows
|
|
||||||
"dimaround,rofi"
|
|
||||||
|
|
||||||
"blur,waybar"
|
|
||||||
"blur,gtk4-layer-shell"
|
|
||||||
"blur,bar-0"
|
|
||||||
"blur,bar-1"
|
|
||||||
];
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 4;
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 10;
|
|
||||||
passes = 3;
|
|
||||||
new_optimizations = true;
|
|
||||||
ignore_opacity = true;
|
|
||||||
xray = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
|
||||||
animation = [
|
|
||||||
"windows, 1, 7, myBezier"
|
|
||||||
"windowsOut, 1, 7, default,popin 80%"
|
|
||||||
"border, 1, 10, default"
|
|
||||||
"borderangle, 1, 8, default"
|
|
||||||
"fade, 1, 7, default"
|
|
||||||
"workspaces, 1, 6, default"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
208
home/modules/hyprland/settings.nix
Normal file
208
home/modules/hyprland/settings.nix
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
hyprland,
|
||||||
|
color,
|
||||||
|
always-exec,
|
||||||
|
always-bind,
|
||||||
|
always-bindm,
|
||||||
|
}: {
|
||||||
|
"$mainMod" = "${hyprland.keybindings.main-mod}";
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 5;
|
||||||
|
gaps_out = 10;
|
||||||
|
border_size = 2;
|
||||||
|
|
||||||
|
"col.active_border" = "rgb(${color.hex.accent})";
|
||||||
|
"col.inactive_border" = "rgb(${color.hex.base})";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = {
|
||||||
|
groupbar = {
|
||||||
|
enabled = true;
|
||||||
|
render_titles = false;
|
||||||
|
font_size = 10;
|
||||||
|
gradients = false;
|
||||||
|
|
||||||
|
"col.active" = "rgb(${color.hex.accent})";
|
||||||
|
"col.inactive" = "rgb(${color.hex.base})";
|
||||||
|
};
|
||||||
|
|
||||||
|
"col.border_active" = "rgb(${color.hex.accent})";
|
||||||
|
"col.border_inactive" = "rgb(${color.hex.base})";
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = hyprland.keyboard.layout;
|
||||||
|
kb_variant = hyprland.keyboard.variant;
|
||||||
|
kb_options = hyprland.keyboard.option;
|
||||||
|
kb_model = "pc104";
|
||||||
|
kb_rules = "";
|
||||||
|
|
||||||
|
follow_mouse = true;
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = "no";
|
||||||
|
};
|
||||||
|
|
||||||
|
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
||||||
|
};
|
||||||
|
|
||||||
|
monitor = let
|
||||||
|
mkMonitor = name: conf:
|
||||||
|
"${name}, "
|
||||||
|
+ "${builtins.toString conf.width}x${builtins.toString conf.height}@"
|
||||||
|
+ "${builtins.toString conf.rate}, "
|
||||||
|
+ "${builtins.toString conf.x}x${builtins.toString conf.y}, "
|
||||||
|
+ "${builtins.toString conf.scale}";
|
||||||
|
in
|
||||||
|
hyprland.monitors
|
||||||
|
|> builtins.mapAttrs mkMonitor
|
||||||
|
|> builtins.attrValues;
|
||||||
|
|
||||||
|
workspace = let
|
||||||
|
mkWorkspace = monitor: workspace:
|
||||||
|
"${builtins.toString workspace}, "
|
||||||
|
+ "monitor:${builtins.toString monitor}";
|
||||||
|
|
||||||
|
mkWorkspaces = monitor: workspace-list:
|
||||||
|
builtins.map (mkWorkspace monitor) workspace-list;
|
||||||
|
in
|
||||||
|
hyprland.workspaces
|
||||||
|
|> builtins.mapAttrs mkWorkspaces
|
||||||
|
|> builtins.attrValues
|
||||||
|
|> builtins.concatLists;
|
||||||
|
|
||||||
|
bind = let
|
||||||
|
mkBind = key: action: "${key}, ${action}";
|
||||||
|
mkBinds = key: actions: builtins.map (mkBind key) actions;
|
||||||
|
in
|
||||||
|
(hyprland.keybindings.bindings // always-bind)
|
||||||
|
|> builtins.mapAttrs mkBinds
|
||||||
|
|> builtins.attrValues
|
||||||
|
|> builtins.concatLists;
|
||||||
|
|
||||||
|
bindm = let
|
||||||
|
mkBind = key: action: "${key}, ${action}";
|
||||||
|
mkBinds = key: actions: builtins.map (mkBind key) actions;
|
||||||
|
in
|
||||||
|
always-bindm
|
||||||
|
|> builtins.mapAttrs mkBinds
|
||||||
|
|> builtins.attrValues
|
||||||
|
|> builtins.concatLists;
|
||||||
|
|
||||||
|
exec-once = let
|
||||||
|
mkDelayedStart = str: ''hyprctl dispatch exec "sleep 5s && ${str}"'';
|
||||||
|
|
||||||
|
mkSpecialSilentStart = w: str: "[workspace special:${w} silent] ${str}";
|
||||||
|
mkSpecialSilentStarts = w: strs: builtins.map (mkSpecialSilentStart w) strs;
|
||||||
|
in
|
||||||
|
lib.mkMerge [
|
||||||
|
always-exec
|
||||||
|
hyprland.autostart.immediate
|
||||||
|
(hyprland.autostart.special-silent
|
||||||
|
|> builtins.mapAttrs mkSpecialSilentStarts
|
||||||
|
|> builtins.attrValues
|
||||||
|
|> builtins.concatLists)
|
||||||
|
(hyprland.autostart.delayed
|
||||||
|
|> builtins.map mkDelayedStart)
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrule = let
|
||||||
|
mkWorkspaceRule = workspace: class:
|
||||||
|
"workspace ${workspace}, "
|
||||||
|
+ "class:^(${class})$";
|
||||||
|
mkWorkspaceRules = workspace: class-list:
|
||||||
|
builtins.map (mkWorkspaceRule workspace) class-list;
|
||||||
|
|
||||||
|
mkFloatingRule = attrs:
|
||||||
|
"float"
|
||||||
|
+ (lib.optionalString (builtins.hasAttr "class" attrs) ", class:^(${attrs.class})$")
|
||||||
|
+ (lib.optionalString (builtins.hasAttr "title" attrs) ", title:^(${attrs.title})$");
|
||||||
|
|
||||||
|
mkTranslucentRule = class:
|
||||||
|
"opacity ${hyprland.transparent-opacity} ${hyprland.transparent-opacity}, "
|
||||||
|
+ "class:^(${class})$";
|
||||||
|
in
|
||||||
|
lib.mkMerge [
|
||||||
|
(hyprland.workspacerules
|
||||||
|
|> builtins.mapAttrs mkWorkspaceRules
|
||||||
|
|> builtins.attrValues
|
||||||
|
|> builtins.concatLists)
|
||||||
|
(hyprland.floating
|
||||||
|
|> builtins.map mkFloatingRule)
|
||||||
|
(hyprland.transparent
|
||||||
|
|> builtins.map mkTranslucentRule)
|
||||||
|
hyprland.windowrules
|
||||||
|
];
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master";
|
||||||
|
};
|
||||||
|
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
# Say no to the anime girl
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
force_default_wallpaper = 0;
|
||||||
|
|
||||||
|
# Say no to the "Application not responding" window
|
||||||
|
enable_anr_dialog = false;
|
||||||
|
|
||||||
|
disable_splash_rendering = true;
|
||||||
|
font_family = "${color.font}";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Because those are not windows, but layers,
|
||||||
|
# we have to blur them explicitly
|
||||||
|
layerrule = [
|
||||||
|
"blur,rofi"
|
||||||
|
"ignorealpha 0.001,rofi" # Fix pixelated corners
|
||||||
|
"xray 0,rofi" # Render on top of other windows
|
||||||
|
"dimaround,rofi"
|
||||||
|
|
||||||
|
"blur,waybar"
|
||||||
|
"blur,gtk4-layer-shell"
|
||||||
|
"blur,bar-0"
|
||||||
|
"blur,bar-1"
|
||||||
|
];
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 4;
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 10;
|
||||||
|
passes = 3;
|
||||||
|
new_optimizations = true;
|
||||||
|
ignore_opacity = true;
|
||||||
|
xray = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||||
|
animation = [
|
||||||
|
"windows, 1, 7, myBezier"
|
||||||
|
"windowsOut, 1, 7, default,popin 80%"
|
||||||
|
"border, 1, 10, default"
|
||||||
|
"borderangle, 1, 8, default"
|
||||||
|
"fade, 1, 7, default"
|
||||||
|
"workspaces, 1, 6, default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -1574,6 +1574,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
|
|
||||||
layout = {
|
layout = {
|
||||||
cycle = true;
|
cycle = true;
|
||||||
preset.__raw = defaultLayout;
|
preset.__raw = defaultLayout;
|
||||||
@ -1584,6 +1585,13 @@ in {
|
|||||||
layout.__raw = defaultLayout;
|
layout.__raw = defaultLayout;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
formatters = {
|
||||||
|
file = {
|
||||||
|
filename_first = true;
|
||||||
|
truncate = 80;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -213,7 +213,7 @@ with mylib.networking; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/179486
|
# https://github.com/NixOS/nixpkgs/issues/179486
|
||||||
supportedLocales = ["en_US.UTF-8/UTF-8" "de_DE.UTF-8/UTF-8"];
|
supportedLocales = ["${en}/UTF-8" "${de}/UTF-8"];
|
||||||
};
|
};
|
||||||
|
|
||||||
console = {
|
console = {
|
||||||
@ -339,6 +339,10 @@ with mylib.networking; {
|
|||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = !headless;
|
enable = !headless;
|
||||||
|
|
||||||
|
package = inputs.hyprland.packages.${system}.hyprland;
|
||||||
|
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
|
||||||
|
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
withUWSM = true;
|
withUWSM = true;
|
||||||
};
|
};
|
||||||
|
@ -43,9 +43,10 @@ in {
|
|||||||
xdg-desktop-portal-gtk # Fallback
|
xdg-desktop-portal-gtk # Fallback
|
||||||
]
|
]
|
||||||
|
|
||||||
(lib.mkIf desktopportal.hyprland.enable [
|
# We don't need to install that explicitly
|
||||||
xdg-desktop-portal-hyprland
|
# (lib.mkIf desktopportal.hyprland.enable [
|
||||||
])
|
# xdg-desktop-portal-hyprland
|
||||||
|
# ])
|
||||||
|
|
||||||
(lib.mkIf desktopportal.termfilechooser.enable [
|
(lib.mkIf desktopportal.termfilechooser.enable [
|
||||||
xdg-desktop-portal-termfilechooser # Filechooser using yazi
|
xdg-desktop-portal-termfilechooser # Filechooser using yazi
|
||||||
|
@ -94,9 +94,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
# kernelPackages = pkgs.linuxPackages_zen;
|
||||||
|
|
||||||
# kernelParams = ["quiet"];
|
kernelParams = [
|
||||||
|
"loglevel=4" # 0 (critical) - 7 (debug)
|
||||||
|
"udev.log_level=0" # 0 (debug) - 3 (critical)
|
||||||
|
# "quiet"
|
||||||
|
];
|
||||||
# plymouth.enable = true;
|
# plymouth.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,12 +12,22 @@
|
|||||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
|
||||||
# Enable early Nvidia kernel modesetting
|
initrd.kernelModules = [
|
||||||
# https://wiki.archlinux.org/title/GDM#GDM_ignores_Wayland_and_uses_X.Org_by_default (not fixed by this)
|
# Enable Nvidia early KMS
|
||||||
# https://wiki.archlinux.org/title/Kernel_mode_setting#Early_KMS_start
|
"nvidia"
|
||||||
initrd.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"]; # NVIDIA
|
"nvidia_modeset"
|
||||||
|
"nvidia_uvm"
|
||||||
|
"nvidia_drm"
|
||||||
|
];
|
||||||
|
|
||||||
initrd.supportedFilesystems = [
|
initrd.supportedFilesystems = [
|
||||||
"ext4"
|
"ext4"
|
||||||
|
@ -13,10 +13,21 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ehci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
|
|
||||||
initrd.kernelModules = [];
|
initrd.kernelModules = [];
|
||||||
|
|
||||||
kernelModules = ["kvm-intel"];
|
kernelModules = ["kvm-intel"];
|
||||||
|
|
||||||
extraModulePackages = with config.boot.kernelPackages; [];
|
extraModulePackages = with config.boot.kernelPackages; [];
|
||||||
|
|
||||||
# NOTE: Didn't work with Zen, switched to regular kernel instead
|
# NOTE: Didn't work with Zen, switched to regular kernel instead
|
||||||
# kernelPatches = [
|
# kernelPatches = [
|
||||||
# {
|
# {
|
||||||
|
@ -10,7 +10,14 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
|
initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
initrd.kernelModules = [];
|
initrd.kernelModules = [];
|
||||||
kernelModules = ["kvm-intel"];
|
kernelModules = ["kvm-intel"];
|
||||||
extraModulePackages = [];
|
extraModulePackages = [];
|
||||||
|
@ -10,7 +10,13 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod"];
|
initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
initrd.kernelModules = [];
|
initrd.kernelModules = [];
|
||||||
kernelModules = [
|
kernelModules = [
|
||||||
"kvm-intel"
|
"kvm-intel"
|
||||||
|
Reference in New Issue
Block a user