| applications | ||
| bash | ||
| configs | ||
| fonts | ||
| smb | ||
| system | ||
| .gitignore | ||
| aur-packages.txt | ||
| backup.sh | ||
| bootstrap.sh | ||
| flatpaks.txt | ||
| install.sh | ||
| installed-packages-full.txt | ||
| instructions.md | ||
| packages.txt | ||
| README.md | ||
| tracked-configs.txt | ||
| version.txt | ||
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