add nix-hyprland
This commit is contained in:
parent
304570fd73
commit
954bf2d4ba
17 changed files with 619 additions and 2779 deletions
|
|
@ -7,7 +7,7 @@
|
|||
cfg = config.horseman.wm.hyprland;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
horseman.wm.hyprland.config = {
|
||||
nix-hyprland = {
|
||||
animations = {
|
||||
enabled = true;
|
||||
beziers = [
|
||||
|
|
@ -51,103 +51,87 @@ in {
|
|||
animations = [
|
||||
{
|
||||
name = "global";
|
||||
on = true;
|
||||
speed = 10.0;
|
||||
curve = "default";
|
||||
}
|
||||
{
|
||||
name = "border";
|
||||
on = true;
|
||||
speed = 5.39;
|
||||
curve = "easeOutQuint";
|
||||
}
|
||||
{
|
||||
name = "windows";
|
||||
on = true;
|
||||
speed = 4.79;
|
||||
curve = "easeOutQuint";
|
||||
}
|
||||
{
|
||||
name = "windowsIn";
|
||||
on = true;
|
||||
speed = 4.1;
|
||||
curve = "easeOutQuint";
|
||||
style = "popin 87%";
|
||||
}
|
||||
{
|
||||
name = "windowsOut";
|
||||
on = true;
|
||||
speed = 1.49;
|
||||
curve = "linear";
|
||||
style = "popin 87%";
|
||||
}
|
||||
{
|
||||
name = "fadeIn";
|
||||
on = true;
|
||||
speed = 1.73;
|
||||
curve = "almostLinear";
|
||||
}
|
||||
{
|
||||
name = "fadeOut";
|
||||
on = true;
|
||||
speed = 1.46;
|
||||
curve = "almostLinear";
|
||||
}
|
||||
{
|
||||
name = "fade";
|
||||
on = true;
|
||||
speed = 3.03;
|
||||
curve = "quick";
|
||||
}
|
||||
{
|
||||
name = "layers";
|
||||
on = true;
|
||||
speed = 3.81;
|
||||
curve = "easeOutQuint";
|
||||
}
|
||||
{
|
||||
name = "layersIn";
|
||||
on = true;
|
||||
speed = 4.0;
|
||||
curve = "easeOutQuint";
|
||||
style = "fade";
|
||||
}
|
||||
{
|
||||
name = "layersOut";
|
||||
on = true;
|
||||
speed = 1.5;
|
||||
curve = "linear";
|
||||
style = "fade";
|
||||
}
|
||||
{
|
||||
name = "fadeLayersIn";
|
||||
on = true;
|
||||
speed = 1.79;
|
||||
curve = "almostLinear";
|
||||
}
|
||||
{
|
||||
name = "fadeLayersOut";
|
||||
on = true;
|
||||
speed = 1.39;
|
||||
curve = "almostLinear";
|
||||
}
|
||||
{
|
||||
name = "workspaces";
|
||||
on = true;
|
||||
speed = 1.94;
|
||||
curve = "almostLinear";
|
||||
style = "fade";
|
||||
}
|
||||
{
|
||||
name = "workspacesIn";
|
||||
on = true;
|
||||
speed = 1.21;
|
||||
curve = "almostLinear";
|
||||
style = "fade";
|
||||
}
|
||||
{
|
||||
name = "workspacesOut";
|
||||
on = true;
|
||||
speed = 1.94;
|
||||
curve = "almostLinear";
|
||||
style = "fade";
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ in {
|
|||
|
||||
horseman.hardware.keyd.enable = true;
|
||||
|
||||
horseman.wm.hyprland.config = {
|
||||
nix-hyprland = {
|
||||
execOnce = [
|
||||
"hypridle"
|
||||
"hyprpaper"
|
||||
|
|
@ -54,8 +54,14 @@ in {
|
|||
];
|
||||
|
||||
env = [
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
{
|
||||
name = "XCURSOR_SIZE";
|
||||
value = "24";
|
||||
}
|
||||
{
|
||||
name = "HYPRCURSOR_SIZE";
|
||||
value = "24";
|
||||
}
|
||||
];
|
||||
|
||||
windowrules = [
|
||||
|
|
@ -140,10 +146,10 @@ in {
|
|||
dragIntoGroup = 1;
|
||||
|
||||
col = {
|
||||
borderActive = config.horseman.wm.hyprland.config.general.col.activeBorder; # I don't wanna believe this can't be done better :(
|
||||
borderInactive = config.horseman.wm.hyprland.config.general.col.inactiveBorder;
|
||||
borderLockedActive = config.horseman.wm.hyprland.config.general.col.activeBorder;
|
||||
borderLockedInactive = config.horseman.wm.hyprland.config.general.col.inactiveBorder;
|
||||
borderActive = config.nix-hyprland.general.col.activeBorder; # I don't wanna believe this can't be done better :(
|
||||
borderInactive = config.nix-hyprland.general.col.inactiveBorder;
|
||||
borderLockedActive = config.nix-hyprland.general.col.activeBorder;
|
||||
borderLockedInactive = config.nix-hyprland.general.col.inactiveBorder;
|
||||
};
|
||||
|
||||
groupbar = {
|
||||
|
|
@ -164,7 +170,7 @@ in {
|
|||
};
|
||||
|
||||
monitors = {
|
||||
defaultMonitor = true;
|
||||
addDefault = true;
|
||||
};
|
||||
|
||||
sleep = {
|
||||
|
|
|
|||
|
|
@ -7,506 +7,504 @@
|
|||
cfg = config.horseman.wm.hyprland;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
horseman.wm.hyprland.config = {
|
||||
keybindings = {
|
||||
submaps = [
|
||||
{
|
||||
name = "disable-all";
|
||||
enterBind = {
|
||||
flags = ["o"];
|
||||
mods = ["SUPER"];
|
||||
key = "ESCAPE";
|
||||
};
|
||||
exitBind = {
|
||||
flags = ["o"];
|
||||
mods = ["SUPER"];
|
||||
key = "ESCAPE";
|
||||
};
|
||||
|
||||
binds = [];
|
||||
}
|
||||
];
|
||||
|
||||
binds = [
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "SPACE";
|
||||
dispatcher = "exec";
|
||||
params = "pkill fuzzel || fuzzel";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "B";
|
||||
dispatcher = "exec";
|
||||
params = "pkill waybar || waybar";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "RETURN";
|
||||
dispatcher = "exec";
|
||||
params = "kitty";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "Q";
|
||||
dispatcher = "killactive";
|
||||
params = "";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = [];
|
||||
key = "F11";
|
||||
dispatcher = "fullscreen";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
nix-hyprland.keybindings = {
|
||||
submaps = [
|
||||
{
|
||||
name = "disable-all";
|
||||
enterBind = {
|
||||
flags = ["o"];
|
||||
mods = ["SUPER"];
|
||||
key = "L";
|
||||
dispatcher = "exec";
|
||||
params = "hyprlock";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
key = "ESCAPE";
|
||||
};
|
||||
exitBind = {
|
||||
flags = ["o"];
|
||||
mods = ["SUPER"];
|
||||
key = "TAB";
|
||||
dispatcher = "changegroupactive";
|
||||
params = "f";
|
||||
}
|
||||
key = "ESCAPE";
|
||||
};
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "TAB";
|
||||
dispatcher = "changegroupactive";
|
||||
params = "b";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "F";
|
||||
dispatcher = "togglefloating";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "T";
|
||||
dispatcher = "togglegroup";
|
||||
params = "";
|
||||
}
|
||||
binds = [];
|
||||
}
|
||||
];
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "P";
|
||||
dispatcher = "pin";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "S";
|
||||
dispatcher = "exec";
|
||||
params = "hyprshot -m region --clipboard-only";
|
||||
}
|
||||
binds = [
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "SPACE";
|
||||
dispatcher = "exec";
|
||||
params = "pkill fuzzel || fuzzel";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "H";
|
||||
dispatcher = "movefocus";
|
||||
params = "l";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "L";
|
||||
dispatcher = "movefocus";
|
||||
params = "r";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "K";
|
||||
dispatcher = "movefocus";
|
||||
params = "u";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "J";
|
||||
dispatcher = "movefocus";
|
||||
params = "d";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "B";
|
||||
dispatcher = "exec";
|
||||
params = "pkill waybar || waybar";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "H";
|
||||
dispatcher = "movewindow";
|
||||
params = "l";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "L";
|
||||
dispatcher = "movewindow";
|
||||
params = "r";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "K";
|
||||
dispatcher = "movewindow";
|
||||
params = "u";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "J";
|
||||
dispatcher = "movewindow";
|
||||
params = "d";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "RETURN";
|
||||
dispatcher = "exec";
|
||||
params = "kitty";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Left";
|
||||
dispatcher = "moveactive";
|
||||
params = "-50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Right";
|
||||
dispatcher = "moveactive";
|
||||
params = "50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Up";
|
||||
dispatcher = "moveactive";
|
||||
params = "0 -50";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Down";
|
||||
dispatcher = "moveactive";
|
||||
params = "0 50";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "Q";
|
||||
dispatcher = "killactive";
|
||||
params = "";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Left";
|
||||
dispatcher = "resizeactive";
|
||||
params = "-50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Right";
|
||||
dispatcher = "resizeactive";
|
||||
params = "50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Up";
|
||||
dispatcher = "resizeactive";
|
||||
params = "0 -50";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Down";
|
||||
dispatcher = "resizeactive";
|
||||
params = "0 50";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = [];
|
||||
key = "F11";
|
||||
dispatcher = "fullscreen";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = ["o"];
|
||||
mods = ["SUPER"];
|
||||
key = "L";
|
||||
dispatcher = "exec";
|
||||
params = "hyprlock";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "TAB";
|
||||
dispatcher = "changegroupactive";
|
||||
params = "f";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "grave";
|
||||
dispatcher = "togglespecialworkspace";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "1";
|
||||
dispatcher = "workspace";
|
||||
params = "1";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "2";
|
||||
dispatcher = "workspace";
|
||||
params = "2";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "3";
|
||||
dispatcher = "workspace";
|
||||
params = "3";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "4";
|
||||
dispatcher = "workspace";
|
||||
params = "4";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "5";
|
||||
dispatcher = "workspace";
|
||||
params = "5";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "6";
|
||||
dispatcher = "workspace";
|
||||
params = "6";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "7";
|
||||
dispatcher = "workspace";
|
||||
params = "7";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "8";
|
||||
dispatcher = "workspace";
|
||||
params = "8";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "9";
|
||||
dispatcher = "workspace";
|
||||
params = "9";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "0";
|
||||
dispatcher = "workspace";
|
||||
params = "10";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "TAB";
|
||||
dispatcher = "changegroupactive";
|
||||
params = "b";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "F";
|
||||
dispatcher = "togglefloating";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "T";
|
||||
dispatcher = "togglegroup";
|
||||
params = "";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "grave";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "special";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "1";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "1";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "2";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "2";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "3";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "3";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "4";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "4";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "5";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "5";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "6";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "6";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "7";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "7";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "8";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "8";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "9";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "9";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "0";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "10";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "P";
|
||||
dispatcher = "pin";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "S";
|
||||
dispatcher = "exec";
|
||||
params = "hyprshot -m region --clipboard-only";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "CONTROL"];
|
||||
key = "Right";
|
||||
dispatcher = "workspace";
|
||||
params = "e+1";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "CONTROL"];
|
||||
key = "Left";
|
||||
dispatcher = "workspace";
|
||||
params = "e-1";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "H";
|
||||
dispatcher = "movefocus";
|
||||
params = "l";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "L";
|
||||
dispatcher = "movefocus";
|
||||
params = "r";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "K";
|
||||
dispatcher = "movefocus";
|
||||
params = "u";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "J";
|
||||
dispatcher = "movefocus";
|
||||
params = "d";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["m"];
|
||||
mods = ["SUPER"];
|
||||
key = "mouse:272";
|
||||
dispatcher = "movewindow";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = ["m"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "mouse:272";
|
||||
dispatcher = "resizewindow";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "H";
|
||||
dispatcher = "movewindow";
|
||||
params = "l";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "L";
|
||||
dispatcher = "movewindow";
|
||||
params = "r";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "K";
|
||||
dispatcher = "movewindow";
|
||||
params = "u";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "J";
|
||||
dispatcher = "movewindow";
|
||||
params = "d";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioRaiseVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioLowerVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = ["SHIFT"];
|
||||
key = "XF86AudioRaiseVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = ["SHIFT"];
|
||||
key = "XF86AudioLowerVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%-";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioMute";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioMicMute";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86MonBrightnessUp";
|
||||
dispatcher = "exec";
|
||||
params = "brightnessctl s 10%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86MonBrightnessDown";
|
||||
dispatcher = "exec";
|
||||
params = "brightnessctl s 10%-";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioNext";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl next";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPause";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl play-pause";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPlay";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl play-pause";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPrev";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl previous";
|
||||
}
|
||||
];
|
||||
};
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Left";
|
||||
dispatcher = "moveactive";
|
||||
params = "-50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Right";
|
||||
dispatcher = "moveactive";
|
||||
params = "50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Up";
|
||||
dispatcher = "moveactive";
|
||||
params = "0 -50";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER"];
|
||||
key = "Down";
|
||||
dispatcher = "moveactive";
|
||||
params = "0 50";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Left";
|
||||
dispatcher = "resizeactive";
|
||||
params = "-50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Right";
|
||||
dispatcher = "resizeactive";
|
||||
params = "50 0";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Up";
|
||||
dispatcher = "resizeactive";
|
||||
params = "0 -50";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "Down";
|
||||
dispatcher = "resizeactive";
|
||||
params = "0 50";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "grave";
|
||||
dispatcher = "togglespecialworkspace";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "1";
|
||||
dispatcher = "workspace";
|
||||
params = "1";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "2";
|
||||
dispatcher = "workspace";
|
||||
params = "2";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "3";
|
||||
dispatcher = "workspace";
|
||||
params = "3";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "4";
|
||||
dispatcher = "workspace";
|
||||
params = "4";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "5";
|
||||
dispatcher = "workspace";
|
||||
params = "5";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "6";
|
||||
dispatcher = "workspace";
|
||||
params = "6";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "7";
|
||||
dispatcher = "workspace";
|
||||
params = "7";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "8";
|
||||
dispatcher = "workspace";
|
||||
params = "8";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "9";
|
||||
dispatcher = "workspace";
|
||||
params = "9";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER"];
|
||||
key = "0";
|
||||
dispatcher = "workspace";
|
||||
params = "10";
|
||||
}
|
||||
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "grave";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "special";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "1";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "1";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "2";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "2";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "3";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "3";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "4";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "4";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "5";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "5";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "6";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "6";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "7";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "7";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "8";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "8";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "9";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "9";
|
||||
}
|
||||
{
|
||||
flags = [];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "0";
|
||||
dispatcher = "movetoworkspace";
|
||||
params = "10";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "CONTROL"];
|
||||
key = "Right";
|
||||
dispatcher = "workspace";
|
||||
params = "e+1";
|
||||
}
|
||||
{
|
||||
flags = ["e"];
|
||||
mods = ["SUPER" "CONTROL"];
|
||||
key = "Left";
|
||||
dispatcher = "workspace";
|
||||
params = "e-1";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["m"];
|
||||
mods = ["SUPER"];
|
||||
key = "mouse:272";
|
||||
dispatcher = "movewindow";
|
||||
params = "";
|
||||
}
|
||||
{
|
||||
flags = ["m"];
|
||||
mods = ["SUPER" "SHIFT"];
|
||||
key = "mouse:272";
|
||||
dispatcher = "resizewindow";
|
||||
params = "";
|
||||
}
|
||||
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioRaiseVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioLowerVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = ["SHIFT"];
|
||||
key = "XF86AudioRaiseVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = ["SHIFT"];
|
||||
key = "XF86AudioLowerVolume";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 1%-";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioMute";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86AudioMicMute";
|
||||
dispatcher = "exec";
|
||||
params = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86MonBrightnessUp";
|
||||
dispatcher = "exec";
|
||||
params = "brightnessctl s 10%+";
|
||||
}
|
||||
{
|
||||
flags = ["e" "l"];
|
||||
mods = [];
|
||||
key = "XF86MonBrightnessDown";
|
||||
dispatcher = "exec";
|
||||
params = "brightnessctl s 10%-";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioNext";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl next";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPause";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl play-pause";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPlay";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl play-pause";
|
||||
}
|
||||
{
|
||||
flags = ["l"];
|
||||
mods = [];
|
||||
key = "XF86AudioPrev";
|
||||
dispatcher = "exec";
|
||||
params = "playerctl previous";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,217 +11,30 @@
|
|||
|
||||
cfg = config.horseman.wm.hyprland;
|
||||
homeCfg = config.horseman;
|
||||
|
||||
keybinding = types.submodule {
|
||||
options = {
|
||||
flags = mkOption {
|
||||
type = types.listOf (types.enum ["l" "r" "c" "g" "o" "e" "m" "t" "i" "s" "d" "p"]);
|
||||
};
|
||||
|
||||
mods = mkOption {
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
key = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
dispatcher = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
params = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
};
|
||||
submapKeybinding = types.submodule {
|
||||
options = {
|
||||
flags = mkOption {
|
||||
type = types.listOf (types.enum ["l" "r" "c" "g" "o" "e" "m" "t" "i" "s" "d" "p"]);
|
||||
};
|
||||
|
||||
mods = mkOption {
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
key = mkOption {
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
};
|
||||
vec2 = types.submodule {
|
||||
options = {
|
||||
x = mkOption {type = types.int;};
|
||||
y = mkOption {type = types.int;};
|
||||
};
|
||||
};
|
||||
fontWeight = types.enum ["thin" "ultralight" "light" "semilight" "book" "normal" "medium" "semibold" "bold" "ultrabold" "heavy" "ultraheavy"];
|
||||
in {
|
||||
options.horseman.wm.hyprland.config = {
|
||||
execOnce = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
env = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
windowrules = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
workspaces = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
animations = {
|
||||
beziers = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
name = mkOption {type = types.str;};
|
||||
startX = mkOption {type = types.number;};
|
||||
startY = mkOption {type = types.number;};
|
||||
endX = mkOption {type = types.number;};
|
||||
endY = mkOption {type = types.number;};
|
||||
};
|
||||
});
|
||||
options.horseman.wm.hyprland.config.waybar = {
|
||||
layout = {
|
||||
horizontal = {
|
||||
left = mkOption {type = types.listOf types.str;};
|
||||
center = mkOption {type = types.listOf types.str;};
|
||||
right = mkOption {type = types.listOf types.str;};
|
||||
};
|
||||
|
||||
animations = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
name = mkOption {type = types.str;};
|
||||
on = mkOption {type = types.bool;};
|
||||
speed = mkOption {
|
||||
type = types.number;
|
||||
default = 0;
|
||||
};
|
||||
curve = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
};
|
||||
style = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
});
|
||||
vertical = {
|
||||
left = mkOption {type = types.listOf types.str;};
|
||||
center = mkOption {type = types.listOf types.str;};
|
||||
right = mkOption {type = types.listOf types.str;};
|
||||
};
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = mkOption {type = types.bool;};
|
||||
preserveSplit = mkOption {type = types.bool;};
|
||||
};
|
||||
|
||||
master = {
|
||||
newStatus = mkOption {type = types.enum ["master" "slave" "inherit"];};
|
||||
};
|
||||
|
||||
monitors = {
|
||||
defaultMonitor = mkOption {type = types.bool;};
|
||||
bindWorkspaces = mkOption {
|
||||
type = types.enum ["no" "interlaced"];
|
||||
default = "no";
|
||||
};
|
||||
|
||||
displays = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
output = mkOption {type = types.str;};
|
||||
resolution = mkOption {
|
||||
type = types.str;
|
||||
default = "highres";
|
||||
};
|
||||
refreshRate = mkOption {
|
||||
type = types.str;
|
||||
default = "highrr";
|
||||
};
|
||||
x = mkOption {type = types.int;};
|
||||
y = mkOption {type = types.int;};
|
||||
scale = mkOption {
|
||||
type = types.number;
|
||||
default = 1;
|
||||
};
|
||||
transform = mkOption {
|
||||
type = types.enum [0 1 2 3 4 5 6 7];
|
||||
default = 0;
|
||||
};
|
||||
wallpaper = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
};
|
||||
bar = mkOption {
|
||||
type = types.enum ["" "left" "right" "top" "bottom"];
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
binds = mkOption {type = types.listOf keybinding;};
|
||||
|
||||
submaps = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
name = mkOption {type = types.str;};
|
||||
enterBind = mkOption {type = submapKeybinding;};
|
||||
exitBind = mkOption {type = submapKeybinding;};
|
||||
binds = mkOption {type = types.listOf keybinding;};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
sleep = {
|
||||
lockCommand = mkOption {type = types.str;};
|
||||
|
||||
listeners = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
timeout = mkOption {type = types.ints.positive;};
|
||||
onTimeout = mkOption {type = types.str;};
|
||||
onResume = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
};
|
||||
ignoreInhibit = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
waybar = {
|
||||
layout = {
|
||||
horizontal = {
|
||||
left = mkOption {type = types.listOf types.str;};
|
||||
center = mkOption {type = types.listOf types.str;};
|
||||
right = mkOption {type = types.listOf types.str;};
|
||||
};
|
||||
vertical = {
|
||||
left = mkOption {type = types.listOf types.str;};
|
||||
center = mkOption {type = types.listOf types.str;};
|
||||
right = mkOption {type = types.listOf types.str;};
|
||||
};
|
||||
};
|
||||
formats = {
|
||||
horizontal = mkOption {
|
||||
type = types.attrs;
|
||||
};
|
||||
vertical = mkOption {
|
||||
type = types.attrs;
|
||||
};
|
||||
};
|
||||
modules = mkOption {
|
||||
formats = {
|
||||
horizontal = mkOption {
|
||||
type = types.attrs;
|
||||
};
|
||||
vertical = mkOption {
|
||||
type = types.attrs;
|
||||
};
|
||||
};
|
||||
modules = mkOption {
|
||||
type = types.attrs;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -229,12 +42,6 @@ in {
|
|||
horseman.dots = {
|
||||
fuzzel.enable = true;
|
||||
waybar.enable = true;
|
||||
hypr = {
|
||||
hyprland.enable = true;
|
||||
hypridle.enable = true;
|
||||
hyprpaper.enable = true;
|
||||
hyprlock.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.${homeCfg.username} = {
|
||||
|
|
@ -248,7 +55,7 @@ in {
|
|||
if (disp.bar == location)
|
||||
then disp.output
|
||||
else null)
|
||||
cfg.config.monitors.displays
|
||||
config.nix-hyprland.monitors.displays
|
||||
)
|
||||
);
|
||||
in {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue