this post was submitted on 27 Jul 2021
13 points (100.0% liked)

Linux

49436 readers
583 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi all!

Recently, I've been thinking about how to handle my dotfiles again.

I've used chezmoi for a while, and while it's good, I've been wanting something a little lighter.

The simplicity of having my $HOME be a git repository was attractive, but I ran into issues. Specifically, many command line tools I use such as fzf and ripgrep have a feature to automatically ignore in their search results any files which are ignored by a gitignore. This meant I had to either turn this feature off (not ideal) or they wouldn't work any more. Also, the terminal prompt I use also showed I was within a git repository all the time, which was annoying.

Does anyone have an wisdom they'd like to share? If I can't get the $HOME as a git repository working the way I'd like, I may check out GNU Stow, which seems to be the next most lightweight option.

Thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 3 years ago* (last edited 3 years ago) (1 children)

In my dotfile repo, all dotfiles have a comment at the top like:

-- DOTFILE_DEST=.config/nvim/init.lua

The path is relative to home.

Then I have a shell script that goes through all the dotfiles and creates symlinks to the appropriate location.

Honestly it's kinda shit but I spent hours into getting this to work so I stick with it. Sunk cost fallacy. I have been interested in switching to yadm or chezmoi but having to depend on external tools is something I am reluctant to do for something so simple.

I am yet to find a dotfile which doesn't allow comments so this hasn't failed me so far.

This also allows me to rename the file to something more sensible in the context of a dotfile repo. Like I can rename init.lua to nvim.lua.

[–] [email protected] 1 points 3 years ago

nice idea; you could've done this as Ansible module and put the dotfiles in a template repository instead. That way you can separate the "what goes where" from the contents and have different target locations for different systems/distributions.