Go to file
2026-07-17 21:20:58 +02:00
applications update 2026-07-17 20:02:49 +02:00
bash update 2026-07-17 20:02:49 +02:00
configs Initial omarchy setup scripts 2026-06-26 18:38:59 +02:00
fonts update 2026-07-17 20:02:49 +02:00
smb update 2026-07-17 20:02:49 +02:00
system Initial omarchy setup scripts 2026-06-26 18:38:59 +02:00
.gitignore update 2026-07-17 20:02:49 +02:00
aur-packages.txt Initial omarchy setup scripts 2026-06-26 18:38:59 +02:00
backup.sh update 2026-07-17 20:02:49 +02:00
bootstrap.sh update 2026-07-17 20:25:09 +02:00
flatpaks.txt update 2026-07-17 20:02:49 +02:00
install.sh update 2026-07-17 20:25:09 +02:00
installed-packages-full.txt removed balena etcher from packages 2026-07-17 21:20:58 +02:00
instructions.md update 2026-07-17 20:25:09 +02:00
packages.txt update 2026-07-17 20:25:09 +02:00
README.md update 2026-07-17 20:25:09 +02:00
tracked-configs.txt update 2026-07-17 20:02:49 +02:00
version.txt update 2026-07-17 20:02:49 +02:00

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 ~/.config will 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.txt lists every managed config symlink
  • configs/ stores files that restore into ~/.config
  • bash/ stores .bashrc and .bash_aliases when enabled in tracked-configs.txt
  • scripts/ restores executable helpers into ~/.local/bin
  • applications/ restores custom launchers into ~/.local/share/applications
  • fonts/ symlinks into ~/.local/share/fonts/omarchy-config
  • system/ stores exported service and system package metadata
  • smb/ stores SMB automount templates without credentials