Tracks system changes mostly outside of $HOME. $HOME is covered by my dotfiles repo instead.
(Why am I not running Nix instead of writing down intent and changes like this? It's a very neat idea but I prefer keeping stuff up to date with a rolling distro like Arch. Recreating a system exactly isn't necessary for me, the things I care about are mostly in $HOME and those are well-managed already.)
Fiddler is running Arch, installed via Omarchy (Oct '25). It has since been tweaked to remove many Omarchy things. I still manually track Omarchy updates - all changes in the new update are first scanned, then tweaked/removed if needed on my own branch and only then do I run the Omarchy updater. Omarchy's use of well-managed migrations makes this very clean and easy.
Aside: I don't dislike Omarchy - it's well designed and curated, I'm happy I use it as a base - I just don't need or agree with all of their changes since desktops are very personal taste after all. The one thing I do dislike is that they put packages that already exist in AUR in their own Omarchy repo. I would have much preferred they uploaded the Omarchy packages to AUR instead. The Omarchy repo is often well behind AUR's updates - which is ironic given that Arch users want a rolling distro not yet another private repo that languishes behind current.
It's more than 6 months since the box was initially installed, many changes were not tracked. Only the most important are described here.
My changes are in this fork which uses a single squashed commit that's always rebased to the top of Omarchy's master branch when it updates.
ToDo: The hyprland changes in that commit could/should be dropped now that we no longer use it, having switched to Niri.
It's bad that Omarchy has its own repo. Yes, AUR was being DDosed when Omarchy first came out but what we have now is the Omarchy repo significantly behind AUR. Arch users want a rolling distribution, not another repo sitting between them and current - but I guess there must be some folks who see Omarchy as akin to a distro and not mainly an Arch installer + desktop config?
- Remove the
[omarchy]repo from/etc/pacman.conf - Create
/etc/pacman.conf.omarchywith contentsInclude = /etc/pacman.conf [omarchy] SigLevel = Required DatabaseOptional Server = https://pkgs.omarchy.org/stable/$arch
- Always run yay as:
yay -Syu && yay -Syu --config /etc/pacman.conf.omarchy - This lets AUR be checked before the Omarchy repo is consulted
- The only packages on my system from the Omarchy repo are:
omarchy-chromium omarchy-keyring omarchy-walker- Looks like
omarchy-chromiumis going away - though I could just nuke it right now too omarchy-walkeris empty, it's purely a list of deps that are (now) satisified from AUR- Would be good to nuke all of the deps on Omarchy's repo, it's just another thing waiting to be hacked
- Looks like
Go through all the packages and remove anything I don't need. There are some very good apps that I don't actively use, can come back to them when I need them.
Switch SDDM to launching Niri instead of Hyprland. Omarchy did good switching to SDDM, makes this change simple.
- Change
/etc/sddm.conf.d/autologin.confto[Autologin] User=sj Session=niri-uwsm [Theme] Current=breeze
- Use Niri configs in dotfiles.
- This Niri config incorporates and is kept in sync with the Omarchy desktop experience where it makes sense, which is almost all of it. It's basically the same desktop experience just tweaked to use Niri instead: Waybar, etc.
At some point in '25 mkinitcpio started barfing because /boot wasn't vfat because it saw the automount instead. The automount adds no value here, so replace it with a direct mount.
- Remove /boot automount
sudo systemctl mask boot.automount - Replace with direct mount in
/etc/fstab# Mount /boot explicitly instead of using systemd's boot.automount. The automount # confuses kernel/module mkinitcpio which complains /boot is not FAT32 and errors out. # /dev/nvme1n1p1 UUID=D281-89F6 /boot vfat rw,relatime,nodev,nosuid,noexec,nosymfollow,fmask=0177,dmask=0022 0 0
- ncurses clashes with ghostty-terminfo's /usr/share/terminfo/g/ghostty but the ncurses file is crap
- Keep the ghostty-terminfo version by first removing it to allow ncurses to install, then rename the ncurse file and reinstall ghostty-terminfo
Fixed: Newer ghosty-terminfo now skips the clashing ghostty entry and newer ghostty packages now use xterm-ghostty which works fine on the desktop.