# Dotfiles A collection of config files and scripts for Fedora GNU/Linux and macOS. ## Linux installation ```bash chezmoi init --apply git@github.com:AquaMorph/dotfiles.git ``` ## macOS installation 1. Install the Xcode Command Line Tools with `xcode-select --install`, then install [Homebrew](https://brew.sh/) and follow its `brew shellenv` instructions. Its default prefix is `/opt/homebrew` on Apple Silicon and `/usr/local` on Intel Macs. 2. Download the dotfiles without applying them, then install dependencies: ```bash brew install chezmoi chezmoi init git@github.com:AquaMorph/dotfiles.git brew bundle --file="$(chezmoi source-path ~/.brewfile)" ``` The Brewfile includes chezmoi, Git, Emacs, Python, jq, pass, GnuPG, Brave Browser, Nextcloud, Alacritty, Inconsolata, and AutoRaise. FFmpeg and Ollama are optional; install them separately if needed. 3. Restore your password store to `~/.password-store` and import its GPG private key from a secure backup before applying the dotfiles: ```bash gpg --import /path/to/private-key-backup.asc ``` If the store is kept in Git, clone it to `~/.password-store` using your password-store repository URL. Verify that all required secrets can be decrypted without printing their values: ```bash pass show self-host/token/audible-activation-bytes >/dev/null pass show self-host/token/aquaai >/dev/null pass show self-host/token/todoist >/dev/null ``` `settings.conf` is rendered using `pass`, so applying it requires these entries and the matching private key. Never commit keys or plaintext tokens. 4. Review and apply the dotfiles, then open a new terminal: ```bash chezmoi diff chezmoi apply ``` The generated `~/.config/settings.conf` is private (mode `0600`) and its values are shell-quoted. Linux-only configuration and scripts are ignored on macOS; shared shell, Git, and terminal configuration remains managed. To install newly added macOS dependencies later: ```bash brew bundle --file="$(chezmoi source-path ~/.brewfile)" ``` ### macOS system preferences After applying the dotfiles, review and run the optional setup script as your normal user (not with `sudo`): ```bash ~/bin/setup-macos.sh --dry-run ~/bin/setup-macos.sh ``` It enables dark mode and Dock auto-hide; disables natural scrolling and swipe-to-navigate; and removes window-tiling margins (macOS Sequoia and later). It does not change animation settings: macOS does not provide a supported speed control for desktop-switching animations. These are curated preferences observed on the existing Mac, not an exhaustive comparison against factory defaults. App history, Dock contents, monitor/Spaces layouts, and other machine-specific state are deliberately excluded. The script is safe to rerun but does not back up previous values or run automatically during `chezmoi apply`. Close System Settings before running it. Log out and back in if changes are not visible; the script does not restart apps or your session. ### Hover window focus on macOS AutoRaise focuses and brings a window to the front on hover without an intentional delay or moving the cursor. Its settings are managed in `~/.config/AutoRaise/config`. After installing dependencies and applying the dotfiles, enable it at login: ```bash brew services start dimentium/autoraise/autoraise ``` Grant AutoRaise access in **System Settings → Privacy & Security → Accessibility**. If it is not listed, use **+**, press **Cmd+Shift+G**, and enter the path printed by `echo "$(brew --prefix autoraise)/bin/AutoRaise"`. Then restart it with `brew services restart dimentium/autoraise/autoraise`. Hold **Control** to temporarily suspend hover focus. To turn it off entirely: ```bash brew services stop dimentium/autoraise/autoraise ```