diff --git a/glasshouse-desktop/home/default.nix b/glasshouse-desktop/home/default.nix index fd2f08c..68cafd6 100644 --- a/glasshouse-desktop/home/default.nix +++ b/glasshouse-desktop/home/default.nix @@ -17,5 +17,5 @@ ++ [ (import ./userpkgs.nix) ] ++ [ (import ./waybar) ] ++ [ (import ./eza.nix) ] - ++ [ (import ./zsh/zshell.nix) ]; + ++ [ (import ./zshell.nix) ]; } diff --git a/glasshouse-desktop/home/scripts/scripts/garbage-collect.sh b/glasshouse-desktop/home/scripts/scripts/garbage-collect.sh index 54877e6..b1fba95 100755 --- a/glasshouse-desktop/home/scripts/scripts/garbage-collect.sh +++ b/glasshouse-desktop/home/scripts/scripts/garbage-collect.sh @@ -5,7 +5,7 @@ echo "This will delete all unused paths in the nix store and delete any files in echo "\033[1;4;38;2;230;69;83mThis process is irreversible.\033[0m Are you sure?" select yn in "Yes" "No"; do case $yn in - Yes ) echo "Sweeping system...";runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;; + Yes ) echo "Sweeping system...";scheck && runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;; No ) echo "Canceling garbage collection."; return;; esac done @@ -18,4 +18,4 @@ rm_freed=$(echo "scale=2; $rm_freed / 1000" | bc) /run/current-system/sw/bin/rm -rfv ~/steamlib/.Trash-1000/files/* total_freed=$(echo "$nix_freed + $rm_freed" | bc) echo "System cleaning complete, freed $total_freed MiB in total" -runbg aplay "$HOME/media/sound/sys/rm.wav" +scheck && runbg aplay "$HOME/media/sound/sys/rm.wav" diff --git a/glasshouse-desktop/home/scripts/scripts/nixcommit.sh b/glasshouse-desktop/home/scripts/scripts/nixcommit.sh index 43a03a4..9c4a045 100755 --- a/glasshouse-desktop/home/scripts/scripts/nixcommit.sh +++ b/glasshouse-desktop/home/scripts/scripts/nixcommit.sh @@ -1,6 +1,6 @@ #!/run/current-system/sw/bin/bash -scheck && (aplay ~/sound/sys/nixswitch-start.wav > /dev/null 2>&1 &) +scheck && runbg aplay ~/media/sound/sys/nixswitch-start.wav builtin cd "$HOME/sysflakes" || exit nix flake update @@ -8,7 +8,7 @@ gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1 gen=$((gen + 1)) git diff --quiet -if mycmd; then +if [ $? -eq 0 ]; then echo "Nothing to commit" return fi diff --git a/glasshouse-desktop/home/scripts/scripts/nixswitch.sh b/glasshouse-desktop/home/scripts/scripts/nixswitch.sh index 7bdbc62..3f273a6 100755 --- a/glasshouse-desktop/home/scripts/scripts/nixswitch.sh +++ b/glasshouse-desktop/home/scripts/scripts/nixswitch.sh @@ -1,13 +1,13 @@ #!/run/current-system/sw/bin/bash -scheck && (aplay ~/sound/sys/nixswitch-start.wav > /dev/null 2>&1 &) +scheck && runbg aplay ~/media/sound/sys/nixswitch-start.wav builtin cd "$HOME/sysflakes" || exit nix flake update sudo nixos-rebuild switch --flake "$HOME/sysflakes#glasshouse" -if mycmd; then - s_check && (aplay ~/sound/sys/update.wav > /dev/null 2>&1 &) +if [ $? -eq 0 ]; then + scheck && runbg aplay ~/media/sound/sys/update.wav else - s_check && (aplay ~/sound/sys/error.wav > /dev/null 2>&1 &) + scheck && runbg aplay ~/media/sound/sys/error.wav fi builtin cd "$OLDPWD" || exit diff --git a/glasshouse-desktop/home/zsh/zshellold.nix b/glasshouse-desktop/home/zsh/zshellold.nix deleted file mode 100644 index 4646f50..0000000 --- a/glasshouse-desktop/home/zsh/zshellold.nix +++ /dev/null @@ -1,320 +0,0 @@ -{ - programs.zoxide = { - enable = true; - enableZshIntegration = true; - }; - programs.zsh = { - enable = true; - - sessionVariables = { - SOUNDS_ENABLED = "1"; - EDITOR = "/nixbin/nvim"; - SUDO_EDITOR = "/nixbin/nvim"; - VISUAL = "/nixbin/nvim"; - LANG = "en_US.UTF-8"; - BROWSER = "/nixbin/firefox"; - STARSHIP_CONFIG = /home/pagedmov/.config/starship/starship.toml; - FZF_DEFAULT_COMMAND = "find $HOME \( -path \"$HOME/.steam\" -o -path \"$HOME/.mozilla\" -o -path \"$HOME/go\" \) -prune -o -type f -print"; - GIT_TOKEN = "$(cat supersecret/git-token)"; - PROMPT_COMMAND = "if [[ $? != 0 ]]; then s_check && (aplay ~/sound/sys/error.wav 2> /dev/null &); fi"; - }; - - - oh-my-zsh = { - enable = true; - plugins = [ "git" "fzf" ]; - }; - - enableCompletion = true; - history = { - path = ".zsh_history"; - save = 10000; - size = 10000; - share = true; - }; - autosuggestion = { - enable = true; - highlight = "fg=#4C566A,underline"; - }; - - shellAliases = { - enterwifi = "nmtui-connect"; - grep = "grep --color=auto"; - v = "nvim"; - mv = "mv -v"; - cp = "cp -vr"; - rm = "safe_rm"; - grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg"; - mtar = "tar -zcvf"; # mtar ; - utar = "tar -zxvf"; # utar ; - z = "zip -r"; # z ; - uz = "unzip"; # uz -d ; - sr = "source ~/.zshrc"; - ".." = "cd .."; - psg = "ps aux | grep -v grep | grep -i -e VSZ -e" ; - mkdir = "mkdir -p"; - fm = "ranger"; - killjob = "kill -9 \$(jobs -l | awk '{print \$3}')"; - rmf = "fzf -m | xargs -ro rm"; - nwt = "ping google.com"; - wiki = "vimwiki"; - uwiki = "wiki_update"; - beep = "paplay $BEEP"; - pk = "pkill -9 -f"; - zrc = "nvim $HOME/sysflakes/glasshouse-desktop/modules/zshell.nix"; - vfind = "nvim_find"; - theme = "change_kitty_theme"; - navhelp = "navhelp | less"; - svc = "systemctl --user"; - hmswitch = "home-manager switch"; - hyprconf = "nvim $HOME/sysflakes/glasshouse-desktop/dotfiles/packages/hyprland/hyprland.conf"; - hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home.nix"; - nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/configuration.nix"; - viflake = "nvim flake.nix"; - nvimcfg = "ranger $HOME/sysflakes/glasshouse-desktop/dotfiles/packages/nixvim/"; - }; - - initExtraFirst = '' -export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH" -export PATH="$HOME/.nix-profile/bin:$PATH" -export UPDATE_ZSH_DAYS=7 -unalias ls - -# Uncomment the following line to enable command auto-correction. -ENABLE_CORRECTION="true" - -if [[ $- != *i* ]]; then - return -fi - - -typeset -g comppath="$HOME/.cache" -typeset -g compfile="$comppath/.zcompdump" - -if [[ -d "$comppath" ]]; then - [[ -w "$compfile" ]] || rm -rf "$compfile" >/dev/null 2>&1 -else - mkdir -p "$comppath" -fi - - - -preexec() { - cmdcounter="/tmp/cmdcounter_$(whoami)" - - if [[ ! -f "$cmdcounter" ]]; then - echo 0 > "$cmdcounter" - fi - - cmd_count="$(cat "$cmdcounter")" - - cmd_count=$((cmd_count + 1)) - - echo "$cmd_count" > "$cmdcounter" -} - -s_check() { [ $SOUNDS_ENABLED -eq 1 ] } - -snd_restart() { - echo -n "Restarting wireplumber service... " - systemctl --user restart wireplumber; code1=$? && echo "SUCCESS" || echo "FAILED" - [ $code1 -ne 0 ] && exit 1 - echo -n "Restarting pipewire service... " - systemctl --user restart pipewire; code2=$? && echo "SUCCESS" || echo "FAILED" - [ $code2 -ne 0 ] && exit 1 - echo "Audio services successfully restarted" -} - -vid_restart() { - echo -n "Restarting wireplumber service... " - systemctl --user restart wireplumber; code1=$? && echo "SUCCESS" || echo "FAILED" - [ $code1 -ne 0 ] && exit 1 - echo -n "Restarting pipewire service... " - systemctl --user restart pipewire; code2=$? && echo "SUCCESS" || echo "FAILED" - [ $code2 -ne 0 ] && exit 1 - echo -n "Restarting xdg-desktop-portal service... " - systemctl --user restart xdg-desktop-portal; code3=$? && echo "SUCCESS" || echo "FAILED" - [ $code3 -ne 0 ] && exit 1 - echo -n "Restarting xdg-desktop-portal-hyprland service... " - systemctl --user restart xdg-desktop-portal-hyprland; code4=$? && echo "SUCCESS" || echo "FAILED" - [ $code4 -ne 0 ] && exit 1 - echo "Video services successfully restarted" -} - -wiki_update() { - old_pwd=$(pwd) - cd ~/vimwiki > /dev/null - git pull - cd $old_pwd > /dev/null -} - -# Functions -ls() { - command ls --group-directories-first --color=always -F1 "$@" | sort -f -k1 - s_check && (aplay ~/sound/sys/ls.wav > /dev/null 2>&1 &) -} - -# cd and ls after -cd() { - export SOUNDS_ENABLED=0 - ls "$@" - builtin cd "$@" - export SOUNDS_ENABLED=1 - s_check && (aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &) -} -src() { - autoload -U zrecompile - rm -rf "$compfile"* - compinit -u -d "$compfile" - zrecompile -p "$compfile" - exec zsh -} - -mcd () { - mkdir -p $1 - cd $1 -} - -rc(){ - g++ "$1" -o run - ./run -} - -safe_rm() { - played_sound=false - for dir in "$@"; do - # Check if it's a file or directory - if [ -d "$dir" ] || [ -f "$dir" ]; then - # Get size of the directory or file - size=$(du -s "$dir" 2>/dev/null | awk '{print $1/1024}' | awk '{printf("%d\n", $1 + 0.5)}') - - # Count files (recursively if it's a directory) - files=$(find "$dir" | wc -l) - - check=false - is_file_or_dir=$([ -f "$dir" ] && echo 'file' || echo 'directory') - - # If there are many files, or the size is big, warn the user - if [ "$files" -gt 20 ]; then - echo "There's a lot of stuff in '$dir' ($files files) ." - check=true - fi - - if [ "$size" -gt 1024 ]; then - size_in_gb=$(echo "scale=2; $size / 1024" | bc -l) - echo "This $is_file_or_dir ('$dir') is kind of big ($size_in_gb GB)." - check=true - fi - - # Ask for confirmation only if necessary - if [ "$check" = true ]; then - echo "Are you sure you want to remove this $is_file_or_dir '$dir'? (y/n)" - read -r confirm - [ "$confirm" = "y" ] && (aplay ~/sound/sys/rm.wav > /dev/null 2>&1 &) - [ "$confirm" != "y" ] && (aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &) - fi - - # Perform the removal if no checks or confirmation is "y" - if [ "$check" = false ] || [ "$confirm" = "y" ]; then - /run/current-system/sw/bin/rm -rfv "$dir" - [[ "$played_sound" -eq "0" ]] && (aplay ~/sound/sys/rm.wav > /dev/null 2>&1 &) - played_sound=1 - else - echo "Operation cancelled for '$dir'." - fi - else - echo "'$dir' does not exist or is not accessible." - fi - done -} - -nixswitch() { - s_check && (aplay ~/sound/sys/nixswitch-start.wav > /dev/null 2>&1 &) - builtin cd "$HOME/sysflakes" - nix flake update - - gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1/') - gen=$((gen + 1)) - - git diff --quiet - if [ $? -eq 1 ]; then - git add . - git commit -m "Commit for generation $gen" - git push - fi - sudo nixos-rebuild switch --flake "$HOME/sysflakes#glasshouse" - if [ $? -eq 0 ]; then - s_check && (aplay ~/sound/sys/update.wav > /dev/null 2>&1 &) - else - s_check && (aplay ~/sound/sys/error.wav > /dev/null 2>&1 &) - fi - builtin cd $OLDPWD -} -journal() { - # journal for keeping track of stuff I do that isn't declared in my nix config - [ ! -f "$HOME/loose_ends" ] && touch "$HOME/loose_ends" - echo "$(date) - $1" >> "$HOME/loose_ends" -} -invoke() { nix run nixpkgs#"$@" } - - ''; - - initExtraBeforeCompInit = '' - source ~/sysflakes/glasshouse-desktop/home/zsh/zsh-style - ''; - initExtra = '' -if [ ! -e $HOME/.zsh_history ]; then - touch $HOME/.zsh_history - chmod 600 $HOME/.zsh_history -fi -HISTFILE=~/.zsh_history # The file where your history will be saved -HISTSIZE=10000 # The number of lines kept in memory -SAVEHIST=10000 # The number of lines kept in the history file -setopt APPEND_HISTORY # Append history to the history file (don't overwrite) -setopt INC_APPEND_HISTORY # Append to the history file incrementally -setopt SHARE_HISTORY # Share history between all zsh sessions -setopt CORRECT -setopt NO_NOMATCH -setopt LIST_PACKED -setopt ALWAYS_TO_END -setopt GLOB_COMPLETE -setopt COMPLETE_ALIASES -setopt COMPLETE_IN_WORD -setopt AUTO_CD -setopt AUTO_CONTINUE -setopt LONG_LIST_JOBS -setopt HIST_VERIFY -setopt SHARE_HISTORY -setopt HIST_IGNORE_SPACE -setopt HIST_SAVE_NO_DUPS -setopt HIST_IGNORE_ALL_DUPS -setopt EXTENDED_GLOB -setopt TRANSIENT_RPROMPT -setopt INTERACTIVE_COMMENTS - -autoload -U compinit # completion -autoload -U terminfo # terminfo keys -zmodload -i zsh/complist # menu completion -autoload -U promptinit # prompt - -autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search -autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search - - - -if [ "$TERM" = "linux" ] ; then - echo -en "\e]P0232323" -fi - -clear -source ~/sysflakes/glasshouse-desktop/home/zsh/zkbd -~/coding/scripts/splash.sh -eval "$(starship init zsh)" 2>/dev/null -s_check && (aplay ~/sound/sys/sh-source.wav > /dev/null 2>&1 &) - ''; - - # Options - - - }; -} diff --git a/glasshouse-desktop/home/zsh/zshell.nix b/glasshouse-desktop/home/zshell.nix similarity index 93% rename from glasshouse-desktop/home/zsh/zshell.nix rename to glasshouse-desktop/home/zshell.nix index 5c1e6ae..ddc91d8 100644 --- a/glasshouse-desktop/home/zsh/zshell.nix +++ b/glasshouse-desktop/home/zshell.nix @@ -51,7 +51,7 @@ psg = "ps aux | grep -v grep | grep -i -e VSZ -e" ; mkdir = "mkdir -p"; pk = "pkill -9 -f"; - zrc = "nvim $HOME/dots/zsh/zshell.nix"; + zrc = "nvim $HOME/dots/zshell.nix"; svcu = "systemctl --user"; svc = "sudo systemctl"; hyprconf = "nvim $HOME/dots/hyprland/config.nix"; @@ -65,7 +65,7 @@ unalias ls ls() { eza -1 --group-directories-first --icons "$@" - scheck && runbg aplay ~/sound/sys/ls.wav + scheck && runbg aplay ~/media/sound/sys/ls.wav } cd() { @@ -73,7 +73,7 @@ eza -1 --group-directories-first --icons "$@" builtin cd "$@" || exit export SOUNDS_ENABLED=1 - scheck && (aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &) + scheck && (aplay ~/media/sound/sys/cd.wav > /dev/null 2>&1 &) } if [ ! -e $HOME/.zsh_history ]; then touch $HOME/.zsh_history @@ -119,7 +119,7 @@ unalias ls clear splash - scheck && (aplay ~/sound/sys/sh-source.wav > /dev/null 2>&1 &) + scheck && runbg aplay ~/media/sound/sys/sh-source.wav ''; };