aboutsummaryrefslogtreecommitdiff
path: root/modules/terminal/hjem/programs
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-19 15:22:53 -0600
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-19 15:22:53 -0600
commit7fc4bb05905697e6a43fa3805da45768ea9a9858 (patch)
tree8d2857bb18ea5808f254e663f6da654313ab94b1 /modules/terminal/hjem/programs
parent5a5b183373c3732d96bb834b3ba0fcf2e88e590f (diff)
parentcdad26dfda64e94d19db576e93793ded9434bd09 (diff)
merge from main
Diffstat (limited to 'modules/terminal/hjem/programs')
-rw-r--r--modules/terminal/hjem/programs/bash.nix27
-rw-r--r--modules/terminal/hjem/programs/cmus.nix74
-rw-r--r--modules/terminal/hjem/programs/fish.nix15
-rw-r--r--modules/terminal/hjem/programs/fzf.nix16
-rw-r--r--modules/terminal/hjem/programs/helix.nix12
-rw-r--r--modules/terminal/hjem/programs/starship.nix5
-rw-r--r--modules/terminal/hjem/programs/tmux.nix363
7 files changed, 107 insertions, 405 deletions
diff --git a/modules/terminal/hjem/programs/bash.nix b/modules/terminal/hjem/programs/bash.nix
index 646cbf8..fe6f21d 100644
--- a/modules/terminal/hjem/programs/bash.nix
+++ b/modules/terminal/hjem/programs/bash.nix
@@ -8,22 +8,23 @@
in
lib.mkIf cfg.enable {
files = {
- ".bashrc".text = ''
+ ".config/bash/bashrc".text = ''
eval "$(direnv hook bash)"
for file in ~/.config/bash/conf.d/*; do source "$file"; done
'';
-
- packages = with pkgs; [
- fish
- ripgrep
- fd
- moreutils
- zip
- unzip
- btop
- jq
- direnv
- ];
};
+
+ packages = with pkgs; [
+ fish
+ ripgrep
+ fd
+ wget
+ moreutils
+ zip
+ unzip
+ btop
+ jq
+ direnv
+ ];
}
diff --git a/modules/terminal/hjem/programs/cmus.nix b/modules/terminal/hjem/programs/cmus.nix
index afd2350..7a5ac81 100644
--- a/modules/terminal/hjem/programs/cmus.nix
+++ b/modules/terminal/hjem/programs/cmus.nix
@@ -25,57 +25,34 @@
'';
cmus_theme = ''
- set color_cmdline_bg=default
- set color_cmdline_fg=default
- set color_error=211
- set color_info=223
- set color_separator=8
- set color_statusline_bg=default
- set color_statusline_fg=default
- set color_titleline_bg=183
- set color_titleline_fg=8
- set color_titleline_attr=bold
- set color_win_bg=default
- set color_win_cur=117
- set color_win_cur_sel_bg=117
- set color_win_cur_sel_fg=235
- set color_win_dir=default
- set color_win_fg=default
- set color_win_inactive_cur_sel_bg=0
- set color_win_inactive_cur_sel_fg=default
- set color_win_inactive_sel_bg=0
- set color_win_inactive_sel_fg=default
- set color_win_sel_bg=15
- set color_win_sel_fg=235
- set color_win_title_bg=default
- set color_win_title_fg=183
- set color_win_title_attr=bold
+ set color_cmdline_error=lightred
+ set color_cmdline_info=lightyellow
+ set color_cmdline_fg=lightred
+ set color_cmdline_bg=237
+ set color_separator=238
+ set color_statusline_bg=blue
+ set color_statusline_fg=233
+ set color_titleline_bg=237
+ set color_titleline_fg=white
+ set color_win_bg=black
+ set color_win_fg=241
+ set color_win_cur=lightgreen
+ set color_win_cur_sel_bg=green
+ set color_win_cur_sel_fg=233
+ set color_win_dir=lightblue
+ set color_win_fg=white
+ set color_win_inactive_cur_sel_bg=016
+ set color_win_inactive_cur_sel_fg=233
+ set color_win_sel_bg=237
+ set color_win_sel_fg=white
+ set color_win_title_bg=237
+ set color_win_title_fg=lightred
'';
cmus_rc = ''
- ${
- if (cfg.theme == "catppuccin")
- then "colorscheme catppuccin"
- else ""
- }
+ colorscheme all
set status_display_program=${scriptsDir}/status.sh
'';
-
- cava_config =
- if cfg.theme == "catppuccin"
- then ''
- [color]
- gradient=1
- gradient_color_1='#94e2d5'
- gradient_color_2='#89dceb'
- gradient_color_3='#74c7ec'
- gradient_color_4='#89b4fa'
- gradient_color_5='#cba6f7'
- gradient_color_6='#f5c2e7'
- gradient_color_7='#eba0ac'
- gradient_color_8='#f38ba8'
- ''
- else "";
in
lib.mkIf cfg.enable {
files = let
@@ -87,9 +64,8 @@ in
".config/cmus/scripts/status.sh" = e scripts.statusDisplay;
".config/cmus/rc".text = cmus_rc;
- ".config/cmus/catppuccin.theme".text = lib.mkIf (cfg.theme == "catppuccin") cmus_theme;
- ".config/cava/config".text = cava_config;
+ ".config/cmus/all.theme".text = cmus_theme;
};
- packages = with pkgs; [cava cmus];
+ packages = [pkgs.cmus];
}
diff --git a/modules/terminal/hjem/programs/fish.nix b/modules/terminal/hjem/programs/fish.nix
index 1aa4a40..2fdc184 100644
--- a/modules/terminal/hjem/programs/fish.nix
+++ b/modules/terminal/hjem/programs/fish.nix
@@ -8,6 +8,20 @@
in
lib.mkIf cfg.enable {
files = {
+ ".config/fish/conf.d/xdg.fish".text =
+ # fish
+ ''
+ set -gx XDG_DATA_HOME "$HOME/.local/share"
+ set -gx XDG_CONFIG_HOME "$HOME/.config"
+ set -gx XDG_STATE_HOME "$HOME/.local/state"
+ set -gx XDG_CACHE_HOME "$HOME/.cache"
+
+ alias wget "wget --hsts-file=/dev/null"
+ set -gx GOPATH "$XDG_DATA_HOME/go"
+ set -gx GRADLE_USER_HOME "$XDG_DATA_HOME/gradle"
+ set -gx CARGO_HOME "$XDG_DATA_HOME/cargo"
+ '';
+
".config/fish/config.fish".text = ''
set fish_greeting
@@ -24,6 +38,7 @@ in
fish
ripgrep
fd
+ wget
moreutils
zip
unzip
diff --git a/modules/terminal/hjem/programs/fzf.nix b/modules/terminal/hjem/programs/fzf.nix
index 5a51739..f697a24 100644
--- a/modules/terminal/hjem/programs/fzf.nix
+++ b/modules/terminal/hjem/programs/fzf.nix
@@ -8,18 +8,24 @@
in
lib.mkIf cfg.enable {
files =
- (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ lib.optionalAttrs config.collinux.terminal.shells.fish.enable (with config.collinux.palette; {
".config/fish/conf.d/fzf.fish".text = ''
fzf --fish | source
- set -gx FZF_DEFAULT_OPTS "--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ set -Ux FZF_DEFAULT_OPTS "$FZF_NON_COLOR_OPTS"\
+ " --color=bg+:#${base01},bg:#${base00},spinner:#${base12},hl:#${base13}"\
+ " --color=fg:#${base04},header:#${base13},info:#${base10},pointer:#${base12}"\
+ " --color=marker:#${base12},fg+:#${base06},prompt:#${base10},hl+:#${base13}"
'';
})
- // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable (with config.collinux.palette; {
".config/bash/conf.d/fzf.bash".text = ''
eval "$(fzf --bash)"
- export FZF_DEFAULT_OPTS="--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS"\
+ " --color=bg+:#${base01},bg:#${base00},spinner:#${base12},hl:#${base13}"\
+ " --color=fg:#${base04},header:#${base13},info:#${base10},pointer:#${base12}"\
+ " --color=marker:#${base12},fg+:#${base06},prompt:#${base10},hl+:#${base13}"
'';
- });
+ }));
packages = [pkgs.fzf];
}
diff --git a/modules/terminal/hjem/programs/helix.nix b/modules/terminal/hjem/programs/helix.nix
index e66877b..80279c4 100644
--- a/modules/terminal/hjem/programs/helix.nix
+++ b/modules/terminal/hjem/programs/helix.nix
@@ -44,8 +44,8 @@
];
};
- theme = {
- inherits = "catppuccin_mocha";
+ mkTransparentBackground = inherits: {
+ inherit inherits;
"ui.background" = {};
};
@@ -134,7 +134,9 @@
if cfg.theme == "catppuccin"
then "catppuccin_mocha_transparent"
else if cfg.theme == "adwaita"
- then "adwaita-dark"
+ then "adwaita_dark_transparent"
+ else if cfg.theme == "kanagawa"
+ then "kanagawa_transparent"
else "";
};
in
@@ -148,7 +150,9 @@ in
{
".config/helix/config.toml" = t settings;
".config/helix/languages.toml" = t languages;
- ".config/helix/themes/catppuccin_mocha_transparent.toml" = t theme;
+ ".config/helix/themes/catppuccin_mocha_transparent.toml" = t (mkTransparentBackground "catppuccin_mocha");
+ ".config/helix/themes/adwaita_dark_transparent.toml" = t (mkTransparentBackground "adwaita-dark");
+ ".config/helix/themes/kanagawa_transparent.toml" = t (mkTransparentBackground "kanagawa");
}
// (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
".config/fish/conf.d/helix.fish".text = ''
diff --git a/modules/terminal/hjem/programs/starship.nix b/modules/terminal/hjem/programs/starship.nix
index e9d79b5..7f537d9 100644
--- a/modules/terminal/hjem/programs/starship.nix
+++ b/modules/terminal/hjem/programs/starship.nix
@@ -51,11 +51,6 @@ in
starship init fish | source
enable_transience
'';
- })
- // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
- ".config/bash/conf.d/starship.bash".text = ''
- eval "$(starship init bash)"
- '';
});
packages = [pkgs.starship];
diff --git a/modules/terminal/hjem/programs/tmux.nix b/modules/terminal/hjem/programs/tmux.nix
index 738e729..152c443 100644
--- a/modules/terminal/hjem/programs/tmux.nix
+++ b/modules/terminal/hjem/programs/tmux.nix
@@ -1,339 +1,44 @@
{
+ pkgs,
+ inputs,
lib,
config,
- pkgs,
...
}: let
cfg = config.collinux.terminal.programs.tmux;
+in {
+ imports = [
+ inputs.tmux-tsunami.hjemModules.tsunami
+ ];
- scriptsDir = "~/.config/tmux/scripts";
-
- scripts.minibuffer = ''
- window_height="$(tmux display -p '#{window_height}')"
- tmux display-popup -EB \
- -w 100% -h 16 \
- -x 0 -y "$(($window_height + 1))" \
- "$@"
- '';
-
- scripts.menu = ''
- tmux display-menu \
- -x "#{window_width}" -y S \
- -b none \
- -s "bg=#313244,fg=#9399b2" \
- -S "bg=#313244" \
- -H "bg=#45475a fg=#b4befe" \
- "$@"
- '';
-
- scripts.paneSplit = ''
- width=$(tmux display -p "#{pane_width}")
- height=$(tmux display -p "#{pane_height}")
-
- if (( $(echo "$width / $height > 2.5" | ${pkgs.bc}/bin/bc -l) )); then
- tmux split-window -h "$@"
- else
- tmux split-window -v "$@"
- fi
- '';
-
- # -- SESSIONIZER --
- broot_sessionizer_config = {
- imports = ["~/.config/broot/conf.toml"];
- quit_on_last_cancel = true;
- verbs = [
- {
- invocation = "sessionizer";
- external = ''bash -c -- "${scriptsDir}/sessionizer.sh '{file}'"'';
- key = "enter";
- apply_to = "directory";
- leave_broot = true;
- }
- ];
- };
-
- scripts.sessionizer = ''
- selected="$1"
-
- session_name="$(basename "$selected" | tr '.' '_')"
-
- # if the session doesn't exist, create it
- if tmux list-sessions -F '#{session_name}' | grep -vqx "$session_name"; then
- tmux new-session -ds "$session_name" -c "$selected"
- tmux set-option -t "$session_name" @default-path "$selected"
- fi
-
- # switch to it
- tmux switch -t "$session_name"
- '';
-
- scripts.newSession = ''
- tmux switch-client -t "$(tmux new-session -dP)"
- '';
-
- scripts.sessionsMenu = ''
- menu_items=(
- "Switch Project" p "run-shell '${scriptsDir}/minibuffer.sh -d $HOME ${scriptsDir}/launch-sessionizer.sh'"
- "New Unnamed Project" n "run-shell '${scriptsDir}/new-session.sh'"
- )
-
- # Get all tmux session names
- mapfile -t sessions < <(tmux list-sessions -F "#{session_name}")
-
- # Only include up to 9 sessions
- for i in "''\${!sessions[@]}"; do
- (( i >= 9 )) && break # Stop after 9 sessions
-
- session="''\${sessions[$i]}"
- key=$((i + 1)) # 1-based key
-
- menu_items+=("$session" "$key" "switch-client -t $session")
- done
-
- # Display the menu
- ${scriptsDir}/menu.sh -T "#[align=centre]Projects" "''\${menu_items[@]}"
- '';
-
- scripts.cleanSessions = ''
- current="$(tmux display -p '#{session_name}')"
-
- tmux list-sessions -F '#{session_name}' | while read -r line; do
- if [[ "$line" != "$current" && "$line" =~ ^[[:digit:]]+$ ]]; then
- tmux kill-session -t "$line"
- fi
- done
- '';
-
- scripts.launchSessionizer = ''${pkgs.broot}/bin/broot --only-folders --conf ~/.config/tmux/broot/sessionizer.toml'';
-
- # -- FIND FILE --
- broot_file_config = {
- imports = ["~/.config/broot/conf.toml"];
- quit_on_last_cancel = true;
- verbs = [
- {
- invocation = "tmux-split";
- external = ["bash" "-c" ''${scriptsDir}/split.sh -c "#{?@default-path,#{@default-path},#{pane_current_path}}" "hx '{file}'"''];
- key = "ctrl-s";
- apply_to = "file";
- leave_broot = true;
- }
- {
- invocation = "tmux-window";
- external = ["tmux" "new-window" "-c" "#{?@default-path,#{@default-path},#{pane_current_path}}" "hx '{file}'"];
- key = "ctrl-w";
- apply_to = "file";
- leave_broot = true;
- }
- {
- key = "enter";
- cmd = ":tmux-window";
- }
- ];
- };
-
- scripts.launchFindFile = ''${pkgs.broot}/bin/broot --conf ~/.config/tmux/broot/file.toml'';
-
- # -- BAR --
- scripts.battery = ''
- energy_now=$(cat /sys/class/power_supply/BAT0/energy_now)
- energy_full=$(cat /sys/class/power_supply/BAT0/energy_full)
- percentage=$((energy_now * 100 / energy_full))
- printf "%.0f%%" "$percentage"
- '';
-
- scripts.bar = ''
- bg="#1e1e2e"
-
- tmux set -g status on
-
- tmux set -g status-position bottom
- tmux set -g status-justify absolute-centre
- tmux set -g status-bg "$bg"
-
- tmux set -g status-left-style fg=green,bold
- tmux set -g status-left " #{client_session}"
-
- tmux set -g window-status-style fg=color243
- tmux set -g window-status-format " #I "
- tmux set -g window-status-current-style fg=color12,bold
- tmux set -g window-status-current-format " #I "
- tmux set -g window-status-separator ""
-
- tmux set -g status-right "#[fg=color243]%l:%M #[fg=red]#(${scriptsDir}/battery.sh) "
- '';
-
- scripts.catpuccinNoBorders =
- if (cfg.theme == "catppuccin")
- then ''
- bg_dark="#181825"
+ config = lib.mkIf cfg.enable {
+ tsunami = {
+ enable = true;
- ## pane borders
- tmux set -g pane-border-style fg=$bg_dark,bg=$bg_dark
- tmux set -g pane-active-border-style fg=$bg_dark,bg=$bg_dark
+ theme =
+ if (cfg.theme == "catppuccin")
+ then {
+ bg = "#1e1e2e";
+ bg_dark = "#181825";
+ }
+ else if (cfg.theme == "adwaita")
+ then {
+ bg = "#1d1d1d";
+ bg_dark = "#171717";
+ }
+ else {};
- ## pane backgrounds
- # Set the foreground/background color for the active window
- tmux set -g window-active-style bg=bg
-
- # Set the foreground/background color for all other windows
- tmux set -g window-style bg=$bg_dark
- ''
- else ''
- tmux set -g status-bg "#262626"
- '';
-
- # -- FZF EXEC --
- scripts.tmuxDoc = ''
- usage=$(tmux list-commands -F "#{command_list_name} #{command_list_usage}" "$1")
-
- man tmux | awk -v usage="$usage" '
- index($0, usage) > 0 { found=1 }
- found {
- print
- if ($0 == "") exit
- }
- '
- '';
-
- scripts.fzfExec = ''
- all_cmds() {
- tmux list-commands -F $'#{command_list_name}#{?command_list_alias,\n#{command_list_alias},}'
- }
-
- selected_cmd=$(all_cmds | ${pkgs.fzf}/bin/fzf --bind 'enter:accept-or-print-query,tab:replace-query,alt-backspace:clear-query' --prompt : --preview "~/.config/tmux/scripts/tmux-doc.sh $(printf '{}' | cut -d' ' -f1)")
- test -z "$selected_cmd" && exit
-
- tmux $(echo "$selected_cmd" | sed "s@~@$HOME@g")
- '';
-
- # -- BUFFER SEARCH --
- scripts.searchBuffer = ''
- trap 'rm -f -- "''\${scrollback:-}"' EXIT
- scrollback="$(mktemp)"
-
- tmux capture-pane -e -p -S - > "$scrollback"
- cat "$scrollback" | fzf --ansi
-
- exit 0
- '';
-
- # -- PANE SEARCH --
- scripts.paneSearch = ''
- LIST_DATA="#{window_name} #{pane_title} #{pane_current_path} #{pane_current_command}"
- FZF_COMMAND="fzf --delimiter=: --with-nth 4 --color=hl:2"
-
- # do not change
- TARGET_SPEC="#{session_name}:#{window_id}:#{pane_id}:"
-
- # select pane
- LINE=$(tmux list-panes -a -F "$TARGET_SPEC $LIST_DATA" | $FZF_COMMAND) || exit 0
- # split the result
- args=(''\${LINE//:/ })
- # activate session/window/pane
- tmux select-pane -t ''\${args[2]} && tmux select-window -t ''\${args[1]} && tmux switch-client -t ''\${args[0]}
- '';
-
- # -- LEADER MENU --
- scripts.leaderMenu = ''
- ${scriptsDir}/menu.sh -T "#[align=centre]Prefix" \
- "+Projects" C-p "run-shell ${scriptsDir}/sessions-menu.sh" \
- "Find File" C-f "run-shell \"${scriptsDir}/minibuffer.sh -d '#{?@default-path,#{@default-path},#{pane_current_path}}' '${scriptsDir}/launch-find-file.sh'\"" \
- "Find Window" C-w "run-shell \"${scriptsDir}/minibuffer.sh '${scriptsDir}/pane-search.sh'\"" \
- "Detach" C-d "detach" \
- "Lazygit" C-g "display-popup -E -w 80% -h 80% -x C -y C -d '#{?@default-path,#{@default-path},#{pane_current_path}}' lazygit" \
- "Search Buffer" / "run-shell \"${scriptsDir}/minibuffer.sh '${scriptsDir}/search-buffer.sh'\"" \
- "Todo" C-o "display-popup -E -w 70% -h 70% -x C -y C 'hx ~/Documents/todo.txt'" \
- "Reload" C-r "source-file ~/.config/tmux/tmux.conf"
- '';
-
- tmux-conf = ''
- set -g mouse on
-
- # Panes
- bind-key -n C-w kill-pane
-
- bind -n C-Enter run-shell "${scriptsDir}/split.sh -c '#{?@default-path,#{@default-path},#{pane_current_path}}'"
-
- unbind -n MouseDown3Pane ## disable right click menu
- bind-key -n M-z resize-pane -Z ## Pane zoom
- set -g allow-rename on
- set -g automatic-rename off
-
- # Windows
- bind-key -n C-t new-window -c '#{?@default-path,#{@default-path},#{pane_current_path}}'
- bind-key -n C-Tab next-window
- bind-key -n C-S-Tab previous-window # doesn't work in foot :(
- unbind n
- unbind p
-
- set -g renumber-windows on
- set -g base-index 1
-
- bind-key -n C-x run-shell "${scriptsDir}/leader-menu.sh"
- bind-key -n M-x run-shell "${scriptsDir}/minibuffer.sh -h 10 '${scriptsDir}/fzf-exec.sh'"
-
- set-hook -ag client-detached 'run-shell ${scriptsDir}/clean-sessions.sh'
- set-hook -ag client-session-changed 'run-shell ${scriptsDir}/clean-sessions.sh'
-
- # Statusbar
- run-shell "${scriptsDir}/bar.sh"
- run-shell "${scriptsDir}/catppuccin-borders.sh"
-
- # Scrollback
- set-window-option -g mode-keys vi
- '';
-in
- lib.mkIf cfg.enable {
- files = let
- e = text: {
- inherit text;
- executable = true;
- };
- in {
- # helpers
- ".config/tmux/scripts/minibuffer.sh" = e scripts.minibuffer;
- ".config/tmux/scripts/menu.sh" = e scripts.menu;
- ".config/tmux/scripts/split.sh" = e scripts.paneSplit;
-
- # sessionizer
- ".config/tmux/scripts/sessionizer.sh" = e scripts.sessionizer;
- ".config/tmux/broot/sessionizer.toml" = {
- generator = (pkgs.formats.toml {}).generate "sessionizer.toml";
- value = broot_sessionizer_config;
- };
- ".config/tmux/scripts/launch-sessionizer.sh" = e scripts.launchSessionizer;
- ".config/tmux/scripts/clean-sessions.sh" = e scripts.cleanSessions;
- ".config/tmux/scripts/new-session.sh" = e scripts.newSession;
- ".config/tmux/scripts/sessions-menu.sh" = e scripts.sessionsMenu;
-
- # find-file
- ".config/tmux/scripts/launch-find-file.sh" = e scripts.launchFindFile;
- ".config/tmux/broot/file.toml" = {
- generator = (pkgs.formats.toml {}).generate "file.toml";
- value = broot_file_config;
- };
-
- # search buffer
- ".config/tmux/scripts/search-buffer.sh" = e scripts.searchBuffer;
-
- # pane search
- ".config/tmux/scripts/pane-search.sh" = e scripts.paneSearch;
-
- # fzf-exec
- ".config/tmux/scripts/tmux-doc.sh" = e scripts.tmuxDoc;
- ".config/tmux/scripts/fzf-exec.sh" = e scripts.fzfExec;
-
- # leader menu
- ".config/tmux/scripts/leader-menu.sh" = e scripts.leaderMenu;
-
- # Bar
- ".config/tmux/scripts/battery.sh" = e scripts.battery;
- ".config/tmux/scripts/bar.sh" = e scripts.bar;
- ".config/tmux/scripts/catppuccin-borders.sh" = e scripts.catpuccinNoBorders;
-
- ".config/tmux/tmux.conf".text = tmux-conf;
+ keys.leader = [
+ {
+ name = "Lazygit";
+ key = "C-g";
+ exec = "display-popup -E -w 80% -h 80% -x C -y C -d '#{?@default-path,#{@default-path},#{pane_current_path}}' ${lib.getExe pkgs.lazygit}";
+ }
+ ];
+ confs."main" = ''
+ set -g mouse on
+ set-window-option -g mode-keys vi
+ '';
};
-
- packages = [pkgs.tmux];
- }
+ };
+}