Live data from Hacker News

Ask HN: How do you install developer tools on a fresh system?

news.ycombinator.com

111–120 of 129 posts

Re: Ask HN: How do you install developer tools on a fresh system?

#111
post #105
post #2

I'm using a shell script together with the nix package manager for that. The shell script just ensures that all packages are there (e.g. doing `nix-env -i fpp wget iterm2 jekyll ghc ruby nodejs composer php`). I can pin the version of all packages by configuring `NIX_PATH` to point to a specific `nixpkgs` (the package repository) commit. So that all people have exact the same versions of everything. Package customiza…

I've recently learned you can put all the packages in one custom Nix expression in ~/.nixpkgs/config.nix, like below, then load (and reload/update/change) it with one `nix-env -i all`, or faster with: `nix-env -iA nixos.all`: # ~/.nixpkgs/config.nix { packageOverrides = defaultPkgs: with defaultPkgs; { # To install below "pseudo-package", run: # $ nix-env -i all # or: # $ nix-env -iA nixos.all all = with pkgs; buildE…

[deleted]

Re: Ask HN: How do you install developer tools on a fresh system?

#112

I don't do fresh installs very often, but when I do, it's generally because I want it to be a genuine fresh install. As such, I don't install a tool until I need it. I find that tools I once thought I absolutely needed are not tools or libraries that I use anymore. I have three exceptions to this: Vim (my editor of choice), dotfiles (which I store in a git repository and put in place using stow, installed via a simpl…

> I don't do fresh installs very often, but when I do, it's generally because I want it to be a genuine fresh install. As such, I don't install a tool until I need it. I find that tools I once thought I absolutely needed are not tools or libraries that I use anymore.

Same. The core tools and libraries I use change more often than my development machine so when switching to a new machine it's a fun time to reassess what I need to install so I'm not carrying any baggage. I think the time automating the installation would be a net loss given how much I'd need it.

The setup required for building projects that I work on are automated using things like Vagrant so outside of that I only really need a few tools anyways.

Re: Ask HN: How do you install developer tools on a fresh system?

#113
post #10

I have my dotfiles for that. Split into different categories (brew, npm, pip) together with all the config files I need. brew and brew cask (with brew-bundle [0] for Brewfile support) take care of getting all libraries and applications onto the system. For 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 t…

I have no strong opinion here, but I am curious to hear yours. What were the discriminators in choosing saltstack over the alternatives? My head spins with these tools and every time I pick one I seem to eventually run into a road block that is a no-go. The most recent effort was ansible and the no-go was its strict dependency on python2.7.

I came from puppet and salt felt a good amount "lighter". I'm mostly a python developer and salt states written in pure yaml with jinja2 templates, or alternatively directly in raw python for more complex stuff feel like home.

The yaml makes it very easy to understand even if I come back to a state after months. It's just a list of things that should happen with a few template tags sprinkled in.

Not saying salt is better than puppet or friends. It's purely based on preference. I can't say anything to chef or ansible since I never tried them. Salt has a crazy active community and while there are things I don't like about it like the "name" of a state, it's still doing it's job just fine so I sticked with it.

Re: Ask HN: How do you install developer tools on a fresh system?

#114
post #48

I recently reinstalled my NixOS laptop. I just installed the distribution, added my SSH keys, cloned a repository, made a handful of symlinks, and then told NixOS to set everything up. It's actually a collaborative repository, so that both of us in our company can improve the computer configuration, install new tools or language runtimes, etc etc. The shared configuration has stuff like: our user accounts and public…

You can use nixOS as a development machine? How did you install a window manager or desktop environment?

Re: Ask HN: How do you install developer tools on a fresh system?

#115
post #48

I recently reinstalled my NixOS laptop. I just installed the distribution, added my SSH keys, cloned a repository, made a handful of symlinks, and then told NixOS to set everything up. It's actually a collaborative repository, so that both of us in our company can improve the computer configuration, install new tools or language runtimes, etc etc. The shared configuration has stuff like: our user accounts and public…

You can use nixOS as a development machine? How did you install a window manager or desktop environment?

Sure! It's a full distribution. You install window managers the same way as any other package. The NixOS manual is quite comprehensive.

Re: Ask HN: How do you install developer tools on a fresh system?

#116
post #48

I recently reinstalled my NixOS laptop. I just installed the distribution, added my SSH keys, cloned a repository, made a handful of symlinks, and then told NixOS to set everything up. It's actually a collaborative repository, so that both of us in our company can improve the computer configuration, install new tools or language runtimes, etc etc. The shared configuration has stuff like: our user accounts and public…

How do you keep track of symlinks?

Manually so far.

Re: Ask HN: How do you install developer tools on a fresh system?

#118

I maintain Ansible playbooks for my own systems should the worst happen.

Just to make sure I understand, your play book isn't for a VM but a host os?

Yep. You can use 'connection: local' for example.

Re: Ask HN: How do you install developer tools on a fresh system?

#119
post #95
post #17

I've found ansible to be okay at setting up my environment. I'm able to configure everything from my zsh themes, terminal font size, window manager shortcuts, thunderbird logins, and so forth. The playbook takes about 30 minutes to run and after that I have almost everything ready. Unfortunately I don't have a public GH repo I can point at as I don't want to expose everything I use to the internet. However the princi…

Have you considered using Gitlab? I really like GitHub, but can't justify the prices right now (just starting out in my career). But while Gitlab isn't as popular, or maybe quite as polished (though it's getting there fast), it does have free private repos. I've used this to store private data like this. Check it out if you haven't already.

I use both GL and GH regularly (I have private repo at GH as well). I'm moving towards GL slowly but my experience is that it is much slower than GH atm.
Post reply on HN