fish updates

This commit is contained in:
2026-03-10 09:29:17 -06:00
parent 75d1bcf15f
commit 5fb34c7188
5 changed files with 97 additions and 124 deletions

View File

@@ -1,5 +1,12 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ ./fish.home.nix ];
customFish = {
dotnetPackage = pkgs.dotnetCorePackages.sdk_8_0;
bitwardenSshAgent = true;
};
home.packages = with pkgs; [ home.packages = with pkgs; [
vscode-fhs vscode-fhs
gnome-software gnome-software
@@ -43,37 +50,7 @@
package = pkgs.gnome-themes-extra; package = pkgs.gnome-themes-extra;
}; };
}; };
programs.fish = {
enable = true;
shellInit = ''
function commit
git add --all
git commit -m "$argv"
git push
end
# have ctrl+backspace delete previous word
bind \e\[3\;5~ kill-word
# have ctrl+delete delete following word
bind \b backward-kill-word
set -U fish_user_paths ~/.local/bin $fish_user_paths
#set -U fish_user_paths ~/.dotnet $fish_user_paths
#set -U fish_user_paths ~/.dotnet/tools $fish_user_paths
export VISUAL=vim
export EDITOR="$VISUAL"
export DOTNET_WATCH_RESTART_ON_RUDE_EDIT=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_ROOT=${pkgs.dotnetCorePackages.sdk_8_0}
set -x LIBVIRT_DEFAULT_URI qemu:///system
set -x TERM xterm-256color # ghostty
export SSH_AUTH_SOCK=/home/alex/.bitwarden-ssh-agent.sock # ssh agent
'';
};
home.file = { home.file = {
".config/lazydocker/config.yml".text = '' ".config/lazydocker/config.yml".text = ''
gui: gui:

View File

@@ -1,5 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ ./fish.home.nix ];
home.packages = with pkgs; [ home.packages = with pkgs; [
vscode-fhs vscode-fhs
gnome-software gnome-software
@@ -38,31 +40,7 @@
package = pkgs.gnome-themes-extra; package = pkgs.gnome-themes-extra;
}; };
}; };
programs.fish = {
enable = true;
shellInit = ''
function commit
git add --all
git commit -m "$argv"
git push
end
# have ctrl+backspace delete previous word
bind \e\[3\;5~ kill-word
# have ctrl+delete delete following word
bind \b backward-kill-word
set -U fish_user_paths ~/.local/bin $fish_user_paths
#set -U fish_user_paths ~/.dotnet $fish_user_paths
#set -U fish_user_paths ~/.dotnet/tools $fish_user_paths
export VISUAL=vim
export EDITOR="$VISUAL"
export DOTNET_WATCH_RESTART_ON_RUDE_EDIT=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
set -x LIBVIRT_DEFAULT_URI qemu:///system
'';
};
home.file = { home.file = {
".config/lazydocker/config.yml".text = '' ".config/lazydocker/config.yml".text = ''
gui: gui:

View File

@@ -1,5 +1,10 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ ./fish.home.nix ];
customFish = {
bluetuiAliases = true;
};
home.packages = with pkgs; [ home.packages = with pkgs; [
k9s k9s
jwt-cli jwt-cli
@@ -36,37 +41,7 @@
home.sessionVariables = { home.sessionVariables = {
EDITOR = "vim"; EDITOR = "vim";
}; };
programs.fish = {
enable = true;
shellInit = ''
alias blue="bluetui"
function commit
git add --all
git commit -m "$argv"
git pull
git push
end
# have ctrl+backspace delete previous word
bind \e\[3\;5~ kill-word
# have ctrl+delete delete following word
bind \b backward-kill-word
set -U fish_user_paths ~/.local/bin $fish_user_paths
#set -U fish_user_paths ~/.dotnet $fish_user_paths
#set -U fish_user_paths ~/.dotnet/tools $fish_user_paths
export VISUAL=vim
export EDITOR="$VISUAL"
export DOTNET_WATCH_RESTART_ON_RUDE_EDIT=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
set -x LIBVIRT_DEFAULT_URI qemu:///system
alias blue="bluetui"
alias jelly="jellyfin-tui"
'';
};
home.file = { home.file = {
".config/lazydocker/config.yml".text = '' ".config/lazydocker/config.yml".text = ''
gui: gui:

View File

@@ -0,0 +1,75 @@
{ pkgs, lib, config, ... }:
let
cfg = config.customFish;
in {
options.customFish = {
# Opt-in: only enable if the relevant tools are installed on this machine
bluetuiAliases = lib.mkEnableOption "bluetui/jellyfin-tui shell aliases";
dotnetPackage = lib.mkOption {
type = lib.types.nullOr lib.types.package;
default = null;
description = "Enable dotnet env vars and PATH entries. Set to the desired SDK package (e.g. pkgs.dotnetCorePackages.sdk_8_0).";
};
bitwardenSshAgent = lib.mkEnableOption "Bitwarden SSH agent (sets SSH_AUTH_SOCK)";
};
config = {
programs.fish = {
enable = true;
shellInit = lib.concatStringsSep "\n" (lib.filter (s: s != "") [
# https://gist.github.com/thomd/7667642
''
export LS_COLORS=':di=95'
function commit
git add --all
git commit -m "$argv"
for remote in (git remote)
git pull $remote
git push $remote
end
end
# have ctrl+backspace delete previous word
bind \e\[3\;5~ kill-word
# have ctrl+delete delete following word
bind \b backward-kill-word
set -U fish_user_paths ~/.local/bin ~/bin ~/.dotnet ~/.dotnet/tools $fish_user_paths
set fish_pager_color_selected_background --background='00399c'
export VISUAL=vim
export EDITOR="$VISUAL"
set -x LIBVIRT_DEFAULT_URI qemu:///system
set -x TERM xterm-256color
if test -f "$HOME/.cargo/env.fish"
source "$HOME/.cargo/env.fish"
end
''
(lib.optionalString cfg.bluetuiAliases ''
alias blue="bluetui"
alias jelly="jellyfin-tui"
'')
(lib.optionalString (cfg.dotnetPackage != null) ''
export DOTNET_WATCH_RESTART_ON_RUDE_EDIT=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_ROOT=${cfg.dotnetPackage}
'')
(lib.optionalString cfg.bitwardenSshAgent ''
export SSH_AUTH_SOCK=$HOME/.bitwarden-ssh-agent.sock
'')
]);
};
};
}

View File

@@ -8,6 +8,14 @@ let
(fetchTarball "https://github.com/nix-community/nixGL/archive/main.tar.gz") (fetchTarball "https://github.com/nix-community/nixGL/archive/main.tar.gz")
{ }; { };
in { in {
imports = [ ./fish.home.nix ];
customFish = {
bluetuiAliases = true;
dotnetPackage = pkgs.dotnetCorePackages.sdk_8_0;
bitwardenSshAgent = true;
};
home.username = "alexm"; home.username = "alexm";
home.homeDirectory = "/home/alexm"; home.homeDirectory = "/home/alexm";
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@@ -90,47 +98,7 @@ in {
window-width = "120"; window-width = "120";
}; };
}; };
programs.fish = {
enable = true;
shellInit = ''
# https://gist.github.com/thomd/7667642
export LS_COLORS=':di=95'
function commit
git add --all
git commit -m "$argv"
git pull
git push
end
# have ctrl+backspace delete previous word
bind \e\[3\;5~ kill-word
# have ctrl+delete delete following word
bind \b backward-kill-word
alias blue="bluetui"
alias jelly="jellyfin-tui"
set -U fish_user_paths ~/.local/bin $fish_user_paths
set -U fish_user_paths ~/bin $fish_user_paths
set -U fish_user_paths ~/.dotnet $fish_user_paths
set -U fish_user_paths ~/.dotnet/tools $fish_user_paths
set fish_pager_color_selected_background --background='00399c'
export VISUAL=vim
export EDITOR="$VISUAL"
export DOTNET_WATCH_RESTART_ON_RUDE_EDIT=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_ROOT=${pkgs.dotnetCorePackages.sdk_8_0}
set -x LIBVIRT_DEFAULT_URI qemu:///system
set -x TERM xterm-256color # ghostty
source "$HOME/.cargo/env.fish"
export SSH_AUTH_SOCK=/home/alexm/.bitwarden-ssh-agent.sock # ssh agent
'';
};
home.file = { home.file = {
".config/lazydocker/config.yml".text = '' ".config/lazydocker/config.yml".text = ''
gui: gui: