Most toplevel folders contain configuration that can be installed using
GNU stow when cloned to ~/dotfiles
.
These dotfiles are not meant to be just cloned and installed, even though it is possible you're probably realize pretty quickly that variables and configuration are made to work for me and my system(s). So use them as a help and guideline, don't blindly copy and paste.
A random list of dependencies, not all are required, just pick what you want.
- KDE/Plasma
- i3(-gaps)
- compton
- nitrogen
- wmctrl
- zsh
- kitty / alacritty
- Hack, Fira Code (Nerd Font patched)
- nvim
The desktop currently consists of KDE as DE with i3-gaps as a tiling window manager.
To replace KWin with i3 the kde/.config/plasma-workspace/env/wm.sh
sets the KDEWM
environment variable.
More recent versions of Plasma require you to replace a systemd service:
$ systemctl --user mask plasma-kwin_x11.service
$ systemctl --user add-wants plasma-workspace-x11.target i3.service
Make sure to disable the Plasma Splash-Screen System settings → Workspace Theme → Splash Screen
,
or remove/rename /usr/bin/ksplashqml
. While you're already in the settings I recommend
unbinding all Plasma keybinds.
The rest is done within the i3/.config/i3/config
configuration.
Killing Plasma desktop:
exec --no-startup-id wmctrl -c Plasma
for_window [title="Desktop — Plasma"] kill
And re-enabling compositing (optional):
exec compton -fb --backend glx --vsync opengl
KDE/Qt and Gnome/GTK themes are all set to either Breeze or Breeze-Dark. The Icon theme is a custom ArchLinux cursor theme.
Wallpapers are restored using nitrogen --restore
and can be manuall configured using
nitrogen
.
The launcher is rofi
with a very simple configuration/theme configured in
X/.Xresources
. Alternatively you can still use the Plasma
application runner using Alt+F2
.
I am currently using different terminals on different systems, it is split between Alacritty and Kitty, depending on which other features the system has. I use Kitty on systems which do not have a tiling window manager.
The color scheme is a slightely modified molokai scheme.
The shell of my choice is zsh with oh-my-zsh
as a configuration basis and
plugin/theme manager. The configuration is rather straight forward and can be found
in zsh/.zshrc
.
The main nvim setup is done through Vundle. Vundle needs to be installed manually.
Color scheme is again molokai, the rest of the configuration lives in
nvim/.config/nvim/
.
The environment is being setup to have your ssh keys managed by KeepassXC,
which populates the ssh-agent with its keys as long as it is unlocked.
This is done in kde/.config/plasma-workspace/env/vars.sh
in combination with a systemd service
systemd/.config/systemd/user/ssh-agent.service
.
bin/.local/bin/ws
is a small utility script meant to be started
through rofi or a keybind to populate an entire workspace with windows and a predefined
layout.
It expects the desired workspace as first argument and optionally a profile as second
then looks for the i3 layout file in
~/.config/i3/workspace/workspace-${WORKSPACE}-${PROFILE:-default}.json
and applies it
to ${WORKSPACE}
afterwards it launches the file
~/.config/i3/workspace/workspace-${WORKSPACE}-${PROFILE:-default}.sh
which can be
used to populate the newly created workspace/layout.