Hacker News new | ask | show | jobs
by CamJN 1258 days ago
I was interested in chezmoi, but they don't want you[1] managing files outside your home directory which made it a non-starter. I need to manage /etc/ and /usr/local/ too.

[1] https://www.chezmoi.io/user-guide/frequently-asked-questions...

3 comments

I'm curious about, specifically, which files you (and the sibling commenter) want to manage outside of the home directory. Is it OS package-manager configs?

This is highly dependent on distro, but for any use-cases where editing /etc/ is the recommendation, I have found that either:

(a) It's a development environment thing (e.g. httpd vhosts) & thus I see it as quite separate to "my dotfiles" (a personal machine env thing): I try my best to manage dev env stuff from project-specific repos wherever I can (i.e. a bash script to dispatch required local /etc/ changes in a repo "./scripts" dir or similar), or otherwise if it's a more significant set of configs, Ansible.

(b) It's a specific app that is recommending doing things the "Wrong Way™". There's often a workaround to get it to use $HOME or $XDG.

(c) It's OS package configs. I've found that things like repo & key installs are well suited to chezmoi run_ scripts. For anything more advanced or esoteric, I guess that may be an exception.

regular config files in ~/Library/Application Support/ Sure there are (b) workarounds, including chezmoi templates and run_ scripts with symlinks, but that's cumbersome (and some issues were only resolved recently)
Not sure what you mean? That is in your home directory...
You're right, I confused it with a different issue requiring symlinking "workarounds"
On macOS I often have the need to place stuff in /Library.
What kind of stuff? I'm genuinely curious, as I've never once had to touch /Library manually.
Launch Daemons, mostly
these go in ~/Library/LaunchAgents
Not if they need to run as root
I've been using chezmoi too and this is the only feature I miss. It'd be interesting to know what solutions folks are using. Chezmoi has some discussions around it, mostly recommending to use run scripts.
I haven't needed to keep track of dotfiles per se, but for servers I need to track changes to /etc and for that I use Etckeeper[1]

1 https://wiki.archlinux.org/title/Etckeeper

I didn't discover Chezmoi until seeing this thread (sigh). I developed a tool, filetailor, with an almost identical goal (dotfile management while accounting for differences across machines). It uses Python and YAML, but from what I can tell is similar in concept to Chezmoi.

https://github.com/k4j8/filetailor

One thing I like about filetailor I didn't see in Chezmoi was the ability to surround code with a comment specifying which machines it should be commented/uncommented for. It's easier than templates in some situations.

It works great, but there's probably tons of bugs that occur when used by someone other than me. I don't have a CS background and this was my first big hobby project.

You can use chezmoi to manage files outside your home directory if you really want to.

For an example, see https://github.com/felipecrs/dotfiles:

The `home` directory contains home directory files.

The `root` directory contains root directory files (e.g `/etc`).

I've partially adopted `aconfmgr` for the other stuff, but haven't put in the effort to refine my config, partly because I only have one applicable (arch-based) system at the moment.
they don't want you, but they also "allow you, in theory, to use chezmoi to manage any file in your filesystem, "