Welcome! This repository contains my personal system configuration for Arch
Linux, which is managed entirely using
aconfmgr. It's designed so that I
(or you!) can easily restore, review, or evolve my setup even after a long
break.
- This track all essential machine customizations (dotfiles, system tweaks, key applications, services, and more) in a reproducible, versioned way.
aconfmgrautomates system state, making it easy to reinstall and manage configuration
- Top-level numbered
.shfiles: These are aconfmgr configuration scripts. Each file targets a specific category or setup phase. Example:00-ignore.sh: What to skip or ignore in tracking.20-base.sh: Core system packages and settings.25-fonts.sh,35-coding.sh, etc.: Fonts, coding tools, and so on.
files/directory that mirrors your system root (/).- Any file here represents a real file on my system that was changed after installation (unless explicitly ignored).
- Most files here are things I hand-edited or care about tracking. This means no stuff automatically added by packages.
-
Install
aconfmgrSee aconfmgr docs for full instructions. -
Clone this repo:
git clone https://github.com/Davi-S/dotfiles ~/.config/aconfmgr cd ~/.config/aconfmgr
-
Review what would change: See what this config would do, before applying it:
aconfmgr diff
-
Apply the configuration: This brings your system in line with the repo state:
aconfmgr apply
Warning: This will overwrite tracked files and install/remove packages as configured!
- Minimal, tracked, reproducible: Only files I've truly customized (not auto-generated junk) are tracked.
- Separation of concerns: Scripts are organized by category and run order.
- Suggestions/PRs welcome! This repo is a living document of my system.
- If you're adapting for yourself, change the scripts and tracked files to match your needs.
MIT - See LICENSE.