# GNOME Settings This folder contains my GNOME settings split into several `*.ini` files by logical group. Machine-specific overrides may live in `local/*.ini` and are loaded last. See this [README.md](./local/README.md) for details and examples. All paths inside the files are absolute, anchored at the root of `dconf`. Therefore, they must always be loaded anchored at the root as well. The files are machine independent and use `/home/user` as a placeholder, which must be rewritten to the real home directory before loading: ```bash sed "s|/home/user|$HOME|g" | dconf load / ``` [`gnome-restore`](../../.local/bin/gnome-restore) automates this upon every login (via the `gnome-restore.service` systemd user unit). Process: 1. Back up the current `dconf` state into ~/.local/state/gnome-settings-backups/ 2. On a fresh session, remove the temporary background state written by [`randomize-background`](../../.local/bin/randomize-background) 3. Reset all managed sub-trees, so that keys removed from the `*.ini` files do not linger in the live state 4. Patch a broken backup path in the installed `forge` extension (`theme.js`) 5. Ensure the enabled GNOME extensions' schemas are imported 6. Load every `*.ini` here, then every `local/*.ini` [`dconf-load`](../../.local/bin/dconf-load) captures step 6 as an independent utility, or for just one file given as an argument, which is handy while iterating on a single `*.ini`: ```bash dconf-load key-bindings.ini ``` It neither backs up nor resets anything, so keys removed from the `*.ini` files stay active until the next `gnome-restore`. Its purpose is to help during development of the `*.ini` files. [`dconf-verify`](../../.local/bin/dconf-verify) lists keys diverging between the live state and the `*.ini` files, and can be used to find live keys worth adopting. ## Color Palette `COLORS.md` is an untracked, human-readable overview of the palette, written by [`color-palette`](../../.local/bin/color-palette).