{^_^} has quit [Remote host closed the connection]
{^_^} has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.7.1]
zimbatm[m] has joined #nixos-dev
clkamp_ has joined #nixos-dev
<clkamp_>
Since several days I cannot request reviews for my PRs any more. It started when I a package with me as a maintainer was merged. Was there a change in the rights or anything?
tokudan[m] has joined #nixos-dev
bennofs[m] has joined #nixos-dev
rycee has joined #nixos-dev
pkolloch[m] has joined #nixos-dev
vaibhavsagar has joined #nixos-dev
timokau[m] has joined #nixos-dev
dtz has joined #nixos-dev
abbradar[m] has joined #nixos-dev
arcnmx has joined #nixos-dev
thefloweringash has joined #nixos-dev
Nyanloutre[m] has joined #nixos-dev
worldofpeace has joined #nixos-dev
emily has joined #nixos-dev
Ox4A6F has joined #nixos-dev
jtojnar has joined #nixos-dev
ma27[m] has joined #nixos-dev
Dandellion has joined #nixos-dev
domenkozar[m] has joined #nixos-dev
rnhmjoj has joined #nixos-dev
Ericson2314 has joined #nixos-dev
jonge[m] has joined #nixos-dev
alienpirate5 has joined #nixos-dev
aanderse has joined #nixos-dev
colemickens has joined #nixos-dev
layus[m] has joined #nixos-dev
mkg20001 has joined #nixos-dev
<gchristensen>
ofborg is down because they seem to have broken BGP??
<FireFly>
...whoops
<gchristensen>
seemsthe problem is the ISP
<yorick>
> -122.3959
<{^_^}>
-122.396
<yorick>
nix, why?
<simpson>
It's probably just formatting.
<yorick>
nope
<simpson>
Really? Rounded? That's not great.
<yorick>
> builtins.toJSON (-122.396)
<{^_^}>
"-122.396"
<yorick>
> builtins.toJSON (-122.3959)
<{^_^}>
"-122.396"
<gchristensen>
is it a floating point thing?
<simpson>
Kind of. I suspect "%0.3f" or something like that.
<infinisil>
I guess I should update the nix version of the bot, because it shows "inf" in my local nix
<yorick>
it seems to use std::ifstream for parsing?
<infinisil>
> inf = 1.7976931348623158e308 * 2
<{^_^}>
inf defined
<infinisil>
> inf
<{^_^}>
inf
<Profpatsch>
infinisil: see?
<Profpatsch>
That’s what happens with toString
<Profpatsch>
floats are a mess
<Profpatsch>
So we can’t pretty-print them in good faith
<yorick>
RFC to remove floats from the nix parser?
<infinisil>
It sure is a bit messy!
<yorick>
they are only ever used in the float tests
<Profpatsch>
lol
<infinisil>
yorick: Just needs some fixes
<yorick>
infinisil: no, we're not doing your [1.2.3]
<infinisil>
Hehe
<Profpatsch>
infinisil: which doesn’t make the point moot, because nixpkgs supports nix from 2.0
<Profpatsch>
There’s no way to salvage them before nix 3.0
<infinisil>
> inf == inf + 1
<{^_^}>
error: syntax error, unexpected '=', at (string):120:8
<infinisil>
> (inf == inf + 1)
<{^_^}>
true
<gchristensen>
yorick: iirc, Nix gained floats to let it parse JSON documents which had floats
<yorick>
gchristensen: yeah, but does the parser need them? :)
<gchristensen>
yes, because otherwise you'll see
<gchristensen>
> x = builtins.fromJSON "1.1"
<{^_^}>
x defined
<simpson>
Profpatsch: There does exist a pretty-printing routine for floats which shows exactly enough digits. Ironically, it is likely available to whatever is implementing our current pretty-printing routines.
<yorick>
gchristensen: yeah, is that problematic? :)
<gchristensen>
probably :)
<yorick>
they can be pretty opaque boxes
<gchristensen>
just treat them as strings?
<yorick>
just treat them as something you can't make or edit
<yorick>
possibly strings
<gchristensen>
whatever it is, this should work: (builtins.toJSON (builtins.fromJSON x)) == x
<gchristensen>
(structurally, not ... whitespace-wise :P)
<Profpatsch>
simpson: I am unable to parse your second sentence
<simpson>
Profpatsch: There are several algorithms, most famously Dragon4, which turn floats into lists of digits. These algorithms are then used to implement pretty-printing at the stdlib level. So likely some part of C++ stdlib has the algorithm somewhere. But that doesn't mean that it's exposed or usable; ironically, we only access it indirectly.
<Profpatsch>
simpson: Ah, yeah, sure.
<Profpatsch>
There’s lots of papers, because it’s a hard problem to do that efficiently.
<Profpatsch>
But at least correct would be a good start methinks
<simpson>
I did this a few months ago for Monte. Comparing the builtin printer with a Dragon4-based printer: https://bpaste.net/S3YA Revealing the hidden world of floats.
justanotheruser has joined #nixos-dev
psyanticy has joined #nixos-dev
teto has joined #nixos-dev
<domenkozar[m]>
hmmm ImportError: /nix/store/wx1vk75bpdr65g6xwxbj4rw0pk04v5j3-glibc-2.27/lib/libc.so.6: version `GLIBC_2.28' not found (required by /nix/store/2n66ha7fnk87jr0yq6ihnl8czwa7iknw-systemd-243.4-lib/lib/libudev.so.1)
<domenkozar[m]>
I've been seeing those lately, what's going on
<domenkozar[m]>
oh-ou: /run/current-system/sw/bin/vim: /nix/store/wx1vk75bpdr65g6xwxbj4rw0pk04v5j3-glibc-2.27/lib/libc.so.6: version `GLIBC_2.28' not found (required by /nix/store/2n66ha7fnk87jr0yq6ihnl8czwa7iknw-systemd-243.4-lib/lib/libsystemd.so.0)
<domenkozar[m]>
seems like I need to bump nixpkgs
<niksnut>
{"name":"merge","file":"/home/eelco/Dev/nixpkgs/pkgs/top-level/splice.nix","line":37,"column":13,"count":24627} <- what does that function do and why is it called 24627 times during a NixOS eval?
<gchristensen>
lol nice
<gchristensen>
infinisil: paging you :P
<niksnut>
in fact, what does splice.nix do?
<gchristensen>
Ericson2314: available to take a peek?
<niksnut>
there is a big comment at the top but I'm not smart enough to understand it
<infinisil>
Haven't closely looked at that, but it seems to be responsible for splicing the packages for cross compilation
<infinisil>
There's a GitHub comment explaining it better, lemme try to find it..
<niksnut>
right, the comment suggests this should do nothing when not cross-compiling
<gchristensen>
"For performance reasons..." sounds like something is wrong
<domenkozar[m]>
oh wow that lives in some comment in an issue :D
<infinisil>
"The details here are confusing, but the point is, for a spliced package, buildPackages.cmake can be reached by cmake.__spliced.buildHost. makeDerivation receives spliced packages via each of buildInputs, nativeBuildInputs, depsBuildBuild, etc., and retrieves the correct derivation using the .__spliced attribute."
<niksnut>
ah, thanks
<niksnut>
I added a comment
ixxie has joined #nixos-dev
cole-h has joined #nixos-dev
drakonis has joined #nixos-dev
<arianvp>
samueldr: you're kind of familiar with the arm nixos stuff right?
<arianvp>
i was wondering if we could make a proper nixos module for extlinux instead of callPackaging some file on disk where needed
<arianvp>
sounds a bit more composable
orivej has quit [Ping timeout: 256 seconds]
<emily>
sort of time-relevant in that a bunch of people's TLS certificates are going to become invalid tomorrow, though any solution won't trickle down fast enough for that anyway :( https://github.com/NixOS/nixpkgs/issues/81634
<arianvp>
the comments in pkgs/top-level/splice.nix genuinely scare me
<arianvp>
why is all this cross compile stuff so complicated
<gchristensen>
emily: can't they run systemctl start acme-*? or will tat ditch since it is valid a while
<emily>
thanks, now i had to read them and i'm horrified too
<emily>
gchristensen: yeah that just does the renewal check :(
<arianvp>
emily: thanks for the heads up
<gchristensen>
emily: I guess tomorrow will be a test for how many thinsg actually-actually check CRL lists lol
<arianvp>
=)
drakonis has quit [Quit: WeeChat 2.7.1]
* emily
. o O ( can you OCSP staple a revocation )
<emily>
"yes, the certificate is invalid!"
<gchristensen>
emily: can you write up instructions on the manual way to force it to renew? like, is it delete the cert and run systemctl start acme-*?
<simpson>
"Why does your intern have 'DO NOT VALIDATE MY CERTIFICATE' stamped on his forehead?"
<gchristensen>
btw, `systemctl ... 'acme-*'` actually does work afaik
<emily>
gchristensen: like I said in the issue, set validMinDays to something super high and start it
<emily>
didn't work for me at least :/
<emily>
maybe your certificate was just already old enough to get renewed
<gchristensen>
I mean just the wildcard bit of that
<emily>
oh, yeah
<gchristensen>
can you provide a working, sample configuration which sets that option?
<emily>
it's security.acme.validMinDays, I can dig up the acme config portion on my server if you'd like but none of the rest really affects it
<gchristensen>
I'm just thinking getting as much specific and actionable information in that ticket as possible will be really helpful
<emily>
ah, fair enough, I'll comment
<emily>
hm, do start and restart differ at all for Type=oneshot units?
<emily>
added a howto to the first comment
<hexa->
emily: here we are talking about force renewal ._.
<{^_^}>
#81200 (by flokli, 5 days ago, open): edid-generator: init at unstable-2018-03-15
<samueldr>
flokli: none at all, sorry for not replying to the request
<flokli>
samueldr: no worries
<samueldr>
I don't really know why I was pinged, though I *did* do something edid related in the past but managed by copying another monitor's
<flokli>
I thought it might be interesting for qemu wayland things
<samueldr>
right
<flokli>
because this seems to be the only way to get linux drm to use a custom video mode
<samueldr>
hmmm, this might allow me to remove my hacked-up bios for mobile nixos
<samueldr>
since I think it breaks once DRM tries to set a resolution
<flokli>
it should just be a matter of buidling it, optionally with whatever custom mode you want, adding this to your firmware packages in initrd, and pass the kernel cmdline
<genesis>
oki , need a type1 image to test it and ready to push, thanks.
<genesis>
next i'll remove the writeScript.
<emily>
is there any way to make a "gradually typed" option submodule? that is, allow any attrs like types.attrs, but with documentation/typechecking/... for the subset of options that are explicitly defined
<emily>
it would be really useful for defining modules for services that have structured JSON/YAML configs that you're never going to be able to enumerate all the options of, but want to extend/specially handle a few, without making everything involve 100 extraOptions = {...}
<genesis>
i'll let people merge it before go further.
<emily>
samueldr: hm, I have to admit I'm confused about what this is meant to add over just doing writeFile (toJSON someAttrs)... is it to ensure that no invalid JSON values are used or something?
<jtojnar>
genesis it would be good to include some motivation why it is done
<samueldr>
emily: AFAIUI it allows using `mkForce` deeply in the attrset
<samueldr>
or lib.mkIf
<emily>
samueldr: basically I would just use types.attrs, but I want to inject my own "NixOS module options" in too...
<emily>
(and giving docs/types to some of the more common attributes would be nice)
<emily>
I guess there's just no way to handle this and submodules with extraConfig attributes are the best way to go
<samueldr>
sorry, I might not have phrased it well, I meant: your idea married to that implementation
<emily>
but it makes me a bit sad
<emily>
right
<samueldr>
allowing you to add types only for some keys
<emily>
yeah, I think that would be a nice addition. cc infinisil?
<infinisil>
emily: Yeah something like this has been brought up before, would be nice to have in the future
<infinisil>
Though I don't want to do that in that PR (or its RFC)
<emily>
mhm
<emily>
so status: "would require 10-page RFC and 10 months of bikeshedding, never going to happen" basically :(
* emily
is not convinced she's seen the RFC process do anything other than clog up development so far
<infinisil>
Hm, well having partially typed options might come with some problems
<infinisil>
So it might make sense to discuss a bit abou tit
<infinisil>
Though that reminds me, I still need to implement it
<infinisil>
Writing docs isn't my strongsuit though..
<infinisil>
Well, xml at least hah
<infinisil>
I get discouraged just thinking about it
<emily>
infinisil: I feel like without the RFC process, you could have just PR'd an implementation and gotten it merged based on it just obviously being a good idea
<emily>
but maybe I'm too cynical :p
<infinisil>
emily: I originally did in #65698! But people wanted an RFC so that's what I did