Personal system configuration files.
Keep it simple, even if it means duplicating code. Modular where it makes sense, pragmatic everywhere else. Designed for easy maintenance and clear understanding over clever abstractions.
git clone --recursive https://github.com/slavafyi/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
make installmake install # Full system setup
make install PROFILE=desktop # Run a named profile
make update # Update system and packages
make fmt # Format code filesProfiles let you reuse the underlying install modules for different targets:
fullโ complete workstation setup (default)minimal-serverโ essentials only (system_base,user_core)desktopโ desktop experience without developer extrasdev-workstationโ desktop plus developer tooling
Usage examples:
make install PROFILE=minimal-server
./install.sh profile desktop
./install.sh list-profilesYou can still run individual modules when needed:
./install.sh setup_mise
./install.sh dev_toolsconfigs/ Configuration files (managed by stow)
scripts/ Installation scripts
misc/ Additional files (packages, dconf dumps, etc)
- Arch Linux
- macOS
- Fedora (coming soon)
- Debian/Ubuntu
MIT License - see LICENSE for details.