FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

docs: update dotfiles linking to reflect Makefile-first priority by fullstackjam · Pull Request #12 · openbootdotdev/openboot.dev · GitHub

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .md  (1) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
31 changes: 27 additions & 4 deletions src/docs/dotfiles-shell.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Dotfiles & Shell
description: Automatic Oh-My-Zsh setup, dotfiles linking with GNU Stow, and developer-friendly macOS preferences.
description: Automatic Oh-My-Zsh setup, dotfiles linking via Makefile or GNU Stow, and developer-friendly macOS preferences.
group: Features
order: 6
---
Expand Down Expand Up @@ -39,7 +39,19 @@ If you keep your config files in a Git repo (`.zshrc`, `.gitconfig`, `.vimrc`, e

1. Set a **dotfiles repo URL** in your config (via the dashboard or config JSON)
2. During install, OpenBoot clones the repo to `~/.dotfiles`
3. Files are symlinked into your home directory using [GNU Stow](https://www.gnu.org/software/stow/)
3. Files are symlinked into your home directory — OpenBoot detects the linking method automatically

### Linking Methods

OpenBoot tries three methods in order, using the first one that applies:

| Priority | Condition | What happens |
|----------|-----------|-------------|
| 1 | `Makefile` with an `install:` target | Runs `make install` in `~/.dotfiles` |
| 2 | Top-level subdirectories (stow packages) | Links each package with [GNU Stow](https://www.gnu.org/software/stow/) |
| 3 | Flat file structure | Symlinks files directly into `$HOME` |

This lets your dotfiles repo own its own deployment logic — directory pre-creation, custom stow flags, or any other setup — without requiring OpenBoot to know repo-specific details.

### Dotfiles Modes

Expand All @@ -48,7 +60,7 @@ Control how OpenBoot handles dotfiles with the `--dotfiles` flag:
| Mode | What it does |
|------|-------------|
| `clone` | Clone the repo to `~/.dotfiles` |
| `link` | Clone and symlink with `stow` |
| `link` | Clone and link using the detected method above |
| `skip` | Don't touch dotfiles |

```
Expand All @@ -58,7 +70,18 @@ openboot install --dotfiles skip

### Setting Up Your Dotfiles Repo

Don't have a dotfiles repo yet? Here's the minimum structure that works with `stow`:
**Option A — Makefile (recommended for custom setups)**

Add a `Makefile` with an `install:` target. OpenBoot runs `make install`, so your repo controls everything:

```makefile
install:
stow -v --target="$(HOME)" git zsh vim
```

**Option B — Stow packages**

Structure your repo so each top-level directory is a stow package. OpenBoot calls `stow` on each one automatically:

```
~/.dotfiles/
Expand Down
Loading

Back | FazBrowse Home | New Git URL