nixos adjustments (PATHs mostly)

This commit is contained in:
Daniel Lundin 2024-06-28 07:55:21 +02:00
parent d22ce20dcf
commit 6a5196b4d4
7 changed files with 179 additions and 190 deletions

View file

@ -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

View file

@ -1,4 +1,3 @@
#!/usr/bin/fish
# SPDX-License-Identifier: CC0-1.0
if status --is-interactive
set _fishprompt_aid "fish"$fish_pid

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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" </dev/stdin