summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2025-07-23 08:34:12 -0500
committerzachir <zachir@librem.one>2025-07-23 08:34:12 -0500
commit256f1b70ccf0281a14615cc44d6b3f208ef42993 (patch)
tree7ec2c150444d94471b37f6d73dbb673fd67c386f
parent9bd07c96112f8321bc233cb16dac0d8b20074125 (diff)
parent8888b075373c9126882a8b7c50a654fb663bd206 (diff)
Merge branch 'master' into cas
-rw-r--r--Makefile13
-rw-r--r--hypr/hyprland.conf95
-rw-r--r--hypr/hyprscratch.conf125
-rw-r--r--hypr/pyprland.toml98
-rw-r--r--zsh/.zshrc90
5 files changed, 208 insertions, 213 deletions
diff --git a/Makefile b/Makefile
index 3d220be..12854c4 100644
--- a/Makefile
+++ b/Makefile
@@ -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"
diff --git a/zsh/.zshrc b/zsh/.zshrc
index 791b5d1..4ca4d31 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -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