migration
This commit is contained in:
64
README.md
Normal file
64
README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# dotfiles_v2
|
||||
|
||||
Dotfiles repo migrated from `dotfiles/` to the current `flow-cli` layout.
|
||||
|
||||
## Key layout rules
|
||||
|
||||
- `_shared/<package>/...` is linked for every profile.
|
||||
- `<profile>/<package>/...` is linked only for that profile.
|
||||
- A package-local `_root/` maps to absolute paths via sudo.
|
||||
- Example: `_shared/dnsmasq/_root/opt/homebrew/etc/dnsmasq.conf` ->
|
||||
`/opt/homebrew/etc/dnsmasq.conf`
|
||||
- Package target paths are home-relative from package root.
|
||||
- Example: `_shared/bin/.bin/flow` -> `~/.bin/flow`
|
||||
|
||||
## Flow config
|
||||
|
||||
Config files live at:
|
||||
|
||||
- `_shared/flow/.config/flow/config.yaml`
|
||||
- `_shared/flow/.config/flow/packages.yaml`
|
||||
- `_shared/flow/.config/flow/profiles.yaml`
|
||||
|
||||
## External modules (submodule-style packages)
|
||||
|
||||
This repo uses flow module packages for shared components:
|
||||
|
||||
- `_shared/nvim/_module.yaml` -> `git@gitea.tomastm.com:tomas.mirchev/nvim-config.git`
|
||||
- `_shared/barg/_module.yaml` -> `git@gitea.tomastm.com:tomas.mirchev/barg-parser.git`
|
||||
|
||||
Module packages are refreshed by flow on `dotfiles init` and `dotfiles sync`.
|
||||
|
||||
Useful commands:
|
||||
|
||||
```bash
|
||||
flow dotfiles modules list
|
||||
flow dotfiles modules sync
|
||||
```
|
||||
|
||||
## Profiles
|
||||
|
||||
- `macos`
|
||||
- `linux`
|
||||
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
flow dotfiles init --repo /absolute/path/to/dotfiles_v2
|
||||
flow dotfiles modules sync
|
||||
flow dotfiles link --profile macos
|
||||
flow bootstrap run --profile macos --var HOSTNAME=mymac --var USER_EMAIL=you@example.com --dry-run
|
||||
```
|
||||
|
||||
## Migrated packages from original dotfiles
|
||||
|
||||
- Shared: `bin`, `git`, `gitignore`, `zsh`, `tmux`, `htop`, `addpaths`, `dnsmasq`, `nvim` (module),
|
||||
`barg` (module)
|
||||
- macOS: `ghostty`, `wezterm`, `kitty`, `alacritty`, `karabiner`, `linearmouse`, `rectangle`,
|
||||
`borders`, `sol`, `homebrew`, `setup`
|
||||
- Linux: `kwin`
|
||||
|
||||
## Notes
|
||||
|
||||
- `flow-cli` treats target conflicts as errors (including `_shared` vs profile), so package paths
|
||||
must stay unique.
|
||||
Reference in New Issue
Block a user