| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 4f88e74 commit a80bb24
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,6 @@ | |||
| 1 | 1 | --- | |
| 2 | 2 | title: Dotfiles & Shell | |
| 3 | - description: Automatic Oh-My-Zsh setup, dotfiles linking with GNU Stow, and developer-friendly macOS preferences. | ||
| 3 | + description: Automatic Oh-My-Zsh setup, dotfiles linking via Makefile or GNU Stow, and developer-friendly macOS preferences. | ||
| 4 | 4 | group: Features | |
| 5 | 5 | order: 6 | |
| 6 | 6 | --- | |
@@ -39,7 +39,19 @@ If you keep your config files in a Git repo (`.zshrc`, `.gitconfig`, `.vimrc`, e | |||
| 39 | 39 | ||
| 40 | 40 | 1. Set a **dotfiles repo URL** in your config (via the dashboard or config JSON) | |
| 41 | 41 | 2. During install, OpenBoot clones the repo to `~/.dotfiles` | |
| 42 | - 3. Files are symlinked into your home directory using [GNU Stow](https://www.gnu.org/software/stow/) | ||
| 42 | + 3. Files are symlinked into your home directory — OpenBoot detects the linking method automatically | ||
| 43 | + | ||
| 44 | + ### Linking Methods | ||
| 45 | + | ||
| 46 | + OpenBoot tries three methods in order, using the first one that applies: | ||
| 47 | + | ||
| 48 | + | Priority | Condition | What happens | | ||
| 49 | + |----------|-----------|-------------| | ||
| 50 | + | 1 | `Makefile` with an `install:` target | Runs `make install` in `~/.dotfiles` | | ||
| 51 | + | 2 | Top-level subdirectories (stow packages) | Links each package with [GNU Stow](https://www.gnu.org/software/stow/) | | ||
| 52 | + | 3 | Flat file structure | Symlinks files directly into `$HOME` | | ||
| 53 | + | ||
| 54 | + 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. | ||
| 43 | 55 | ||
| 44 | 56 | ### Dotfiles Modes | |
| 45 | 57 | ||
@@ -48,7 +60,7 @@ Control how OpenBoot handles dotfiles with the `--dotfiles` flag: | |||
| 48 | 60 | | Mode | What it does | | |
| 49 | 61 | |------|-------------| | |
| 50 | 62 | | `clone` | Clone the repo to `~/.dotfiles` | | |
| 51 | - | `link` | Clone and symlink with `stow` | | ||
| 63 | + | `link` | Clone and link using the detected method above | | ||
| 52 | 64 | | `skip` | Don't touch dotfiles | | |
| 53 | 65 | ||
| 54 | 66 | ``` | |
@@ -58,7 +70,18 @@ openboot install --dotfiles skip | |||
| 58 | 70 | ||
| 59 | 71 | ### Setting Up Your Dotfiles Repo | |
| 60 | 72 | ||
| 61 | - Don't have a dotfiles repo yet? Here's the minimum structure that works with `stow`: | ||
| 73 | + **Option A — Makefile (recommended for custom setups)** | ||
| 74 | + | ||
| 75 | + Add a `Makefile` with an `install:` target. OpenBoot runs `make install`, so your repo controls everything: | ||
| 76 | + | ||
| 77 | + ```makefile | ||
| 78 | + install: | ||
| 79 | + stow -v --target="$(HOME)" git zsh vim | ||
| 80 | + ``` | ||
| 81 | + | ||
| 82 | + **Option B — Stow packages** | ||
| 83 | + | ||
| 84 | + Structure your repo so each top-level directory is a stow package. OpenBoot calls `stow` on each one automatically: | ||
| 62 | 85 | ||
| 63 | 86 | ``` | |
| 64 | 87 | ~/.dotfiles/ | |
| Back | FazBrowse Home | New Git URL |
0 commit comments