Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

776 Commits
776 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@raisedadead's dotfiles

Every-day carry for my systems.

Managed with chezmoi. Previously managed with homeshick, which served reliably for years.

Structure

This repository is the public dotfiles source. A separate private repository handles credentials and sensitive configuration.

~/.dotfiles           # this repo (public)
~/.dotfiles-private   # private repo

Packages and tools

Homebrew package management lives in a separate repo by design. When that repo is applied, it provides ~/.config/brewfile/Brewfile.

brew bundle --file=~/.config/brewfile/Brewfile

Setup (new machine)

A bootstrap script handles the full sequence interactively:

# If you already have Homebrew + git:
git clone git@github.com:raisedadead/dotfiles.git ~/.dotfiles
~/.dotfiles/install.sh

# Or step by step — see below.
┌──────────────────────────┐
│  1. Install Homebrew     │
└────────────┬─────────────┘
             ▼
┌──────────────────────────┐
│  2. brew install         │
│     chezmoi git just     │
└────────────┬─────────────┘
             ▼
┌──────────────────────────┐     ┌─────────────────────────┐
│  3. Install 1Password    │────▶│ Enable SSH Agent in     │
│     (manual / brew)      │     │ Settings → Developer    │
└────────────┬─────────────┘     └─────────────────────────┘
             ▼
┌──────────────────────────┐
│  4. ./install.sh         │
│     ├─ apply public      │
│     ├─ clone + apply     │
│     │  private (if SSH)  │
│     └─ brew bundle       │
└────────────┬─────────────┘
             ▼
┌──────────────────────────┐
│  5. home check           │
└──────────────────────────┘

Manual steps (if not using install.sh)

  1. Install Homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install essentials:

    brew install chezmoi git just
  3. Set up 1Password and enable the SSH agent under Settings → Developer → SSH Agent.

  4. Apply public dotfiles:

    chezmoi init git@github.com:raisedadead/dotfiles.git --source ~/.dotfiles --apply
  5. Apply private dotfiles:

    git clone git@github.com:raisedadead/dotfiles-private.git ~/.dotfiles-private
    chezmoi --source ~/.dotfiles-private apply
  6. Install packages (optional, if your separate Brewfile repo is already applied):

    brew bundle --file=~/.config/brewfile/Brewfile
  7. Verify:

    home check

Daily workflow

home is the day-to-day entrypoint. It wraps the public + private chezmoi repos and gives you status, sync, apply, pull, and push commands that work across both.

Editing a managed file

# Edit chezmoi source directly, then apply
$EDITOR ~/.dotfiles/dot_zshrc
home apply

# Or edit via chezmoi without touching the target file
home pub edit ~/.zshrc

Adding a new file

home pub add ~/.config/foo/config.toml
home prv add ~/.config/foo/secret.yml

Syncing across machines

home pull
home apply

Checking status

home check

Pushing changes

git -C ~/.dotfiles add -A && git -C ~/.dotfiles commit -m "chore: update configs"

# If private repo changed too:
git -C ~/.dotfiles-private add -A && git -C ~/.dotfiles-private commit -m "chore: update configs"

home push

Quick reference

Task Command
Add a file (public) home pub add <file>
Add a file (private) home prv add <file>
Edit a file (public) home pub edit <file>
Edit a file (private) home prv edit <file>
Apply both repos home apply
Pull both repos home pull
Check status and drift home check
Recover target-side edits home re-add
List managed files home pub managed / home prv managed

License

ISC © 2017 Mrugesh Mohapatra

Morty Proxy This is a proxified and sanitized view of the page, visit original site.