flocon/README.org
2023-06-19 16:49:41 +02:00

44 lines
2.9 KiB
Org Mode
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+TITLE: my dotfiles
[[./screenshots/desktop.png]]
[[./screenshots/desktop-terminals.png]]
These are my personal dotfiles for configuring my workstation. I use [[https://www.gnu.org/software/stow/][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
- ~fisher update~ to install fish plugins
* Theme
I use [[https://github.com/catppuccin/catppuccin][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 [[https://github.com/fish-shell/fish-shell][fish]] as my interactive shell, but I still keep [[https://www.gnu.org/software/bash/][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: [[https://archlinux.org/][Arch Linux]]
- Window manager: [[https://hyprland.org][Hyprland]]
- Status bar: [[https://github.com/Alexays/Waybar][Waybar]]
- Application launcher: [[https://sr.ht/~scoopta/wofi/][wofi]]
- Terminal emulator: [[https://github.com/kovidgoyal/kitty][kitty]]
- Shell: [[https://github.com/fish-shell/fish-shell][fish]]
- Text editor: [[https://www.gnu.org/software/emacs/][Emacs]]
- Notification daemon: [[https://github.com/dunst-project/dunst][dunst]]
- Password manager: [[https://www.passwordstore.org/][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 [[https://rclone.org/][rclone]] to a remote called drive (runs every 5 minutes)