5 ms·
I have recently started looking into Nix to solve the problem of dotfile deployment to new OSX workstations. When you get a new laptop, you clone your dotfiles,
by ldlework 9y ago
I have recently started looking into Nix to solve the problem of dotfile deployment to new OSX workstations. When you get a new laptop, you clone your dotfiles, maybe symlink them to your home directory -- and then what? Nix solves this problem for me by coupling my dotfile deployment with the installation of the related software.
The learning curve has been absolutely tremendous, however. That said, the support on Freenode has been some of the best I've encountered in more than a decade.
https://nixos.org/nix/manual/#chap-package-management https://nixos.org/nix/manual/#chap-package-management
https://rycee.net/posts/2017-07-02-manage-your-home-with-nix.html https://rycee.net/posts/2017-07-02-manage-your-home-with-nix...
- k__ 9y agoNice. I started using macOS 5 months ago and it felt a bit as a step back coming from Linux. Does Nix work good with macOS?
- jitl 9y agoYep
- kccqzy 9y agoI should mention that on High Sierra there’s a bug with kill(-1, ...) that sometimes causes Nix builds to lock up the whole system.
- wmertens 9y agoAlso, the OS X windowmanager has a memory leak and you have to resart every so often. Yesterday mine was 22GB and after restart <100MB… Nothing to do with Nix, just venting ;-)
- tejasmanohar 9y agoyou have to restart every so often I've never had that happen. Maybe things that don't have to do with Nix... really just don't have to do with Nix ;-)
- jlebrech 9y agoget brew, iterm2, and zsh.
- k__ 9y agoAlready got zsh and brew. Will look into iterm2, thx :)
- k2enemy 9y agoCan you elaborate a bit on how Nix helps you set up your user space? Do you install software with "nix-env -i package" or do you have a declarative way of doing it? If you use nix-env, how is that better than "brew install package"? I'm not doubting your setup, I'm just trying to use nix for the same thing and am having a hard time finding the canonical way of doing a declarative user setup.
- ben0x539 9y agoFor me the part that I'm saying nix-env -i rather than editing a config file and nix-whatever --read-the-config-file-again isn't really a big deal. It's just a cute tool to author and maintain user environments, I'm sure I could, like, define a single package that just depends on and exposes all the packages I actually want installed and call that my declarative user environment but I'm not sure what that's actually gaining me. Declarative or not, I'm still gonna get the advertised benefits of Nix like, say, having some confidence that I got all the dependencies specified properly if my stuff builds, easily customizing packages by overriding specific bits, and coping with arbitrary version requirements really easily. I'm sure someone who's more used to configuring homebrew has a different perspective there, but it definitely seems preferable to taking over /usr/local and rotating things in and out of there as I switch between projects or w/e.