This commit is contained in:
2026-02-13 09:57:38 +02:00
parent e35f9651c1
commit 1217337fbb
20 changed files with 867 additions and 65 deletions

View File

@@ -60,10 +60,11 @@ work@ec2 = work.internal ~/.ssh/id_work
## Manifest format
The manifest is YAML with two top-level sections used by the current code:
The manifest is YAML with these top-level sections used by the current code:
- `profiles` for bootstrap profiles
- `binaries` for package definitions
- `package-map` for cross-package-manager name mapping
`environments` is no longer supported.
@@ -78,7 +79,7 @@ profiles:
locale: en_US.UTF-8
requires: [HOSTNAME]
packages:
standard: [git, tmux, zsh]
standard: [git, tmux, zsh, fd]
binary: [neovim]
ssh_keygen:
- type: ed25519
@@ -86,6 +87,12 @@ profiles:
runcmd:
- mkdir -p ~/projects
package-map:
fd:
apt: fd-find
dnf: fd-find
brew: fd
binaries:
neovim:
source: github:neovim/neovim
@@ -134,6 +141,9 @@ flow dotfiles link
flow dotfiles status
flow dotfiles relink
flow dotfiles clean --dry-run
flow dotfiles repo status
flow dotfiles repo pull --relink
flow dotfiles repo push
```
### Bootstrap
@@ -141,10 +151,15 @@ flow dotfiles clean --dry-run
```bash
flow bootstrap list
flow bootstrap show linux-vm
flow bootstrap packages --profile linux-vm
flow bootstrap packages --profile linux-vm --resolved
flow bootstrap run --profile linux-vm --var HOSTNAME=devbox
flow bootstrap run --profile linux-vm --dry-run
```
`flow bootstrap` auto-detects the package manager (`brew`, `apt`, `dnf`) when
`package-manager` is not set in a profile.
### Packages
```bash