This is non-trivial, as I still want to be able to run these manually, and there are order-of-operations issues to resolve. It would be nice to conditionally do things in the templates based on what packages are installed, but I'm not sure I want to, as it leads to headaches. Currently, home-manager doesn't run until after the dotfiles are set up, to ensure home.nix was put in place, but this means that anything installed by home-manager isn't available at the time the templates are being processed.
The .chezmoiscripts approach taken by nandalopes seems viable, but this cannot be run manually, unless I write a script to run the .chezmoiscripts explicitly on-demand. Alternatively, I could do the opposite, have the primary source of truth for the scripts be the files in scripts, and call into those from the chezmoi scripts, but I'd likely have to leverage the chezmoi-exec script to pull that off.
This is non-trivial, as I still want to be able to run these manually, and there are order-of-operations issues to resolve. It would be nice to conditionally do things in the templates based on what packages are installed, but I'm not sure I want to, as it leads to headaches. Currently, home-manager doesn't run until after the dotfiles are set up, to ensure home.nix was put in place, but this means that anything installed by home-manager isn't available at the time the templates are being processed.
The .chezmoiscripts approach taken by nandalopes seems viable, but this cannot be run manually, unless I write a script to run the .chezmoiscripts explicitly on-demand. Alternatively, I could do the opposite, have the primary source of truth for the scripts be the files in scripts, and call into those from the chezmoi scripts, but I'd likely have to leverage the
chezmoi-exec
script to pull that off.