push up existing set of fixes and wm change
This commit is contained in:
parent
9a77331d21
commit
943fceee2d
7 changed files with 180 additions and 155 deletions
|
|
@ -7,6 +7,11 @@ inputs: {
|
|||
with lib; let
|
||||
cfg = config.ezpcusr;
|
||||
in {
|
||||
imports = [
|
||||
inputs.niri.homeModules.niri
|
||||
|
||||
inputs.noctalia.homeModules.default
|
||||
];
|
||||
options.ezpcusr = {
|
||||
enable = mkEnableOption "Enable simple PC user config";
|
||||
|
||||
|
|
@ -66,165 +71,165 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk];
|
||||
config = {
|
||||
common.default = ["gtk"];
|
||||
hyprland.default = ["gtk" "hyprland"];
|
||||
};
|
||||
};
|
||||
services.wpaperd.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
# xdg.portal = {
|
||||
# config.niri = {
|
||||
# default = [ "gnome" "gtk" ];
|
||||
# # "org.freedesktop.impl.portal.Access" = "gtk";
|
||||
# # "org.freedesktop.impl.portal.Notification" = "gtk";
|
||||
# # "org.freedesktop.impl.portal.Secret" = "gnome-keyring";
|
||||
# # "org.freedesktop.impl.portal.FileChooser" = "gtk";
|
||||
# };
|
||||
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
# };
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
enableXdgAutostart = true;
|
||||
};
|
||||
# package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
package = pkgs.hyprland;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
plugins = with pkgs.hyprlandPlugins; [
|
||||
hy3
|
||||
hypr-dynamic-cursors
|
||||
];
|
||||
package = pkgs.niri-unstable;
|
||||
settings = {
|
||||
exec-once = [
|
||||
"noctalia-shell"
|
||||
window-rules = [
|
||||
{ draw-border-with-background = false; }
|
||||
];
|
||||
"plugin:dynamic-cursors" = {
|
||||
shake.enabled = false;
|
||||
prefer-no-csd = true;
|
||||
xwayland-satellite = {
|
||||
enable = true;
|
||||
path = lib.getExe pkgs.xwayland-satellite-unstable;
|
||||
};
|
||||
"plugin:hy3" = {
|
||||
no_gaps_when_only = 1;
|
||||
# spawn-at-startup = [
|
||||
# { argv = ["noctalia-shell"]; }
|
||||
# ];
|
||||
clipboard.disable-primary = true;
|
||||
input = {
|
||||
focus-follows-mouse.enable = true;
|
||||
touchpad = {
|
||||
click-method = "clickfinger";
|
||||
natural-scroll = false;
|
||||
};
|
||||
};
|
||||
ecosystem = {
|
||||
no_update_news = true;
|
||||
no_donation_nag = true;
|
||||
};
|
||||
animations = {
|
||||
enabled = false;
|
||||
};
|
||||
decoration = {
|
||||
shadow.enabled = false;
|
||||
};
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
animate_manual_resizes = true;
|
||||
animate_mouse_windowdragging = true;
|
||||
new_window_takes_over_fullscreen = 2;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
general = {
|
||||
"$mod" = "SUPER";
|
||||
layout = "hy3";
|
||||
binds = {
|
||||
"Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot";
|
||||
"Mod+q".action = config.lib.niri.actions.close-window;
|
||||
# "$mod, F, fullscreen, 0"
|
||||
# "$mod SHIFT, F, fullscreen, 1"
|
||||
# "$mod, Space, togglefloating"
|
||||
# "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
|
||||
"Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
||||
|
||||
gaps_in = 6;
|
||||
gaps_out = 6;
|
||||
resize_on_border = true;
|
||||
};
|
||||
gestures = {
|
||||
};
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
bind =
|
||||
[
|
||||
"$mod, Return, exec, ${config.programs.foot.package}/bin/foot"
|
||||
"$mod, Q, killactive,"
|
||||
"$mod, F, fullscreen, 0"
|
||||
"$mod SHIFT, F, fullscreen, 1"
|
||||
"$mod, Space, togglefloating"
|
||||
"$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
|
||||
"$mod, D, exec, noctalia-shell ipc call launcher toggle"
|
||||
"Print".action.spawn-sh = "grim - | satty -f -";
|
||||
|
||||
", Print, exec, grim - | satty -f -"
|
||||
"Mod+c".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "clipboard"];
|
||||
|
||||
"$mod, c, exec, noctalia-shell ipc call launcher clipboard"
|
||||
"Mod+Minus".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
||||
"Mod+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
||||
"XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
||||
"XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
||||
|
||||
"$mod, minus, exec, noctalia-shell ipc call volume decrease"
|
||||
"$mod, equal, exec, noctalia-shell ipc call volume increase"
|
||||
", XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease"
|
||||
", XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase"
|
||||
"XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"];
|
||||
"XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"];
|
||||
|
||||
", XF86AudioMute, exec, noctalia-shell ipc call volume mute"
|
||||
", XF86AudioMicMute, exec, noctalia-shell ipc call volume muteInput"
|
||||
"XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
||||
"XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
||||
"Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
||||
"Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
||||
|
||||
", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease"
|
||||
", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase"
|
||||
"$mod, semicolon, exec, noctalia-shell ipc call brightness decrease"
|
||||
"$mod, apostrophe, exec, noctalia-shell ipc call brightness increase"
|
||||
# Previous/next but change the shuffle/random state before action (and change back afterwards)
|
||||
"Mod+Shift+Bracketright".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||
"Mod+Shift+bracketleft".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||
"Shift+XF86AudioNext".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||
"Shift+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||
|
||||
# Previous/next but change the shuffle/random state before action (and change back afterwards)
|
||||
"$mod&SHIFT, bracketright, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
|
||||
"$mod&SHIFT, bracketleft, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
|
||||
"SHIFT, XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
|
||||
# Previous/next
|
||||
"Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
||||
"Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
||||
"XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
||||
"XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
||||
|
||||
# Previous/next
|
||||
"$mod, bracketright, exec, noctalia-shell ipc call media next"
|
||||
"$mod, bracketleft, exec, noctalia-shell ipc call media previous"
|
||||
", XF86AudioNext, exec, noctalia-shell ipc call media next"
|
||||
", XF86AudioPrev, exec, noctalia-shell ipc call media previous"
|
||||
# Seek forward/back
|
||||
"Mod+Control+bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
||||
"Mod+Control+bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
||||
"Control+XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
||||
"Control+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
||||
|
||||
# Seek forward/back
|
||||
"$mod&Control_L, bracketleft, exec, noctalia-shell ipc call media seekRelative -5"
|
||||
"$mod&Control_L, bracketright, exec, noctalia-shell ipc call media seekRelative 5"
|
||||
"Control_L, XF86AudioPrev, exec, noctalia-shell ipc call media seekRelative -5"
|
||||
"Control_L, XF86AudioNext, exec, noctalia-shell ipc call media seekRelative 5"
|
||||
# Toggle play/pause
|
||||
"XF86AudioPlay".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||
"XF86AudioPause".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||
"Mod+Backslash".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||
|
||||
# Toggle play/pause
|
||||
", XF86AudioPlay, exec, noctalia-shell ipc call media playPause"
|
||||
", XF86AudioPause, exec, noctalia-shell ipc call media playPause"
|
||||
"$mod, backslash, exec, noctalia-shell ipc call media playPause"
|
||||
"Control+Alt+l".action.spawn = ["noctalia-shell" "ipc" "call" "lockScreen" "lock"];
|
||||
|
||||
"Control_L&Alt_L, l, exec, noctalia-shell ipc call lockScreen lock"
|
||||
"Mod+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
||||
|
||||
"$mod, left, hy3:movefocus, l"
|
||||
"$mod, right, hy3:movefocus, r"
|
||||
"$mod, up, hy3:movefocus, u"
|
||||
"$mod, down, hy3:movefocus, d"
|
||||
"$mod, h, hy3:movefocus, l"
|
||||
"$mod, j, hy3:movefocus, d"
|
||||
"$mod, k, hy3:movefocus, u"
|
||||
"$mod, l, hy3:movefocus, r"
|
||||
"Mod+Left".action = config.lib.niri.actions.focus-column-left;
|
||||
"Mod+Right".action = config.lib.niri.actions.focus-column-right;
|
||||
|
||||
"$mod SHIFT, left, hy3:movewindow, l"
|
||||
"$mod SHIFT, right, hy3:movewindow, r"
|
||||
"$mod SHIFT, up, hy3:movewindow, u"
|
||||
"$mod SHIFT, down, hy3:movewindow, d"
|
||||
"$mod SHIFT, h, hy3:movewindow, l"
|
||||
"$mod SHIFT, j, hy3:movewindow, d"
|
||||
"$mod SHIFT, k, hy3:movewindow, u"
|
||||
"$mod SHIFT, l, hy3:movewindow, r"
|
||||
# "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left;
|
||||
# "Mod+Shift+Right".action = config.lib.niri.actions.move-column-right;
|
||||
"Mod+Shift+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
||||
"Mod+Shift+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
||||
|
||||
"$mod CTRL, left, resizeactive, -80 0"
|
||||
"$mod CTRL, right, resizeactive, 80 0"
|
||||
"$mod CTRL, up, resizeactive, 0 -80"
|
||||
"$mod CTRL, down, resizeactive, 0 80"
|
||||
"$mod CTRL, h, resizeactive, -80 0"
|
||||
"$mod CTRL, j, resizeactive, 0 80"
|
||||
"$mod CTRL, k, resizeactive, 0 -80"
|
||||
"$mod CTRL, l, resizeactive, 80 0"
|
||||
"Mod+Down".action = config.lib.niri.actions.focus-window-or-workspace-down;
|
||||
"Mod+Up".action = config.lib.niri.actions.focus-window-or-workspace-up;
|
||||
|
||||
"$mod, mouse_down, workspace, e-1"
|
||||
"$mod, mouse_up, workspace, e+1"
|
||||
]
|
||||
++ (
|
||||
"Mod+Shift+Down".action = config.lib.niri.actions.move-window-down-or-to-workspace-down;
|
||||
"Mod+Shift+Up".action = config.lib.niri.actions.move-window-up-or-to-workspace-up;
|
||||
|
||||
# "Mod+Control+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
||||
# "Mod+Control+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
||||
|
||||
"Mod+Space".action = config.lib.niri.actions.toggle-window-floating;
|
||||
|
||||
"Mod+F".action = config.lib.niri.actions.fullscreen-window;
|
||||
|
||||
"Mod+M".action = config.lib.niri.actions.maximize-column;
|
||||
|
||||
"Mod+O".action = config.lib.niri.actions.toggle-overview;
|
||||
|
||||
# "$mod, left, hy3:movefocus, l"
|
||||
# "$mod, right, hy3:movefocus, r"
|
||||
# "$mod, up, hy3:movefocus, u"
|
||||
# "$mod, down, hy3:movefocus, d"
|
||||
# "$mod, h, hy3:movefocus, l"
|
||||
# "$mod, j, hy3:movefocus, d"
|
||||
# "$mod, k, hy3:movefocus, u"
|
||||
# "$mod, l, hy3:movefocus, r"
|
||||
|
||||
# "$mod SHIFT, left, hy3:movewindow, l"
|
||||
# "$mod SHIFT, right, hy3:movewindow, r"
|
||||
# "$mod SHIFT, up, hy3:movewindow, u"
|
||||
# "$mod SHIFT, down, hy3:movewindow, d"
|
||||
# "$mod SHIFT, h, hy3:movewindow, l"
|
||||
# "$mod SHIFT, j, hy3:movewindow, d"
|
||||
# "$mod SHIFT, k, hy3:movewindow, u"
|
||||
# "$mod SHIFT, l, hy3:movewindow, r"
|
||||
|
||||
# "$mod CTRL, left, resizeactive, -80 0"
|
||||
# "$mod CTRL, right, resizeactive, 80 0"
|
||||
# "$mod CTRL, up, resizeactive, 0 -80"
|
||||
# "$mod CTRL, down, resizeactive, 0 80"
|
||||
# "$mod CTRL, h, resizeactive, -80 0"
|
||||
# "$mod CTRL, j, resizeactive, 0 80"
|
||||
# "$mod CTRL, k, resizeactive, 0 -80"
|
||||
# "$mod CTRL, l, resizeactive, 80 0"
|
||||
|
||||
# "$mod, mouse_down, workspace, e-1"
|
||||
# "$mod, mouse_up, workspace, e+1"
|
||||
}
|
||||
// (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (builtins.genList (
|
||||
lib.listToAttrs (builtins.concatLists (builtins.genList (
|
||||
i: let
|
||||
ws = i + 1;
|
||||
in [
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
{ name = "Mod+${toString i}"; value = { action.focus-workspace = i; }; }
|
||||
{ name = "Mod+Shift+${toString i}"; value = { action.move-window-to-workspace = i; }; }
|
||||
# "$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
# "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
)
|
||||
9)
|
||||
);
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -365,6 +370,8 @@ in {
|
|||
fonts.fontconfig.enable = lib.mkDefault true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nautilus # gnome portal file chooser
|
||||
|
||||
wl-clipboard
|
||||
wtype
|
||||
ydotool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue