Ask HN: How do you install developer tools on a fresh system?
1–10 of 129 posts
Re: Ask HN: How do you install developer tools on a fresh system?
#2Package customizations like a .vimrc is also handled by nix (I recently blogged about how I do this: https://www.mpscholten.de/nixos/2016/05/26/sharing-configura...).
The shell scripts together with the package customizations (e.g. my custom vimrc) are managed by git.
Re: Ask HN: How do you install developer tools on a fresh system?
#3Re: Ask HN: How do you install developer tools on a fresh system?
#4Re: Ask HN: How do you install developer tools on a fresh system?
#5Re: Ask HN: How do you install developer tools on a fresh system?
#6Re: Ask HN: How do you install developer tools on a fresh system?
#7There's a learning curve, and plenty of 'where did my afternoon go?' rabbit holes you can lose yourself in. But the upside is that you can have consistent, repeatable, and rapid builds, with modularity as a bonus.
Don't be afraid with any of these kinds of tools to brute force complex components if you're in a hurry - ie. ignore the pure / idiomatic way, and use the tool's primitives to dump a shell script on a remote box and then run it.
Re: Ask HN: How do you install developer tools on a fresh system?
#8https://chocolatey.org/
Re: Ask HN: How do you install developer tools on a fresh system?
#9Re: Ask HN: How do you install developer tools on a fresh system?
#10For the development itself I'm either shipping my entire config (.vimrc for example) or use systems like spacemacs, sublimious or proton that only need 1 single file to re-install the entire state of the editor.
The install script itself [1] is then symlinking everyhing into place and executes stuff like pip install -r ~/.dotfiles/pip/packages.txt.
It takes a bit of effort to keep everything up to date but I'm never worried of loosing my "machine state". If I go to a new machine all I have to do is clone my dotfiles, execute install.sh and I have everything I need.
On servers I am using saltstack [2], a tool like puppet, ansible and friends, to ensure my machines are in the exact state I want them to be. I'm usually using the serverless version and push my states over SSH to them.
[0]: https://github.com/Homebrew/homebrew-bundle
[1]: https://github.com/dvcrn/dotfiles/blob/master/install.sh