From e05e9929ae7557267bb63cd37045269ef4b68f5d Mon Sep 17 00:00:00 2001 From: coja Date: Wed, 19 Mar 2025 01:00:03 +0100 Subject: [PATCH] Init --- .bashrc | 43 ++ .config/alacritty/alacritty.toml | 46 +++ .config/bat/config | 26 ++ .config/fastfetch/config.jsonc | 108 +++++ .config/fastfetch/pngs/anon.png | Bin 0 -> 51845 bytes .config/fastfetch/pngs/arch.png | Bin 0 -> 10659 bytes .config/fastfetch/pngs/archlinux.png | Bin 0 -> 41798 bytes .config/fastfetch/pngs/dmz-rabbit.png | Bin 0 -> 18076 bytes .config/fastfetch/pngs/neonom.png | Bin 0 -> 16720 bytes .config/fastfetch/pngs/network.png | Bin 0 -> 19525 bytes .config/fastfetch/pngs/openhardware.png | Bin 0 -> 49237 bytes .config/fastfetch/pngs/opensourcee.png | Bin 0 -> 7528 bytes .config/fish/config.fish | 61 +++ .config/fish/dmz.txt | 30 ++ .config/fish/fish_variables | 46 +++ .config/fish/functions/ask.fish | 3 + .config/fish/functions/fish_greeting.fish | 7 + .config/fish/functions/fish_prompt.fish | 14 + .config/fish/functions/fish_right_prompt.fish | 161 ++++++++ .../functions/fish_user_key_bindings.fish | 8 + .config/hyde/hyde.conf | 2 + .config/hypr/animations.conf | 21 + .config/hypr/hyprland.conf | 143 +++++++ .config/hypr/keybindings.conf | 189 +++++++++ .config/hypr/monitors.conf | 62 +++ .config/hypr/themes/colors.conf | 0 .config/hypr/themes/common.conf | 28 ++ .config/hypr/themes/theme.conf | 36 ++ .config/hypr/userprefs.conf | 6 + .config/hypr/windowrules.conf | 108 +++++ .config/kitty/kitty.conf | 12 + .config/kitty/theme.conf | 59 +++ .config/nvim/.stylua.toml | 6 + .config/nvim/init.lua | 63 +++ .config/nvim/lua/chadrc.lua | 18 + .config/nvim/lua/configs/conform.lua | 15 + .config/nvim/lua/configs/lazy.lua | 47 +++ .config/nvim/lua/configs/lspconfig.lua | 24 ++ .config/nvim/lua/mappings.lua | 9 + .config/nvim/lua/options.lua | 6 + .config/nvim/lua/plugins/init.lua | 25 ++ .config/pyradio/config | 6 + .config/pyradio/stations.csv | 48 +++ .config/swaylock/config | 38 ++ .config/waybar/config.ctl | 24 ++ .config/waybar/config.jsonc | 378 ++++++++++++++++++ .config/waybar/modules/backlight.jsonc | 10 + .config/waybar/modules/battery.jsonc | 14 + .config/waybar/modules/bluetooth.jsonc | 15 + .config/waybar/modules/cliphist.jsonc | 11 + .config/waybar/modules/clock.jsonc | 25 ++ .config/waybar/modules/cpu.jsonc | 8 + .config/waybar/modules/cpuinfo.jsonc | 10 + .config/waybar/modules/footer.jsonc | 47 +++ .config/waybar/modules/gpuinfo.jsonc | 41 ++ .config/waybar/modules/header.jsonc | 13 + .config/waybar/modules/idle_inhibitor.jsonc | 9 + .config/waybar/modules/keybindhint.jsonc | 6 + .config/waybar/modules/language.jsonc | 6 + .config/waybar/modules/memory.jsonc | 18 + .config/waybar/modules/mpris.jsonc | 16 + .config/waybar/modules/network.jsonc | 13 + .config/waybar/modules/notifications.jsonc | 29 ++ .config/waybar/modules/power.jsonc | 10 + .config/waybar/modules/pulseaudio.jsonc | 35 ++ .config/waybar/modules/spotify.jsonc | 15 + .config/waybar/modules/style.css | 151 +++++++ .config/waybar/modules/taskbar.jsonc | 17 + .config/waybar/modules/theme.jsonc | 11 + .config/waybar/modules/tray.jsonc | 6 + .config/waybar/modules/updates.jsonc | 10 + .config/waybar/modules/wallchange.jsonc | 11 + .config/waybar/modules/window.jsonc | 17 + .config/waybar/modules/workspaces.jsonc | 13 + .config/waybar/style.css | 197 +++++++++ .config/waybar/theme.css | 10 + .config/xremap/config.yml | 26 ++ .gitignore | 3 + README.md | 13 +- 79 files changed, 2761 insertions(+), 1 deletion(-) create mode 100644 .bashrc create mode 100644 .config/alacritty/alacritty.toml create mode 100644 .config/bat/config create mode 100644 .config/fastfetch/config.jsonc create mode 100644 .config/fastfetch/pngs/anon.png create mode 100644 .config/fastfetch/pngs/arch.png create mode 100644 .config/fastfetch/pngs/archlinux.png create mode 100644 .config/fastfetch/pngs/dmz-rabbit.png create mode 100644 .config/fastfetch/pngs/neonom.png create mode 100644 .config/fastfetch/pngs/network.png create mode 100644 .config/fastfetch/pngs/openhardware.png create mode 100644 .config/fastfetch/pngs/opensourcee.png create mode 100644 .config/fish/config.fish create mode 100644 .config/fish/dmz.txt create mode 100644 .config/fish/fish_variables create mode 100644 .config/fish/functions/ask.fish create mode 100644 .config/fish/functions/fish_greeting.fish create mode 100644 .config/fish/functions/fish_prompt.fish create mode 100644 .config/fish/functions/fish_right_prompt.fish create mode 100644 .config/fish/functions/fish_user_key_bindings.fish create mode 100644 .config/hyde/hyde.conf create mode 100644 .config/hypr/animations.conf create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/keybindings.conf create mode 100644 .config/hypr/monitors.conf create mode 100644 .config/hypr/themes/colors.conf create mode 100644 .config/hypr/themes/common.conf create mode 100644 .config/hypr/themes/theme.conf create mode 100644 .config/hypr/userprefs.conf create mode 100644 .config/hypr/windowrules.conf create mode 100644 .config/kitty/kitty.conf create mode 100644 .config/kitty/theme.conf create mode 100644 .config/nvim/.stylua.toml create mode 100644 .config/nvim/init.lua create mode 100644 .config/nvim/lua/chadrc.lua create mode 100644 .config/nvim/lua/configs/conform.lua create mode 100644 .config/nvim/lua/configs/lazy.lua create mode 100644 .config/nvim/lua/configs/lspconfig.lua create mode 100644 .config/nvim/lua/mappings.lua create mode 100644 .config/nvim/lua/options.lua create mode 100644 .config/nvim/lua/plugins/init.lua create mode 100644 .config/pyradio/config create mode 100644 .config/pyradio/stations.csv create mode 100644 .config/swaylock/config create mode 100644 .config/waybar/config.ctl create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/modules/backlight.jsonc create mode 100644 .config/waybar/modules/battery.jsonc create mode 100644 .config/waybar/modules/bluetooth.jsonc create mode 100644 .config/waybar/modules/cliphist.jsonc create mode 100644 .config/waybar/modules/clock.jsonc create mode 100644 .config/waybar/modules/cpu.jsonc create mode 100644 .config/waybar/modules/cpuinfo.jsonc create mode 100644 .config/waybar/modules/footer.jsonc create mode 100644 .config/waybar/modules/gpuinfo.jsonc create mode 100644 .config/waybar/modules/header.jsonc create mode 100644 .config/waybar/modules/idle_inhibitor.jsonc create mode 100644 .config/waybar/modules/keybindhint.jsonc create mode 100644 .config/waybar/modules/language.jsonc create mode 100644 .config/waybar/modules/memory.jsonc create mode 100644 .config/waybar/modules/mpris.jsonc create mode 100644 .config/waybar/modules/network.jsonc create mode 100644 .config/waybar/modules/notifications.jsonc create mode 100644 .config/waybar/modules/power.jsonc create mode 100644 .config/waybar/modules/pulseaudio.jsonc create mode 100644 .config/waybar/modules/spotify.jsonc create mode 100644 .config/waybar/modules/style.css create mode 100644 .config/waybar/modules/taskbar.jsonc create mode 100644 .config/waybar/modules/theme.jsonc create mode 100644 .config/waybar/modules/tray.jsonc create mode 100644 .config/waybar/modules/updates.jsonc create mode 100644 .config/waybar/modules/wallchange.jsonc create mode 100644 .config/waybar/modules/window.jsonc create mode 100644 .config/waybar/modules/workspaces.jsonc create mode 100644 .config/waybar/style.css create mode 100644 .config/waybar/theme.css create mode 100644 .config/xremap/config.yml create mode 100644 .gitignore diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..ebdf024 --- /dev/null +++ b/.bashrc @@ -0,0 +1,43 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + + +alias grep='grep --color=auto' +alias fzf="fzf --preview color='always {}'" +alias pacs="sudo pacman -Syu" +alias nmaps="sudo nmap -sn 192.168.0.0/24" +alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u" +alias kittyimg="kitten icat" +alias vpn="sudo wg-quick up wg0" +alias vpnd="sudo wg-quick down wg0" +alias vpnoff="sudo wg-quick down wg0" +alias xremaps="sudo xremap ~/.config/xremap/config.yml" +alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf" +alias obsidian="cd ~/sync/PersonalObsidian/ && nvim" +alias dots="cd ~/.dotfiles/.config/ && nvim" +alias aliases="bat ~/.config/fish/config.fish" + +# List Directory +alias ls="lsd" +alias l="ls -l" +alias la="ls -a" +alias lla="ls -la" +alias lt="ls --tree" + +# Git +alias gs='git status' +alias gca='git add -p . && git commit' +alias gd="git diff --word-diff" +alias gl='git log --graph --show-signature' +alias gla="git log --all --decorate --oneline --graph" +alias gm='git merge' +alias gis='git status' + +PS1='[\u@\h \W]\$' +set -o vi + +eval "$(zoxide init --cmd cd bash)" diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..b6fe766 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,46 @@ + +[window] + +opacity = 0.7 + +padding.x = 30 +padding.y = 20 + +decorations = "Full" +decorations_theme_variant = "Dark" + +[font] +size = 10.0 + +[font.bold] +family = "CaskaydiaCove Nerd Font Mono" +style = "Bold" + +[font.bold_italic] +family = "CaskaydiaCove Nerd Font Mono" +style = "Bold Italic" + +[font.italic] +family = "CaskaydiaCove Nerd Font Mono" +style = "Italic" + +[font.normal] +family = "CaskaydiaCove Nerd Font Mono" +style = "Regular" +# family = "Source Code Pro" +# family = "Liberation Mono" +# family = "Source Code Pro" + + +[keyboard] + +bindings = [ + { key = "J", mods = "Control|Shift", action = "ScrollLineDown" }, + { key = "K", mods = "Control|Shift", action = "ScrollLineUp" }, + { key = "D", mods = "Control|Shift", action = "ScrollPageDown" }, + { key = "U", mods = "Control|Shift", action = "ScrollPageUp" }, + # { key = "A", mods = "Control", action = "ScrollLineUpScrollLineUp" }, +] + + + diff --git a/.config/bat/config b/.config/bat/config new file mode 100644 index 0000000..5ab73c3 --- /dev/null +++ b/.config/bat/config @@ -0,0 +1,26 @@ +# This is `bat`s configuration file. Each line either contains a comment or +# a command-line option that you want to pass to `bat` by default. You can +# run `bat --help` to get a list of all possible configuration options. + +# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes` +# for a list of all available themes +--theme="OneHalfDark" +--style="numbers,changes,header" + +# Enable this to use italic text on the terminal. This is not supported on all +# terminal emulators (like tmux, by default): +#--italic-text=always + +# Uncomment the following line to disable automatic paging: +#--paging=never + +# Uncomment the following line if you are using less version >= 551 and want to +# enable mouse scrolling support in `bat` when running inside tmux. This might +# disable text selection, unless you press shift. +--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse" + +# Syntax mappings: map a certain filename pattern to a language. +# Example 1: use the C++ syntax for Arduino .ino files +# Example 2: Use ".gitignore"-style highlighting for ".ignore" files +--map-syntax "*.ino:C++" +--map-syntax ".ignore:Git Ignore" diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..696b540 --- /dev/null +++ b/.config/fastfetch/config.jsonc @@ -0,0 +1,108 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "$(find \"${XDG_CONFIG_HOME:-$HOME/.config}/fastfetch/pngs/\" -name \"*.png\" | shuf -n 1)", + "height": 18 + }, + "display": { + "separator": " : " + }, + "modules": [ + { + "type": "custom", + "format": "\u001b[36m " + }, + { + "type": "custom", + "format": "┌──────────────────────────────────────────┐" + }, + { + "type": "os", + "key": "  OS", + "keyColor": "red" + }, + { + "type": "kernel", + "key": "  Kernel", + "keyColor": "red" + }, + { + "type": "packages", + "key": "  Packages", + "keyColor": "green" + }, + { + "type": "display", + "key": "  Display", + "keyColor": "green" + }, + { + "type": "wm", + "key": "  WM", + "keyColor": "yellow" + }, + { + "type": "terminal", + "key": "  Terminal", + "keyColor": "yellow" + }, + { + "type": "custom", + "format": "└──────────────────────────────────────────┘" + }, + "break", + { + "type": "title", + "key": " " + }, + { + "type": "custom", + "format": "┌──────────────────────────────────────────┐" + }, + { + "type": "cpu", + "format": "{1}", + "key": "  CPU", + "keyColor": "blue" + }, + { + "type": "gpu", + "format": "{2}", + "key": "  GPU", + "keyColor": "blue" + }, + { + "type": "gpu", + "format": "{3}", + "key": "  GPU Driver", + "keyColor": "magenta" + }, + { + "type": "memory", + "key": " ﬙ Memory", + "keyColor": "magenta" + }, + { + "type": "command", + "key": " 󱦟 OS Age ", + "keyColor": "31", + "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days" + }, + { + "type": "uptime", + "key": " 󱫐 Uptime ", + "keyColor": "red" + }, + { + "type": "custom", + "format": "└──────────────────────────────────────────┘" + }, + { + "type": "colors", + "paddingLeft": 2, + "symbol": "circle" + }, + "break" + + ] +} diff --git a/.config/fastfetch/pngs/anon.png b/.config/fastfetch/pngs/anon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a839afe82056dd56d045c4260ace7b6c353f77b GIT binary patch literal 51845 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 literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/arch.png b/.config/fastfetch/pngs/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..db5a7e8677937867ce9933b1538b8e1754b912d3 GIT binary patch literal 10659 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�MBKrDhB%g@wRa*?m?} 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 F{~rM*%^m;% literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/dmz-rabbit.png b/.config/fastfetch/pngs/dmz-rabbit.png new file mode 100644 index 0000000000000000000000000000000000000000..d0efe0c5aef00b5a916199ce81edc16e93c5fa4d GIT binary patch literal 18076 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 literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/neonom.png b/.config/fastfetch/pngs/neonom.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a486cf295a4220628e09b9140453c31551096b GIT binary patch literal 16720 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 literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/network.png b/.config/fastfetch/pngs/network.png new file mode 100644 index 0000000000000000000000000000000000000000..957300f158d2c3da69bb50340efb7c2f7ee8c3bd GIT binary patch literal 19525 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 literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/openhardware.png b/.config/fastfetch/pngs/openhardware.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee03b2b84684200a3aad29b75059ce27b4a4eb4 GIT binary patch literal 49237 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

`6$jy~O2fG={l{_q?4#D}iL zwyo0ufwhO-I=1A^>Av66O2N_453E(LtC&~jDcaXiFIoKO8*$a;n;(A=!1yCiW2Mq9 z-{2c)h%f;mWoRJK=P)gAZpqAsZAF9{-FQ4hY42Q@70Qui%8F&(B4RQX_6o{M>BWWa z*Hs{_6Vnir)%So^C%>0SmlVC3V3NqRFCw}Pcj8&tjG>qLX%Y{X71>#O37H{rr<9;X~t8CPy@l0+)uGGSR>2EW`X(1nCNyuC7%EyIi@1IwwwmbXMOou+NC^-DAx^- zMOPU}wXsC=)FW2nxD)rM5^LV2{1#|gf*-_-BC>*Yn;mczn3r zOZuvHNYponefJyT%=2D@7#C&Z&fw5UR+N&BSPZv_UIGE2u{Nr}4iechO_FJaZ5GI; zqR`DBp7>T|Xe9;Q;_VgDWEQdemtQ)N%mTndO{=;TOC~BW@+JDqFFYo?vVJDm3q8xL zjiS_Q~6OVyR~GAni_llrp@R$=9ub0-wm5{$tBsDlQb!wO(Z zW0j};zEcN%cwzB$5!g!F$iB7ckk_ML;?7o?R@7Hs4?gU89Q4%l@__R{PL;Q({36MO z08pM;0$d=d%0d}U@xDgI!iyRx+ge^!K|w6bs=X`*T!#-}fU-nH2`qE8BGFC3Ga7B4 zOkxvYW2vJCV^qCfqHFY~9mI|)wU0qX+Z*bBViMOeS_;c;@N}iT5DZoUh;bIrIp?Rb z|A7l(FVDO=+uDE9I@aECYp(an9Qq8P28RDAsSgO-`kw#NR|7b(S4xg>fNohsc@;f- zcb$ONWY98;zf8iMj3tJ-Ph;q+eDt-udA7)?9Qc_cstWM9%|oJCn)KG&)1pr;bkaOp zI;G`*1d5{)3XDeJ+EAGEOScRlq&q+7$j#$zC}Az5d-Y0L0XX2GGjPT^&!F6C=C%d` zd-A2+9^vIJwe}?MJz2N4W*(;%#~q3_r(9a(S@Q}&IXSHeEL~%1KSlVSt~6Bl-oqbxC>fTwF$hC?cZDR6mXT;(mr>XR-vh+C;|6Mfox^Wilp4LO6sS1q&lvH01d z8>*AaH`laPofp620*pqhN)V7i_m+YwX_*>av0s#o*IJ__SyY@!LKm?m5Ofa|O63AK zRIankD_8~x{0!ZL6!I?;R6*sCh)v3LDP#@{0VF$&0@RsjYM=5mqSRu~PEzsLjaZ&s z)39YAV*aIgKXM8v4)#`kDh^E9F#R#BFT`;tu9{?cPTt!OwqCgD9JbyjT0A|O9>3oE zJ}~h%=Te@6hV}NYZv)PfIluj~001BWNkl9pU_eW{Ze!&@d$|0xa z2#Nuz@LH3^5eR#2_EwpfQCGcO;uG^jna`6*KOf(dRRh;$zS5qe0=j-J&W&lE${^_0p(}K! z_NOe>w_qRY@h&37Sk_;)_SIN%-2UhXCr#E{#MZr4PiZVH=-V$dH~afQpfAKz#Wa72 zQbXTRwt;o|{tNNk7hVovcAP7*rgb7d)s3qpz7<-YANO=>s6($OTA^JmHbY8${{Opz`+;f=gM0-XrsUL1eC@aAcjJTBdlcb5w?*s zU|Opb1_v(^bg&}RM4`3XQMG{qR@%f-QOY!rUjW74mIcD9PcGL8k@`;iL%-?F`q5SQ zdaM*_oU6}#9DwJj*&;9KCIxw~lXQ(jlk|zAcV$1R@0mdYtyIqA9Y#3g?8|Y$K}#mY z^Ep}ocxN4J`XPY_;|gEBvtiW{CIyE+#Pv4er$tN!E$eKRmF%!`W_E-Zz3epzSPq~D z34lUoW*1TKTabsZUb#o1;|a~nh|1DSdDU-gX~ep=# zK@Tn#5o@gLC3b0I64~W{Vh%w7e*FZqc?MU>ZJ4lzLM*xAA*o}F}HBkFdf(y{` zw)WNv07G3T(Q3pOna*e@FZWsQ@&nGobI&~)^&A7rIi&NiwE^GCSAN#=Z^)|3+xs51 zz(Vh>&2TOs0)Cbvt;1zrD)m@#+#xvO)Rz?$)_T86R@4a0^J z>*?XkN~DH%8a*UFQm2R#iAUBqiDg=q9gXhd_A{@D>ga@m9iLe$WRZ>>IargL^)BRt z+Q%Sgl~X%RJz`fkfnx@C0a@3n@%U3;#iUmvWx&(15Zhqh1&}dlQ=fOhwg|_pz8td) zbl!RURG>U-j<)E$Yr3~y*o};Pu3K%?TL5CEq5DisKi?44ljrMj*7+9#SP8%gr5mX* zj@TJ}wW+GS5@^LTt8l6sAy|5eSIx^COEeiYzqzYuW5Kq5i>QgcGetnLS*dJqfvqyR zBjuM3A{x)RP!yD&i)AG}Gf)Q|Q`BSXZk&g*k2CN}gA0I__G)m&zJui#dy|GE;OxwA z0&v=fqFYJd<4(K?$E{s~b{YamfFFdwdA5MZt7qj^I<=N~eQC&Xh-vG!lC}Q@?7QDS zShebepZJ+HPMcupk&A+zZ)FxsK(5OX2-WZNTWm8)Brjjff>IAFLa%@+JsWmeEV&(f z$#%tcCI!Wj6Q{3$Lva43mtw&}UQIQR4mf3fZ~d*6T5B7L=~}!B9cJN2Llv&v zbm##OSbahb@XiDQTL5gt=EpbU!F%roa4&$z0NjsqjFtd67{Ec8U2r&79CrwSg8&=? zVAh=QMRFpqsvTC{9#*MN6DUKg4?Ly~of_cMOwM@lQqb!w066Z%*WiGI{u~e9yGa-; z0JUC#^?{r$+B?wj*NwvVPcRnW@ksI0&TZS9aK$4geoIL$`-^y&C@$K${J+E)>$2yL{ zb^6jCsUPT}Rk3f`wx`mNW#hPfcEJd5`hR~5$FF-!rsDmp!a0$LDgbMMhs|XeXsgp0 zwMRQ3zqwQyD%J$yP1tbPNAb`9@P6F=otyFCeOoZyn9t8f7A+p(DTf?_GtYlMp7p%T zv1svGKwLO3G@?^}cH5)CZbUqTqt_v0HAUoB@nF6Bbn%{>Ja*t8Kl}oGVuhLu#8` z9;mzu{~HD~7#ju>R`S^ZgJa~<#zC?e;B-y89<4}Ji5f9Jc{ z@`EQZY}`~}N@_=%y7HYnBQ`(&1KfJkt@zrPuExyl^*Hp%{V+3oG$Ll2?d?4v?3F91 zaGrvX*VjR?V?xX0*SiNs<8GGs=w8UxqTG%d%*BYWed&|fwM&7*n)4|!U<7nnF~lyE zCu0rQZ`ldcU`7a&;=Htruo+v*SfIyB_BF^VW3cOVd*Mr7g`-!!#;NPrnB%4LpYfvo zgA91-Ih0QHs|u-+*n$_wM>rT>aOt$HzYK zA>93)N3rwCUFiBHdwTG+CZo~?twkhVnt2Oe}3?)vtX z*m!?h+VlLg07xS*#R@N}?RdNtUs@>wi28R4TMG6moEjXZyroPFtmcTOnkG%gcv0?oq*!iUPwKd*R{%M}pWv^`2_v>!k`Xs*jwY%}<>;4`q zj=vN89q>$qu&ml_FV0E@bO$kWXGy;Y>KE=$qkiU1&s@KH^ULKrzES8SYF(22SjynK zfoQ9!OL&#~EXICMc^F^)!j~|&%Nt)vUSE`KB@2Z3xdl|MNH1EiA^)SMZtZ*CkDZQ1 zi@RS{w4js6(d+IC(9n6Y^xYR5dAc>fr&Gff`3cMlKNh6i8e^VptdEdcNteM{|F{+R zeD}@xAFqEAZn*v?Y~QvM!_UXf_Z;1jy7qa%#~Apkdyjq4m zF}R|R@M`Is%hiJd&7%z*)fG{i(&VQ*@Ylb889wyh4`J&MpFr2wiLx(EGsb-pdmr!a zdDpIp2fp_MeC`t;!*S~##=iT#071`kS%9K>mN7JV6d%Vs{Bks8MK>rTZM7>;c6Ll8 zvlwgi@Ji7eG#!92x)rzGd@JSgT(ee2eJiI{p5lTF*-lxJ*SBMDp{j+LL%gn{Zy(Ys zvXApuu09g8vzGwqx`IDI)sIqnk3sXae_ETPQJ$*^PNOHo!wF;GKhCt~6X5q7 z0YUL=4FoXhIen~dMYfq%BO@6DYx^KQJAqM|$%VpO4@_tImQE9zvoHE-ELpk;_Ss3m zk91mj-o16;bSSSXukSd69_sWCl@2j@U3w0gASK;s1YG!vUjV{v&P$O`vB5mKx?Znk z1V9H+6!NDk>@5>b;UrTX=F3Jaa*8V|du#6g_bJ%j3+^qSCF-!T@;!=#4eK}(N4m*itL5NM+;it|;Q##UoAJXf+o{9@CN);2?<=>G=RI5A*V_Z>>VEYL z>+#-qU5s73K0nSTfZ`Vq3>?`B#L}tgTUmg*l7Wx?Mos2!+X^(70?=78}ztd!|ZJr(TH>CQjD2G^c! z@r`Ewf(5g9-G6>3_CIj^ha&U(ojjrrTFxex{D!8g7fPA{xXZ+3G-ml^sZlK>IJ)D> z#d6qVhf;w4_ZjZi!y(Do1EcN6jp36D6J6 zPG&7OqrB74^yr&s^OLKjinJr?wS50$@Zh~)z{3xG4|8)s2Pm!aPWMcw`=4n5bnGp@ zkTTs%uk3Wj$h6Xs^AeV#Rs*f1`6DddXD{rvcyFv;cPL(P;j?hz%io3-$Ni^bW1P>l zL@|UQ<;8?oLxXWYd9HAf=bquw*;uUnqSb6@(j5hev4^K;vn{!74&S}w-S~sw_$~bK z2Rle<1`SS@GwO3;hofzDocs#aZVa zf@RB325=HiJ8KR0TC@_tifXO}!UtuiSv?aGnG^$@oLVLf&{aT{*9em#I2aPtj!;Jyu;uxsa5Y<_%u&7eqq zW7s$TDS37=0)0!!m0I5ndixHVY{i!CJBvk2_QAf(m*crFJPN?c*mwVvu;%2Ih**Vy z11sF#6KROSaRg;~$AVTIjT;jr1Deq4K3XsyioF-&U)2|HA193n0od`x7xBM-#n0sJdAJ@gIS@cE4Z zHsjHUw_w-K@*CfAYK>uEYTDZF!h(mIBRutpg#h-)!o8N`g)dnP;3OP<+*%xP&9pgCdvN8SU5qbX_YG(S zQeRui8r%6r(esO@=9l(fHp0)n`9I;fbypx@wgQ-Hyy-p|6Wj#5L@#`bF*m@(0>T0( zm?lNssO`dRi$m`Q026xsi6ex%4RzIx2=Oj_^Xu!eZR;%nZpLT+;T~+?_9%Y%gU7M? z@xD_4-X^@~)Nt>;#n zHuT37yr-3Ar@fag!GHhFKf|F%{6rVIf&dA~OT+@8v>aXC97!`MX#dl53siEx7?ze< zydb)2+W?eNy~wZR?Z(96?`vb&f)MY8MDcMx}P*SMj-G61l$@j6%5V1 zmR?kWBQUGJ`(uN7p6o!t{n+{B-T2lmcVWCQc02Cda6fiDu?hEW*oJXP)^d04Bey zH2^T!L0WHb_t2u`N1g^bP|jC}Tt)9aeKSzbcziZu`_}t$*By5OxCM`FycsuKe-D5M zv0?qA*zv^932n7x4A4QIT`-Hwe(Lpj#&ceWeU=}B@$YXhYHK%-WCcuG-V>AzmeYrs zReq1qLEf_=nCn*?q8^|0Xw-|?iCb>?Mf}lk{UKExI=QVYFgyxsZ-U#AotK6jS{x3V zN3C3n|MF`e!r~Nm!v&XKg}oLX1z( zM)|x%^i2L?pWM@~se~L(ZVccBT##C9PGzx>vabs9E=- z&LSWlh~@hoi^GmujT^83du-qKBoRbl{PQxL=CI!Z$0K4<2`aF!S+Jy{zu5q!UY>mE znN+KI(qJat^5+Yd4m7x0TucWM#-Bt)bRFE9#>^{90Y4|+))e(p;qghQj>it%e#;fO z^IMy#)@a}rC?lU~UO#KH-uTSXy~^7iIT~g8Ja4@I%XsMiPrBvYm%YibrvjrwneWPM z@OJ4!X^RyT1qms#WahaeU{g8JAkSX80;-`<0mxQ;0895-iP?oqVT`L~z@v^w=pW2# z@<#cWh+-KfDSaz3aByBeC2YwRzFfWN*C1s<`ky?gH}Gn(-kU~^Ao;%81vCx{?oVvH z8P|UF8mV9bg;freOSjztlONqtg<4K)30kIYTX*6!*Ze*rIzZ2T9lE{@K=qqeC2`N# zYq>RXBmihe^3lKsHYOvA$w7~lXHiyOLzTjDPl%d!It2BN0HLmD;Zl*&Ha2%qV0UT} z+FGG5@v`!D0yA(_hvx!4hg!ZhI7v2xfY;aRvDldV47kXT#(nab$v9)##>&7&ZonMA zb<3aO&fBfGg6V2a_N2#_op4QUr-zyqYS^u7LyY$5No%rq@e~B1&RCcX>njCDA40^<>C<9cE zX2_1spL(H)uGed-uBy0BJoMXkE;J%HE-!#kbZ_z%eav#c@8j7By~<7@*=J#_XS1%C^y<*Qj@d!F#$wN*Wr)^9;wr=?_?z&z7nlDfT zlRwV8zjxJ2KT6)yrR%P_7TdSp-3AB8iJ0J!B6^5DtGBeG4@<5QeE^*eKoMmvDWk$E!WGE~oA z$cV6583i$Z>j$7b#jZ4y4puqEn?rieG9mR*=P{@$ZE=ji=*;vSQS*`U$SE0AFxsoB zaMl8HNk8jZk7?}Keh=>Y_DyKNG4no5wU%bqw_OSheIVm~8)l`J&aIT}wFQc{ZvS}o zCxE!M04I=LWQ++iPMpZ*iisAfo@G}AUJN?faT%$wtD-=zs-DhU1rp8&fsn9dU@FcF zGCu>9GI*h+Nx$b6lgwCD%Y3`4)i~NlC=Q_;M2TF2G_;6p0(G8(n|PaQJV;3Dw8UEj z9X()Il}Q`8ywW3eEXqO6FAq|5!}^hBTW@Eq5Sa(6IAhZQyCC(pZ@UI}e<%GYACIHn zTc6BmxwVAUdsuAbk@m6BWnoHWlhzi_UG+(0}TH2Ei!0!3>@Upv@f z*q9n{S4Wpe#VvUT9<(5Jl_s|-l~Y-^RwDA*b;AtOUt)Y|cC?lt@UI%-Whv zK=FptOvXG6DCbM1cH+r%i1gt7xrVQXED3AFE%sAL2&1nmm+li?%HX9~t}1y&9pRVj zsi$MGgJD~gQ5>%z`3f}Zhyr!0+7-7UdlxaR0?XLraAL3`ewhvF*a7`k?0oV@42w8` z`tuv02BlV%);b1ZMN&hLO=uJ}l6#QPg9M7d`}6Rddq z9Z)+q%jVM9hEh%uDH(QK$Y$Ljbt&<0{8zs)!EB<~nIR|ZGAS?S2+DeV^nq6<1us=N zmV7$?)i~SxAJ)04z&FO^&Yc&_fh3SOBR5?Nabps_dg@NRtZ(;HPIO4CM83KZ6oifQ4L^~q@^22~Gy zEPEY#ntq)3-EZHFfUR9NjdkJqjmgC}mdbJ@Gs(y{pw6CUSawBu`k71-4FYw9hH`G{ zPt&A42F(mE0>0HYPbaDX)ClUQ3E$k#(Am2Jdn7*I@t-;s5f-QJxtLQ?o>R8LyxMr| z+LOzbzqM~*y)jW5=AAl{w;cVro?S1{;8sZ)`cJe~qKx1FyR z4Q`^2Xf5qhx!&*2p3^j7)Y`Q7_$mmtmbw~Ywd9Y}6Wi~=T-;hlN9jtoqhpt^YMT+& zHUisK0e0y4a#WLTO}(i+vJI(SX_ObxfmUuyY|pzw$4Ii2K6F4=MNR~SsXuhZRZZz2 z*PP6Qqde$yoe*jTM^3y%Du4*xKyt%Xhr~lSuZuE}kwh{A@pNo-ESPoA&*C-`zhVF( z^csDsvQE2AT~c<6oPy9A0ACr~gyxnTzeSZb`mx^B4LLBX`&-^Wpbb10&!O~vY1+2c z%hww}zZqLL-&5pP5fw^v;lA%G8T4sF#?nTEMMveifE^j7%6=hqY^TANQAAoSo9(V3 zEcvVRRM}i!yy-UrjzVsP-6lIZ#~KP)@A3*Dv1Ei&8FL~Fj{-2F(ZJBjj-prAAsG~V zEN+J&EAzA3kv$}NiCkt3XwfIB&A}cMQorLFy0%$kR<>sj_uhT?Bxl;CS08X#QBL1x z{t!79{gAU%nx>5;t@+3)L7Q|k~MsviT95&k%N;`^{-BA|Hsz|7A<&c$kEOjmT zg-(}3hDJmpBHOA1j3#h-lgN6s0MP@-I`tTeG1DT-MzOBi`4+nBL``*5p*LX(k1C>M za8}S_IRwkw-UE$603vZfqA|?@Y060PzvLW8OZzXF_tB-$6 zj=d2+EcG3IXz^A#lm45GcXD`nNf^6m!(7skaYdjw&J$3U11KD-o~`mCH;!DGM*qTe z<{=Ri+pyZf(x;l9$F zgl=2{<)sN+C5>pDNnYG0{weZF*~(ve3BQWB0BQn7wkwX{IYqTYBfpRtOZ|9W@PyO+ zKy%UyN(vsCpt2R)TUBq^L~l(|?gczMpbOn|0Zs&jSw7|GvQX;AZ#ja>kbWrk%>?+g z&vU&{(p4a;`f;&%S#CRougcCO>^U>vIRNQz4SJx_x7XwW(2zHCNsb;rXriXt`ff->Xc5GqbZKo__$25)gnMtINc(X zWEV)}w6E_zwTo;wzoDl-)5y{0SJ{{Cd5gCJst-?6>J*k0q)gv5R7V*?87b+TJM&G2 z0uU>qk(9^^Ld!r>bYd**r}m;Af>U_`*wU7im&L_S_cXwezS{ZZ9B%rO_4fu_drd?4 ze$sQ_5djP+_m--AY6E_E(nhGQtMeQ`l(z+N02S~QNj>4@nm~#F{$=5u8+MgIB^UF& zV8<407S)j=DzonSY=H~0&=(GQFDjP$mI7p8(bcJVGF>d&%10h}fVs-t9Ps!fKzmPVnzwlz zEm?g1qc8JIdoscTrqf3vF>B(=SQV=UV|*)nV7oLX21hrRqgTO^o~uYnd0UEWdD77W zp(y!Q8w_A5fROW*e?YkhXUQz&RgSZ7?GJNME&cgf-wqasCn<_3fPfp$o&ywdkU``+ zjvlFQ!P`()&)ifEV=ur)CQ)5gJ$7|W#bA_2(S?lP?*E~ab(*tEN^30#hoosY)#sab z0|31-r}Czs3)N7SeERrXNoY*Fa&+lUEt<5#u&S7iEQ5_c{uVCu>s8qg?_HDzW=0$; zjDbh$Wq@WS)1=q1TJo7k(XLS52hU)%PUx3-OJ(vKpVYMtvEs_Xs$W}VsDNCV3~yRy>o$vY{g$uaQF zT02WHm!Gpk}O#ai$*2pnv>SNRkn0$=3}5~Ro{8ehLb==l#LBu+S$6lR4o%F za!fbHGMCEC{xR}&nQ5N$ab$JHBLGKEa{4yJ`;Ip-D0vZ^9(}REL3!&j1_r$rFDn|H zM%GZ8qbmFLB7$OUBZ{%f&um0g&NdmOOzqcsj)pzp@52rjVCwReSCrGX~i4 zuQo1NxE4nrr+>;@_k{G6@W{y5)QZqrZyzlhk8i84RqoYo(ff{gW@a4%mXr~?PAax- zF{1p_+iZJMy)eE)kkBZJg?=ErGRnQTaa^yGA5jxnPM6CZ*@;h{&rXzSg19V~>gdsY zOIUx0RcsWd=fpqVrwPoHiY7Imd$P`0Wj$lp>DrHc)+);mUE}r4NTHW@CQ2Y>-K(=^ z4geXpR~VtYQI1+yw&%*@q4R3lR;d1hg^TdCW1a!~Z69x*kEE=Xytjp1)_0!ElVdFl zt-4mZ$8YG_vJ$*5xa`>gMmdtLBBy}jyS&O^*=8cyFp~$eH3JkXCp9Uue(orbzw%01 zp|s0vW6`&<>^MmP|EQ$$<><)^F^ltIEYtvR51{M7s(O*)?}6k-5-RgyO3N9jZV3|# zz@Wxu{-NZN@2P>7SK@(4yczWi)*RIY>dy$XQ&opNz*f6s2bM_}{j4T?!qgXHk%c{~ zEG~}#un;Glat7)MN|W{GY)>o!=XXUy(+GIzq8NbK;Vc7D2Vuo@fD&5-%5OoMy*DT)|zYcsA<}yNptgP zZ`)5|)Y3FfG%?nsZJO&P#5{c07({|b2^uAeh#-iFygeXq5D#$9VbA?z@0q>Unl-cc z53u*n=X1{9dmd}n%&b}KJ8Nd|pHNWpO$0AjLJ2UdOys}_*^tQJ%@b=8yxKxt9;_Xj zLbcEpv51qhM~x+&RMam;6~0&6mgo2V2U0$$kcPk@N4B&BmCf6hdf$ph%4J~yvt8pf z?FX({=%8tJP)JG#$uH+<9?B~j1UD#Dt~|OjI-8y^H6c`}QaD`QMoIH+7ZU;i4nO(| zbo6h6ptQ-Y<ea7IlbB;oYM(P~wO_pq_XBVfPqe|^UrZxgnN-=g`OP&qW zj%IM>_rX)g1Gba(Yv9ijXxq>@f_!`+X-rutGUQPQDukylnFM;G>C`YA5=U1U%q60s zH$(#EL(mBNMk_;aHLyYzm{I0aMAnOt12G|Dic%;5nQnMCrs$+apooFR8IB~R!jNTX z8ncMBJ_Q-3okyOM2`0wB+bv2mjUW5W81YbQ=P{i7s79uRfcxIZV1 zmqDXR(`3BnPf95w=_89NCrL}&U`Un8F<@W^4n5-P5DgFmCY2YPzhbh{O&c%kbX*C2 zk5mZ4g5l+9y}{WqO3M&h0I>vZ zUkZ3yQY*?f2^7JU9JLB0KG;2!&rl{iNsIZlGE7rX(I52cXen`?j-cr`FOm}z5C}^MBx#@rETYj=yL#@V`}IExhaYo3(n~QY>2-?1 zsq!cOv!8&|N_)0IVT` zu8LrU!jsEGI*@)@2|ceT8BwCDlhyG}l%}UAloYebWjaGnlrCk|@gfyyM5z_y+kta0 z`8@X7SNd^MOT1K|PWIhJR87#_o&?#(df(T$3&vpB{+AXH)aXcK6puQfY_l{LRX@;09g@w>QC3xeDs+x zI}8In%<3S``Z%>&nF zpI6YNeHSQ7$&E&B|o!xUJO}3t%YVTNN6yWXXWw5I*u3F+ z^z7UW1x2?7l`ngJD{TG(^4wzo5nIa|2hl>TBPjZjRtpI4T|s)r%H^SsLkWOrIf+{6 zQjz{K`ZB+%cvr1mS;)tkFiqZ51s1f~3L1(8_`XzVtNfL5?-_J3w!iZ-USF`NjLArD zDju0gmx0E|@-z*u9s{me_Jk(T3SavSX~+Ng>^CuJpEHXHtzU`E`AH{ajLLv48w6sc zDQYn?T`O-89eZa4H3h(&;ED3?sZQO$&RrkZ4TCqZW#eqTI`@A3 z@<-pq+OBn^Fx3D6wC(Tqc3}Sl2LKp~{e}<6xbu$%a01>x_84^Tb2xy*;J@5h6SS!V zAo!ex%rE1#j8ZYR6lkZ%vxI`{%9^TOM$0Q0lYIJ9$|f9RNlzB0Ruu;5?U{u;Cwv&M z&D)4@cQ17XI3i0ewRVSYYT33sK|89U)4%YFi*U`KJqVzaPaG2HF%~1`q3l~W9%7JP zeo03TAlra4;L4FPMDB$lbt?;hPkB{nNV%f4q>!nyNhhr;;Jgob1-vgDsxxLIfF)SG zUD^| z81+FMe)JIljsQTuH?9pB_yDAo1r735honehm6r{& zHphx3|BQe8=1thVQ5(yq%1Yit$%{xnExr}ySf>D?l+o%24nKM*zB1w0=-2P`u)i(o zMj@YmVmWe(a`6+<-O~wAC$Lm#AaX{^!ys@!X!WbgRLDngAlYz!qkTb*p;T7T+f+3G zs`9gT8FuYjfft@$0AL=rzcU+8J=z6eGq!B%#?BovUscp_8l<6MGEfvi%DIi2dW;YRmIgfp zLPPQf7ERU{p&4W%N|gyGYvV>d{Ijd@*aOc%AMlitc(=mdq~DCz;34h!{MT;5VMqLZ zQ6|>!O5e&5Z0W}kjYK1)ydR^8v55we9y7Kf99Q^KP?XODR3Gpw?|n0*FuMdstOvjf z0I%S=Cl{ly?>W3ae<5CRA>tC!^tst$N&HXaO_D3;E?x? z!N5VMl&_NyOaB3AtQ`(wb(Q>Ha zOR2&mOQ|5G+}mxiScvs+Ex;?YizVGtk1oLWce(*|W9w#znwlJcsWY4^!ir^XHPq8E zCc}FMW&j3Y$goa~yI>4}u{hg(%&>3AWF@)sM1{4L-FwUn*Yefpsfeexf z8k1-)pq&VTo+JGDB?UOTk_9PmZ?5<${`Kb1Ve>}!llDM*Nk-%MW_Y)0hjh=q^e9|= z!=q?xKLS9+m?@}4b6G@@mqg(Sltbl24s@NIri^V&4kRr~H0Co_8L$A%8o(~VoabM` zx-~BWn1h*5t-!{0JFsh4Phv?2q?h`;9i+l)Dqu}vT`bPkQKYx`%aCR5IB;|aP8fGM zfU!9Ey(i$<6OV_r$HSQ60K@Up}gOnQ0Fpeg?_8F`19z)hT?1AeGpmOxkZFU81@9p)}bI; zUz2)jP?Wk9b5VOBS5k==b6^pAdtSj4zkUh8Tx{Pq2Tx5|51+VHc+bFg>!p?Fj@v(cC zKTs~5RA4ky7O_tDkVtP5r1FypFF0LqdNA*W&*O*R{6A>!xUL&(`P_=q+uO9c{Oq&u zKzwDwM2tG*8WoLdASduS3Pcr@i6AabUScvt%V3ewy)&DMw2RvwBS!Z{P&A z4I>UZA3Zx41&jejp62C$fm+rM!UUYoZS z*6xC}sqxZ+o9o(mLy4nC#wht^2-4}m=SW*z8d4CDrpGK}EKlqnnEK!x^z}T;r9ch{ zRZ@r`bR(Y25SuQkKm{l|yhI?G0Nd)`!E%szN{3lVs|YX6$13l{M?ZNNF1qp>^y`Qr z85%FgGj_Z|%PZqzG7@{%XvgZSc-nWrPJDU7cX8n8&lV9T6b;#bGz4QOI$e_mdD>h( zeXa zYIXWR5tbIDHPg~*B@$7|5LP7No(cZ5IM~?YufT|2CLC}^*h6obHi%hVI_4Nus zSVM=>*sBDjEVa1O3Z{5+>4wBJr6lPn)>vBU%Hnt6{U5vpCym>Pm!E$bJGxyaDqvPz zolJydP^C*nMyCgrDca)@_cR@(tVH?lzM^eRhT$WJ;fpu@2%`@EBqv?dR~+(y9Z7Mr zHD%=fVze}EtAz~nUVIq9S{55vPbWO! zii}PP_e|eU)cjcz#xSKslqOqhMwkoUk+fWpX#RkVq(j=M)#t^=Pl!&87<~u6bn{Kv zZ@Ap**N{*O8EZkar1Dvl0WGf1Cz=B$!#S56hJX5x`!VX^Yl~=th*;MULq^AqPHZ|R z>{-P7XbmY5B}Y+CAa~`U8-N`?rTj_WT_%bCjF1DW^yDU#6qg;_AHdQ@8_TCAD5~k| zOG~RmTryuQU3r&q_k*TUsnyj&Y~2eb-eSwfJ{)%BC>${AbSX#S%gMyz(0oh>5#f~< zleUP_5JI3SLIA<*88MoH@N0+wM7aUgcfhIjmlH_PHfTfV;InY-Nk_uwGqK{0w~=gW~e13NREIet8@`^^1-85_JTObtoE21H*uqe07%eDo^@lnzDR z3@Hm#tJ>^o6jA^pfRPg}^9y}Od{Ko&n8Ry>#gZ({uKYp^k0vTzFUA_eiX-_Iv6iK_X2kA*nxPT z$NX8og@_0jN!QB9P@P`SIhTyV7ruTs1`qi&!1fFJp0%&+V~2QRN{W_eaztCE89_(K zMG0dkQ8fVW1EY0o_CCftZ8K3~wyd0@EzN*A8uMTJ7G^#*6E=65Vn8JaAODnVhbkGW zD^m1Rx}!Y0b7Ngl~WYZev&cJ11QeTVkq@MErKr%D1=$cX48?cR-vG?YGw@iHb zRH(9inZ9My&++Sf?niHrc0MvSN40T_xe4|(X!=G)SX7`S#Beej7IN22U%V>&V7pbul*dFP<7cO}-ZU5cICW8>ONpuN-FU=1EJ7&m1R)6i%Xl9ox^QJ^e~_{BD3!)jr9}Hn@IcE1ttRs2?`6GooV~DBJW#|) zd7`|qexOY^O54$g#~%0!UVV8PS_`q|TPt#r@`cL~)h~71nR2^Xi;IQbIm)lqq2$_? zW6}Icu(pQ}8W9W^{IW_DYL{NdSuqYw4hRixC&~l`;H@Cr2_jW60>xs|^HUaro)Bsp?Is63>qUd)QzC=tRcVWsFJOy86EVR(ssjKF#;Ipri1Zkw z44r(ILYW@hF=GefeMesmn2Z|{L*^ZcqbS5H7p3pm_tFdk1*b04y~ZI73gu6KFtw_H z)M+>^IbPIA24hK|t+t^?Dsybysg9cJk?{}u?w^A=H!*1#b zG&|TCFC!bdyDw5!b!>lU2VR{sk)_6zFj%GR=f;-tYW)Fsb`0nWm#S3mMq$Vt(zCBD3`T4rJ%~-jSW>m zsKzoVFY1wsJxGV>V~X6YJ~q+12!Fg0LMCH%8>P6V`MU7f1Cz0h5aCy&5OE7(NY)U91xecdA#Dmq=u*W;z<9tv_eWaTUn`@gWEeEkzzkdMv+8$?SAJz zygq*|(r0d(1Wm4*g=xQAC#e`EDx*6} z(!v2RKhVHZ9i}<{nLsOi8Is4hfucFnjVB(NSQgy#WqUmxU4E9nwhi-Nn#3nPn~(S(^O@K8QyV(u*JY;TH| zT5+sP_W`O>2a(@PnMm?xftR2ECEj|I{t!e{wA2cqkjSlx zkE)JNkk@Imv?H{2hg;J?>ux1fW!`za8!MJf^v?`QC?TeYXnGJVp8)FdfSA>;3BiZg zC~c$2WQo86-qWBlBcOR#0rcc+ck)7S=XK6iZMd(V?K_isH@2L*aOpH?PBInkUt+!j~8gDhRK#9Xx@1*^0V!6 zcO?R21&vr4`XE0cBhQDyRzl0R{gr$%IuaT7_AbNX1yd1*R-CP^2)G9QtLHq=G3CCA z#aTNN{G4`^l%PbpsUnqz1&>ayw0;$diOoOlUIQ|z`K!^AdFj2jdo0T{oskkY3hy*QtV3m#QEe+#c8W$jMw933 zTCoN%J@;_9+@V)@YZOB!P?>fVfF4m`hL$J}N}tJ-5ct@V&YhRh&JjuLE?v=9S7c}!cTpjm8tx>ZJ88BMTLP*bnx)t7$`Yx&m`of2WMydV^EfCx*( zA|`_nCM^vRipYi&!2qEGgitOvd}fbSahfpRucD}c+ih4l_a}r(%-W^S(8xG#H>%05 zRQ0@KNgw9E@FT$H{A~p?YqfK6b!&3_Lr*CmSPZ4fJasZ5Y3UK-IYyu^qAGL~tZp;lKja3mp^}+kl+q)4gBqnckxvhl=)KyQti*j^K*sh`h zLvI?ZUaq8qq8Y5dL^YZm(DFo~zWn^pv0@1|;;B`Q*8eGGBFo7*ZAm9-rSydAe6NFk zGQOz-)ADP|v95ewsLF5Kx&y10O#)B}jYAS%k(7ZU8A>jKl&DZjE9fmTU7{&M77Kp4 zAo9}V4bfBW$}%IMtz_YIBgf=>{yk1a4Y8#~U8vhNLXf^{*+y*J`V0Ro6}mJaNo64; z2r^TBN>ES_jhD(Swm!7tS>#vi7K%?r>RMZT-OKRAucnbm&Bdb`nL5R!DIgj&6kdy* z8ib4%l!Tf-#~L5A&`lI%YB@;nL#N+w9-4ukos0Z4RZLz1h~USb_#5QPf*!n#2B|!3 zB!9&3q2&)=kfmutiLrJFmQpJuYhS@rk3J(}K8V!BP{Dx<< zsr(U3TB|roUbQ`hz?_+PMhMjjXezW~IaB$I_-7uUgTCHMscOsj+IKcJr6m!Pq8!-f zhEhKItSu##JW*P)pdhtSp1bk8sdwY;Elm)u4ANLhL=|)4X#PwoFHMzUlxJ;sW>12o zr!}GpW3Bj5xYB*`*?VEJwenS!sf}Mg28ZaHOljNPEN^NJM(c=_r}SC<(n3e*#Ok#{ z{CfQQo(IbNCS%{K@YijkG*5f+*?&*>V;z*N32ITJE3~j5mFH5yS(zSFkWF}xtnsDK zZRd_zSn}HJ1_b49u9n{Fn5RM$M3aj2fdWSx~Dam9Gh{IwqPZxD+p8`R;8yuwuz10J#_L6bhjVAoeK{>Hmr% zdCL`|Jg7+zuSy=&1E>nWQYlIwnDo;cgz?2qA0EB;uJQzQE8`OzkESRpCj9BRwX1uu zaotb&c*rHMFf1f0Ob~e-J!S`#XCNF`y|OBAaG;m)(pYbaB_{iN2y4VD{Qe1g0JxR8 zyC;69Sg2b*w!}-*;|F^a7PcBR4V><*=boGmV6At$OW%;@-(;T=fiA>O;RqjUpltlf zWMTd38J^%Qm=VvE2{BPzyL^)@f*mEPtZ4g-+b8kdQ}VsRn7}r1z_%hJO?;u@@rTLx z{1_HJ;cH1CeGb-T0LU0=V{1`;=@X(~B|YIMV?XItrpt0sxgxx2^~pHNi!t!71Mey@ z!0J_Vv1~Ct+1|wH?5#13(T~Mx>C*R=YnimdO`K(|guOw-(Q%E6(HsDvBRHcZ13(H#)Qcrga6ks9h)-16BUYPNt^1Z<( zE`U0rmt)b&vac>wewLZjyRd$BwW;EQQx<-iO%;&T5Uzlmk5LrfjQ?cFkR7kCSn(pZB$%bC7)4fi>TJ=q7 zVQ*<~+8N<;W>9B4F1h;S0ER||3?M=dvFsBT`ciu{r*QxGbfK5kUnIG zgh?O!z7^x@`&FYa$g?`hJw>@xhNKMY1jEWy-yLZa0E|57M4WQgxzPPnboUO*wJvDo zW5*hrqPCPV42)n*sOq$6%8#+P{9kp;5`AfS!Wn1d{bT<^h1jusVsHU)A(ZlCn6z<= zDuX7>F^ewq#mY$eR@W2}mR#H)em4@8!(;@S|dsx`7&*EFb6@x^dUmGzl=iK=kIm7#IC-B(%EV}C zA)sHk8=yh6rr!Qo-gn1=Kd7?<7hUyt=s#erkE0IvX!j6-NQK&TfH~Xg5-hb#$;e8n zcF`n0h86>@OeZkOxO&wT%z9>p;G)%C+@>M6vlMf>H<8C2ug$#=z($5fCgB*)k-aL{n=Xw)b zE-k5R>ejHWD4D&rw4h9DGbqc25n% zNAr?EKbc(nst#Fx(Kx0gE!eK4EUzskIYZ*AvIYR#iEIAsR(xpuXi_+)U;xc9 z=xHupmQA^d>hjXG{2%74|O%S3+#UU7B zG-Q5?pd(es<;q0pY6>jEcOAl}r2F+d7UMtiHFOT{5L9Bz#JU~5RC#S~I^7bR$8|s{ z2r0ioDzxH+Z&JRMbk6U(*>TdXuA0n3{w=LECj3Fon!6n6m(|Px5SJ+eU43qBxUVWL%%C@aNm@#c4&i?TDs?Bu#EuZrqb<_T`VZQ@l^w`VKgcfKy zAdm-1&!ab|v?L;u^ho`(ZLAKGUz0&=J8<%u-^QX>X5#5-)ORW8eQKPcq^H16-Tbc$ zF@2O%;w~Xq?j`f`xv55$`8BOBc>>AH>pK0s!!hoH+hIu@71k&qlENVZQvk81IAK(v zIIT=>kE@E0(u1<36^M_`5kW8ZeWq2*?!!A<*O0{A=l`EK1MTfVdwY(ywhZmpf=k$a@C1*|%1&TxI9r*1dld!$p^?TL# z@Bd(4<%jE=OyND_sKJd-O!3H+)K&d<`J~RDHn$3jf&G}??V@haQ7w6E5%kFt_ zd8M(-uyaR_X%9~V>^6QziuO?iaR$oDMTxSsNI+9ldbXk?tMt!8(FGes(vV78&e#fm zq}zk(SCiq?v%iH8jXy?kq|LFEi^x4oy`TXdcb^6y`qEUT-2|pJ)uemVN$cq9Yvj|< z8-vk@O^7W;iB&To0w5HLOXsMdN>IU!V!eHFBZNq?`0TVZCFRhOLRT(#6urpu z{$ctgtXtEK(9!_|-c!{1Mv6 zodjr;Ystc8=;@it(I!PCgjVoVSe6(t+6;-b${QcADMM0k^a~*bB?n4N8mOr6Hp5G|w2|SGoSPb-N3do8&0=lAnP`4p%rIXAlJi8FT z{q+-N?ojA1xI8Z>W2tP&axiFzDbpZPkIrB*VaOQzC1I%`EkSKe*}1ri<{|HM^>O*x zw4n#jJYIe#Co-Pyo*^j3fW_*T@H_f@g9PcYjUQ?Bq~UTwLUk8s5iVhsz6#DBDgt%j z=u7dXTW&x{|JWRMAs2r!H;)XmObUt7GO=f-287jOCk ztUbGku%U3U_r#2lIhRietrn=`o(Y2Gd3+!OL(!ZSWn`URF3BW_m7z*FNGpZhinQf# zJb+E>*URRSKott$`<$V|tW+>+)uMdHA3d5aXjs3T%)J7Xv?#(2wPxsUc;bkH6QnY--J!3Nb&JEMMoliiHg4U3M}?9sD&P<9CNdPE8is zOR^9`Yr~07m0+-IL@J^`aH;J$QHC^>M&*+2IEs24kFlc;^7A-F-i`R}Blnihc0i8f zKKmj>Hl|Q6Oxc>e^d;q?5|NY4cD|35h(Im+YQIo^S@p1mo@4uy!-%&;BJ- zblRH^R8~CFAeFkY$MU)h$~*4fAF#LJYBfXgrW* zD1ULf+R-!R?woPUIXAg1=OfUmju*BJ8r@vQZ633ywjG2^f~2xr?h0qpqCHoO|4_=kWZ^9EVgS{=gcd@m;do5z@Dh0 zBsy-|p-h@T*lGq51RzYbx`0c1>gj1mizqg_o8>2~76d((M3j=xN(8^S?ZNWJKgag& z9)uQ-7z@`nx}#S*!)Y6g%~W*9k!e<R{j55|@eANS=t{)5^=U6)c`1e%RA*RSrC_-waEUAxf z6vWV)L1o|p;D7`F2A5oYYRG8ReIrqm_MFO-TKdHl8jFie6mJ1KNx_cYBSF&qynv#=2J6-MxX{bcW&xF%}OE^suaZG`incjJOE}opM z{oY_D0H>cv6-!mt+PwU5VdW&RmU?0wi86NiD-aNI%9~0t8L=zKm2m0gFY}ynzGx2N zW#^6@OBYQ7%#N@=_vpq#Oms`~vt=8?zGYosW^lW~6y2z@A`F)sOCxx7hRmf?CFR=z zf*2`}6sgJTY5f3zf%wSBevIKG1|tn#nuI2sW_3QV-KwOOd@)U|Jva4L@v_4X7>+-> z_D&cx06;i+%xVT&0bZbdIguxdo)G4%4JN!*Palhk37OZ#1wN)U*((_aSpLS{ShH%Y z$i>HT*#2c*ZAe#1Wo!9323=~xd%!85Of4rvHSa5bm#Qp5H+`u3Je$!fcbni4h@ilTgJ%ESOT^TM=@ zty{AVGpFBO^3s6km;zF?4wai|kVa7ESIRPEn_`%ZJ@a?bbo!iFHu&Xh*`{F!{1vYJ z(@V=tF<({P5e4CD2tvwNChL)9eA!lxAEcaSF%7#K^ zk)Oe3f+AwtMMi5Y%W9(XYgA)N;t*C=2^8|X{4sLwx@_?j%$v0YsSS=Z&I9`Ob2Q0V z81SWBor0uR+vI?)d{!KB>axS?Mu^^M*mpmT0WNnh{(c&OMf%YNiGUllt>TkkUAj~f zmKRfvsrq2Tu?`Gg%4kaToyaTEzd;AaUvURUjB=kLx{(Hy7K(sr>k*yp zmeTohU>m0W*WKdNxS=3*4hDAX7>++Y8rB~}EeT_vjyFnN5V-8FT)GB}Uwxz~*MdS) zpX>6+NSJtEXiCM#(v=WxQj>ls2#}>4puOJ__|h%k#fXDiId(uplT}(Bz1kBBO_yhT zx;~ZlrNaRScHpW{d<$)Dhxs^mBteXXHpmkFXnAdLQwf|bpiVlvWDxl^zeuuND#}}|S}dWd^|^|0FtHx?K={90Ue zrTlhQ(-23>tplE@zDfC{_N2m=8DZi4%RhnPBd+1X4T4w%y7K<22)!80ZsL}zaX|z; z`go}*$?`$^NRqw>DadrqA%xf<$E;^2Va=)@g;Q<;k3X5mTZCtzOqtHxR^@SMl=-~8 z@^VW;PM7*@U^3D6(5X&$Fby)iXJC~UwyOxMSH6PH8=eW5Y(SuB-C4dyf%JC_LD6W{ zIEsuh84PF`Vzh}rf^D|w?6UV&wM^Ec+!gM?xC?H_Y3CdU-JPHui&68)dpTB;R!k2C zb;Xv1lE|JQtk#s>iDw*vb1uFK79F~Uq|T!<$Sr4Youq)dbO{|23M55GGoy~Z=xJ$L zUS=b(-I8Z-jTQ7)(O-sFW=m%~9YYas0e4)%`<-Gudj7>x2m|l)a*lTHv@hujWmF)r z90pmHM$T`!uQ(VI2b1HyM@iuhceB>5>A@dLG?jCLNCik01G^OfuT{HPuf=&f-a944yOR! zGs)|bo}$PY4R;$;oGGJ6=7d~{Skd0tmn57b-*@PhxZv`?K>EZ$DlVqb=)HDqLWV$g zV_TM~f=xrKN-o2>m)wB;hK&!Lf|~z_EiFV|CKr~;lh13*y!32}r$w%YTzN%8F%qjr zQJLq}a=NgnJ}{^;N7~~70I4T90c|(p(fjU2?uRPwpKNO@(Gf#Ld4;%KJU!j+jw*OR z4POS*Wgk7(p!sL~ce7kM_v(&+=Jbj_$;cp3E3R*cFPyg-OJ4hV!JZY%qVmtb??=%V zt&<22d)>=D3&GOl)g{QKox7K`LwFBnNM%_~2|C^wlBDuz$kkMBuh3gN&b;tOoO0Gt zgm7vTN8ZywjfyldP0F+My|LtrRoEKMKfd8aoPXH_ShTYxodY&?yzplJ zNCNu~R{2~^7;u*`{ooN6VjK#6g2`%30rr#ZVRH$d1*J zv^0(~pE@p*cI+yGDbpz82{Krv&Ime^X}&F#My#v_fF8Us$&7=x&+JE zK}WU*Ez@BNe-oo69ppAgwKG`Mg+_SVRrsy7H+tZ@2^GuIF5QDFzQY*Z!(Ms;P&4?&u}vsTu#b@M_@pZX-? z2lFDv#}s+|$NS1>zwC3*B+fV*N?#e0kMVEZyv$gUsvZS>F#>cc3Uu_RJra|-qV4lv zngp0`o+LVzy{N3#ucW7Bh4ddoH?h20Ss6uWT9KEbK_Q#!0oqg`a%+*{tc(5{$DKS1 ztuF~vKB_tw6s5rsT53x%7E+oq#zZWwsC(q-0fiMO9dE(WhF=br3P>Uk>EH3?odpq= zCOAB&1oic!l)6#-4#^9)A{_ zHp~^B$gkcfMgM4!eHEd@^3wK_GR(1`LVb~Xj1uSK>1sqp;@XP9qNXkFa6eEShNez) zDjQ8f4owRjvr?I8JBIXGv)E0QUWl}&J}?!1z0(7fG#_mULb(W*lQBz9pIv)N)UI7?G3EaIL}ocA)pgXt89F*BV#)-s zIYXY-W+ej3efx{Nl`#5``yuC(+SM&lgKry=E2X`K!J)g9j#tf3M?=NihP6Fdx2F7+ zXo-y7vouB;FEX0QmJihEfE!#F*%a{vD3n$~c=bBg5*atVypzwUg47JG1&ryzo6G+X zRxVkF@Te0I*Bjbqh~`sG=?=NX3?fr;GBow>Ym9_t7tLRThbDa-eSI^EXsNism5)zT z6q5`s9Z8^8S0Xk`gu<0`11os;v}ieiz2*~GJZi-Stw14@{2SL#!OPDtA-U5qymK)1 zUjgjwlmDJO-!(Mi3k_A8X?v|n}k1~Z~aBVSF85vhKzN&&M0Zq=VyeG7!QPgO8xf1Ct2zd&P2I&Jf zS9-8&*=_j2gbCQV-YFRhUYh6#>h}U-sK3tVsvxYC)|BZ@LtPnO_mh)X;h{;_qqk=U z6C9wjAkL}ROi_(NR&D=-d~DBTem5+DAFNNZYMCP1TJ=@=!ZayE zgLOQW<=fhU5eI1kAC?7jEO==Zmb~^zHP(a=dREWZMR`-?%}6?=O)M*oqeLkRbLfrs zpG1P-JjxwnDYI5wnF|3T2wKH+4^}O|4L|s&Td;Ax_SQr!$Z?1v-zMqW^KL1krlBeH ztC)In@+v$y>3a0`PG=qM1ljkgL{!RPBJ%9wq<{pLs*HE_OT8D6rRa>*t0`ETUtLy6 zzAd3k@^9NZ8&6Gn25~>66p%`x(Zih-v4!m~5t2cLv|K!L_8W^8z3P~Pdv@bz96d|& z(#h;;lkxU_n^iP?o0^5Er%eK|m5nv)SBjS1ec85vKgYY}bUZQ#M1R14VU+ci5xk(P zKR7prkiL!Op;r>rSCAynwg;=0eFs1Ir(3XTeGhb>)9$)|VhE~f`6!g$oe*On1|#)4 zpL%o^9-R1b^z}{$z{Zv#DGAqIIt{54=#F@0)vK#SU*cAeh|r+^HeZBVS!vM~1q+8{ zXu8eu`zI!rLM2g^j-2<|w?HR8-nTOkwQ`B53LdE+DH23lwZwC@iKAcAq5Ul;v_odD z4Q{!4>e(f27UJ%V*XGT|mQ6F+GE7=1nih2>I7FtQO2<1{4fuOWgVd#_NxBe*n#vWe zJI1$5qlOd^{oRLE%fEvkOqfv06%c|B7Y7ob+Nn(`r8>hy>&{XcV}w(o=~iWZcxp-) z?w@!)`g*6UD-AZU#L~$>T1DujLerp=W+kooQ|hMAY>7%}`XvU*&q!EahV6EWdiwgh z@cM#>p>Kfbeum>tE`BM;(=|mN&x5IU2Nvq7mVrSlh*oX`6U`{vmADxm*k@g*p|k{9nq=!L-ZpF%xG#^ zG=xRyy0(N%ZJnlk!=s4r!<)(sk(KmA$)K&ITs*zXdqB|2 zU?E^$DJBiL(6I6)uXIyEwrlwt4`AM`^@unp%Mki=ihA;@DGtSeDhNV{_OXU;={tf{ znbWw)OVx6sQo2?=7Ye*`%(u4#`wf=@oo@dduTDj8&oV~e_p#)KTxoi-4BQN0Hh?w3 z5}JWT%Vkbm9mE3b3&M<4o?3p@SQA+bm0pfFmruYQH-8hGH};8wDZi5LCv6_;Xa{w* zl@GL=Ge{d6#zCYz8nP<|B#F|Hp%BF7i{HlETc+XzC!UJT99q;uCb4!X&%frN2!#Yr zbO1e~CYG~-TqQHPq`samJU`>B_~{S6hNq`ZLie_r*#E$h81SA$U||?vqB&JOQD(;M zz;7P<9G1PlmgJ`6gn?caeRLytvqUa2a>jF%1NE1<6koQpCt-Bx`YWOg)Z--$fDsvKP_Zo&6& z`WI~7+yg!;!Xo>Sk@Q#|moHYnPOoV7S*oy{HnSpQDEN9vG2UvZXf1zZ8@6nog5yp; z4JJEO9bY-tsR<(UXylOxci5n!lU<2#g;O-yZf!-czEZo(_bHTXuj|~QPTBfYrBrRTa zCQ6L9T?&3pXZ!pOCShY2 zj7-$ZMvQO8LypxeZ^HL({5Ia+;(S(AhEgD0qUgkc9P#qbeF0T{+CvBtZxIUfJj-(%ja1%yK?WEpwp3haW* z3x!o2HL#U9mFT6|4J3VULsU>4ZLk~}iHTD^W^n7-;`>>aPuSSN38hi(M3(eQq&0MZ ziy2cRG}Mq`-Rey^^TH3JqyMoX8x(yQ0Lan3?KgO8@?YVnKe!VwJ+~CQcI{#m`+EB@ z_k{&m+x0698!-YyhJL_nA=h`hvf$&a`CEg&BD7ThEFE^zFs2ZVGpsqfR^Ei~-S{1% ztU!nq{guA2Lr@L~N&j}!@9+I>++>(tz5Dlo7PXp*wan}a46p`aa`K^ z=fDxFECYgk5W)piH%62(fVDF)@%z`}SHE}^TQ}`Q=wqtdwsCzoUi|%RESi5m_8Ynm z!$*7oF#806+uiTVm*TMpzKZp0dI`r=$aJJN_B4w#FSNxkJzK-j6iOxJzjs3f-gre} z%P3prcQqKY#IyyyqF@dfTOA~IWdxe@&#wR6lGTr025W4gC<*WRF5rnrAVS)G(bsFx z-o6>f9Df~P+e-dPlglpHvHe;6_L0BFPyY2^FlXi>?C5sB9bKMRuiS!JPfx*n1}(%P z@B0vp=?qYiHx3Z`C4f;?IV!_K50wT?B#2C2E=h&PEL5z!24fXLW@I>08Sd0l@s3W-nl+AqqI>evf|uU#b1H&%2$7!J~O2c&Km64Zi&KjeOhmPm%p(B z=UsXg`gM%th{XauJqz%}ufBr2zV~&!{QNxZ+}C?Od~hl(j8 zAw-M}5iEl_n0UvvcyQvqcxT(rfbZ}*jLUP2^>1y#tfzm6MX%h4{e};~@DazsE#33H z8+ZTk(^&u3Rze4ePtJ(TzvbznI;N|DiUhp4d>gZ1Hy0R6jJULjwKFr zD`-~)E!dLOfbasZ0E;$QbPNF2tp?s)9_v#*?An#%sAK!#fRUH_d1=svMf3j`e(|HP z;OS}4qi1LAgm(;SRPn14(9>&qfuEvmIX94K%nxhD-G^zbuPy6VP< zr;y{#6*uDcZ`@WQD-B3ES(5!pS7KTpXa-Z}(G*&0ZUi))536oD7t??mQ!yG+TWU1w zLeXg}mu|;~wZF#LQ%{E_NJ|c&WRKPsZ0$zwr4^);tcdHw%BA1IgfD#>OBOE0u3g$% zJ@%}JJkPQIt&MnL##H3?A-wOHA;_|Q@%sE*@#|ksL)dq9G%c?EG|)L1(bqHBkEzPE zs>z@`j6PmWI=~?z6nPbgexbDV{*Zc1wzJTQ8BAs|Zx*m}X{zlsRP}9Gw-BeDdjhfy zSiIo7_}LFXjYseOJ=U(?-jrA}^z6*>+*7mAwctD=3_dC?NNUt=c-ldASxveb&Ogr+t zk98ihj+?er3$cI0!kZ=KU!gSJ$|8IdN_og~#OnKY7fp^2t8 zShe&WY*;rLC!BUNfcG*TuURk3dCao8duqWbz2d$PT`T_+KmWJu@!LmUMQ^W5m5|vY z?3);BjjizkYYlAPR~ndHa7C{ce84T*+JMWi%W&ieilvl1gHF_a;)_-zx(;Yy`0IWnk-OAe2wJq~P*xEeb^?zeeHn zOFm>;lVH%-+l!~C&BXe*rs9M%P5^LFm6{UNCe#T6mK#dNwGUk@zK-vG{Z?#y+xg?< z3MaPWiLHw2b`RY>z~_J*11GDLW^$z_5r7tU=L9RQMAC}Yk>Vv&?u%DF`VUwS;7a%uEMB;KaZjNZzd>2YeUR>#M&yYP7{PCQAKgz z(H}VfvJC%nSMe)31^)`d5_J8mHkQz|)vGkFZ|D+RstEwF?vu$Zq1-Jj=`)oV5FxMi zK-5*zvH%7S0{-DP;B)@~9D0QO8fo3h|0a3%RQ8MVor80{@BMRN?Rl{HX8_%5zqtq5 zUOLrd@5okt<1T%$_C~a|-G+Ys=?V7K33C}w+mV)?`ZR4GYw4Q&=K!C&tw7*_5W>k> zMIY4^r20hCX}0vsGGNr9z_{~)6UPDj4Xc)90Qpf;16Y(_RA|6c zfy#2`NQW&9hVj36lPf@>tk-p=|K*!%7m)dMY*vl|Pp`^@j7e5LSKpF1CdZadz_kAY zWr;HUI)`IM(}g{852<6LbxkY2s8$AWPXecF3~=tHz@Pj% zS+fH$H~_%iu=XOhmIsI;5`!*boCq{`f_hPA$N*;xJ_7;_6?Z-Yf&VN5KrrVF^^ zW?fu2yp&oIgUCu!~P?yB~;3Z z?Rcem*%5>iIfdnviBa~GKPy#6T2s~`(?tDr(!ry@oYAi8lDs*TNBYUrBW*;6IWvLR z7v%WEbYR=oI&=Z-KANhYhmQn4_xHf)!zw-~O67fZDPX@1m@yRz4M73^3nLyWlT||z zb^w?F*xLZp$N93rnyw6Y+?-?Mx=2%0wA5s^kfITj@up>cFtLOLk-9u}mZzy8=<(-Y z23-4Tx5T4AWnPpio<{1mEw6RX^O@H+?RIOWU?M;)8v#Brh0@ns^4htZ278n;z6Y9r*a?6}dy$ zCcjZ{M*+A627d~R0dYj-Rty>fwL4(V1Q>f;VQjU21@P9J!1r$kQCh7im{#WNp3HwW zm;^&jCsZpHH)T%GcfsX_vI;+m98OwmN5Yti04}btjtyuZfN22!4!|o22hN4Km9{p= ztY?6Gehh5eTE#bC@`XY(>W~~qAD7|WOLB}H&C@GHQRi#f{V}Q#j*>2YOIjW7`|l}G zA9dhx+F`atyEG+;V!62Jl?*RDotHa|={lRF9e6PCsV@SD9f@j*+H?_P0hkT|R|58% zfH|UJK^JxaxCOxX0O&^-s6X?qF5vq&K|xx3vKrd6`Q0GjyS*gbd*Oo1fj_<>ocP`k z0>#jlO3UJ6B~73z0Ki%Rw*vSN0NX;V&IpJK9pXanE&Pflz)$aNby zRlo^nK>giYkA|EBI<_QCASCU5GxdrFd1#+e|B^^^eiiSBX-KySF{McIx{%@8hOc0_y`^tuBuw*dBg zfa!_1S6tVw0dBt$*tov+Hvc~gd#bSBEhWY2j=uu9=2Lw6r@imT*YYkD%R}Jeqye{> z4&bXWm{T2cWV}?%nQB>B38c<{hQ7WW5B?;>3r_=YZ%M)K>UzlgfWwal&bcJRsDlZT za^F^W{-M%WlmsR;AN5sHADr;3cqO6|bi4>9N9t1x#t@dsA1w~Ri2nA!q@ykQBT81= zSp$GwyMVbb0FOVMVeOh6Z%0uVm(4>C2ma(Uz!C3{Gf$C?7Nozfh#UZz>j2yWi$eg_ zZ2?%jqj0cGWMwnIlg;aL{>7p%*R9U*-5YakT2EyV;0kO{=J;OK5$}c%tJQL8S{Gdj zT=j_(yx6K!-42$|TcR7?ppFD^7c4GSRtH-Fd>g>O0d_MfFA}W%aNB3 z+=Ndk7UzQEkI_(5ErKI;X+FmAN{on`lr8d_YU`Reff>I6-dLDn+3Run9d`lnvA-zK ze(i<&F3qzkf;i;j4fv{uF3yEBl&Q>89AQ3I_m~1n$#%9u|KKgBe80M0_~@ z6Db6#M6N{vCm8VbdU}9Ieh$q19ZCzHVNhp|Q_jk8?xi^n9PNs_*cM-#Wuj;ABQbjS855GxK z-S_MSUYQL%GYwe27})l9k-Kv+aQ)|iV^7S`uRljIb!eCMLF2v}2;c?)Hv;y6GQJ0} zHv;DSu(nTeS#Wv#JY-ngmE-$20~^-ze%tf#t{|+vL3r;ftPg(_xZ;1fUwMfK zb$N)G&>R4ZZ^B> zpDfXh!rxn6!1O5v$T|07;DAvIes6h$E7WqwE=NL?~Ncj8jTP+88{@dip? zRak<4HAzH#P`8VtK1O{zJvOPRFG@P=tNGh> z=F>Jq*ioEBTew_x0O$ZrH|V^IAxJhB-hBd*scPq2T^auMmK^Kf+7kukf~H5Xo3sE_ zFF#8HHgcu+nG!GKV(VU^@=3V(>I|2E%vQ+Cf7H#A0k#0BfDx-Hw3UGq+Va`t0D54p zDe1Zo#$~01=Vdtu7f>P<1NVtvmR8d6Ioua9%jJdpV4hQS1rJsJ>P6(TjRtU^WPvf^ zBr5yFe{|1Dsux1~HPP~AXZMjklfjagnkm|Vc5ZW`XEE_ zbyMTBRNo9V)u)sBmr%=mhR~$r?G+qpzgG^nI@AjIzOt;(X*uiB7XM~g1tS*f3^UxiO2z@v{Kfs>_f9$8MD54-p zNgcR4A6JAnYfBApb$v;FfFS}TJ~mm8dydUFZOmNX`1V8)TdU8MZh3EFWlG-EubX;0 zg-`2W|1rb*HBEJZ)E6$q{ldEuntpLKr3GEkv}N6M6)w33xcoY|49s9eUT6Jd^Vc{l zA>+wkG`NXcT7u#;ECz=C@F77QHY;aORffld2t47*md~a_iSVENt)3-aX3eR9$@=Nl zmi0)wl)giAhQJ+5?pgmto(<_^GB_2=M0j=G1BWasI&R{zDkOq%8Dayg)F;zC3AU9f z^Vv{2(Ryi`_N-`%4&6S>m<*6NXp%>c#m8z=b1)i?v?#>7_N-ygIOaNJ2* zxjaHKP=&y>F$&i7IAAT4r)57IvVg;3r` zhh|vcq-0I%GOAD*Z#hQ~9=y4+b6;uTw1cW?y~O&|kMgKYv1E5`Cs*P(J>b9`2OSz|$A3%6L1ZhY zkZ9(2KP+1$W3td_m1rYSWG)?X!z&TItc%vi@+eA?Rwk95yBfh~OqRm7R0_q?jDlCM z=puah@}4ifKEN62_)aT@62TX>%XG%8)^M^E3c!x3%0~^Br_De57eed0@``e%V`aIK z3qqtmE1vzWBCM>fvV4kHRJ`)f_{4dQ;TS`Oxm1LP+`D*L&;JME{{r#%09(@AW99$= N002ovPDHLkV1mJUmNNhV literal 0 HcmV?d00001 diff --git a/.config/fastfetch/pngs/opensourcee.png b/.config/fastfetch/pngs/opensourcee.png new file mode 100644 index 0000000000000000000000000000000000000000..87e73f5c9d2a53fe6a4361e7d1070f69fa8b6708 GIT binary patch literal 7528 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 literal 0 HcmV?d00001 diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..482cf8b --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,61 @@ +set -gx EDITOR nvim +set -gx PAGER less +set -Ux BAT_THEME gruvbox +set -Ux MANPAGER "nvim +Man!" +set -g fish_greeting +set -g fish_cursor_insert line +set -g fish_cursor_default block +set -g fish_cursor_visual underscore +set -g fish_user_key_bindings +set -g ask + +#set -xU MANPAGER 'less -R --use-color -Dd+r -Du+b' +#set -xU MANROFFOPT '-P -c' + +alias grep="grep --color=auto" +alias fzf="fzf --preview color='always {}'" +alias pacs="sudo pacman -Syu" +alias nmaps="sudo nmap -sn 192.168.0.0/24" +alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u" +alias kittyimg="kitten icat" +alias dmz="cat ~/.config/fish/dmz.txt" +alias vpnhome="sudo wg-quick up wg0" +alias vpnvillage="sudo wg-quick up village-wg1" +alias xremaps="sudo xremap ~/.config/xremap/config.yml" +alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf" +alias obsidian="cd ~/sync/PersonalObsidian/ && nvim" +alias cdots="cd ~/.dotfiles/.config/" +alias dots="cd ~/.dotfiles/.config/ && nvim" +alias aliases="bat ~/.config/fish/config.fish" +alias ipadd="sudo ip route add 192.168.0.234 dev wg0" +alias copy="wl-copy" + +# List Directory +alias ls="lsd" +alias l="ls -l" +alias la="ls -a" +alias lla="ls -la" +alias lt="ls --tree" + +# Git +alias gs="git status" +alias gca="git add -p . && git commit" +alias gd="git diff --word-diff" +alias gl="git log --graph --show-signature" +alias gla="git log --all --decorate --oneline --graph" +alias gm="git merge" + +# Handy change dir shortcuts +abbr .. "cd .." +abbr ... "cd ../.." +abbr .3 "cd ../../.." +abbr .4 "cd ../../../.." +abbr .5 "cd ../../../../.." + +# Always mkdir a path (this doesn't inhibit functionality to make a single dir) +abbr mkdir "mkdir -p" + +zoxide init --cmd cd fish | source + + + diff --git a/.config/fish/dmz.txt b/.config/fish/dmz.txt new file mode 100644 index 0000000..3f99663 --- /dev/null +++ b/.config/fish/dmz.txt @@ -0,0 +1,30 @@ +                          .dO00Od'                           +                         d00000000d.                         +                        d0000000000k                         +                        x0000000000O                         +                         k000000000                          +                           ;0000: Okc                        +                                    kkc                      +                                      kkc                    +                                        dkl                  +                                          okl                +                                            lOl              +                                              cOo.           + .lxkOOkxl.              .lxkOOkxl.             ;OoxkOOkxl.  +'O00000000O,            'O00000000O,            '000000000O, +O0000000000OddddddddddddO00000000000ddddddddddddO00000000000 +c0000000000c            :0000000000l            :0000000000l + .00000000.              .00000000'             '000000000'  +                             00               'd0.           +                             00             ,d0.             +                             00           ,x0                +                             00         :x0                  +                             00       cxO                    +                             00     ckO                      +                           .c00l' ckk                        +                         ck000000O0                          +                        c0000000000o                         +                        O00000000000                         +                        .0000000000.                         +                          ,000000:                           +                             :c                              diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables new file mode 100644 index 0000000..3eb383c --- /dev/null +++ b/.config/fish/fish_variables @@ -0,0 +1,46 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR --export BAT_THEME:gruvbox +SETUVAR --export EDITOR:nvim +SETUVAR --export MANPAGER:nvim\x20\x2bMan\x21 +SETUVAR --export MANROFFOPT:\x2dP\x20\x2dc +SETUVAR __fish_initialized:3800 +SETUVAR fish_color_autosuggestion:4D5566 +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:39BAE6 +SETUVAR fish_color_comment:626A73 +SETUVAR fish_color_cwd:59C2FF +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:F29668 +SETUVAR fish_color_error:FF3333 +SETUVAR fish_color_escape:95E6CB +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_keyword:39BAE6 +SETUVAR fish_color_match:F07178 +SETUVAR fish_color_normal:B3B1AD +SETUVAR fish_color_operator:E6B450 +SETUVAR fish_color_option:B3B1AD +SETUVAR fish_color_param:B3B1AD +SETUVAR fish_color_quote:C2D94C +SETUVAR fish_color_redirection:FFEE99 +SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dE6B450 +SETUVAR fish_color_selection:\x2d\x2dbackground\x3dE6B450 +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_vi_key_bindings +SETUVAR fish_pager_color_background:\x1d +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:B3A06D\x1eyellow +SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_pager_color_secondary_background:\x1d +SETUVAR fish_pager_color_secondary_completion:\x1d +SETUVAR fish_pager_color_secondary_description:\x1d +SETUVAR fish_pager_color_secondary_prefix:\x1d +SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dE6B450 +SETUVAR fish_pager_color_selected_completion:\x1d +SETUVAR fish_pager_color_selected_description:\x1d +SETUVAR fish_pager_color_selected_prefix:\x1d diff --git a/.config/fish/functions/ask.fish b/.config/fish/functions/ask.fish new file mode 100644 index 0000000..3142ec6 --- /dev/null +++ b/.config/fish/functions/ask.fish @@ -0,0 +1,3 @@ +function ask --description 'answer from cht.sh' + curl -s https://cht.sh/$(string join '+' $argv[1..]) +end diff --git a/.config/fish/functions/fish_greeting.fish b/.config/fish/functions/fish_greeting.fish new file mode 100644 index 0000000..7db9545 --- /dev/null +++ b/.config/fish/functions/fish_greeting.fish @@ -0,0 +1,7 @@ + +function fish_greeting + #curl "wttr.in/Belgrade?format=%l:+%c+%t+|+%h+|+%w+|+(%%M+%m)\n" + cat ~/.config/fish/greet.txt ## populated by cronjob + date +"📅 %d. %b 🕗 %H:%M - %A" +end + diff --git a/.config/fish/functions/fish_prompt.fish b/.config/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..152cce9 --- /dev/null +++ b/.config/fish/functions/fish_prompt.fish @@ -0,0 +1,14 @@ +function fish_prompt + if test -n "$SSH_TTY" + echo -n (set_color brred)"$USER"(set_color white)'@'(set_color yellow)(prompt_hostname)' ' + end + + echo -n (set_color blue)(prompt_pwd)' ' + + set_color -o + if fish_is_root_user + echo -n (set_color red)'# ' + end + echo -n (set_color red)'❯'(set_color yellow)'❯'(set_color green)'❯ ' + set_color normal +end diff --git a/.config/fish/functions/fish_right_prompt.fish b/.config/fish/functions/fish_right_prompt.fish new file mode 100644 index 0000000..5fd70b8 --- /dev/null +++ b/.config/fish/functions/fish_right_prompt.fish @@ -0,0 +1,161 @@ +function fish_right_prompt + set -l cmd_status $status + if test $cmd_status -ne 0 + echo -n (set_color red)"✘ $cmd_status" + end + + if not command -sq git + set_color normal + return + end + + # Get the git directory for later use. + # Return if not inside a Git repository work tree. + if not set -l git_dir (command git rev-parse --git-dir 2>/dev/null) + set_color normal + return + end + + # Get the current action ("merge", "rebase", etc.) + # and if there's one get the current commit hash too. + set -l commit '' + if set -l action (fish_print_git_action "$git_dir") + set commit (command git rev-parse HEAD 2> /dev/null | string sub -l 7) + end + + # Get either the branch name or a branch descriptor. + set -l branch_detached 0 + if not set -l branch (command git symbolic-ref --short HEAD 2>/dev/null) + set branch_detached 1 + set branch (command git describe --contains --all HEAD 2>/dev/null) + end + + # Get the commit difference counts between local and remote. + command git rev-list --count --left-right 'HEAD...@{upstream}' 2>/dev/null \ + | read -d \t -l status_ahead status_behind + if test $status -ne 0 + set status_ahead 0 + set status_behind 0 + end + + # Get the stash status. + # (git stash list) is very slow. => Avoid using it. + set -l status_stashed 0 + if test -f "$git_dir/refs/stash" + set status_stashed 1 + else if test -r "$git_dir/commondir" + read -l commondir <"$git_dir/commondir" + if test -f "$commondir/refs/stash" + set status_stashed 1 + end + end + + # git-status' porcelain v1 format starts with 2 letters on each line: + # The first letter (X) denotes the index state. + # The second letter (Y) denotes the working directory state. + # + # The following table presents the possible combinations: + # * The underscore character denotes whitespace. + # * The cell values stand for the following file states: + # a: added + # d: deleted + # m: modified + # r: renamed + # u: unmerged + # t: untracked + # * Cells with more than one letter signify that both states + # are simultaneously the case. This is possible since the git index + # and working directory operate independently of each other. + # * Cells which are empty are unhandled by this code. + # * T (= type change) is undocumented. + # See Git v1.7.8.2 release notes for more information. + # + # \ Y→ + # X \ + # ↓ | A | C | D | M | R | T | U | X | B | ? | _ + # ----+----+----+----+----+----+----+----+----+----+----+---- + # A | u | | ad | am | r | am | u | | | | a + # C | | | ad | am | r | am | u | | | | a + # D | | | u | am | r | am | u | | | | a + # M | | | ad | am | r | am | u | | | | a + # R | r | r | rd | rm | r | rm | ur | r | r | r | r + # T | | | ad | am | r | am | u | | | | a + # U | u | u | u | um | ur | um | u | u | u | u | u + # X | | | | m | r | m | u | | | | + # B | | | | m | r | m | u | | | | + # ? | | | | m | r | m | u | | | t | + # _ | | | d | m | r | m | u | | | | + set -l porcelain_status (command git status --porcelain 2>/dev/null | string sub -l2) + + set -l status_added 0 + if string match -qr '[ACDMT][ MT]|[ACMT]D' $porcelain_status + set status_added 1 + end + set -l status_deleted 0 + if string match -qr '[ ACMRT]D' $porcelain_status + set status_deleted 1 + end + set -l status_modified 0 + if string match -qr '[MT]$' $porcelain_status + set status_modified 1 + end + set -l status_renamed 0 + if string match -qe R $porcelain_status + set status_renamed 1 + end + set -l status_unmerged 0 + if string match -qr 'AA|DD|U' $porcelain_status + set status_unmerged 1 + end + set -l status_untracked 0 + if string match -qe '\?\?' $porcelain_status + set status_untracked 1 + end + + set_color -o + + if test -n "$branch" + if test $branch_detached -ne 0 + set_color brmagenta + else + set_color green + end + echo -n " $branch" + end + if test -n "$commit" + echo -n ' '(set_color yellow)"$commit" + end + if test -n "$action" + set_color normal + echo -n (set_color white)':'(set_color -o brred)"$action" + end + if test $status_ahead -ne 0 + echo -n ' '(set_color brmagenta)'⬆' + end + if test $status_behind -ne 0 + echo -n ' '(set_color brmagenta)'⬇' + end + if test $status_stashed -ne 0 + echo -n ' '(set_color cyan)'✭' + end + if test $status_added -ne 0 + echo -n ' '(set_color green)'✚' + end + if test $status_deleted -ne 0 + echo -n ' '(set_color red)'✖' + end + if test $status_modified -ne 0 + echo -n ' '(set_color blue)'✱' + end + if test $status_renamed -ne 0 + echo -n ' '(set_color magenta)'➜' + end + if test $status_unmerged -ne 0 + echo -n ' '(set_color yellow)'═' + end + if test $status_untracked -ne 0 + echo -n ' '(set_color white)'◼' + end + + set_color normal +end diff --git a/.config/fish/functions/fish_user_key_bindings.fish b/.config/fish/functions/fish_user_key_bindings.fish new file mode 100644 index 0000000..1c74db0 --- /dev/null +++ b/.config/fish/functions/fish_user_key_bindings.fish @@ -0,0 +1,8 @@ +function fish_user_key_bindings + fish_default_key_bindings -M insert + fish_vi_key_bindings --no-erase insert + bind -M default ctrl-a beginning-of-line + bind -M default ctrl-e end-of-line + bind -M insert ctrl-space accept-autosuggestion + bind -M insert ctrl-g 'git diff' repaint +end diff --git a/.config/hyde/hyde.conf b/.config/hyde/hyde.conf new file mode 100644 index 0000000..38a97ac --- /dev/null +++ b/.config/hyde/hyde.conf @@ -0,0 +1,2 @@ +hydeTheme="Synth Wave" +rofiStyle="2" diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf new file mode 100644 index 0000000..4e33fd3 --- /dev/null +++ b/.config/hypr/animations.conf @@ -0,0 +1,21 @@ + +# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ +# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ + +# See https://wiki.hyprland.org/Configuring/Animations/ + +animations { + enabled = yes + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..faca14f --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,143 @@ + +#   ░▒▒▒░░░░░▓▓          ___________ +# ░░▒▒▒░░░░░▓▓        //___________/ +# ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ +# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ +# ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ +#  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ +#    ░▒▓▓   ▓▓  //____/ + + +$scrPath = $HOME/.local/share/bin # set scripts path + + +# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ +# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ + +# See https://wiki.hyprland.org/Configuring/Monitors/ + +# monitor = ,preferred,auto,auto + + +# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ +# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = dbus-update-activation-environment --systemd --all # for XDPH +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps +exec-once = waybar # launch the system bar +exec-once = blueman-applet # systray app for Bluetooth +exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media +exec-once = nm-applet --indicator # systray app for Network/Wifi +exec-once = dunst # start notification demon +exec-once = wl-paste --type text --watch cliphist store # clipboard store text data +exec-once = wl-paste --type image --watch cliphist store # clipboard store image data +exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon +exec-once = $scrPath/batterynotify.sh # battery notification +exec-once = xremap ~/.config/xremap/config.yml +exec-once = swayidle -w timeout 180 'swaylock --timestr %H:%M & brightnessctl -s & brightnessctl set 15' resume 'brightnessctl -r' + + +# █▀▀ █▄░█ █░█ +# ██▄ █░▀█ ▀▄▀ + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = PATH,$PATH:$scrPath +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = MOZ_ENABLE_WAYLAND,1 +env = GDK_SCALE,1 + + +# █ █▄░█ █▀█ █░█ ▀█▀ +# █ █░▀█ █▀▀ █▄█ ░█░ + +# See https://wiki.hyprland.org/Configuring/Variables/ + +# keyremap +input { + kb_layout = us + # kb_options=caps:swapescape + # kb_options=caps:ctrl_modifier + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 + force_no_accel = 1 +} + +# See https://wiki.hyprland.org/Configuring/Keywords/#executing + +device { + name = epic mouse V1 + sensitivity = -0.5 +} + +# See https://wiki.hyprland.org/Configuring/Variables/ + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 +} + + +# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ +# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ + +dwindle { + pseudotile = yes + preserve_split = yes +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ + +master { + new_status = master +} + + +# █▀▄▀█ █ █▀ █▀▀ +# █░▀░█ █ ▄█ █▄▄ + +# See https://wiki.hyprland.org/Configuring/Variables/ + +misc { + vrr = 0 + disable_hyprland_logo = true + disable_splash_rendering = true + force_default_wallpaper = 0 +} + +xwayland { + force_zero_scaling = true +} + + +# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ +# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ + +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrules.conf +source = ~/.config/hypr/themes/common.conf # shared theme settings +source = ~/.config/hypr/themes/theme.conf # theme specific settings +source = ~/.config/hypr/themes/colors.conf # wallbash color override +source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static +source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static + +# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf new file mode 100644 index 0000000..534ab24 --- /dev/null +++ b/.config/hypr/keybindings.conf @@ -0,0 +1,189 @@ + +# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ +# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ + +# See https://wiki.hyprland.org/Configuring/Keywords/ +# & https://wiki.hyprland.org/Configuring/Binds/ + +# Main modifier +$mainMod = Super # super / meta / windows key + +# Assign apps +$term = kitty # fish alacritty +$editor = neovide +$file = dolphin +$browser = librewolf +$yt = freetube +$notes = obsidian + + +# Window/Session actions +bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window +bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window +bind = $mainMod, Delete, exit, # kill hyprland session +bind = $mainMod, W, togglefloating, # toggle the window between focus and float +bind = $mainMod, G, togglegroup, # toggle the window between focus and group +bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen +bind = $mainMod, L, exec, swaylock --timestr %H:%M # launch lock screen +bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar +# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window +# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu + +# Application shortcuts +bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh +bind = Ctrl+Alt, T, exec, $term # launch terminal emulator +bind = $mainMod, T, exec, $term # launch terminal emulator +bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator +bind = $mainMod, E, exec, $file # launch file manager +bind = $mainMod, C, exec, $editor # launch text editor +bind = $mainMod, F, exec, $yt # launch yt alternative +bind = $mainMod, B, exec, $browser # launch web browser +bind = $mainMod, M, exec, $notes # launch notes app +bind = $mainMod, G, exec, gajim # launch messanger +bind = $mainMod, K, exec, keepassxc # launch password manager +bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) +# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser + +# Rofi menus +bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher +bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer + +# Audio control +# bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume +# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute +bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute +bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume +bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume + +# Media control +bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause +bindl = , XF86AudioNext, exec, playerctl next # media next +bindl = , XF86AudioPrev, exec, playerctl previous # media previous + +# Brightness control +bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness +bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness + +# Move between grouped windows +# bind = $mainMod CTRL , H, changegroupactive, b +# bind = $mainMod CTRL , L, changegroupactive, f + +# Screenshot/Screencapture +bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture +bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) +bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture +bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture + +# Custom scripts +bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode +bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper +bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper +# bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode +# bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode +bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu +bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu +bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu +bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu +bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard +bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout +bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint + +# Move/Change window focus +bind = $mainMod, Left, movefocus, l +bind = $mainMod, Right, movefocus, r +bind = $mainMod, Up, movefocus, u +bind = $mainMod, Down, movefocus, d +bind = $mainMod+Shift, h, movefocus, l +bind = $mainMod+Shift, l, movefocus, r +bind = $mainMod+Shift, k, movefocus, u +bind = $mainMod+Shift, j, movefocus, d +bind = Alt, Tab, movefocus, d + +# Switch workspaces with mod + [0-9] +bind = $mainMod, 1, workspace, r~1 +bind = $mainMod, 2, workspace, r~2 +bind = $mainMod, 3, workspace, r~3 +bind = $mainMod, 4, workspace, r~4 +bind = $mainMod, 5, workspace, r~5 +bind = $mainMod, 6, workspace, r~6 +bind = $mainMod, 7, workspace, r~7 +bind = $mainMod, 8, workspace, r~8 +bind = $mainMod, 9, workspace, r~9 +bind = $mainMod, 0, workspace, r~10 + +# Move focused window to a workspace +bind = $mainMod+Ctrl, 1, movetoworkspace, r~1 +bind = $mainMod+Ctrl, 2, movetoworkspace, r~2 +bind = $mainMod+Ctrl, 3, movetoworkspace, r~3 +bind = $mainMod+Ctrl, 4, movetoworkspace, r~4 +bind = $mainMod+Ctrl, 5, movetoworkspace, r~5 +bind = $mainMod+Ctrl, 6, movetoworkspace, r~6 +bind = $mainMod+Ctrl, 7, movetoworkspace, r~7 +bind = $mainMod+Ctrl, 8, movetoworkspace, r~8 +bind = $mainMod+Ctrl, 9, movetoworkspace, r~9 +bind = $mainMod+Ctrl, 0, movetoworkspace, r~10 + +# Move focused window to a workspace silently +bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1 +bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2 +bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3 +bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4 +bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5 +bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6 +bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7 +bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8 +bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9 +bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10 + +# Move/Switch to special workspace (scratchpad) +bind = $mainMod+Alt, S, movetoworkspacesilent, special +bind = $mainMod, S, togglespecialworkspace, + +# Toggle focused window split +bind = $mainMod, J, togglesplit + +# Switch workspaces to a relative workspace +bind = $mainMod+Ctrl, right, workspace, r+1 +bind = $mainMod+Ctrl, left, workspace, r-1 +bind = $mainMod+Ctrl, l, workspace, r+1 +bind = $mainMod+Ctrl, h, workspace, r-1 +bind = $mainMod+Ctrl, Down, workspace, empty # Move to the first empty workspace +bind = $mainMod+Ctrl, J, movewindow, mon:eDP-1 +bind = $mainMod+Ctrl, K, movewindow, mon:HDMI-A-1 + +# Resize windows +binde = $mainMod+Shift, Right, resizeactive, 30 0 +binde = $mainMod+Shift, Left, resizeactive, -30 0 +binde = $mainMod+Shift, Up, resizeactive, 0 -30 +binde = $mainMod+Shift, Down, resizeactive, 0 30 + +# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it +# bind = $mainMod SHIFT, P, focusmonitor, +1 +# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1 + +# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] +# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive +binded = $mainMod+Shift+Ctrl, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +binded = $mainMod+Shift+Ctrl, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +binded = $mainMod+Shift+Ctrl, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d + +binded = $mainMod+Shift+Ctrl, h,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +binded = $mainMod+Shift+Ctrl, k,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +binded = $mainMod+Shift+Ctrl, j,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d + +# Scroll through existing workspaces +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/Resize focused window +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bindm = $mainMod, Z, movewindow +bindm = $mainMod, X, resizewindow + diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..8da85ed --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,62 @@ + +# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀ +# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█ + +# Set your monitor configuration here +# See https://wiki.hyprland.org/Configuring/Monitors/ +# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2 + +$mainScreen = eDP-1 +$leftScreen = DP-2 +$rightScreen = HDMI-A-1 + +monitor = $mainScreen, 1366x768@60.14, 0x0, 1 # main screen +monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left +monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right + +# monitor=HDMI-A-1,1920x1080@60,-1366x0,1 # hdmi on left +# monitor=HDMI-A-1,1920x1080@60,0x-768,1 # hdmi on top +# monitor=DP-2,640x480@59.94Hz,0x0,1 # vga + +# monitor = HDMI-A-1, 1366x768@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen +# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, HDMI-A-1 #main hdmi, lapscreen mirrors + +# monitor = , preferred, auto, 1, mirror, DP-2 # dmz projector +# monitor = eDP-1, 1920x1080@60, auto , 1, mirror, DP-2 #mirror vga test + +#Main Monitor +workspace = 1, monitor:$mainScreen, default:true +workspace = 2, monitor:$mainScreen +workspace = 3, monitor:$mainScreen +workspace = 4, monitor:$mainScreen +workspace = 5, monitor:$mainScreen +workspace = 6, monitor:$mainScreen +workspace = 7, monitor:$mainScreen +workspace = 8, monitor:$mainScreen +workspace = 9, monitor:$mainScreen +workspace = 10,monitor:$mainScreen + +# Second Monitor +workspace = 11, monitor:$rightScreen, default:true +workspace = 12, monitor:$rightScreen +workspace = 13, monitor:$rightScreen +workspace = 14, monitor:$rightScreen +workspace = 15, monitor:$rightScreen +workspace = 16, monitor:$rightScreen +workspace = 17, monitor:$rightScreen +workspace = 18, monitor:$rightScreen +workspace = 19, monitor:$rightScreen +workspace = 20, monitor:$rightScreen + +# Third Monitor +workspace = 21, monitor:$leftScreen, default:true +workspace = 22, monitor:$leftScreen +workspace = 23, monitor:$leftScreen +workspace = 24, monitor:$leftScreen +workspace = 25, monitor:$leftScreen +workspace = 26, monitor:$leftScreen +workspace = 27, monitor:$leftScreen +workspace = 28, monitor:$leftScreen +workspace = 29, monitor:$leftScreen +workspace = 30, monitor:$leftScreen + diff --git a/.config/hypr/themes/colors.conf b/.config/hypr/themes/colors.conf new file mode 100644 index 0000000..e69de29 diff --git a/.config/hypr/themes/common.conf b/.config/hypr/themes/common.conf new file mode 100644 index 0000000..45759cc --- /dev/null +++ b/.config/hypr/themes/common.conf @@ -0,0 +1,28 @@ + +# █▀▀ █░█ █▀█ █▀ █▀█ █▀█ +# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ + +exec = hyprctl setcursor Bibata-Modern-Ice 20 +exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' +exec = gsettings set org.gnome.desktop.interface cursor-size 20 + + +# █▀▀ █▀█ █▄░█ ▀█▀ +# █▀░ █▄█ █░▀█ ░█░ + +exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' +exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' +exec = gsettings set org.gnome.desktop.interface font-hinting 'full' + + +# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░ +# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄ + +decoration { + dim_special = 0.3 + blur { + special = true + } +} diff --git a/.config/hypr/themes/theme.conf b/.config/hypr/themes/theme.conf new file mode 100644 index 0000000..c1db14f --- /dev/null +++ b/.config/hypr/themes/theme.conf @@ -0,0 +1,36 @@ +exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula' +exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha' +exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' + +general { + gaps_in = 2 #3 + gaps_out = 4 #8 + border_size = 1 #2 + col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg + layout = dwindle + resize_on_border = true +} + +group { + col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg + col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg +} + +decoration { + rounding = 6 #10 +# drop_shadow = true #false + + blur { + enabled = yes + size = 6 + passes = 3 + new_optimizations = on + ignore_opacity = on + xray = false + } +} + +layerrule = blur,waybar diff --git a/.config/hypr/userprefs.conf b/.config/hypr/userprefs.conf new file mode 100644 index 0000000..7ee4618 --- /dev/null +++ b/.config/hypr/userprefs.conf @@ -0,0 +1,6 @@ + +# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀ +# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█ + +# Set your personal hyprland configuration here +# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2 diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf new file mode 100644 index 0000000..da1f5d8 --- /dev/null +++ b/.config/hypr/windowrules.conf @@ -0,0 +1,108 @@ + +# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ +# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ +# hyprctl clients to get names + +windowrulev2 = opacity 0.90 0.90,class:^(neovide)$ +windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ +windowrulev2 = opacity 0.80 0.80,class:^(betterbird)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.qbittorrent.qBittorrent)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.gajim.Gajim)$ +windowrulev2 = opacity 0.80 0.80,class:^(Chromium)$ +windowrulev2 = opacity 0.80 0.80,class:^(FreeTube)$ +windowrulev2 = opacity 0.80 0.80,class:^(LibreWolf)$ +windowrulev2 = opacity 0.80 0.60,class:^(obsidian)$ +windowrulev2 = opacity 0.80 0.80,class:^(VSCodium)$ +windowrulev2 = opacity 0.80 0.80,class:^(codium-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ +windowrulev2 = opacity 0.80 0.80,class:^(Code)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ +windowrulev2 = opacity 0.70 0.70,class:^(tilix)$ +windowrulev2 = opacity 0.70 0.70,class:^(rustdesk)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ +windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ +windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ +windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ +windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = opacity 0.80 0.70,class:^(lagrange)$ +windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ +windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ +windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ +windowrulev2 = opacity 0.70 0.70,class:^(Ferdium)$ +windowrulev2 = opacity 0.70 0.70,class:^(org.keepassxc.KeePassXC)$ +windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$ + +windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt +windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron +windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron +windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron +windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt +windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk + +windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ +windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ +windowrulev2 = float,title:^(About Mozilla Firefox)$ +windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ +windowrulev2 = float,class:^(firefox)$,title:^(Library)$ +windowrulev2 = float,class:^(kitty)$,title:^(top)$ +windowrulev2 = float,class:^(kitty)$,title:^(btop)$ +windowrulev2 = float,class:^(kitty)$,title:^(htop)$ +windowrulev2 = float,class:^(vlc)$ +windowrulev2 = float,class:^(kvantummanager)$ +windowrulev2 = float,class:^(qt5ct)$ +windowrulev2 = float,class:^(qt6ct)$ +windowrulev2 = float,class:^(nwg-look)$ +windowrulev2 = float,class:^(org.kde.ark)$ +windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = float,class:^(blueman-manager)$ +windowrulev2 = float,class:^(nm-applet)$ +windowrulev2 = float,class:^(nm-connection-editor)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ + +windowrulev2 = float,class:^(Signal)$ # Signal-Gtk +windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk +windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk +windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt +windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk +windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk +windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk +windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk +windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk +windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk +windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk + + +# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀ +# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█ + +layerrule = blur,rofi +layerrule = ignorezero,rofi +layerrule = blur,notifications +layerrule = ignorezero,notifications +layerrule = blur,swaync-notification-window +layerrule = ignorezero,swaync-notification-window +layerrule = blur,swaync-control-center +layerrule = ignorezero,swaync-control-center +layerrule = blur,logout_dialog diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..c85b4a2 --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,12 @@ +font_family CaskaydiaCove Nerd Font Mono +bold_font auto +italic_font auto +bold_italic_font auto +enable_audio_bell no + +font_size 9.0 +window_padding_width 25 +include theme.conf +#background_opacity 0.60 +#hide_window_decorations yes +#confirm_os_window_close 0 diff --git a/.config/kitty/theme.conf b/.config/kitty/theme.conf new file mode 100644 index 0000000..4511d8d --- /dev/null +++ b/.config/kitty/theme.conf @@ -0,0 +1,59 @@ + +# The basic colors +foreground #ffffff +background #262335 +selection_foreground #262335 +selection_background #f97e72 + +# Cursor colors +cursor #f97e72 +cursor_text_color #262335 + +# URL underline color when hovering with mouse +url_color #f97e72 + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Colors for marks (marked text in the terminal) +mark1_foreground #262335 +mark1_background #614D85 +mark2_foreground #262335 +mark2_background #614D85 +mark3_foreground #262335 +mark3_background #614D85 + +# The 16 terminal colors + +# black +color0 #232530 +color8 #232530 + +# red +color1 #fe4450 +color9 #fe4450 + +# green +color2 #72f1b8 +color10 #72f1b8 + +# yellow +color3 #ff7edb +color11 #ff7edb + +# blue +color4 #03edf9 +color12 #03edf9 + +# magenta +color5 #fede5d +color13 #f3e70f + +# cyan +color6 #03edf9 +color14 #03edf9 + +# white +color7 #ffffff +color15 #ffffff diff --git a/.config/nvim/.stylua.toml b/.config/nvim/.stylua.toml new file mode 100644 index 0000000..ecb6dca --- /dev/null +++ b/.config/nvim/.stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +call_parentheses = "None" diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..f23bda3 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,63 @@ +vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/" +vim.g.mapleader = " " + +----- custom config ----- + +if vim.g.neovide then + vim.g.neovide_transparency = 0.7 + vim.g.neovide_scale_factor = 0.7 + vim.g.neovide_window_blurred = true + vim.g.neovide_floating_blur_amount_x = 1.0 + vim.g.neovide_floating_blur_amount_y = 1.0 + vim.g.neovide_floating_shadow = true + vim.g.neovide_floating_z_height = 0 + vim.g.neovide_hide_mouse_when_typing = true + vim.g.neovide_padding_top = 15 + vim.g.neovide_padding_right = 5 + vim.g.neovide_padding_left = 5 + -- vim.g.neovide_fullscreen = true + -- vim.g.neovide_padding_bottom = 0 + -- vim.g.neovide_light_radius = 5 + -- vim.g.neovide_show_border = false + -- vim.g.neovide_light_angle_degrees = 45 +end + +vim.opt.relativenumber = true + +----- end of custom ----- + + +-- bootstrap lazy and all plugins +local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" + +if not vim.uv.fs_stat(lazypath) then + local repo = "https://github.com/folke/lazy.nvim.git" + vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath } +end + +vim.opt.rtp:prepend(lazypath) + +local lazy_config = require "configs.lazy" + +-- load plugins +require("lazy").setup({ + { + "NvChad/NvChad", + lazy = false, + branch = "v2.5", + import = "nvchad.plugins", + }, + + { import = "plugins" }, +}, lazy_config) + +-- load theme +dofile(vim.g.base46_cache .. "defaults") +dofile(vim.g.base46_cache .. "statusline") + +require "options" +require "nvchad.autocmds" + +vim.schedule(function() + require "mappings" +end) diff --git a/.config/nvim/lua/chadrc.lua b/.config/nvim/lua/chadrc.lua new file mode 100644 index 0000000..2277455 --- /dev/null +++ b/.config/nvim/lua/chadrc.lua @@ -0,0 +1,18 @@ +-- This file needs to have same structure as nvconfig.lua +-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua +-- Please read that file to know all available options :( + +---@type ChadrcConfig +local M = {} + +M.base46 = { + theme = "onedark", + transparency = true + + -- hl_override = { + -- Comment = { italic = true }, + -- ["@comment"] = { italic = true }, + -- }, +} + +return M diff --git a/.config/nvim/lua/configs/conform.lua b/.config/nvim/lua/configs/conform.lua new file mode 100644 index 0000000..35ba6cf --- /dev/null +++ b/.config/nvim/lua/configs/conform.lua @@ -0,0 +1,15 @@ +local options = { + formatters_by_ft = { + lua = { "stylua" }, + -- css = { "prettier" }, + -- html = { "prettier" }, + }, + + -- format_on_save = { + -- -- These options will be passed to conform.format() + -- timeout_ms = 500, + -- lsp_fallback = true, + -- }, +} + +return options diff --git a/.config/nvim/lua/configs/lazy.lua b/.config/nvim/lua/configs/lazy.lua new file mode 100644 index 0000000..cd170bd --- /dev/null +++ b/.config/nvim/lua/configs/lazy.lua @@ -0,0 +1,47 @@ +return { + defaults = { lazy = true }, + install = { colorscheme = { "nvchad" } }, + + ui = { + icons = { + ft = "", + lazy = "󰂠 ", + loaded = "", + not_loaded = "", + }, + }, + + performance = { + rtp = { + disabled_plugins = { + "2html_plugin", + "tohtml", + "getscript", + "getscriptPlugin", + "gzip", + "logipat", + "netrw", + "netrwPlugin", + "netrwSettings", + "netrwFileHandlers", + "matchit", + "tar", + "tarPlugin", + "rrhelper", + "spellfile_plugin", + "vimball", + "vimballPlugin", + "zip", + "zipPlugin", + "tutor", + "rplugin", + "syntax", + "synmenu", + "optwin", + "compiler", + "bugreport", + "ftplugin", + }, + }, + }, +} diff --git a/.config/nvim/lua/configs/lspconfig.lua b/.config/nvim/lua/configs/lspconfig.lua new file mode 100644 index 0000000..478df01 --- /dev/null +++ b/.config/nvim/lua/configs/lspconfig.lua @@ -0,0 +1,24 @@ +-- load defaults i.e lua_lsp +require("nvchad.configs.lspconfig").defaults() + +local lspconfig = require "lspconfig" + +-- EXAMPLE +local servers = { "html", "cssls" } +local nvlsp = require "nvchad.configs.lspconfig" + +-- lsps with default config +for _, lsp in ipairs(servers) do + lspconfig[lsp].setup { + on_attach = nvlsp.on_attach, + on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + } +end + +-- configuring single server, example: typescript +-- lspconfig.ts_ls.setup { +-- on_attach = nvlsp.on_attach, +-- on_init = nvlsp.on_init, +-- capabilities = nvlsp.capabilities, +-- } diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua new file mode 100644 index 0000000..f638e6f --- /dev/null +++ b/.config/nvim/lua/mappings.lua @@ -0,0 +1,9 @@ +require "nvchad.mappings" + +-- add yours here + +local map = vim.keymap.set + +map("n", ";", ":", { desc = "CMD enter command mode" }) +-- map({ "n", "i", "v" }, "", " w ") + diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua new file mode 100644 index 0000000..738f20b --- /dev/null +++ b/.config/nvim/lua/options.lua @@ -0,0 +1,6 @@ +require "nvchad.options" + +-- add yours here! + +-- local o = vim.o +-- o.cursorlineopt ='both' -- to enable cursorline! diff --git a/.config/nvim/lua/plugins/init.lua b/.config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..6474776 --- /dev/null +++ b/.config/nvim/lua/plugins/init.lua @@ -0,0 +1,25 @@ +return { + { + "stevearc/conform.nvim", + -- event = 'BufWritePre', -- uncomment for format on save + opts = require "configs.conform", + }, + + -- These are some examples, uncomment them if you want to see them work! + { + "neovim/nvim-lspconfig", + config = function() + require "configs.lspconfig" + end, + }, + + -- { + -- "nvim-treesitter/nvim-treesitter", + -- opts = { + -- ensure_installed = { + -- "vim", "lua", "vimdoc", + -- "html", "css" + -- }, + -- }, + -- }, +} diff --git a/.config/pyradio/config b/.config/pyradio/config new file mode 100644 index 0000000..62fdcc4 --- /dev/null +++ b/.config/pyradio/config @@ -0,0 +1,6 @@ +# PyRadio User Configuration File +# To get a full list of options execute: pyradio -pc +# or examine the file: /usr/lib/python3.12/site-packages/pyradio/config +# +theme = blue-by-boxer +use_transparency = True diff --git a/.config/pyradio/stations.csv b/.config/pyradio/stations.csv new file mode 100644 index 0000000..28dbdc4 --- /dev/null +++ b/.config/pyradio/stations.csv @@ -0,0 +1,48 @@ +Chillout (Groove Salad - SomaFM),http://somafm.com/startstream=groovesalad.pls,, +Alternative (BAGeL Radio),https://ais-sa3.cdnstream1.com/2606_128.aac,, +Hirschmilch Psytrance,https://hirschmilch.de:7001/psytrance.mp3,, +Bluffphonica,http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&t302=2024-09-17_23-09-40&uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b,, +Radio Caprice - Suomisaundi,http://79.120.77.11:8004/suomisaundi,, +psyradio * fm - chillout,http://streamer.psyradio.org:8020/;listen.mp3,, +Full-on psytrance,http://79.111.14.76:9019/,, +Vasilis Cfu psy trance,https://stream-40.zeno.fm/c2t7d9p6mf9uv?zs=_D-E0xBPQcGB_V9n7LLuqA,, +TL_Psytrance,https://stream.technolovers.fm/psytrance,, +Record Goa Psy,https://radiorecord.hostingradio.ru/goa96.aacp,, +1.FM - BOM Psytrance Radio,http://strm112.1.fm/psytrance_mobile_mp3,, +Anima Amoris [Goa Psy Trance],http://amoris.sknt.ru/goa.mp3,, +DMT FM Psytrance 24/7,https://dc1.serverse.com/proxy/ywycfrxn/live,, +radiOzora Trance,http://trance.out.airtime.pro:8000/trance_a,, +Psyndora Psytrance,http://cast.magicstreams.gr:9111/stream,, +Celtic (ThistleRadio - SomaFM),http://somafm.com/thistle.pls,, +Groove Salad Classic (Early 2000s Ambient),https://somafm.com/gsclassic.pls,, +n5MD Radio (Ambient and Experimental),https://somafm.com/n5md.pls,, +Vaporwaves [SomaFM],https://somafm.com/vaporwaves.pls,, +Commodore 64 Remixes (Slay Radio),http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,, +Covers (SomaFM),http://somafm.com/covers.pls,, +Downtempo (Secret Agent - SomaFM),http://somafm.com/secretagent.pls,, +Dub Step (Dub Step Beyond - SomaFM),http://somafm.com/dubstep.pls,, +Electronic/Dance (Electronic Culture),http://www.shouted.fm/tunein/electro-dsl.m3u,, +House (Beat Blender - SomaFM),http://somafm.com/startstream=beatblender.pls,, +Indie Pop (Indie Pop Rocks! - SomaFM),http://somafm.com/indiepop130.pls,, +Intelligent dance music (Cliq Hop - SomaFM),http://somafm.com/startstream=cliqhop.pls,, +Jazz (Sonic Universe - SomaFM),http://somafm.com/startstream=sonicuniverse.pls,, +Lounge (Illinois Street Lounge - SomaFM),http://somafm.com/illstreet.pls,, +The Trip: [SomaFM],https://somafm.com/thetrip.pls,, +Pop (PopTron! - SomaFM),http://somafm.com/poptron.pls,, +Pop/Rock/Urban (Frequence 3 - Paris),http://streams.frequence3.net/hd-mp3.m3u,, +Progressive (Tags Trance Trip - SomaFM),http://somafm.com/tagstrance.pls,, +Public Radio (NPR National Public Radio Stream),https://npr-ice.streamguys1.com/live.mp3,, +Reggae Dancehall (Ragga Kings),https://raggakings.radio:8443/stream.ogg,, +Heavyweight Reggae,https://somafm.com/reggae.pls,, +Rock (Digitalis - SomaFM),http://somafm.com/digitalis.pls,, +Metal Detector,https://somafm.com/metal.pls,, +DanceUK,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://uk2.internet-radio.com:8024/listen.pls&t=.pls,, +JazzGroove,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls,, +Radio Paradise - Main Mix,http://stream.radioparadise.com/aac-128,, +Radio Paradise - Mellow Mix,http://stream.radioparadise.com/mellow-128,, +Radio Paradise - Rock Mix,http://stream.radioparadise.com/rock-128,, +Radio Paradise - Eclectic Mix,http://stream.radioparadise.com/eclectic-128,, +Echoes of Bluemars,http://streams.echoesofbluemars.org:8000/bluemars.m3u,, +Echoes of Bluemars - Cryosleep,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,, +Echoes of Bluemars - Voices from Within,http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,, +Synphaera Radio (Space Music),https://somafm.com/synphaera.pls,, diff --git a/.config/swaylock/config b/.config/swaylock/config new file mode 100644 index 0000000..8490666 --- /dev/null +++ b/.config/swaylock/config @@ -0,0 +1,38 @@ +daemonize +show-failed-attempts +clock +screenshot +effect-blur=10x10 +effect-vignette=1:1 +color=1f1d2e80 +font="Inter" +indicator +indicator-radius=200 +indicator-thickness=20 +line-color=1f1d2e +ring-color=191724 +inside-color=1f1d2e +key-hl-color=eb6f92 +separator-color=00000000 +text-color=e0def4 +text-caps-lock-color="" +line-ver-color=eb6f92 +ring-ver-color=eb6f92 +inside-ver-color=1f1d2e +text-ver-color=e0def4 +ring-wrong-color=31748f +text-wrong-color=31748f +inside-wrong-color=1f1d2e +inside-clear-color=1f1d2e +text-clear-color=e0def4 +ring-clear-color=9ccfd8 +line-clear-color=1f1d2e +line-wrong-color=1f1d2e +bs-hl-color=31748f +grace=2 +grace-no-mouse +grace-no-touch +datestr=%a, %B %e +timestr=%I:%M %p +fade-in=0.5 +ignore-empty-password diff --git a/.config/waybar/config.ctl b/.config/waybar/config.ctl new file mode 100644 index 0000000..1e5cab1 --- /dev/null +++ b/.config/waybar/config.ctl @@ -0,0 +1,24 @@ +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||bottom|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||top|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint ) +0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|32|bottom||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|left||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +1|32|top||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|right||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone ) diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..3c261e3 --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,378 @@ +// --// waybar config generated by wbarconfgen.sh //-- // + +{ +// sourced from header module // + + "layer": "top", + "position": "top", + "mod": "dock", + "height": 33, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, + + +// positions generated based on config.ctl // + + "modules-left": ["custom/l_end","custom/power","custom/r_end","hyprland/workspaces", "custom/sl_end","hyprland/window","custom/sr_end","custom/l_end","custom/wallchange","custom/cliphist","custom/r_end"], + "modules-center": ["wlr/taskbar"], + "modules-right": ["custom/notification","custom/l_end","backlight","pulseaudio","pulseaudio#microphone","mpris","custom/r_end","custom/l_end","memory","cpu","custom/cpuinfo","battery","custom/r_end","custom/l_end","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"], + +// sourced from modules based on config.ctl // + + "tray": { + "icon-size": 19, + "rotate": 0, + "spacing": 5 + }, + + "hyprland/window": { + "format": "{}", + "window-rewrite-default":"󰣇", + "rotate": 0, + "separate-outputs": true, + "max-length": 1000, + "rewrite": { + "${USER}@${set_sysname}:(.*)": "$1 ", + "(.*) — Kitty": " $1", + "(.*)~": " $1", + "(.*) — Mozilla Firefox": "󰈹 $1", + "(.*)Mozilla Firefox": "󰈹 Firefox", + "(.*) — LibreWolf": "󰈹 $1", + "(.*)LibreWolf": "󰈹 LibreWolf", + "(.*) — Chromium": " $1", + "(.*)Chromium": " Chromium", + "(.*) - VSCodium": " $1", + "(.*)VSCodium": " VSCodium", + "(.*)Code - OSS": "󰨞 $1", + "(.*)Code": "󰨞 Code", + "(.*) - Visual Studio Code": "󰨞 $1", + "(.*)Visual Studio Code": "󰨞 Code", + "(.*) — Dolphin": "$1 󰉋", + "(.*) - Obsidian v1.6.7": " $1 ", + "(.*)Ferdium": " $1", + "(.*)Freetube": " $1", + "(.*) - VLC media player": "󰕼 $1", + "(.*)Steam": "󰓓 Steam", + "(.*)Neovide": " Nvim", + "(.*)Gajim": "󰟿 Gajim" + } + }, + "hyprland/workspaces": { + "window-rewrite-default":"", + "disable-scroll": true, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": {} +// "format":"{icon}", +// "format-icons": { +// "1": "", +// "2": "", +// "3": "", +// "4": "", +// "5": "", +// "6": "" +// } +// } + }, + + "bluetooth": { + "format": "", + "format-disabled": "", + "format-connected": " {num_connections}", + "format-connected-battery": "{icon} {num_connections}", + "format-icons": ["󰥇", "󰤾", "󰤿", "󰥀", "󰥁", "󰥂", "󰥃", "󰥄", "󰥅", "󰥆", "󰥈"], + "tooltip-format": "{controller_alias}\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%" + }, + "cpu": { + "interval": 10, + "format": "󰍛 {usage}%", + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"] + }, + + "custom/cpuinfo": { + "exec": " cpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": 0, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000 + }, + + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30 // medium + }, + "interval": 30, + "rotate": 0, + "format": "󰾆 {used:0.1f}GB", + "format-m": "󰾅 {used:0.1f}GB", + "format-h": "󰓅 {used:0.1f}GB", + "format-c": " {used:0.1f}GB", + "format-alt": "󰾆 {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB" + }, + + "custom/power": { + "format": "{}", + "rotate": 0, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval" : 86400, // once every day + "tooltip": true + }, + + "wlr/taskbar": { + "format": "{icon}", + "rotate": 0, + "icon-size": 19, + "icon-theme": "Tela-circle-dracula", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + } + }, + + "idle_inhibitor": { + "format": "{icon}", + "rotate": 0, + "format-icons": { + "activated": "󰥔", + "deactivated": "" + } + }, + "clock": { + "format": "{:%H:%M}", + "rotate": 0, + "format-alt": "{:%R 󰃭 %d·%m·%y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, + + "custom/cliphist": { + "format": "{}", + "rotate": 0, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval" : 86400, // once every day + "tooltip": true + }, + + "custom/wallchange": { + "format": "{}", + "rotate": 0, + "exec": "echo ; echo 󰆊 switch wallpaper", + "on-click": "swwwallpaper.sh -n", + "on-click-right": "swwwallpaper.sh -p", + "on-click-middle": "sleep 0.1 && swwwallselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + + "custom/theme": { + "format": "{}", + "rotate": 0, + "exec": "echo ; echo 󰟡 switch theme", + "on-click": "themeswitch.sh -n", + "on-click-right": "themeswitch.sh -p", + "on-click-middle": "sleep 0.1 && themeselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + + "pulseaudio": { + "format": "{icon} {volume}", + "rotate": 0, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "volumecontrol.sh -o d", + "tooltip-format": "{icon} {desc} // {volume}%", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + } + }, + + "pulseaudio#microphone": { + "format": "{format_source}", + "rotate": 0, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5 + }, + + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": 0, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵" + }, + "status-icons": { + "paused": "" + }, + "max-length": 1000, + "interval": 1 + }, + "custom/weather": { + "exec": "curl 'https://wttr.in/?format=1'", + "format": "{}", + //"exec": "~/,config/waybar/waybar.py", + "tooltip": true, + "interval": 3600, + "return-type": "json", + "on-click": "gnome-weather", + "max-length": 10 + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "rotate": 0, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] + }, + + "custom/notifications": { + "format": "{icon} {}", + "rotate": 0, + "format-icons": { + "email-notification": "", + "chat-notification": "󱋊", + "warning-notification": "󱨪", + "error-notification": "󱨪", + "network-notification": "󱂇", + "battery-notification": "󰁺", + "update-notification": "󰚰", + "music-notification": "󰝚", + "volume-notification": "󰕿", + "notification": "", + "dnd": "", + "none": "" + }, + "return-type": "json", + "exec-if": "which dunstctl", + "exec": "notifications.py", + "on-scroll-down": "sleep 0.1 && dunstctl history-pop", + "on-click": "dunstctl set-paused toggle", + "on-click-middle": "dunstctl history-clear", + "on-click-right": "dunstctl close-all", + "interval": 1, + "tooltip": true, + "escape": true + }, + + "backlight": { + "device": "intel_backlight", + "rotate": 0, + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + "on-scroll-up": "brightnessctl set 1%+", + "on-scroll-down": "brightnessctl set 1%-", + "min-length": 6 + }, +// modules for padding // + + "custom/l_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/r_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/padd": { + "format": " ", + "interval" : "once", + "tooltip": false + } +} + diff --git a/.config/waybar/modules/backlight.jsonc b/.config/waybar/modules/backlight.jsonc new file mode 100644 index 0000000..b289e68 --- /dev/null +++ b/.config/waybar/modules/backlight.jsonc @@ -0,0 +1,10 @@ + "backlight": { + "device": "intel_backlight", + "rotate": ${r_deg}, + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + "on-scroll-up": "brightnessctl set 1%+", + "on-scroll-down": "brightnessctl set 1%-", + "min-length": 6 + }, + diff --git a/.config/waybar/modules/battery.jsonc b/.config/waybar/modules/battery.jsonc new file mode 100644 index 0000000..51d6482 --- /dev/null +++ b/.config/waybar/modules/battery.jsonc @@ -0,0 +1,14 @@ + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "rotate": ${r_deg}, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] + }, + diff --git a/.config/waybar/modules/bluetooth.jsonc b/.config/waybar/modules/bluetooth.jsonc new file mode 100644 index 0000000..919bbd8 --- /dev/null +++ b/.config/waybar/modules/bluetooth.jsonc @@ -0,0 +1,15 @@ + "bluetooth": { + "format": "", + "rotate": ${r_deg}, + "format-disabled": "", + "format-connected": " {num_connections}", + "format-connected-battery": "{icon} {num_connections}", + // "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%", + "format-icons": ["󰥇", "󰤾", "󰤿", "󰥀", "󰥁", "󰥂", "󰥃", "󰥄", "󰥅", "󰥆", "󰥈"], + // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device. + "tooltip-format": "{controller_alias}\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%" + }, + diff --git a/.config/waybar/modules/cliphist.jsonc b/.config/waybar/modules/cliphist.jsonc new file mode 100644 index 0000000..02024fa --- /dev/null +++ b/.config/waybar/modules/cliphist.jsonc @@ -0,0 +1,11 @@ + "custom/cliphist": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/clock.jsonc b/.config/waybar/modules/clock.jsonc new file mode 100644 index 0000000..151a246 --- /dev/null +++ b/.config/waybar/modules/clock.jsonc @@ -0,0 +1,25 @@ + "clock": { + "format": "{:%H:%M}", + "rotate": ${r_deg}, + "format-alt": "{:%R 󰃭 %d·%m·%y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, + diff --git a/.config/waybar/modules/cpu.jsonc b/.config/waybar/modules/cpu.jsonc new file mode 100644 index 0000000..cc89cb0 --- /dev/null +++ b/.config/waybar/modules/cpu.jsonc @@ -0,0 +1,8 @@ + "cpu": { + "interval": 10, + "format": "󰍛 {usage}%", + "rotate": ${r_deg}, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"] + }, + diff --git a/.config/waybar/modules/cpuinfo.jsonc b/.config/waybar/modules/cpuinfo.jsonc new file mode 100644 index 0000000..fb6bb76 --- /dev/null +++ b/.config/waybar/modules/cpuinfo.jsonc @@ -0,0 +1,10 @@ + "custom/cpuinfo": { + "exec": " cpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000 + }, + diff --git a/.config/waybar/modules/footer.jsonc b/.config/waybar/modules/footer.jsonc new file mode 100644 index 0000000..1387f74 --- /dev/null +++ b/.config/waybar/modules/footer.jsonc @@ -0,0 +1,47 @@ + +// modules for padding // + + "custom/l_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/r_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/padd": { + "format": " ", + "interval" : "once", + "tooltip": false + } + +} + diff --git a/.config/waybar/modules/gpuinfo.jsonc b/.config/waybar/modules/gpuinfo.jsonc new file mode 100644 index 0000000..f9f5d61 --- /dev/null +++ b/.config/waybar/modules/gpuinfo.jsonc @@ -0,0 +1,41 @@ + "custom/gpuinfo": { + "exec": " gpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + "on-click": "gpuinfo.sh --toggle", + }, + + "custom/gpuinfo#nvidia": { + "exec": " gpuinfo.sh --use nvidia ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + + "custom/gpuinfo#amd": { + "exec": " gpuinfo.sh --use amd ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + + "custom/gpuinfo#intel": { + "exec": " gpuinfo.sh --use intel ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + diff --git a/.config/waybar/modules/header.jsonc b/.config/waybar/modules/header.jsonc new file mode 100644 index 0000000..688d476 --- /dev/null +++ b/.config/waybar/modules/header.jsonc @@ -0,0 +1,13 @@ +// --// waybar config generated by wbarconfgen.sh //-- // + +{ +// sourced from header module // + + "layer": "top", + "position": "${w_position}", + "mod": "dock", + "${hv_pos}": ${w_height}, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, diff --git a/.config/waybar/modules/idle_inhibitor.jsonc b/.config/waybar/modules/idle_inhibitor.jsonc new file mode 100644 index 0000000..d109a95 --- /dev/null +++ b/.config/waybar/modules/idle_inhibitor.jsonc @@ -0,0 +1,9 @@ + "idle_inhibitor": { + "format": "{icon}", + "rotate": ${r_deg}, + "format-icons": { + "activated": "󰥔", + "deactivated": "" + } + }, + diff --git a/.config/waybar/modules/keybindhint.jsonc b/.config/waybar/modules/keybindhint.jsonc new file mode 100644 index 0000000..e9edd21 --- /dev/null +++ b/.config/waybar/modules/keybindhint.jsonc @@ -0,0 +1,6 @@ + "custom/keybindhint": { + "format": " ", + "rotate": ${r_deg}, + "on-click": "keybinds_hint.sh" + }, + diff --git a/.config/waybar/modules/language.jsonc b/.config/waybar/modules/language.jsonc new file mode 100644 index 0000000..6045d28 --- /dev/null +++ b/.config/waybar/modules/language.jsonc @@ -0,0 +1,6 @@ + "hyprland/language": { + "format": "{short} {variant}", + "rotate": ${r_deg}, + "on-click": "keyboardswitch.sh", + }, + diff --git a/.config/waybar/modules/memory.jsonc b/.config/waybar/modules/memory.jsonc new file mode 100644 index 0000000..1e2c8d8 --- /dev/null +++ b/.config/waybar/modules/memory.jsonc @@ -0,0 +1,18 @@ + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}GB", + "rotate": ${r_deg}, + "format-m": "󰾅 {used}GB", + "format-h": "󰓅 {used}GB", + "format-c": " {used}GB", + "format-alt": "󰾆 {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB" + }, + diff --git a/.config/waybar/modules/mpris.jsonc b/.config/waybar/modules/mpris.jsonc new file mode 100644 index 0000000..04ff2cd --- /dev/null +++ b/.config/waybar/modules/mpris.jsonc @@ -0,0 +1,16 @@ + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": ${r_deg}, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵" + }, + "status-icons": { + "paused": "" + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1 + }, + diff --git a/.config/waybar/modules/network.jsonc b/.config/waybar/modules/network.jsonc new file mode 100644 index 0000000..1c5231d --- /dev/null +++ b/.config/waybar/modules/network.jsonc @@ -0,0 +1,13 @@ + "network": { + "tooltip": true, + "format-wifi": " ", + "rotate": ${r_deg}, + "format-ethernet": "󰈀 ", + "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}", + "format-linked": "󰈀 {ifname} (No IP)", + "format-disconnected": "󰖪 ", + "tooltip-format-disconnected": "Disconnected", + "format-alt": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "interval": 2, + }, + diff --git a/.config/waybar/modules/notifications.jsonc b/.config/waybar/modules/notifications.jsonc new file mode 100644 index 0000000..125e87a --- /dev/null +++ b/.config/waybar/modules/notifications.jsonc @@ -0,0 +1,29 @@ + "custom/notifications": { + "format": "{icon} {}", + "rotate": ${r_deg}, + "format-icons": { + "email-notification": "", + "chat-notification": "󱋊", + "warning-notification": "󱨪", + "error-notification": "󱨪", + "network-notification": "󱂇", + "battery-notification": "󰁺", + "update-notification": "󰚰", + "music-notification": "󰝚", + "volume-notification": "󰕿", + "notification": "", + "dnd": "", + "none": "" + }, + "return-type": "json", + "exec-if": "which dunstctl", + "exec": "notifications.py", + "on-scroll-down": "sleep 0.1 && dunstctl history-pop", + "on-click": "dunstctl set-paused toggle", + "on-click-middle": "dunstctl history-clear", + "on-click-right": "dunstctl close-all", + "interval": 1, + "tooltip": true, + "escape": true + }, + diff --git a/.config/waybar/modules/power.jsonc b/.config/waybar/modules/power.jsonc new file mode 100644 index 0000000..a41eaf6 --- /dev/null +++ b/.config/waybar/modules/power.jsonc @@ -0,0 +1,10 @@ + "custom/power": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/pulseaudio.jsonc b/.config/waybar/modules/pulseaudio.jsonc new file mode 100644 index 0000000..c5770a7 --- /dev/null +++ b/.config/waybar/modules/pulseaudio.jsonc @@ -0,0 +1,35 @@ +"pulseaudio": { + "format": "{icon} {volume}", + "rotate": ${r_deg}, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "volumecontrol.sh -o d", + "tooltip-format": "{icon} {desc} // {volume}%", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + } +}, + +"pulseaudio#microphone": { + "format": "{format_source}", + "rotate": ${r_deg}, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5 +}, + diff --git a/.config/waybar/modules/spotify.jsonc b/.config/waybar/modules/spotify.jsonc new file mode 100644 index 0000000..13bd6bc --- /dev/null +++ b/.config/waybar/modules/spotify.jsonc @@ -0,0 +1,15 @@ + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": ${r_deg}, + "return-type": "json", + "on-click": "playerctl play-pause --player spotify", + "on-click-right": "playerctl next --player spotify", + "on-click-middle": "playerctl previous --player spotify", + "on-scroll-up": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true + }, + diff --git a/.config/waybar/modules/style.css b/.config/waybar/modules/style.css new file mode 100644 index 0000000..93da5c3 --- /dev/null +++ b/.config/waybar/modules/style.css @@ -0,0 +1,151 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: ${s_fontpx}px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: ${t_radius}px; + border-width: 0px; +} + +#workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: ${w_radius}px; + margin-${x1}: ${w_margin}px; + margin-${x2}: ${w_margin}px; + margin-${x3}: 0px; + padding-${x3}: ${w_paddin}px; + padding-${x4}: ${w_paddin}px; + margin-${x4}: 0px; + color: @main-fg; + animation: ws_normal 20s ease-in-out 1; +} + +#workspaces button.active { + background: @wb-act-bg; + color: @wb-act-fg; + margin-${x3}: ${w_margin}px; + padding-${x3}: ${w_padact}px; + padding-${x4}: ${w_padact}px; + margin-${x4}: ${w_margin}px; + animation: ws_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#workspaces button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-fg; + animation: ws_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: ${w_radius}px; + margin-${x1}: ${w_margin}px; + margin-${x2}: ${w_margin}px; + margin-${x3}: 0px; + padding-${x3}: ${w_paddin}px; + padding-${x4}: ${w_paddin}px; + margin-${x4}: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#taskbar button.active { + background: @wb-act-bg; + color: @wb-act-color; + margin-${x3}: ${w_margin}px; + padding-${x3}: ${w_padact}px; + padding-${x4}: ${w_padact}px; + margin-${x4}: ${w_margin}px; + animation: tb_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-color; + animation: tb_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +${modules_ls} +#custom-l_end, +#custom-r_end, +#custom-sl_end, +#custom-sr_end, +#custom-rl_end, +#custom-rr_end { + color: @main-fg; + background: @main-bg; + opacity: 1; + margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px; + padding-${x3}: ${g_paddin}px; + padding-${x4}: ${g_paddin}px; +} + +#workspaces, +#taskbar { + padding: 0px; +} + +#custom-r_end { + border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-l_end { + border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} + +#custom-sr_end { + border-radius: 0px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-sl_end { + border-radius: 0px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} + +#custom-rr_end { + border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-rl_end { + border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} diff --git a/.config/waybar/modules/taskbar.jsonc b/.config/waybar/modules/taskbar.jsonc new file mode 100644 index 0000000..e40dcce --- /dev/null +++ b/.config/waybar/modules/taskbar.jsonc @@ -0,0 +1,17 @@ + "wlr/taskbar": { + "format": "{icon}", + "rotate": ${r_deg}, + "icon-size": ${i_task}, + "icon-theme": "${i_theme}", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + } + }, + diff --git a/.config/waybar/modules/theme.jsonc b/.config/waybar/modules/theme.jsonc new file mode 100644 index 0000000..6482c6e --- /dev/null +++ b/.config/waybar/modules/theme.jsonc @@ -0,0 +1,11 @@ + "custom/theme": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰟡 switch theme", + "on-click": "themeswitch.sh -n", + "on-click-right": "themeswitch.sh -p", + "on-click-middle": "sleep 0.1 && themeselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/tray.jsonc b/.config/waybar/modules/tray.jsonc new file mode 100644 index 0000000..d7c0bce --- /dev/null +++ b/.config/waybar/modules/tray.jsonc @@ -0,0 +1,6 @@ + "tray": { + "icon-size": ${i_size}, + "rotate": ${r_deg}, + "spacing": 5 + }, + diff --git a/.config/waybar/modules/updates.jsonc b/.config/waybar/modules/updates.jsonc new file mode 100644 index 0000000..1fc621e --- /dev/null +++ b/.config/waybar/modules/updates.jsonc @@ -0,0 +1,10 @@ + "custom/updates": { + "exec": "systemupdate.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "on-click": "hyprctl dispatch exec 'systemupdate.sh up'", + "interval": 86400, // once every day + "tooltip": true, + "signal": 20 + }, diff --git a/.config/waybar/modules/wallchange.jsonc b/.config/waybar/modules/wallchange.jsonc new file mode 100644 index 0000000..0c839ca --- /dev/null +++ b/.config/waybar/modules/wallchange.jsonc @@ -0,0 +1,11 @@ + "custom/wallchange": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰆊 switch wallpaper", + "on-click": "swwwallpaper.sh -n", + "on-click-right": "swwwallpaper.sh -p", + "on-click-middle": "sleep 0.1 && swwwallselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/window.jsonc b/.config/waybar/modules/window.jsonc new file mode 100644 index 0000000..b0c4c7a --- /dev/null +++ b/.config/waybar/modules/window.jsonc @@ -0,0 +1,17 @@ + "hyprland/window": { + "format": "  {}", + "rotate": ${r_deg}, + "separate-outputs": true, + "rewrite": { + "${USER}@${set_sysname}:(.*)": "$1 ", + "(.*) — Mozilla Firefox": "$1 󰈹", + "(.*)Mozilla Firefox": "Firefox 󰈹", + "(.*) - Visual Studio Code": "$1 󰨞", + "(.*)Visual Studio Code": "Code 󰨞", + "(.*) — Dolphin": "$1 󰉋", + "(.*)Spotify": "Spotify 󰓇", + "(.*)Steam": "Steam 󰓓" + }, + "max-length": 1000 + }, + diff --git a/.config/waybar/modules/workspaces.jsonc b/.config/waybar/modules/workspaces.jsonc new file mode 100644 index 0000000..c1e580a --- /dev/null +++ b/.config/waybar/modules/workspaces.jsonc @@ -0,0 +1,13 @@ + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": ${r_deg}, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..07e85ce --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,197 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 10px; + min-height: 10px; +} + +@import "theme.css"; + +#custom-weather.sunny { + background-color: yellow; +} +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: 5px; + border-width: 0px; +} + +#workspaces { + border-radius: 8px; +} + +#custom-padd { + padding-left: 5px; + padding-right: 5px; +} + +#workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 5px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @main-fg; + animation: ws_normal 20s ease-in-out 1; +} + +#workspaces button.active { + background: @wb-act-bg; + color: @wb-act-fg; + animation: ws_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55, -0.68, .48, 1.682); +} + +#workspaces button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-fg; + animation: ws_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55, -0.68, .48, 1.682); +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 6px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#taskbar button.active { + background: @wb-act-bg; + color: @wb-act-color; + /*animation: tb_active 20s ease-in-out 1;*/ + box-shadow: 0 0 1px 1px rgba(128, 128, 128, 0.4); + transition: all 0.4s cubic-bezier(.55, -0.68, .48, 1.682); +} + +#taskbar button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-color; + opacity: 0.8; + animation: tb_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55, -0.68, .48, 1.682); +} + +#tray menu * { + min-height: 16px; +} + +#tray menu separator { + min-height: 10px; +} + +#backlight, +#battery, +#bluetooth, +#custom-cliphist, +#clock, +#custom-cpuinfo, +#cpu, +#custom-gpuinfo, +#idle_inhibitor, +#custom-keybindhint, +#language, +#memory, +#mpris, +#network, +#custom-notifications, +#custom-power, +#pulseaudio, +#custom-spotify, +#taskbar, +#custom-theme, +#tray, +#custom-updates, +#custom-wallchange, +#custom-wbar, +#window, +#workspaces, +#custom-l_end, +#custom-r_end, +#custom-sl_end, +#custom-sr_end, +#custom-rl_end, +#custom-rr_end { + color: @main-fg; + background: @main-bg; + opacity: 1; + margin: 4px 0px 4px 0px; + padding-left: 4px; + padding-right: 4px; +} + +window#waybar.empty #window, +window#waybar.empty #custom-sl_end, +window#waybar.empty #custom-sr_end { + opacity: 0; +} + +#workspaces { + padding-left: 5px; + padding-right: 5px; +} + +#taskbar { + border-radius: 8px; + padding-left: 6px; + padding-right: 6px; +} + +#custom-r_end { + border-radius: 0px 8px 8px 0px; + margin-right: 3px; + padding-right: 1px; +} + +#custom-l_end { + border-radius: 8px 0px 0px 8px; + margin-left: 3px; + padding-left: 1px; +} + +#custom-sr_end { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-sl_end { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + margin-left: 9px; + padding-left: 3px; +} + +#custom-rr_end { + border-radius: 0px 8px 8px 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-rl_end { + border-radius: 8px 0px 0px 8px; + margin-left: 9px; + padding-left: 3px; +} + diff --git a/.config/waybar/theme.css b/.config/waybar/theme.css new file mode 100644 index 0000000..c3ad237 --- /dev/null +++ b/.config/waybar/theme.css @@ -0,0 +1,10 @@ +@define-color bar-bg rgba(0, 0, 0, 0); + +@define-color main-bg rgba(0,0,0,0.4); +@define-color main-fg #cdd6f4; + +@define-color wb-act-bg #a6adc8; +@define-color wb-act-fg #313244; + +@define-color wb-hvr-bg #f5c2e7; +@define-color wb-hvr-fg #313244; diff --git a/.config/xremap/config.yml b/.config/xremap/config.yml new file mode 100644 index 0000000..c37391e --- /dev/null +++ b/.config/xremap/config.yml @@ -0,0 +1,26 @@ +modmap: + - name: CapsLock to LeftCtrl/Esc + remap: + CapsLock: + held: leftctrl + alone: esc + alone_timeout_millis: 150 +keymap: + - name: Alt+hjkl to Arrows + remap: + # Alt-H: Alt+left #back + Alt-h: left + Alt-l: right + Alt-j: down + Alt-k: up + Alt-u: pageup + Alt-d: pagedown +# keymap: +# - name: Freetube remap +# application: +# only: FreeTube +# remap: +# Alt-h: Left +# Alt-l: Right +# Alt-j: Down +# Alt-k: Up diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba47bd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +!.gitignore +.config/hyde/themes/ +.config/fish/greet.txt diff --git a/README.md b/README.md index a7ab61f..fe867a5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -# dots + +using `gnu stow` + +``` +https://github.com/prasanthrangan/hyprdots +``` +`hyde`, `hyprdots`, `waybar` and `fish` are from hyprdots with edits + +`nvim` is [nvchad](https://nvchad.com/) custom conf +`xremap` for keyremap + +