update: system update & refactor
# Breaking Changes - sops location movod to "system/dev/<dev-name>/sops/sops-conf.nix" - flake devices declaration changes - whole flake update
This commit is contained in:
parent
321f740af0
commit
6a71b601f5
116 changed files with 2576 additions and 3634 deletions
|
|
@ -1,14 +1,15 @@
|
|||
{ mainMod }:
|
||||
{
|
||||
mainMod,
|
||||
osConfig,
|
||||
config,
|
||||
nvidia-offload-enabled,
|
||||
lib,
|
||||
pkgs,
|
||||
monitors ? [ ],
|
||||
...
|
||||
}:
|
||||
with builtins;
|
||||
let
|
||||
inherit (lib) optionalString;
|
||||
inherit (osConfig.systemConf.hyprland) monitors;
|
||||
nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd;
|
||||
|
||||
notransTag = "notrans";
|
||||
|
||||
|
|
@ -41,85 +42,87 @@ let
|
|||
in
|
||||
toString (if (monitorsNum == 0) then 1 else monitorsNum);
|
||||
in
|
||||
[
|
||||
''${mainMod}, F, exec, ${browser}''
|
||||
''${mainMod}, RETURN, exec, ${terminal}''
|
||||
''CTRL ALT, T, exec, ${terminal}''
|
||||
''${mainMod}, Q, killactive, ''
|
||||
{
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
''${mainMod}, F, exec, ${browser}''
|
||||
''${mainMod}, RETURN, exec, ${terminal}''
|
||||
''CTRL ALT, T, exec, ${terminal}''
|
||||
''${mainMod}, Q, killactive, ''
|
||||
|
||||
''${mainMod}, M, exec, ${toggleWlogout}''
|
||||
''${mainMod}, E, exec, ${filemanager}''
|
||||
''${mainMod}, V, togglefloating, ''
|
||||
''ALT, SPACE, exec, rofi -config ~/.config/rofi/apps.rasi -show drun''
|
||||
''${mainMod}, W, exec, ${rofiWall}''
|
||||
''${mainMod}, P, pseudo, # dwindle''
|
||||
''${mainMod}, S, togglesplit, # dwindle''
|
||||
''CTRL ${mainMod} SHIFT, L, exec, hyprlock''
|
||||
''${mainMod}, M, exec, ${toggleWlogout}''
|
||||
''${mainMod}, E, exec, ${filemanager}''
|
||||
''${mainMod}, V, togglefloating, ''
|
||||
''ALT, SPACE, exec, rofi -config ~/.config/rofi/apps.rasi -show drun''
|
||||
''${mainMod}, W, exec, ${rofiWall}''
|
||||
''${mainMod}, P, pseudo, # dwindle''
|
||||
''${mainMod}, S, togglesplit, # dwindle''
|
||||
''CTRL ${mainMod} SHIFT, L, exec, hyprlock''
|
||||
|
||||
# Toggle transparent
|
||||
''${mainMod}, n, tagwindow, ${notransTag}''
|
||||
# Toggle transparent
|
||||
''${mainMod}, n, tagwindow, ${notransTag}''
|
||||
|
||||
# Bitwarden Selector
|
||||
''CTRL ${mainMod}, P, exec, ${rbwSelector}''
|
||||
# Bitwarden Selector
|
||||
''CTRL ${mainMod}, P, exec, ${rbwSelector}''
|
||||
|
||||
# Screenshot
|
||||
''${mainMod} SHIFT, s, exec, hyprshot -m region ${clipboardOnly}''
|
||||
''CTRL SHIFT, s, exec, hyprshot -m window ${clipboardOnly}''
|
||||
''CTRL SHIFT ${mainMod}, s, exec, hyprshot -m output ${clipboardOnly}''
|
||||
''CTRL ALT, s, exec, hyprshot -m active -m window ${clipboardOnly}''
|
||||
# Screenshot
|
||||
''${mainMod} SHIFT, s, exec, hyprshot -m region ${clipboardOnly}''
|
||||
''CTRL SHIFT, s, exec, hyprshot -m window ${clipboardOnly}''
|
||||
''CTRL SHIFT ${mainMod}, s, exec, hyprshot -m output ${clipboardOnly}''
|
||||
''CTRL ALT, s, exec, hyprshot -m active -m window ${clipboardOnly}''
|
||||
|
||||
''${mainMod}, PERIOD, exec, rofi -modi emoji -show emoji''
|
||||
''CTRL ${mainMod}, c, exec, rofi -show calc -modi calc -no-show-match -no-sort''
|
||||
''${mainMod}, X, exec, sleep 0.1 && swaync-client -t -sw''
|
||||
''${mainMod} SHIFT, C, centerwindow''
|
||||
'',F11, fullscreen''
|
||||
''${mainMod}, C, exec, code''
|
||||
''${mainMod}, PERIOD, exec, rofi -modi emoji -show emoji''
|
||||
''CTRL ${mainMod}, c, exec, rofi -show calc -modi calc -no-show-match -no-sort''
|
||||
''${mainMod}, X, exec, sleep 0.1 && swaync-client -t -sw''
|
||||
''${mainMod} SHIFT, C, centerwindow''
|
||||
'',F11, fullscreen''
|
||||
''${mainMod}, C, exec, code''
|
||||
|
||||
# Color Picker
|
||||
''${mainMod} SHIFT, P, exec, hyprpicker -f hex -a -z''
|
||||
# Color Picker
|
||||
''${mainMod} SHIFT, P, exec, hyprpicker -f hex -a -z''
|
||||
|
||||
# Cycle windows
|
||||
''ALT, TAB, cyclenext''
|
||||
''ALT, TAB, bringactivetotop''
|
||||
# Cycle windows
|
||||
''ALT, TAB, cyclenext''
|
||||
''ALT, TAB, bringactivetotop''
|
||||
|
||||
''${mainMod}, h, movefocus, l''
|
||||
''${mainMod}, l, movefocus, r''
|
||||
''${mainMod}, k, movefocus, u''
|
||||
''${mainMod}, j, movefocus, d''
|
||||
''${mainMod}, h, movefocus, l''
|
||||
''${mainMod}, l, movefocus, r''
|
||||
''${mainMod}, k, movefocus, u''
|
||||
''${mainMod}, j, movefocus, d''
|
||||
|
||||
''${mainMod}, mouse_down, workspace, e-${scrollStep}''
|
||||
''${mainMod}, mouse_up, workspace, e+${scrollStep}''
|
||||
''${mainMod}, mouse_down, workspace, e-${scrollStep}''
|
||||
''${mainMod}, mouse_up, workspace, e+${scrollStep}''
|
||||
|
||||
''${mainMod} SHIFT, l, movewindow, r''
|
||||
''${mainMod} SHIFT, h, movewindow, l''
|
||||
''${mainMod} SHIFT, k, movewindow, u''
|
||||
''${mainMod} SHIFT, j, movewindow, d''
|
||||
''${mainMod} SHIFT, l, movewindow, r''
|
||||
''${mainMod} SHIFT, h, movewindow, l''
|
||||
''${mainMod} SHIFT, k, movewindow, u''
|
||||
''${mainMod} SHIFT, j, movewindow, d''
|
||||
|
||||
# Media
|
||||
'',XF86AudioPrev, exec, playerctl previous''
|
||||
'',XF86AudioNext, exec, playerctl next''
|
||||
''${mainMod} CTRL, COMMA, exec, playerctl previous''
|
||||
''${mainMod} CTRL, PERIOD, exec, playerctl next''
|
||||
'',XF86AudioPlay, exec, playerctl play-pause''
|
||||
'',XF86AudioStop, exec, playerctl stop''
|
||||
'',XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle''
|
||||
# Media
|
||||
'',XF86AudioPrev, exec, playerctl previous''
|
||||
'',XF86AudioNext, exec, playerctl next''
|
||||
''${mainMod} CTRL, COMMA, exec, playerctl previous''
|
||||
''${mainMod} CTRL, PERIOD, exec, playerctl next''
|
||||
'',XF86AudioPlay, exec, playerctl play-pause''
|
||||
'',XF86AudioStop, exec, playerctl stop''
|
||||
'',XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle''
|
||||
|
||||
''${mainMod}, G, workspace, ${toString gamingWorkspace}''
|
||||
''${mainMod} SHIFT, G, movetoworkspace, ${toString gamingWorkspace}''
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mainMod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"${mainMod}, code:1${toString i}, workspace, ${toString ws}"
|
||||
"${mainMod} SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
)
|
||||
''${mainMod}, G, workspace, ${toString gamingWorkspace}''
|
||||
''${mainMod} SHIFT, G, movetoworkspace, ${toString gamingWorkspace}''
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mainMod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"${mainMod}, code:1${toString i}, workspace, ${toString ws}"
|
||||
"${mainMod} SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,35 +1,37 @@
|
|||
{ ... }:
|
||||
{
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_rules = "";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_rules = "";
|
||||
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
|
||||
kb_options = [ "caps:escape" ];
|
||||
kb_options = [ "caps:escape" ];
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
};
|
||||
|
||||
sensitivity = -0.1; # -1.0 - 1.0, 0 means no modification.
|
||||
};
|
||||
binds = {
|
||||
scroll_event_delay = 0;
|
||||
};
|
||||
|
||||
sensitivity = -0.1; # -1.0 - 1.0, 0 means no modification.
|
||||
};
|
||||
binds = {
|
||||
scroll_event_delay = 0;
|
||||
};
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
gesture = [
|
||||
"3, horizontal, workspace"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,77 +1,74 @@
|
|||
{ lib }:
|
||||
{ lib, ... }:
|
||||
{
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
"col.active_border" = lib.mkForce "rgb(EBDBB2) rgb(24273A) rgb(24273A) rgb(EBDBB2) 45deg";
|
||||
"col.inactive_border" = lib.mkForce "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 5;
|
||||
passes = 3;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = "on";
|
||||
xray = false;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
active_opacity = 0.8;
|
||||
inactive_opacity = 0.8;
|
||||
fullscreen_opacity = 1.0;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"linear, 0, 0, 1, 1"
|
||||
"md3_standard, 0.2, 0, 0, 1"
|
||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||
"crazyshot, 0.1, 1.5, 0.76, 0.92"
|
||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
||||
"md2, 0.4, 0, 0.2, 1"
|
||||
];
|
||||
animation = [
|
||||
"windows, 1, 3, md3_decel, popin 60%"
|
||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
||||
"border, 1, 10, default"
|
||||
"fade, 1, 3, md3_decel"
|
||||
"workspaces, 1, 7, menu_decel, slide"
|
||||
"specialWorkspace, 1, 3, md3_decel, slidevert"
|
||||
];
|
||||
};
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
"col.active_border" = lib.mkForce "rgb(EBDBB2) rgb(24273A) rgb(24273A) rgb(EBDBB2) 45deg";
|
||||
"col.inactive_border" = lib.mkForce "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 5;
|
||||
passes = 3;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = "on";
|
||||
xray = false;
|
||||
};
|
||||
active_opacity = 0.8;
|
||||
inactive_opacity = 0.8;
|
||||
fullscreen_opacity = 1.0;
|
||||
};
|
||||
|
||||
master = {
|
||||
new_on_top = true;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"linear, 0, 0, 1, 1"
|
||||
"md3_standard, 0.2, 0, 0, 1"
|
||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||
"crazyshot, 0.1, 1.5, 0.76, 0.92"
|
||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
||||
"md2, 0.4, 0, 0.2, 1"
|
||||
];
|
||||
animation = [
|
||||
"windows, 1, 3, md3_decel, popin 60%"
|
||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
||||
"border, 1, 10, default"
|
||||
"fade, 1, 3, md3_decel"
|
||||
"workspaces, 1, 7, menu_decel, slide"
|
||||
"specialWorkspace, 1, 3, md3_decel, slidevert"
|
||||
];
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_cancel_ratio = 0.15;
|
||||
};
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
master = {
|
||||
new_on_top = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,125 +1,123 @@
|
|||
{ ... }:
|
||||
let
|
||||
inherit (builtins) map concatLists;
|
||||
top = "60";
|
||||
right = "100%-w-10";
|
||||
notransTag = "notrans";
|
||||
in
|
||||
{
|
||||
windowrule = [
|
||||
"pseudo, class:(org.fcitx.)"
|
||||
"float, class:file_progress"
|
||||
"float, class:confirm"
|
||||
"float, class:dialog"
|
||||
"float, class:download"
|
||||
"float, class:notification"
|
||||
"float, class:error"
|
||||
"float, class:splash"
|
||||
"float, class:confirmreset"
|
||||
"float, title:Open File"
|
||||
"float, title:branchdialog"
|
||||
"float, class:pavucontrol-qt"
|
||||
"float, class:pavucontrol"
|
||||
"float, class:file-roller"
|
||||
"fullscreen, title:wlogout"
|
||||
"float, title:wlogout"
|
||||
"fullscreen, title:wlogout"
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
windowrule = [
|
||||
"pseudo, class:(org.fcitx.)"
|
||||
"float, class:file_progress"
|
||||
"float, class:confirm"
|
||||
"float, class:dialog"
|
||||
"float, class:download"
|
||||
"float, class:notification"
|
||||
"float, class:error"
|
||||
"float, class:splash"
|
||||
"float, class:confirmreset"
|
||||
"float, title:Open File"
|
||||
"float, title:branchdialog"
|
||||
"float, class:pavucontrol-qt"
|
||||
"float, class:pavucontrol"
|
||||
"float, class:file-roller"
|
||||
"fullscreen, title:wlogout"
|
||||
"float, title:wlogout"
|
||||
"fullscreen, title:wlogout"
|
||||
|
||||
"float, title:^(Media viewer)$"
|
||||
"float, title:^(File Operation Progress)$"
|
||||
"float, class:^(it.mijorus.smile)"
|
||||
"float, class:^(xdg-desktop-portal-gtk)$"
|
||||
"float, title:^(Steam Settings)$"
|
||||
"float, title:^(Media viewer)$"
|
||||
"float, title:^(File Operation Progress)$"
|
||||
"float, class:^(it.mijorus.smile)"
|
||||
"float, class:^(xdg-desktop-portal-gtk)$"
|
||||
"float, title:^(Steam Settings)$"
|
||||
|
||||
"fullscreen, initialClass:^(cs2)$"
|
||||
"fullscreen, initialClass:^(cs2)$"
|
||||
|
||||
# Zen browser
|
||||
"opacity 0.9999 override, initialClass:^(zen)(.*)"
|
||||
# Zen browser
|
||||
"opacity 0.9999 override, initialClass:^(zen)(.*)"
|
||||
|
||||
# Ghostty
|
||||
"opacity 0.9999 override, initialClass:^(com.mitchellh.ghostty)$"
|
||||
# Ghostty
|
||||
"opacity 0.9999 override, initialClass:^(com.mitchellh.ghostty)$"
|
||||
|
||||
# Picture in picture windows
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
"float, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"pin, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"float, class:^(steam)$,title:^(Friends List)$"
|
||||
# Picture in picture windows
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
"float, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"pin, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"float, class:^(steam)$,title:^(Friends List)$"
|
||||
|
||||
# Meidia control
|
||||
"move ${right} ${top}, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"size 30% 33%, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
# Meidia control
|
||||
"move ${right} ${top}, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"size 30% 33%, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
|
||||
# Local Send (File Sharing)
|
||||
"move ${right} 8%, class: ^(localsend_app)$"
|
||||
"size 20% 80%, class: ^(localsend_app)$"
|
||||
# Local Send (File Sharing)
|
||||
"move ${right} 8%, class: ^(localsend_app)$"
|
||||
"size 20% 80%, class: ^(localsend_app)$"
|
||||
|
||||
# Bluetooth
|
||||
"move ${right} ${top}, class: ^(blueberry.py)$"
|
||||
"size 25% 45%, class: ^(blueberry.py)$"
|
||||
# Bluetooth
|
||||
"move ${right} ${top}, class: ^(blueberry.py)$"
|
||||
"size 25% 45%, class: ^(blueberry.py)$"
|
||||
|
||||
# Media Control
|
||||
"float, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"pin, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"animation slide top 20%, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
# Media Control
|
||||
"float, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"pin, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
"animation slide top 20%, class: ^(org.pulseaudio.pavucontrol)$"
|
||||
|
||||
# Local Send (File Sharing)
|
||||
"float, class: ^(localsend_app)$"
|
||||
"pin, class: ^(localsend_app)$"
|
||||
"animation slide right 20%, class: ^(localsend_app)$"
|
||||
# Local Send (File Sharing)
|
||||
"float, class: ^(localsend_app)$"
|
||||
"pin, class: ^(localsend_app)$"
|
||||
"animation slide right 20%, class: ^(localsend_app)$"
|
||||
|
||||
# Airplay
|
||||
"move ${right} 10%, class: ^(GStreamer)$"
|
||||
"size 21% 80%, class: ^(GStreamer)$"
|
||||
"pin, class: ^(GStreamer)$"
|
||||
"float, class: ^(GStreamer)$"
|
||||
"opacity 1.0 override 1.0 override, class: ^(GStreamer)$"
|
||||
"noblur, class: ^(GStreamer)$"
|
||||
"animation slide right 20%, class: ^(GStreamer)$"
|
||||
"keepaspectratio, class: ^(GStreamer)$"
|
||||
# Airplay
|
||||
"move ${right} 10%, class: ^(GStreamer)$"
|
||||
"size 21% 80%, class: ^(GStreamer)$"
|
||||
"pin, class: ^(GStreamer)$"
|
||||
"float, class: ^(GStreamer)$"
|
||||
"opacity 1.0 override 1.0 override, class: ^(GStreamer)$"
|
||||
"noblur, class: ^(GStreamer)$"
|
||||
"animation slide right 20%, class: ^(GStreamer)$"
|
||||
"keepaspectratio, class: ^(GStreamer)$"
|
||||
|
||||
# Bluetooth
|
||||
"float, class: ^(blueberry.py)$"
|
||||
"pin, class: ^(blueberry.py)$"
|
||||
"animation slide top 20%, class: ^(blueberry.py)$"
|
||||
# Bluetooth
|
||||
"float, class: ^(blueberry.py)$"
|
||||
"pin, class: ^(blueberry.py)$"
|
||||
"animation slide top 20%, class: ^(blueberry.py)$"
|
||||
|
||||
# Steam
|
||||
"workspace: 7 silent, class: ^(steam)$"
|
||||
"workspace: unset, class: ^(steam)$, floating: 1"
|
||||
# Steam
|
||||
"workspace 7 silent, class: ^(steam)$"
|
||||
"workspace unset, class: ^(steam)$, floating: 1"
|
||||
|
||||
# steam game
|
||||
"workspace: 7 silent, class: ^(steam_app_)(.*)"
|
||||
# steam game
|
||||
"workspace 7 silent, class: ^(steam_app_)(.*)"
|
||||
|
||||
# Line
|
||||
"workspace: 2, initialTitle: ^(LINE)$"
|
||||
"float, initialTitle: ^(LINE)$"
|
||||
# VLC
|
||||
"workspace 3, initialClass: ^(vlc), floating: 0"
|
||||
|
||||
# VLC
|
||||
"workspace: 3, initialClass: ^(vlc), floating: 0"
|
||||
# discord
|
||||
"workspace 4 silent, initialClass: ^(discord), floating: 0"
|
||||
|
||||
# discord
|
||||
"workspace: 4 silent, initialClass: ^(discord), floating: 0"
|
||||
# Davinci resolve
|
||||
"center 1, initialClass: ^(resolve), floating: 1"
|
||||
|
||||
# Davinci resolve
|
||||
"center 1, initialClass: ^(resolve), floating: 1"
|
||||
# Disable Tansparent
|
||||
"opacity 1.0 override 1.0 override, tag:${notransTag}"
|
||||
"noblur, tag: ^(${notransTag})$"
|
||||
];
|
||||
|
||||
# Disable Tansparent
|
||||
"opacity 1.0 override 1.0 override, tag:${notransTag}"
|
||||
"noblur, tag: ^(${notransTag})$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
"blur, waybar"
|
||||
"blur, logout_dialog"
|
||||
"unset, rofi"
|
||||
"blur, rofi"
|
||||
"ignorezero, rofi"
|
||||
"unset, swaync-control-center"
|
||||
"unset, swaync-notification-window"
|
||||
"blur, swaync-control-center"
|
||||
"blur, swaync-notification-window"
|
||||
"ignorezero, swaync-control-center"
|
||||
"ignorezero, swaync-notification-window"
|
||||
"ignorealpha 0.1, swaync-control-center"
|
||||
"ignorealpha 0.1, swaync-notification-window"
|
||||
];
|
||||
layerrule = [
|
||||
"blur, waybar"
|
||||
"blur, logout_dialog"
|
||||
"unset, rofi"
|
||||
"blur, rofi"
|
||||
"ignorezero, rofi"
|
||||
"unset, swaync-control-center"
|
||||
"unset, swaync-notification-window"
|
||||
"blur, swaync-control-center"
|
||||
"blur, swaync-notification-window"
|
||||
"ignorezero, swaync-control-center"
|
||||
"ignorezero, swaync-notification-window"
|
||||
"ignorealpha 0.1, swaync-control-center"
|
||||
"ignorealpha 0.1, swaync-notification-window"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{ monitors }:
|
||||
{ osConfig, ... }:
|
||||
let
|
||||
inherit (osConfig.systemConf.hyprland) monitors;
|
||||
inherit (builtins)
|
||||
length
|
||||
genList
|
||||
|
|
@ -14,7 +15,9 @@ let
|
|||
currentNum = index - (monitorNum * (index / monitorNum));
|
||||
default = if index < monitorNum then "true" else "false";
|
||||
in
|
||||
"${toString (index + 1)}, monitor:${elemAt monitors currentNum}, default:${default}"
|
||||
"${toString (index + 1)}, monitor:desc:${(elemAt monitors currentNum).desc}, default:${default}"
|
||||
) workspaceNum;
|
||||
in
|
||||
if (monitorNum > 0) then workspaceList else [ ]
|
||||
{
|
||||
wayland.windowManager.hyprland.settings.workspace = if (monitorNum > 0) then workspaceList else [ ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,13 @@
|
|||
{
|
||||
monitors ? [ ],
|
||||
}:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
system,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (osConfig.systemConf.hyprland) monitors;
|
||||
terminal = "ghostty";
|
||||
|
||||
execOnceScript = pkgs.writeShellScript "hyprlandExecOnce" ''
|
||||
|
|
@ -40,6 +37,14 @@ in
|
|||
sunsetr
|
||||
];
|
||||
|
||||
imports = [
|
||||
(import ./hypr/bind.nix { inherit mainMod; })
|
||||
./hypr/workspace.nix
|
||||
./hypr/window.nix
|
||||
./hypr/windowrule.nix
|
||||
./hypr/input.nix
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
|
|
@ -60,22 +65,12 @@ in
|
|||
|
||||
settings = {
|
||||
"$mainMod" = mainMod;
|
||||
|
||||
debug = {
|
||||
disable_logs = true;
|
||||
};
|
||||
|
||||
bind = (
|
||||
import ./hypr/bind.nix {
|
||||
inherit
|
||||
mainMod
|
||||
pkgs
|
||||
monitors
|
||||
config
|
||||
lib
|
||||
;
|
||||
nvidia-offload-enabled = osConfig.hardware.nvidia.prime.offload.enableOffloadCmd;
|
||||
}
|
||||
);
|
||||
ecosystem.no_update_news = true;
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
|
|
@ -102,7 +97,8 @@ in
|
|||
|
||||
monitor = [
|
||||
", prefered, 0x0, 1"
|
||||
];
|
||||
]
|
||||
++ (map (x: "desc:${x.desc},${x.props}") osConfig.systemConf.hyprland.monitors);
|
||||
|
||||
plugin = {
|
||||
hyprwinrap = {
|
||||
|
|
@ -128,16 +124,12 @@ in
|
|||
''GDK_PIXBUF_MODULE_FILE, ${pkgs.librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache''
|
||||
];
|
||||
|
||||
workspace = (import ./hypr/workspace.nix { inherit monitors; });
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
force_default_wallpaper = 0;
|
||||
disable_splash_rendering = true;
|
||||
};
|
||||
}
|
||||
// (import ./hypr/window.nix { inherit lib; })
|
||||
// (import ./hypr/windowrule.nix)
|
||||
// (import ./hypr/input.nix);
|
||||
};
|
||||
};
|
||||
|
||||
# === Swww === #
|
||||
|
|
@ -161,7 +153,8 @@ in
|
|||
let
|
||||
font = "CaskaydiaCove Nerd Font";
|
||||
font2 = "SF Pro Display Bold";
|
||||
mainMonitor = if ((builtins.length monitors) > 0) then builtins.elemAt monitors 0 else "";
|
||||
mainMonitor =
|
||||
if ((builtins.length monitors) > 0) then "desc:${(builtins.elemAt monitors 0).desc}" else "";
|
||||
in
|
||||
{
|
||||
background = {
|
||||
|
|
@ -270,7 +263,6 @@ in
|
|||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -546,10 +538,10 @@ in
|
|||
# === rofi === #
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
package = pkgs.rofi;
|
||||
plugins = with pkgs; [
|
||||
rofi-emoji-wayland
|
||||
(rofi-calc.override { rofi-unwrapped = rofi-wayland-unwrapped; })
|
||||
rofi-emoji
|
||||
rofi-calc
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue