aboutsummaryrefslogtreecommitdiff
path: root/modules/home-manager/hyprland/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home-manager/hyprland/default.nix')
-rw-r--r--modules/home-manager/hyprland/default.nix315
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
+ ];
+ };
}