angerman changed the topic of #haskell.nix to: https://input-output-hk.github.io/haskell.nix - alternative haskell infrastructure for nix; logs at https://logs.nix.samueldr.com/haskell.nix
aveltras has quit [Quit: Connection closed for inactivity]
__monty__ has quit [Quit: leaving]
acarrico has quit [Ping timeout: 240 seconds]
<qz> is there any way to avoid copying whole project dir (with n copies, n = number of packages in project) into nix store on each build?
<qz> it goes with names like ...-source-root-<pkgname>
hekkaidekapus} has joined #haskell.nix
hekkaidekapus{ has quit [Ping timeout: 268 seconds]
alexarice[m] has quit [Ping timeout: 244 seconds]
michaelpj has quit [Ping timeout: 244 seconds]
jonge[m] has quit [Ping timeout: 244 seconds]
ptival[m] has quit [Ping timeout: 240 seconds]
stites[m] has quit [Ping timeout: 243 seconds]
siraben has quit [Ping timeout: 246 seconds]
domenkozar[m] has quit [Ping timeout: 265 seconds]
Ericson2314 has quit [Ping timeout: 260 seconds]
Poscat[m] has quit [Ping timeout: 268 seconds]
siraben has joined #haskell.nix
jonge[m] has joined #haskell.nix
domenkozar[m] has joined #haskell.nix
alexarice[m] has joined #haskell.nix
michaelpj has joined #haskell.nix
stites[m] has joined #haskell.nix
Poscat[m] has joined #haskell.nix
ptival[m] has joined #haskell.nix
ptival[m] has quit [Ping timeout: 258 seconds]
Poscat[m] has quit [Ping timeout: 268 seconds]
michaelpj has quit [Ping timeout: 240 seconds]
alexarice[m] has quit [Ping timeout: 258 seconds]
stites[m] has quit [Ping timeout: 265 seconds]
siraben has quit [Ping timeout: 260 seconds]
jonge[m] has quit [Ping timeout: 244 seconds]
domenkozar[m] has quit [Ping timeout: 244 seconds]
hekkaidekapus{ has joined #haskell.nix
hekkaidekapus} has quit [Ping timeout: 268 seconds]
Ericson2314 has joined #haskell.nix
jonge[m] has joined #haskell.nix
siraben has joined #haskell.nix
ptival[m] has joined #haskell.nix
Poscat[m] has joined #haskell.nix
domenkozar[m] has joined #haskell.nix
michaelpj has joined #haskell.nix
alexarice[m] has joined #haskell.nix
stites[m] has joined #haskell.nix
__monty__ has joined #haskell.nix
<ocharles> mightyby1e: the result of a `cabalProject` call has a `plan-nix.passthru.calculateMaterializedSha` attribute - build that and you'll get a script that you can run
<ocharles> I do `$(nix-build ... -A ..plan-nix.passthru.calculateMaterializedSha)`
<ocharles> Oh, it looks like you might have to look in `stack-nix.passthru.calculateMaterializedSha` - I've not used the Stack support
<ocharles> qz: I don't think so, but have been wondering the same myself. I believe it's due to how cabalCleanComponent works, but maybe that needs improvement
<ocharles> I can regular chew through 100GB store space with repeated evaluations...
srk has quit [Remote host closed the connection]
srk has joined #haskell.nix
srk has quit [Remote host closed the connection]
srk has joined #haskell.nix
<alexarice[m]> are there any examples on how to use the haskell.nix flake? my attempts seem to be building hundreds of packages where swapping in a fetchTarball and --impure seems to only build about 30
fendor has joined #haskell.nix
<alexarice[m]> I think this was because the flake version is missing a cache hit for `nix-tools`
<__monty__> alexarice[m]: Do you have the iohk hydra cache set up? That's usually the first thing to look at when there's caching problems.
<alexarice[m]> __monty__: yes, and it works with the non-flake setup
<alexarice[m]> do I need to do something special for it to work with a flake? I'm quite new to flakes
fendor_ has joined #haskell.nix
<__monty__> Maybe take a look at this, https://github.com/input-output-hk/haskell.nix/pull/972
fendor has quit [Ping timeout: 240 seconds]
<alexarice[m]> thanks, will have a read
<alexarice[m]> this seems more about making your package into a flake, rather than using haskell.nix from a flake?
<__monty__> Possible, it's just the most recent flake thing I remembered.
<qz> ocharles: i'd understand if it happened when using nix-build, but actually this store bloat happens before i get dropped into nix-shell (and that's strange).
<ocharles> Yes, it happens during evaluation, not building
<ocharles> That's when store copying happens
<qz> hrm, i thought nix-shell drops me into shell where all dependencies are built but project itself is not
<qz> why is it necessary to copy whole project directory to store then?
<qz> (let's assume that multiple copies is a bug)
<qz> any clues how to debug where this copying is happening exactly? (i'll try to look into cabalCleanComponent)
<__monty__> Maybe nix-diff?
fendor_ is now known as fendor
acarrico has joined #haskell.nix
igghibu has joined #haskell.nix
igghibu has quit [Client Quit]
<dhess> The haskell.nix flake as-is isn't particularly useful, and needs some work. That PR is just a hack, really, and not suitable for checking in IMO, but it does at least let you follow the haskell.nix nixpkgs pin, which is necessary if you want to take advantage of the IOHK cache
<alexarice[m]> dhess: I thought the flake was already pulling in the nixpkgs source from `sources` so should be using the pinned nixpkgs anyway?
<ocharles> qz: it will be your `src` attribute to your `cabalProject` call
<ocharles> To find out which dependencies your shell needs will require `cabal configure` to run, which needs to run on your src, which ultimately means it has to be copied into the store
<dhess> alexarice[m]: Yes, but you'll want to use the same nixpkgs pin in your flake as haskell.nix uses, and the current haskell.nix flake implementation doesn't make that pin available to downstream projects
<alexarice[m]> right, does `pkgs = haskellNix.legacyPackages."x86_64-linux";` not do enough?
<alexarice[m]> as in how does the other nixpkgs manage to work its way in
<dhess> hmm maybe. I guess if that's all you're doing and you're not adding any overlay yourself that should work
<dhess> or any other flake with its own nixpkgs
<alexarice[m]> dhess: tbh I think I'll just accept that I might have to build `nix-tools`. At least I'm not build ghc
pjb has joined #haskell.nix
fendor has quit [Remote host closed the connection]
fendor has joined #haskell.nix
fendor has quit [Remote host closed the connection]
__monty__ has quit [Quit: leaving]