Files
dotfiles/README.md
T

112 lines
3.8 KiB
Markdown

# 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, Steam, 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
```