Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cathyjf/dotfiles
Personal dotfiles for macOS.
https://github.com/cathyjf/dotfiles
chezmoi puppet
Last synced: 8 days ago
JSON representation
Personal dotfiles for macOS.
- Host: GitHub
- URL: https://github.com/cathyjf/dotfiles
- Owner: cathyjf
- Created: 2024-10-04T08:23:34.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T12:23:26.000Z (about 2 months ago)
- Last Synced: 2025-01-31T23:28:35.461Z (9 days ago)
- Topics: chezmoi, puppet
- Language: Shell
- Homepage:
- Size: 258 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cathyjf's dotfiles
This repository contains the dotfiles that I use on my macOS machines.
I am able to share most of my dotfiles, but certain private dotfiles contain
personal information and I am unable to share those ones at this time. The
private dotfiles are contained within the `private` subdirectory of the
repository, which is a submodule that points to a private GitHub repository.
In addition to the private dotfiles being stored in a non-public repository,
they are also encrypted within that repository.## Installation
1. Install [`brew`](https://brew.sh).
2. Install [`chezmoi`](https://chezmoi.io/):
```shell
brew install chezmoi
```3. Initialize `chezmoi` using my dotfiles:
```shell
chezmoi init --ssh github.com/cathyjf
```
This `chezmoi init` command will automatically clone this repository and its `private` submodule.
To skip cloning the private dotfiles, add the `--recurse-submodules=false` argument.4. Apply the dotfiles (including the private dotfiles) to the home directory:
```shell
chezmoi apply
```
To apply only the public dotfiles, use:
```shell
chezmoi apply --exclude encrypted
```
One advantage of applying only the public dotfiles is that it will not be necessary to authenticate to decrypt my GPG key.## Working with the private dotfiles
After the public dotfiles have been applied at least once, a fish function named [`chezmoi-private`](https://github.com/cathyjf/dotfiles/blob/main/home/private_dot_config/private_fish/private_functions/private_chezmoi-private.fish) will be available. This function takes all of the same arguments as the `chezmoi` program, but it operates on the private dotfiles instead of on the public dotfiles.
Examples:
* Run `chezmoi-private managed` to see a list of all of the private dotfiles managed by `chezmoi`.
* Run `chezmoi-private diff` to see pending changes to the private dotfiles.
This will require authentication to decrypt my GPG key.## Other relevant repositories
* The [Brewfile](https://github.com/cathyjf/dotfiles/blob/main/misc/Brewfile) in this repository specifies some packages from my [cathyjf/homebrew-misc](https://github.com/cathyjf/homebrew-misc) repository.
* My dotfiles specify [cathyjf/keychain-interpose](https://github.com/cathyjf/keychain-interpose) as the default agent for `gpg(1)`.