summaryrefslogtreecommitdiff
path: root/home/ebisu/fortune/desktop
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-08-31 14:50:10 -0700
committerFuwn <[email protected]>2024-08-31 14:50:10 -0700
commit251874fddbb499ee12657a82e7d5ec2034f48547 (patch)
treedd737fae6963dae327062d8bff10dc9e8c156198 /home/ebisu/fortune/desktop
parentt (diff)
downloadnixos-config-251874fddbb499ee12657a82e7d5ec2034f48547.tar.xz
nixos-config-251874fddbb499ee12657a82e7d5ec2034f48547.zip
f
Diffstat (limited to 'home/ebisu/fortune/desktop')
-rw-r--r--home/ebisu/fortune/desktop/wayland/hyprland/hyprland/binds.nix309
-rw-r--r--home/ebisu/fortune/desktop/wayland/hyprland/hyprland/default.nix44
-rw-r--r--home/ebisu/fortune/desktop/wayland/hyprland/hyprland/executions.nix4
-rw-r--r--home/ebisu/fortune/desktop/wayland/waybar/default.nix26
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
+ ));
}