diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index f7334c3..e794e56 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -9,12 +9,6 @@ bind \e\[109\;5u execute # C-m in ghostty set fish_greeting set fish_emoji_width 2 -# xdg-open support on ssh remotes -if test -n SSH_TTY; and type -q wezterm-open-url - set -x DE generic - set -x BROWSER wezterm-open-url -end - # Colors set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/files/config/wezterm/wezterm.lua b/files/config/wezterm/wezterm.lua deleted file mode 100644 index c60845e..0000000 --- a/files/config/wezterm/wezterm.lua +++ /dev/null @@ -1,316 +0,0 @@ -local wezterm = require("wezterm") -local mux = wezterm.mux -local act = wezterm.action - -local config = {} - --- ------------------------------------------------------------------------------------ --- Workspace behavior - --- FIXME: use of the local env var here only works with the same UID on all machines -local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } - -config.exec_domains = { - 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 - - 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 -end - -wezterm.on("activate-nvim", activate_nvim) -wezterm.on("tab-2", activate_tab("t2", 1)) -wezterm.on("tab-3", activate_tab("t3", 2)) -wezterm.on("tab-4", activate_tab("t4", 3)) -wezterm.on("tab-5", activate_tab("t5", 4)) -wezterm.on("tab-6", activate_tab("t6", 5)) -wezterm.on("tab-7", activate_tab("t7", 6)) -wezterm.on("tab-8", activate_tab("t8", 7)) -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, value) - if name == "nvim_activate" then - activate_nvim(window, pane) - end - if name == "open_url" then - local url = string.match(value, "%S+") - local u = wezterm.url.parse(string.match(value, "%S+")) - if u.scheme == "https" or u.scheme == "http" then - wezterm.log_info(url) - wezterm.background_child_process({ "xdg-open", url }) - end - 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 -end - -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 -} - --- #[ ## ### #### ################ - -config.font = wezterm.font_with_fallback({ - { - family = "BerkeleyMono Nerd Font", - -- family = "Ubuntu Mono", - -- weight = "Regular", - harfbuzz_features = berkeley_mono_features, - }, - "Noto Sans Mono", - "Noto Color Emoji", -}) - -config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - font = wezterm.font({ - family = "BerkeleyMono Nerd Font", - -- family = "Monaspace Radon Light", - 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 - - if dpi > 96 then - overrides.font_size = 14 - overrides.freetype_load_target = "Normal" - -- overrides.cell_width = 0.95 - overrides.cell_width = 1.0 - else - overrides.font_size = 18 - overrides.freetype_load_target = "HorizontalLcd" - end - window:set_config_overrides(overrides) -end) - -config.font_size = 14 -config.warn_about_missing_glyphs = false -config.bold_brightens_ansi_colors = false -config.unicode_version = 14 - -config.custom_block_glyphs = false -config.allow_square_glyphs_to_overflow_width = "Always" --- config.use_cap_height_to_scale_fallback_fonts = true - --- Config -config.enable_wayland = true -config.xcursor_theme = "Adwaita" -config.check_for_updates = false - --- UI -config.command_palette_font_size = 13.5 -config.initial_cols = 116 -config.initial_rows = 36 -config.status_update_interval = 100 -config.max_fps = 90 -config.audible_bell = "Disabled" -config.use_resize_increments = true -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", -} -config.window_padding = { - 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", -}) - --- Tabs -config.enable_tab_bar = false -config.tab_bar_at_bottom = true -config.use_fancy_tab_bar = false -config.show_tab_index_in_tab_bar = true - --- Cursor -config.default_cursor_style = "SteadyBlock" -config.cursor_thickness = "6px" -config.cursor_blink_rate = 700 -config.hide_mouse_cursor_when_typing = false -config.underline_position = -3 -config.underline_thickness = 2 - --- Scrolling -config.enable_scroll_bar = false -config.scrollback_lines = 5000 -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 = "c", mods = "CTRL|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "CTRL|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), - }, -} - -return config diff --git a/files/scripts/wezterm-open-url b/files/scripts/wezterm-open-url deleted file mode 100755 index 8cb656f..0000000 --- a/files/scripts/wezterm-open-url +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -if [[ $1 == http* ]]; then - printf "\033]1337;SetUserVar=open_url=%s\007" "$(echo -n "$1" | base64)" -fi diff --git a/home/common/default.nix b/home/common/default.nix index 2ad0154..0697d99 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -16,7 +16,6 @@ ./utils.nix ./vcs.nix ./web.nix - ./wezterm.nix ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; diff --git a/home/common/wezterm.nix b/home/common/wezterm.nix deleted file mode 100644 index 95238ea..0000000 --- a/home/common/wezterm.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, lib, ... }: -{ - config = lib.mkIf config.patagia.desktop.enable { - - programs.wezterm = { - enable = true; - extraConfig = builtins.readFile ./../../files/config/wezterm/wezterm.lua; - }; - - }; -} diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 1de95aa..ae7ded3 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -5,10 +5,6 @@ }; home.packages = with pkgs; [ - # audacity - # bitwig-studio - # helvum - # reaper cameractrls-gtk4 dynamic-wallpaper gimp-with-plugins @@ -49,22 +45,5 @@ terminal = false; type = "Application"; }; - - wezterm-nemo = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = "wezterm start --class=org.wezfurlong.wezterm-nemo --domain=nemo"; - genericName = "wezterm-nemo"; - icon = "org.wezfurlong.wezterm"; - name = "wezterm-nemo"; - settings = { - StartupWMClass = "org.wezfurlong.wezterm-nemo"; - TryExec = "wezterm"; - }; - terminal = false; - type = "Application"; - }; }; }