Dotfiles are stored in Dropbox, too, which is handy for keeping zsh and Sublime synced.
Ask HN: How do you install developer tools on a fresh system?
51–60 of 129 posts
Re: Ask HN: How do you install developer tools on a fresh system?
#52https://github.com/arianitu/setup-my-environment/blob/master...
The ansible script also links to my dotfiles, which can be found at:
Re: Ask HN: How do you install developer tools on a fresh system?
#53https://chocolatey.org/
Re: Ask HN: How do you install developer tools on a fresh system?
#54I'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…
- System-wide packages, systemd services, users, cronjobs, etc. are managed by /etc/nixos/configuration.nix
- My user profile has one package installed, which depends on all of the tools I want to be generally available (emacs, firefox, etc.). By using a single meta-package like this, I can manage it using git and it makes updates/rollbacks easier
- Each project I work on maintains its own lists of dependencies (either directly in a .nix file, or converted automatically from other formats like .cabal), which are brought into scope by nix-shell
- I also have a bunch of scripts which use nix-shell shebangs, so their dependencies are fetched when invoked, and available for garbage collection once they're finished
Re: Ask HN: How do you install developer tools on a fresh system?
#55Re: Ask HN: How do you install developer tools on a fresh system?
#56I have my configurations on a version controlled puppet repository. This helped a lot, and I'd recommend anybody to forget /etc versioning, and use a proper configuration control system even when it's not exactly a requirement. I'm about to ditch my /etc backups now.
A certain source of pain is software that must be kept up to date. I have Firefox and GHC on this category. Both hurt, but it's not worth it to repackage them.
Re: Ask HN: How do you install developer tools on a fresh system?
#57Setting up tools is quick and easy:
1. Install Nix
2. Copy my config to ~/.nixpkgs/config.nix
3. Run "nix-env -i all"
Re: Ask HN: How do you install developer tools on a fresh system?
#58I 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…
Yes! A new machine is a great time to run a garbage collection cycle on my tools.
Re: Ask HN: How do you install developer tools on a fresh system?
#59From there, I'll setup a ~/bin directory with various scripts as utilitarian. I may source some of them in my profile script.
----
Windows Git for Windows, Git Extensions, ConEmu, Visual Studio (Pro or Community, depending on environment), VS Code. I should look into chocolatey, but admit I haven't. NVM for windows.
----
Linux/Ubuntu generally apt, and ppa's as needed.
----
FYI: I keep my ~/bin symlinked under dropbox, as I tend to use the same scripts in multiple places. I will separate ~/bin/win, ~/bin/osx and ~/bin/bash, and have them in the path in appropriate order... linux/bash being default. I'll usually use bash in windows these days too, and set my OSX pref to bash. It's the most consistent option for me, even with windows /c/...
Re: Ask HN: How do you install developer tools on a fresh system?
#60If 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 b…
You created a Debian installation of yourself. Simply run "apt install josh-core josh-dev...", and Josh will be ready to start developing on the system whenever he is connected.