Update Hyprland config

This commit is contained in:
Erwin Boskma 2024-10-26 19:26:06 +02:00
parent 7a81878dd7
commit 7f162f934c
Signed by: erwin
SSH key fingerprint: SHA256:3F6Cm6I3erRqlBwEghZWAQl6eS5WrGTX1Vs/Evec1lQ

View file

@ -1,157 +1,165 @@
{ config, lib, ... }:
{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.eboskma.programs.hyprland;
terminal = "${pkgs.foot}/bin/footclient";
dmenu = "${pkgs.rofi}/bin/rofi -show drun -no-lazy-grab";
menu = "${pkgs.rofi}/bin/rofi -show run -no-lazy-grab";
rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ../sway/powermenu.sh);
powerMenu = "${rofiPower}/bin/rofi-power";
swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ${../../../wallpapers/river-2560.png} --scaling fill";
in
# terminal = "${pkgs.foot}/bin/footclient";
# dmenu = "${pkgs.rofi}/bin/rofi -show drun -no-lazy-grab";
# menu = "${pkgs.rofi}/bin/rofi -show run -no-lazy-grab";
# rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ../sway/powermenu.sh);
# powerMenu = "${rofiPower}/bin/rofi-power";
# swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ${../../../wallpapers/river-2560.png} --scaling fill";
{
options.eboskma.programs.hyprland = {
enable = mkEnableOption "Hyprland";
};
config = mkIf cfg.enable {
# wayland.windowManager.hyprland = {
# enable = true;
wayland.windowManager.hyprland = {
enable = true;
# extraConfig = ''
# monitor = DP-2,2560x1440@165,0x0,1
settings = {
monitor = "DP-2,2560x1440@165,0x0,1";
# general {
# gaps_out = 10
# }
general = {
gaps_out = 10;
};
# decoration {
# rounding = 5
# inactive_opacity = 0.9
# dim_inactive = true
# dim_strength = 0.5
# }
decoration = {
rounding = 5;
inactive_opacity = 0.9;
dim_inactive = true;
dim_strength = 0.5;
};
# animations {
# animation = workspaces,1,3,default
# animation = windows,1,3,default
# animation = windowsOut,1,3,default
# }
animations = [
"workspaces,1,3,default"
"windows,1,3,default"
"windowsOut,1,3,default"
];
# input {
# kb_layout = us
# kb_options = lv3:ralt_switch,eurosign:5
# natural_scroll = true
# }
input = {
kb_layout = "us";
kb_options = "lv3:ralt_switch,eurosign:5";
natural_scroll = true;
};
# misc {
# no_vfr = false
# focus_on_activate = false
# }
misc = {
no_vfr = false;
focus_on_activate = false;
};
# binds {
# workspace_back_and_forth = true
# }
binds = {
workspace_back_and_forth = true;
};
# $mod = SUPER
"$mod" = "SUPER";
# bind = $mod,Return,exec,${terminal}
# bind = $mod_SHIFT,Q,killactive
# bind = $mod,S,exec,${dmenu}
# bind = $mod_SHIFT,S,exec,${menu}
bind =
[
"$mod,Return,exec,${terminal}"
"$mod_SHIFT,Q,killactive"
"$mod,S,exec,${dmenu}"
"$mod_SHIFT,S,exec,${menu}"
# bind = $mod,N,movefocus,l
# bind = $mod,E,movefocus,d
# bind = $mod,I,movefocus,u
# bind = $mod,O,movefocus,r
"$mod,N,movefocus,l"
"$mod,E,movefocus,d"
"$mod,I,movefocus,u"
"$mod,O,movefocus,r"
# bind = $mod_SHIFT,N,movewindow,l
# bind = $mod_SHIFT,E,movewindow,d
# bind = $mod_SHIFT,O,movewindow,r
# bind = $mod_SHIFT,I,movewindow,u
"$mod_SHIFT,N,movewindow,l"
"$mod_SHIFT,E,movewindow,d"
"$mod_SHIFT,O,movewindow,r"
"$mod_SHIFT,I,movewindow,u"
# bind = $mod_SHIFT,Space,togglefloating,active
"$mod_SHIFT,Space,togglefloating,active"
# bind = $mod,T,fullscreen,0
# bind = $mod_SHIFT,T,fullscreen,1
"$mod,T,fullscreen,0"
"$mod_SHIFT,T,fullscreen,1"
# bind = $mod,1,workspace,1
# bind = $mod,2,workspace,2
# bind = $mod,3,workspace,3
# bind = $mod,4,workspace,4
# bind = $mod,5,workspace,5
# bind = $mod,6,workspace,6
# bind = $mod,7,workspace,7
# bind = $mod,8,workspace,8
# bind = $mod,9,workspace,9
# bind = $mod,0,workspace,10
"$mod,1,workspace,1"
"$mod,2,workspace,2"
"$mod,3,workspace,3"
"$mod,4,workspace,4"
"$mod,5,workspace,5"
"$mod,6,workspace,6"
"$mod,7,workspace,7"
"$mod,8,workspace,8"
"$mod,9,workspace,9"
"$mod,0,workspace,10"
# bind = $mod_SHIFT,1,movetoworkspacesilent,1
# bind = $mod_SHIFT,2,movetoworkspacesilent,2
# bind = $mod_SHIFT,3,movetoworkspacesilent,3
# bind = $mod_SHIFT,4,movetoworkspacesilent,4
# bind = $mod_SHIFT,5,movetoworkspacesilent,5
# bind = $mod_SHIFT,6,movetoworkspacesilent,6
# bind = $mod_SHIFT,7,movetoworkspacesilent,7
# bind = $mod_SHIFT,8,movetoworkspacesilent,8
# bind = $mod_SHIFT,9,movetoworkspacesilent,9
# bind = $mod_SHIFT,0,movetoworkspacesilent,10
"$mod_SHIFT,1,movetoworkspacesilent,1"
"$mod_SHIFT,2,movetoworkspacesilent,2"
"$mod_SHIFT,3,movetoworkspacesilent,3"
"$mod_SHIFT,4,movetoworkspacesilent,4"
"$mod_SHIFT,5,movetoworkspacesilent,5"
"$mod_SHIFT,6,movetoworkspacesilent,6"
"$mod_SHIFT,7,movetoworkspacesilent,7"
"$mod_SHIFT,8,movetoworkspacesilent,8"
"$mod_SHIFT,9,movetoworkspacesilent,9"
"$mod_SHIFT,0,movetoworkspacesilent,10"
# bind = $mod_SHIFT,Minus,movetoworkspacesilent,special
# bind = $mod,Minus,togglespecialworkspace
"$mod_SHIFT,Minus,movetoworkspacesilent,special"
"$mod,Minus,togglespecialworkspace"
# bind = $mod_SHIFT,C,exec,${config.wayland.windowManager.hyprland.package}/bin/hyprctl reload
"$mod_SHIFT,C,exec,${config.wayland.windowManager.hyprland.package}/bin/hyprctl reload"
# bind = $mod_SHIFT,F,exec,${powerMenu}
# bind = $mod,L,exec,${swaylockcmd}
"$mod_SHIFT,F,exec,${powerMenu}"
"$mod,L,exec,${swaylockcmd}"
# bind = $mod_SHIFT,K,pin
"$mod_SHIFT,K,pin"
# bind = $mod,Print,exec,${pkgs.grim}/bin/grim
# bind = $mod_SHIFT,Print,exec,${pkgs.grim}/bin/grim | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png -f
"$mod,Print,exec,${pkgs.grim}/bin/grim"
"$mod_SHIFT,Print,exec,${pkgs.grim}/bin/grim | ${pkgs.wl-clipboard}/bin/wl-copy -t image/png -f"
# bind = ,XF86AudioRaiseVolume,exec,${pkgs.pamedia}/bin/pamedia up
# bind = ,XF86AudioLowerVolume,exec,${pkgs.pamedia}/bin/pamedia down
# bind = ,XF86AudioMute,exec,${pkgs.pamedia}/bin/pamedia mute
# bind = ,XF86Calculator,exec,${pkgs.gnome-calculator}/bin/gnome-calculator
",XF86AudioRaiseVolume,exec,${pkgs.pamedia}/bin/pamedia up"
",XF86AudioLowerVolume,exec,${pkgs.pamedia}/bin/pamedia down"
",XF86AudioMute,exec,${pkgs.pamedia}/bin/pamedia mute"
",XF86Calculator,exec,${pkgs.gnome-calculator}/bin/gnome-calculator"
# bind = $mod,D,exec,${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw
"$mod,D,exec,${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"
# bind = $mod,W,togglegroup
# bind = $mod,N,changegroupactive,b
# bind = $mod,O,changegroupactive,f
"$mod,W,togglegroup"
"$mod,N,changegroupactive,b"
"$mod,O,changegroupactive,f"
]
++ (lib.optional config.eboskma.programs.emacs.enable "$mod,C,exec,${config.eboskma.programs.emacs.package}/bin/emacsclient -c");
# bindm = $mod,mouse:272,movewindow
# bindm = $mod,mouse:273,resizewindow
bindm = [
"$mod,mouse:272,movewindow"
"$mod,mouse:273,resizewindow"
];
# windowrulev2 = workspace 1,class:^(firefox)$
# windowrulev2 = workspace 2,class:^(foot)$
# windowrulev2 = workspace 3,class:^(emacs)$
exec = [ "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator" ];
# exec = ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator
exec-once = [
"${pkgs.swaybg}/bin/swaybg -i ${../../../wallpapers/river-2560.png} -m fill"
"${config.wayland.windowManager.hyprland.package}/bin/hyprctl setcursor Nordzy-cursors 24"
"${pkgs.systemd}/bin/systemctl --user start swaync"
"${pkgs.systemd}/bin/systemctl --user start fcitx5-daemon"
];
};
};
# exec-once = ${pkgs.swaybg}/bin/swaybg -i ${../../../wallpapers/river-2560.png} -m fill
# exec-once = ${config.wayland.windowManager.hyprland.package}/bin/hyprctl setcursor Nordzy-cursors 24
# exec-once = ${pkgs.systemd}/bin/systemctl --user start swaync
# exec-once = ${pkgs.systemd}/bin/systemctl --user start fcitx5-daemon
# '' +
# (lib.optionalString config.eboskma.programs.emacs.enable "bind = $mod,C,exec,${config.eboskma.programs.emacs.package}/bin/emacsclient -c");
# };
systemd.user.services.hypridle = {
Unit = {
Description = "Idle manager for Wayland (Hyprland)";
Documentation = "man:swayidle(1)";
PartOf = "graphical-session.target";
};
# systemd.user.services.hypridle = {
# Unit = {
# Description = "Idle manager for Wayland (Hyprland)";
# Documentation = "man:swayidle(1)";
# PartOf = "graphical-session.target";
# };
Service = {
ExecStart = "${pkgs.swayidle}/bin/swayidle -w timeout 900 '${swaylockcmd}' timeout 1200 '${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off' resume '${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on'";
};
# Service = {
# ExecStart = "${pkgs.swayidle}/bin/swayidle -w timeout 900 '${swaylockcmd}' timeout 1200 '${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off' resume '${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on'";
# };
# Install = {
# WantedBy = [ "hyprland-session.target" ];
# };
# };
Install = {
WantedBy = [ "hyprland-session.target" ];
};
};
};
}