diff options
author | zachir <zachir@librem.one> | 2025-07-23 08:34:12 -0500 |
---|---|---|
committer | zachir <zachir@librem.one> | 2025-07-23 08:34:12 -0500 |
commit | 256f1b70ccf0281a14615cc44d6b3f208ef42993 (patch) | |
tree | 7ec2c150444d94471b37f6d73dbb673fd67c386f | |
parent | 9bd07c96112f8321bc233cb16dac0d8b20074125 (diff) | |
parent | 8888b075373c9126882a8b7c50a654fb663bd206 (diff) |
Merge branch 'master' into cas
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | hypr/hyprland.conf | 95 | ||||
-rw-r--r-- | hypr/hyprscratch.conf | 125 | ||||
-rw-r--r-- | hypr/pyprland.toml | 98 | ||||
-rw-r--r-- | zsh/.zshrc | 90 |
5 files changed, 208 insertions, 213 deletions
@@ -7,13 +7,18 @@ all: install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim -install-hyprplugins: +install-hyprplugins: install-hyprsplit install-hyprland-plugins + +install-hyprsplit: @echo "Installing hyprsplit..." - @hyprpm add https://github.com/shezdy/hyprsplit - @echo "Installing hyprland-plugins..." - @hyprpm add https://github.com/hyprwm/hyprland-plugins + @hyprpm add https://github.com/shezdy/hyprsplit || echo "Already installed!" @echo "Enabling hyprsplit..." @hyprpm enable hyprsplit + @echo "Done." + +install-hyprland-plugins: + @echo "Installing hyprland-plugins..." + @hyprpm add https://github.com/hyprwm/hyprland-plugins || echo "Already installed!" @echo "Enabling hyprscrolling..." @hyprpm enable hyprscrolling @echo "Done." diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 2d5867c..357ff9b 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -15,6 +15,7 @@ exec-once = xdph #exec-once = hypridle exec-once = waybar exec-once = pypr +exec-once = hyprscratch init exec-once = lxqt-policykit-agent exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest-Solid' exec-once = import-gsettings icon-theme 'COSMIC' @@ -271,10 +272,10 @@ bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING bind = $mainMod+SHIFT, J, layoutmsg, colresize -conf #HYPRSCROLLING bind = $mainMod+SHIFT, K, layoutmsg, colresize +conf #HYPRSCROLLING -bind = $mainMod, H, movefocus, l #HYPRSCROLLING -bind = $mainMod, J, movefocus, u #HYPRSCROLLING -bind = $mainMod, K, movefocus, d #HYPRSCROLLING -bind = $mainMod, L, movefocus, r #HYPRSCROLLING +bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING +bind = $mainMod, J, layoutmsg, focus u #HYPRSCROLLING +bind = $mainMod, K, layoutmsg, focus d #HYPRSCROLLING +bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING #}}} @@ -424,80 +425,18 @@ bind = $mainMod, Comma, exec, acpi-notify.sh #}}} #{{{ Scratchpads -bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop -$sphtop = class:^(sphtop)$ -windowrule = float,$sphtop -windowrule = workspace special:sphtop silent,$sphtop -windowrule = size 50% 50%,$sphtop -windowrule = move 25% 25%,$sphtop -bind = $mainMod CONTROL, X, exec, pypr toggle spterm -$spterm = class:^(spterm)$ -windowrule = float,$spterm -windowrule = workspace special:spterm silent,$spterm -windowrule = size 50% 50%,$spterm -windowrule = move 25% 25%,$spterm -bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr -$sppmxr = class:^(sppmxr)$ -windowrule = float,$sppmxr -windowrule = workspace special:sppmxr silent,$sppmxr -windowrule = size 50% 50%,$sppmxr -windowrule = move 25% 25%,$sppmxr -bind = $mainMod CONTROL, V, exec, pypr toggle spblue -$spblue = class:^(spblue)$ -windowrule = float,$spblue -windowrule = workspace special:spblue silent,$spblue -windowrule = size 50% 50%,$spblue -windowrule = move 25% 25%,$spblue -bind = $mainMod CONTROL, B, exec, pypr toggle spncmp -$spncmp = class:^(spncmp)$ -windowrule = float,$spncmp -windowrule = workspace special:spncmp silent,$spncmp -windowrule = size 50% 50%,$spncmp -windowrule = move 25% 25%,$spncmp -bind = $mainMod CONTROL, A, exec, pypr toggle spmutt -$spmutt = class:^(spmutt)$ -windowrule = float,$spmutt -windowrule = workspace special:spmutt silent,$spmutt -windowrule = size 50% 50%,$spmutt -windowrule = move 25% 25%,$spmutt -bind = $mainMod CONTROL, S, exec, pypr toggle spprof -$spprof = class:^(spprof)$ -windowrule = float,$spprof -windowrule = workspace special:spprof silent,$spprof -windowrule = size 50% 50%,$spprof -windowrule = move 25% 25%,$spprof -bind = $mainMod CONTROL, D, exec, pypr toggle spirss -$spirss = class:^(spirss)$ -windowrule = float,$spirss -windowrule = workspace special:spirss silent,$spirss -windowrule = size 50% 50%,$spirss -windowrule = move 25% 25%,$spirss -bind = $mainMod CONTROL, F, exec, pypr toggle sptodo -$sptodo = class:^(sptodo)$ -windowrule = float,$sptodo -windowrule = workspace special:sptodo silent,$sptodo -windowrule = size 50% 50%,$sptodo -windowrule = move 25% 25%,$sptodo -bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc -$sptrmc = class:^(sptrmc)$ -windowrule = float,$sptrmc -windowrule = workspace special:sptrmc silent,$sptrmc -windowrule = size 50% 50%,$sptrmc -windowrule = move 25% 25%,$sptrmc - -bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph -$spqpwg = class:^(org\.rncbc\.qpwgraph)$ -windowrule = float,$spqpwg -windowrule = workspace special:spqpwg silent,$spqpwg -windowrule = size 50% 50%,$spqpwg -windowrule = move 25% 25%,$spqpwg - -bind = $mainMod CONTROL, E, togglespecialworkspace, speasy -$speasy = class:^(com\.github\.wwmm\.easyeffects)$ -windowrule = float,$speasy -windowrule = workspace special:speasy silent,$speasy -windowrule = size 50% 50%,$speasy -windowrule = move 25% 25%,$speasy +bind = $mainMod CONTROL, Z, exec, hyprscratch toggle sphtop +bind = $mainMod CONTROL, X, exec, hyprscratch toggle spterm +bind = $mainMod CONTROL, C, exec, hyprscratch toggle sppmxr +bind = $mainMod CONTROL, V, exec, hyprscratch toggle spblue +bind = $mainMod CONTROL, B, exec, hyprscratch toggle spncmp +bind = $mainMod CONTROL, A, exec, hyprscratch toggle spmutt +bind = $mainMod CONTROL, S, exec, hyprscratch toggle spprof +bind = $mainMod CONTROL, D, exec, hyprscratch toggle spirss +bind = $mainMod CONTROL, F, exec, hyprscratch toggle sptodo +bind = $mainMod CONTROL, G, exec, hyprscratch toggle sptrmc +bind = $mainMod CONTROL, Q, exec, hyprscratch toggle helvum +bind = $mainMod CONTROL, E, exec, hyprscratch toggle easyeffects #}}} #{{{ OBS bindings diff --git a/hypr/hyprscratch.conf b/hypr/hyprscratch.conf new file mode 100644 index 0000000..ce73d98 --- /dev/null +++ b/hypr/hyprscratch.conf @@ -0,0 +1,125 @@ +# Optional globals that apply to all scratchpads +daemon_options = clean + +global_rules = size 50% 50% + +sphtop { + # Mandatory fields + title = sphtop + command = st -t sphtop htop + + # Optional fields + options = lazy + options = special +} + +spterm { + # Mandatory fields + title = spterm + command = st -t spterm + + # Optional fields + options = lazy + options = special +} + +sppmxr { + # Mandatory fields + title = sppmxr + command = st -t sppmxr pulsemixer + + # Optional fields + options = lazy + options = special +} + +spblue { + # Mandatory fields + title = spblue + command = st -t spblue bluetoothctl + + # Optional fields + options = lazy + options = special +} + +spncmp { + # Mandatory fields + title = spncmp + command = st -t spncmp ncmpcpp + + # Optional fields + options = lazy + options = special +} + +spmutt { + # Mandatory fields + title = spmutt + command = st -t spmutt neomutt + + # Optional fields + options = lazy + options = special +} + +spprof { + # Mandatory fields + title = spprof + command = st -t spprof profanity + + # Optional fields + options = lazy + options = special +} + +spirss { + # Mandatory fields + title = spirss + command = st -t spirss irssi + + # Optional fields + options = lazy + options = special +} + +sptodo { + # Mandatory fields + title = sptodo + command = st -t sptodo todo + + # Optional fields + options = lazy + options = special +} + +sptrmc { + # Mandatory fields + title = sptrmc + command = st -t sptrmc tremc + + # Optional fields + options = lazy + options = special +} + +helvum { + # Mandatory fields + title = Helvum - Pipewire Patchbay + command = helvum + + # Optional fields + options = lazy + options = special +} + +easyeffects { + # Mandatory fields + title = Easy Effects + command = easyeffects + + # Optional fields + options = lazy + options = special +} + diff --git a/hypr/pyprland.toml b/hypr/pyprland.toml index 038e8dc..cacd7f1 100644 --- a/hypr/pyprland.toml +++ b/hypr/pyprland.toml @@ -1,103 +1,5 @@ [pyprland] plugins = [ - "scratchpads", "toggle_special", "expose" ] - -[scratchpads.sphtop] -animation = "" -command = "st -c sphtop htop" -class = "sphtop" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spterm] -animation = "" -command = "st -c spterm" -class = "spterm" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sppmxr] -animation = "" -command = "st -c sppmxr pulsemixer" -class = "sppmxr" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spblue] -animation = "" -command = "st -c spblue bluetoothctl" -class = "spblue" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spncmp] -animation = "" -command = "st -c spncmp ncmpcpp" -class = "spncmp" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spmutt] -animation = "" -command = "st -c spmutt neomutt" -class = "spmutt" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spprof] -animation = "" -command = "st -c spprof profanity" -class = "spprof" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.spirss] -animation = "" -command = "st -c spirss irssi" -class = "spirss" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sptodo] -animation = "" -command = "st -c sptodo todo" -class = "sptodo" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.sptrmc] -animation = "" -command = "st -c sptrmc tremc" -class = "sptremc" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.qpwgraph] -animation = "" -command = "helvum" -class = "org.pipewire.Helvum" -lazy = true -size = "50% 50%" -position = "25% 25%" - -[scratchpads.easyeffects] -animation = "" -command = "flatpak run com.github.wwmm.easyeffects" -class = "com.github.wwmm.easyeffects" -lazy = true -size = "75% 75%" -position = "25% 25%" -unfocus = "hide" @@ -1,16 +1,4 @@ #zmodload zsh/zprof -if [ -n "$ZPLUG_HOME" ]; then - if [ -d "$ZPLUG_HOME" ]; then - export ZPLUG_INSTALLED="y" - source "$ZPLUG_HOME/init.zsh" - fi -elif [ -d "$XDG_DATA_HOME/zplug" ]; then - export ZPLUG_INSTALLED="y" - source "$XDG_DATA_HOME/zplug/init.zsh" -elif [ -d "$HOME/.zplug" ]; then - export ZPLUG_INSTALLED="y" - source "$HOME/.zplug/init.zsh" -fi [ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" HISTFILE="$XDG_CONFIG_HOME/zsh/hist" SAVEHIST=1000 @@ -68,33 +56,69 @@ zle -N zle-line-init zle -N zle-keymap-select export KEYTIMEOUT=1 -#fpath+="$XDG_CONFIG_HOME/zsh/zfunc" - -if [ -n "$ZPLUG_INSTALLED" ]; then - # zsh history substring search - zplug "zsh-users/zsh-history-substring-search", as:plugin - - bindkey "${key[Up]}" history-substring-search-up - bindkey "${key[Down]}" history-substring-search-down - bindkey -M vicmd "${key[Up]}" history-substring-search-up - bindkey -M vicmd "${key[Down]}" history-substring-search-down - bindkey -M vicmd "k" history-substring-search-up - bindkey -M vicmd "j" history-substring-search-down - - # zsh syntax highlighting - zplug "zsh-users/zsh-syntax-highlighting", defer:2 - - # load zsh plugins - zplug load -fi +fpath+="$XDG_CONFIG_HOME/zsh/functions" + +autoload -Uz anonsh autoload -Uz compinit if [[ -n ${ZDOTDIR}/.zcompdump(#qN.mh+24) ]]; then compinit else - compinit -C; -fi; + compinit -C +fi + +zshcache_time="$(date +%s%N)" + +autoload -Uz add-zsh-hook + +rehash_precmd() { + if [[ -a /var/cache/zsh/pacman ]]; then + local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)" + if (( zshcache_time < paccache_time )); then + rehash + zshcache_time="$paccache_time" + fi + fi +} + +add-zsh-hook -Uz precmd rehash_precmd zstyle ':completion:*' hosts off +### Added by Zinit's installer +if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then + print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" + command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" + command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \ + print -P "%F{33} %F{34}Installation successful.%f%b" || \ + print -P "%F{160} The clone has failed.%f%b" +fi + +source "$HOME/.local/share/zinit/zinit.git/zinit.zsh" +autoload -Uz _zinit +(( ${+_comps} )) && _comps[zinit]=_zinit + +# Load a few important annexes, without Turbo +# (this is currently required for annexes) +zinit light-mode for \ + zdharma-continuum/zinit-annex-as-monitor \ + zdharma-continuum/zinit-annex-bin-gem-node \ + zdharma-continuum/zinit-annex-patch-dl \ + zdharma-continuum/zinit-annex-rust + +### End of Zinit's installer chunk +zinit snippet OMZ::plugins/git/git.plugin.zsh + +zinit load 'zsh-users/zsh-history-substring-search' +zinit ice wait atload'_history_substring_search_config' + +bindkey "${key[Up]}" history-substring-search-up +bindkey "${key[Down]}" history-substring-search-down +bindkey -M vicmd "${key[Up]}" history-substring-search-up +bindkey -M vicmd "${key[Down]}" history-substring-search-down +bindkey -M vicmd "k" history-substring-search-up +bindkey -M vicmd "j" history-substring-search-down + +#source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +zinit light zsh-users/zsh-syntax-highlighting #zprof |