nixos-config/modules/home-manager/hyprland-customization.nix
2025-01-17 11:23:40 +01:00

66 lines
2.0 KiB
Nix

{pkgs, ...}:
{
wayland.windowManager.hyprland.enable = true;
programs.kitty.enable = true;
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
bind =
[
"$mod, F, exec, firefox"
"$mod, enter, exec, anyrun"
"$mod, shift, enter, exec, kitty"
"$mod, shift, q, kill"
"$mod, s, exec, code"
];
};
wayland.windowManager.hyprland.plugins = [
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprmenu
# Touch gestures: https://github.com/horriblename/hyprgrass
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprgrass
# Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprland-virtual-desktops
];
# Use anyrun
programs.anyrun = {
enable = true;
config = {
x = { fraction = 0.5; };
y = { fraction = 0.3; };
width = { fraction = 0.3; };
hideIcons = false;
ignoreExclusiveZones = false;
layer = "overlay";
hidePluginInfo = false;
closeOnClick = false;
showResultsImmediately = false;
maxEntries = null;
plugins = [
# An array of all the plugins you want, which either can be paths to the .so files, or their packages
inputs.anyrun.packages.${pkgs.system}.applications
inputs.anyrun.packages.${pkgs.system}.symbols
];
};
# Inline comments are supported for language injection into
# multi-line strings with Treesitter! (Depends on your editor)
# extraCss = /*css */ ''
# .some_class {
# background: red;
# }
# '';
extraConfigFiles."some-plugin.ron".text = ''
Config(
// for any other plugin
// this file will be put in ~/.config/anyrun/some-plugin.ron
// refer to docs of xdg.configFile for available options
)
'';
};
}