Live data from Hacker News

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

news.ycombinator.com

31–40 of 129 posts

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

#32
I have a repository[0] that holds all my configuration and installs some language-specific tools. Otherwise I just manually install any packages I need. I may consider automating this at some point but I don't use that many tools so it hasn't been particularly onerous.

[0] https://github.com/michaelmior/dotfiles

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

#33
post #14
post #7

Use a configuration management tool (I picked https://saltstack.com/ , mostly because of the docs & community support) but there's lots to choose from - Chef, Puppet, Ansible, and so on. There'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 wit…

I've found with Ansible at least, I was initially tempted to make large complicated roles for things like "application server" or "development desktop" but what ended up working much better was very granular roles such as "nginx server" and "emacs" (often just a single task such as "yum: name=nginx state=installed") that can be combined in playbooks. This makes it easier to avoid duplicating tasks in different roles,…

This is the "roles and profiles pattern" in puppet, it generally makes sense.

Also, +1 for using CM to set your workstation back up, I really need to get around to writing some Puppet manifests to do that for mine

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

#35

I have a repository[0] that holds all my configuration and installs some language-specific tools. Otherwise I just manually install any packages I need. I may consider automating this at some point but I don't use that many tools so it hasn't been particularly onerous. [0] https://github.com/michaelmior/dotfiles

ditto

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

#36

I have a repository[0] that holds all my configuration and installs some language-specific tools. Otherwise I just manually install any packages I need. I may consider automating this at some point but I don't use that many tools so it hasn't been particularly onerous. [0] https://github.com/michaelmior/dotfiles

ditto. In addition to dot files, my repo has a `system_setup.sh` which installs everything that can be installed on the command line and sets up symlinks and and and. Every time i add a new tool to my arsenal (brew install x usually) i also add it to that file. This repo means i can be up and running on any new system in under 30 mins. Most of that time is for some manual downloads, and git checkouts I have to do too.

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

#37

That's a very good reason to only install apps with a real package installer. On OSX, this is a no-brainer with brew[1] and brew cask[2] # On my old mac $ brew list $ brew cask list => then I save relevant parts for future references brew install npm brew install zsh brew cask install sublime-text brew cask install google-chrome brew cask install intellij-idea [1] http://brew.sh/ [2] https://caskroom.github.io/

>brew list

Protip: "brew list" will list all installed packages, including dependencies, which you might not want. What you probably want is "brew leaves", where it lists all installed packages that are not dependencies of another installed package.

This makes a difference in cases where a dependency is no longer needed in the latest version.

On a related note, why does the majority of package managers make the common and simple task of "list all manually installed packages" so incredibly hard?

For a fun brain twister, try to list all the manually installed packages on your system by just reading the man pages and no internet. Ubuntu is nightmare mode for this challenge.

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

#38
I use Ansible to install all my desktop basically. This coupled with my dotfiles (that includes a bash for gnome configuration) makes my workstation ready in 15 minutes or so.

This is my Ansible repo for reference: https://gitlab.com/edgard/ansible-ubuntu

And dotfiles: https://gitlab.com/edgard/dotfiles

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

#39
post #25

Question: why are you doing a fresh install? If you install everything through your package manager, you don't need a fresh install to clean things up. My operating system has lived through several different machine upgrades. I just do a `cp -a` to copy the files from one hard drive to another, set up the bootloader and go.

Theoretically that may be the case, but its far from reality.

The cases where it diverges from reality generally give me more reason to use `cp -a` to install the new system, rather than less.

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

#40
If you consistently use the same Linux distribution, consider building metapackages for that distribution.

I created a set of Debian packages that depend on suites of packages I need. I download and install "josh-apt-source", which installs the source in /etc/apt/sources.list.d and the key in /etc/apt/trusted.gpg.d/ , then "apt update" and "apt install josh-core josh-dev josh-gui ...". That same source package also builds configuration packages like "josh-config-sudoers".

Post reply on HN