misc experimentation~

This commit is contained in:
Kate 2025-05-22 13:11:54 +02:00
parent 5a42e61598
commit 0b1f165f85
8 changed files with 155 additions and 202 deletions

View file

@ -83,6 +83,8 @@
extraPackages = [ extraPackages = [
deprekages.xontrib-whole-word-jumping deprekages.xontrib-whole-word-jumping
deprekages.xontrib-term-integrations deprekages.xontrib-term-integrations
deprekages.xontrib-prompt-bar
deprekages.xontrib-termcolors
deprekages.xontrib-sh deprekages.xontrib-sh
]; ];
}; };

View file

@ -121,6 +121,7 @@ with pkgs;
deprekages.vja deprekages.vja
wget wget
wireshark-cli wireshark-cli
zellij
zstd zstd
zip zip

View file

@ -120,12 +120,16 @@ flake-utils.lib.eachDefaultSystem (
# xonsh and xontribs # xonsh and xontribs
xontrib-whole-word-jumping = callPackage ./xontrib-whole-word-jumping.nix {}; xontrib-whole-word-jumping = callPackage ./xontrib-whole-word-jumping.nix {};
xontrib-term-integrations = callPackage ./xontrib-term-integrations.nix {}; xontrib-term-integrations = callPackage ./xontrib-term-integrations.nix {};
xontrib-prompt-bar = callPackage ./xontrib-prompt-bar.nix {};
xontrib-termcolors = callPackage ./xontrib-termcolors.nix {};
xontrib-sh = callPackage ./xontrib-sh.nix {}; xontrib-sh = callPackage ./xontrib-sh.nix {};
xonsh-with-xontribs = pkgs.xonsh.override { xonsh-with-xontribs = pkgs.xonsh.override {
extraPackages = pythonPackages: [ extraPackages = pythonPackages: [
xontrib-whole-word-jumping xontrib-whole-word-jumping
xontrib-term-integrations xontrib-term-integrations
xontrib-prompt-bar
xontrib-termcolors
xontrib-sh xontrib-sh
]; ];
}; };

View file

@ -0,0 +1,32 @@
{
callPackage,
fetchPypi,
python3Packages,
xonsh
}:
let
# Create a version of xonsh as a python package,
# matching the version installed on the syste,
xonsh-python = callPackage ./xonsh-python-package.nix { inherit xonsh; };
in python3Packages.buildPythonPackage rec {
pname = "xontrib_prompt_bar";
version = "0.5.8";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-955TqiUm+s/0S2TkaSgyUDe3I5596/A2mHb+SpG0VeA=";
};
nativeBuildInputs = with python3Packages; [
setuptools
wheel
];
buildInputs = with python3Packages; [
xonsh-python
pdm-pep517
];
}

View file

@ -0,0 +1,32 @@
{
callPackage,
fetchPypi,
python3Packages,
xonsh
}:
let
# Create a version of xonsh as a python package,
# matching the version installed on the syste,
xonsh-python = callPackage ./xonsh-python-package.nix { inherit xonsh; };
in python3Packages.buildPythonPackage rec {
pname = "xontrib-termcolors";
version = "0.2.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-ZaVurvHbHFr0fvIc/MeBVqiYFtcbXcRl41GzgI26cIw=";
};
nativeBuildInputs = with python3Packages; [
setuptools
wheel
];
buildInputs = with python3Packages; [
xonsh-python
pdm-pep517
];
}

View file

@ -30,6 +30,7 @@ config = {
-- Improve tab viewing by disabling native wonk, -- Improve tab viewing by disabling native wonk,
-- and make it behave more like Tmux. -- and make it behave more like Tmux.
hide_tab_bar_if_only_one_tab = true,
use_fancy_tab_bar = false, use_fancy_tab_bar = false,
tab_bar_at_bottom = true, tab_bar_at_bottom = true,
tab_max_width = 32, tab_max_width = 32,
@ -72,129 +73,8 @@ config = {
{ name = "hinata", remote_address = "hinata", remote_wezterm_path = "/run/current-system/sw/bin/wezterm" }, { name = "hinata", remote_address = "hinata", remote_wezterm_path = "/run/current-system/sw/bin/wezterm" },
}, },
-- Key bindings.
leader = { key = "`" },
keys = { keys = {
-- Tmux keybindings: tabs and splits.
{
key = "c",
mods = "LEADER",
action = act.SpawnTab("CurrentPaneDomain"),
},
{
key = "RightArrow",
mods = "LEADER",
action = act.ActivatePaneDirection("Right"),
},
{
key = "UpArrow",
mods = "LEADER",
action = act.ActivatePaneDirection("Up"),
},
{
key = "DownArrow",
mods = "LEADER",
action = act.ActivatePaneDirection("Down"),
},
{
key = ";",
mods = "LEADER",
action = act.ActivatePaneDirection("Next"),
},
{
key = "v",
mods = "LEADER",
action = act.SplitVertical({ domain = "CurrentPaneDomain" }),
},
{
key = "h",
mods = "LEADER",
action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }),
},
{
key = "5",
mods = "LEADER|SHIFT",
action = act.SplitVertical({ domain = "CurrentPaneDomain" }),
},
{
key = "'",
mods = "LEADER|SHIFT",
action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }),
},
{
key = "1",
mods = "LEADER",
action = act.ActivateTab(0),
},
{
key = "2",
mods = "LEADER",
action = act.ActivateTab(1),
},
{
key = "3",
mods = "LEADER",
action = act.ActivateTab(2),
},
{
key = "4",
mods = "LEADER",
action = act.ActivateTab(3),
},
{
key = "5",
mods = "LEADER",
action = act.ActivateTab(4),
},
{
key = "6",
mods = "LEADER",
action = act.ActivateTab(5),
},
{
key = "7",
mods = "LEADER",
action = act.ActivateTab(6),
},
{
key = "8",
mods = "LEADER",
action = act.ActivateTab(7),
},
{
key = "9",
mods = "LEADER",
action = act.ActivateTab(8),
},
{
key = "0",
mods = "LEADER",
action = act.ActivateTab(10),
},
{
key = "x",
mods = "LEADER",
action = act.CloseCurrentPane({ confirm = true }),
},
-- Tmux keybindings: misc.
{
key = "`",
mods = "LEADER",
action = act.SendKey({ key = "`" }),
},
{
key = "d",
mods = "LEADER",
action = act.DetachDomain("CurrentPaneDomain"),
},
{
key = "z",
mods = "LEADER",
action = act.TogglePaneZoomState,
},
-- Generic customization. -- Generic customization.
{ key = "l", mods = "SHIFT|CTRL", action = "ShowDebugOverlay" }, { key = "l", mods = "SHIFT|CTRL", action = "ShowDebugOverlay" },
{ key = "Enter", mods = "ALT", action = "DisableDefaultAssignment" }, { key = "Enter", mods = "ALT", action = "DisableDefaultAssignment" },
@ -212,15 +92,14 @@ font_overrides = {
utol = 13, utol = 13,
trailblazer = 11, trailblazer = 11,
kanbaru = 12, kanbaru = 12,
aigis = 12; aigis = 12,
komashi = 12; komashi = 12,
} }
if font_overrides[hostname] ~= nil then if font_overrides[hostname] ~= nil then
config.font_size = font_overrides[hostname] config.font_size = font_overrides[hostname]
end end
-- --
-- Increase tab bar spacing. -- Increase tab bar spacing.
-- --

View file

@ -25,8 +25,6 @@ warnings.warn = warn
# Xonsh configuration # Xonsh configuration
# #
# Load our Xonsh extensions.
xontrib load whole_word_jumping coreutils term_integration sh
# Squish down long CWD paths, # Squish down long CWD paths,
$DYNAMIC_CWD_WIDTH="30%" $DYNAMIC_CWD_WIDTH="30%"
@ -79,7 +77,6 @@ PATH_ADDS = []
# #
# Per-platform and per-machine environment. # Per-platform and per-machine environment.
# #
try_source(socket.gethostname().split('.')[0]) try_source(socket.gethostname().split('.')[0])
try_source(sys.platform) try_source(sys.platform)
@ -129,3 +126,9 @@ except Exception as e:
if XONSHRC_VERBOSE: if XONSHRC_VERBOSE:
print("Final color scheme: " + $XONSH_COLOR_STYLE) print("Final color scheme: " + $XONSH_COLOR_STYLE)
# Prompt config.
#$PROMPT="{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname}{BOLD_BLUE} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET}"
# Load our Xonsh extensions.
xontrib load whole_word_jumping coreutils sh termcolors term_integration

View file

@ -1,4 +1,4 @@
xontrib-whole-word-jumping xontrib-whole-word-jumping
xontrib-bashisms xontrib-sh
xontrib-term-integrations xontrib-term-integrations
xontrib-abbrevs xontrib-prompt-bar