yazi updates
This commit is contained in:
@@ -26,9 +26,10 @@
|
|||||||
./monitors.nix
|
./monitors.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
custom.hyprland.cursorSize = 32;
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprctl setcursor Nordzy-cursors 32"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
workspace = [
|
workspace = [
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{ pkgs, inputs, ... }:
|
{ pkgs, config, inputs, ... }:
|
||||||
let
|
let
|
||||||
nordzy-cursors = pkgs.callPackage ../../../../pkgs/nordzy-cursors/package.nix { };
|
nordzy-cursors = pkgs.callPackage ../../../../pkgs/nordzy-cursors/package.nix { };
|
||||||
|
cursorSize = config.custom.hyprland.cursorSize;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
@@ -9,9 +10,9 @@ in
|
|||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
HYPRCURSOR_THEME = "Nordzy-cursors"; # Dark variant (default)
|
HYPRCURSOR_THEME = "Nordzy-cursors"; # Dark variant (default)
|
||||||
HYPRCURSOR_SIZE = 24;
|
HYPRCURSOR_SIZE = cursorSize;
|
||||||
XCURSOR_THEME = "Nordzy-cursors";
|
XCURSOR_THEME = "Nordzy-cursors";
|
||||||
XCURSOR_SIZE = 24;
|
XCURSOR_SIZE = cursorSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
|
|||||||
@@ -1,13 +1,28 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
rofiLaunchers = import ../../../pkgs/rofi-launchers/package.nix { };
|
rofiLaunchers = import ../../../pkgs/rofi-launchers/package.nix { };
|
||||||
|
cfg = config.custom.hyprland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.custom.hyprland = {
|
||||||
|
yaziSize = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "1400 1400";
|
||||||
|
description = "Size of the yazi special workspace window";
|
||||||
|
};
|
||||||
|
cursorSize = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 24;
|
||||||
|
description = "Cursor size for XCURSOR_SIZE and HYPRCURSOR_SIZE";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./rofi.nix
|
./rofi.nix
|
||||||
./cursor.nix
|
./cursor.nix
|
||||||
@@ -16,293 +31,307 @@ in
|
|||||||
./wallpapers.nix
|
./wallpapers.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
config = {
|
||||||
hyprcursor
|
home.packages = with pkgs; [
|
||||||
pamixer
|
hyprcursor
|
||||||
hyprshot
|
pamixer
|
||||||
satty
|
hyprshot
|
||||||
playerctl
|
satty
|
||||||
hyprsunset
|
playerctl
|
||||||
libnotify
|
hyprsunset
|
||||||
cliphist
|
libnotify
|
||||||
wf-recorder
|
cliphist
|
||||||
slurp
|
wf-recorder
|
||||||
];
|
slurp
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = null;
|
|
||||||
portalPackage = null;
|
|
||||||
plugins = [
|
|
||||||
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
|
|
||||||
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprfocus
|
|
||||||
# inputs.hyprspace.packages.${pkgs.stdenv.hostPlatform.system}.Hyprspace
|
|
||||||
];
|
];
|
||||||
settings = {
|
|
||||||
plugin = {
|
|
||||||
hyprexpo = {
|
|
||||||
columns = 3;
|
|
||||||
gap_size = 5;
|
|
||||||
bg_col = "rgb(000000)";
|
|
||||||
workspace_method = "center current";
|
|
||||||
skip_empty = true;
|
|
||||||
};
|
|
||||||
# hyprfocus = {
|
|
||||||
# enabled = true;
|
|
||||||
# mode = "flash";
|
|
||||||
# flash_opacity = 0.8; # Flash brighter instead of dimmer
|
|
||||||
# };
|
|
||||||
overview = {
|
|
||||||
autoDrag = true;
|
|
||||||
exitOnClick = true;
|
|
||||||
exitOnSwitch = true;
|
|
||||||
showNewWorkspace = false;
|
|
||||||
showEmptyWorkspace = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
input = {
|
|
||||||
kb_options = "ctrl:nocaps";
|
|
||||||
repeat_delay = 150;
|
|
||||||
|
|
||||||
touchpad = {
|
home.sessionVariables = {
|
||||||
natural_scroll = "yes";
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = null;
|
||||||
|
portalPackage = null;
|
||||||
|
plugins = [
|
||||||
|
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
|
||||||
|
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprfocus
|
||||||
|
# inputs.hyprspace.packages.${pkgs.stdenv.hostPlatform.system}.Hyprspace
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
plugin = {
|
||||||
|
hyprexpo = {
|
||||||
|
columns = 3;
|
||||||
|
gap_size = 5;
|
||||||
|
bg_col = "rgb(000000)";
|
||||||
|
workspace_method = "center current";
|
||||||
|
skip_empty = true;
|
||||||
|
};
|
||||||
|
# hyprfocus = {
|
||||||
|
# enabled = true;
|
||||||
|
# mode = "flash";
|
||||||
|
# flash_opacity = 0.8; # Flash brighter instead of dimmer
|
||||||
|
# };
|
||||||
|
overview = {
|
||||||
|
autoDrag = true;
|
||||||
|
exitOnClick = true;
|
||||||
|
exitOnSwitch = true;
|
||||||
|
showNewWorkspace = false;
|
||||||
|
showEmptyWorkspace = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
numlock_by_default = true;
|
input = {
|
||||||
};
|
kb_options = "ctrl:nocaps";
|
||||||
|
repeat_delay = 150;
|
||||||
|
|
||||||
cursor = {
|
touchpad = {
|
||||||
no_hardware_cursors = "yes";
|
natural_scroll = "yes";
|
||||||
};
|
};
|
||||||
|
numlock_by_default = true;
|
||||||
general = {
|
|
||||||
border_size = 1;
|
|
||||||
gaps_in = 0;
|
|
||||||
gaps_out = 0;
|
|
||||||
snap = {
|
|
||||||
enabled = true;
|
|
||||||
border_overlap = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"col.inactive_border" = "0x99999999";
|
cursor = {
|
||||||
"col.active_border" = "0x99999999";
|
no_hardware_cursors = "yes";
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
disable_splash_rendering = true;
|
|
||||||
on_focus_under_fullscreen = 2;
|
|
||||||
};
|
|
||||||
|
|
||||||
ecosystem = {
|
|
||||||
no_update_news = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xwayland = {
|
|
||||||
force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
# new_optimizations = false;
|
|
||||||
popups = false;
|
|
||||||
};
|
};
|
||||||
shadow = {
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# keep default animations, but speed them all up
|
general = {
|
||||||
animations = {
|
border_size = 1;
|
||||||
animation = [
|
gaps_in = 0;
|
||||||
"global, 1, 2, default"
|
gaps_out = 0;
|
||||||
|
snap = {
|
||||||
|
enabled = true;
|
||||||
|
border_overlap = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"col.inactive_border" = "0x99999999";
|
||||||
|
"col.active_border" = "0x99999999";
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
disable_splash_rendering = true;
|
||||||
|
on_focus_under_fullscreen = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
ecosystem = {
|
||||||
|
no_update_news = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
# new_optimizations = false;
|
||||||
|
popups = false;
|
||||||
|
};
|
||||||
|
shadow = {
|
||||||
|
enabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# keep default animations, but speed them all up
|
||||||
|
animations = {
|
||||||
|
animation = [
|
||||||
|
"global, 1, 2, default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
env = [
|
||||||
|
"GDK_SCALE, 2.0"
|
||||||
|
"XCURSOR_SIZE, ${toString cfg.cursorSize}"
|
||||||
|
"HYPRCURSOR_THEME, rose-pine-hyprcursor"
|
||||||
|
"HYPRCURSOR_SIZE, ${toString cfg.cursorSize}"
|
||||||
|
];
|
||||||
|
|
||||||
|
"exec-once" = [
|
||||||
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
|
"hyprctl setcursor Nordzy-cursors ${toString cfg.cursorSize}"
|
||||||
|
"hyprsunset"
|
||||||
|
"nerd-dictation begin --simulate-input-tool WTYPE --suspend-on-start && touch ~/.cache/nerd-dictation-suspended"
|
||||||
|
"noctalia-shell"
|
||||||
|
];
|
||||||
|
|
||||||
|
layerrule = [
|
||||||
|
"blur 1, match:namespace noctalia-background-.*"
|
||||||
|
"ignore_alpha 0.5, match:namespace noctalia-background-.*"
|
||||||
|
];
|
||||||
|
workspace = [
|
||||||
|
# no gaps when only window
|
||||||
|
"w[t1], gapsout:0, gapsin:0"
|
||||||
|
"w[tg1], gapsout:0, gapsin:0"
|
||||||
|
"f[1], gapsout:0, gapsin:0"
|
||||||
|
|
||||||
|
"special:terminal, on-created-empty:[float; size 1400 1000; move center] kitty, persistent:false"
|
||||||
|
"special:yazi, on-created-empty:[float; size ${cfg.yaziSize}; move center] kitty --session sessions/yazi, persistent:false"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# satty
|
||||||
|
"float on, match:class com.gabm.satty"
|
||||||
|
|
||||||
|
# imv
|
||||||
|
"float on, match:class imv"
|
||||||
|
"size 1920 1080, match:class imv"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class imv"
|
||||||
|
|
||||||
|
# mpv
|
||||||
|
"float on, match:class mpv"
|
||||||
|
"size 1920 1080, match:class mpv"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class mpv"
|
||||||
|
|
||||||
|
"float on, match:title termfilechooser"
|
||||||
|
"size 1200 800, match:title termfilechooser"
|
||||||
|
"move center, match:title termfilechooser"
|
||||||
|
|
||||||
|
# thunar
|
||||||
|
"float on, match:class thunar"
|
||||||
|
"size 1800 1200, match:class thunar"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class thunar"
|
||||||
|
|
||||||
|
# bluetooth
|
||||||
|
"float on, match:class \\.blueman-manager-wrapped"
|
||||||
|
"size 1200 800, match:class \\.blueman-manager-wrapped"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class \\.blueman-manager-wrapped"
|
||||||
|
|
||||||
|
# pavucontrol
|
||||||
|
"float on, match:class org\\.pulseaudio\\.pavucontrol"
|
||||||
|
"size 1200 1200, match:class org\\.pulseaudio\\.pavucontrol"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class org\\.pulseaudio\\.pavucontrol"
|
||||||
|
|
||||||
|
# metamask
|
||||||
|
"float on, match:class chrome-nkbihfbeogaeaoehlefnkodbefgpgknn-.*"
|
||||||
|
|
||||||
|
# bitwarden, chrome
|
||||||
|
"float on, match:class chrome-nngceckbapebfimnlniiiahkandclblb-.*"
|
||||||
|
|
||||||
|
# claude for chrome
|
||||||
|
"float on, match:class chrome-fcoeoabgfenejglbffodgkkbkcdhcgfn-.*"
|
||||||
|
"move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class chrome-fcoeoabgfenejglbffodgkkbkcdhcgfn-.*"
|
||||||
|
|
||||||
|
# no gaps when only window
|
||||||
|
"border_size 0, match:float 0, match:workspace w[t1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace w[t1]"
|
||||||
|
"border_size 0, match:float 0, match:workspace w[tg1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace w[tg1]"
|
||||||
|
"border_size 0, match:float 0, match:workspace f[1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace f[1]"
|
||||||
|
|
||||||
|
"move center, match:workspace special:terminal"
|
||||||
|
"move center, match:workspace special:yazi"
|
||||||
|
];
|
||||||
|
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mod, n, exec, noctalia-shell ipc call controlCenter toggle"
|
||||||
|
"$mod, g, hyprexpo:expo, toggle"
|
||||||
|
# "$mod, tab, overview:toggle,"
|
||||||
|
"$mod, b, exec, pkill waybar || waybar"
|
||||||
|
"$mod, t, exec, kitty"
|
||||||
|
"$mod, v, togglefloating"
|
||||||
|
"$mod, q, killactive"
|
||||||
|
"$mod, f, fullscreen, 0"
|
||||||
|
"$mod SHIFT, f, fullscreen, 1"
|
||||||
|
|
||||||
|
# app launcher
|
||||||
|
"$mod, space, exec, noctalia-shell ipc call launcher toggle"
|
||||||
|
# rofi (old)
|
||||||
|
# "$mod, space, exec, launcher_t2"
|
||||||
|
|
||||||
|
# nerd-dictation
|
||||||
|
# "$mod, d, exec, nerd-dictation-toggle"
|
||||||
|
|
||||||
|
# printscreen
|
||||||
|
", Print, exec, hyprshot -m region --raw | satty --filename - --output-filename ~/downloads/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||||
|
"SHIFT, Print, exec, hyprshot -m window --raw | satty --filename - --output-filename ~/downloads/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||||
|
|
||||||
|
# move focus with mod + arrows
|
||||||
|
"$mod, h, movefocus, l"
|
||||||
|
"$mod, j, movefocus, d"
|
||||||
|
"$mod, k, movefocus, u"
|
||||||
|
"$mod, l, movefocus, r"
|
||||||
|
|
||||||
|
# Switch workspaces with mod + [0-9]
|
||||||
|
"$mod, 1, workspace, 1"
|
||||||
|
"$mod, 2, workspace, 2"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 4, workspace, 4"
|
||||||
|
"$mod, 5, workspace, 5"
|
||||||
|
"$mod, 6, workspace, 6"
|
||||||
|
|
||||||
|
# Move active window to a workspace with mod + SHIFT + [0-9]
|
||||||
|
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
|
||||||
|
# Move active window inside workspace
|
||||||
|
"$mod SHIFT, h, movewindow, l"
|
||||||
|
"$mod SHIFT, j, movewindow, d"
|
||||||
|
"$mod SHIFT, k, movewindow, u"
|
||||||
|
"$mod SHIFT, l, movewindow, r"
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mod + scroll
|
||||||
|
"$mod, mouse_down, workspace, e+1"
|
||||||
|
"$mod, mouse_up, workspace, e-1"
|
||||||
|
|
||||||
|
# special workspaces
|
||||||
|
"$mod, x, togglespecialworkspace, terminal"
|
||||||
|
"$mod, x, centerwindow"
|
||||||
|
"$mod, e, togglespecialworkspace, yazi"
|
||||||
|
"$mod, e, centerwindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindel = [
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
", XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||||
|
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||||
|
];
|
||||||
|
bindl = [
|
||||||
|
", XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||||
|
", XF86AudioMicMute, exec, volumectl -m toggle-mute"
|
||||||
|
", XF86AudioNext, exec, playerctl next"
|
||||||
|
", XF86AudioPrev, exec, playerctl previous"
|
||||||
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
# Move/resize windows with mod + LMB/RMB and dragging
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
env = [
|
|
||||||
"GDK_SCALE, 2.0"
|
|
||||||
"XCURSOR_SIZE, 24"
|
|
||||||
"HYPRCURSOR_THEME, rose-pine-hyprcursor"
|
|
||||||
"HYPRCURSOR_SIZE, 24"
|
|
||||||
];
|
|
||||||
|
|
||||||
"exec-once" = [
|
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
|
||||||
"hyprsunset"
|
|
||||||
"nerd-dictation begin --simulate-input-tool WTYPE --suspend-on-start && touch ~/.cache/nerd-dictation-suspended"
|
|
||||||
"noctalia-shell"
|
|
||||||
];
|
|
||||||
|
|
||||||
layerrule = [
|
|
||||||
"blur 1, match:namespace noctalia-background-.*"
|
|
||||||
"ignore_alpha 0.5, match:namespace noctalia-background-.*"
|
|
||||||
];
|
|
||||||
workspace = [
|
|
||||||
# no gaps when only window
|
|
||||||
"w[t1], gapsout:0, gapsin:0"
|
|
||||||
"w[tg1], gapsout:0, gapsin:0"
|
|
||||||
"f[1], gapsout:0, gapsin:0"
|
|
||||||
|
|
||||||
"special:terminal, on-created-empty:[float; size 1400 1000; move center] kitty, persistent:false"
|
|
||||||
"special:yazi, on-created-empty:[float; size 1400 1000; move center] kitty --session sessions/yazi, persistent:false"
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrule = [
|
|
||||||
# satty
|
|
||||||
"float on, match:class com.gabm.satty"
|
|
||||||
|
|
||||||
# imv
|
|
||||||
"float on, match:class imv"
|
|
||||||
"move cursor -50% -50%, match:class imv"
|
|
||||||
|
|
||||||
"float on, match:title termfilechooser"
|
|
||||||
"size 1200 800, match:title termfilechooser"
|
|
||||||
"move center, match:title termfilechooser"
|
|
||||||
|
|
||||||
# bluetooth
|
|
||||||
"float on, match:class blueman-manager"
|
|
||||||
"move cursor -50% -50%, match:class blueman-manager"
|
|
||||||
"size 600 400, match:class blueman-manager"
|
|
||||||
|
|
||||||
# pavucontrol
|
|
||||||
"float on, match:class pavucontrol"
|
|
||||||
"move cursor -50% -50%, match:class pavucontrol"
|
|
||||||
"size 600 600, match:class pavucontrol"
|
|
||||||
|
|
||||||
# metamask
|
|
||||||
"float on, match:class chrome-nkbihfbeogaeaoehlefnkodbefgpgknn-.*"
|
|
||||||
|
|
||||||
# bitwarden, chrome
|
|
||||||
"float on, match:class chrome-nngceckbapebfimnlniiiahkandclblb-.*"
|
|
||||||
|
|
||||||
# claude for chrome
|
|
||||||
"float on, match:class chrome-fcoeoabgfenejglbffodgkkbkcdhcgfn-.*"
|
|
||||||
"move cursor -50% -50%, match:class chrome-fcoeoabgfenejglbffodgkkbkcdhcgfn-.*"
|
|
||||||
|
|
||||||
# no gaps when only window
|
|
||||||
"border_size 0, match:float 0, match:workspace w[t1]"
|
|
||||||
"rounding 0, match:float 0, match:workspace w[t1]"
|
|
||||||
"border_size 0, match:float 0, match:workspace w[tg1]"
|
|
||||||
"rounding 0, match:float 0, match:workspace w[tg1]"
|
|
||||||
"border_size 0, match:float 0, match:workspace f[1]"
|
|
||||||
"rounding 0, match:float 0, match:workspace f[1]"
|
|
||||||
|
|
||||||
"move center, match:workspace special:terminal"
|
|
||||||
"move center, match:workspace special:yazi"
|
|
||||||
];
|
|
||||||
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
"$mod, n, exec, noctalia-shell ipc call controlCenter toggle"
|
|
||||||
"$mod, g, hyprexpo:expo, toggle"
|
|
||||||
# "$mod, tab, overview:toggle,"
|
|
||||||
"$mod, b, exec, pkill waybar || waybar"
|
|
||||||
"$mod, t, exec, kitty"
|
|
||||||
"$mod, v, togglefloating"
|
|
||||||
"$mod, q, killactive"
|
|
||||||
"$mod, f, fullscreen, 0"
|
|
||||||
"$mod SHIFT, f, fullscreen, 1"
|
|
||||||
|
|
||||||
# app launcher
|
|
||||||
"$mod, space, exec, noctalia-shell ipc call launcher toggle"
|
|
||||||
# rofi (old)
|
|
||||||
# "$mod, space, exec, launcher_t2"
|
|
||||||
|
|
||||||
# nerd-dictation
|
|
||||||
# "$mod, d, exec, nerd-dictation-toggle"
|
|
||||||
|
|
||||||
# printscreen
|
|
||||||
", Print, exec, hyprshot -m region --raw | satty --filename - --output-filename ~/downloads/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
|
||||||
"SHIFT, Print, exec, hyprshot -m window --raw | satty --filename - --output-filename ~/downloads/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
|
||||||
|
|
||||||
# move focus with mod + arrows
|
|
||||||
"$mod, h, movefocus, l"
|
|
||||||
"$mod, j, movefocus, d"
|
|
||||||
"$mod, k, movefocus, u"
|
|
||||||
"$mod, l, movefocus, r"
|
|
||||||
|
|
||||||
# Switch workspaces with mod + [0-9]
|
|
||||||
"$mod, 1, workspace, 1"
|
|
||||||
"$mod, 2, workspace, 2"
|
|
||||||
"$mod, 3, workspace, 3"
|
|
||||||
"$mod, 3, workspace, 3"
|
|
||||||
"$mod, 4, workspace, 4"
|
|
||||||
"$mod, 5, workspace, 5"
|
|
||||||
"$mod, 6, workspace, 6"
|
|
||||||
|
|
||||||
# Move active window to a workspace with mod + SHIFT + [0-9]
|
|
||||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
|
||||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
|
||||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
|
||||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
|
||||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
|
||||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
|
||||||
|
|
||||||
# Move active window inside workspace
|
|
||||||
"$mod SHIFT, h, movewindow, l"
|
|
||||||
"$mod SHIFT, j, movewindow, d"
|
|
||||||
"$mod SHIFT, k, movewindow, u"
|
|
||||||
"$mod SHIFT, l, movewindow, r"
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mod + scroll
|
|
||||||
"$mod, mouse_down, workspace, e+1"
|
|
||||||
"$mod, mouse_up, workspace, e-1"
|
|
||||||
|
|
||||||
# special workspaces
|
|
||||||
"$mod, x, togglespecialworkspace, terminal"
|
|
||||||
"$mod, x, centerwindow"
|
|
||||||
"$mod, e, togglespecialworkspace, yazi"
|
|
||||||
"$mod, e, centerwindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
", XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
|
||||||
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
|
||||||
];
|
|
||||||
bindl = [
|
|
||||||
", XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
|
||||||
", XF86AudioMicMute, exec, volumectl -m toggle-mute"
|
|
||||||
", XF86AudioNext, exec, playerctl next"
|
|
||||||
", XF86AudioPrev, exec, playerctl previous"
|
|
||||||
", XF86AudioPlay, exec, playerctl play-pause"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
# Move/resize windows with mod + LMB/RMB and dragging
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
services.hyprpaper.enable = false;
|
services.hyprpaper.enable = false;
|
||||||
|
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
ignore_dbus_inhibit = false;
|
ignore_dbus_inhibit = false;
|
||||||
lock_cmd = "noctalia-shell ipc call lockScreen lock";
|
lock_cmd = "noctalia-shell ipc call lockScreen lock";
|
||||||
|
};
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "noctalia-shell ipc call lockScreen lock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 1200;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 900;
|
|
||||||
on-timeout = "noctalia-shell ipc call lockScreen lock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 1200;
|
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,15 +8,7 @@
|
|||||||
|
|
||||||
xdg.configFile."xdg-desktop-portal-termfilechooser/config".text = ''
|
xdg.configFile."xdg-desktop-portal-termfilechooser/config".text = ''
|
||||||
[filechooser]
|
[filechooser]
|
||||||
cmd=${pkgs.writeShellScript "termfilechooser-yazi" ''
|
cmd=${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
|
||||||
output="$1"
|
|
||||||
chooser=$(mktemp)
|
|
||||||
kitty -T termfilechooser yazi --chooser-file="$chooser"
|
|
||||||
if [ -s "$chooser" ]; then
|
|
||||||
cat "$chooser" > "$output"
|
|
||||||
fi
|
|
||||||
rm -f "$chooser"
|
|
||||||
''}
|
|
||||||
default_dir=$HOME
|
default_dir=$HOME
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,20 +31,19 @@
|
|||||||
LIBVA_DRIVER_NAME = "nvidia";
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
GDM_BACKEND = "nvidia-drm";
|
GDM_BACKEND = "nvidia-drm";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
# Larger cursor size for desktop (4K monitors)
|
};
|
||||||
XCURSOR_SIZE = lib.mkForce 42;
|
|
||||||
HYPRCURSOR_SIZE = lib.mkForce 42;
|
custom.hyprland = {
|
||||||
|
yaziSize = "2400 1800";
|
||||||
|
cursorSize = 42;
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
env = [
|
env = [
|
||||||
"WEBKIT_DISABLE_DMABUF_RENDERER, 1"
|
"WEBKIT_DISABLE_DMABUF_RENDERER, 1"
|
||||||
"XCURSOR_SIZE, 42"
|
|
||||||
"HYPRCURSOR_SIZE, 42"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprctl setcursor Nordzy-cursors 42"
|
|
||||||
"$HOME/.local/bin/hyprpaper-rotate"
|
"$HOME/.local/bin/hyprpaper-rotate"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user