diff options
Diffstat (limited to 'modules/home-manager/hyprland')
| -rw-r--r-- | modules/home-manager/hyprland/default.nix | 315 |
1 files changed, 167 insertions, 148 deletions
diff --git a/modules/home-manager/hyprland/default.nix b/modules/home-manager/hyprland/default.nix index e5f041e..6f77ee9 100644 --- a/modules/home-manager/hyprland/default.nix +++ b/modules/home-manager/hyprland/default.nix @@ -1,157 +1,176 @@ { inputs, config, ... }: let - hm = config.flake.modules.homeManager; + hm = config.flake.modules.homeManager; in { - flake.modules.homeManager.hyprland = - { - pkgs, - lib, - ... - }: - { - imports = [ - hm.rofi - hm.kitty - hm.waybar - hm.hyprpaper - ]; + flake.modules.homeManager.hyprland = + { + pkgs, + lib, + ... + }: + { + imports = [ + hm.rofi + hm.kitty + hm.waybar + hm.hyprpaper + ]; - home.file.".config/hypr/hyprlock.conf".source = ./hyprlock.conf; + home.file.".config/hypr/hyprlock.conf".source = ./hyprlock.conf; - wayland.windowManager.hyprland= { - enable = true; - xwayland.enable = true; - systemd.variables = ["--all"]; - #package = inputs.hyprland.packages.${pkgs.system}.hyprland; - #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; - settings = { - "$mod" = "SUPER"; - exec-once = [ - "waybar" - "xss-lock --transfer-sleep-lock -- hyprlock" - "nm-applet" - "hyprpaper" - ]; - bind = - [ - "$mod, C, exec, firefox" - ", Print, exec, grimblast copy area" - "$mod, D, exec, rofi -i -show drun -disable-history" - "$mod Shift, E, exit" - "$mod, Return, exec, kitty" - "$mod, T, togglesplit" - "$mod Control, left, workspace, m-1" - "$mod Control, h, workspace, m-1" - "$mod Control, right, workspace, m+1" - "$mod Control, l, workspace, m+1" - "$mod, x, exec, hyprlock" - "$mod Shift, x, exec, hyprlock" - "$mod Shift, x, exec, systemctl suspend" - "$mod Shift, MINUS, exec, emacsclient -c" - "ALT, Tab, focusmonitor, +1" - "$mod, G, exec, bash /home/boss/bin/rofi-passmenu" - ", XF86AudioRaiseVolume, exec, pamixer -i 5" - ", XF86AudioLowerVolume, exec, pamixer -d 5" - "$mod Shift, Q, killactive" - "$mod, F, fullscreen" - "$mod Shift, space, togglefloating" - "$mod, mouse:272, movewindow" - ", XF86AudioPlay, exec, playerctl play-pause" - "$mod, bracketleft, exec, playerctl -p firefox play-pause" - "$mod, bracketright, exec, playerctl -p spotify play-pause" - "$mod Shift, S, exec spectacle -r" - ] - ++ ( - # workspaces - # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} - builtins.concatLists (builtins.genList ( - x: let - key = let - c = (x + 1) / 10; - in toString (x + 1 - (c * 10)); - in [ - "$mod, ${key}, workspace, ${toString (x + 1)}" - "$mod SHIFT, ${key}, movetoworkspace, ${toString (x + 1)}" - (lib.mkIf (x < 5) - "$mod Control, ${key}, workspace, ${toString (x + 6)}" - ) - "$mod Control, ${key}, workspace, ${toString (x + 1)}" - ] - ) - 10) - ) - ++ ( - builtins.map ( - x: "$mod, ${ builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}" - ) - [ - ["h" "l"] - ["left" "l"] - ["j" "d"] - ["down" "d"] - ["k" "u"] - ["up" "u"] - ["l" "r"] - ["right" "r"] - ] - ); - monitor = - [ - "eDP-1, highrr, 0x0, 1" - "HDMI-A-1, highrr, 1920x0, 1" - ]; - workspace = - (builtins.genList - (x : "${toString (x + 1)},monitor:eDP-1") - 5 - ) - ++ (builtins.genList - (x : "${toString (x + 6)},monitor:HDMI-A-1") - 5 - ); + wayland.windowManager.hyprland = { + enable = true; + xwayland.enable = true; + systemd.variables = [ "--all" ]; + #package = inputs.hyprland.packages.${pkgs.system}.hyprland; + #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; + settings = { + "$mod" = "SUPER"; + exec-once = [ + "waybar" + "xss-lock --transfer-sleep-lock -- hyprlock" + "nm-applet" + "hyprpaper" + ]; + bind = [ + "$mod, C, exec, firefox" + ", Print, exec, grimblast copy area" + "$mod, D, exec, rofi -i -show drun -disable-history" + "$mod Shift, E, exit" + "$mod, Return, exec, kitty" + "$mod, T, togglesplit" + "$mod Control, left, workspace, m-1" + "$mod Control, h, workspace, m-1" + "$mod Control, right, workspace, m+1" + "$mod Control, l, workspace, m+1" + "$mod, x, exec, hyprlock" + "$mod Shift, x, exec, hyprlock" + "$mod Shift, x, exec, systemctl suspend" + "$mod Shift, MINUS, exec, emacsclient -c" + "ALT, Tab, focusmonitor, +1" + "$mod, G, exec, bash /home/boss/bin/rofi-passmenu" + ", XF86AudioRaiseVolume, exec, pamixer -i 5" + ", XF86AudioLowerVolume, exec, pamixer -d 5" + "$mod Shift, Q, killactive" + "$mod, F, fullscreen" + "$mod Shift, space, togglefloating" + "$mod, mouse:272, movewindow" + ", XF86AudioPlay, exec, playerctl play-pause" + "$mod, bracketleft, exec, playerctl -p firefox play-pause" + "$mod, bracketright, exec, playerctl -p spotify play-pause" + "$mod Shift, S, exec spectacle -r" + ] + ++ ( + # workspaces + # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} + builtins.concatLists ( + builtins.genList ( + x: + let + key = + let + c = (x + 1) / 10; + in + toString (x + 1 - (c * 10)); + in + [ + "$mod, ${key}, workspace, ${toString (x + 1)}" + "$mod SHIFT, ${key}, movetoworkspace, ${toString (x + 1)}" + (lib.mkIf (x < 5) "$mod Control, ${key}, workspace, ${toString (x + 6)}") + "$mod Control, ${key}, workspace, ${toString (x + 1)}" + ] + ) 10 + ) + ) + ++ (builtins.map + ( + x: + "$mod, ${builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}" + ) + [ + [ + "h" + "l" + ] + [ + "left" + "l" + ] + [ + "j" + "d" + ] + [ + "down" + "d" + ] + [ + "k" + "u" + ] + [ + "up" + "u" + ] + [ + "l" + "r" + ] + [ + "right" + "r" + ] + ] + ); + monitor = [ + "eDP-1, highrr, 0x0, 1" + "HDMI-A-1, highrr, 1920x0, 1" + ]; + workspace = + (builtins.genList (x: "${toString (x + 1)},monitor:eDP-1") 5) + ++ (builtins.genList (x: "${toString (x + 6)},monitor:HDMI-A-1") 5); + input = { + touchpad.natural_scroll = true; + #touchpad.scroll_factor = 0.5; + accel_profile = "flat"; + follow_mouse = true; + kb_options = "caps:super"; + #sensitivity = 0.00; + }; + decoration = { + rounding = 10; + drop_shadow = false; + }; + animation = [ + "workspaces,1,5,easeOutQuint,slide" + ]; + bezier = [ + "easeInOutCubic,0.65,0,0.35,1" + "easeOutQuint,0.22,1,0.36,1" + ]; + general = { + #"col.inactive_border" = "rgb(2f2e43)"; + #"col.active_border" = "rgb(ab47bc)"; + border_size = 2; + gaps_in = 6; + gaps_out = 12; + }; + windowrulev2 = [ + "opacity 0.8 override 0.8 override, title:Spotify$" + ]; + }; + }; - input = { - touchpad.natural_scroll = true; - #touchpad.scroll_factor = 0.5; - accel_profile = "flat"; - follow_mouse = true; - kb_options = "caps:super"; - #sensitivity = 0.00; - }; - decoration = { - rounding = 10; - drop_shadow = false; - }; - animation = [ - "workspaces,1,5,easeOutQuint,slide" - ]; - bezier = [ - "easeInOutCubic,0.65,0,0.35,1" - "easeOutQuint,0.22,1,0.36,1" - ]; - general = { - #"col.inactive_border" = "rgb(2f2e43)"; - #"col.active_border" = "rgb(ab47bc)"; - border_size = 2; - gaps_in = 6; - gaps_out = 12; - }; - windowrulev2 = [ - "opacity 0.8 override 0.8 override, title:Spotify$" - ]; - }; - }; - - home.packages = with pkgs; [ - ydotool - xss-lock - pamixer - grimblast - playerctl - libsForQt5.spectacle - inputs.hyprlock.packages.${system}.hyprlock - ]; - }; + home.packages = with pkgs; [ + ydotool + xss-lock + pamixer + grimblast + playerctl + libsForQt5.spectacle + inputs.hyprlock.packages.${system}.hyprlock + ]; + }; } |
