diff options
-rw-r--r-- | Makefile | 20 | ||||
-rw-r--r-- | hypr/hyprland.conf | 93 | ||||
-rw-r--r-- | hypr/pyprland.toml | 2 | ||||
-rw-r--r-- | mpd/mpd.conf | 15 | ||||
-rw-r--r-- | qt6ct/qt6ct.conf | 4 | ||||
-rw-r--r-- | sh/profile | 2 | ||||
-rw-r--r-- | waybar/config | 2 | ||||
-rw-r--r-- | zsh/.zshenv (renamed from zsh/zshenv) | 0 | ||||
-rw-r--r-- | zsh/.zshrc | 122 | ||||
-rw-r--r-- | zsh/zshrc | 96 |
10 files changed, 234 insertions, 122 deletions
@@ -5,7 +5,23 @@ DCONFS := doas.conf all: -install: install-zshconfigs install-shconfigs vimplug-vim +install: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim + +install-hyprplugins: install-hyprsplit install-hyprland-plugins + +install-hyprsplit: + @echo "Installing hyprsplit..." + @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." install-zshconfigs: $(ZCONFS) @echo "Installing zsh conf files..." @@ -34,3 +50,5 @@ doas-conf: $(DCONFS) @echo "doas.conf..." @sudo cp -n doas.conf /etc/doas.conf @echo "Done." + +.PHONY: install-hyprplugins install-zshconfigs install-shconfigs vimplug-vim doas-conf install diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index d45c3f3..80848af 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -8,8 +8,8 @@ monitor = , preferred, auto, 1 #{{{ Autostart # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox -exec-once = xdph exec-once = hyprpm reload -n +exec-once = xdph exec-once = hyprpaper #exec-once = hypridle exec-once = waybar @@ -89,7 +89,7 @@ general { #col.inactive_border = rgba(595959aa) col.active_border = rgba(198844ee) col.inactive_border = rgba(1b1d1cee) - layout = master + layout = scrolling } #}}} @@ -174,6 +174,16 @@ master { } #}}} +#{{{ Hyprscrolling layout options +plugin:hyprscrolling { + fullscreen_on_one_column = true + column_width = 0.5 + explicit_column_widths = 0.333, 0.5, 0.667, 1.0 + focus_fit_method = 1 + follow_focus = true +} +#}}} + #{{{ Gestures options gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more @@ -228,18 +238,33 @@ $secdMod = ALT #}}} #{{{ Master layout binds -# Master layout binds -bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER -bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER -bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER -bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER -bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER -binde = $mainMod, J, layoutmsg, cyclenext #MASTER -binde = $mainMod, K, layoutmsg, cycleprev #MASTER -binde = $mainMod, H, splitratio, -0.01 #MASTER -binde = $mainMod, L, splitratio, +0.01 #MASTER -bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER -bind = $mainMod, O, splitratio, exact 0.69 #MASTER +## Master layout binds +#bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER +#bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER +#bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER +#bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER +#bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER +#binde = $mainMod, J, layoutmsg, cyclenext #MASTER +#binde = $mainMod, K, layoutmsg, cycleprev #MASTER +#binde = $mainMod, H, splitratio, -0.01 #MASTER +#binde = $mainMod, L, splitratio, +0.01 #MASTER +#bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER +#bind = $mainMod, O, splitratio, exact 0.69 #MASTER +#}}} + +#{{{ hyprscrolling layout binds +# hyprscrolling layout binds +#bind = $mainMod+SHIFT, H, layoutmsg, move -1 #HYPRSCROLLING +#bind = $mainMod+SHIFT, L, layoutmsg, move +1 #HYPRSCROLLING +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+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING #}}} #{{{ Group binds @@ -268,7 +293,7 @@ bind = $mainMod, N, exec, pypr toggle_special bind = $mainMod SHIFT, N, togglespecialworkspace, minimized #}}} -#{{{ Workspace binds (using split-monitor-workspaces plugin!) +#{{{ Workspace binds (using hyprsplit plugin!) # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, split:workspace, 1 bind = $mainMod, 2, split:workspace, 2 @@ -307,6 +332,42 @@ bind = $mainMod SHIFT, comma, movewindow, mon:-1 bind = $mainMod SHIFT, period, movewindow, mon:+1 #}}} +#{{{ Workspace binds (not using hyprsplit plugin) +## Switch workspaces with mainMod + [0-9] +#bind = $mainMod, 1, workspace, 1 +#bind = $mainMod, 2, workspace, 2 +#bind = $mainMod, 3, workspace, 3 +#bind = $mainMod, 4, workspace, 4 +#bind = $mainMod, 5, workspace, 5 +#bind = $mainMod, 6, workspace, 6 +#bind = $mainMod, 7, workspace, 7 +#bind = $mainMod, 8, workspace, 8 +#bind = $mainMod, 9, workspace, 9 +## Move active window to a workspace with mainMod + SHIFT + [0-9] +#bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 +#bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 +#bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 +#bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 +#bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 +#bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 +#bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 +#bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 +#bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 +#bind = $mainMod CONTROL SHIFT, 1, movetoworkspace, 1 +#bind = $mainMod CONTROL SHIFT, 2, movetoworkspace, 2 +#bind = $mainMod CONTROL SHIFT, 3, movetoworkspace, 3 +#bind = $mainMod CONTROL SHIFT, 4, movetoworkspace, 4 +#bind = $mainMod CONTROL SHIFT, 5, movetoworkspace, 5 +#bind = $mainMod CONTROL SHIFT, 6, movetoworkspace, 6 +#bind = $mainMod CONTROL SHIFT, 7, movetoworkspace, 7 +#bind = $mainMod CONTROL SHIFT, 8, movetoworkspace, 8 +#bind = $mainMod CONTROL SHIFT, 9, movetoworkspace, 9 +#bind = $mainMod, comma, focusmonitor, -1 +#bind = $mainMod, period, focusmonitor, +1 +#bind = $mainMod SHIFT, comma, movewindow, mon:-1 +#bind = $mainMod SHIFT, period, movewindow, mon:+1 +#}}} + #{{{ Mouse binds # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow @@ -341,7 +402,7 @@ bind = $mainMod $secdMod, P, exec, passmenu #{{{ Misc bindings bind = $mainMod, Return, exec, st -bind = $mainMod $secdMod, F, exec, st lfrun +bind = $mainMod $secdMod, F, exec, st lf bind = $mainMod, W, exec, pkill -USR1 waybar bind = $mainMod, Q, exec, loginctl lock-session bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend diff --git a/hypr/pyprland.toml b/hypr/pyprland.toml index 038e8dc..5c1d343 100644 --- a/hypr/pyprland.toml +++ b/hypr/pyprland.toml @@ -85,7 +85,7 @@ lazy = true size = "50% 50%" position = "25% 25%" -[scratchpads.qpwgraph] +[scratchpads.helvum] animation = "" command = "helvum" class = "org.pipewire.Helvum" diff --git a/mpd/mpd.conf b/mpd/mpd.conf index e26dbd1..755f1c8 100644 --- a/mpd/mpd.conf +++ b/mpd/mpd.conf @@ -275,11 +275,18 @@ input { # # An example of a pulseaudio output (streaming to a remote pulseaudio server) # +#audio_output { +# type "pulse" +# name "My Pulse Output" +## server "remote_server" # optional +## sink "remote_server_sink" # optional +#} +# +# Pipewire output +# audio_output { - type "pulse" - name "My Pulse Output" -# server "remote_server" # optional -# sink "remote_server_sink" # optional + type "pipewire" + name "Pipewire Sound Server" } audio_output { diff --git a/qt6ct/qt6ct.conf b/qt6ct/qt6ct.conf index 5d9a12c..3dce998 100644 --- a/qt6ct/qt6ct.conf +++ b/qt6ct/qt6ct.conf @@ -1,6 +1,6 @@ [Appearance] -color_scheme_path=/usr/share/qt6ct/colors/airy.conf -custom_palette=false +color_scheme_path=/home/zachir/.config/qt6ct/style-colors.conf +custom_palette=true icon_theme=Cosmic standard_dialogs=gtk2 style=qt6gtk2 @@ -40,7 +40,7 @@ export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc -#export ZDOTDIR=$HOME/.config/zsh +export ZDOTDIR=$HOME/.config/zsh export CARGO_HOME="$XDG_DATA_HOME"/cargo export RUSTUP_HOME="$XDG_DATA_HOME"/rustup export WEECHAT_HOME="$XDG_CONFIG_HOME"/weechat diff --git a/waybar/config b/waybar/config index 5d9c35f..c7830c6 100644 --- a/waybar/config +++ b/waybar/config @@ -1,5 +1,5 @@ { - "layer": "top", + "layer": "bottom", "position": "top", "height": 36, "output": "eDP-1", diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..e08bb20 --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,122 @@ +#zmodload zsh/zprof +[ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" +HISTFILE="$XDG_CONFIG_HOME/zsh/hist" +SAVEHIST=1000 +HISTSIZE=1000 +setopt APPEND_HISTORY +setopt HIST_FIND_NO_DUPS +setopt HIST_EXPIRE_DUPS_FIRST +setopt HIST_VERIFY +setopt HIST_IGNORE_DUPS +setopt INC_APPEND_HISTORY +setopt HIST_REDUCE_BLANKS +setopt COMPLETE_ALIASES +setopt AUTO_CD + +_SH="zsh" + +if [ -f "$XDG_CONFIG_HOME"/sh/aliases ]; then + source "$XDG_CONFIG_HOME"/sh/aliases +fi +if [ -f "$XDG_CONFIG_HOME"/sh/functions ]; then + source "$XDG_CONFIG_HOME"/sh/functions +fi + +if [ -f "$XDG_CONFIG_HOME/zsh/zshrc" ]; then + alias e='source "$XDG_CONFIG_HOME/zsh/zshrc"' +elif [ -f "$XDG_CONFIG_HOME/zshrc" ]; then + alias e='source "$XDG_CONFIG_HOME/zshrc"' +elif [ -f "$HOME"/.zshrc ]; then + alias e='source ~/.zshrc' +fi + +source ~/.config/zsh/.zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE} + +#autoload zkbd; zkbd +bindkey -v +bindkey "${key[Backspace]}" backward-delete-char +bindkey "${key[Delete]}" delete-char +bindkey "${key[Home]}" beginning-of-line +bindkey "${key[End]}" end-of-line +bindkey "${key[PageUp]}" history-substring-search-up +bindkey "${key[PageDown]}" history-substring-search-down + +if (env | grep -Fq 'DISTROBOX'); then + MYPROMPT=$'%F{000}%K{004}[%n@%m]%F{013}\UE0B2%K{013}%F{000}%~%F{013}%K{004}\UE0B0%F{000}%#%F{004}%k\UE0B0%f ' +else + MYPROMPT=$'%F{000}%K{002}[%n@%m]%F{006}\UE0B2%K{006}%F{000}%~%F{006}%K{002}\UE0B0%F{000}%#%F{002}%k\UE0B0%f ' +fi +function zle-line-init zle-keymap-select { + VIM_PROMPT=$'%F{000}%K{012}[%n@%m]%F{006}\UE0B2%K{006}%F{000}%~%F{006}%K{012}\UE0B0%F{000}%#%F{012}%k\UE0B0%f ' + PS1="${${KEYMAP/vicmd/$VIM_PROMPT}/main/$MYPROMPT}" + zle reset-prompt +} + +zle -N zle-line-init +zle -N zle-keymap-select +export KEYTIMEOUT=1 + +#fpath+="$XDG_CONFIG_HOME/zsh/zfunc" + +autoload -Uz compinit +if [[ -n ${ZDOTDIR}/.zcompdump(#qN.mh+24) ]]; then + compinit +else + 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 + +#zprof diff --git a/zsh/zshrc b/zsh/zshrc deleted file mode 100644 index 09a5e32..0000000 --- a/zsh/zshrc +++ /dev/null @@ -1,96 +0,0 @@ -#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 -HISTSIZE=1000 -setopt APPEND_HISTORY -setopt HIST_FIND_NO_DUPS -setopt HIST_EXPIRE_DUPS_FIRST -setopt HIST_VERIFY -setopt HIST_IGNORE_DUPS -setopt INC_APPEND_HISTORY -setopt HIST_REDUCE_BLANKS -setopt COMPLETE_ALIASES -setopt AUTO_CD - -_SH="zsh" - -if [ -f "$XDG_CONFIG_HOME"/sh/aliases ]; then - source "$XDG_CONFIG_HOME"/sh/aliases -fi -if [ -f "$XDG_CONFIG_HOME"/sh/functions ]; then - source "$XDG_CONFIG_HOME"/sh/functions -fi - -if [ -f "$XDG_CONFIG_HOME/zsh/zshrc" ]; then - alias e='source "$XDG_CONFIG_HOME/zsh/zshrc"' -elif [ -f "$XDG_CONFIG_HOME/zshrc" ]; then - alias e='source "$XDG_CONFIG_HOME/zshrc"' -elif [ -f "$HOME"/.zshrc ]; then - alias e='source ~/.zshrc' -fi - -source ~/.config/zsh/.zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE} - -#autoload zkbd; zkbd -bindkey -v -bindkey "${key[Backspace]}" backward-delete-char -bindkey "${key[Delete]}" delete-char -bindkey "${key[Home]}" beginning-of-line -bindkey "${key[End]}" end-of-line -bindkey "${key[PageUp]}" history-substring-search-up -bindkey "${key[PageDown]}" history-substring-search-down - -if (env | grep -Fq 'DISTROBOX'); then - MYPROMPT=$'%F{000}%K{004}[%n@%m]%F{013}\UE0B2%K{013}%F{000}%~%F{013}%K{004}\UE0B0%F{000}%#%F{004}%k\UE0B0%f ' -else - MYPROMPT=$'%F{000}%K{002}[%n@%m]%F{006}\UE0B2%K{006}%F{000}%~%F{006}%K{002}\UE0B0%F{000}%#%F{002}%k\UE0B0%f ' -fi -function zle-line-init zle-keymap-select { - VIM_PROMPT=$'%F{000}%K{012}[%n@%m]%F{006}\UE0B2%K{006}%F{000}%~%F{006}%K{012}\UE0B0%F{000}%#%F{012}%k\UE0B0%f ' - PS1="${${KEYMAP/vicmd/$VIM_PROMPT}/main/$MYPROMPT}" - zle reset-prompt -} - -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 - -autoload -Uz compinit -compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION" - -zstyle ':completion:*' hosts off - -#zprof |