2.5 KiB
2.5 KiB
Milan's Omarchy Config
This repository is the source of truth for Milan's Omarchy workstation. Configs are restored with symlinks so future edits should happen here.
Fresh install
git clone https://git.ta52.dk/milan/omarchy-config.git
cd omarchy-config
./bootstrap.sh
Restore on an existing install
./install.sh
Installation options
The installer respects environment variables to customize behavior:
UPDATE_SYSTEM=1- Update the system packages before installing (skipped by default on fresh Omarchy installs)ENABLE_SYSTEM_SERVICES=1- Enable system-level services (user services are enabled by default)INSTALL_SMB=1- Run the optional SMB automount installer
Example:
UPDATE_SYSTEM=1 ENABLE_SYSTEM_SERVICES=1 ./install.sh
Installer behavior
The installer is designed to be:
- Idempotent - Safe to run multiple times
- Robust - Continues after non-critical failures and reports them at the end
- Fast - Does not update the system by default
- Deterministic - Same results on each run
- Minimal - Requires minimal user interaction
All configs are backed up before being replaced. Backups are stored in ~/.local/state/omarchy-config/backups/.
Configuration symlinking
Entire config directories are symlinked from this repository into ~/.config. This means:
- Pro: Configs are centrally managed and changes propagate immediately
- Con: New files added to managed directories in
~/.configwill not automatically appear in git- Future Omarchy config additions inside symlinked directories must be committed manually from this repo
- This is an intentional trade-off for centralized management
Fonts
Fonts from the fonts/ directory are symlinked to ~/.local/share/fonts/omarchy-config and the system font cache is updated automatically.
Update repository
After changing your setup:
./backup.sh
git add .
git commit -m "Update"
git push
Structure
tracked-configs.txtlists every managed config symlinkconfigs/stores files that restore into~/.configbash/stores.bashrcand.bash_aliaseswhen enabled intracked-configs.txtscripts/restores executable helpers into~/.local/binapplications/restores custom launchers into~/.local/share/applicationsfonts/symlinks into~/.local/share/fonts/omarchy-configsystem/stores exported service and system package metadatasmb/stores SMB automount templates without credentials