worldofpeace changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | NixOS 20.09 Nightingale ✨ https://discourse.nixos.org/t/nixos-20-09-release/9668 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 20.09 RMs: worldofpeace, jonringer | https://logs.nix.samueldr.com/nixos-dev
mkaito has quit [Quit: WeeChat 3.0.1]
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-dev
LASSULUS is now known as lassulus
regnat[m]1 has quit [Ping timeout: 258 seconds]
michaelpj has quit [Ping timeout: 240 seconds]
rnhmjoj has quit [Ping timeout: 240 seconds]
freeman42x[m] has quit [Ping timeout: 244 seconds]
aanderse has quit [Ping timeout: 272 seconds]
regnat[m]1 has joined #nixos-dev
arcnmx has quit [Ping timeout: 240 seconds]
mkg20001 has quit [Ping timeout: 244 seconds]
ili has quit [Ping timeout: 240 seconds]
jdnixx-M has quit [Ping timeout: 258 seconds]
jdnixx-M has joined #nixos-dev
orivej has joined #nixos-dev
freeman42x[m] has joined #nixos-dev
rnhmjoj has joined #nixos-dev
mkg20001 has joined #nixos-dev
arcnmx has joined #nixos-dev
michaelpj has joined #nixos-dev
ili has joined #nixos-dev
aanderse has joined #nixos-dev
bennofs_ has joined #nixos-dev
ris has quit [Ping timeout: 256 seconds]
bennofs__ has quit [Ping timeout: 245 seconds]
rajivr has joined #nixos-dev
ASHKITTEN is now known as ashkitten
COLE-H is now known as cole-h
tokudan has quit [Quit: Dunno.]
tokudan has joined #nixos-dev
michaelpj has quit [*.net *.split]
ili has quit [*.net *.split]
{^_^} has quit [*.net *.split]
danielrf[m] has quit [*.net *.split]
davidtwco has quit [*.net *.split]
davidtwco has joined #nixos-dev
danielrf[m] has joined #nixos-dev
14WAAHLCP has joined #nixos-dev
michaelpj has joined #nixos-dev
ili has joined #nixos-dev
14WAAHLCP has quit [Remote host closed the connection]
94KAAA9XC has joined #nixos-dev
aszlig has quit [Ping timeout: 276 seconds]
aszlig has joined #nixos-dev
danderson has quit [Remote host closed the connection]
danderson has joined #nixos-dev
evils has joined #nixos-dev
delroth has quit [Ping timeout: 264 seconds]
jonringer has quit [Remote host closed the connection]
delroth has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #nixos-dev
jonringer has joined #nixos-dev
jonringer has quit [Remote host closed the connection]
jonringer has joined #nixos-dev
orivej has quit [Ping timeout: 260 seconds]
Emantor has quit [Remote host closed the connection]
Emantor has joined #nixos-dev
Emantor has quit [Remote host closed the connection]
Emantor has joined #nixos-dev
tomberek has joined #nixos-dev
cole-h has quit [Ping timeout: 264 seconds]
jonringer has quit [Ping timeout: 240 seconds]
etu is now known as ETU
ETU is now known as etu
vcunat has joined #nixos-dev
aminechikhaoui has quit [Read error: Connection reset by peer]
aminechikhaoui8 has joined #nixos-dev
alp has quit [Remote host closed the connection]
eyJhb has quit [Read error: Connection reset by peer]
alp has joined #nixos-dev
eyJhb has joined #nixos-dev
orivej has joined #nixos-dev
johnny101 has joined #nixos-dev
jlotoski-znc has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 256 seconds]
<eyJhb> Wondering how many places depends on sudo in nixpkgs
<immae> eyJhb: what do you mean by "depends on sudo"?
<ADISBLADIS> immae: I take it eyJhb means NixOS modules calling sudo explicitly
<ADISBLADIS> I'm guessing eyJhb wants to disable sudo and use doas 100%?
<immae> ah ok sorry, I didn’t have the context
<ADISBLADIS> Nothing to be sorry about :)
<ADISBLADIS> I'm reading between the lines and infering context
<ADISBLADIS> I may be wrong
<eyJhb> ADISBLADIS: You are correct
<eyJhb> I have previously disabled sudo 100%. But now nextcloud requires it..
<ADISBLADIS> Right
<ADISBLADIS> eyJhb: Hmm..
<ADISBLADIS> I think maybe something like the nixops 2.0 privilegeEscalationCommand thing would be a good idea for a NixOS config option?
<ADISBLADIS> Even if it's just internal
<immae> Can "sudo" be a symlink to "doas", or the commands are too different?
<ADISBLADIS> immae: Too different to be a generic solution
<immae> ok
<eyJhb> Yeah sadly... :(
<eyJhb> I am actually really sad, that I still have to have sudo on my system now..
<siraben> gchristensen: maybe I can donate some CPU time to perform some of the darwin jobs? https://hydra.nixos.org/eval/1652242#tabs-unfinished
<immae> So having a privilegeEscalationCommand will require making a correct "parsing" of arguments and transform them depending on the case
<siraben> haven't been testing cross because of lack of cache
<immae> (and it doesn’t solve the issue for binaries or programs that "explicitly" cal sudo)
tomberek has quit [Ping timeout: 240 seconds]
vcunat has quit [Ping timeout: 272 seconds]
TV is now known as tv
vcunat has joined #nixos-dev
<andi-> Was/Is the binary cache having troubles? Just had a 502 followed by 503s
TAZJIN is now known as tazjin
<siraben> How would I do a graph query on nixpkgs like, "give me all x ∈ nixpkgs whose dependencies all compile on darwin but x itself does not have darwin in meta.platforms"?
vcunat has quit [Ping timeout: 258 seconds]
<andi-> I don't think we have that ability just yet. You could always look at hydra and try to wrangle that data into whatever you need.
<STERNI> I think parsing derivations is your best bet maybe?
<STERNI> oh, but then you don't have meta.platforms
STERNI is now known as sterni
vcunat has joined #nixos-dev
ADISBLADIS is now known as adisbladis
__monty__ has joined #nixos-dev
<siraben> So found the packages that with `buildInputs = []` but no darwin in the meta.platforms
<siraben> I've thought of making some fancy graph viewer that would show the frontier of darwin-buildable packages and let you click the nodes (package expressions) to edit and fix
<siraben> dunno but I feel like doing graph queries in nix lang ATM the most natural fit
<siraben> s/ATM/ATM is
orivej has joined #nixos-dev
tilpner has joined #nixos-dev
iyefrat has joined #nixos-dev
<iyefrat> how do i find out what is holding up the nixpkgs build so i can track the issue?
orivej_ has joined #nixos-dev
orivej has quit [Ping timeout: 245 seconds]
vcunat has quit [Ping timeout: 272 seconds]
orivej_ has quit [Read error: Connection reset by peer]
orivej has joined #nixos-dev
iyefrat has quit [Remote host closed the connection]
EDEF is now known as edef
vcunat has joined #nixos-dev
vcunat has quit [Client Quit]
PROFPATSCH is now known as Profpatsch
aminechikhaoui8 is now known as aminechikhaoui
<maralorn> iyefrat: You go to status.nixos.org click on the "Hydra job for tests" of the channel you care about. Choose the latest failed build and look into the logs.
<sterni> > WARNING: POSSIBLE DNS SPOOFING DETECTED!
<94KAAA9XC> error: syntax error, unexpected '!', expecting ')', at (string):489:40
<sterni> when will hydra support ANSI escape sequences (or filter them out) :p
<sterni> (the answer is: when I send a PR)
<gchristensen> siraben: unfortunately for the binary cache we can't accept contributions like that
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #nixos-dev
<siraben> gchristensen: I see. Are the darwin builders up?
<gchristensen> siraben: at the top of https://hydra.nixos.org/ in the blue box is a link to grafana and a json dump called quue runner stats, poke around there and see if you can find the answers you're looking for?
<siraben> gchristensen: Thanks
orivej_ has quit [Ping timeout: 256 seconds]
<sterni> wait hydra does handle escape sequences for the eval errors log now?
<supersandro2000> Can someone rename the bot? The new name is problematic
94KAAA9XC has quit [Remote host closed the connection]
{^_^} has joined #nixos-dev
<gchristensen> ,botsnack
<{^_^}> Oh thanks, have a cookie yourself
srk has quit [Remote host closed the connection]
srk has joined #nixos-dev
<sterni> {^_^} (~graham@NixOS/user/gchristensen)
<sterni> graham of borg indeed
<gchristensen> nrn
orivej has joined #nixos-dev
mkaito has joined #nixos-dev
jonringer has joined #nixos-dev
pmy has quit [Ping timeout: 264 seconds]
pmy has joined #nixos-dev
mkaito has quit [Quit: WeeChat 3.0.1]
tomberek has joined #nixos-dev
mkaito has joined #nixos-dev
orivej has quit [Ping timeout: 246 seconds]
<gchristensen> what if there was a way to instruct nix to skip output scanning and assume it has no dependencies? it is a bit annoying to have ISOs / AMIs / etc. depend on the entire closure despite being a self-contained artifact
<gchristensen> in some cases I've done very annoying things to "fix" this in nix: let ami = ...; encoded = runCommand "encoded" {} "base64 ${ami} > $out"; in runCommand "decoded" {} "base64 -d ${encoded} > $out"
<gchristensen> this gets close but isn't a total fix: you still have references to stdenv
arcnmx has quit [Quit: Idle for 30+ days]
<ehmry> this nix depenency on mdbook is nasty
<ehmry> i'm trying to deploy some containers but I can't because they have to build some dipshit rust markdown parser
<sterni> :|
<sterni> ehmry: nix stable shouldn't depend on that right?!
<ehmry> idk, must be new
<siraben> Oh, didn't know that Guix had a graphical (TUI) installer now: https://guix.gnu.org/manual/en/html_node/Guided-Graphical-Installation.html
<siraben> What's the status of a calamares installer for NixOS?
supersandro2000 has quit [Quit: Ping timeout (120 seconds)]
supersandro2000 has joined #nixos-dev
BaughnLogBot has quit [Ping timeout: 245 seconds]
BaughnLogBot has joined #nixos-dev
bennofs__ has joined #nixos-dev
delroth has quit [*.net *.split]
bennofs_ has quit [*.net *.split]
clever has quit [*.net *.split]
Cale has quit [*.net *.split]
cransom has quit [*.net *.split]
delroth has joined #nixos-dev
Cale has joined #nixos-dev
clever has joined #nixos-dev
cransom has joined #nixos-dev
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-dev
Mic92 has quit [Quit: WeeChat 3.0.1]
cole-h has joined #nixos-dev
Mic92 has joined #nixos-dev
rajivr has quit [Quit: Connection closed for inactivity]
<sterni> is there any form in which overriding possibilities and packages are documented atm?
<sterni> I feel like there are a lot of customizable derivations in nixpkgs, but it is necessary to read the source code to find out how to do it
<ekleog> AFAICT no :(
<sterni> this _should_ be a thing and probably linked from the package search imo
<sterni> I just wonder what would be the best way to do it
<sterni> probably adding yet another meta attribute
<supersandro2000> just list the all booleans in inputs
<sterni> meta.overrideableInputs or something
<sterni> supersandro2000: that's not generic enough + can't be queried in nix
<sterni> and we would get this documentation from evaluation not from source code parsing
evils has quit [Ping timeout: 256 seconds]
<sterni> I think I'll try to invest some time making a toy implemantion of this
<adisbladis> sterni: It's somewhat discoverable
<adisbladis> > lib.functionArgs hello.override
<{^_^}> { fetchurl = false; lib = false; stdenv = false; }
<samueldr> boolean inputs are not the only way to customize things
<sterni> adisbladis: yeah, but you want some context what it does plus what kind of value it expects
<adisbladis> Yeah, not saying this is remotely good enough
<samueldr> especially given some derivations will change their behaviour on a missing dependency, so `.override({ zlib = null; })` could be customizing the build, rather than breaking it!
<sterni> adisbladis: often you can guess by which functionArgs have a default value as per functionArgs
<sterni> but it doesn't always work well
<sterni> samueldr: yeah there is overall not a consistent style established for these kinds of things
<sterni> which I guess could be a second step, but much harder because it breaks user's configurations
<samueldr> I think the actual "solution" here is something that's been proposed
<samueldr> a "callPackage2" where it works in two steps, one for dependency injection, one for configuraiton
<samueldr> configuration*
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
<samueldr> {stdenv, zlib}: { withZlib ? true }: stdenv.mkDerivation { /* spitballing here */ }
<sterni> yeah that would be pretty nice, since we could use functionArgs as a fallback then
tomberek has quit [Quit: Connection closed]
tomberek has joined #nixos-dev
<sterni> what's the plan for the docbook we have in option descriptions btw?
<samueldr> I don't know that there is a plan or not yet, but I assume it'll be changed at the same time the nixos docs will be
<samueldr> which is not right now because of tooling issues as it requires a slim closure size since it is rebuilt on every generation for every user
<samueldr> (but being worked on AFAIK)
ris has joined #nixos-dev
orivej has joined #nixos-dev
clever has quit [Ping timeout: 240 seconds]
clever has joined #nixos-dev
<ekleog> unrelated to that, IMO the major thing missing “from the nix language” is ability to doc-comment functions
<ekleog> even without changing callPackage2 it'd already allow us to document the derivation parameters
<sterni> when I look at nixUnstable I doubt it's comming tbh
<sterni> :doc is implemented in a way which really only works for builtins
<sterni> but at least something like https://github.com/tazjin/nixdoc being established as the default™ and actively used would be great
<tazjin> sterni: the manual uses that
<tazjin> so it's sort of established, but it'd probably be great if someone else takes over the project and puts it in nix-community or something (unless that already happened and I missed it)
<sterni> yeah, I just noticed
<sterni> that's actually nice
<sterni> doesn't seem like it yet
xwvvvvwx has quit [K-Lined]
orivej has quit [K-Lined]
<supersandro2000> overriding with null should be just removed tbh
<supersandro2000> along with ? null and assert not null
<sterni> documenting overrides and removing such things could be done in a joint effort feasibly I think
<sterni> ? null is especially funny because it isn't even necessary in 90% of cases
<sterni> because nix is lazy
<adisbladis> tazjin: You wanna transfer it?
terrorjack has joined #nixos-dev
<samueldr> sterni: why do you say `? null` isn't necessary?
<samueldr> > callPackage ({ foobarbaz }: 1) { }
<{^_^}> anonymous function at (string):489:14 called without required argument 'foobarbaz', at /var/lib/nixbot/nixpkgs/master/repo/lib/customisation.nix:69:16
<sterni> samueldr: often you have patterns like { ...., foolib ? null, withFoolib ? false }:
<sterni> samueldr: in which case you don't need foolib ? null because if you only conditionally add it to buildInputs it isn't evaluated anyways
<samueldr> unless it's not part of the package set
<samueldr> e.g. was removed in an overlay
<samueldr> then it would fail as it's called without a required argument
<sterni> how would you remove a package in an overlay?
<sterni> self: super: builtins.removeAttrs [ … ] super ?!
<samueldr> hm, good question
<sterni> > (import <nixpkgs> { overlays = [ (self: super: builtins.removeAttrs super [ "hello" ]) ]; }).hello
<samueldr> I hadn't thought about that case in depth, and nulling it is not enough
<{^_^}> "<derivation /nix/store/6vc4ga99yh2cblq6kll13dlc15c19k92-hello-2.10.drv>"
<sterni> I think you can only overwrite attributes with overlays, not remove them
<sterni> and nulling wouldn't make evaluation fail
<sterni> I can imagine sometimes it's necessary when sub package sets have different contents depending on platform
<samueldr> still I'm not sure characterizing it as "90% are useless" is right, because I don't know
<sterni> but that's bad design in the first place
<supersandro2000> sterni: maybe except for bootstraping it does more harm then good
<supersandro2000> it hides removed inputs which do not bubble up eval errors
<lovesegfault> gchristensen: do you have a minute or two
<lovesegfault> I think I found a nix-shell bug
<lovesegfault> need a hand making sure
<supersandro2000> and I already saw multiple times that darwin frameworks are not correctly inherited and ? null hide the error
<samueldr> lovesegfault: why g//christensen explicitly?
<samueldr> lovesegfault: maybe others here can
<samueldr> just ask
<lovesegfault> fair enough
<lovesegfault> test this
<lovesegfault> you'd hope that it'd fail
<lovesegfault> since python isn't in the nix-shell PATH
<sterni> supersandro2000: yep that's another drawback, despite it being unnecessary
<lovesegfault> but the script exists with code 0
<samueldr> 🖺 [ralphwiggum] ~/tmp/tmp ⬤ ./test.py
<samueldr> /tmp/nix-shell-10256-0/rc: line 1: exec: python: not found
<lovesegfault> (cc. andi- )
<samueldr> nix (Nix) 2.3.9
<lovesegfault> Yeah, now do `echo $?`
<samueldr> ah
<lovesegfault> you'd hope that to be non-zero since it obviously failed
<samueldr> I see the distinction
<samueldr> I assumed you saw nothing at all
<samueldr> (in addition to 0)
<lovesegfault> Ah, yeah, I see the error
<lovesegfault> but this caused our CI to be doing nothing for about a week
<lovesegfault> since I silently broked it by removing python from an env without realizing it was used in CI
<lovesegfault> and jenkins didn't report the step broken b/c it still exits with 0
<lovesegfault> where does the code for this live?
* lovesegfault clones nix
<samueldr> nix-shell is part of nix-build
<{^_^}> nix#4598 (by lovesegfault, 10 seconds ago, open): nix-shell -i exits with wrong code when interpreter is invalid
tomberek has quit [Quit: Connection closed]
evanjs has quit [Read error: Connection reset by peer]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
evanjs has joined #nixos-dev
clever has quit [Ping timeout: 260 seconds]
clever has joined #nixos-dev
clever has joined #nixos-dev
clever has quit [Changing host]
ScottHDev50 has joined #nixos-dev
ris has quit [Remote host closed the connection]
<lovesegfault> how can I debug stdenv/setup.sh without rebuilding the world every time I make a change?
ris has joined #nixos-dev
ScottHDev5 has quit [Ping timeout: 264 seconds]
ScottHDev50 is now known as ScottHDev5
xwvvvvwx has joined #nixos-dev
mkaito has quit [*.net *.split]
averell has quit [*.net *.split]
mmlb has quit [*.net *.split]
stigo has quit [*.net *.split]
blueberrypie has quit [*.net *.split]
marek has quit [*.net *.split]
kcalvinalvin has quit [*.net *.split]
puck has quit [*.net *.split]
marek has joined #nixos-dev
primeos has joined #nixos-dev
averell has joined #nixos-dev
kcalvinalvin has joined #nixos-dev
grw1 has joined #nixos-dev
harrow has joined #nixos-dev
stigo has joined #nixos-dev
blueberrypie has joined #nixos-dev
ericnoan has joined #nixos-dev
mmlb has joined #nixos-dev
mkaito has joined #nixos-dev
harrow has quit [*.net *.split]
ericnoan has quit [*.net *.split]
grw1 has quit [*.net *.split]
primeos has quit [*.net *.split]
puck has joined #nixos-dev
terrorjack has joined #nixos-dev
<samueldr> I have a fun puzzle... .overrideAttrs seems, under specific unknown conditions, to lose all its effects on pkgsStatic
<sterni> "fun"
<samueldr> fun... ctional puzzle
<sterni> hahaha
<samueldr> I went back up to 4b649a99d8461c980e7028a693387dc48033c1f7, a 2018 commit to see if it ever worked
<samueldr> and it looks like it's not a recent regression if it is a regression
<samueldr> for me it was a "fun" investigation into reducing the test case... initially I thought an unrelated fix was incomplete
<samueldr> but once I started removing everything from my test case, it was clear it never worked and I was testing new conditions
<samueldr> (I'll also be opening an issue about that at some point in the close future)
justanotheruser has quit [Ping timeout: 240 seconds]
<samueldr> so buildInputs in pkgsStatic are all implicitly propagated?
<jtojnar> looks like it
<samueldr> :x
<samueldr> so yeah, looks like with pkgsStatic nativeBuildInputs will silently and subtly break, not idea
<samueldr> ideal*
<samueldr> uh buildInputs*
copumpkin has quit [Quit: Bye!]
copumpkin has joined #nixos-dev
justanotheruser has joined #nixos-dev
<symphorien[m]> does anyone know why llvmPackages is listed on search.nixos.org but not the versionned attributes like llvmPackages_11 ?
<symphorien[m]> answering myself: missing recurseIntoAttrs
<symphorien[m]> what's the policy on what deserves recurseIntoAttrs vs what does not ?
<lovesegfault> cc. samueldr https://github.com/NixOS/nix/pull/4601
<{^_^}> nix#4601 (by lovesegfault, 14 seconds ago, open): nix-build: check that envCommand exists
<lovesegfault> fixes the issue I found
Raito_Bezarius has joined #nixos-dev
pmy has quit [Ping timeout: 264 seconds]
pmy has joined #nixos-dev
__monty__ has quit [Quit: leaving]
cole-h_ has joined #nixos-dev
cole-h has quit [Ping timeout: 240 seconds]
cole-h_ is now known as cole-h
pmy has quit [Ping timeout: 265 seconds]
<gchristensen> infinisil: what do you think about this comment and the next: https://github.com/NixOS/hydra/pull/881#pullrequestreview-603467371
pmy has joined #nixos-dev
<gchristensen> personally I'm not too worried about the validation or erroring out, but maybe that is a bit insensitive of me
justanotheruser has quit [Ping timeout: 240 seconds]
<gchristensen> also cc ma27[m] but I'd be surprised if they're up!
<infinisil> gchristensen: That sounds like normal override behavior to me
<gchristensen> hm?
<infinisil> application_name being set twice, the latter overrides the former
<gchristensen> yes, but the hard-coded one in the module overrides it
<infinisil> Ah
<gchristensen> so: ignore/document/validate
<infinisil> Imo dbi should probably be a more structured value
<infinisil> Like `attrsOf str`
<infinisil> Then you can set `dbi.application_name = mkDefault "hydra-init"`
<infinisil> Oh, although it's different for every service
<infinisil> Hmm..
<gchristensen> ehhh that is maybe too much
<infinisil> Oh yeah still works, just use `cfg.dbi // { application_name = "hydra-init"; }` at the use-site
<infinisil> gchristensen: How about parsing the dbi string with Nix so this can be done without any option changes :P
<gchristensen> oh go
<gchristensen> d
<gchristensen> that'll never merge!