diff options
| author | Fuwn <[email protected]> | 2024-08-31 14:50:10 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-08-31 14:50:10 -0700 |
| commit | 251874fddbb499ee12657a82e7d5ec2034f48547 (patch) | |
| tree | dd737fae6963dae327062d8bff10dc9e8c156198 /home/ebisu/fortune/desktop | |
| parent | t (diff) | |
| download | nixos-config-251874fddbb499ee12657a82e7d5ec2034f48547.tar.xz nixos-config-251874fddbb499ee12657a82e7d5ec2034f48547.zip | |
f
Diffstat (limited to 'home/ebisu/fortune/desktop')
4 files changed, 188 insertions, 195 deletions
diff --git a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/binds.nix b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/binds.nix index 4059ba5..048cfa9 100644 --- a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/binds.nix +++ b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/binds.nix @@ -6,168 +6,163 @@ _: { "$script_path" = "$HOME/.config/hypr/hyprland/scripts"; "$term" = "kitty"; - bind = ( - builtins.concatLists - (builtins.genList - ( - x: - let - ws = - let - c = (x + 1) / 10; - in - builtins.toString (x + 1 - (c * 10)); - in - [ - # Switch pseudo-tag (workspaces) - "$mod, ${ws}, exec, $script_path/switch_workspace ${toString (x + 1)}" - # "$mod, ${ws}, split-workspace, ${toString (x + 1)}" - - # Move window to pseudo-tag (workspace) - "$mod SHIFT, ${ws}, exec, $script_path/move_window_to_workspace ${toString (x + 1)}" - # "$mod SHIFT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}" - ] - ) - 10) - ++ - [ - # Scratchpads - "$mod, apostrophe, exec, hyprctl dispatch togglespecialworkspace simple_calculator" - "$mod SHIFT, RETURN, exec, hyprctl dispatch togglespecialworkspace simple_terminal" - "$mod SHIFT, c, exec, hyprctl dispatch togglespecialworkspace chatgpt" - "$mod SHIFT, s, exec, hyprctl dispatch togglespecialworkspace spotify" - "$mod SHIFT, apostrophe, exec, hyprctl dispatch togglespecialworkspace calculator" - - # Focus - "$mod, k, movefocus, u" - "$mod, j, movefocus, d" - "$mod, l, movefocus, r" - "$mod, h, movefocus, l" - - # "$mod, j, layoutmsg, cyclenext" - # "$mod, j, layoutmsg, cycleprev" - - # "$mod, tab, hycov:toggleoverview" - # "$mod SHIFT, tab, overview:toggle" - - # Emoji picker - "$mod, GRAVE, exec, rofi -modi emoji -show emoji" - - # Volume control - "$mod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - "$mod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%-" - "$mod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" - "$mod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%+" - - # Session control - "$mod SHIFT, Q, exec, wlogout" - "$mod SHIFT, R, exec, hyprctl reload" - - # Window control - "$mod, F, fullscreen" - # "$mod SHIFT, F, fullscreen, 2" - "$mod SHIFT, F, exec, hyprctl dispatch fakefullscreen && $script_path/fake_fullscreen_status" - "$mod, G, togglefloating" - "$mod, P, pseudo" - "$mod SHIFT, P, pin" - "$mod, T, togglesplit" - "$mod, U, focusurgentorlast" - "$mod, Q, killactive" - "$mod, S, exec, hyprctl keyword window:sticky 1" - "$mod, b, exec, pkill -SIGUSR1 waybar" - "$mod, SPACE, layoutmsg, swapwithmaster" - "$mod, V, exec, $script_path/toggle_layout" - - # Application binds - "$mod, W, exec, $BROWSER" - "$mod SHIFT, W, exec, $term -e sudo nmtui" - "$mod, E, exec, $mail" - "$mod SHIFT, R, exec, $term -e htop" - "$mod, R, exec, rofi -show run" - "$mod SHIFT, D, exec, bitwarden-desktop" - "$mod, RETURN, exec, $term" - "$mod SHIFT, N, exec, $BROWSER https://sumi.news" - "$mod, M, exec, spotify" - "$mod SHIFT, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - "$mod ALT, A, exec, hyprpicker -a" - - # Launchers - "$mod, D, exec, rofi -show combi" - "$mod, C, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy" - - # Spotify control - "$mod, P, exec, spt pb --toggle" - "$mod SHIFT, P, exec, mpc pause; pauseallmpv" - "$mod, BRACKETLEFT, exec, spt pb --seek -10" - "$mod SHIFT, BRACKETLEFT, exec, spt pb --seek -60" - "$mod, BRACKETRIGHT, exec, spt pb --seek +10" - "$mod SHIFT, BRACKETRIGHT, exec, spt pb --seek +60" - "$mod, COMMA, exec, spt pb --pp" - "$mod, PERIOD, exec, spt pb --next" - "$mod SHIFT, PERIOD, exec, spt pb --previous" - - # Gaps control - "$mod, a, exec, $script_path/toggle_gaps" - "$mod SHIFT, a, exec, bash -c 'hyprctl keyword general:gaps_in 5; hyprctl keyword general:gaps_out 10'" - - # Increment gaps - "$mod, mouse_up, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`" - "$mod, mouse_up, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`" - - # Decrement gaps - "$mod, mouse_down, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`" - "$mod, mouse_down, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`" - - # Move focus to monitor - "$mod, LEFT, exec, $script_path/move_focus_to_monitor left" - "$mod, RIGHT, exec, $script_path/move_focus_to_monitor right" - - # Move window to monitor - "$mod SHIFT, h, exec, $script_path/move_window_to_monitor left" - "$mod SHIFT, l, exec, $script_path/move_window_to_monitor right" - - # Screenshot - ", Print, exec, screenshot --area" - "$mod SHIFT, Print, exec, screenshot --window" - "$mod CTRL, Print, exec, screenshot --monitor" - "$mod, Print, exec, screenshot --now" - "$mod SHIFT, v, exec, screenshot --now --clipboard && hyprctl dispatch togglespecialworkspace chatgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0" - - # Media keys - # ... - ] - ); - - binde = ( - [ - # Increment gaps - "$mod, Z, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`\"" - - # Decrement gaps - "$mod, X, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`\"" - - # Resize active window - "$mod SHIFT, UP, resizeactive, 0 -50" - "$mod SHIFT, DOWN, resizeactive, 0 50" - "$mod SHIFT, RIGHT, resizeactive, 50 0" - "$mod SHIFT, LEFT, resizeactive, -50 0" - - # Move active window - "$mod ALT, k, moveactive, 0 -100" - "$mod ALT, j, moveactive, 0 100" - "$mod ALT, l, moveactive, 100 0" - "$mod ALT, h, moveactive, -100 0" - ] - ); - - bindm = ( + bind = builtins.concatLists + (builtins.genList + ( + x: + let + ws = + let + c = (x + 1) / 10; + in + builtins.toString (x + 1 - (c * 10)); + in + [ + # Switch pseudo-tag (workspaces) + "$mod, ${ws}, exec, $script_path/switch_workspace ${toString (x + 1)}" + # "$mod, ${ws}, split-workspace, ${toString (x + 1)}" + + # Move window to pseudo-tag (workspace) + "$mod SHIFT, ${ws}, exec, $script_path/move_window_to_workspace ${toString (x + 1)}" + # "$mod SHIFT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}" + ] + ) + 10) + ++ + [ + # Scratchpads + "$mod, apostrophe, exec, hyprctl dispatch togglespecialworkspace simple_calculator" + "$mod SHIFT, RETURN, exec, hyprctl dispatch togglespecialworkspace simple_terminal" + "$mod SHIFT, c, exec, hyprctl dispatch togglespecialworkspace chatgpt" + "$mod SHIFT, s, exec, hyprctl dispatch togglespecialworkspace spotify" + "$mod SHIFT, apostrophe, exec, hyprctl dispatch togglespecialworkspace calculator" + + # Focus + "$mod, k, movefocus, u" + "$mod, j, movefocus, d" + "$mod, l, movefocus, r" + "$mod, h, movefocus, l" + + # "$mod, j, layoutmsg, cyclenext" + # "$mod, j, layoutmsg, cycleprev" + + # "$mod, tab, hycov:toggleoverview" + # "$mod SHIFT, tab, overview:toggle" + + # Emoji picker + "$mod, GRAVE, exec, rofi -modi emoji -show emoji" + + # Volume control + "$mod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + "$mod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%-" + "$mod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + "$mod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%+" + + # Session control + "$mod SHIFT, Q, exec, wlogout" + "$mod SHIFT, R, exec, hyprctl reload" + + # Window control + "$mod, F, fullscreen" + # "$mod SHIFT, F, fullscreen, 2" + "$mod SHIFT, F, exec, hyprctl dispatch fakefullscreen && $script_path/fake_fullscreen_status" + "$mod, G, togglefloating" + "$mod, P, pseudo" + "$mod SHIFT, P, pin" + "$mod, T, togglesplit" + "$mod, U, focusurgentorlast" + "$mod, Q, killactive" + "$mod, S, exec, hyprctl keyword window:sticky 1" + "$mod, b, exec, pkill -SIGUSR1 waybar" + "$mod, SPACE, layoutmsg, swapwithmaster" + "$mod, V, exec, $script_path/toggle_layout" + + # Application binds + "$mod, W, exec, $BROWSER" + "$mod SHIFT, W, exec, $term -e sudo nmtui" + "$mod, E, exec, $mail" + "$mod SHIFT, R, exec, $term -e htop" + "$mod, R, exec, rofi -show run" + "$mod SHIFT, D, exec, bitwarden-desktop" + "$mod, RETURN, exec, $term" + "$mod SHIFT, N, exec, $BROWSER https://sumi.news" + "$mod, M, exec, spotify" + "$mod SHIFT, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + "$mod ALT, A, exec, hyprpicker -a" + + # Launchers + "$mod, D, exec, rofi -show combi" + "$mod, C, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy" + + # Spotify control + "$mod, P, exec, spt pb --toggle" + "$mod SHIFT, P, exec, mpc pause; pauseallmpv" + "$mod, BRACKETLEFT, exec, spt pb --seek -10" + "$mod SHIFT, BRACKETLEFT, exec, spt pb --seek -60" + "$mod, BRACKETRIGHT, exec, spt pb --seek +10" + "$mod SHIFT, BRACKETRIGHT, exec, spt pb --seek +60" + "$mod, COMMA, exec, spt pb --pp" + "$mod, PERIOD, exec, spt pb --next" + "$mod SHIFT, PERIOD, exec, spt pb --previous" + + # Gaps control + "$mod, a, exec, $script_path/toggle_gaps" + "$mod SHIFT, a, exec, bash -c 'hyprctl keyword general:gaps_in 5; hyprctl keyword general:gaps_out 10'" + + # Increment gaps + "$mod, mouse_up, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`" + "$mod, mouse_up, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`" + + # Decrement gaps + "$mod, mouse_down, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`" + "$mod, mouse_down, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`" + + # Move focus to monitor + "$mod, LEFT, exec, $script_path/move_focus_to_monitor left" + "$mod, RIGHT, exec, $script_path/move_focus_to_monitor right" + + # Move window to monitor + "$mod SHIFT, h, exec, $script_path/move_window_to_monitor left" + "$mod SHIFT, l, exec, $script_path/move_window_to_monitor right" + + # Screenshot + ", Print, exec, screenshot --area" + "$mod SHIFT, Print, exec, screenshot --window" + "$mod CTRL, Print, exec, screenshot --monitor" + "$mod, Print, exec, screenshot --now" + "$mod SHIFT, v, exec, screenshot --now --clipboard && hyprctl dispatch togglespecialworkspace chatgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0" + + # Media keys + # ... + ]; + + binde = [ + # Increment gaps + "$mod, Z, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`\"" + + # Decrement gaps + "$mod, X, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`\"" + + # Resize active window + "$mod SHIFT, UP, resizeactive, 0 -50" + "$mod SHIFT, DOWN, resizeactive, 0 50" + "$mod SHIFT, RIGHT, resizeactive, 50 0" + "$mod SHIFT, LEFT, resizeactive, -50 0" + + # Move active window + "$mod ALT, k, moveactive, 0 -100" + "$mod ALT, j, moveactive, 0 100" + "$mod ALT, l, moveactive, 100 0" + "$mod ALT, h, moveactive, -100 0" + ]; + + bindm = [ # Move window with mouse "$mod, mouse:272, movewindow" "$mod, mouse:273, resizewindow" "$mod SHIFT, mouse:273, resizewindow 1" - ] - ); + ]; }; extraConfig = '' diff --git a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/default.nix b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/default.nix index d01ddaf..a121177 100644 --- a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/default.nix +++ b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/default.nix @@ -11,29 +11,27 @@ _: { ./workspaces.nix ]; - xdg.configFile = ( - (builtins.listToAttrs ( - map - (script: { - name = "hypr/hyprland/scripts/${script}"; + xdg.configFile = builtins.listToAttrs ( + map + (script: { + name = "hypr/hyprland/scripts/${script}"; - value = { - source = ./scripts/${script}; - }; - }) - [ - "common.sh" - "fake_fullscreen_status" - # "hycov_easymotion" - "initialise_waybar" - "initialise_xdg_portal" - "move_focus_to_monitor" - "move_window_to_monitor" - "move_window_to_workspace" - "switch_workspace" - "toggle_gaps" - "toggle_layout" - ] - )) + value = { + source = ./scripts/${script}; + }; + }) + [ + "common.sh" + "fake_fullscreen_status" + # "hycov_easymotion" + "initialise_waybar" + "initialise_xdg_portal" + "move_focus_to_monitor" + "move_window_to_monitor" + "move_window_to_workspace" + "switch_workspace" + "toggle_gaps" + "toggle_layout" + ] ); } diff --git a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/executions.nix b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/executions.nix index ad25ea5..d959c50 100644 --- a/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/executions.nix +++ b/home/ebisu/fortune/desktop/wayland/hyprland/hyprland/executions.nix @@ -1,7 +1,7 @@ { pkgs, ... }: { wayland.windowManager.hyprland.settings = { - exec-once = ([ + exec-once = [ # One-shots "hyprctl dispatch workspace 1" "swww-daemon" @@ -48,6 +48,6 @@ # "set -Ux SSH_AGENT_PID $SSH_AGENT_PID" # "set -Ux SSH_AUTH_SOCK $SSH_AUTH_SOCK" # "export SSH_AUTH_SOCK=\"$XDG_RUNTIME_DIR/ssh-agent.socket\"" - ]); + ]; }; } diff --git a/home/ebisu/fortune/desktop/wayland/waybar/default.nix b/home/ebisu/fortune/desktop/wayland/waybar/default.nix index 698ebb3..4efd8b5 100644 --- a/home/ebisu/fortune/desktop/wayland/waybar/default.nix +++ b/home/ebisu/fortune/desktop/wayland/waybar/default.nix @@ -4,9 +4,9 @@ enable = true; style = ./waybar/style.css; - settings = ( + settings = let - defaultModules = (import ./waybar/default-modules.nix { inherit pkgs; }); + defaultModules = import ./waybar/default-modules.nix { inherit pkgs; }; hyprland-workspaces-base = { disable-scroll = true; disable-markup = false; @@ -75,22 +75,22 @@ }; } ) - ] - ); + ]; }; - xdg.configFile = ( + xdg.configFile = let scripts = [ "mediaplayer.py" ]; in (builtins.listToAttrs ( - map (script: { - name = "waybar/scripts/${script}"; + map + (script: { + name = "waybar/scripts/${script}"; - value = { - source = ./waybar/scripts/${script}; - }; - }) scripts - )) - ); + value = { + source = ./waybar/scripts/${script}; + }; + }) + scripts + )); } |