I’d also like to thanks @wegank a lot for helping out with getting readline working on Windows, so we can (hope to) have a nix repl. That is the final dependency that needed Nixpkgs porting help (since we are skipping lowdown for now).
The number of Nixpkgs PRs and backports for this is rather dizzying, so I won’t link them here :D.
This looks like great starts…
Do we have a project github where we can share on this?
e.g.
- Considering system packages/features (terminology changes between workstation and server versions for no good reason via DISM.exe)
Pursuing is (beta/preview) M$/Pwsh DSC (Desired State Configuration) becomes useful enough to add to Nix on windows.
I think maybe she’s excited about the possibility of an impure Nix module system for Windows, like Nix-Darwin is for macOS, where the parts that require configuring the underlying OS could rely on DSC.
But yeah, DSC is like Puppet or Chef. It’s an interface for defining configuration options that can be invoked declaratively, but it’s basically powered by bits of PowerShell scripts and it’s on the authors of DSC modules (or whatever they’re called) to ensure those scripts behave idempotently.
wait, wasn’t Moby Dick a sperm whale this is great news - is there a “quick start” for someone having never done it to get what you’ve accomplished setup on Windows? I can fumble around in the dark but probably won’t find it. Anyway, very exciting.
so I finally got around to reading chapter 36 and Moby Dick is a “white whale” indeed and this I found I had to share −
If man will strike, strike through the mask! How can the prisoner reach outside except by thrusting through the wall? To me, the white whale is that wall, shoved near me. Sometimes I think there’s naught beyond. But 'tis enough. He tasks me; he heaps me; I see in him outrageous strength, with an inscrutable malice sinewing it (p. 267)
Still haven’t got nix working in Windows (following Qknight post get an error when I go ahead and :b packages.x86_64-linux.nix-x86_64-w64-mingw32 but no worries. As Ahab says “God bless ye” for working on this. Good things are coming
libnix fixPath - fixPath is a tool to modify the path to a certain DLLs (Dynamic Shared Objects) for Microsoft Windows Executables by rewriting parts of the executable’s PE header, when the .fixPath section is present and indicates support for such rewrite, but without having to realign the PE headers. In concept, it is similar to patchelf but instead of changing search paths, fixPath hard-codes each DLL to a particular filepath.
see fixPath project page:
https://github.com/nixcloud/fixPath
release with prebuilt fixPath.exe tool + test program:
libnix roadmap contains a summary of items we need to get done in order to port a minimal nix to windows and use cargo cross platform to utilize the /nix/store instead of ~/.cargo and target/ folder.