# or a fork
git clone https://github.com/artm/dotfiles.git ~/.config/dotfiles
~/.config/dotfiles/.local/bin/setup-dotfiles.sh
# restart shell?- the symlink-less dotfile management technique is based on the article by
Gabrielle Young
- which in turn is an elaboration of a technique by Nicola Paolucci
- stock Rocky Linux 9 bash config (perhaps in turn based on RHEL 9 or Fedora, I
don't know)
- files inside
.bashrc.dare expected to be sourced from.bashrc- this is only added in 9.x
- had to start managing since I had to downgrade
admin-shellto 8.x
- files inside
- personal executables
- better be avoided, but if I must:
- executables to be run manually go to
~/bin - executables used by the integrations go to
/.local/bin - the latter is also used by some package managers to install user executables
- both are added to the
$PATHby Rocky Linux 9's stock.bashrc
- executables to be run manually go to
- better be avoided, but if I must:
- Dev Containers extension provides a way to inject managed dotfiles into
the built containers:
- it will clone the configured repository into configured target direcotry then execute the configured installation script
- it has sensible defaults for target directory and the installation script
which I override to:
- avoid having the installation script in the home directory (this would
happen as consequence of configuring
$HOMEas git work tree) - hide the seemingly empty local dotfiles repository (it only contains
.gitsubdirectory)
- avoid having the installation script in the home directory (this would
happen as consequence of configuring
Hence my Dev Containers configuration:
- Dotfiles: Install Command
~/.config/dotfiles/.local/bin/setup-dotfiles.sh
- Dotfiles: Repository
https://github.com/artm/dotfiles.git(or a fork when I'm someone else)
- Dotfiles: Target Path
~/.config/dotfiles
The articles describe a variation of the technique with the bare cloned repository. I find this cleaner than what my integration does, but Dev Containers doesn't allow to configure how the cloning is performed, so I'm stuck with the non-bare variant.