My own dotfiles with Polybar, powerlevel10k and more

gianmarco 00b0bdbd0b Fourth experimental commit for the new bspwm-based rice 20 hours ago
.config 00b0bdbd0b Fourth experimental commit for the new bspwm-based rice 20 hours ago
.local 4f961fa1e6 Changed yet another color in the Nightmare Magma color scheme 1 month ago
Scripts 00b0bdbd0b Fourth experimental commit for the new bspwm-based rice 20 hours ago
Sounds a16e17cd5e First experimental commit for the new bspwm-based rice 2 weeks ago
repopics 72f382383a Updated screenshots (screenshot_new.png) 1 month ago
.p10k.zsh 9135c54f6c Third experimental commit for the new bspwm-based rice 2 weeks ago
.stalonetrayrc a16e17cd5e First experimental commit for the new bspwm-based rice 2 weeks ago
.xbindkeysrc a16e17cd5e First experimental commit for the new bspwm-based rice 2 weeks ago
.zshrc 00b0bdbd0b Fourth experimental commit for the new bspwm-based rice 20 hours ago
LICENSE b023c7fcbb Added a LICENSE file 3 months ago
README.md a16e17cd5e First experimental commit for the new bspwm-based rice 2 weeks ago

README.md

Gianmarco's dotfiles

My fancy bspwm rice

Screenshot from my r/unixporn post

Basic requirements

  • bspwm as your tiling window manager with sxhkd as the keybindings daemon and picom-jonaburg-fix as the compositor;
  • Polybar for the status bar (and Python with python-dbus for the media player and mail modules and polybar-pulseaudio-control for the volume module);
  • zsh, powerlevel10k for the fancy shell prompt, pfetch if you want the ascii logo thing and pywal for the custom terminal colors;
  • Dunst as the notification daemon;
  • betterlockscreen as the lockscreen;
  • stalonetray for the system tray.

Extra stuff might be required for my Polybar scripts. Continue reading, don't be lazy.

WARNING: this new bspwm-based rice is still an experimental work-in-progress, so this README is not completely up to date and things might not work properly.

How to install

After installing the dependencies, place the stuff like you see it in your home directory. Change the settings of your Plasma desktop, of your shell or terminal emulator, make Polybar launch at startup and you should be good to go. If you want pfetch to run when you open a terminal, append the line pfetch at the bottom of your .zshrc file. By the way I have now my own .zshrc where I have some aliases at the bottom of the file. To activate the powerlevel10k theme make sure you have this line source ~/.p10k.zsh in your .zshrc file. I've also made a custom color scheme with pywal.

Explaining some things

Polybar

.config/polybar contains stuff from adi1090x's Polybar Themes repo with the addition of a custom folder called gmg which is a modified version of the material theme present in the same base directory. To launch Polybar with my theme, just run the launch.sh script with the flag --gmg. You might want to make a thing at login that automatically runs the command for you. Also a lot of the stuff in this custom theme has italian text so, unless you like pasta a lot, you might wanna change that. For this the fonts Roboto, Roboto Mono and Material Design Iconic Font are required for the theme to work properly, but you can always set your own in the config.ini file. For the date module to work correctly in your system language, assuming it isn't italian, you have to change the line locale = it_IT.UTF-8 in the config.ini file.

I've got a few very simple stupid Polybar modules that I've made myself for my workflow. You can see what each of them do at gmg/user_modules.ini.

The custom modules

The bell icon runs xdotool to press a key combination associated with opening and closing Plasma's notification center, so you might want to adjust that to your setup. Same thing goes for the down pointing chevron which opens and closes Plasma's tray icons.

There is an update counter module that when you left-click on it, it will snapshot your system with Timeshift and run sudo pacman -Syu --no-confirm, when you right-click instead, it will open a window with the list of updates available (requires KDialog).

The padlock icon is supposed to unlock my Plasma vault folder, so change it if you want, otherwise get rid of it.

I also added this xdotool functionality to the music and date modules.

The calendar widget opened by the date module

In gmg/modules.ini there are a few changes I've done to the network module: some lines are commented for Wi-Fi stuff, I suggest you touch those parameters if you're on a laptop or something. Here's an example.

A commented line for Wi-Fi

Here's a trick: if you changed some configs and you want to quickly restart Polybar, do a double right-click anywhere on the bar.

Again, since this originates from adi1090x's Polybar Themes repo there's some extra stuff that I don't use such as rofi menus and some extra icon modules that you might be interested in.

The media player Python module was created by d093w1z, I only changed some icons and a few options here and there. Check the source code here.

The mail Python module was created by quelotic, I only changed the mail icon and put the config file in a private directory, so you gotta change it from ~/Scripts/mail.py to wherever yours is located. It's also set up to launch KMail when clicked, so you might want to change it to your mail client or web mail interface of choice. Check the source code here.

The volume module was created by marioortizmanero, I did some changes for the icons, the output and some actions. For example where it says (Cuffie) it is the nickname given to the output corresponding to my 3.5 mm headphone jack, so instead of saying the actual name of the audio interface it just says "(Headphones)"; same goes for where it says (HDMI) which refers to my GPU's audio out. You gotta change those values for them to correspond to your audio devices. Check the source code here.

The Nightmare Magma color scheme

This is my own custom color scheme based on Breeze Dark, designed to be the opposite of my other color scheme called Dream Plasma: red and dark AF!!!

The color palette

This up here is the color palette, with the main color being Signature Red (#EB4034), the same kinda pinkish shade of red I've been using for my own branding. The shades of black have kind of a warm hue to them, especially the darker one, adding to the already warm shades of red. These colors are also used in the Polybar config.

I have also generated a color scheme for the terminal with pywal which matches most of the colors in the color scheme.

The Nightmare Magma icon pack

This is just a slightly modified version of the Breeze Dark icons from KDE, the only difference is that all folder icons, including the Dolphin icon, are now... Take a guess... Red!

Some modified icons

Extras

Firefox theme

Click here.

Window tiling in Plasma

In the screenshots at the top you can see that my windows are tiling like in a tiling window manager, but I'm not using a tiling window manager (I'm lazy). What I'm actually doing is using KDE's standard compositor KWin with a tiling script called Krohnkite, but since it hasn't been updated in ages, I suggest you install a fork called Bismuth.

Rounded window corners and outline

For this you have to install the Lightly Shaders and enable it in the KDE System Settings.

This won't work if you're using Plasma 5.23! You can try this fork by a-parhom.