bash | ||
dunst/.config/dunst | ||
emacs | ||
environment | ||
fish/.config/fish | ||
fontconfig/.config/fontconfig | ||
git | ||
gtk | ||
hyprland/.config/hypr | ||
kitty/.config/kitty | ||
mime/.config | ||
qt5ct/.config/qt5ct | ||
screenshots | ||
scripts/.scripts | ||
swaylock/.config/swaylock | ||
user-services | ||
vim/.vim/pack | ||
waybar/.config/waybar | ||
wofi/.config/wofi | ||
.gitmodules | ||
.stow-local-ignore | ||
packages | ||
README.org |
my dotfiles
These are my personal dotfiles for configuring my workstation. I use stow to manage them, hence why everything is under its own module, so I can use stow */
to symlink them to the right place.
This configuration uses git submodules in order to pull some plugins and to integrate my Emacs config in a separate repository, so make sure to initialize them before trying to install it (installation instructions below).
Installing
You could install it on any Linux distribution that you want, but I recommend Arch Linux as there is a file containing a list of required packages installable via pacman or your favorite AUR helper.
- Clone the config in your home directory
git clone git@github.com:nezia1/dotfiles.git ~/.dotfiles
- Initialize submodules with
git submodule update --init
- If you're using Arch Linux, install the packages with
sudo pacman -S < packages
or using your favorite AUR helper stow */
to symlink everything to the right place
Theme
I use catppuccin as my theme (the mocha variant). I love the soothing pastel colors. The GTK theme and the Qt5 theme are also configured to be used with supported applications.
Shell setup
I use fish as my interactive shell, but I still keep bash as my non-interactive shell for compatibility purposes, as some pieces of software that I use require the user to have a POSIX compliant shell. This is why I have a bash module, where I setup everything that I want to have non-interactively and interactively and if running interactively, have it start a fish session.
It also keeps variables set in .profile, since we're starting fish from bash.
Software used
- Operating system: Arch Linux
- Window manager: Hyprland
- Status bar: Waybar
- Application launcher: wofi
- Terminal emulator: kitty
- Shell: fish
- Text editor: Emacs
- Notification daemon: dunst
- Password manager: pass
Hyprland is configured to use a random wallpaper from the $HOME/.dotfiles
directory, so you need to have your wallpapers in it.
Services and timers
The user-services module contains different systemd daemons and timers that you might or might not need depending on your specific use-case:
- sync: a systemd timer that synchronizes my org directory using rclone to a remote called drive (runs every 5 minutes)