├── README.md ├── RiceInstaller ├── config ├── alacritty │ ├── alacritty.yml │ ├── fonts.yml │ └── rice-colors.yml ├── bspwm │ ├── assets │ │ ├── brightness.svg │ │ ├── cancel.svg │ │ ├── fallback.webp │ │ ├── ka-rofi.webp │ │ ├── mute.png │ │ ├── profile.png │ │ ├── reload.svg │ │ ├── screenshot.svg │ │ └── vol.png │ ├── bspwmrc │ ├── dunstrc │ ├── eww │ │ ├── calendar │ │ │ ├── calendar.scss │ │ │ └── calendar.yuck │ │ ├── colors.scss │ │ ├── eww.scss │ │ ├── eww.yuck │ │ ├── player │ │ │ ├── player.scss │ │ │ └── player.yuck │ │ ├── powermenu │ │ │ ├── powermenu.scss │ │ │ └── powermenu.yuck │ │ └── profilecard │ │ │ ├── profilecard.scss │ │ │ └── profilecard.yuck │ ├── jgmenurc │ ├── karla │ │ ├── Theme.sh │ │ ├── config.ini │ │ ├── modules.ini │ │ └── walls │ │ │ ├── wall-01.webp │ │ │ ├── wall-02.webp │ │ │ ├── wall-03.webp │ │ │ ├── wall-04.webp │ │ │ ├── wall-05.webp │ │ │ ├── wall-06.webp │ │ │ ├── wall-07.webp │ │ │ └── wall-08.webp │ ├── picom.conf │ ├── scripts │ │ ├── .sys │ │ ├── Brightness │ │ ├── ExternalRules │ │ ├── KeybindingsHelp │ │ ├── Launcher.rasi │ │ ├── MediaControl │ │ ├── OpenApps │ │ ├── ScreenShoTer │ │ ├── SetSysVars │ │ ├── Updates │ │ ├── Volume │ │ ├── Weather │ │ ├── colors.ini │ │ ├── menu.txt │ │ ├── run_jgmenu │ │ ├── system.ini │ │ ├── systray │ │ └── temp.sh │ ├── stalonetrayrc │ └── sxhkdrc ├── mpd │ ├── log │ ├── mpd.conf │ ├── mpd.db │ ├── mpdstate │ └── playlists │ │ └── .nomedia ├── ncmpcpp │ ├── config │ └── error.log ├── nvim │ ├── init.lua │ └── lua │ │ └── gh0st │ │ ├── core │ │ ├── colorscheme.lua │ │ ├── keymaps.lua │ │ └── options.lua │ │ ├── plugins-setup.lua │ │ └── plugins │ │ ├── colorizer.lua │ │ ├── lualine.lua │ │ └── nvim-tree.lua ├── paru │ └── paru.conf ├── ranger │ ├── colorschemes │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.opt-1.pyc │ │ │ └── default.cpython-310.opt-1.pyc │ │ └── default.py │ ├── plugins │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ └── __init__.cpython-310.opt-1.pyc │ │ └── ranger_devicons │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.opt-1.pyc │ │ │ └── devicons.cpython-310.opt-1.pyc │ │ │ └── devicons.py │ ├── rc.conf │ └── rifle.conf └── zsh │ ├── zcompdump │ └── zhistory ├── home └── .zshrc ├── misc ├── applications │ ├── nvim.desktop │ ├── ranger.desktop │ ├── zfetch.desktop │ └── zombie.svg ├── asciiart │ └── zfetch ├── bin │ ├── colorscript │ └── sysfetch ├── firefox │ ├── chrome │ │ ├── add.svg │ │ ├── left-arrow.svg │ │ ├── right-arrow.svg │ │ ├── userChrome.css │ │ └── userContent.css │ └── user.js └── fonts │ ├── CartographCF │ ├── CartographCF-Bold.ttf │ ├── CartographCF-BoldItalic.ttf │ ├── CartographCF-ExtraBold.ttf │ ├── CartographCF-Regular.ttf │ └── CartographCF-RegularItalic.ttf │ ├── CozetteVectorNerdFont.ttf │ ├── FontAwesome6-Free-Solid.otf │ ├── MaterialDesignIconsDesktop.ttf │ ├── MesloLGS_NF_Regular.ttf │ ├── Phosphor.ttf │ ├── cherry │ ├── cherry-10-b.otb │ ├── cherry-10-r.otb │ ├── cherry-11-b.otb │ ├── cherry-11-r.otb │ ├── cherry-12-b.otb │ ├── cherry-12-r.otb │ ├── cherry-13-b.otb │ └── cherry-13-r.otb │ ├── clarity-city │ ├── ClarityCity-Bold.ttf │ ├── ClarityCity-ExtraBold.ttf │ ├── ClarityCity-Medium.ttf │ ├── ClarityCity-Regular.ttf │ ├── ClarityCity-RegularItalic.ttf │ └── ClarityCity-SemiBold.ttf │ ├── iosevka_nerd_font.ttf │ └── scientifica │ ├── scientifica.ttf │ ├── scientificaBold.ttf │ └── scientificaItalic.ttf └── preview └── karla.png /README.md: -------------------------------------------------------------------------------- 1 |

2 | ~ No longer Updates on this.~ 3 |

4 | 5 | # 🍚 dotfile karla 6 | ⚕ Personal Dotfiles 7 | > `🌠 Inspired/fork/edit from ` [`gh0stzk`](https://github.com/gh0stzk/dotfiles) 8 | > 9 | > `💻 Linux Configuration by` [`S4NKALP`](https://github.com/S4NKALP). 10 | 11 | ## 🌏 Overview 12 | 13 | 14 | - **Operating System**: **[`Archlinux`](https://archlinux.org)** 15 | - **Window Manager**: **[`Bspwm`](https://github.com/baskerville/bspwm)** 16 | - **Terminal**: **[`Alacritty`](https://github.com/alacritty/alacritty)** 17 | - **Shell**: **[`Zsh`](https://zsh.org)** 18 | - **Launcher** : **[`Rofi`](https://github.com/davatorium/rofi)** 19 | - **Status Bar**: **[`Polybar`](https://github.com/polybar/polybar)** 20 | - **Browser**: [`Brave`](https://brave.com/) / [`Chrome`](https://chrome.google.com) / [`Firefox`](https://www.mozilla.org/en/firefox/) 21 | 22 | ## 📦 Setup 23 | 24 |
25 | Installation: 26 | 27 | The installer only works for **ARCH** Linux, and based distros. 28 | 29 | Open a terminal in HOME 30 | - **First download the installer** 31 | ```sh 32 | curl https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/main/RiceInstaller -o $HOME/RiceInstaller 33 | ``` 34 | - **Now give it execute permissions** 35 | ```sh 36 | chmod +x RiceInstaller 37 | ``` 38 | - **Finally run the installer** 39 | ```sh 40 | ./RiceInstaller 41 | ``` 42 |
43 | -------------------------------------------------------------------------------- /RiceInstaller: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ╦═╗╦╔═╗╔═╗ ╦╔╗╔╔═╗╔╦╗╔═╗╦ ╦ ╔═╗╦═╗ 3 | # ╠╦╝║║ ║╣ ║║║║╚═╗ ║ ╠═╣║ ║ ║╣ ╠╦╝ 4 | # ╩╚═╩╚═╝╚═╝ ╩╝╚╝╚═╝ ╩ ╩ ╩╩═╝╩═╝╚═╝╩╚═ 5 | # Script to install my dotfiles 6 | # Author: z0mbi3 7 | # MODIFIED BY S4NKALP 8 | 9 | CRE=$(tput setaf 1) 10 | CYE=$(tput setaf 3) 11 | CGR=$(tput setaf 2) 12 | CBL=$(tput setaf 4) 13 | BLD=$(tput bold) 14 | CNC=$(tput sgr0) 15 | 16 | backup_folder=~/.RiceBackup 17 | date=$(date +%Y%m%d-%H%M%S) 18 | 19 | logo () { 20 | 21 | local text="${1:?}" 22 | echo -en " 23 | %%% 24 | %%%%%//%%%%% 25 | %%************%%% 26 | (%%//############*****%% 27 | %%%%%**###&&&&&&&&&###**// 28 | %%(**##&&&#########&&&##** 29 | %%(**##*****#####*****##**%%% 30 | %%(**## ***** ##** 31 | //## @@** @@ ##// 32 | ## **### ## 33 | ####### #####// 34 | ###**&&&&&**### 35 | &&& &&& 36 | &&&//// && 37 | &&//@@@** 38 | ..*** 39 | z0mbi3 Dotfiles\n\n" 40 | printf ' %s [%s%s %s%s %s]%s\n\n' "${CRE}" "${CNC}" "${CYE}" "${text}" "${CNC}" "${CRE}" "${CNC}" 41 | } 42 | 43 | ########## ---------- You must not run this as root ---------- ########## 44 | 45 | if [ "$(id -u)" = 0 ]; then 46 | echo "This script MUST NOT be run as root user." 47 | exit 1 48 | fi 49 | 50 | ########## ---------- Welcome ---------- ########## 51 | 52 | logo "Welcome!" 53 | printf '%s%sThis script will check if you have the necessary dependencies, and if not, it will install them. Then, it will clone the RICE in your HOME directory.\nAfter that, it will create a secure backup of your files, and then copy the new files to your computer.\n\nMy dotfiles DO NOT modify any of your system configurations.\nYou will be prompted for your root password to install missing dependencies and/or to switch to zsh shell if its not your default.\n\nThis script doesnt have the potential power to break your system, it only copies files from my repository to your HOME directory.%s\n\n' "${BLD}" "${CRE}" "${CNC}" 54 | 55 | while true; do 56 | read -rp " Do you wish to continue? [y/N]: " yn 57 | case $yn in 58 | [Yy]* ) break;; 59 | [Nn]* ) exit;; 60 | * ) printf " Error: just write 'y' or 'n'\n\n";; 61 | esac 62 | done 63 | clear 64 | 65 | ########## ---------- Install packages ---------- ########## 66 | 67 | logo "Installing needed packages.." 68 | 69 | dependencias=(base-devel rustup pacman-contrib bspwm polybar sxhkd \ 70 | alacritty brightnessctl dunst rofi lsd stalonetray \ 71 | jq polkit-gnome git playerctl mpd xclip \ 72 | ncmpcpp geany ranger mpc picom xdo xdotool jgmenu \ 73 | feh ueberzug maim pamixer libwebp xdg-user-dirs \ 74 | webp-pixbuf-loader xorg-xprop xorg-xkill physlock papirus-icon-theme \ 75 | ttf-jetbrains-mono ttf-jetbrains-mono-nerd ttf-terminus-nerd ttf-inconsolata ttf-joypixels \ 76 | zsh zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting xorg-xsetroot xorg-xwininfo xorg-xrandr) 77 | 78 | is_installed() { 79 | pacman -Qi "$1" &> /dev/null 80 | return $? 81 | } 82 | 83 | printf "%s%sChecking for required packages...%s\n" "${BLD}" "${CBL}" "${CNC}" 84 | for paquete in "${dependencias[@]}" 85 | do 86 | if ! is_installed "$paquete"; then 87 | sudo pacman -S "$paquete" --noconfirm 88 | printf "\n" 89 | else 90 | printf '%s%s is already installed on your system!%s\n' "${CGR}" "$paquete" "${CNC}" 91 | sleep 1 92 | fi 93 | done 94 | sleep 3 95 | clear 96 | 97 | ########## ---------- Preparing Folders ---------- ########## 98 | 99 | logo "Preparing Folders" 100 | if [ ! -e $HOME/.config/user-dirs.dirs ]; then 101 | xdg-user-dirs-update 102 | echo "Creating xdg-user-dirs" 103 | else 104 | echo "user-dirs.dirs already exists" 105 | fi 106 | sleep 2 107 | clear 108 | 109 | ########## ---------- Cloning the Rice! ---------- ########## 110 | 111 | logo "Downloading dotfiles" 112 | [ -d ~/dotfiles ] && rm -rf ~/dotfiles 113 | printf "Cloning rice from https://github.com/S4NKALP/gh0stzk-dotfile\n" 114 | cd 115 | git clone --depth=1 https://github.com/S4NKALP/gh0stzk-dotfile.git 116 | sleep 2 117 | clear 118 | 119 | ########## ---------- Backup files ---------- ########## 120 | 121 | logo "Backup files" 122 | printf "Backup files will be stored in %s%s%s/.RiceBackup%s \n\n" "${BLD}" "${CRE}" "$HOME" "${CNC}" 123 | sleep 10 124 | 125 | if [ ! -d "$backup_folder" ]; then 126 | mkdir -p "$backup_folder" 127 | fi 128 | 129 | for folder in bspwm alacritty picom rofi sxhkd dunst polybar ncmpcpp nvim ranger zsh mpd paru; do 130 | if [ -d "$HOME/.config/$folder" ]; then 131 | mv "$HOME/.config/$folder" "$backup_folder/${folder}_$date" 132 | echo "$folder folder backed up successfully at $backup_folder/${folder}_$date" 133 | else 134 | echo "The folder $folder does not exist in $HOME/.config/" 135 | fi 136 | done 137 | 138 | for folder in chrome; do 139 | if [ -d "$HOME"/.mozilla/firefox/*.default-release/$folder ]; then 140 | mv "$HOME"/.mozilla/firefox/*.default-release/$folder "$backup_folder"/${folder}_$date 141 | echo "$folder folder backed up successfully at $backup_folder/${folder}_$date" 142 | else 143 | echo "The folder $folder does not exist in $HOME/.mozilla/firefox/" 144 | fi 145 | done 146 | 147 | for file in user.js; do 148 | if [ -e "$HOME"/.mozilla/firefox/*.default-release/$file ]; then 149 | mv "$HOME"/.mozilla/firefox/*.default-release/$file "$backup_folder"/${file}_$date 150 | echo "$file file backed up successfully at $backup_folder/${file}_$date" 151 | else 152 | echo "The file $file does not exist in $HOME/.mozilla/firefox/" 153 | fi 154 | done 155 | 156 | [ -f ~/.zshrc ] && mv ~/.zshrc ~/.RiceBackup/.zshrc-backup-"$(date +%Y.%m.%d-%H.%M.%S)" 157 | 158 | printf "%s%sDone!!%s\n\n" "${BLD}" "${CGR}" "${CNC}" 159 | sleep 5 160 | 161 | ########## ---------- Copy the Rice! ---------- ########## 162 | 163 | logo "Installing dotfiles.." 164 | printf "Copying files to respective directories..\n" 165 | 166 | [ ! -d ~/.config ] && mkdir -p ~/.config 167 | [ ! -d ~/.local/bin ] && mkdir -p ~/.local/bin 168 | [ ! -d ~/.local/share/applications ] && mkdir -p ~/.local/share/applications 169 | [ ! -d ~/.local/share/fonts ] && mkdir -p ~/.local/share/fonts 170 | [ ! -d ~/.local/share/asciiart ] && mkdir -p ~/.local/share/asciiart 171 | 172 | for archivos in ~/dotfiles/config/*; do 173 | cp -R "${archivos}" ~/.config/ 174 | if [ $? -eq 0 ]; then 175 | printf "%s%s%s folder copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 176 | sleep 1 177 | else 178 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 179 | sleep 1 180 | fi 181 | done 182 | 183 | for archivos in ~/dotfiles/misc/bin/*; do 184 | cp -R "${archivos}" ~/.local/bin/ 185 | if [ $? -eq 0 ]; then 186 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 187 | sleep 1 188 | else 189 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 190 | sleep 1 191 | fi 192 | done 193 | 194 | for archivos in ~/dotfiles/misc/applications/*; do 195 | cp -R "${archivos}" ~/.local/share/applications/ 196 | if [ $? -eq 0 ]; then 197 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 198 | sleep 1 199 | else 200 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 201 | sleep 1 202 | fi 203 | done 204 | 205 | for archivos in ~/dotfiles/misc/fonts/*; do 206 | cp -R "${archivos}" ~/.local/share/fonts/ 207 | if [ $? -eq 0 ]; then 208 | printf "%s%s%s copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 209 | sleep 1 210 | else 211 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 212 | sleep 1 213 | fi 214 | done 215 | 216 | for archivos in ~/dotfiles/misc/asciiart/*; do 217 | cp -R "${archivos}" ~/.local/share/asciiart/ 218 | if [ $? -eq 0 ]; then 219 | printf "%s%s%s file copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 220 | sleep 1 221 | else 222 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 223 | sleep 1 224 | fi 225 | done 226 | 227 | for archivos in ~/dotfiles/misc/firefox/*; do 228 | cp -R "${archivos}" ~/.mozilla/firefox/*.default-release/ 229 | if [ $? -eq 0 ]; then 230 | printf "%s%s%s folder copied succesfully!%s\n" "${BLD}" "${CGR}" "${archivos}" "${CNC}" 231 | sleep 1 232 | else 233 | printf "%s%s%s failed to been copied, you must copy it manually%s\n" "${BLD}" "${CRE}" "${archivos}" "${CNC}" 234 | sleep 1 235 | fi 236 | done 237 | 238 | cp -f "$HOME"/dotfiles/home/.zshrc "$HOME" 239 | fc-cache -rv >/dev/null 2>&1 240 | printf "%s%sFiles copied succesfully!!%s\n" "${BLD}" "${CGR}" "${CNC}" 241 | sleep 3 242 | 243 | ########## ---------- Installing Paru from source ---------- ########## 244 | 245 | logo "installing Paru" 246 | 247 | if ! command -v paru >/dev/null 2>&1; then 248 | printf "%s%sInstalling paru%s\n" "${BLD}" "${CBL}" "${CNC}" 249 | cd 250 | git clone https://aur.archlinux.org/paru-bin.git 251 | cd paru-bin 252 | makepkg -si --noconfirm 253 | cd 254 | else 255 | printf "%s%sParu is already installed%s\n" "${BLD}" "${CGR}" "${CNC}" 256 | fi 257 | 258 | ## Intalling tdrop for scratchpads 259 | if ! command -v tdrop >/dev/null 2>&1; then 260 | printf "\n%s%sInstalling tdrop, this must be fast!.%s\n" "${BLD}" "${CBL}" "${CNC}" 261 | paru -S tdrop-git --skipreview --noconfirm 262 | else 263 | printf "\n%s%sTdrop is already installed%s\n" "${BLD}" "${CGR}" "${CNC}" 264 | fi 265 | 266 | # Installing Eww 267 | if command -v eww >/dev/null 2>&1; then 268 | printf "\n%s%sEww is already installed%s\n" "${BLD}" "${CGR}" "${CNC}" 269 | else 270 | printf "\n%s%sInstalling Eww, this could take 10 mins or more.%s\n" "${BLD}" "${CBL}" "${CNC}" 271 | { 272 | sudo pacman -S rustup --noconfirm 273 | cd "$HOME" || exit 274 | git clone https://github.com/elkowar/eww 275 | cd eww || exit 276 | cargo build --release --no-default-features --features x11 277 | sudo install -m 755 "$HOME/eww/target/release/eww" -t /usr/bin/ 278 | } && { 279 | cd "$HOME" || exit 280 | rm -rf {paru-bin,.cargo,.rustup,eww} 281 | } || { 282 | printf "\n%s%sFailed to install Eww. You may need to install it manually%s\n" "${BLD}" "${CRE}" "${CNC}" 283 | } 284 | fi 285 | 286 | ########## ---------- Enabling MPD service ---------- ########## 287 | 288 | logo "Enabling mpd service" 289 | 290 | systemctl --user enable mpd.service 291 | systemctl --user start mpd.service 292 | printf "%s%sDone!!%s\n\n" "${BLD}" "${CGR}" "${CNC}" 293 | sleep 2 294 | 295 | ########## --------- Changing shell to zsh ---------- ########## 296 | 297 | logo "Changing default shell to zsh" 298 | printf "%s%sIf your shell is not zsh will be changed now.\nYour root password is needed to make the change.\n\nAfter that is important for you to reboot.\n %s\n" "${BLD}" "${CYE}" "${CNC}" 299 | if [[ $SHELL != "/usr/bin/zsh" ]]; then 300 | echo "Changing shell to zsh, your root pass is needed." 301 | chsh -s /usr/bin/zsh 302 | else 303 | printf "%s%sYour shell is already zsh\nGood bye! installation finished, now reboot%s\n" "${BLD}" "${CGR}" "${CNC}" 304 | zsh 305 | fi 306 | -------------------------------------------------------------------------------- /config/alacritty/alacritty.yml: -------------------------------------------------------------------------------- 1 | # ╔═╗╦ ╔═╗╔═╗╦═╗╦╔╦╗╔╦╗╦ ╦ ╔═╗╔═╗╔╗╔╔═╗╦╔═╗ 2 | # ╠═╣║ ╠═╣║ ╠╦╝║ ║ ║ ╚╦╝ ║ ║ ║║║║╠╣ ║║ ╦ - Config by z0mbi3 3 | # ╩ ╩╩═╝╩ ╩╚═╝╩╚═╩ ╩ ╩ ╩ ╚═╝╚═╝╝╚╝╚ ╩╚═╝ - https://github.com/gh0stzk/dotfiles 4 | # General configuration 5 | 6 | import: 7 | - ~/.config/alacritty/rice-colors.yml 8 | - ~/.config/alacritty/fonts.yml 9 | 10 | window: 11 | padding: 12 | x: 15 13 | y: 15 14 | 15 | decorations: none 16 | 17 | opacity: 1.0 18 | dynamic_title: true 19 | 20 | history: 10000 21 | multiplier: 3 22 | 23 | selection: 24 | save_to_clipboard: false 25 | 26 | cursor: 27 | style: 28 | shape: Block 29 | blinking: On 30 | 31 | unfocused_hollow: false 32 | blink_interval: 550 33 | 34 | live_config_reload: true 35 | -------------------------------------------------------------------------------- /config/alacritty/fonts.yml: -------------------------------------------------------------------------------- 1 | # Font configuration 2 | font: 3 | normal: 4 | family: JetBrainsMono Nerd Font 5 | #style: Regular 6 | 7 | bold: 8 | family: JetBrainsMono Nerd Font 9 | #style: Bold 10 | 11 | italic: 12 | family: JetBrainsMono Nerd Font 13 | #style: Italic 14 | 15 | bold_italic: 16 | family: JetBrainsMono Nerd Font 17 | #style: Bold Italic 18 | 19 | size: 6 20 | -------------------------------------------------------------------------------- /config/alacritty/rice-colors.yml: -------------------------------------------------------------------------------- 1 | # ██████╗ ██╗ ██████╗███████╗ ██████╗ ██████╗ ██╗ ██████╗ ██████╗ ███████╗ 2 | # ██╔══██╗██║██╔════╝██╔════╝ ██╔════╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔════╝ 3 | # ██████╔╝██║██║ █████╗ ██║ ██║ ██║██║ ██║ ██║██████╔╝███████╗ 4 | # ██╔══██╗██║██║ ██╔══╝ ██║ ██║ ██║██║ ██║ ██║██╔══██╗╚════██║ 5 | # ██║ ██║██║╚██████╗███████╗ ╚██████╗╚██████╔╝███████╗╚██████╔╝██║ ██║███████║ 6 | # ╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ 7 | # Author : z0mbi3 8 | # url : https://github.com/gh0stzk/dotfiles 9 | # Info : Alacritty Colorschemes for the 12 rices. 10 | 11 | schemes: 12 | # Colors (Pencil light) Aline Rice 13 | aline_pencil_light: &aline_pencil_light 14 | primary: 15 | background: '#e5eafe' 16 | foreground: '#51576d' 17 | normal: 18 | black: '#212121' 19 | red: '#c30771' 20 | green: '#10a778' 21 | yellow: '#a89c14' 22 | blue: '#008ec4' 23 | magenta: '#523c79' 24 | cyan: '#20a5ba' 25 | white: '#51576d' 26 | bright: 27 | black: '#212121' 28 | red: '#fb007a' 29 | green: '#5fd7af' 30 | yellow: '#f3e430' 31 | blue: '#20bbfc' 32 | magenta: '#6855de' 33 | cyan: '#4fb8cc' 34 | white: '#51576d' 35 | cursor: 36 | cursor: '#20bbfc' 37 | text: '#e5eafe' 38 | # Colors Andrea Rice 39 | andrea_color_scheme: &andrea_color_scheme 40 | primary: 41 | background: '#F5EEE6' 42 | foreground: '#6d6a78' 43 | normal: 44 | black: '#80859d' 45 | red: '#c04364' 46 | green: '#abd77a' 47 | yellow: '#ffcc57' 48 | blue: '#67d4f1' 49 | magenta: '#7a7498' 50 | cyan: '#9bf4d5' 51 | white: '#b0b0b0' 52 | bright: 53 | black: '#80859d' 54 | red: '#c03f61' 55 | green: '#a1d16c' 56 | yellow: '#f2be47' 57 | blue: '#50bfdc' 58 | magenta: '#605692' 59 | cyan: '#83edc8' 60 | white: '#b0b0b0' 61 | cursor: 62 | cursor: '#7a7498' 63 | text: '#F5EEE6' 64 | # Colors (Rose-Pine Moon) Cristina Rice 65 | cristina_rose_pine: &cristina_rose_pine 66 | primary: 67 | background: '#1f1d29' 68 | foreground: '#eaeaea' 69 | normal: 70 | black: '#6f6e85' 71 | red: '#ea6f91' 72 | green: '#9bced7' 73 | yellow: '#f1ca93' 74 | blue: '#34738e' 75 | magenta: '#c3a5e6' 76 | cyan: '#eabbb9' 77 | white: '#faebd7' 78 | bright: 79 | black: '#6f6e85' 80 | red: '#ea6f91' 81 | green: '#9bced7' 82 | yellow: '#f1ca93' 83 | blue: '#34738e' 84 | magenta: '#c3a5e6' 85 | cyan: '#ebbcba' 86 | white: '#e0def4' 87 | cursor: 88 | cursor: '#c3a5e6' 89 | text: '#1f1d29' 90 | # Colors Cynthia Rice 91 | cynthia_color_scheme: &cynthia_color_scheme 92 | primary: 93 | background: '#1f2329' 94 | foreground: '#b8bfe5' 95 | normal: 96 | black: '#0f1319' 97 | red: '#644d66' 98 | green: '#375759' 99 | yellow: '#736871' 100 | blue: '#3f5273' 101 | magenta: '#543f66' 102 | cyan: '#324f66' 103 | white: '#b3b3b3' 104 | bright: 105 | black: '#b3b3b3' 106 | red: '#735771' 107 | green: '#3f6566' 108 | yellow: '#807476' 109 | blue: '#465b80' 110 | magenta: '#533969' 111 | cyan: '#385a73' 112 | white: '#e5e5e5' 113 | cursor: 114 | cursor: '#465b80' 115 | text: '#e5e5e5' 116 | # Colors (Tokyo Night) Emilia Rice 117 | emilia_tokyo_night: &emilia_tokyo_night 118 | primary: 119 | background: '#1a1b26' 120 | foreground: '#c0caf5' 121 | normal: 122 | black: '#414868' 123 | red: '#f7768e' 124 | green: '#9ece6a' 125 | yellow: '#e0af68' 126 | blue: '#7aa2f7' 127 | magenta: '#bb9af7' 128 | cyan: '#7dcfff' 129 | white: '#787c99' 130 | bright: 131 | black: '#414868' 132 | red: '#f7768e' 133 | green: '#9ece6a' 134 | yellow: '#e0af68' 135 | blue: '#7aa2f7' 136 | magenta: '#bb9af7' 137 | cyan: '#7dcfff' 138 | white: '#c0caf5' 139 | cursor: 140 | cursor: '#bb9af7' 141 | text: '#1a1b26' 142 | # Colors (Onedark) Isabel Rice 143 | isabel_onedark: &isabel_onedark 144 | primary: 145 | background: '#14171c' 146 | foreground: '#b8bfe5' 147 | normal: 148 | black: '#5c6370' 149 | red: '#be5046' 150 | green: '#81ae5f' 151 | yellow: '#d19a66' 152 | blue: '#4889be' 153 | magenta: '#7560d3' 154 | cyan: '#49919a' 155 | white: '#c5cddb' 156 | bright: 157 | black: '#5c6370' 158 | red: '#e06c75' 159 | green: '#98c379' 160 | yellow: '#e5c07b' 161 | blue: '#61afef' 162 | magenta: '#8677cf' 163 | cyan: '#56b6c2' 164 | white: '#abb2bf' 165 | cursor: 166 | cursor: '#abb2bf' 167 | text: '#14171c' 168 | # Colors (CyberPunk) Jan Rice 169 | jan_cyberpunk: &jan_cyberpunk 170 | primary: 171 | background: '#070219' 172 | foreground: '#c0caf5' 173 | normal: 174 | black: '#626483' 175 | red: '#fb007a' 176 | green: '#a6e22e' 177 | yellow: '#f3e430' 178 | blue: '#58AFC2' 179 | magenta: '#583794' 180 | cyan: '#926BCA' 181 | white: '#d9d9d9' 182 | bright: 183 | black: '#626483' 184 | red: '#fb007a' 185 | green: '#a6e22e' 186 | yellow: '#f3e430' 187 | blue: '#58AFC2' 188 | magenta: '#472575' 189 | cyan: '#926BCA' 190 | white: '#f1f1f1' 191 | cursor: 192 | cursor: '#fb007a' 193 | text: '#070219' 194 | # Colors (Zombie-Night color scheme) Karla Rice 195 | karla_z0mbi3_night: &karla_z0mbi3_night 196 | primary: 197 | background: '#0E1113' 198 | foreground: '#afb1db' 199 | normal: 200 | black: '#2d2b36' 201 | red: '#e7034a' 202 | green: '#61b33e' 203 | yellow: '#ffb964' 204 | blue: '#5884d4' 205 | magenta: '#7a44e3' 206 | cyan: '#7df0f0' 207 | white: '#faf7ff' 208 | bright: 209 | black: '#373542' 210 | red: '#e71c5b' 211 | green: '#6fb352' 212 | yellow: '#ffb964' 213 | blue: '#5f90ea' 214 | magenta: '#8656e3' 215 | cyan: '#97f0f0' 216 | white: '#fdfcff' 217 | cursor: 218 | cursor: '#8656e3' 219 | text: '#0b0b12' 220 | # Colors (Nord) Melissa Rice 221 | melissa_nord: &melissa_nord 222 | primary: 223 | background: '#2e3440' 224 | foreground: '#d8dee9' 225 | normal: 226 | black: '#4c566a' 227 | red: '#bf616a' 228 | green: '#a3be8c' 229 | yellow: '#ebcb8b' 230 | blue: '#81a1c1' 231 | magenta: '#b48ead' 232 | cyan: '#88c0d0' 233 | white: '#e5e9f0' 234 | bright: 235 | black: '#4c566a' 236 | red: '#bf616a' 237 | green: '#a3be8c' 238 | yellow: '#ebcb8b' 239 | blue: '#81a1c1' 240 | magenta: '#b48ead' 241 | cyan: '#8fbcbb' 242 | white: '#eceff4' 243 | cursor: 244 | cursor: '#81a1c1' 245 | text: '#2e3440' 246 | # Colors (Elenapan) Pamela Rice 247 | pamela_color_scheme: &pamela_color_scheme 248 | primary: 249 | background: '#1D1F28' 250 | foreground: '#FDFDFD' 251 | normal: 252 | black: '#3D4C5F' 253 | red: '#F37F97' 254 | green: '#5ADECD' 255 | yellow: '#F2A272' 256 | blue: '#8897F4' 257 | magenta: '#C574DD' 258 | cyan: '#79E6F3' 259 | white: '#FDFDFD' 260 | bright: 261 | black: '#56687E' 262 | red: '#FF4971' 263 | green: '#18E3C8' 264 | yellow: '#FF8037' 265 | blue: '#556FFF' 266 | magenta: '#B043D1' 267 | cyan: '#3FDCEE' 268 | white: '#BEBEC1' 269 | cursor: 270 | cursor: '#FF4971' 271 | text: '#1D1F28' 272 | # Colors (Gruvbox) Silvia Rice 273 | silvia_gruvbox: &silvia_gruvbox 274 | primary: 275 | background: '#282828' 276 | foreground: '#fbf1c7' 277 | normal: 278 | black: '#a89984' 279 | red: '#cc241d' 280 | green: '#98971a' 281 | yellow: '#d79921' 282 | blue: '#458588' 283 | magenta: '#b16286' 284 | cyan: '#689d6a' 285 | white: '#ebdbb2' 286 | bright: 287 | black: '#a89984' 288 | red: '#fb4934' 289 | green: '#b8bb26' 290 | yellow: '#fabd2f' 291 | blue: '#83a598' 292 | magenta: '#d3869b' 293 | cyan: '#8ec07c' 294 | white: '#ebdbb2' 295 | cursor: 296 | cursor: '#fbf1c7' 297 | text: '#282828' 298 | # Colors (Decay, decayce variant) z0mbi3 Rice 299 | z0mbi3_decay: &z0mbi3_decay 300 | primary: 301 | background: '#0d0f18' 302 | foreground: '#a5b6cf' 303 | normal: 304 | black: '#3d414f' 305 | red: '#dd6777' 306 | green: '#90ceaa' 307 | yellow: '#ecd3a0' 308 | blue: '#86aaec' 309 | magenta: '#c296eb' 310 | cyan: '#93cee9' 311 | white: '#cbced3' 312 | bright: 313 | black: '#3d414f' 314 | red: '#dd6777' 315 | green: '#90ceaa' 316 | yellow: '#ecd3a0' 317 | blue: '#86aaec' 318 | magenta: '#c296eb' 319 | cyan: '#93cee9' 320 | white: '#cbced3' 321 | cursor: 322 | cursor: '#a5b6cf' 323 | text: '#0d0f18' 324 | 325 | # Set the color scheme for the actual rice. 326 | colors: *karla_z0mbi3_night 327 | -------------------------------------------------------------------------------- /config/bspwm/assets/brightness.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 9 | 12 | 14 | 15 | 16 | 18 | 20 | 22 | 23 | 25 | 27 | 30 | 33 | 36 | 39 | -------------------------------------------------------------------------------- /config/bspwm/assets/cancel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 10 | 15 | 29 | 34 | 39 | -------------------------------------------------------------------------------- /config/bspwm/assets/fallback.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/fallback.webp -------------------------------------------------------------------------------- /config/bspwm/assets/ka-rofi.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/ka-rofi.webp -------------------------------------------------------------------------------- /config/bspwm/assets/mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/mute.png -------------------------------------------------------------------------------- /config/bspwm/assets/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/profile.png -------------------------------------------------------------------------------- /config/bspwm/assets/reload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 9 | 10 | 14 | 18 | 19 | 23 | 28 | 38 | 48 | -------------------------------------------------------------------------------- /config/bspwm/assets/screenshot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /config/bspwm/assets/vol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/S4NKALP/gh0stzk-dotfile/d2b88bb82e14d287c4c5a64f2b5343aa9d7f0ddc/config/bspwm/assets/vol.png -------------------------------------------------------------------------------- /config/bspwm/bspwmrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # ██████╗ ███████╗██████╗ ██╗ ██╗███╗ ███╗██████╗ ██████╗ 4 | # ██╔══██╗██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝ 5 | # ██████╔╝███████╗██████╔╝██║ █╗ ██║██╔████╔██║██████╔╝██║ 6 | # ██╔══██╗╚════██║██╔═══╝ ██║███╗██║██║╚██╔╝██║██╔══██╗██║ 7 | # ██████╔╝███████║██║ ╚███╔███╔╝██║ ╚═╝ ██║██║ ██║╚██████╗ 8 | # ╚═════╝ ╚══════╝╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ 9 | 10 | # ┬┌┬┐┌─┐┌─┐┬─┐┌┬┐┌─┐┌┐┌┌┬┐ ┬ ┬┌─┐┬─┐┬┌─┐┌┐ ┬ ┌─┐┌─┐ 11 | # ││││├─┘│ │├┬┘ │ ├─┤│││ │ └┐┌┘├─┤├┬┘│├─┤├┴┐│ ├┤ └─┐ 12 | # ┴┴ ┴┴ └─┘┴└─ ┴ ┴ ┴┘└┘ ┴ └┘ ┴ ┴┴└─┴┴ ┴└─┘┴─┘└─┘└─┘ 13 | 14 | 15 | PATH="$HOME/.config/bspwm/scripts:$PATH" 16 | rice_dir="$HOME/.config/bspwm/karla" 17 | 18 | ## Fix java applications 19 | export _JAVA_AWT_WM_NONREPARENTING=1 20 | 21 | # ╦ ╦╔═╗╦═╗╦╔═╔═╗╔═╗╔═╗╔═╗╔═╗╔═╗ 22 | # ║║║║ ║╠╦╝╠╩╗╚═╗╠═╝╠═╣║ ║╣ ╚═╗ 23 | # ╚╩╝╚═╝╩╚═╩ ╩╚═╝╩ ╩ ╩╚═╝╚═╝╚═╝ 24 | 25 | # Default 1 monitor with 6 workspaces 26 | for monitor in "$(xrandr -q | grep -w 'connected' | cut -d' ' -f1)"; do 27 | bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6' 28 | #bspc monitor "$monitor" -d '' '' '' '' '' '' 29 | done 30 | 31 | ## For two or three monitors configuration see https://github.com/gh0stzk/dotfiles/wiki/Two-or-more-monitors-setup 32 | 33 | 34 | # ┌┐ ┌─┐┌─┐┬ ┬┌┬┐ ┌─┐┌─┐┌┐┌┌─┐┬┌─┐ 35 | # ├┴┐└─┐├─┘││││││ │ │ ││││├┤ ││ ┬ 36 | # └─┘└─┘┴ └┴┘┴ ┴ └─┘└─┘┘└┘└ ┴└─┘ 37 | 38 | bspc config external_rules_command $HOME/.config/bspwm/scripts/ExternalRules 39 | 40 | bspc config window_gap 6 41 | bspc config split_ratio 0.51 42 | bspc config single_monocle true 43 | bspc config borderless_monocle false 44 | bspc config gapless_monocle false 45 | 46 | bspc config focus_follows_pointer true 47 | bspc config pointer_follows_focus false 48 | bspc config pointer_motion_interval 5 49 | bspc config pointer_modifier mod4 50 | bspc config pointer_action1 move 51 | bspc config pointer_action2 resize_side 52 | bspc config pointer_action3 resize_corner 53 | 54 | #bspc wm --adopt-orphans 55 | bspc rule -a scratch sticky=on state=floating focus=on 56 | 57 | # ╔═╗╦ ╦╔╦╗╔═╗╔═╗╔╦╗╔═╗╦═╗╔╦╗ 58 | # ╠═╣║ ║ ║ ║ ║╚═╗ ║ ╠═╣╠╦╝ ║ 59 | # ╩ ╩╚═╝ ╩ ╚═╝╚═╝ ╩ ╩ ╩╩╚═ ╩ 60 | 61 | # Set system vars for polybar 62 | . SetSysVars 63 | 64 | # Terminate already running polybar,picom, sxhkd and dunst instances 65 | processes=("eww" "picom" "polybar" "sxhkd" "dunst") 66 | 67 | for process in "${processes[@]}"; do 68 | if pidof -q "$process"; then 69 | pkill -9 -x "$process" > /dev/null; sleep 0.1 70 | fi 71 | done 72 | 73 | # Load colors, dunst, bars and/or eww widgets 74 | . ${rice_dir}/Theme.sh 75 | 76 | # Launch picom // If you have old hardware or encounter problems 77 | # uncomment the picom "--legacy-backends" line and comment the current one. 78 | pidof -q picom || { picom --config "$HOME"/.config/bspwm/picom.conf & } 79 | #pidof -q picom || { picom --legacy-backends --config "$HOME"/.config/bspwm/picom.conf & } 80 | 81 | # Launch dunst notification daemon 82 | dunst -config "$HOME"/.config/bspwm/dunstrc & 83 | 84 | # Set random wallpaper for actual rice 85 | feh -z --no-fehbg --bg-fill ${rice_dir}/walls 86 | 87 | # Launch eww daemon 88 | pidof -q eww || { eww -c "$HOME"/.config/bspwm/eww daemon & } 89 | 90 | # Launch stalonetray 91 | stalonetray -c "$HOME"/.config/bspwm/stalonetrayrc & sleep 0.1 && xdo hide -N stalonetray && touch "/tmp/syshide.lock" 92 | 93 | # Reload sxhkd daemon 94 | sxhkd -c "$HOME"/.config/bspwm/sxhkdrc & 95 | 96 | # Launch polkit 97 | pidof -q polkit-gnome-authentication-agent-1 || { /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & } 98 | 99 | # Fix cursor 100 | xsetroot -cursor_name left_ptr 101 | -------------------------------------------------------------------------------- /config/bspwm/dunstrc: -------------------------------------------------------------------------------- 1 | # ╔╦╗╦ ╦╔╗╔╔═╗╔╦╗ ╔═╗╔═╗╔╗╔╔═╗╦╔═╗ 2 | # ║║║ ║║║║╚═╗ ║ ║ ║ ║║║║╠╣ ║║ ╦ 3 | # ═╩╝╚═╝╝╚╝╚═╝ ╩ ╚═╝╚═╝╝╚╝╚ ╩╚═╝ 4 | 5 | [global] 6 | title = Dunst 7 | class = Dunst 8 | monitor = 0 9 | follow = mouse 10 | width = 300 11 | height = 300 12 | origin = top-right 13 | offset = 10x92 14 | indicate_hidden = yes 15 | shrink = yes 16 | 17 | transparency = 8 18 | separator_height = 2 19 | padding = 8 20 | horizontal_padding = 11 21 | frame_width = 6 22 | frame_color = "#0E1113" 23 | separator_color = "#353c52" 24 | 25 | font = JetBrainsMono Nerd Font Medium 9 26 | 27 | line_height = 0 28 | markup = full 29 | format = "%s\n%b" 30 | alignment = center 31 | 32 | idle_threshold = 120 33 | show_age_threshold = 60 34 | sort = no 35 | word_wrap = yes 36 | ignore_newline = no 37 | stack_duplicates = false 38 | hide_duplicate_count = yes 39 | show_indicators = no 40 | sticky_history = no 41 | history_length = 20 42 | always_run_script = true 43 | corner_radius = 4 44 | icon_position = left 45 | max_icon_size = 80 46 | 47 | icon_path = /usr/share/icons/Papirus-Dark/48x48/actions/:/usr/share/icons/Papirus-Dark/48x48/apps/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/emblems/:/usr/share/icons/Papirus-Dark/48x48/emotes/:/usr/share/icons/Papirus-Dark/48x48/mimetypes/:/usr/share/icons/Papirus-Dark/48x48/places/:/usr/share/icons/Papirus-Dark/48x48/status/ 48 | 49 | browser = firefox 50 | 51 | mouse_left_click = close_current 52 | mouse_middle_click = do_action 53 | mouse_right_click = close_all 54 | 55 | [urgency_low] 56 | timeout = 3 57 | background = "#0E1113" 58 | foreground = "#afb1db" 59 | 60 | [urgency_normal] 61 | timeout = 6 62 | background = "#0E1113" 63 | foreground = "#afb1db" 64 | 65 | [urgency_critical] 66 | timeout = 0 67 | background = "#0E1113" 68 | foreground = "#afb1db" 69 | -------------------------------------------------------------------------------- /config/bspwm/eww/calendar/calendar.scss: -------------------------------------------------------------------------------- 1 | .date { 2 | background-color: $bg; 3 | color: $fg; 4 | border-radius: .5rem; 5 | } 6 | 7 | .cal-box { 8 | font-family: Cantarell; 9 | font-weight: Bold; 10 | font-size: .9rem; 11 | background-color: $bg; 12 | border-radius: .5rem; 13 | padding: 0 1rem .2rem; 14 | color: $fg; 15 | background-color: $bg-alt; 16 | margin: .6rem .6rem .6rem .6rem; 17 | 18 | .cal { 19 | background-color: inherit; 20 | padding: .5rem .15rem .2rem; 21 | margin-left: 10px; 22 | 23 | & > * { 24 | border: solid 0px transparent; 25 | } 26 | 27 | &.highlight { 28 | padding: 10rem; 29 | } 30 | } 31 | } 32 | 33 | calendar:selected { 34 | color: $magenta; 35 | } 36 | 37 | calendar.header { 38 | color: $magenta; 39 | font-weight: bold; 40 | } 41 | 42 | calendar.button { 43 | color: $fg; 44 | } 45 | 46 | calendar.highlight { 47 | color: $green; 48 | font-weight: bold; 49 | } 50 | 51 | calendar:indeterminate { 52 | color: $lightblack; 53 | } 54 | -------------------------------------------------------------------------------- /config/bspwm/eww/calendar/calendar.yuck: -------------------------------------------------------------------------------- 1 | 2 | (defwidget cal [] 3 | (box :class "cal-box" 4 | :orientation "v" 5 | :space-evenly false 6 | (calendar :class "cal" 7 | :day {formattime(EWW_TIME, "%d")} 8 | :month {formattime(EWW_TIME, "%m")} 9 | :year {formattime(EWW_TIME, "%Y")} 10 | )) 11 | ) 12 | 13 | ;; Windows ;; 14 | (defwindow date 15 | :geometry (geometry :x "42.3%" 16 | :y "5%" 17 | :anchor "center top") 18 | :wm-ignore true 19 | (cal)) 20 | -------------------------------------------------------------------------------- /config/bspwm/eww/colors.scss: -------------------------------------------------------------------------------- 1 | // Eww colors for Karla rice 2 | $bg: #0E1113; 3 | $bg-alt: #111517; 4 | $fg: #afb1db; 5 | $black: #373542; 6 | $lightblack: #262831; 7 | $red: #e7034a; 8 | $blue: #5884d4; 9 | $cyan: #7df0f0; 10 | $magenta: #7a44e3; 11 | $green: #61b33e; 12 | $yellow: #ffb964; 13 | $archicon: #0f94d2; 14 | -------------------------------------------------------------------------------- /config/bspwm/eww/eww.scss: -------------------------------------------------------------------------------- 1 | * { 2 | all: unset; 3 | } 4 | 5 | tooltip { 6 | background-color: #14171c; 7 | color: #b8bfe5; 8 | font-family: Inconsolata SemiCondensed Medium; 9 | font-weight: Bold; 10 | font-size: 1rem; 11 | } 12 | 13 | @import "colors.scss"; 14 | @import "calendar/calendar.scss"; 15 | @import "powermenu/powermenu.scss"; 16 | @import "profilecard/profilecard.scss"; 17 | @import "player/player.scss"; 18 | -------------------------------------------------------------------------------- /config/bspwm/eww/eww.yuck: -------------------------------------------------------------------------------- 1 | (include "calendar/calendar.yuck") 2 | (include "powermenu/powermenu.yuck") 3 | (include "profilecard/profilecard.yuck") 4 | (include "player/player.yuck") 5 | -------------------------------------------------------------------------------- /config/bspwm/eww/player/player.scss: -------------------------------------------------------------------------------- 1 | .player { 2 | font-family: "JetBrains Mono Medium", "Material Design Icons Desktop"; 3 | background-color: $bg; 4 | padding: 0.6rem; 5 | min-height: 12rem; 6 | border-radius: 0.6rem; 7 | 8 | .player-art { 9 | background-size: cover; 10 | background-repeat: no-repeat; 11 | background-position: center; 12 | box-shadow: 0 0 0.3rem black; 13 | border-radius: 1.2rem; 14 | min-width: 22rem; 15 | 16 | .player-info { 17 | border-radius: 1rem; 18 | background: linear-gradient(to right, rgb(#191919, 1), rgba(#262626, 0.5)); 19 | padding: 0.65rem; 20 | 21 | .player-shuffle, 22 | .player-loop { 23 | font-size: 1rem; 24 | text-shadow: 0 0 0.2rem black; 25 | } 26 | 27 | .spotify-icon { 28 | font-size: 1.25rem; 29 | color: $green; 30 | text-shadow: 0 0 0.2rem black; 31 | } 32 | 33 | .mpd-icon { 34 | font-size: 1.25rem; 35 | color: $magenta; 36 | text-shadow: 0 0 0.2rem black; 37 | } 38 | 39 | .player-title { 40 | font-style: italic; 41 | font-family: Cartograph CF; 42 | font-size: 1.1rem; 43 | font-weight: bold; 44 | color: $fg; 45 | text-shadow: 0 0 0.5rem rgba($color: black, $alpha: 1); 46 | } 47 | 48 | .player-artist { 49 | font-family: JetBrainsMono Nerd Font; 50 | font-weight: bolder; 51 | font-size: 0.8rem; 52 | color: $fg; 53 | text-shadow: 0 0 0.5rem rgba($color: black, $alpha: 1); 54 | } 55 | 56 | .player-time { 57 | font-style: italic; 58 | font-family: Cartograph CF; 59 | font-size: 0.8rem; 60 | color: $fg; 61 | } 62 | 63 | .player-bar scale trough highlight { 64 | all: unset; 65 | background-image: linear-gradient( 66 | to right, 67 | darken($color: $green, $amount: 15%), 68 | $green 69 | ); 70 | border-radius: 2rem; 71 | } 72 | 73 | .player-bar scale trough { 74 | all: unset; 75 | background-color: rgba($fg, 0.3); 76 | box-shadow: 0px 0px 2px 1px rgba(black, 0.5); 77 | border-radius: 1rem; 78 | min-height: 0.35rem; 79 | margin: 0rem 0.2rem 0.2rem 0rem; 80 | } 81 | 82 | .player-position { 83 | font-size: 0.9rem; 84 | font-weight: 500; 85 | color: $fg; 86 | } 87 | } 88 | } 89 | 90 | .player-controls { 91 | padding: 0rem 0.7rem 0rem 1rem; 92 | border-radius: 1rem; 93 | 94 | .player-toggle { 95 | font-size: 1.6rem; 96 | color: $fg; 97 | } 98 | 99 | .player-previous, 100 | .player-next { 101 | font-size: 1.6rem; 102 | color: $fg; 103 | } 104 | 105 | button { 106 | &:hover { 107 | color: $magenta; 108 | } 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /config/bspwm/eww/player/player.yuck: -------------------------------------------------------------------------------- 1 | ;; Vars ;; 2 | 3 | (defpoll music-player :interval "1s" "MediaControl --player") 4 | (defpoll music-art :interval "1s" "MediaControl --cover") 5 | (defpoll music-title :interval "1s" "MediaControl --title") 6 | (defpoll music-artist :interval "1s" "MediaControl --artist") 7 | (defpoll music-status :interval "1s" "MediaControl --status") 8 | (defpoll music-position :interval "1s" "MediaControl --position") 9 | (defpoll music-positions :interval "1s" "MediaControl --positions") 10 | (defpoll music-length :interval "1s" "MediaControl --length") 11 | (defpoll music-lengths :interval "1s" "MediaControl --lengths") 12 | (defpoll shuffle :interval "1s" "MediaControl --shuffle") 13 | (defpoll loop :interval "1s" "MediaControl --loop") 14 | 15 | ;; Widgets ;; 16 | 17 | (defwidget shuffle [color action status] 18 | (eventbox 19 | :cursor "pointer" 20 | (button 21 | :onclick action 22 | :style "color: ${color}" 23 | :tooltip status 24 | "󰒟" 25 | ) 26 | ) 27 | ) 28 | 29 | (defwidget loop [icon color status action] 30 | (eventbox 31 | :cursor "pointer" 32 | (button 33 | :onclick action 34 | :style "color: ${color}" 35 | :tooltip status 36 | icon 37 | ) 38 | ) 39 | ) 40 | 41 | (defwidget player [] 42 | (box 43 | :class "player" 44 | :space-evenly false 45 | (box 46 | :class "player-art" 47 | :style "background-image: url('${music-art}')" 48 | (box 49 | :class "player-info" 50 | :space-evenly false 51 | :orientation "v" 52 | :spacing 10 53 | (box 54 | :class "top-icons" 55 | (box 56 | :space-evenly false 57 | :spacing 10 58 | (shuffle 59 | :action {music-player != "spotify" ? "mpc random" : "playerctl -p spotify shuffle toggle"} 60 | :color {shuffle == "On" ? "#81ae5f" : "#b8bfe5"} 61 | :status shuffle 62 | ) 63 | (loop 64 | :action {loop == "None" ? "playerctl -p spotify loop playlist" : 65 | loop == "Off" ? "mpc repeat on" : 66 | loop == "On" ? "mpc repeat off" : 67 | loop == "Playlist" ? "playerctl -p spotify loop track" : "playerctl -p spotify loop none"} 68 | :icon {loop == "Track" ? "󰑘" : 69 | loop == "Playlist" || loop == "On" ? "󰑖" : "󰑗"} 70 | :color {loop == "Playlist" || loop == "Track" || loop == "On" ? "#81ae5f" : "#b8bfe5"} 71 | :status loop 72 | ) 73 | ) 74 | (box 75 | (button 76 | :class {music-player != "spotify" ? "mpd-icon" : "spotify-icon"} 77 | :halign "end" 78 | {music-player != "spotify" ? "󰎆" : "󰓇"} 79 | ) 80 | ) 81 | ) 82 | (label 83 | :class "player-title" 84 | :halign "start" 85 | :text music-title 86 | :limit-width 30 87 | :wrap true 88 | :xalign 0 89 | ) 90 | (label 91 | :class "player-artist" 92 | :halign "start" 93 | :text music-artist 94 | :limit-width 35 95 | ) 96 | 97 | (box 98 | :space-evenly false 99 | :orientation "v" 100 | :valign "end" 101 | :spacing 6 102 | :vexpand true 103 | (box 104 | :class "player-bar" 105 | (eventbox 106 | :cursor "pointer" 107 | (scale 108 | :onchange {music-player != "spotify" ? "mpc seek {}" : "playerctl -p ${music-player} position {}"} 109 | :min 0 110 | :max music-lengths 111 | :value music-positions 112 | ) 113 | ) 114 | ) 115 | (box 116 | :class "player-position" 117 | :space-evenly false 118 | :valign "end" 119 | :spacing 3 120 | (label 121 | :class "player-time" 122 | :text music-position 123 | ) 124 | (label :class "player-time" :text "/") 125 | (label 126 | :class "player-time" 127 | :text music-length 128 | ) 129 | ) 130 | ) 131 | ) 132 | ) 133 | (box 134 | :class "player-controls" 135 | :orientation "v" 136 | :valign "center" 137 | :hexpand true 138 | :space-evenly false 139 | :spacing 20 140 | (eventbox 141 | :cursor "pointer" 142 | (button 143 | :class "player-previous" 144 | :onclick "MediaControl --previous" 145 | "󰒮" 146 | ) 147 | ) 148 | (eventbox 149 | :cursor "pointer" 150 | (button 151 | :class "player-toggle" 152 | :onclick "MediaControl --toggle" 153 | {music-status == "Playing" ? "󰏤" : music-status == "Paused" ? "󰐊" : "󰓛"} 154 | ) 155 | ) 156 | (eventbox 157 | :cursor "pointer" 158 | (button 159 | :class "player-next" 160 | :onclick "MediaControl --next" 161 | "󰒭" 162 | ) 163 | ) 164 | ) 165 | ) 166 | ) 167 | 168 | ;; Windows ;; 169 | 170 | (defwindow music 171 | :geometry (geometry :x "15%" 172 | :y "5%" 173 | :anchor "center top") 174 | :wm-ignore false 175 | (player)) 176 | 177 | -------------------------------------------------------------------------------- /config/bspwm/eww/powermenu/powermenu.scss: -------------------------------------------------------------------------------- 1 | window>.powermenu { 2 | margin: .5rem; 3 | background-color: $bg; 4 | } 5 | 6 | .powermenu { 7 | font-family: "Font Awesome 6 Free Solid"; 8 | font-size: 1.5rem; 9 | padding: .3rem; 10 | border-radius: .5rem; 11 | 12 | &.shutdown { 13 | color: $red; 14 | } 15 | 16 | &.reboot { 17 | color: $green; 18 | } 19 | 20 | &.lock { 21 | color: $yellow; 22 | } 23 | 24 | &.exit { 25 | color: $magenta; 26 | } 27 | 28 | button { 29 | background-color: $bg-alt; 30 | padding: 1.2rem; 31 | 32 | &:hover { 33 | background-color: lighten($color: $bg-alt, $amount: 4%); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /config/bspwm/eww/powermenu/powermenu.yuck: -------------------------------------------------------------------------------- 1 | (defwidget powermenu [] 2 | (box :class "powermenu" 3 | :orientation "v" 4 | :space-evenly "false" 5 | (lock-power-restart))) 6 | 7 | 8 | (defwidget lock-power-restart [] 9 | (box :class "powermenu" 10 | :orientation "v" 11 | :spacing 10 12 | (eventbox :cursor "pointer" 13 | (button :class "powermenu lock" 14 | :onclick "physlock -d" 15 | :tooltip "Lock session" 16 | "")) 17 | (eventbox :cursor "pointer" 18 | (button :class "powermenu exit" 19 | :onclick "bspc quit" 20 | :tooltip "Logout bspwm" 21 | "")) 22 | (eventbox :cursor "pointer" 23 | (button :class "powermenu reboot" 24 | :onclick "systemctl reboot" 25 | :tooltip "Restart" 26 | "")) 27 | (eventbox :cursor "pointer" 28 | (button :class "powermenu shutdown" 29 | :onclick "systemctl poweroff" 30 | :tooltip "Shutdown" 31 | "")) 32 | ) 33 | ) 34 | 35 | ;; Power Menu ;; 36 | (defwindow powermenu 37 | :geometry (geometry :x "0%" 38 | :y "0%" 39 | :anchor "center right") 40 | :wm-ignore false 41 | (powermenu)) 42 | 43 | -------------------------------------------------------------------------------- /config/bspwm/eww/profilecard/profilecard.scss: -------------------------------------------------------------------------------- 1 | .launchermenu { 2 | background-color: $bg; 3 | border-radius: 0.5rem; 4 | margin: .8rem .8rem; 5 | min-width: 18rem; 6 | } 7 | 8 | .timebox { 9 | margin: 0 2.5rem; 10 | .time-container { 11 | .content { 12 | font-family: JetBrainsMono Nerd Font; 13 | font-weight: Bolder; 14 | font-size: 3.6rem; 15 | color: $fg; 16 | } 17 | .divider { 18 | margin: .2rem 15px; 19 | padding: 0px 1px; 20 | background: linear-gradient($red, $magenta, $blue, $cyan); 21 | } 22 | } 23 | .date-container { 24 | font-family: Inconsolata SemiCondensed Medium; 25 | font-weight: Bold; 26 | font-size: 1rem; 27 | color: $fg; 28 | margin: 3px 0; 29 | } 30 | } 31 | 32 | .usercard { 33 | background-color: $bg-alt; 34 | border-radius: 0.5rem; 35 | } 36 | 37 | .face { 38 | background-repeat: no-repeat; 39 | background-size: cover; 40 | background-position: center; 41 | min-height: 65px; 42 | min-width: 65px; 43 | //border: .2rem solid $bg; 44 | border-radius: 100%; 45 | box-shadow: 0 0 7px 1px rgba($fg, 0.3); 46 | margin: 10px -8px 10px 10px; 47 | } 48 | 49 | .user-host { 50 | color: $fg; 51 | font-family: Cartograph CF; 52 | font-weight: Normal; 53 | font-size: 1rem; 54 | } 55 | 56 | .host { 57 | color: $fg; 58 | font-family: Cartograph CF; 59 | font-size: .8rem; 60 | } 61 | 62 | .uptime { 63 | color: $fg; 64 | font-family: Cartograph CF; 65 | font-size: .7rem; 66 | margin-top: .5rem; 67 | } 68 | 69 | .btn-info { 70 | font-family: Material Design Icons Desktop; 71 | font-size: 1.2rem; 72 | color: $fg; 73 | padding: 0 .6rem; 74 | } 75 | 76 | .btn-info:hover { 77 | text-shadow: 0 0 2px $fg; 78 | } 79 | 80 | .usearch { 81 | background-color: $bg-alt; 82 | padding: .8rem; 83 | border-radius: 0.5rem; 84 | color: $fg; 85 | } 86 | 87 | .launcher-pfp-label { 88 | font-family: Inconsolata SemiCondensed Medium; 89 | font-weight: Bold; 90 | font-size: 1rem; 91 | } 92 | 93 | .pacman { 94 | background-color: $bg-alt; 95 | padding: .8rem; 96 | border-radius: 0.5rem; 97 | color: $fg; 98 | 99 | .pacman-icon { 100 | font-family: Material Design Icons Desktop; 101 | font-size: 1.2rem; 102 | color: $yellow; 103 | } 104 | .pacman-info { 105 | font-family: Inconsolata SemiCondensed Medium; 106 | font-weight: Bold; 107 | font-size: 1rem; 108 | } 109 | .pacman-updates { 110 | font-family: Inconsolata Condensed Medium; 111 | font-weight: Bold; 112 | font-size: 1rem; 113 | } 114 | } 115 | 116 | .fetch { 117 | background-color: $bg-alt; 118 | padding: .8rem 2rem .8rem 1rem; 119 | border-radius: 0.5rem; 120 | color: $fg; 121 | 122 | .arch-icon { 123 | font-family: Material Design Icons Desktop; 124 | font-size: 3rem; 125 | color: $archicon; 126 | } 127 | } 128 | 129 | .os-icon { 130 | font-family: Material Design Icons Desktop; 131 | font-size: .8rem; 132 | color: $archicon; 133 | } 134 | 135 | .pkgs-icon { 136 | font-family: Material Design Icons Desktop; 137 | font-size: .8rem; 138 | color: $yellow; 139 | } 140 | 141 | .wm-icon { 142 | font-family: Material Design Icons Desktop; 143 | font-size: .8rem; 144 | color: $magenta; 145 | } 146 | 147 | .os-text, 148 | .pkgs-text, 149 | .wm-text { 150 | font-family: Inconsolata SemiCondensed Medium; 151 | font-weight: Bold; 152 | font-size: 1rem; 153 | } 154 | 155 | .weatherbox { 156 | background-color: $bg-alt; 157 | border-radius: 0.5rem; 158 | padding: .8rem; 159 | } 160 | 161 | .weathericon { 162 | padding: 0 .8rem; 163 | border-radius: 0.5rem; 164 | margin-left: .6rem; 165 | background-color: $bg-alt; 166 | font-size: 1.5rem; 167 | font-family: "Font Awesome 6 Free Solid"; 168 | } 169 | 170 | .weatherdesc { 171 | font-size: 1.75rem; 172 | font-family: "Inconsolata SemiCondensed Medium"; 173 | font-weight: Bold; 174 | } 175 | 176 | .weathertemp { 177 | font-family: "Iosevka Nerd Font"; 178 | font-size: 1.5rem; 179 | font-weight: bold; 180 | color: $fg; 181 | } 182 | 183 | .weathercity { 184 | font-size: .9rem; 185 | margin-top: .2rem; 186 | color: $fg; 187 | font-family: Inconsolata SemiCondensed Medium; 188 | font-weight: Bold; 189 | } 190 | 191 | .launcher-apps { 192 | background-color: $bg-alt; 193 | padding: .8rem; 194 | border-radius: 0.5rem; 195 | } 196 | 197 | .launcher-btn { 198 | color: $black; 199 | font-family: Material Design Icons Desktop; 200 | font-size: 1.5rem; 201 | } 202 | 203 | .launcher-btn:hover { 204 | color: $fg; 205 | font-family: Material Design Icons Desktop; 206 | font-size: 1.5rem; 207 | text-shadow: 0 0 0.2rem $fg; 208 | } 209 | 210 | 211 | .progress { 212 | background-color: $bg-alt; 213 | padding: .7rem .7rem; 214 | border-radius: 1rem; 215 | 216 | circular-progress { 217 | background-color: $black; 218 | 219 | &.ram { 220 | color: $blue; 221 | } 222 | 223 | &.cpu { 224 | color: $green; 225 | } 226 | 227 | &.temp { 228 | color: $red; 229 | } 230 | 231 | &.disk { 232 | color: $magenta; 233 | } 234 | } 235 | 236 | 237 | .icon { 238 | font-family: "Font Awesome 6 Free Solid"; 239 | font-size: 1rem; 240 | padding: 1.1rem; 241 | } 242 | 243 | } 244 | -------------------------------------------------------------------------------- /config/bspwm/eww/profilecard/profilecard.yuck: -------------------------------------------------------------------------------- 1 | ;; Vars ;; 2 | 3 | (defpoll completeday :interval "1s" "date '+%A, %d %B'") 4 | 5 | 6 | (defvar IMAGEP "../assets/profile.png") 7 | 8 | (defpoll username :interval "24h" "whoami") 9 | (defpoll hostname :interval "24h" "cat /etc/hostname") 10 | (defpoll uptime :interval "30s" "uptime -p | sed -E -e 's/hour(s)?/hrs/g' -e 's/minute(s)?/min/g'") 11 | 12 | (defpoll updates :interval "2m" "Updates --get-updates") 13 | (defpoll packages :interval "1h" "pacman -Q | wc -l") 14 | 15 | (defpoll weathericon :interval "15m" "Weather icon") 16 | (defpoll weathercity :interval "15m" "Weather city") 17 | (defpoll weathertemp :interval "15m" "Weather current_temp") 18 | (defpoll weatherdesc :interval "15m" "Weather weather_desc") 19 | (defpoll weatherhex :interval "15m" "Weather hex") 20 | 21 | (defpoll temp :interval "5s" "../scripts/temp.sh") 22 | 23 | ;; Widegets ;; 24 | 25 | (defwidget launchermenu [] 26 | (box :class "launchermenu" 27 | :orientation "v" 28 | :space-evenly "false" 29 | :spacing 7 30 | (time) 31 | (pfp) 32 | (iuse) 33 | (infoarch) 34 | (weather) 35 | ;;(sysinfo) 36 | (system) 37 | (apps))) 38 | 39 | (defwidget divider [] 40 | (box :class "divider" 41 | :orientation "v" 42 | :space-evenly true) 43 | ) 44 | 45 | (defwidget time [] 46 | (box :class "timebox" 47 | :orientation "v" 48 | :space-evenly false 49 | (box :class "time-container" 50 | :orientation "h" 51 | :space-evenly false 52 | :halign "center" 53 | :valign "center" 54 | (label :text "${formattime(EWW_TIME, "%H")}" :class "content") 55 | (divider) 56 | (label :text "${formattime(EWW_TIME, "%M")}" :class "content") 57 | ) 58 | (box :class "date-container" 59 | :orientation "h" 60 | :space-evenly true 61 | :halign "center" 62 | (label :text "${completeday}") 63 | ) 64 | ) 65 | ) 66 | 67 | (defwidget pfp [] 68 | (box :orientation "h" 69 | :space-evenly "false" 70 | :class "usercard" 71 | (box :space-evenly "false" 72 | :hexpand true 73 | :orientation "h" 74 | :spacing "15" 75 | (box :style "background-image: url('${IMAGEP}');" 76 | :class "face" 77 | :halign "center") 78 | (box :orientation "v" 79 | :space-evenly "false" 80 | :hexpand true 81 | :valign "center" 82 | (box :class "user-host" 83 | :halign "start" 84 | (label :text username)) 85 | (box :class "host" 86 | :halign "start" 87 | (label :text "@${hostname}")) 88 | (box :class "uptime" 89 | :halign "start" 90 | (label :text uptime))) 91 | (box :orientation "v" 92 | :space-evenly "false" 93 | :spacing 10 94 | :valign "center" 95 | :halign "start" 96 | :hexpand false 97 | ;;:style "border: 1px solid #ffffff;" 98 | (eventbox :cursor "pointer" 99 | (button :class "btn-info" :tooltip "Lock Computer" :onclick "physlock -d" "󱅞")) 100 | (eventbox :cursor "pointer" 101 | (button :class "btn-info" :tooltip "Logout BSPWM" :onclick "bspc quit" "󰍃"))) 102 | ) 103 | ) 104 | ) 105 | (defwidget iuse [] 106 | (box :orientation "v" 107 | :space-evenly "false" 108 | :class "usearch" 109 | :hexpand true 110 | (label :class "launcher-pfp-label" 111 | :xalign 0.5 112 | :limit-width 30 113 | :text "I use Arch btw.."))) 114 | 115 | (defwidget infoarch [] 116 | (box :orientation "h" 117 | :space-evenly "false" 118 | :spacing 7 119 | (box :orientation "v" 120 | :class "pacman" 121 | :hexpand true 122 | (label :halign "start" 123 | :class "pacman-icon" 124 | :text "󰮯") 125 | (box :space-evenly "false" 126 | (eventbox :cursor "pointer" 127 | (button :class "pacman-updates" 128 | :halign "start" 129 | :tooltip "Click to update" 130 | :onclick "OpenApps --update" "${updates} Updates")))) 131 | (box :orientation "h" 132 | :space-evenly "false" 133 | :class "fetch" 134 | :spacing 8 135 | (label :class "arch-icon" 136 | :halign "start" 137 | :text "󰣇") 138 | (box 139 | :space-evenly "false" 140 | (box :orientation "v" 141 | :spacing 3 142 | :halign "end" 143 | :style "margin-left: 10px;" 144 | (label :class "os-icon" 145 | :halign "start" 146 | :text "󰣇") 147 | (label :class "pkgs-icon" 148 | :halign "start" 149 | :text "󰮯") 150 | (label :class "wm-icon" 151 | :halign "start" 152 | :text "󱪳"))) 153 | (box 154 | :space-evenly "false" 155 | (box :orientation "v" 156 | :spacing 3 157 | :halign "start" 158 | (label :class "os-text" 159 | :halign "start" 160 | :text "Arch") 161 | (label :class "pkgs-text" 162 | :halign "start" 163 | :text packages) 164 | (label :class "wm-text" 165 | :halign "start" 166 | :text "Bspwm")))))) 167 | 168 | (defwidget weather[] 169 | (box :orientation "h" :class "weatherboxfull" :space-evenly false 170 | (box :orientation "v" :class "weatherbox" :hexpand true :space-evenly false 171 | (box :orientation "h" :class "weathertop" :space-evenly false 172 | (box :class "weatherdesc" :style "color: ${weatherhex};" :halign "start" :hexpand true weatherdesc) 173 | (box :class "weathertemp" :halign "end" "${weathertemp}°C") 174 | ) 175 | (box :orientation "v" :class "weatherbot" :space-evenly false 176 | (box :class "weathercity" :halign "start" :hexpand true 177 | (label :limit-width 22 :text weathercity)) 178 | ) 179 | ) 180 | (box :class "weathericon" :style "color: ${weatherhex};" :halign "center" weathericon) 181 | ) 182 | ) 183 | 184 | (defwidget system_progress [data icon css tip] 185 | (box 186 | :class "progress" 187 | (circular-progress 188 | :class css 189 | :value data 190 | :thickness 6 191 | :tooltip tip 192 | (overlay 193 | :valign "center" 194 | (label 195 | :class "icon" 196 | :text icon 197 | ) 198 | ) 199 | ) 200 | ) 201 | ) 202 | 203 | (defwidget cpu [] 204 | (system_progress 205 | :css "cpu" 206 | :tip "CPU ${round(EWW_CPU.avg,0)}%" 207 | :data {round(EWW_CPU.avg, 0)} 208 | :icon "" 209 | ) 210 | ) 211 | 212 | (defwidget ram [] 213 | (system_progress 214 | :css "ram" 215 | :tip "RAM ${round(EWW_RAM.used_mem / 1048576, 2)}MB" 216 | :data {round(EWW_RAM.used_mem_perc, 0)} 217 | :icon "" 218 | ) 219 | ) 220 | 221 | (defwidget disk [] 222 | (system_progress 223 | :css "disk" 224 | :tip "SSD ${round(EWW_DISK["/"].used_perc, 2)}%" 225 | :data {round(EWW_DISK["/"].used_perc, 0)} 226 | :icon "" 227 | ) 228 | ) 229 | 230 | (defwidget temp [] 231 | (system_progress 232 | :css "temp" 233 | :tip "Cpu temperature ${temp}°C" 234 | :data temp 235 | :icon "" 236 | ) 237 | ) 238 | 239 | (defwidget system [] 240 | (box 241 | :class "system" 242 | :spacing 8 243 | (cpu) 244 | (ram) 245 | (disk) 246 | (temp) 247 | ) 248 | ) 249 | 250 | (defwidget apps [] 251 | (box :orientation "v" 252 | :space-evenly "false" 253 | :class "launcher-apps" 254 | (box :orientation "h" 255 | :space-evenly "false" 256 | :hexpand true 257 | :halign "center" 258 | :spacing 12 259 | (eventbox :cursor "pointer" 260 | (button :class "launcher-btn" 261 | :onclick "OpenApps --browser" 262 | :tooltip "Browser" 263 | "󰇧")) 264 | (eventbox :cursor "pointer" 265 | (button :class "launcher-btn" 266 | :onclick "OpenApps --fetch" 267 | :tooltip "System Fetch" 268 | "󰚌")) 269 | (eventbox :cursor "pointer" 270 | (button :class "launcher-btn" 271 | :onclick "cd && OpenApps --filemanager" 272 | :tooltip "File Manager" 273 | "󰝰")) 274 | (eventbox :cursor "pointer" 275 | (button :class "launcher-btn" 276 | :onclick "cd && OpenApps --terminal" 277 | :tooltip "Terminal" 278 | "󰆍")) 279 | (eventbox :cursor "pointer" 280 | (button :class "launcher-btn" 281 | :onclick "OpenApps --editor" 282 | :tooltip "Editor" 283 | "󰷈"))))) 284 | 285 | ;; Windows ;; 286 | 287 | (defwindow launchermenu 288 | :geometry (geometry :x "500px" :y "-219px" :anchor "left center") 289 | :wm-ignore false 290 | (launchermenu)) 291 | -------------------------------------------------------------------------------- /config/bspwm/jgmenurc: -------------------------------------------------------------------------------- 1 | position_mode = pointer 2 | stay_alive = 0 3 | tint2_look = 0 4 | terminal_exec = alacritty 5 | terminal_args = -e 6 | menu_width = 160 7 | menu_padding_top = 5 8 | menu_padding_right = 5 9 | menu_padding_bottom = 5 10 | menu_padding_left = 5 11 | menu_radius = 8 12 | menu_border = 0 13 | menu_halign = left 14 | sub_hover_action = 1 15 | item_margin_y = 5 16 | item_height = 30 17 | item_padding_x = 8 18 | item_radius = 6 19 | item_border = 0 20 | sep_height = 2 21 | font = Clarity City Bold 12px 22 | icon_size = 16 23 | icon_theme = Papirus-Dark 24 | arrow_string = 󰄾 25 | color_menu_border = #ffffff 0 26 | color_menu_bg = #0E1113 27 | color_norm_bg = #ffffff 0 28 | color_norm_fg = #afb1db 29 | color_sel_bg = #111517 30 | color_sel_fg = #afb1db 31 | color_sep_fg = #373542 32 | -------------------------------------------------------------------------------- /config/bspwm/karla/Theme.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ██████╗███████╗ 3 | # ██║ ██╔╝██╔══██╗██╔══██╗██║ ██╔══██╗ ██╔══██╗██║██╔════╝██╔════╝ 4 | # █████╔╝ ███████║██████╔╝██║ ███████║ ██████╔╝██║██║ █████╗ 5 | # ██╔═██╗ ██╔══██║██╔══██╗██║ ██╔══██║ ██╔══██╗██║██║ ██╔══╝ 6 | # ██║ ██╗██║ ██║██║ ██║███████╗██║ ██║ ██║ ██║██║╚██████╗███████╗ 7 | # ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝ 8 | # 9 | # 10 | 11 | # Set bspwm configuration for Karla 12 | set_bspwm_config() { 13 | bspc config border_width 3 14 | bspc config top_padding 48 15 | bspc config bottom_padding 2 16 | bspc config left_padding 2 17 | bspc config right_padding 2 18 | bspc config normal_border_color "#21222c" 19 | bspc config active_border_color "#353c52" 20 | bspc config focused_border_color "#353c52" 21 | bspc config presel_feedback_color "#8656e3" 22 | } 23 | 24 | # Reload terminal colors 25 | set_term_config() { 26 | sed -i "$HOME"/.config/alacritty/fonts.yml \ 27 | -e "s/family: .*/family: JetBrainsMono Nerd Font/g" \ 28 | -e "s/size: .*/size: 6/g" 29 | 30 | sed -i "$HOME"/.config/alacritty/rice-colors.yml \ 31 | -e "s/colors: .*/colors: *karla_z0mbi3_night/" 32 | } 33 | 34 | # Set compositor configuration 35 | set_picom_config() { 36 | sed -i "$HOME"/.config/bspwm/picom.conf \ 37 | -e "s/normal = .*/normal = { fade = false; shadow = false; }/g" \ 38 | -e "s/shadow-color = .*/shadow-color = \"#000000\"/g" \ 39 | -e "s/corner-radius = .*/corner-radius = 0/g" \ 40 | -e "s/\".*:class_g = 'Alacritty'\"/\"95:class_g = 'Alacritty'\"/g" \ 41 | -e "s/\".*:class_g = 'FloaTerm'\"/\"95:class_g = 'FloaTerm'\"/g" 42 | } 43 | 44 | # Set stalonetray config 45 | set_stalonetray_config() { 46 | sed -i "$HOME"/.config/bspwm/stalonetrayrc \ 47 | -e "s/background .*/background \"#0E1113\"/" \ 48 | -e "s/vertical .*/vertical true/" \ 49 | -e "s/geometry .*/geometry 1x1-58+46/" \ 50 | -e "s/grow_gravity .*/grow_gravity NE/" \ 51 | -e "s/icon_gravity .*/icon_gravity NE/" 52 | } 53 | 54 | # Set dunst notification daemon config 55 | set_dunst_config() { 56 | sed -i "$HOME"/.config/bspwm/dunstrc \ 57 | -e "s/transparency = .*/transparency = 8/g" \ 58 | -e "s/frame_color = .*/frame_color = \"#0E1113\"/g" \ 59 | -e "s/separator_color = .*/separator_color = \"#353c52\"/g" \ 60 | -e "s/font = .*/font = JetBrainsMono Nerd Font Medium 9/g" \ 61 | -e "s/foreground='.*'/foreground='#7a44e3'/g" 62 | 63 | sed -i '/urgency_low/Q' "$HOME"/.config/bspwm/dunstrc 64 | cat >> "$HOME"/.config/bspwm/dunstrc <<- _EOF_ 65 | [urgency_low] 66 | timeout = 3 67 | background = "#0E1113" 68 | foreground = "#afb1db" 69 | 70 | [urgency_normal] 71 | timeout = 6 72 | background = "#0E1113" 73 | foreground = "#afb1db" 74 | 75 | [urgency_critical] 76 | timeout = 0 77 | background = "#0E1113" 78 | foreground = "#afb1db" 79 | _EOF_ 80 | } 81 | 82 | # Set eww colors 83 | set_eww_colors() { 84 | cat > "$HOME"/.config/bspwm/eww/colors.scss << EOF 85 | // Eww colors for Karla rice 86 | \$bg: #0E1113; 87 | \$bg-alt: #111517; 88 | \$fg: #afb1db; 89 | \$black: #373542; 90 | \$lightblack: #262831; 91 | \$red: #e7034a; 92 | \$blue: #5884d4; 93 | \$cyan: #7df0f0; 94 | \$magenta: #7a44e3; 95 | \$green: #61b33e; 96 | \$yellow: #ffb964; 97 | \$archicon: #0f94d2; 98 | EOF 99 | } 100 | 101 | # Set jgmenu colors for Karla 102 | set_jgmenu_colors() { 103 | sed -i "$HOME"/.config/bspwm/jgmenurc \ 104 | -e 's/color_menu_bg = .*/color_menu_bg = #0E1113/' \ 105 | -e 's/color_norm_fg = .*/color_norm_fg = #afb1db/' \ 106 | -e 's/color_sel_bg = .*/color_sel_bg = #111517/' \ 107 | -e 's/color_sel_fg = .*/color_sel_fg = #afb1db/' \ 108 | -e 's/color_sep_fg = .*/color_sep_fg = #373542/' 109 | } 110 | 111 | # Set Rofi launcher config 112 | set_launcher_config () { 113 | sed -i "$HOME/.config/bspwm/scripts/Launcher.rasi" \ 114 | -e 's/\(font: \).*/\1"JetBrainsMono Nerd Font Bold 9";/' \ 115 | -e 's/\(background: \).*/\1#0E1113F7;/' \ 116 | -e 's/\(background-alt: \).*/\1#0E1113F5;/' \ 117 | -e 's/\(foreground: \).*/\1#afb1db;/' \ 118 | -e 's/\(selected: \).*/\1#3d7fea;/' \ 119 | -e 's/[^/]*-rofi/ka-rofi/' 120 | } 121 | 122 | # Launch the bar 123 | launch_bars() { 124 | 125 | for mon in $(polybar --list-monitors | cut -d":" -f1); do 126 | (MONITOR=$mon polybar -q karla-bar -c ${rice_dir}/config.ini)& 127 | (MONITOR=$mon polybar -q karla-bar2 -c ${rice_dir}/config.ini)& 128 | (MONITOR=$mon polybar -q karla-bar3 -c ${rice_dir}/config.ini)& 129 | done 130 | 131 | } 132 | 133 | 134 | 135 | ### ---------- Apply Configurations ---------- ### 136 | 137 | set_bspwm_config 138 | set_term_config 139 | set_picom_config 140 | set_stalonetray_config 141 | launch_bars 142 | set_dunst_config 143 | set_eww_colors 144 | set_jgmenu_colors 145 | -------------------------------------------------------------------------------- /config/bspwm/karla/config.ini: -------------------------------------------------------------------------------- 1 | ; ____ _ _ 2 | ;| _ \ ___ | |_ _| |__ __ _ _ __ 3 | ;| |_) / _ \| | | | | '_ \ / _` | '__| 4 | ;| __/ (_) | | |_| | |_) | (_| | | 5 | ;|_| \___/|_|\__, |_.__/ \__,_|_| 6 | ; |___/ 7 | 8 | [global/wm] 9 | 10 | margin-bottom = 0 11 | margin-top = 0 12 | 13 | include-file = ~/.config/bspwm/scripts/system.ini 14 | include-file = ~/.config/bspwm/scripts/colors.ini 15 | include-file = modules.ini 16 | 17 | [bar/karla-bar] 18 | monitor = ${env:MONITOR:} 19 | monitor-strict = false 20 | override-redirect = false 21 | bottom = false 22 | fixed-center = true 23 | 24 | width = 38% 25 | height = 37 26 | 27 | offset-x = 1% 28 | offset-y = 5 29 | 30 | background = ${karla.bg} 31 | foreground = ${karla.fg} 32 | 33 | radius = 12.0 34 | 35 | line-size = 2 36 | line-color = ${karla.blue} 37 | 38 | border-size = 2 39 | border-color = ${karla.bc} 40 | 41 | padding = 2 42 | 43 | module-margin-left = 0 44 | module-margin-right = 0 45 | 46 | ; Text 47 | font-0 = "JetBrainsMono:style=Bold:size=9;2" 48 | ; Icons 49 | font-1 = "Material Design Icons Desktop:size=13;3" 50 | font-2 = "Font Awesome 6 Free Solid:size=10;2" 51 | 52 | ;dpi = 96 53 | 54 | modules-left = launcher 55 | modules-center = cpu sep memory sep filesystem sep usercard 56 | modules-right = weather 57 | 58 | dim-value = 1.0 59 | 60 | ;;locale = es_MX.UTF-8 61 | wm-restack = bspwm 62 | enable-ipc = true 63 | 64 | cursor-click = pointer 65 | cursor-scroll = 66 | 67 | [bar/karla-bar2] 68 | monitor = ${env:MONITOR:} 69 | monitor-strict = false 70 | override-redirect = false 71 | 72 | bottom = false 73 | fixed-center = true 74 | 75 | width = 38% 76 | height = 37 77 | 78 | offset-x = 61% 79 | offset-y = 5 80 | 81 | background = ${karla.bg} 82 | foreground = ${karla.fg} 83 | 84 | radius = 12.0 85 | 86 | line-size = 2 87 | line-color = ${karla.blue} 88 | 89 | border-size = 2 90 | border-color = ${karla.bc} 91 | 92 | padding = 2 93 | 94 | module-margin-left = 0 95 | module-margin-right = 0 96 | 97 | ; Text 98 | font-0 = "JetBrainsMono:style=Bold:size=9;2" 99 | ; Icons 100 | font-1 = "Font Awesome 6 Free Solid:size=10;3" 101 | ;dpi = 96 102 | 103 | ;; Available modules 104 | ;; brightness 105 | modules-left = mpd_control sep mplayer 106 | modules-center = battery sep network sep pulseaudio sep updates 107 | modules-right = date systray power 108 | 109 | separator = 110 | dim-value = 1.0 111 | 112 | ;;locale = es_MX.UTF-8 113 | 114 | 115 | ;;tray-position = right 116 | ;;tray-detached = false 117 | ;;tray-maxsize = 16 118 | ;;tray-background = ${karla.bg} 119 | ;;tray-offset-x = 0 120 | ;;tray-offset-y = 0 121 | ;;tray-padding = 0 122 | ;;tray-scale = 1.0 123 | 124 | wm-restack = bspwm 125 | enable-ipc = true 126 | 127 | cursor-click = pointer 128 | cursor-scroll = 129 | 130 | [bar/karla-bar3] 131 | monitor = ${env:MONITOR:} 132 | monitor-strict = false 133 | override-redirect = false 134 | 135 | bottom = false 136 | fixed-center = true 137 | 138 | width = 20% 139 | height = 37 140 | 141 | offset-x = 40% 142 | offset-y = 5 143 | 144 | background = ${karla.bg} 145 | foreground = ${karla.fg} 146 | 147 | radius = 12.0 148 | 149 | line-size = 2 150 | line-color = ${karla.blue} 151 | 152 | border-size = 2 153 | border-color = ${karla.bc} 154 | 155 | padding = 3 156 | 157 | module-margin-left = 0 158 | module-margin-right = 0 159 | 160 | ; Text 161 | font-0 = "Inconsolata Semi Condensed Extra Bold:size=10;1" 162 | ; Icons 163 | font-1 = "Material Design Icons Desktop:size=13;3" 164 | ;dpi = 96 165 | 166 | modules-left = 167 | modules-center = bspwm 168 | modules-right = 169 | 170 | separator = 171 | dim-value = 1.0 172 | 173 | ;;locale = es_MX.UTF-8 174 | 175 | wm-restack = bspwm 176 | enable-ipc = true 177 | 178 | cursor-click = pointer 179 | cursor-scroll = 180 | 181 | 182 | [settings] 183 | 184 | screenchange-reload = false 185 | 186 | compositing-background = source 187 | compositing-foreground = over 188 | compositing-overline = over 189 | compositing-underline = over 190 | compositing-border = over 191 | 192 | pseudo-transparency = false 193 | -------------------------------------------------------------------------------- /config/bspwm/karla/modules.ini: -------------------------------------------------------------------------------- 1 | ; __ __ _ _ 2 | ;| \/ | ___ __| |_ _| | ___ ___ 3 | ;| |\/| |/ _ \ / _` | | | | |/ _ \/ __| 4 | ;| | | | (_) | (_| | |_| | | __/\__ \ 5 | ;|_| |_|\___/ \__,_|\__,_|_|\___||___/ 6 | ; 7 | 8 | 9 | [module/date] 10 | type = internal/date 11 | 12 | interval = 1.0 13 | 14 | time = %I:%M %P 15 | date-alt = " %a, %d %b %y" 16 | 17 | format =