Skip to main content


Anybody have a solution for dotfiles outside /home


on gentoo for example I have accrued a few files under /etc/portage that to my knowledge just have to live there...

right now I basically rely on my backups for this. but maybe somebody knows a clever way to handle this?
in reply to gkpy

Seems like an odd software choice to create actual dotfiles under /etc. Often files there have much the same name as a user's dotfiles but without the dot. Thinking of things like /etc/profile vs ~/.profile and so on.

Without knowing precisely why those decisions were taken (good reason? ignorance? insanity?) it's not clear what steps to take.

Vaguely leaning towards symlinking or hardlinking but precisely what to do and which way around is still unclear.

Are those dotfiles have your user permissions or are they owned by a system account like root?
in reply to palordrolap

Those configuration files are for managing system's package manager, so I don't think $HOME would be a better place.
in reply to alternateved

Then they shouldn't have dots on them (bad design decision) and should be backed up by the system backup/restore mechanism, whatever that might be, not the user's own homedir backup, which is what I assume OP is talking about.

If they're talking about a full system backup including home directories, that's a moot point because I'd expect they'd be included anyway, dot or not.
in reply to gkpy

From lack of a better solution, I would symlink the folder or use stow --target /etc flag if you use stow for managing dotfiles.
This entry was edited (11 months ago)
in reply to gkpy

Not a great solution, but my custom set of functions that synchronize the (dot)files just copy them over into a directory preserving their paths within it e.g. cp /etc/hosts ~/.sysbackups/$(hostname)/etc/hosts
This entry was edited (11 months ago)

georgi doesn't like this.

in reply to Eager Eagle

My script rewrites the paths to --etc--hosts and so on. Avoids creating a giant tree of mostly empty directories. Wish distros came with a default out-of-the-box solution for all this.
in reply to JubilantJaguar

right, for system files I do the minimal approach only select a handful that I wish to keep, so the tree is easy to search into. A system equivalent to $XDG_CONFIG_HOME would be nice though.
in reply to gkpy

I assume by "dotfiles" you simply mean "config files" as there should be nothing in your /etc/portage directory that's hidden. For all configs I want to backup, I just keep a copy of them elsewhere. As for portage stuff, I just copy my make.conf, and everything in each repos.conf and package.* directories.

If you want to simplify a complex solution to an already simple thing, take a look at bare git worktrees.

Linux reshared this.

in reply to eshep

The other portage-relevant file you might want to back up is /var/lib/portage/world, which isn't even in /etc.
This entry was edited (11 months ago)
in reply to nyan

Yes, always backup world if nothing else. How the hell'd I forget that!. I usually symlink it to /etc but then forget I did when updating backups. Worst case, I wind up with a slightly old world file if I need no rebuild.

Linux reshared this.

in reply to eshep

You were probably microfocused on /etc. I've done the same thing in similar situations.
in reply to gkpy

Maybe etckeeper fits your use case? It's specifically built for managing /etc files with version control systems. I can't say much about it since I've never used it, though.
in reply to aurtzy

I'm replying here because I think yours is the right answer (etckeeper), but for other readers I want to note that for Arch Linux in particular, an alternative is aconfmgr.
in reply to gkpy

NixOS does that well. I never quite j managed to figure out a solution to this on other distros (which is actually what led me into making the jump in the end).

lemminer doesn't like this.

in reply to gkpy

There should be no dotfiles outside of home directories so I assume you mean a config file. In those cases, git and symlinks are a great option. Make a config directory in your home dir and organize it however you want. Include config files for the tools you’re interested in, commit them to git for backups and then symlink/hardlink the file to the expected path for the application.

madcow doesn't like this.