diff --git a/terminal/fish/config.fish b/terminal/fish/config.fish index 78d5834..6b0217a 100644 --- a/terminal/fish/config.fish +++ b/terminal/fish/config.fish @@ -1,196 +1,98 @@ +# Source completions and builtins if test -f ~/.config/fish/completions/glow.fish - source ~/.config/fish/completions/glow.fish -end - -if test -f ~/.config/fish/completions/glow.fish - source ~/.config/fish/completions/glow.fish -end - -if test -f ~/.config/fish/functions/builtins.fish - source ~/.config/fish/functions/builtins.fish +source ~/.config/fish/completions/glow.fish end if test -f ~/.config/fish/functions/commands.fish - source ~/.config/fish/functions/commands.fish +source ~/.config/fish/functions/commands.fish end - -# User specific aliases and functions - -# Function to update Discord -function updateDiscord - # The directory where the contents will be copied to - set target_dir ~/Discord - - # Find the tar.gz file following the naming pattern - set tar_file (find . -type f -name "discord-*.tar.gz" | head -n 1) - - # Check if the file was found - if test -z "$tar_file" - echo "No matching tar.gz file found." - return 1 - end - - # Extract the tar.gz file - tar -xzf "$tar_file" - - # Assuming the extracted content is a directory with a predictable name - set extracted_dir (string replace ".tar.gz" "" $tar_file) - - # Copy the extracted contents to the target directory, overwriting existing files - cp -rT "$extracted_dir" "$target_dir" - - rm "$tar_file" - - echo "Contents copied to $target_dir" +if test -f ~/.config/fish/functions/builtins.fish +source ~/.config/fish/functions/builtins.fish end -# Aliases -function submitty - bash ~/runsubmitty.sh -end - -function showinfo - bash ~/.customscripts/swaybackup/auto/shownotif.sh info $argv -end - -function sway - sway --unsupported-gpu -end - -function minecraft - portablemc start forge:1.20.1-recommended -l itamar137@outlook.com -end - -# Export paths and variables -set -x PATH ~/Downloads/flutter/bin $PATH +# ------------------------------------------------------------------------------ +# Environment variables & PATHs +# ------------------------------------------------------------------------------ +set -x PATH ~/Downloads/flutter/bin ~/Android/Sdk/platform-tools $PATH set -x PATH_TO_FX "~/javafx-sdk-22.0.1/lib" -set -x HISTCONTROL "shutdown *:ignoredups:erasedups" - -set -x CC /usr/bin/gcc -set -x CXX "/usr/bin/g++" -set -x EDITOR nvim - -# Clear history alias -function clearhist - builtin history clear -end - -function killvesktop - kill -9 $(ps aux | grep vesktop | grep -v grep | awk '{print $2}' | head -n 1) - ps aux | grep vesktop -end - -# GTK and theme-related exports -set -x GTK_THEME "Adwaita:dark" -set -x GTK2_RC_FILES "/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc" -set -x QT_STYLE_OVERRIDE Adwaita-Dark - -# SDKMAN set -x SDKMAN_DIR "$HOME/.sdkman" -if test -s "$HOME/.sdkman/bin/sdkman-init.sh" - source "$HOME/.sdkman/bin/sdkman-init.sh" -end - -# PNPM set -x PNPM_HOME "~/.local/share/pnpm" if not contains "$PNPM_HOME" $PATH - set -x PATH $PNPM_HOME $PATH +set -x PATH $PNPM_HOME $PATH end -alias postgres="pg_ctl -D /var/lib/postgres/data -l logfile start" -alias temperature="sensors" - - -# User specific functions - -# Function to update Discord -function updateDiscord - # The directory where the contents will be copied to - set target_dir ~/Discord - - # Find the tar.gz file following the naming pattern - set tar_file (find . -type f -name "discord-*.tar.gz" | head -n 1) - - # Check if the file was found - if test -z "$tar_file" - echo "No matching tar.gz file found." - return 1 - end - - # Extract the tar.gz file - tar -xzf "$tar_file" - - # Assuming the extracted content is a directory with a predictable name - set extracted_dir (string replace ".tar.gz" "" $tar_file) - - # Copy the extracted contents to the target directory, overwriting existing files - cp -rT "$extracted_dir" "$target_dir" - - rm "$tar_file" - - echo "Contents copied to $target_dir" -end - -# Aliases -function showinfo - bash ~/.customscripts/swaybackup/auto/shownotif.sh info $argv -end - -function sway - sway --unsupported-gpu -end - -function minecraft - portablemc start forge:1.20.1-recommended -l itamar137@outlook.com -end - -# Export paths and variables -set -x PATH ~/Downloads/flutter/bin $PATH -set -x PATH_TO_FX "~/javafx-sdk-22.0.1/lib" set -x HISTCONTROL "shutdown *:ignoredups:erasedups" - set -x CC /usr/bin/gcc -set -x CXX "/usr/bin/g++" -set -x EDITOR nvim +set -x CXX /usr/bin/g++ set -x CFLAGS "--sysroot=/usr/share/wasi-sysroot" - -# Clear history alias -function clearhist - builtin history clear -end - -function killvesktop - kill -9 $(ps aux | grep vesktop | grep -v grep | awk '{print $2}' | head -n 1) - ps aux | grep vesktop -end - -# GTK and theme-related exports -set -x GTK_THEME "Adwaita:dark" -set -x GTK2_RC_FILES "/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc" -set -x QT_STYLE_OVERRIDE Adwaita-Dark - -# SDKMAN -set -x SDKMAN_DIR "$HOME/.sdkman" -if test -s "$HOME/.sdkman/bin/sdkman-init.sh" - source "$HOME/.sdkman/bin/sdkman-init.sh" -end - -# PNPM -set -x PNPM_HOME "~/.local/share/pnpm" -if not contains "$PNPM_HOME" $PATH - set -x PATH $PNPM_HOME $PATH -end - -alias postgres="pg_ctl -D /var/lib/postgres/data -l logfile start" -alias temperature="sensors" +set -x EDITOR nvim set -gx PATH /opt/cuda/bin $PATH set -gx LD_LIBRARY_PATH /opt/cuda/lib64 $LD_LIBRARY_PATH -# colors -starship init fish | source +# GTK and Qt themes +set -x GTK_THEME "Adwaita:dark" +set -x GTK2_RC_FILES "/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc" +set -x QT_STYLE_OVERRIDE Adwaita-Dark -if test -f ~/.config/fish/conf.d/colors.fish - source ~/.config/fish/conf.d/colors.fish +# SDKMAN init +if test -s "$SDKMAN_DIR/bin/sdkman-init.sh" +source "$SDKMAN_DIR/bin/sdkman-init.sh" +end + +# ------------------------------------------------------------------------------ +# Aliases +# ------------------------------------------------------------------------------ +alias postgres="pg_ctl -D /var/lib/postgres/data -l logfile start" +alias temperature="sensors" + +# ------------------------------------------------------------------------------ +# Functions +# ------------------------------------------------------------------------------ +function clearhist +builtin history clear +end + +function killvesktop +kill -9 (ps aux | grep vesktop | grep -v grep | awk '{print $2}' | head -n 1) +ps aux | grep vesktop +end + +function updateDiscord +set target_dir ~/Discord +set tar_file (find . -type f -name "discord-*.tar.gz" | head -n 1) +if test -z "$tar_file" +echo "No matching tar.gz file found." +return 1 +end +tar -xzf "$tar_file" +set extracted_dir (string replace ".tar.gz" "" $tar_file) +cp -rT "$extracted_dir" "$target_dir" +rm "$tar_file" +echo "Contents copied to $target_dir" +end + +function submitty +bash ~/runsubmitty.sh +end + +function showinfo +bash ~/.customscripts/swaybackup/auto/shownotif.sh info $argv +end + +function sway +sway --unsupported-gpu +end + +function minecraft +portablemc start forge:1.20.1-recommended -l itamar137@outlook.com +end + +# ------------------------------------------------------------------------------ +# Prompt & colors +# ------------------------------------------------------------------------------ +starship init fish | source +if test -f ~/.config/fish/conf.d/colors.fish +source ~/.config/fish/conf.d/colors.fish end diff --git a/terminal/fish/fish_variables b/terminal/fish/fish_variables index ef168e6..4c50309 100644 --- a/terminal/fish/fish_variables +++ b/terminal/fish/fish_variables @@ -1,7 +1,7 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 SETUVAR VIRTUAL_ENV_DISABLE_PROMPT:true -SETUVAR __fish_initialized:3400 +SETUVAR __fish_initialized:3800 SETUVAR _fisher_upgraded_to_4_4:\x1d SETUVAR fish_color_autosuggestion:brblack SETUVAR fish_color_cancel:\x2dr diff --git a/terminal/fish/functions/builtins.fish b/terminal/fish/functions/builtins.fish index fe56f33..92dba67 100644 --- a/terminal/fish/functions/builtins.fish +++ b/terminal/fish/functions/builtins.fish @@ -1,15 +1,57 @@ function animate_typing - set message $argv - echo -e $message | pv -qL 30 + set message $argv + echo -e $message | pv -qL 30 end - function fish_greeting - toilet FIMSH! - # one for the display manager, one user one - if test (count (pgrep -x fish)) -eq 2 - animate_typing "\e[38;5;207m❥ Welcome to your Fish shell! \e[0m" - else - echo -e "\e[38;5;207m❥ Welcome to your Fish shell! \e[0m" - end + # added the default welcome messafe to the shorter list + set -l sarcastic \ + "Welcome to your Fish shell!" \ + "Oh joy, another terminal session…" \ + "Brace yourself, it's gonna be a thrilling day." \ + "Hope you brought coffee for this adventure…" \ + "Did you commit that to prod yet?" \ + "404: motivation not found." \ + "Ctrl+C to stop procrastination? Good luck." \ + "Remember: semicolons matter." + + set -l cute \ + "OWO hai!" \ + "didge you know um uhh um......I forgor qwq" \ + "one time I went to the store to buy a shormk but they didn't have the big one so I cried but THEN the employee went to the back and got me a big one!!!" \ + "You're the semicolon in my life; you complete me." \ + "May your loops never break." \ + "You auto‑complete my heart." \ + "Hope your day compiles without errors!" \ + "Error 418: I'm a teapot, but I pour you coffee." \ + "Keep calm and git commit." \ + "Roses are red, violets are blue, my CPU overclocks only for you." \ + "You’re the missing semicolon that makes my code compile." \ + "Our bond is stronger than SSL encryption." \ + "Life without you is like a null pointer—undefined!" \ + "You’re the 1 in my binary." \ + "Your smile debugs all my errors." \ + "Every moment with you is O(log n) sweet." \ + "You make my heart execute in constant time." \ + "You are the ping to my pong." \ + "Together we’re a perfect merge commit." \ + "You've got the key to my encryption." \ + "My favorite language is the language of your laugh." \ + "Our love is more durable than immutable objects." + + # pick either sarcastic (0) or cute (1) + set -l rc (random 0 1) + if test $rc -eq 0 + set msg (random choice $sarcastic) + else + set msg (random choice $cute) + end + + toilet FIMSH! + if test (count (pgrep -x fish)) -eq 2 + animate_typing "\e[38;5;207m❥ $msg\e[0m" + else + echo -e "\e[38;5;207m❥ $msg\e[0m" + end end +