Live data from Hacker News

Ask HN: What do you use to manage dotfiles?

news.ycombinator.com

81–90 of 97 posts

Re: Ask HN: What do you use to manage dotfiles?

#81
I use homeshick (https://github.com/andsens/homeshick), a - as I understand - rewrite of homesick (ruby) in bash.

It needs to be sourced in .{bash,z}shrc and has features like tracking files from multiple repos (so called "castles"), auto-linking, auto-update every X days.

We also use it in our dev team to share some config (and ~/bin) files, works fine.

Re: Ask HN: What do you use to manage dotfiles?

#82

I use Homesick ( https://github.com/technicalpickles/homesick ). It's basically a dotfile manager. Symbolically links your stuff and runs scripts.

There's a fork called homeshick which is a plain-bash rewrite of homesick, so it doesn't have the ruby dependencies (for those who care about that). There might be few differences, though.

Re: Ask HN: What do you use to manage dotfiles?

#84
Payday loans are fleeting cash propels intended to get you through to the following payday. You round out an application giving data about yourself and your salary online for moment endorsement http://www.1monthloan-uk.co.uk/. Once affirmed, a cash development is kept into your financial records the next day. The loan organization will charge installment from your financial records on your next payday.

Re: Ask HN: What do you use to manage dotfiles?

#85

I use vcsh and my, I even wrote a blog post about it: https://srijanshetty.in/technical/vcsh-mr-dotfiles-nirvana/

Me too! Here's my blog-post about it: http://blog.tfnico.com/2014/03/managing-dot-files-with-vcsh-...

I also interviewed the developer some years ago here: http://episodes.gitminutes.com/2013/06/gitminutes-13-richard...

Re: Ask HN: What do you use to manage dotfiles?

#86

I use: git init --bare $HOME/.myconf alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME' config config status.showUntrackedFiles no where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like: config status config add .vimrc config commit -m "Add vimrc" config add .config/redshift.conf config commit -m "Add redshift config"…

Why is this a bare repo as opposed to a normal one?

[deleted]

Re: Ask HN: What do you use to manage dotfiles?

#87

Earlier quoted context omitted.

Because the working tree is already your home folder, you don't need to also have a copy of these files in ".myconf/".

So why use .myconf/ at all? What is it doing?

It contains the files that would normally be in .git (run `git help gitrepository-layout` for more details on the contents).

Re: Ask HN: What do you use to manage dotfiles?

#88

I use: git init --bare $HOME/.myconf alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME' config config status.showUntrackedFiles no where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like: config status config add .vimrc config commit -m "Add vimrc" config add .config/redshift.conf config commit -m "Add redshift config"…

To complete the description of the workflow (for others), you can replicate your home directory on a new machine using the following command: git clone --separate-git-dir=~/.myconf /path/to/repo ~ This is the best solution I've seen so far, and I may adopt it next time I get the itch to reconfigure my environment.

For posterity, note that this will fail if your home directory isn't empty. To get around that, clone the repo's working directory into a temporary directory first and then delete that directory,

    git clone --separate-git-dir=$HOME/.myconf /path/to/repo $HOME/myconf-tmp
    cp ~/myconf-tmp/.gitmodules ~  # If you use Git submodules
    rm -r ~/myconf-tmp/
    alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'
and then proceed as before.
Post reply on HN