worldofpeace_ changed the topic of #nixos-dev to: #nixos-dev NixOS Development (#nixos for questions) | NixOS 20.03 BETA Announced https://discourse.nixos.org/t/nixos-20-03-beta/5935 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 19.09 RMs: disasm, sphalerite; 20.03: worldofpeace, disasm | https://logs.nix.samueldr.com/nixos-dev
<adisbladis> andi-: That still hasn't found it's way to master :(
<andi-> OHH staging, right
<andi-> I must say, even with typings that code needs a lot of rewriting... It smells like shell scripts copy&pasted into Python
<gchristensen> I am quite certain it is
abathur has quit [Quit: abathur]
<samueldr> right, so my earlier gut feeling is panning out, the nix-daemon running affects the outcome of hydra-eval-jobs https://github.com/NixOS/nixpkgs/issues/83647#issuecomment-606962446
<samueldr> with this it should be possible to bisect the issue
<gchristensen> ouch
<gchristensen> nice find
abathur has joined #nixos-dev
teto has quit [Ping timeout: 252 seconds]
<abathur> :)
<ryantm> Yay!
<gchristensen> ryantm: I am glad your bot was setup to limit itself again :)
<ryantm> It's been sitting idle for 21 hours. I need to make it queue PRs.
<ryantm> Then I'll need my own Grafana instance of queued PRs :)
<cole-h> Seeing the graph of queued evals shrink is just so... calming
tilpner_ has joined #nixos-dev
tilpner has quit [Read error: Connection reset by peer]
tilpner_ is now known as tilpner
edwtjo has joined #nixos-dev
edwtjo has joined #nixos-dev
edwtjo has quit [Changing host]
drakonis has quit [Quit: WeeChat 2.7.1]
justanotheruser has quit [Ping timeout: 272 seconds]
lovesegfault has quit [Ping timeout: 252 seconds]
FRidh has joined #nixos-dev
FRidh has quit [Ping timeout: 256 seconds]
FRidh has joined #nixos-dev
cole-h has quit [Ping timeout: 265 seconds]
multun has quit [Ping timeout: 265 seconds]
cole-h has joined #nixos-dev
<FRidh> most irreproducible builds are python packages due to https://github.com/pypa/pip/issues/7808
<nix-build> pypa/pip#7808 (by FRidh, 4 weeks ago, open): pip install no longer reproducible
multun has joined #nixos-dev
justanotheruser has joined #nixos-dev
orivej has quit [Ping timeout: 265 seconds]
cole-h has quit [Quit: Goodbye]
Guest62967 is now known as sphalerite
klys has quit [Quit: Lost terminal]
justanotheruser has quit [Ping timeout: 246 seconds]
justanotheruser has joined #nixos-dev
<domenkozar[m]> wow quite a day yesterday
tdeo has quit [Remote host closed the connection]
tdeo has joined #nixos-dev
tdeo has joined #nixos-dev
tdeo has quit [Changing host]
klys has joined #nixos-dev
__monty__ has joined #nixos-dev
tilpner has quit [Quit: tilpner]
tilpner has joined #nixos-dev
FRidh2 has joined #nixos-dev
FRidh has quit [Ping timeout: 264 seconds]
qyliss has quit [Quit: bye]
qyliss has joined #nixos-dev
teto has joined #nixos-dev
<timokau[m]> Does anyone know why this `with pkgs` (`pkgs` is undefined) does not raise an error? Very surprising to me.
<gchristensen> it should ...
<gchristensen> is that in a PR or master?
<timokau[m]> PR
<nix-build> #79343 (by Flakebi, 7 weeks ago, open): rgp: init at 1.7.0.29
<timokau[m]> ofBorg says its fine, `nix-review` passes
<adisbladis> With bindings are pretty surprising...
<adisbladis> > let foo = "bar"; in with { foo="baz"; }; foo
<nix-build> "bar"
<andi-> it is never neede dsince all the things are in scope?
<timokau[m]> Yeah but this is not some sort of trickery, its a very obviously undefined variable
<gchristensen> nix-repl> i = "hi"
<gchristensen> nix-repl> with pkgs; i
<gchristensen> error: undefined variable 'pkgs' at (string):1:6
<timokau[m]> Yeah it is never needed, that may be it
<adisbladis> timokau[m]: Which never has to be evaluated
<timokau[m]> Didn't expect it to be lazily evaluated
<adisbladis> Maybe unpopular opinion: Ban use of with in nixpkgs
<gchristensen> I feel pretty good about that
<gchristensen> I feel really confident that it should be an error :P
<adisbladis> "Only" about 35k with's used in nixpkgs
<adisbladis> ^ Not scientific, just grep
<andi-> Banning might go a bit too far.. it provides a nice way to graps modules better.. think about all the lib.types.somethings out there.
<etu> adisbladis: They are fine for stuff... like... meta :p
<gchristensen> inherit (lib.types) str foo bar;
<andi-> sure, you can do that as well
<timokau[m]> gchristensen: Good about what?
<Profpatsch> adisbladis: not unpopular
<timokau[m]> I agree this case should be an error, its taking laziness a bit far
<Profpatsch> I’m already banning it pretty much everywhere. inherit () is a thing
<adisbladis> etu: Well... You get used to it and then it blows up in your face
<adisbladis> <3 Profpatsch
<nix-build> Profpatsch's karma got increased to 13
<gchristensen> timokau[m]: like I literally can't make it not fail, I don't know why ofborg isn't
<adisbladis> I do the same
<gchristensen> timokau[m]: I know why it isn't failing
<gchristensen> timokau[m]: license = licenses.unfree;
<etu> adisbladis: well aware :)
<qyliss> maintainers = let inherit (maintainers) qyliss adisbladis; in [ qyliss adisbladis ]; :P
<andi-> Same here but weh should ahve a better line of argumentation then "5 random people disliked it for unspecific reasons"
<timokau[m]> gchristensen: But that shouldn't stop eval from being tested?
<etu> qyliss++ :D
<nix-build> qyliss's karma got increased to 44
<gchristensen> andi-: I can give you a really good set of reasons
<gchristensen> timokau[m]: evaluation fails because the license check fails before calculating the drv
<gchristensen> andi-: with reasons;
<andi-> ....
<gchristensen> =)
<etu> That's such a nix-joke
<yorick> inherit (lib) *;
<timokau[m]> gchristensen: Ah, so we're not even building the derivation for unfree things? I thought we just didn't realize it
<gchristensen> timokau[m]: yeah, it fails very early in the evaluation
<NinjaTrappeur> adisbladis: ban with from the language?
<adisbladis> NinjaTrappeur: Nah, that would be impossible.
<andi-> Only if we ban __overrides, exec, ...
<adisbladis> Just within nixpkgs
<adisbladis> And let it trickle out
<NinjaTrappeur> I'm pretty sure it's a sub 20 diff :P
<qyliss> Not to all the user code
<adisbladis> qyliss: takeAttrs = attrSet: attrs: map (a: attrSet.${a}) attrs
<adisbladis> takeAttrs lib.maintainers [ "qyliss" "adisbladis" ]
<qyliss> Oooh I like it
<timokau[m]> gchristensen: Mh that's not ideal. But at least it explains the mystery, thanks!
<NinjaTrappeur> qyliss: that was meant as a joke
<qyliss> ah, gotcha
<tazjin> adisbladis: not really equivalent because of nested attribute sets, so you'd have to use a deep lookup function
<qyliss> We have one of those I think?
<tazjin> yeah we do
<gchristensen> I'm thinking we should just use `with` in cases like this
<adisbladis> tazjin: Nested with as a big reason I want to ban them.
<tazjin> but it's more expensive, maybe we don't care
<adisbladis> It's impossible to reason about which set you're picking from.
<gchristensen> and ban them in large-scoped uses using good taste
<timokau[m]> gchristensen++
<nix-build> gchristensen's karma got increased to 249
<yorick> I really like doing options.services.asdf = with lib;
<timokau[m]> The other suggestions here seem like "with with extra steps"
<pie_[bnc]> ahahaha <gchristensen> andi-: with reasons;
<pie_[bnc]> I would be open to something like this, would probably solve 99% of cases? <yorick> inherit (lib) *;
<gchristensen> the good thing about banning it with good taste is we can start immediately :)
<adisbladis> pie_[bnc]: Nooo!
<yorick> pie_[bnc]: it wouldn't help
<pie_[bnc]> it wouldnt?
<pie_[bnc]> so `with` requires the way with is evaluated?
<tazjin> adisbladis: I think edef has experimented with a `with` specialised to lambdas, e.g. `fooWithPackages: (with: [ bar baz])`
<gchristensen> oh nice
<tazjin> that's my primary with-use-case fwiw
<adisbladis> That firmly falls in to the "good taste" bucket :)
<adisbladis> But I'm still not 100% convinced that it can't be solved with something like my takeAttrs function I pasted.
<pie_[bnc]> (i think the language is stuck and nothing will ever change, so we should find some good ways to paper over it :P)
<gchristensen> fire.jpg
<pie_[bnc]> bring the asbestos
<pie_[bnc]> we can contain him, we have the technology
<adisbladis> pie_[bnc]: We can enact the change we want to see in nixpkgs on a policy-level
<adisbladis> (see the unquoted url rfc)
<adisbladis> No one expects it to be removed from the language
<pie_[bnc]> adisbladis: I mostly agree and have been feeling a lack in policy decisions (that agree with what I want >:P :D)
<pie_[bnc]> on which note, would be nice if we had a linter.
<pie_[bnc]> s/on which/on a related/
<pie_[bnc]> I imagine reviewers make sure unnecessary with-s dont end up in nixpkgs anyway
<adisbladis> Haha, you're funny....
<pie_[bnc]> oh.
<pie_[bnc]> I was about to say; the problem seems to be more surprising yourself as you go?
FRidh has joined #nixos-dev
<pie_[bnc]> if he type of licenses was changed to an attrset you could just use inherit and maintain conciseness
FRidh2 has quit [Ping timeout: 256 seconds]
<pie_[bnc]> well, nevermind.
<pie_[bnc]> I think a lot of usages of with are because people saw it used similarly somewhere.
<adisbladis> nixpkgs is soo much copy & paste
<gchristensen> its pretty great though
<gchristensen> things might not be consistently pretty, but wow people can get stuff done
<adisbladis> gchristensen: I was trying to make an argument for policy change actually being meaningful
<gchristensen> oh for sure
<gchristensen> yeah definitely
<gchristensen> +1 :)
<adisbladis> 1683 files on nixpkgs master using `with` in the first 5 lines
<adisbladis> Arbitrary metric, but whatever
<pie_[bnc]> with nixpkgs;
<pie_[bnc]> xD
<pie_[bnc]> adisbladis: can you aggregate them
<pie_[bnc]> theres probably a bash onliner or something :p
<srk> maybe we could try removing some of them automatically :D
<adisbladis> pie_[bnc]: http://ix.io/2ger/text
<pie_[bnc]> adisbladis: i meant the instances of with usages 'x)
<adisbladis> Oh :)
* pie_[bnc] is trying right now but not superb at bash
<gchristensen> /!\ can I get as many people as possible to run this and send me the pastebin'd output? https://gsc.io/content-addressed/ab9f2149647bc178d75f8157c8eec084e13daf775a2c8212004641017bddb034.sh /!\
<gchristensen> in your pastebinned output, please include where you are physically
<tilpner> gchristensen: https://tx0.co/gdk
<gchristensen> thanks, tilpner
<gchristensen> thanks, srk
<niksnut> all 0, sha256-X1cmrtxXmar4P1L+Om7edBeo3I8lEx9dyX2Ti4Z6LQY=
<srk> uh, physically Czech Rep.
<gchristensen> thanks cransom, niksnut, michaelpj
<timokau[m]> gchristensen: http://sprunge.us/WAbpP5 (Germany)
<timokau[m]> What's the motivation here?
* cransom assumes checking cdn
<gchristensen> nixpkgs#83971
<nix-build> https://github.com/NixOS/nixpkgs/issues/83971 (by peti, 1 hour ago, open): Current ghc-8.8.3 has been corrupted in Hydra cache
<simpson> Dunno, but we should turn it into monitoring if this is useful. All zeroes here in Portland: https://bpaste.net/3HKQ
<abathur> plausible/meaningnful to add a syntactic alternative to `with`, let's call it `from`, that *only* supports selecting from the target set (all others are errors)?
<simpson> abathur: .
<timokau[m]> Also here's a one liner, in case people like piping straight from curl into bash (I know people love that)
<gchristensen> thank you, simpson!
<abathur> s/with/from, rollback anything that breaks
<MichaelRaskin> gchristensen: Germany / Bavaria / Landkreis Ebersberg Gemeinde Poing (near Markt Schwaben)
<gchristensen> simpson: something like the RIPE ATLAS Probes, but for NixOS infrastructure testing? :)
<gchristensen> thanks MichaelRaskin!
<MichaelRaskin> Do you want the same on OVH Strasbourg, or has someone already tried?
<gchristensen> please
<simpson> gchristensen: Yeah. I've been sketching something like this; I'm no longer employed, so I no longer have to wait to build it. The idea is to integrate information at each meaingful machine/locus, rather than just sending metrics up constantly; a machine might know an approximation rather than a true value.
<simpson> Observing a Nix store would be just one facet of integrable data, I'd hope.
<gchristensen> that would be cool :D
<gchristensen> simpson: although I am sorry to hear you're no longer employed :( I hope that you can turn that around quickly
<simpson> Meh. I'm in no rush. I'm tired of corporate work. Maybe I'll find a co-op position somewhere.
<cransom> gchristensen: `curl -si https://cache.nixos.org/ | grep x-served-by` may also be handier than physical location for future requests.
<gchristensen> oh cool good idea cransom
<MichaelRaskin> http://dpaste.com/0HZFC72 OVH Strasbourg DC
<gchristensen> okay, thanks everyone :)
<gchristensen> hopefully peti comes back with more information
<MichaelRaskin> Are you actually trying to check the checksums of NARs?
<MichaelRaskin> I could manually run something from Moscow (no Nix installation there, though)
<gchristensen> just trying to see if people are getting weird results. if you could send the hash ofthe narinfo and the nar itself, that'd be great
<MichaelRaskin> Can you give me URLs?
<gchristensen> qsure
<tilpner> Hmm, can't get it to match any more
<tilpner> Oh, wait
<tilpner> NarHash matches
<tilpner> So does FileHash
ixxie has joined #nixos-dev
<tilpner> Check with nix-hash --type sha256 --base32 --flat foo.nar{,.xz}
<MichaelRaskin> Moscow: X-Served-By: cache-bwi5141-BWI, cache-hel6834-HEL 6d815c085fa18f2fb598199d8f5ccea9e7c6b97228dd9836ee233ef93d8a198a (nar.xz) 6b3c238ebcf1f3c07cf0e556faa82c6b8fe96840ff4b6b7e9962a2d855843a0b (narinfo)
<MichaelRaskin> OVH Stransbourg served-by: cache-bwi5142-BWI, cache-ams21041-AMS, Bavaria served-by: cache-bwi5124-BWI, cache-hhn4024-HHN
<tilpner> MichaelRaskins FileHash matches, when converted to base32
<gchristensen> thank you everybody for the quick action :)
drakonis has joined #nixos-dev
<gchristensen> thank you!
<adisbladis> gchristensen has figured out distributed computing
<gchristensen> using IRC as a command-and-control API like the best malware
rsa has quit [Ping timeout: 256 seconds]
<cransom> graham working on `CTCP <nick> nix-build mything`
orivej has joined #nixos-dev
justanotheruser has quit [Ping timeout: 246 seconds]
edef is now known as edeg
edeg is now known as edf0
edf0 is now known as edef
justanotheruser has joined #nixos-dev
ixxie has quit [Ping timeout: 240 seconds]
cole-h has joined #nixos-dev
<marek> any suggestions for a CI with WSL2 support that I could run NixOS on?
<gchristensen> huh
FRidh has quit [Ping timeout: 250 seconds]
FRidh2 has joined #nixos-dev
__monty__ has quit [Ping timeout: 256 seconds]
__monty__ has joined #nixos-dev
Jackneill has quit [Remote host closed the connection]
Jackneill has joined #nixos-dev
<FRidh2> does nix flake somewhere keep some state? I keep getting an error printing a name that is not used at all in that folder
<FRidh2> found it, the local registry ~/.config/nix/registry.json
<FRidh2> suppose it was due to a format change
<FRidh2> edition was changed
<cole-h> First nix-errors-enhancement PR is up 👀 nix#3466
<nix-build> https://github.com/NixOS/nix/pull/3466 (by bburdette, 4 minutes ago, open): nix-errors-enhancement - error format demo
<drakonis> woah.
<drakonis> nice.
ixxie has joined #nixos-dev
<gchristensen> wooot! domenkozar[m]++ and bburdette++, not sure if they're on IRC :)
<nix-build> domenkozar[m]'s karma got increased to 11
<cole-h> domenkozar[m]++ indeed
<nix-build> domenkozar[m]'s karma got increased to 12
<drakonis> domenkozar[m]++
<nix-build> domenkozar[m]'s karma got increased to 13
<drakonis> will that get ported to rust if nix starts to absorb more rust?
<cole-h> It's already a port of the Rust example he made to C++... :P
<drakonis> nice.
qyliss has quit [Quit: bye]
qyliss has joined #nixos-dev
<domenkozar[m]> \o/
<ashkitten> hmm, does our build of dotnet not include wpf?
<drakonis> ahh today's the second marketing meeting
<drakonis> if that hasnt already taken place
ixxie has quit [Ping timeout: 256 seconds]
lovesegfault has joined #nixos-dev
<drakonis> tonight is april fools
<drakonis> TONIGHT WE DANCE... IN HELL
<drakonis> niksnut: did the pdf for your thesis get regenerated? the dates point to 1978
<drakonis> oh, nevermind.
<niksnut> I moved them to a git repo so the dates got reset to now
<drakonis> fair enough.
<lovesegfault> Is hydra still broken?
<niksnut> broken?
<drakonis> held up?
<lovesegfault> By broken I mean: Is nixpkgs still failing to eval?
<lovesegfault> (I have a new keyboard and my typing ability with it is low, so I may be slow to respond)
<drakonis> that happens to all of us
<nix-build> #83647 (by FRidh, 3 days ago, open): Evaluation error is blocking jobsets
<samueldr> I'm actually re-validating what I found
<cole-h> lovesegfault: PRs are getting green checkmarks again, so I think it's fine
<lovesegfault> cole-h: That's ofborg, not hydra; no?
<cole-h> ^^ Yep
<cole-h> Misread, sory
<cole-h> +r
<lovesegfault> no worries, I know ofborg was _also_ having issues this week
<samueldr> ah, then at least it's confirmed to stem from the same issue
<samueldr> (responding to the last comment on the issue)
<niksnut> there are 2 issues
<niksnut> nix putting a large buffer on the stack
<niksnut> and nixos 20.03 creating a 10 MB .drv file
<niksnut> probably the latter can be fixed by using toFile
<gchristensen> :O
<samueldr> has it been explored whether it was creeping up to 10MB or if it was a sudden change?
<lovesegfault> A 10MB drv, amaze
<domenkozar[m]> that's 7 floppy disks of build instructions
<drakonis> that's nearly two dooms!
<gchristensen> the Texas / Bavaria of drvs
<drakonis> that's two doom sharewares!
<LnL> the size of drvs has been creaping up over the last few releases
<LnL> I have a graph of that somewhere
<niksnut> samueldr: afaik it's a sudden change, at least I don't see any .drvs of that size in my store
ixxie has joined #nixos-dev
<niksnut> right, in 19.09 there was an options.xml
<niksnut> rather than options.xml.drv
aminechikhaoui has quit [Quit: Ping timeout (120 seconds)]
aminechikhaoui has joined #nixos-dev
v0|d has quit [Ping timeout: 264 seconds]
ixxie has quit [Ping timeout: 240 seconds]
<globin> niksnut: __structuredAttrs or passAsFile should probably be able to work around that?
tilpner has quit [Read error: Connection reset by peer]
tilpner has joined #nixos-dev
<drakonis> https://github.com/NixOS/nixpkgs/pull/10851/ this should be revived
<drakonis> its extremely useful
<gchristensen> it requires really strict rules about nixpkgs' structure that I'm not sure we can safely depend on it
<gchristensen> what should it be revived for?
<drakonis> security patches on core pieces without engaging on mass rebuilding
<drakonis> allow dropping in dependencies for packages, when available.
<drakonis> allowing it would require some oversight when doing pulls for important pieces at least
<drakonis> the only way to successfully use it would be through running a stricter subset of nixpkgs
<infinisil> #10851
<nix-build> https://github.com/NixOS/nixpkgs/pull/10851 (by nbp, 4 years ago, closed): Shipping Security Updates
<drakonis> i've seen guix only use grafts for urgent security patches
<gchristensen> I'm not sure we really need it, we can get rebuilds out sufficiently quickly
<drakonis> and redirect packages to another
<gchristensen> and I'm not sure the complexity is worth it for that
<drakonis> to be fair, its useful for smaller changes
<drakonis> not just avoiding mass rebuilds.
<gchristensen> yea
<drakonis> plus it can be useful outside of nixpkgs when you dont have hydra
<drakonis> i wouldnt want to be caught having to mass rebuild without the nixpkgs build farm
dongcarl has quit [Ping timeout: 264 seconds]
<drakonis> and let's be honest, hydra can lock up some times
<niksnut> globin: I don't know exactly what the issue is, but usually if options.xml has a dependency on something, you need to use literalExample to suppress it
<drakonis> if hydra gets jammed during another heartbleed exploit, it wouldnt be super fun to be unable to bump up a version for a few days
<gchristensen> even in its worst case, we can unbreak things and get a release out in <24h, when the typical release target is 14 days
<drakonis> i see.
<drakonis> well, okay.
<gchristensen> that release target is set by openwall's linux-distro embargo'd list criteria
<drakonis> neat.
<gchristensen> I think being able to graft two things together would be great
<gchristensen> I'd be interested in a way to do it with `nix` the CLI, though
<drakonis> likewise.
<drakonis> guix's cli lets you graft different sources on the fly
<gchristensen> nice
<drakonis> `guix build --with-input=guile=guile@2.0 guix` and `guix build --with-graft=gnutls=gnutls@3.5.4 wget`
<drakonis> for examples
<gchristensen> interesting
<drakonis> speaking of CLI, executing nix scripts as commands a decent idea?
<drakonis> there's currently a lot of extra tooling existing outside of the sphere of influence of the main CLI that has to be executed as separate binaries
<drakonis> ie: home-manager, nixops, the importers
<drakonis> nix home/user <command>
<drakonis> hand it off to home-manager's CLI?
<drakonis> https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html there's some more things guix does here
<drakonis> but they're a bit more extra here
ekleog has quit [Quit: WeeChat 2.7.1]
ekleog has joined #nixos-dev
<Ericson2314> FRidh: I was learning about python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html, what do we do, if anything about these?
<pie_[bnc]> Ericson2314: 1) my wild guess is probably nothing 2) the link is not clickable :PP
* pie_[bnc] clicks
<pie_[bnc]> this is sounding like a good article to have
<Ericson2314> hmm firefox does seem to be giving me this fucked up URls lately, though I can click
<Ericson2314> there must be some official documentation on this, but perhaps it is less honest about the problems that arise
<drakonis> i think i missed out on a phrase here
<pie_[bnc]> ok the length of that page is scary
<drakonis> have a nix script that wraps other nix tools that can be added to the CLI
<drakonis> that's just the comments
<drakonis> its a bigger than half the page
<pie_[bnc]> i really feel like we should have some sort of domain experts phonebook for nixpkgs :V
<FRidh2> Ericson2314: this isn't anything surprising to me. Indeed, the official docs might not be explicit about these traps but its not something new nor something we need to deal with; we just consume Python packages "as usual"
rsa_ has joined #nixos-dev
<FRidh2> for namespace packages there is a new hook that cleans that up when needed, but it's very rare that it is needed
<Ericson2314> FRidh2: so i have noticed e.g. trying to get google packages like protobuf working with 1 and 2
<Ericson2314> sometimes I get like "missing thing called `google` errors"
<Ericson2314> * "missing thing called `google`" errors
<FRidh2> I'm not familiar with these so-called errors, but protobuf is working fine, not?
<FRidh2> oh wait you mean it wasn't able to import the google package ok
<FRidh2> well, maybe they're namespace packages, those can indeed still be tricky
<FRidh2> especially PYTHONPATH does not work well with them
<FRidh2> at least the legacy namespace packages. pep 420 namespace packages work fine
<Ericson2314> FRidh2: yes the namespace packages was thing I meant to link within there
<Ericson2314> it seems like it is hard to have an open/extensible subnamespace and support both python 2 and 3?
<Ericson2314> I really do not know about these things, just grasping at ideas after seem build failures and not knowing what to blame
<FRidh2> it can work fine, as long as one is consistent, that is, uses the same implementation method within the namespace
<FRidh2> but the old ways (pkgutils, pkg_resources) may not work well with PYTHONPATH, which is what we use at build-time. `export NIX_PYTHONPATH=$PYTHONPATH` should resolve that though
<FRidh2> but supporting both 2 and 3...poor you :)
<pie_[bnc]> looks like packages.html got some upgrades, but hte source code link is missing?
<samueldr> ??
<samueldr> the "Nix expression" link?
<pie_[bnc]> yeah
<pie_[bnc]> :/
<Ericson2314> hahah yes poror me. Thanks for the info FRidh2
FRidh2 has quit [Quit: Konversation terminated!]
<drakonis> where did the C manpages go now?
<drakonis> why do we have two separate manpages packages?
<tilpner> The posix manpages aren't really useful if you're not developing something with posix-compatibility in mind
<drakonis> i dont want the posix manpages tho
<drakonis> i want the c library manpages
<tilpner> E.g. which man page?
<drakonis> any
<drakonis> they're not showing up here
<tilpner> You have no manpages at all?
<tilpner> How did you install them?
mkaito- has joined #nixos-dev
<drakonis> with nix-shell
manveru_ has joined #nixos-dev
<drakonis> ah, it seems that it only showed up after i explicitly included it into the system environment
<drakonis> or not
<drakonis> nvm here we go
__monty__ has quit [Quit: leaving]
fadenb has quit [*.net *.split]
manveru has quit [*.net *.split]
mkaito has quit [*.net *.split]
manveru_ is now known as manveru
<samueldr> today I am thankful for `builtins.currentTime`, as it will allow me to introduce irreproducibility to bisect an issue
<gchristensen> +1 nice
<samueldr> -1 having to bisect nix again :(
<qyliss> how do we have builtins.currentTime???
<qyliss> What was the story behind that feature?
<samueldr> AW, and I just GC'd, so all my previously built nix from the earlier bisect are gone :(
<drakonis> its great for telling time!
<qyliss> If I wasn't halfway through a build of 7000 packages I'd offer to run a bisect script for you on a very big computer
fadenb has joined #nixos-dev
<samueldr> I have a not-small computer, though the time it'll take to make the bisection automated will be longer than doing manually
<qyliss> ahh
<samueldr> unless one of you have tips for bisecting issues with nix builds with the nix daemon
<qyliss> what sort of issues?
<samueldr> `path '...' is not in the Nix store`, happening at build time with a newer version of Nix, but not on 2.3
<qyliss> yikes
<samueldr> if I hadn't had that leftover nix daemon from the earlier bisect I wouldn't have known
<samueldr> (it takes ~5 minutes to build nix, so it's only on the brink of being irritating)
<qyliss> I didn't see at first that you were bisecting Nix, not nixpkgs
<samueldr> and builtins.currentTime invalidates the builds for when it builds successfully
<globin> samueldr: sudo NIX_REMOTE= nix... to not use the daemon?
<samueldr> hm, this would require the steps to happen as sudo, or else the sudo auth would time out, though keeping that in mind for a future bisect
<infinisil> qyliss: I think there's a PR that uses currentTime to emit warnings when old nixos releases become unsupported
<qyliss> wow
<MichaelRaskin> samueldr: maybe copy the store and use unshare, if you have enough space of course
<infinisil> Sacrificing a bit of purity for security sounds decent
<qyliss> mmm, I still think we'd be better off if it wasn't in the language
<infinisil> > UTC
<nix-build> "The time in UTC is currently 22:30:05 (UTC 0)"
<infinisil> Also needed for this!
<gchristensen> great point!
<qyliss> UTC 0?
<qyliss> But that's a useful bot feature
<infinisil> > CET
<nix-build> "The time in CET is currently 23:30:33 (UTC +1)"
<infinisil> (Just how it's implemented)
<gchristensen> currentTime is really wonderful for testing things like this
<qyliss> current plans seem to be to make all of this stuff unusable in flakes
<gchristensen> yep
<infinisil> Though I have to say, I could implement this feature on the Haskell side instead and pass that to Nix, so I wouldn't have to use currentTime
<MichaelRaskin> Some people, of course, would use builtins.fetchGit + currentTime for always-latest expressions…
<MichaelRaskin> I think nowadays Nix has plugins for extra builtins?
<samueldr> I believe for better dogfooding builtins.currentTime could be implemented as a plugin, shipped with nix, and enabled by default
<samueldr> (up until it won't be enabled by default)
dongcarl has joined #nixos-dev
<infinisil> Oh and I'm also using currentTime to implement random numbers :P
<infinisil> > random
<nix-build> 3895191978
<infinisil> (as a seed)
<infinisil> Which is what > fortune then uses
<infinisil> > fortune
<nix-build> "<miguel> any new sendmail hole I have to fix before going on vacations? -- Seen on #Linux"
<qyliss> omg that's great
<qyliss> > fortune
<infinisil> (totally how Nix is supposed to be used btw!)
<nix-build> "C is quirky, flawed, and an enormous success -- Dennis M. Ritchie"
<qyliss> > fortune
<nix-build> "Just about every computer on the market today runs Unix, except the Mac (and nobody cares about it). -- Bill Joy 6/21/85"
<qyliss> I'm gonna be playing with this all night
<simpson> That quote gets funnier every decade.
<qyliss> Doesn't work in PM though :(
<qyliss> > fortune
<nix-build> "Building translators is good clean fun. -- T. Cheatham"
<infinisil> qyliss: Wait let's go to #bottest for a bit
<domenkozar[m]> ahh that would explain all the glibc mess
<nix-build> #84043 (by neilmayhew, 13 minutes ago, open): glibc-2.30 libraries link to glibc-2.27
<domenkozar[m]> would be nice to fix this for the release
<domenkozar[m]> :|
<globin> Ericson2314^
<Ericson2314> hi
<jtojnar> can we just revert https://github.com/NixOS/nixpkgs/pull/73966, if it causes the issue?
<nix-build> #73966 (by d-goldin, 18 weeks ago, merged): make-options-doc: fix string context issues
justanotheruser has quit [Ping timeout: 256 seconds]
<gchristensen> it seemed like it was fixing a legit problem, but we probably should yes, jtojnar, and consider alternative solutions to the other problem
<Ericson2314> Jan Tojnar: that *nixos* change caused the glibc problem?
<jtojnar> done in cab6b019b17
<jtojnar> Ericson2314 different one (https://github.com/NixOS/nixpkgs/issues/83863)
<nix-build> #83863 (by edolstra, 1 day ago, open): Giant options.xml.drv file in 20.03
<Ericson2314> ah ok, whew
<jtojnar> let's see if it fixes the evaluation
justanotheruser has joined #nixos-dev
<worldofpeace> domenkozar: topic for the go/no-go meeting 😉
<jtojnar> looks like it works 🎉️
<gchristensen> speaking of which, I'll mail about that here in a second :)
<jtojnar> now testing staging
<jtojnar> s/staging/staging-next/
<jtojnar> yeah, works on staging-next oo 🎉️
<gchristensen> nice, great :D
<worldofpeace> ✨ yay!!!!
<worldofpeace> tbh, I know which commits I'm dying to hit master from staging... 😸
<qyliss> new rust new rust new rust
<abathur> are there "good" reasons for packages to copy/install from $src/<file|dir> to $out/<file|dir> as opposed to just copy/install <file|dir> to $out/<file|dir>
<gchristensen> not sure I understand
<abathur> example from the yadm package: install -Dt $out/bin $src/yadm
<qyliss> Probably not
<samueldr> install vs. cp is a style choice mostly with nix
<qyliss> But do check -- maybe there's all sorts of junk that would be in the bin directory otherwie
<samueldr> though it would be nice to have guidelines for one or the other
<qyliss> samueldr: the question is not install vs cp, it's installing a whole directory vs installing specific files from that directory
<abathur> playing with building it with resholver, lost half an hour trying to figure out why my substituteInPlace wasn't applying (on some complex syntax that oil isn't cleanly parsing) only to find out my patch was applying just fine, but not getting installed
<jtojnar> also try git blame
<julm> I prefer install, it can set owners and mode in the same command
<samueldr> hm, I don't see that in the question
<abathur> so then I grepped for "\$src[/]" and found quite a few
<samueldr> julm: there's no owner/modes in nix except +x / -x though :/
<abathur> so, more to the point, wondering if there's a meta issue to report
<samueldr> oh, now I see the meat of the question, copying from _$src_ rather than from _pwd_
<jtojnar> abathur maybe the builder (e.g. meson) changes the directory and the packager just did not know where to find the file
<abathur> yes, sorry
<samueldr> I would assume copying from $src to $out is a mistake
<abathur> well, this one's just in a plain installPhase
<abathur> right
<samueldr> though maybe there's real use cases, but I would assume in most cases it's not
<julm> samueldr: in pkgs yes, but not in NixOS module
<abathur> after reading it, I do too, but I see quite a few potential cases on a naive grep
<abathur> good point julm
<samueldr> julm: right, but how often do a nix module `install` or `cp` as an "install phase"?
<samueldr> a nixos module*
<abathur> though most of the grep matches I got are in pkgs
<abathur> looks like 81 distinct files match the grep, not that they all actually do the bad part :)
<julm> samueldr: I thinking about the preStart phase of a systemd service, where /var is set up, like in this one I've written: nixos/modules/services/networking/shorewall.nix: install -D -d -m 750 /var/lib/shorewall
<samueldr> oh, right
<julm> loos like most of install(1) uses are for mkdir+chmod+chown, but a few of them actually are copies: "${pkgs.coreutils}/bin/install -m644 ${ymlFile} ${configFile}
bhipple has joined #nixos-dev
<julm> it's flexget, I've no idea why this install is done instead of passing the path in the nix store
<julm> maybe there's a chroot happening somewhere