5 ms·
POSIX (eg. Linux), Mac and Windows. Yes, it is magnificent. Immutable, deterministic software on all 3 major platforms. Combined with cached build artifacts,
by pjkundert 6y ago
POSIX (eg. Linux), Mac and Windows. Yes, it is magnificent.
Immutable, deterministic software on all 3 major platforms. Combined with cached build artifacts, builds and their outputs (including complete target system updates/upgrades) are blisteringly fast, cryptographically secure and completely deterministic.
EDIT: Sorry, yes; Windows only via WSL, not natively on Windows proper.
- mehrdadn 6y agoWindows? You're kidding me! Where do I see Windows support? On their website I only see Mac and Linux.
- exdsq 6y agoYou can use it on WSL1 and WSL2 but you can't use it natively on Windows. I used it on WSL2 just this afternoon and it was seamless but that makes sense because WSL2 is basically just a Linux VM anyway.
- _hl_ 6y agoAlthough I don't see why it wouldn't work on Windows natively. Sure, it would probably need a complete reimplementation to replace all the POSIX stuff with Windows stuff, but fundamentally it ought to be possible?
- exdsq 6y agoSure in theory but there are a few open bugs: https://github.com/NixOS/nix/issues/2651 https://github.com/NixOS/nix/issues/2651 https://github.com/NixOS/nix/issues/2292 https://github.com/NixOS/nix/issues/2292 https://github.com/NixOS/nix/issues/1203 https://github.com/NixOS/nix/issues/1203 There's a locking issue with SQLite and the Sandbox has some namespace issues where Linux and Windows behave differently. I don't know how eager they are to make it work on Windows either, but at least WSL works :)
- matthewbauer 6y agoThe biggest issue IIRC is that Bash doesn't play well with Windows. Things like paths are handled different enough to cause lots of breakage. We could rewrite all of the Bash in Perl or Python, which has better cross-platform support, but that's a lot of work. That said, there have been attempts to get native Windows support: https://github.com/volth/nix-windows/commits/windows https://github.com/volth/nix-windows/commits/windows
- _hl_ 6y agoWhy rely on bash? Windows has Powershell and symlinks, what else is needed to create a nix-style package manager for Windows? I'm not saying it's a good idea, I don't think anyone would really want that, but it could be done.
- Ericson2314 6y agohttps://github.com/NixOS/nix/pull/3185 https://github.com/NixOS/nix/pull/3185 please somebody throw github.com/volth or me money to finish this
- Apaec 6y agoWould it be possible for you guys to team up and do an opencollective campaign for nix on windows? The static-haskell-nix[1] project was successful with this approach. Nix on Windows would be amazing! [1]: https://opencollective.com/static-haskell-nix https://opencollective.com/static-haskell-nix
- Ericson2314 6y agoI cannot speak for Volth, but I am far more pressed for time than money, and largely paid to work on open source as it is, so it's not like that would be dramatically more fun than what I normally do or something. Also I think in the short term this needs a burst of effort rather than trickle of paid maintenance costs: we're firmly in capex not opex territory.
- Apaec 6y agoThere's also a work in progress for a Nix FreeBSD port[1]. [1]: https://reviews.freebsd.org/D17766 https://reviews.freebsd.org/D17766