diff --git a/.config/fish/conf.d/prompt.fish b/.config/fish/conf.d/prompt.fish index c6281d9..c246201 100644 --- a/.config/fish/conf.d/prompt.fish +++ b/.config/fish/conf.d/prompt.fish @@ -20,7 +20,7 @@ function fish_prompt printf "\n\e[1;32m%%\e[0m " end else - /usr/bin/starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS end end @@ -43,7 +43,7 @@ function fish_right_prompt printf "" end else - /usr/bin/starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS end end diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish index 296a561..23947c4 100644 --- a/.config/fish/conf.d/semantic-prompt.fish +++ b/.config/fish/conf.d/semantic-prompt.fish @@ -1,4 +1,3 @@ -#!/usr/bin/fish # SPDX-License-Identifier: CC0-1.0 if status --is-interactive set _fishprompt_aid "fish"$fish_pid diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 9e011ff..55297a1 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -4,11 +4,6 @@ set fish_emoji_width 2 fish_add_path $HOME/.cargo/bin fish_add_path $HOME/bin -## Nix -set -gx LOCALE_ARCHIVE /usr/lib/locale/locale-archive -set -gx NIX_REMOTE daemon -fish_add_path $HOME/.nix-profile/bin - if status is-interactive ## Pager @@ -29,16 +24,10 @@ if status is-interactive set -gx VISUAL $EDITOR set -gx SUDO_EDITOR $EDITOR - - function tree eza --tree --color=always $argv | bat --wrap=never end - function rg --wraps rg --description 'ripgrep with bat' - /usr/bin/rg --color=always $argv | bat --wrap=never - end - ## Directory jumping with frecency function fre_after_cd --on-variable PWD diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index e265762..10b98ea 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -44,5 +44,5 @@ SETUVAR fish_pager_color_selected_background:\x2dr SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d -SETUVAR fish_user_paths:/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin +SETUVAR fish_user_paths:/home/dln/\x2enix\x2dprofile/bin\x1e/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin SETUVAR --export theme:Catppuccin\x20Latte diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index a5c8e1a..3a468c0 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -11,67 +11,67 @@ local config = {} local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } config.exec_domains = { - wezterm.exec_domain("dev", function(cmd) - local wrapped = { "/usr/bin/ssh", "-t", "dev" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), - wezterm.exec_domain("nemo", function(cmd) - local wrapped = { "/usr/bin/ssh", "-t", "nemo" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), + wezterm.exec_domain("dev", function(cmd) + local wrapped = { "ssh", "-t", "dev" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), + wezterm.exec_domain("nemo", function(cmd) + local wrapped = { "ssh", "-t", "nemo" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), } local function activate_nvim(window, pane) - wezterm.log_info("nvim") - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(0), - }), - pane - ) - return - end - end - end + wezterm.log_info("nvim") + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(0), + }), + pane + ) + return + end + end + end - local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) - window:perform_action(act.MoveTab(0), nvim_pane) - nvim_tab:set_title("nvim") + local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) + window:perform_action(act.MoveTab(0), nvim_pane) + nvim_tab:set_title("nvim") end local function activate_tab(title, index) - return function(window, pane) - wezterm.log_info(title) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - if t.tab:get_title() == title then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(index), - }), - pane - ) - return - end - end - local tab, _, _ = window:mux_window():spawn_tab({ - cwd = "~", - }) - tab:set_title(title) - window:perform_action(act.MoveTab(index), pane) - end + return function(window, pane) + wezterm.log_info(title) + for _, t in ipairs(window:mux_window():tabs_with_info()) do + if t.tab:get_title() == title then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(index), + }), + pane + ) + return + end + end + local tab, _, _ = window:mux_window():spawn_tab({ + cwd = "~", + }) + tab:set_title(title) + window:perform_action(act.MoveTab(index), pane) + end end wezterm.on("activate-nvim", activate_nvim) @@ -86,41 +86,41 @@ wezterm.on("tab-9", activate_tab("t9", 8)) wezterm.on("tab-10", activate_tab("t10", 9)) wezterm.on("user-var-changed", function(window, pane, name, _) - if name == "nvim_activate" then - activate_nvim(window, pane) - end + if name == "nvim_activate" then + activate_nvim(window, pane) + end end) -- ------------------------------------------------------------------------------------ -- Appearance local function colors_for_appearance(appearance) - if appearance:find("Dark") then - return { - background = "#0d1117", - -- background = "#000000", - foreground = "#b2b2b2", - cursor_bg = "#00d992", - cursor_fg = "#000000", - cursor_border = "#000000", - selection_bg = "#d7d7d7", - selection_fg = "#000000", - ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, - brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, - } - else - return { - background = "#fefeff", - foreground = "#222222", - cursor_bg = "#aa0000", - cursor_fg = "#ffffff", - cursor_border = "#ffffff", - selection_bg = "#ffe6a4", - selection_fg = "#483600", - ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, - brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, - } - end + if appearance:find("Dark") then + return { + background = "#0d1117", + -- background = "#000000", + foreground = "#b2b2b2", + cursor_bg = "#00d992", + cursor_fg = "#000000", + cursor_border = "#000000", + selection_bg = "#d7d7d7", + selection_fg = "#000000", + ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, + brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, + } + else + return { + background = "#fefeff", + foreground = "#222222", + cursor_bg = "#aa0000", + cursor_fg = "#ffffff", + cursor_border = "#ffffff", + selection_bg = "#ffe6a4", + selection_fg = "#483600", + ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, + brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, + } + end end config.colors = colors_for_appearance(wezterm.gui.get_appearance()) @@ -128,50 +128,50 @@ config.colors = colors_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts local berkeley_mono_features = { - -- "calt=1", - -- "dlig=0", - -- "liga", - -- "calt=1", - -- "clig=1", - -- "ss02", -- Clean Zero - "ss03", -- Slashed Zero - -- "ss04", -- Cut Zero + -- "calt=1", + -- "dlig=0", + -- "liga", + -- "calt=1", + -- "clig=1", + -- "ss02", -- Clean Zero + "ss03", -- Slashed Zero + -- "ss04", -- Cut Zero } -- #[ ## ### #### ################ config.font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - weight = "Regular", - harfbuzz_features = berkeley_mono_features, + family = "Berkeley Mono Nerd Font", + weight = "Regular", + harfbuzz_features = berkeley_mono_features, }) config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), - font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - italic = true, - harfbuzz_features = berkeley_mono_features, - }), - }, + { + italic = true, + intensity = "Bold", + reverse = false, + -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), + font = wezterm.font({ + family = "Berkeley Mono Nerd Font", + italic = true, + harfbuzz_features = berkeley_mono_features, + }), + }, } wezterm.on("window-config-reloaded", function(window, pane) - local overrides = window:get_config_overrides() or {} - local dpi = wezterm.gui.screens().active.effective_dpi + local overrides = window:get_config_overrides() or {} + local dpi = wezterm.gui.screens().active.effective_dpi - if dpi > 96 then - overrides.font_size = 14 - else - overrides.font_size = 18 - end - window:set_config_overrides(overrides) + if dpi > 96 then + overrides.font_size = 14 + else + overrides.font_size = 18 + end + window:set_config_overrides(overrides) end) config.warn_about_missing_glyphs = false @@ -199,28 +199,28 @@ config.adjust_window_size_when_changing_font_size = false config.use_resize_increments = true config.window_decorations = "RESIZE" config.window_frame = { - border_left_width = "4px", - border_right_width = "4px", - border_bottom_height = "4px", - border_top_height = "4px", - border_left_color = "#000000", - border_right_color = "#000000", - border_bottom_color = "#000000", - border_top_color = "#000000", + border_left_width = "4px", + border_right_width = "4px", + border_bottom_height = "4px", + border_top_height = "4px", + border_left_color = "#000000", + border_right_color = "#000000", + border_bottom_color = "#000000", + border_top_color = "#000000", } config.window_padding = { - left = 10, - right = 10, - top = 0, - bottom = 0, + left = 10, + right = 10, + top = 0, + bottom = 0, } -- Hyperlinks config.hyperlink_rules = wezterm.default_hyperlink_rules() table.insert(config.hyperlink_rules, { - regex = [[E(\d+)]], - format = "https://doc.rust-lang.org/error_codes/E$1.html", + regex = [[E(\d+)]], + format = "https://doc.rust-lang.org/error_codes/E$1.html", }) -- Tabs @@ -245,54 +245,54 @@ config.alternate_buffer_wheel_scroll_speed = 1 -- Keys config.disable_default_key_bindings = true config.keys = { - { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "0", mods = "CTRL", action = "ResetFontSize" }, - { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, - { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, - { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, - { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, - { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, - { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, - { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, - { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, - { key = "r", mods = "ALT", action = act.ReloadConfiguration }, - { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, - { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, - { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, - { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, - { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, - { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, - { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, - { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, - { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, - { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, - { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, - { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, - { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + { key = "0", mods = "CTRL", action = "ResetFontSize" }, + { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, + { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, + { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, + { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, + { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, + { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, + { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, + { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, + { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, + { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, + { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, + { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, + { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, + { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, + { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, + { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, + { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, + { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, + { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, + { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, + { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, } -- Mouse config.mouse_bindings = { - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(-5), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(5), - }, - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByLine(-1), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByLine(1), - }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(-5), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(5), + }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + action = act.ScrollByLine(-1), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + action = act.ScrollByLine(1), + }, } return config diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index ca4274a..7c93727 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -18,6 +18,7 @@ fi fre --store_name "edit-history" --add "$_file" +rm -f "$XDG_RUNTIME_DIR/nvim-persistent.sock" nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null # Wezterm: switch tab to nvim diff --git a/bin/xdg-open b/bin/xdg-open index 219baf3..801d576 100755 --- a/bin/xdg-open +++ b/bin/xdg-open @@ -2,7 +2,7 @@ set -e # Use local xdg-open if not in an ssh session -[ -n "$SSH_TTY" ] || exec /usr/bin/xdg-open "$@" +[ -n "$SSH_TTY" ] || exec xdg-open "$@" if [ -p /dev/stdin ]; then exec nc -U "$XDG_RUNTIME_DIR/opener.sock"