From 16d2d6faa61219bff0f12f936bff1d9876c4cabf Mon Sep 17 00:00:00 2001 From: Uyanide Date: Sun, 15 Mar 2026 08:51:55 +0100 Subject: [PATCH] update shell config --- config/niri/.config/niri/config/binds.kdl | 2 +- config/niri/.config/niri/config/prime.kdl | 6 ++- config/nwg-look/.config/gtk-3.0/settings.ini | 5 +-- config/nwg-look/.config/gtk-4.0/settings.ini | 2 +- config/scripts/.local/scripts/fzfclip-wrap | 9 +++- config/scripts/.local/snippets/set_display | 2 +- config/shell/.bash_profile | 42 +++++++++++++++---- config/shell/.config/fish/conf.d/10-env.fish | 12 +----- .../.config/fish/conf.d/10-niri-env.fish | 22 ---------- config/shell/.config/fish/conf.d/10-sshs.fish | 21 ---------- 10 files changed, 52 insertions(+), 71 deletions(-) delete mode 100644 config/shell/.config/fish/conf.d/10-niri-env.fish delete mode 100644 config/shell/.config/fish/conf.d/10-sshs.fish diff --git a/config/niri/.config/niri/config/binds.kdl b/config/niri/.config/niri/config/binds.kdl index 9930125..0636d62 100644 --- a/config/niri/.config/niri/config/binds.kdl +++ b/config/niri/.config/niri/config/binds.kdl @@ -41,7 +41,7 @@ binds { Alt+Space repeat=false { spawn-sh "pkill -x rofi || rofi -show drun"; } // Actions - Mod+V repeat=false { spawn-sh "fzfclip-wrap"; } + Mod+V repeat=false { spawn "wezterm" "start" "--" "fzfclip-wrap"; } Mod+Period repeat=false { spawn-sh "pkill -x rofi || rofi-emoji"; } Print repeat=false { screenshot-screen; } Mod+Shift+S repeat=false { screenshot; } diff --git a/config/niri/.config/niri/config/prime.kdl b/config/niri/.config/niri/config/prime.kdl index 8b13789..d6062de 100644 --- a/config/niri/.config/niri/config/prime.kdl +++ b/config/niri/.config/niri/config/prime.kdl @@ -1 +1,5 @@ - +environment { + __NV_PRIME_RENDER_OFFLOAD "1" + __VK_LAYER_NV_optimus "NVIDIA_only" + __GLX_VENDOR_LIBRARY_NAME "nvidia" +} diff --git a/config/nwg-look/.config/gtk-3.0/settings.ini b/config/nwg-look/.config/gtk-3.0/settings.ini index 6d84427..17f5189 100644 --- a/config/nwg-look/.config/gtk-3.0/settings.ini +++ b/config/nwg-look/.config/gtk-3.0/settings.ini @@ -9,12 +9,11 @@ gtk-decoration-layout=icon:minimize,maximize,close gtk-enable-animations=true gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=0 -gtk-font-name=Noto Sans, 10 +gtk-font-name=Sarasa UI SC, 10 gtk-icon-theme-name=Papirus gtk-menu-images=true -gtk-modules=colorreload-gtk-module:appmenu-gtk-module +gtk-modules=colorreload-gtk-module gtk-primary-button-warps-slider=true -gtk-shell-shows-menubar=1 gtk-sound-theme-name=ocean gtk-theme-name=catppuccin-mocha-blue-standard+default gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR diff --git a/config/nwg-look/.config/gtk-4.0/settings.ini b/config/nwg-look/.config/gtk-4.0/settings.ini index 995a2b7..4139029 100644 --- a/config/nwg-look/.config/gtk-4.0/settings.ini +++ b/config/nwg-look/.config/gtk-4.0/settings.ini @@ -6,7 +6,7 @@ gtk-cursor-theme-name=Bibata-Modern-Ice gtk-cursor-theme-size=24 gtk-decoration-layout=icon:minimize,maximize,close gtk-enable-animations=true -gtk-font-name=Noto Sans, 10 +gtk-font-name=Sarasa UI SC, 10 gtk-icon-theme-name=Papirus gtk-primary-button-warps-slider=true gtk-sound-theme-name=ocean diff --git a/config/scripts/.local/scripts/fzfclip-wrap b/config/scripts/.local/scripts/fzfclip-wrap index 47f1823..26df3e4 100755 --- a/config/scripts/.local/scripts/fzfclip-wrap +++ b/config/scripts/.local/scripts/fzfclip-wrap @@ -1,3 +1,10 @@ #!/bin/sh -wezterm start -- fzfclip "$@" +lockfile=/tmp/fzfclip.lock +exec {LOCK_FD}>"$lockfile" +flock -n "$LOCK_FD" || { + echo "Another instance is running." >&2 + exit 1 +} + +fzfclip "$@" diff --git a/config/scripts/.local/snippets/set_display b/config/scripts/.local/snippets/set_display index 9a2ea66..a0f46de 100644 --- a/config/scripts/.local/snippets/set_display +++ b/config/scripts/.local/snippets/set_display @@ -9,7 +9,7 @@ # Constants niri_config_file="$HOME/.config/niri/config/misc.kdl" -prefer_order=(intel nvidia) +prefer_order=(nvidia intel) # Get vendor and path of each GPU default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)" diff --git a/config/shell/.bash_profile b/config/shell/.bash_profile index fe21b6c..144bdbc 100644 --- a/config/shell/.bash_profile +++ b/config/shell/.bash_profile @@ -34,8 +34,7 @@ export XDG_CACHE_HOME="$HOME/.cache" # Better than nothing if [[ -z "$LANG" ]]; then LANG="en_US.UTF-8" - LC_ALL="en_US.UTF-8" - export LANG LC_ALL + export LANG fi # Paths @@ -48,21 +47,21 @@ export PATH # fnm if type fnm &>/dev/null; then - eval $(fnm env --shell bash) + eval "$(fnm env --shell bash)" fi # export ENABLE_GPG_AGENT_SSH=1 in .profile to enable GPG agent for SSH if [ -x "$HOME/.local/scripts/gpg-init" ] && \ - [ -n "$ENABLE_GPG_AGENT_SSH" ] && [ "$ENABLE_GPG_AGENT_SSH" != "0" ] && \ + [ -n "$ENABLE_GPG_AGENT_SSH" ] && [ "$ENABLE_GPG_AGENT_SSH" = "1" ] && \ type gpgconf &>/dev/null; then # GPG agent for SSH - eval "$($HOME/.local/scripts/gpg-init 2>/dev/null)" >/dev/null 2>&1 + eval "$($HOME/.local/scripts/gpg-init 2>/dev/null)" &>/dev/null elif [ -x "$HOME/.local/scripts/ssh-init" ] && type ssh-agent &>/dev/null; then # SSH with cross-session ssh-agent - eval "$($HOME/.local/scripts/ssh-init 2>/dev/null)" >/dev/null 2>&1 + eval "$($HOME/.local/scripts/ssh-init 2>/dev/null)" &>/dev/null fi -# Triggered in SSH sessions +# Triggered in interactive shells (e.g. ssh) if [[ $- == *i* ]]; then # Set EDITOR and VISUAL, mainly for sudoedit for app in nvim helix vim vi nano; do @@ -74,9 +73,34 @@ if [[ $- == *i* ]]; then done export EDITOR VISUAL + # Create shortcut alias for helix + if type helix &>/dev/null && ! type hx &>/dev/null; then + alias hx="helix" + fi + # For gpg - GPG_TTY=$(tty) - export GPG_TTY + if type gpgconf &>/dev/null; then + GPG_TTY=$(tty) + export GPG_TTY + fi + + if [ -x "$HOME/.local/scripts/gpg-init" ] && \ + [ -n "$ENABLE_GPG_AGENT_SSH" ] && [ "$ENABLE_GPG_AGENT_SSH" = "1" ] && \ + type gpgconf &>/dev/null; then + true + elif [ -x "$HOME/.local/scripts/ssh-init" ] && type ssh-add &>/dev/null; then + function sshs() { + # test if keys are added to ssh-agent + if ! ssh-add -l &>/dev/null; then + if [ -n "$ssh_keys" ]; then + ssh-add "${ssh_keys[@]}" + else + ssh-add + fi + fi + ssh "$@" + } + fi # Shortcut alias for launching fish if type fish &>/dev/null && ! type f &>/dev/null; then diff --git a/config/shell/.config/fish/conf.d/10-env.fish b/config/shell/.config/fish/conf.d/10-env.fish index 4c9b657..a8a24d8 100644 --- a/config/shell/.config/fish/conf.d/10-env.fish +++ b/config/shell/.config/fish/conf.d/10-env.fish @@ -1,9 +1,4 @@ -# PATH -fish_add_path $HOME/go/bin -fish_add_path $HOME/.cargo/bin -fish_add_path $HOME/.local/scripts -fish_add_path $HOME/.local/bin -fish_add_path $HOME/.local/share/fnm +# PATH is managed by .bash_profile # man if type -q bat @@ -28,11 +23,6 @@ end # gpg set -x -g GPG_TTY (tty) -# fnm -if type -q fnm - eval (fnm env --shell fish) -end - # done set -U __done_min_cmd_duration 10000 set -U __done_notification_urgency_level low diff --git a/config/shell/.config/fish/conf.d/10-niri-env.fish b/config/shell/.config/fish/conf.d/10-niri-env.fish deleted file mode 100644 index 6f28fad..0000000 --- a/config/shell/.config/fish/conf.d/10-niri-env.fish +++ /dev/null @@ -1,22 +0,0 @@ -if test -n "$XDG_CURRENT_DESKTOP"; and test "$XDG_CURRENT_DESKTOP" = "niri" - set -l env_config "$HOME/.config/niri/config/envs.kdl" - - if test -f "$env_config" - while read -la line - # Remove comments - set line (string replace -r '//.*' '' -- "$line") - # Trim whitespace - set line (string trim -- "$line") - # Skip "environment" block lines - if test -z "$line"; or string match -q "environment*" -- "$line"; or test "$line" = "}" - continue - end - # Match lines like: VARIABLE "value" where VARIABLE is alphanumeric/underscore - set -l matches (string match -r '^([0-9A-Za-z_]+)\s+"(.*)"$' -- "$line") - # If have a matches, set the environment variable - if test (count $matches) -eq 3 - set -xg $matches[2] $matches[3] - end - end < "$env_config" - end -end diff --git a/config/shell/.config/fish/conf.d/10-sshs.fish b/config/shell/.config/fish/conf.d/10-sshs.fish deleted file mode 100644 index cd55667..0000000 --- a/config/shell/.config/fish/conf.d/10-sshs.fish +++ /dev/null @@ -1,21 +0,0 @@ -# ssh with encrypted private keys -# $ssh_keys should be set in advance or left empty to use the default keys - -if set -q ENABLE_GPG_AGENT_SSH; and test $ENABLE_GPG_AGENT_SSH != "0";\ - and type -q gpg-init; and type -q gpgconf - # GPG agent for SSH - bass $(gpg-init) > /dev/null 2>&1 - -else if type -q ssh-init; and type -q ssh-add - # SSH with cross-session ssh-agent - bass $(ssh-init) > /dev/null 2>&1 - - # avoid entering passphrase every time - function sshs - # test if keys are added to ssh-agent - if not ssh-add -l > /dev/null 2>&1 - ssh-add $ssh_keys - end - ssh $argv - end -end