AlphaTechnolog's DkWM Rice
Welcome! This is the repository for my dkwm rice using decay (decayce variant)
If you like this configuration, please give me a star in this repo, it will make me more happy! 😁
If you want, you can visit more of my repos or go to my profile Ah, and gimme credits if you will use my config for showcase :3
See other branches to go to others/older rices
Here are some details about my setup:
- OS: Void Linux
- WM: DkWM
- Terminal: st (thanks to siduck's build)
- Shell: hilbish
- Editor: neovim
- NeovimConfig: nvcodark (I'm using the remake that is present in the dev branch, instructions aren't ready yet, main branch is broken)
- Compositor: picom
- Application Launcher: rofi
First clone the repository
git clone -b dkwm https://github.com/AlphaTechnolog/dotfiles.git
cd dotfiles
Then make sure you have the next requirements installed
This is in testing phase btw, if you think i miss some pkg, please tell me it opening an issue
font | utility |
---|---|
Product Sans (Google Sans) | Main UI Font |
Iosevka Nerd Font | Some icons, others are rendered using svg |
JetBrainsMono Nerd Font | Terminal font |
dependency | utility |
---|---|
DkWM | The window manager |
sxhkd | Keybindings |
Network Manager | Recommended |
bluetoothctl | To manage bluetooth from actions widget |
redshift | To make Night Light work in actions widget |
picom | The compositor, i'm using the Arian8j's picom fork |
hilbish | The shell |
bat | Enhanced cat |
exa | Enhanced ls (using for tree too) |
rofi | Apps launcher |
playerctl | Remotely music management (needs to use dbus, use dbus-run-session if your session isn't started with dbus) |
light | Manage the brightness using the cli |
pulseaudio | Well, just the audio manager |
pactl | Manage pulseaudio using the cli |
eww | Widgets, don't install i included the binary |
jgmenu | Right click in the desktop menu with search ability |
xdo | Helps xqp to make jgmenu able to start when you do a right click in the desktop |
WARNING: Configuration files may be overrided.
mkdir -p ~/.config && cp -r ./cfg/* ~/.config
mkdir -p ~/.local/bin && cp -r ./bin/* ~/.local/bin
cp -r ./home/.Xresources ~/.Xresources
sudo mv ~/.local/bin/eww /usr/bin/eww # IMPORTANT
I'm using xqp to make jgmenu able to spawn when you do a right click in the desktop, so here are the steps to install it:
mkdir -p ~/repo
cd ~/repo
git clone https://github.com/baskerville/xqp.git
cd xqp
sudo make install
St is the terminal that i'm using, so you have to build it. Here are the steps to do it:
First you have to install the next dependencies for your operative system:
Void Linux
- pkg-config
- gcc
- harfbuzz-devel
- libXft-devel
- libX11-devel
- libXext-devel
- libXrender-devel
- libXinerama-devel
Debian (and ubuntu probably)
- build-essential
- libxft-de
- libharfbuzz-dev
Most of these are already installed in Arch based distros.
Install font-symbola and libXft-bgra
After install the deps, you can just rebuild it using the rebuild script:
cd ~/.config/st
./rebuild.sh
That should start the rebuilding process of st terminal, maybe i miss some deps, if that happened, you can tell me, the compiler should throw the deps that are missing, just install them and retry.
The rebuild.sh
script will install st in your system automatically, you don't have to move something.
Maybe the powermenu buttons (poweroff and restart) don't work, that's cuz you have to setup doas to get it working (doas cuz i prefer it lol), so just do this (assuming that you're on void linux).
First install doas
sudo xbps-install opendoas -y
Now configure it:
echo 'permit persist :wheel' | sudo tee -a /etc/doas.conf # enables users in the 'wheel' group to elevate privileges.
echo 'permit nopass root' | sudo tee -a /etc/doas.conf # allow root to use doas without passwd.
echo 'permit nopass :wheel cmd poweroff' | sudo tee -a /etc/doas.conf # allow users to use the command 'poweroff' when they are in the group 'wheel' and skip passwd prompt.
echo 'permit nopass :wheel cmd reboot' | sudo tee -a /etc/doas.conf # allow users to use the command 'reboot' when they are in the group 'wheel' and skip passwd prompt.
Done, now the powermenu buttons should work, you can test doas in your shell using commands like this:
doas touch /hello # that just create a file called hello in your /
and the command poweroff and reboot should be called like this:
doas poweroff
doas reboot
and you shouldn't be asked for password.
Here are details about my gtk theming:
- Gtk theme: decay
- Icons: decay icons
- Cursor: Breeze Snow
If the widgets aren't showed when you opened the session, maybe the eww binary doesn't work
in your operative system for any reason, you can rebuild it and place it in /usr/bin/eww
again.
Here are the steps to do it:
First install the next dependencies in your operative system:
- rustc
- cargo (nightly toolchain)
Using rustup is more recommended!
Additionally eww depends on the next dependencies:
- gtk3 (libgdk-3, libgtk-3)
- gtk-layer-shell (only on Wayland)
- pango (libpango)
- gdk-pixbuf2 (libgdk_pixbuf-2)
- cairo (libcairo, libcairo-gobject)
- glib2 (libgio, libglib-2, libgobject-2)
- gcc-libs (libgcc)
- glibc
Then just execute the next commands sequence
mkdir -p ~/eww-building && cd ~/eww-building
git clone --depth=1 https://github.com/elkowar/eww.git
cd eww
cargo build --release
That could take a some time depending on your internet/pc.
Now you should have available the eww binary, just grab it in /usr/bin/eww
after give
execution permissions. Here are the commands:
cd target/release
chmod x ./eww
test -f /usr/bin/eww && sudo rm /usr/bin/eww
sudo mv ./eww /usr/bin/eww
That's all! Now enjoy with this configuration!
shortcut | meaning |
---|---|
super shift return | Open rofi |
super b | Open firefox |
super {j,k} | Move Window Focus |
super {h,l} | Resize the window |
super shift q | Quit DkWM |
super shift r | Restart DkWM |
super w | Close window |
super space | Toggle floating state |
In the most of the cases, exists mouse based keybindings (but i really prefer the shortcuts lol)