Live data from Hacker News

Ask HN: Configuration Management for Personal Computer?

news.ycombinator.com

71–80 of 144 posts

Re: Ask HN: Configuration Management for Personal Computer?

#71
I wrote a tool that I've been using for the last few years now.

It uses similar concepts used in Docker (even sharing tech).

https://godarch.com/

https://pknopf.com/post/2018-11-09-give-ubuntu-darch-a-quick...

A deterministic OS, with the package manager of my choosing.

I run the same exact bits on 3 different machines.

Each reboot is a fresh install.

Here are my personal recipes: https://github.com/pauldotknopf/darch-recipes

Re: Ask HN: Configuration Management for Personal Computer?

#72
I use Ansible for that, since it has great support for Windows and Windows is usually more annoying to configure than Linux (you have to disable telemetry, remove dangerous bloat software, etc).

I even have a playbook for setting up a Wintendo machine with the Steam client (big picture mode) replacing Explorer.exe as the shell. If there is interest, I can publish it as open source.

Re: Ask HN: Configuration Management for Personal Computer?

#73
post #72

I use Ansible for that, since it has great support for Windows and Windows is usually more annoying to configure than Linux (you have to disable telemetry, remove dangerous bloat software, etc). I even have a playbook for setting up a Wintendo machine with the Steam client (big picture mode) replacing Explorer.exe as the shell. If there is interest, I can publish it as open source.

Wintendo?

Re: Ask HN: Configuration Management for Personal Computer?

#74
I use a bash install script in my dotfiles that installs all the software I need using homebrew, restores data from a backup and clones various repos.

I always try to keep any application settings that are important in the dotfiles, but the backup (some basic rsync commands) has a bunch more stuff in case I didn’t get around to adding something yet, and have to add it manually afterwards.

I’ve actually had to use it in the past few weeks so it’s quite up to date:

https://github.com/mjgs/dotfiles

Re: Ask HN: Configuration Management for Personal Computer?

#75
post #70

Earlier quoted context omitted.

I remember even in the 90s realizing that the registry was a bad idea. Instead each app should have had its own executable/settings/data folder. I don't understand why they didn't add this.

Exactly. Each app should have it's own directory. It shouldn't pollute outside. Problem solved. Ballmer thought differently. Or most likely didn't think at all.

I wouldn't blame it on Ballmer. All these decisions were made when Gates was in control. the designers of NT and windows 95 had a chance to clean up and didn't do it.

Re: Ask HN: Configuration Management for Personal Computer?

#77

I use Ansible, and it pulls in everything I need, including my dotfiles, which are managed in a separate repo: https://github.com/geerlingguy/mac-dev-playbook

Same here. I have an Ansible role "workstation" that installs/configures 90% of what I want, including cloning and installing the repo with my dotfiles.

Re: Ask HN: Configuration Management for Personal Computer?

#78
My system for multiple Debian and OpenBSD machines:

Configuration files, secrets files, and personal scripts are stored in a git repository. There is a shell script that sets up symbolic links for the configuration files, /etc/hosts file, and crontabs (the machines all back up to each other and to several servers using rsync and hardlink snapshots automatically, in addition to offline media backups). Machine-specific configurations (mostly keyboard and screen) are conditional on hostname and pulled in by symbolic links or templating.

The scripts have some OpenBSD-specific conditionals. Also .profile is conditional on the operating system.

GNU Emacs configuration lives in a separate git repository. EXWM is my window manager on Linux and OpenBSD, which makes things easier. I run different versions of Emacs on different machines (some from the package manager, some built from source). The configuration is conditional on terminal or graphics mode, as well as on X11 specifically. There is also conditional configuration for Mac OS X for when I have to work on someone else's machines.

I do not automate operating system or package installation (I also get new hardware "every couple of years," and all the machines have different software installed), but the installed package list (`apt-mark showmanual` on Debian and `pkg_info -m` on OpenBSD) is part of the backups, so I can restore or bring up a new machine from the list quickly.

Reference and media files are synced with Unison, my personal notes and projects are in git repositories, and mail is synced with offlineimap.

I find the above makes it easy to bring up new machines and, more important, effortless to keep the relevant configurations on multiple machines consistent, while not getting in the way of differences (different software on different machines, software compiled from source vs installed via the package manager).

I plan to start using GuixSD in the near future, and look forward to using it to automate server and virtual machine configuration and provisioning.

Post reply on HN