mirror of
https://github.com/kristoferssolo/solorice.git
synced 2026-03-18 08:09:40 +00:00
Update 2026-02-09
This commit is contained in:
118
config/fish/conf.d/00-profile.fish
Normal file
118
config/fish/conf.d/00-profile.fish
Normal file
@@ -0,0 +1,118 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# XDG Base Directory
|
||||
set -gx XDG_CACHE_HOME "$HOME/.cache"
|
||||
set -gx XDG_CONFIG_HOME "$HOME/.config"
|
||||
set -gx XDG_DATA_HOME "$HOME/.local/share"
|
||||
set -gx XDG_STATE_HOME "$HOME/.local/share"
|
||||
|
||||
# Java
|
||||
set -gx JAVA_HOME "/usr/lib/jvm/java-21-openjdk"
|
||||
|
||||
# Bun
|
||||
set -gx BUN_INSTALL "$XDG_DATA_HOME/bun"
|
||||
|
||||
# PATH (fish_add_path dedupes; --move puts them first)
|
||||
fish_add_path --move "$HOME/.local/bin"
|
||||
fish_add_path --move "$HOME/.spicetify"
|
||||
fish_add_path --move "$XDG_DATA_HOME/bun/bin"
|
||||
fish_add_path --move "$BUN_INSTALL/bin"
|
||||
fish_add_path --move "$HOME/.lmstudio/bin"
|
||||
fish_add_path --move "$JAVA_HOME/bin"
|
||||
|
||||
# Cargo / Deno (avoid sourcing bash scripts)
|
||||
set -gx CARGO_HOME "$XDG_DATA_HOME/cargo"
|
||||
test -d "$CARGO_HOME/bin"; and fish_add_path --move "$CARGO_HOME/bin"
|
||||
|
||||
set -gx DENO_INSTALL "$XDG_DATA_HOME/deno"
|
||||
test -d "$DENO_INSTALL/bin"; and fish_add_path --move "$DENO_INSTALL/bin"
|
||||
|
||||
# Disable files
|
||||
set -gx LESSHISTFILE -
|
||||
|
||||
set -gx MANPAGER 'nvim +Man!'
|
||||
set -gx LIBSEAT_BACKEND logind
|
||||
|
||||
# Default Apps
|
||||
set -gx BROWSER "floorp"
|
||||
set -gx EDITOR "nvim"
|
||||
set -gx VISUAL "$EDITOR"
|
||||
set -gx IMAGE "oculante"
|
||||
set -gx READER "zathura"
|
||||
set -gx TERMINAL "alacritty"
|
||||
set -gx VIDEO "mpv"
|
||||
|
||||
set -gx GTK_THEME rose-pine-gtk
|
||||
set -gx HYPRSHOT_DIR "$HOME/Pictures/screenshots"
|
||||
|
||||
# XDG compliance for various programs
|
||||
set -gx ANDROID_HOME "$XDG_CONFIG_HOME/android"
|
||||
set -gx ANDROID_SDK_HOME "$XDG_CONFIG_HOME/android"
|
||||
set -gx ANDROID_USER_HOME "$XDG_DATA_HOME/android"
|
||||
set -gx ANSIBLE_CONFIG "$XDG_CONFIG_HOME/ansible/ansible.cfg"
|
||||
set -gx CARGO_HOME "$XDG_DATA_HOME/cargo"
|
||||
set -gx CUDA_CACHE_PATH "$XDG_CACHE_HOME/nv"
|
||||
set -gx DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
|
||||
set -gx ELECTRUMDIR "$XDG_DATA_HOME/electrum"
|
||||
set -gx GNUPGHOME "$XDG_DATA_HOME/gnupg"
|
||||
set -gx GOPATH "$XDG_DATA_HOME/go"
|
||||
set -gx GRADLE_USER_HOME "$XDG_DATA_HOME/gradle"
|
||||
set -gx GTK2_RC_FILES "$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
|
||||
set -gx HISTFILE "$XDG_DATA_HOME/history"
|
||||
set -gx INPUTRC "$XDG_CONFIG_HOME/shell/inputrc"
|
||||
set -gx IPYTHONDIR "$XDG_CONFIG_HOME/ipython"
|
||||
set -gx JUPYTER_CONFIG_DIR "$XDG_CONFIG_HOME/jupyter"
|
||||
set -gx KERAS_HOME "$XDG_DATA_HOME/keras"
|
||||
set -gx KODI_DATA "$XDG_DATA_HOME/kodi"
|
||||
set -gx MBSYNCRC "$XDG_CONFIG_HOME/mbsync/config"
|
||||
set -gx MYPY_CACHE_DIR "$XDG_CACHE_HOME/mypy"
|
||||
set -gx MYSQL_HISTFILE "$XDG_DATA_HOME/mysql_history"
|
||||
set -gx NODE_REPL_HISTORY "$XDG_DATA_HOME/node_repl_history"
|
||||
set -gx NOTMUCH_CONFIG "$XDG_CONFIG_HOME/notmuch-config"
|
||||
set -gx NPM_CONFIG_USERCONFIG "$XDG_CACHE_HOME/npm/npmrc"
|
||||
set -gx PARALLEL_HOME "$XDG_CONFIG_HOME/parallel"
|
||||
set -gx PASSWORD_STORE_DIR "$XDG_DATA_HOME/password-store"
|
||||
set -gx PYENV_ROOT "$XDG_DATA_HOME/pyenv"
|
||||
set -gx PYTHONSTARTUP "$HOME/python/pythonrc"
|
||||
set -gx REDISCLI_HISTFILE "$XDG_DATA_HOME/redis/rediscli_history"
|
||||
set -gx RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
||||
set -gx RYE_HOME "$XDG_DATA_HOME/rye"
|
||||
set -gx SSB_HOME "$XDG_DATA_HOME/zoom"
|
||||
set -gx STARSHIP_CONFIG "$XDG_CONFIG_HOME/starship/starship.toml"
|
||||
set -gx TEXMFVAR "$XDG_CACHE_HOME/texlive/texmf-var"
|
||||
set -gx TMUX_TMPDIR "$XDG_RUNTIME_DIR"
|
||||
set -gx UNISON "$XDG_DATA_HOME/unison"
|
||||
set -gx W3M_DIR "$XDG_DATA_HOME/w3m"
|
||||
set -gx WEECHAT_HOME "$XDG_CONFIG_HOME/weechat"
|
||||
set -gx WGETRC "$XDG_CONFIG_HOME/wget/wgetrc"
|
||||
set -gx WINEPREFIX "$XDG_DATA_HOME/wineprefixes/default"
|
||||
set -gx XAUTHORITY "$XDG_RUNTIME_DIR/Xauthority"
|
||||
set -gx XCURSOR_PATH "/usr/share/icons:$XDG_DATA_HOME/icons"
|
||||
set -gx XINITRC "$XDG_CONFIG_HOME/x11/xinitrc"
|
||||
set -gx ZDOTDIR "$XDG_CONFIG_HOME/zsh"
|
||||
set -gx JAVA_HOME "/usr/lib/jvm/java-21-openjdk"
|
||||
set -gx WAKATIME_HOME "$XDG_CONFIG_HOME/wakatime"
|
||||
set -gx PSQL_HISTORY "$XDG_DATA_HOME/psql_history"
|
||||
set -gx STACK_ROOT "$XDG_DATA_HOME/stack"
|
||||
set -gx STACK_XDG 1
|
||||
|
||||
# Other program settings
|
||||
set -gx AWT_TOOLKIT "MToolkit wmname LG3D"
|
||||
set -gx DICS "/usr/share/stardict/dic/"
|
||||
set -gx FZF_DEFAULT_OPTS "--layout=reverse --height 40%"
|
||||
set -gx LESS -R
|
||||
set -gx LESSOPEN "| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||
set -gx LESS_TERMCAP_mb (printf '\e[1;31m')
|
||||
set -gx LESS_TERMCAP_md (printf '\e[1;36m')
|
||||
set -gx LESS_TERMCAP_me (printf '\e[0m')
|
||||
set -gx LESS_TERMCAP_se (printf '\e[0m')
|
||||
set -gx LESS_TERMCAP_so (printf '\e[01;44;33m')
|
||||
set -gx LESS_TERMCAP_ue (printf '\e[0m')
|
||||
set -gx LESS_TERMCAP_us (printf '\e[1;32m')
|
||||
set -gx MOZ_USE_XINPUT2 "1"
|
||||
set -gx QT_QPA_PLATFORMTHEME "qt5ct"
|
||||
set -gx QT_SCREEN_SCALE_FACTORS "1;1"
|
||||
set -gx SUDO_ASKPASS "$HOME/.local/bin/dmenupass"
|
||||
set -gx _JAVA_AWT_WM_NONREPARENTING 1
|
||||
|
||||
set -gx ZDOTDIR "$XDG_CONFIG_HOME/zsh"
|
||||
16
config/fish/conf.d/10-cursor.fish
Normal file
16
config/fish/conf.d/10-cursor.fish
Normal file
@@ -0,0 +1,16 @@
|
||||
if status is-interactive
|
||||
fish_vi_key_bindings
|
||||
|
||||
set -g fish_cursor_default block
|
||||
set -g fish_cursor_insert line
|
||||
set -g fish_cursor_replace_one underscore
|
||||
set -g fish_cursor_visual block
|
||||
|
||||
function __force_beam_cursor --on-event fish_prompt
|
||||
commandline -f vi-default 2>/dev/null
|
||||
commandline -f vi-insert 2>/dev/null
|
||||
printf '\e[5 q'
|
||||
command sleep 0.02 2>/dev/null
|
||||
printf '\e[5 q'
|
||||
end
|
||||
end
|
||||
@@ -1,33 +1,37 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# Use neovim for vim if present
|
||||
if type -q nvim
|
||||
set -g vimdiff "nvim -d"
|
||||
if command -v nvim >/dev/null
|
||||
set -gx vimdiff "nvim -d"
|
||||
end
|
||||
|
||||
# Verbosity and settings that you pretty much just always are going to wand
|
||||
# Verbosity and settings
|
||||
alias bc="bc -ql"
|
||||
alias cp="cp -vi"
|
||||
alias df="df -h"
|
||||
alias mkdir="mkdir -pv"
|
||||
alias mv="mv -iv"
|
||||
alias nsxiv="nsxiv -a"
|
||||
alias img="oculante"
|
||||
alias rm="rm -vI"
|
||||
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget-hsts"
|
||||
alias keychain="keychain --dir $XDG_RUNTIME_DIR/keychain"
|
||||
|
||||
# Colorize commands when possible
|
||||
# Colorize commands
|
||||
alias diff="diff --color=auto"
|
||||
alias grep="rg --color=auto"
|
||||
alias ip="ip -color=auto"
|
||||
alias less="moor"
|
||||
alias ls="eza -a --icons --group-directories-first"
|
||||
|
||||
# These common commands ate just too long! Abbreviate them
|
||||
# Common command abbreviations
|
||||
alias battery="acpi"
|
||||
alias code="vscodium"
|
||||
alias day="redshift -PO 6500"
|
||||
alias dv="doasedit"
|
||||
alias e="$EDITOR"
|
||||
alias fetch="fastfetch"
|
||||
alias j="joshutoub"
|
||||
alias lf="lfub"
|
||||
alias lg="lazygit"
|
||||
alias lock="swaylock"
|
||||
@@ -41,6 +45,7 @@ alias wg-down="wg-quick down wg0"
|
||||
alias wg-up="wg-quick up wg0"
|
||||
alias ww="$EDITOR ~/neorg/"
|
||||
alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config"
|
||||
alias va="source .venv/bin/activate.fish"
|
||||
alias yy="yazi"
|
||||
|
||||
# Git aliases
|
||||
@@ -52,9 +57,10 @@ alias gd="git diff --output-indicator-new=' ' --output-indicator-old=' '"
|
||||
alias gds="git diff --staged"
|
||||
alias gl="git log --all --graph --pretty=format:'%C(magenta)%h %C(white) %an %ar%C(auto) %D%n%s%n'"
|
||||
alias gp="git pull"
|
||||
alias gC="git clone"
|
||||
alias gs="git status --short"
|
||||
|
||||
# doas alias
|
||||
# doas for system commands
|
||||
for command in mount umount rsv sv pacman updatedb su shutdown poweroff reboot zzz systemctl wg wg-quick
|
||||
alias $command="doas $command"
|
||||
end
|
||||
|
||||
11
config/fish/conf.d/colors.fish
Normal file
11
config/fish/conf.d/colors.fish
Normal file
@@ -0,0 +1,11 @@
|
||||
# Command validity highlighting
|
||||
# valid command / keyword / builtin
|
||||
set -g fish_color_command green
|
||||
set -g fish_color_keyword green
|
||||
set -g fish_color_builtin green
|
||||
|
||||
# invalid command
|
||||
set -g fish_color_error red
|
||||
|
||||
# optional: make autosuggestions less prominent
|
||||
set -g fish_color_autosuggestion brblack
|
||||
16
config/fish/conf.d/fzf.fish
Normal file
16
config/fish/conf.d/fzf.fish
Normal file
@@ -0,0 +1,16 @@
|
||||
# fzf.fish configuration - replicate zsh fzf-tab behavior
|
||||
|
||||
# Enable all fzf.fish features
|
||||
set -g fzf_fish_custom_keybindings 1
|
||||
|
||||
# Directory preview (like your zsh config)
|
||||
set -g fzf_preview_dir_cmd eza --all --color=always
|
||||
|
||||
# File preview
|
||||
set -g fzf_preview_file_cmd bat --style=numbers --color=always
|
||||
|
||||
# fzf default options (matches your zsh FZF_DEFAULT_OPTS)
|
||||
set -gx FZF_DEFAULT_OPTS "--layout=reverse --height=40% --border"
|
||||
|
||||
# Use fzf for completions (Tab key behavior)
|
||||
set -g fzf_complete_opts --preview-window=right:50%
|
||||
@@ -1,2 +0,0 @@
|
||||
# Ctrl+O runs yazicd
|
||||
bind -M insert \co 'yazicd'
|
||||
27
config/fish/conf.d/login.fish
Normal file
27
config/fish/conf.d/login.fish
Normal file
@@ -0,0 +1,27 @@
|
||||
# Login shell - auto-start Wayland compositor
|
||||
# Only runs on TTY1 and if not already running
|
||||
|
||||
if status is-login
|
||||
if test (tty) = "/dev/tty1"
|
||||
if not pgrep -x niri >/dev/null 2>&1
|
||||
set -gx WM "niri"
|
||||
# set -gx XDG_CURRENT_DESKTOP niri
|
||||
# set -gx XDG_SESSION_TYPE wayland
|
||||
# set -gx XDG_SESSION_DESKTOP niri
|
||||
if command -q dbus-run-session
|
||||
exec dbus-run-session niri --session
|
||||
else
|
||||
exec niri --session
|
||||
end
|
||||
end
|
||||
|
||||
# Uncomment for Hyprland instead:
|
||||
# if not pgrep -x Hyprland >/dev/null 2>&1
|
||||
# set -gx WM "Hyprland"
|
||||
# set -gx XDG_CURRENT_DESKTOP Hyprland
|
||||
# set -gx XDG_SESSION_TYPE wayland
|
||||
# set -gx XDG_SESSION_DESKTOP Hyprland
|
||||
# exec Hyprland
|
||||
# end
|
||||
end
|
||||
end
|
||||
1
config/fish/conf.d/no-greeting.fish
Normal file
1
config/fish/conf.d/no-greeting.fish
Normal file
@@ -0,0 +1 @@
|
||||
set -g fish_greeting
|
||||
5
config/fish/conf.d/thefuck.fish
Normal file
5
config/fish/conf.d/thefuck.fish
Normal file
@@ -0,0 +1,5 @@
|
||||
# "fuck" to fix the previous command
|
||||
if type -q thefuck
|
||||
thefuck --alias | source
|
||||
thefuck --alias f | source
|
||||
end
|
||||
Reference in New Issue
Block a user