My configuration files (dotfiles) for a custom Debian Desktop Environment.
GPL-3.0 License
This is my personal configuration for a custom Debian Desktop Environment, including useful scripts, a list of all the programs I use and installation instructions, and my personal color scheme. This mainly works as a reference for myself, but anyone else is also welcome to enjoy and extend upon my configurations. Here are the details of my setup:
Most of my useful shell scripts are included in ~/.local/bin/.
Here are some example scripts:
To install and integrate with your system, you need to checkout the master branch and initialize included submodules.
git --work-tree $HOME --git-dir $HOME/dotfiles init
git --work-tree $HOME --git-dir $HOME/dotfiles remote add -t \* -f origin [email protected]:miikanissi/dotfiles.git
git --work-tree $HOME --git-dir $HOME/dotfiles checkout master
git --work-tree $HOME --git-dir $HOME/dotfiles submodule update --init
git --work-tree $HOME --git-dir $HOME/dotfiles config --local status.showUntrackedFiles no
Alternatively, you can clone the repository with submodules and move the files manually.
To install all of my packages, you can run my installation script:
./.local/bin/install_programs.sh
I use Ubuntu Mono Nerd Font as my main font. You can use my script to download and install it for your system:
chmod +x ~/.local/bin/install_nerd_fonts_ubuntu_mono.sh
~/.local/bin/install_nerd_fonts_ubuntu_mono.sh
Elementary cursor theme requires moving icons to their correct location:
cp -R ~/.icons/elementary-cursors/elementary/ ~/.icons/
Suckless program installation:
sudo echo "[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=Dynamic window manager
Exec=dwm
Icon=dwm
Type=XSession" > /usr/share/xsessions/dwm.desktop
cd .local/src/suckless/dwm && sudo make clean install
cd .local/src/suckless/dmenu && sudo make clean install
cd .local/src/suckless/dwmblocks && sudo make clean install
cd .local/src/suckless/st && sudo make clean install
To automatically run my keyboard setup script when keyboard is attached, we need to
create a udev rule in /etc/udev/rules.d/99-keyboard.rules
. You can find the vendor and
model ID for all USB devices by running the command lsusb
:
ACTION=="bind", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04b4", ENV{ID_MODEL_ID}=="0510" RUN+="/bin/su m --command='/home/m/.local/bin/keyboard.sh'"
Currently, I have configurations for Neovim (~/.config/nvim/), Vim (~/.vim/) and Emacs (~/.emacs.d/). At this moment I am only using Neovim and that is the only configuration I am maintaining. My Emacs configuration is written as a self documenting Org file for easier understanding.
I switch between dark and light mode depending on the ambient light conditions. In order to do that conveniently I have created a script toggle-theme.sh, which automatically changes the color theme on my most used applications (i.e. Neovim, Alacritty, Polybar, GTK).
To stay up to date with me, visit my website. Useful Links: