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": {
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
@ -40,6 +73,22 @@
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
@ -54,7 +103,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake-compat_3": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
@ -112,7 +161,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@ -143,6 +192,28 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1752666637,
|
||||
@ -178,6 +249,318 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1737831083,
|
||||
@ -241,7 +624,7 @@
|
||||
},
|
||||
"nix-alien": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@ -350,7 +733,7 @@
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752762787,
|
||||
@ -368,7 +751,7 @@
|
||||
},
|
||||
"nps": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": [
|
||||
@ -448,12 +831,38 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"disko": "disko",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"hypr-dynamic-cursors": "hypr-dynamic-cursors",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"impermanence": "impermanence",
|
||||
"nix-alien": "nix-alien",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
@ -486,6 +895,21 @@
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@ -500,7 +924,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@ -535,6 +959,47 @@
|
||||
"repo": "textfox",
|
||||
"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",
|
||||
|
@ -47,8 +47,10 @@
|
||||
# HyprPlugins
|
||||
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
|
||||
hyprland-plugins.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprland-plugins.inputs.hyprland.follows = "hyprland";
|
||||
hypr-dynamic-cursors.url = "github:VirtCode/hypr-dynamic-cursors";
|
||||
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hypr-dynamic-cursors.inputs.hyprland.follows = "hyprland";
|
||||
|
||||
# NeoVim <3
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
|
@ -82,136 +82,7 @@
|
||||
signCommits = true;
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
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"
|
||||
];
|
||||
};
|
||||
|
||||
hyprland = import ./hyprland.nix {inherit config headless;};
|
||||
hyprpanel.enable = !headless;
|
||||
kitty.enable = !headless;
|
||||
lazygit.enable = true;
|
||||
@ -561,17 +432,20 @@
|
||||
waves = false; # default false
|
||||
};
|
||||
|
||||
color = {
|
||||
color = let
|
||||
color = config.modules.color;
|
||||
in {
|
||||
# https://github.com/catppuccin/cava/blob/main/themes/latte-transparent.cava
|
||||
gradient = 1;
|
||||
gradient_color_1 = "'#179299'";
|
||||
gradient_color_2 = "'#04a5e5'";
|
||||
gradient_color_3 = "'#209fb5'";
|
||||
gradient_color_4 = "'#1e66f5'";
|
||||
gradient_color_5 = "'#8839ef'";
|
||||
gradient_color_6 = "'#ea76cb'";
|
||||
gradient_color_7 = "'#e64553'";
|
||||
gradient_color_8 = "'#d20f39'";
|
||||
|
||||
gradient_color_1 = "'${color.hexS.teal}'";
|
||||
gradient_color_2 = "'${color.hexS.sky}'";
|
||||
gradient_color_3 = "'${color.hexS.sapphire}'";
|
||||
gradient_color_4 = "'${color.hexS.blue}'";
|
||||
gradient_color_5 = "'${color.hexS.mauve}'";
|
||||
gradient_color_6 = "'${color.hexS.pink}'";
|
||||
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
|
||||
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;};
|
||||
|
||||
# Mousebindings
|
||||
always-bindm = {
|
||||
"$mainMod, mouse:272" = ["movewindow"];
|
||||
"$mainMod, mouse:273" = ["resizewindow"];
|
||||
};
|
||||
|
||||
always-exec = import ./autostart.nix {inherit lib pkgs config hyprland;};
|
||||
in {
|
||||
options.modules.hyprland = import ./options.nix {inherit lib mylib;};
|
||||
|
||||
config = lib.mkIf hyprland.enable {
|
||||
# Some assertion is not possible if HM is used standalone,
|
||||
# because nixosConfig won't be available.
|
||||
assertions = [
|
||||
{
|
||||
assertion = nixosConfig.programs.hyprland.enable;
|
||||
@ -149,205 +150,16 @@ in {
|
||||
inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars
|
||||
];
|
||||
|
||||
settings = {
|
||||
"$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
|
||||
settings = import ./settings.nix {
|
||||
inherit
|
||||
lib
|
||||
config
|
||||
hyprland
|
||||
color
|
||||
always-exec
|
||||
always-bind
|
||||
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 {
|
||||
enabled = true;
|
||||
|
||||
layout = {
|
||||
cycle = true;
|
||||
preset.__raw = defaultLayout;
|
||||
@ -1584,6 +1585,13 @@ in {
|
||||
layout.__raw = defaultLayout;
|
||||
};
|
||||
};
|
||||
|
||||
formatters = {
|
||||
file = {
|
||||
filename_first = true;
|
||||
truncate = 80;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -213,7 +213,7 @@ with mylib.networking; {
|
||||
};
|
||||
|
||||
# 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 = {
|
||||
@ -339,6 +339,10 @@ with mylib.networking; {
|
||||
|
||||
hyprland = {
|
||||
enable = !headless;
|
||||
|
||||
package = inputs.hyprland.packages.${system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
|
||||
|
||||
xwayland.enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
|
@ -43,9 +43,10 @@ in {
|
||||
xdg-desktop-portal-gtk # Fallback
|
||||
]
|
||||
|
||||
(lib.mkIf desktopportal.hyprland.enable [
|
||||
xdg-desktop-portal-hyprland
|
||||
])
|
||||
# We don't need to install that explicitly
|
||||
# (lib.mkIf desktopportal.hyprland.enable [
|
||||
# xdg-desktop-portal-hyprland
|
||||
# ])
|
||||
|
||||
(lib.mkIf desktopportal.termfilechooser.enable [
|
||||
xdg-desktop-portal-termfilechooser # Filechooser using yazi
|
||||
|
@ -94,9 +94,13 @@
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
|
@ -12,12 +12,22 @@
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
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
|
||||
# https://wiki.archlinux.org/title/GDM#GDM_ignores_Wayland_and_uses_X.Org_by_default (not fixed by this)
|
||||
# https://wiki.archlinux.org/title/Kernel_mode_setting#Early_KMS_start
|
||||
initrd.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"]; # NVIDIA
|
||||
initrd.kernelModules = [
|
||||
# Enable Nvidia early KMS
|
||||
"nvidia"
|
||||
"nvidia_modeset"
|
||||
"nvidia_uvm"
|
||||
"nvidia_drm"
|
||||
];
|
||||
|
||||
initrd.supportedFilesystems = [
|
||||
"ext4"
|
||||
|
@ -13,10 +13,21 @@
|
||||
];
|
||||
|
||||
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 = [];
|
||||
|
||||
kernelModules = ["kvm-intel"];
|
||||
|
||||
extraModulePackages = with config.boot.kernelPackages; [];
|
||||
|
||||
# NOTE: Didn't work with Zen, switched to regular kernel instead
|
||||
# kernelPatches = [
|
||||
# {
|
||||
|
@ -10,7 +10,14 @@
|
||||
];
|
||||
|
||||
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 = [];
|
||||
kernelModules = ["kvm-intel"];
|
||||
extraModulePackages = [];
|
||||
|
@ -10,7 +10,13 @@
|
||||
];
|
||||
|
||||
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 = [];
|
||||
kernelModules = [
|
||||
"kvm-intel"
|
||||
|
Reference in New Issue
Block a user