# User Applications Usage This document lists common user (GUI) applications that are part of this development and productivity setup. It also notes if and how their configurations might be managed by `chezmoi`. ## Overview While `chezmoi` excels at managing command-line tool configurations (dotfiles), it can also help manage settings for some GUI applications, typically by symlinking or templating their preference files (e.g., `.plist` files on macOS, JSON/XML configs). Many applications are installed via Homebrew Cask on macOS. Check your `Brewfile` (if used with `chezmoi`) or `chezmoi` installation scripts for a list of managed applications. ## Common Application Categories & Examples Below are categories and examples of applications that might be part of your setup. Add your specific applications to these lists. ### Web Browsers * **[Google Chrome](https://www.google.com/chrome/)** * **Installation**: Homebrew Cask (`brew install --cask google-chrome`) or manual download. * **Configuration**: User profile settings are complex to manage directly with dotfiles. Consider using Chrome's built-in sync feature. * **[Mozilla Firefox](https://www.mozilla.org/firefox/)** * **Installation**: Homebrew Cask (`brew install --cask firefox`) or manual download. * **Configuration**: Profile-based. Some `user.js` customizations can be managed. * **[Safari](https://www.apple.com/safari/) (macOS)** * **Installation**: Comes with macOS. * **Configuration**: Some `.plist` files in `~/Library/Preferences/` or `~/Library/Containers/com.apple.Safari/Data/Library/Preferences/` might be manageable, but can be complex. ### Productivity Tools * **[Rectangle](https://rectangleapp.com/) (macOS Window Manager)** * **Installation**: Homebrew Cask (`brew install --cask rectangle`) or manual download. * **Configuration**: Preferences (`~/Library/Preferences/com.knollsoft.Rectangle.plist`) can often be managed by `chezmoi`. * **[Alfred](https://www.alfredapp.com/) (macOS Launcher & Productivity)** * **Installation**: Homebrew Cask (`brew install --cask alfred`) or manual download. * **Configuration**: Alfred preferences can be synced to a folder (e.g., Dropbox, iCloud Drive), and `chezmoi` could potentially manage a symlink to this sync folder or specific non-sensitive parts of its config if exported. * **[Obsidian](https://obsidian.md/) (Knowledge Base/Notes)** * **Installation**: Homebrew Cask (`brew install --cask obsidian`) or manual download. * **Configuration**: Vaults are user-managed. Some global configuration files might be linkable. * **Password Manager (GUI)** * **1Password**: (Covered in `docs/1password-usage.md` for CLI, GUI is complementary) * **Installation**: Download from [1Password website](https://1password.com/downloads/). ### Development Tools (GUI) * **[Visual Studio Code](https://code.visualstudio.com/)**: (Covered in detail in `docs/vscode-usage.md`) * **[Docker Desktop](https://www.docker.com/products/docker-desktop/)**: (Covered in `docs/docker-usage.md`) * **Database GUI Clients** (e.g., TablePlus, DBeaver, pgAdmin) * **Example: [TablePlus](https://tableplus.com/)** * **Installation**: Homebrew Cask (`brew install --cask tableplus`) or manual download. * **Configuration**: Connection details are typically managed within the app; general preferences might be in a `.plist` file. * **API Clients** (e.g., Postman, Insomnia) * **Example: [Postman](https://www.postman.com/)** * **Installation**: Homebrew Cask (`brew install --cask postman`) or manual download. * **Configuration**: Typically uses cloud sync for collections and environments. ### Communication * **[Slack](https://slack.com/)** * **Installation**: Homebrew Cask (`brew install --cask slack`) or manual download. * **[Zoom](https://zoom.us/)** * **Installation**: Homebrew Cask (`brew install --cask zoom`) or manual download. ### Other Utilities * **[Spotify](https://www.spotify.com/)** * **Installation**: Homebrew Cask (`brew install --cask spotify`) or manual download. * **[VLC Media Player](https://www.videolan.org/vlc/)** * **Installation**: Homebrew Cask (`brew install --cask vlc`) or manual download. ## Managing Application Settings with `chezmoi` If an application stores its settings in a known file path (e.g., a `.plist` file in `~/Library/Preferences/` on macOS, or a JSON/INI/XML file in `~/.config/AppName/` on Linux), `chezmoi` can manage it: 1. **Identify the configuration file**. 2. **Copy it to your `chezmoi` source directory** (e.g., as `private_Library/Preferences/com.example.app.plist` for macOS, or `dot_config/AppName/settings.json`). 3. **Add it to `chezmoi`**: `chezmoi add ~/Library/Preferences/com.example.app.plist` (using the original path). 4. `chezmoi` will then create a symlink from the target path to your source directory version, or apply it as a template. **Caution**: Some applications do not like their preference files being symlinked or modified externally while they are running. Test thoroughly. ## Resources * **Homebrew Casks**: [https://formulae.brew.sh/cask/](https://formulae.brew.sh/cask/) (Find package names for Homebrew Cask installations) * **`chezmoi` Documentation**: [https://www.chezmoi.io/](https://www.chezmoi.io/) This document is a template. Please populate it with the specific applications you use and how you manage their installation and configuration.