Live data from Hacker News

Ask HN: Configuration Management for Personal Computer?

news.ycombinator.com

11–20 of 144 posts

Re: Ask HN: Configuration Management for Personal Computer?

#12
While I have tried to do things with Ansible, it was always more hassle than I could be bothered with for my personal computer. My current answer is use Arch, keep a list of installed packages, and restore a backup (of a subset of directories). I have come to accept that /etc is as good a declarative description of a system as you’re going to get.

Re: Ask HN: Configuration Management for Personal Computer?

#13
It seems like the declarative management approach of Nix or Guix ought to be perfect for this use case. I would like to use it for my personal laptop when I can find some time to play with them and get started. I wonder how smooth and beginner friendly they are.

Re: Ask HN: Configuration Management for Personal Computer?

#14
post #5

For Windows, I use a PowerShell that launches a install of Choco followed by a bunch of Choco installs. For Mac, I have a bash script that installs homebrew then runs a bunch of brew and cask commands, installs xcode utils, and then command lines some App Store installs that aren’t available from cask.

This is helpful for windows/posh driven installs: https://boxstarter.org/

Re: Ask HN: Configuration Management for Personal Computer?

#15
post #12

While I have tried to do things with Ansible, it was always more hassle than I could be bothered with for my personal computer. My current answer is use Arch, keep a list of installed packages, and restore a backup (of a subset of directories). I have come to accept that /etc is as good a declarative description of a system as you’re going to get.

I should point at that I use a single laptop for everything until it’s replaced, and all I need on servers is a subset of my dotfiles, and most importantly my .emacs.d which I additionally store in git. Obviously if you have a workstation in the office and a Mac laptop and a Windows PC for gaming then good luck to you.

Re: Ask HN: Configuration Management for Personal Computer?

#16
It's a really bad idea to toot ones own horn before the horn is ready but I have (always have had) the same problems.

I finally started using Docker with ssh -X so that my host laptop just acts as a X display and the Docker instance is what I "really" work in.

The advantage is that I use docker files (dead simple templates) as my configuration - it's there in git right now. I change it when the thing I am doing gets over the hump of me bothering to add it to git - this means I don't end up with the usual cruft cluttering up my config - things only stay in my machine on reboot if I add them to the templates (which is very simple but at least forced me to think "Do I really want that again"?

Secrets are on a usb stick which means I sometimes get to do this on my wife's Mac - assuming I can chase children off it.

I put together http://www.github.com/mikadosoftware/workstation it does all this and sorta kinda walks you through set up. Someone has sent a pull request with a good fix for ssh passwords but I have put it off thinking I will just get this "last thing here working" and frankly I am ashamed enough of ignoring free contribs that I will probably add it tomorrow on the commute

I am seriously thinking of migrating it over to nix as that does look cool but really I have lots of projects - this one I just use every day.

Edit actually the two biggest advantages are

- that I have a latest and next instance - I can rebuild one while working on the other so instead of rebuilding and reconfiguring every two years its every two days - and I always have a spare instance to work on if the build goes south. I am guessing this will mean moving to a new laptop (yeah one day) will hurts less for the same reason daily releases hurt less than quarterly releases

- I am starting to ratchet up - as it's all scripts in theory my security and other bits and pieces just go up and to the right.

Re: Ask HN: Configuration Management for Personal Computer?

#17
I load my major config files (fish, tmux, emacs) in a CI alpine container[0] and check that they're not broken when i commit them.

If you're on OS X then `brew bundle dump` and `brew bundle install` will also help[1]

[0] circleci config: https://gist.githubusercontent.com/bauerd/27b24d1a3f881fe508...

[1] https://github.com/Homebrew/homebrew-bundle

Re: Ask HN: Configuration Management for Personal Computer?

#20
post #5

For Windows, I use a PowerShell that launches a install of Choco followed by a bunch of Choco installs. For Mac, I have a bash script that installs homebrew then runs a bunch of brew and cask commands, installs xcode utils, and then command lines some App Store installs that aren’t available from cask.

I do this too. It’s worked well for me. I have three macs and six windows machines for work where I like to keep config in sync. I generally assume the scripts work (and they do usually still work, especially on windows). Until they break when I hunt down the problem and fix it.

I’ve gone through a few iterations but for me it’s come down to getting things simpler so there is less to maintain.

Post reply on HN