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
- Example:
- Package target paths are home-relative from package root.
- Example:
_shared/bin/.bin/flow->~/.bin/flow
- Example:
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:
flow dotfiles modules list
flow dotfiles modules sync
Profiles
macoslinux
Quick start
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-clitreats target conflicts as errors (including_sharedvs profile), so package paths must stay unique.
Description
Languages
Shell
83%
Lua
7.2%
JavaScript
4.3%
Python
4.3%
Ruby
1.2%