3 ms·
For anyone using homebrew or other package manager, and who has an afternoon free; I'd suggest checking Nix out. It's very nice to define an immutable manifest
by hkjgkjy 10y ago
For anyone using homebrew or other package manager, and who has an afternoon free; I'd suggest checking Nix out. It's very nice to define an immutable manifest and have your system derived from it. If you love pure functions, you'll love Nix.
- stock_toaster 10y agoI hear pkgsrc[1] is pretty decent for osx as well. I keep wanting to try it out, but haven't yet. [1]: https://pkgsrc.joyent.com/install-on-osx/ https://pkgsrc.joyent.com/install-on-osx/
- hkjgkjy 10y agoBrowsed the website for a while, but couldn't find out why anyone would use Pkgsrc over any other package manager. If you know I'd love to hear!
- justincormack 10y agoThe big thing it has is the same packages and experience on any OS, you can install on Linux and the BSDs and it is just the same. Other than that it has pretty much everything you would expect, and lots of packages.
- aorth 10y agoI've been trying to like pkgsrc on Mac OS X for a few years now. The one you link to provides binaries, and is sponsored by Joyent. The main deal breaker for me there is that they only update their packages every quarter (currently 2016Q2), so you have to wait if you want bug fixes, security updates, etc. I just had a look again and found that ffmpeg is one minor version behind behind stable, its binary is annoyingly called "ffmpeg3", and it was compiled somewhere with LLVM 6 / clang 600, versus LLVM 8 / clang 800 on my macOS 10.12 system. I tried to compile it manually (after a shallow clone of their massive, 250,000+ commit git repo), but failed. For me Homebrew does the right thing here — they basically turn my Mac into a rolling release Linux desktop like Arch Linux, which is great for the userland type packages I use: openssh, zsh, tmux, postgresql, ffmpeg, git, vim, rsync, etc.
- jperkin 10y agoI switched from building from quarterly branches to trunk a while ago, so those packages are actually updated with the very latest every few days.
- swsieber 10y agoHow's the package parity? Have you run into any packages you can't find for nix for OS X?
- thinkpad20 10y agoThere are a number of these, but most of the big ones are supported (e.g. emacs, vim, python and most common pypi packages, ghc and most haskell packages, ssh, git, ssl, blah blah blah). The main challenge with supporting OSX is that the closed-source nature and/or proprietary license of a lot of the low-level system libraries, especially for graphical applications, doesn't play very well with nix, which does best with HTTP URLs from which (preferably) source code and/or (failing that) prebuilt binaries can be fetched, the contents of which are deterministic. That said, there are tens of thousands of packages that build on OSX, certainly many more than enough to be a very useful platform for package management, especially when coupled with all of the advantages that nix brings. The downsides are a higher learning curve and occasional missing and/or broken packages.
- hkjgkjy 10y agoThere has been a few times I couldn't find more obscure packages on there. I still keep brew installed on my machine, where those packages are available. Wish there were more friendly (ruby-esque and fun like homebrew) tutorials on how to create packages. I hope to use Nix for go and c programs the same way you use Boot/Lein, Maven, Bundle and Npm for their respective tasks - make a manifest local to a project directory. No more figuring out whatever that library is called in my package manager...
- CJefferson 10y agoI found nix is, unfortunately, not yet a nice Mac citizen. Quite a lot of packages were broken (I fixed 3), but then I found the default nix script (which you are supposed to run every login) broke mercurial, by installing it's own certificate store, and I had to stop using it.
- eridius 10y agoYeah unfortunately Nix sets an env var that breaks the system-provided curl (since the system version doesn't use OpenSSL). I filed a ticket about this a while ago and it's still open.