From 460d9bb18094c265c4c09bece440518f5d0b6a21 Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Thu, 25 Sep 2025 12:08:21 -0400 Subject: [PATCH] feat: Fixes zsh history not saving, some hyprland config updates. --- hypr/hyprland.conf | 16 ++++--------- hypr/keybinds.conf | 4 ++++ scripts/install-pkg-arch.sh | 12 ++++++---- zsh/config/.zshrc | 46 +++---------------------------------- 4 files changed, 20 insertions(+), 58 deletions(-) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index c33c941..2fc39f7 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -112,21 +112,15 @@ animations { animation = workspacesOut, 1, 1.94, almostLinear, fade } -# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ -# "Smart gaps" / "No gaps when only" -# uncomment all if you wish to use that. -# workspace = w[tv1], gapsout:0, gapsin:0 -# workspace = f[1], gapsout:0, gapsin:0 -# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] -# windowrule = rounding 0, floating:0, onworkspace:w[tv1] -# windowrule = bordersize 0, floating:0, onworkspace:f[1] -# windowrule = rounding 0, floating:0, onworkspace:f[1] - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { - pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + SHIFT + P in the keybinds section below preserve_split = true # You probably want this force_split = 2 # always split to the right or bottom + split_width_multiplier = 1.25 + use_active_for_splits = false + default_split_ratio = 1.25 + split_bias = 0 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more diff --git a/hypr/keybinds.conf b/hypr/keybinds.conf index d31a749..0063d46 100644 --- a/hypr/keybinds.conf +++ b/hypr/keybinds.conf @@ -22,6 +22,9 @@ $pwa = ~/.local/bin/launch-webapp # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +# NOTE: TUI's / window rules aren't working with ghostty when you try to target the class +# or title so those should be opened with kitty until I can figure out what's happening. + # Apps bind = $mainMod, Space, exec, $menu # launcher (set above) bind = $mainMod, Return, exec, $terminal @@ -39,6 +42,7 @@ bind = $mainMod, G, exec, $pwa "https://git.housh.dev" bind = $mainMod, M, exec, ~/.local/bin/toggle-waybar bind = $mainMod, N, exec, $terminal -e nvim bind = $mainMod, P, exec, $pwa "https://pass.proton.me" +bind = $mainMod SHIFT, P, pseudo, # dwindle bind = $mainMod, Y, exec, $pwa "https://youtube.com" bind = $mainMod, V, exec, kitty --class clipse -e clipse bind = $mainMod, W, killactive, diff --git a/scripts/install-pkg-arch.sh b/scripts/install-pkg-arch.sh index 2c9fb29..39efc33 100755 --- a/scripts/install-pkg-arch.sh +++ b/scripts/install-pkg-arch.sh @@ -2,10 +2,14 @@ # Installs required packages / applications when setting up a new # arch linux with hyprland machine. -# -# TODO: I started this after a machine was already setup, so this may -# need to be revisited to ensure packages installed before this -# script started are included. + +if ! command -v yay >/dev/null 2>&1; then + sudo pacman -S --noconfirm --needed git base-devel + git clone https://aur.archlinux.org/yay.git ~/yay + cd ~/yay + makepkg -si + rm -rf ~/yay +fi # Basics yay -S --noconfirm --needed \ diff --git a/zsh/config/.zshrc b/zsh/config/.zshrc index 7ee9434..7100c39 100755 --- a/zsh/config/.zshrc +++ b/zsh/config/.zshrc @@ -11,47 +11,6 @@ _source_if() { test -r "$1" && source "$1" || return 0 } -# few terminal keybinds -bindkey -e - -typeset -A key - -key[Home]=${terminfo[khome]} -key[End]=${terminfo[kend]} -key[Insert]=${terminfo[kich1]} -key[Delete]=${terminfo[kdch1]} -key[Up]=${terminfo[kcuu1]} -key[Down]=${terminfo[kcud1]} -key[Left]=${terminfo[kcub1]} -key[Right]=${terminfo[kcuf1]} -key[PageUp]=${terminfo[kpp]} -key[PageDown]=${terminfo[knp]} - -# setup key accordingly -[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line -[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line -[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode -[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char -[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history -[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history -[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char -[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char - -# Finally, make sure the terminal is in application mode, when zle is -# active. Only then are the values from $terminfo valid. -if [[ -n ${terminfo[smkx]} ]] && [[ -n ${terminfo[rmkx]} ]]; then - function zle-line-init () { - echoti smkx - } - function zle-line-finish () { - echoti rmkx - } - zle -N zle-line-init - zle -N zle-line-finish -fi - -zle -N fake-enter; bindkey "^X^H" fake-enter - #------------------------------ exports ------------------------------ autoload -U up-line-or-beginning-search autoload -U down-line-or-beginning-search @@ -129,8 +88,9 @@ setopt hist_reduce_blanks # do not store blank lines. setopt histignorespace # do not store commands that start with a space in history export HISTSIZE=5000 -export HISTFILESIZE=10000 -export HISTFILE=$ZDOTDIR/history +export HISTFILESIZE=5000 +export SAVEHIST=5000 +export HISTFILE="$XDG_CONFIG_HOME/zsh/history" #set -o vi