<zybell_>
Not what we don't know lets us fail, but what we falsely believe to know.
<dtz>
^_^
jtojnar has quit [Read error: Connection reset by peer]
mbrgm has quit [Ping timeout: 268 seconds]
mbrgm has joined #nixos-dev
Lisanna has joined #nixos-dev
lopsided98 has joined #nixos-dev
Lisanna has quit [Remote host closed the connection]
phreedom has quit [Remote host closed the connection]
phreedom has joined #nixos-dev
pie___ has joined #nixos-dev
orivej has quit [Ping timeout: 255 seconds]
ma27 has joined #nixos-dev
ma27 has quit [Ping timeout: 256 seconds]
ma27 has joined #nixos-dev
ma27 has quit [Ping timeout: 276 seconds]
pie___ has quit [Read error: Connection reset by peer]
pie_ has joined #nixos-dev
ma27 has joined #nixos-dev
orivej has joined #nixos-dev
davidlt has joined #nixos-dev
sys9mm is now known as mingc
Cale has quit [Ping timeout: 276 seconds]
jtojnar has joined #nixos-dev
ma27 has quit [Quit: WeeChat 2.0]
ma27 has joined #nixos-dev
MichaelRaskin has quit [Quit: MichaelRaskin]
goibhniu has joined #nixos-dev
davidlt has quit [Remote host closed the connection]
davidlt has joined #nixos-dev
davidlt has quit [Remote host closed the connection]
davidlt has joined #nixos-dev
<tilpner>
The GH issue template makes it really hard to search for issues with /nix/var/nix/profiles/per-user/ :/
ma27 has quit [Ping timeout: 255 seconds]
ma27 has joined #nixos-dev
phreedom has quit [Ping timeout: 268 seconds]
phreedom has joined #nixos-dev
davidlt has quit [Remote host closed the connection]
davidlt has joined #nixos-dev
phreedom has quit [Ping timeout: 268 seconds]
phreedom has joined #nixos-dev
ma27 has quit [Ping timeout: 264 seconds]
ma27 has joined #nixos-dev
orivej has quit [Ping timeout: 264 seconds]
ma27 has quit [Ping timeout: 246 seconds]
jtojnar_ has joined #nixos-dev
jtojnar has quit [Ping timeout: 256 seconds]
jtojnar_ is now known as jtojnar
jtojnar has quit [Ping timeout: 256 seconds]
jtojnar has joined #nixos-dev
NinjaTrappeur has joined #nixos-dev
vcunat has joined #nixos-dev
jtojnar_ has joined #nixos-dev
joachifm has joined #nixos-dev
aminechi1haoui has joined #nixos-dev
ikwildrp1pper has joined #nixos-dev
aszlig_ has joined #nixos-dev
mbrgm_ has joined #nixos-dev
Profpats1 has joined #nixos-dev
aminechi1haoui has quit [Client Quit]
aminechi1haoui has joined #nixos-dev
jtojnar has quit [*.net *.split]
mbrgm has quit [*.net *.split]
aminechikhaoui has quit [*.net *.split]
aszlig has quit [*.net *.split]
joachifm_ has quit [*.net *.split]
domenkozar has quit [*.net *.split]
ikwildrpepper has quit [*.net *.split]
obadz has quit [*.net *.split]
Sonarpulse has quit [*.net *.split]
cransom has quit [*.net *.split]
gchristensen has quit [*.net *.split]
disasm has quit [*.net *.split]
Profpatsch has quit [*.net *.split]
aminechi1haoui has quit [Client Quit]
jtojnar_ is now known as jtojnar
mbrgm_ is now known as mbrgm
aminechikhaoui has joined #nixos-dev
cransom has joined #nixos-dev
obadz has joined #nixos-dev
disasm has joined #nixos-dev
Sonarpulse has joined #nixos-dev
domenkozar has joined #nixos-dev
gchristensen has joined #nixos-dev
<primeos[m]>
I don't really like the idea of removing existing packages (in general), but would be completely fine with it if someone thinks that's the appropriate thing to do.
<tilpner>
What about broken ones that nobody volunteered to fix in a few years?
<Mic92>
or which are outdated/obsolete
<tilpner>
No, outdated ones can still be useful
<Mic92>
outdated if they are replaced by upstream by different component
<tilpner>
Only if that new component is completely compatible with all downstream users
<Mic92>
of course
<Mic92>
but sometimes you don't find maintainers for both
Profpats1 is now known as Profpatsch
ikwildrp1pper is now known as ikwildrpepper
primeos has joined #nixos-dev
<vcunat>
marking as broken seems to solve at least most of the reasons to remove them
<vcunat>
But I agree that keeping a meta.broken package for years seems pointless.
ma27 has joined #nixos-dev
orivej has joined #nixos-dev
<gchristensen>
vcunat: let's merge and not backport
<gchristensen>
no need to rush it
<vcunat>
yes, 18.03 is released already, basically
<gchristensen>
great!
<vcunat>
I'm mainly waiting for the manual on nixos.org to pickup yesterday's significant changes.
<ikwildrpepper>
vcunat: according to logs it updated 9 minutes ago
<makefu>
is 18.03 released?
<gchristensen>
has nixos.org been updated to point the manual and thingss to 18.03?
<ikwildrpepper>
hm, maybe not
<gchristensen>
oh the repo has!
<vcunat>
ikwildrpepper: yes, but to an older version than I want :-)
<ikwildrpepper>
then yes
<vcunat>
it's 18.03
<ikwildrpepper>
vcunat: hm, older than what exactly?
<ikwildrpepper>
(it should update every 20m)
<gchristensen>
perhaps the channel is not completely updated?
<vcunat>
The current channel is just one commit behind significant release notes edits, and it wouldn't be good to encourage reading the link before the target is ready.
<gchristensen>
ikwildrpepper: any chance you can "encourage" the website to update, then? :)
<ikwildrpepper>
gchristensen: the website update is easy to do, but the channel bump takes a bit I think
<vcunat>
The channel bumped now.
<ikwildrpepper>
triggered update of website
<gchristensen>
"The latest stable release series is 18.03 and the latest release in that series is 18.03.131768.a74969256b0" <- it isn't "pre" as of just a moment ago!
<vcunat>
Confirmed it looks OK \o/
<ikwildrpepper>
just finished 10s ago
<gchristensen>
way to go vcunat, fpletz, everyone
<vcunat>
With Impala and 1.1.1.1 at once, I'm really looking forward to some meltdown this week.
<ikwildrpepper>
what's the next codename actually? :o
<tilpner>
There was some talk about Jellyfish
<ikwildrpepper>
ah, right
<gchristensen>
vcunat: everything is going to break on you? :)
<gchristensen>
"NixOS Impala cannot reach 1.1.1.1 under any circumstances"
jtojnar_ has joined #nixos-dev
<tilpner>
What does Impala have to do with 1.1.1.1?
<vcunat>
ikwildrpepper: yes, unstable/master is 18.09 Jellyfish now
jtojnar has quit [Read error: Connection reset by peer]
<ikwildrpepper>
vcunat: works for me :)
<vcunat>
tilpner: just another thing that might blow due to my mistakes.
<vcunat>
(and started recently)
<tilpner>
So you work at Cloudflare?
<vcunat>
Nope, but my day job is on knot-resolver which they run it on.
<vcunat>
(The first main dev was lost to CloudFlare years ago.)
jtojnar has joined #nixos-dev
<pierron>
check-meta seems to be broken by the fact that you cannot extend the set of platform that a derivation is working on …
<tilpner>
Ah, I see :)
jtojnar_ has quit [Ping timeout: 256 seconds]
<vcunat>
Hmm, bad for check-meta, but it sounds fixable, at least in theory.
<pierron>
check-meta seems to be checked before the overrideDerivation, instead of being evaluated after.
<vcunat>
Yes, that's what I meant.
<vcunat>
Will you open an issue if you can't see a solution immediately?
<pierron>
I should …
<pierron>
The question is not about finding a solution, the question, is how fast can I get back to a working system … unfortunately :/
<gchristensen>
what about the other two override methods
<vcunat>
pierron: config.checkMeta = false; ?
<pierron>
vcunat: I found another work-around … rr = super.rr.override { stdenv = self.stdenv // { mkDerivation = args: ...; }; };
<gchristensen>
oh my
<pierron>
same as overrideDerivation, without the first evaluation of mkDerivation
ma27 has quit [Ping timeout: 252 seconds]
<clever>
pierron: overrideAttrs does the same thing
<clever>
oh, but that cant work if meta.broken wont let you eval it
Jackneill has joined #nixos-dev
<pierron>
clever: this is a platforms list which does not contain the platform for which I want to compile.
<clever>
ah, yeah, a stdenv override is the only easy way to force that
ma27 has joined #nixos-dev
ocharles_ is now known as ocharles
ocharles has quit [Changing host]
ocharles has joined #nixos-dev
pie_ has quit [Read error: Connection reset by peer]
<Profpatsch>
Maybe I deprecated a function you use regularly or something, of course we can always un-deprecate stuff even after merge.
<pierron>
Profpatsch: is that urgent?
<pierron>
Profpatsch: I am trying to avoid Nix dev on working hours.
<Profpatsch>
pierron: Ah, nope.
<Profpatsch>
You don’t have to look at it at all, it’s not that important.
<pierron>
Profpatsch: just mention @nbp and it will appear in my todo-list.
<Profpatsch>
I imagine as codeowner there’s a lot of mentions. :)
<pierron>
github does not generate anything special in emails for code reviews :(
<gchristensen>
Yeah, are you able to actually look at all the things you're mentioned on?
<pierron>
gchristensen: I have an email filter.
<gchristensen>
I have several, too... Mostly I try not to look at my email these days :(
<pierron>
and 14296 unread emails from github …
<Profpatsch>
I exclusively use github notification on-site, but I’m not subscribed to a lot of threads, so it’s mostly a dozen things per day.
<Profpatsch>
infinisil: Concerning the coercedTo check/merge, I just now read the complete code and you pay the price of coerceFunc twice.
<Profpatsch>
Once in check and once in merge
<infinisil>
Profpatsch: Yeah
<infinisil>
Makes more sense to remove the one in merge
<Profpatsch>
Even though it’s not an often-used function, we should keep the type system slim.
<Profpatsch>
Well, you can remove the assert but not the second use of coerceFunc
<infinisil>
I honestly think coercedTo should be used much more, it's really useful
<infinisil>
Ah right
Lisanna has joined #nixos-dev
<Profpatsch>
Except if you can pipe through the converted value somehow.
<Profpatsch>
infinisil: The use-case I can see for it is to move the special-casing logic from the config implementation to the option declaration.
<infinisil>
Yeah
octe has quit [Ping timeout: 256 seconds]
<Profpatsch>
But only for options that don’t change their meaning based on other options.
octe has joined #nixos-dev
<Profpatsch>
e.g. “this different conversion needs to be used if froz is set to blarg”
<Profpatsch>
It’s possible to state that in the config impl, though I’d say it’s a very big design smell.
<infinisil>
I use coercedTo often when I want some more convenient type in simpler cases
ma27 has quit [Ping timeout: 276 seconds]
<infinisil>
E.g. I just started writing a module that would allow you to set ports for services like `servicePorts.ipfs = 8080`, but also `servicePorts.ipfs = [ 8080 1010 ]`
<infinisil>
But then also `[ { address = "127.0.0.1"; port = 8080; } ]`
<infinisil>
Not sure if that's a good thing on second thought though :P
<Profpatsch>
Hm, feels hard to handle.
<infinisil>
It will then check such that no two services use the same port/address
<Profpatsch>
Ah, the holy grail of the module system.
<infinisil>
I got the checking part implemented already, but damn that was hard to write
<Profpatsch>
I know a few people who fell into despair trying to implement something like that.
<infinisil>
Still not sure if it's worth putting this into nixpkgs though. It just annoyed me that I've tried to debug an error for hours, only to realize that 2 services tried to use the same port.
<infinisil>
But it would also be cool if ports could be assigned automatically (if you don't need a specific one), I don't like coming up with random ports to use for my services.
<Profpatsch>
infinisil: You should ping aszlig_, he can probably tell you about possible drawbacks.
<infinisil>
I'll do that when I open a PR
aszlig_ is now known as aszlig
JosW has quit [Quit: Konversation terminated!]
<infinisil>
Also I'm a bit afraid of increased evaluation times
<infinisil>
Although usually you only have a couple ports used (from config files), so that might not be a problem
<gchristensen>
clever: what init did you use for your notos?
<LnL>
isn't that runit?
<zybell_>
runit
<zybell_>
says the doc
<gchristensen>
awesome :D thanks!
<zybell_>
README.md
<Profpatsch>
gchristensen: I have a complete type signature for complete derivations now (not just for meta fields). What are your thoughts on test-driving that as an ofborg check? Even if it is still out-of-repo?
<gchristensen>
I don't think ofborg is in the business of out-of-tree checks
<coconnor>
that's definitely enough for my purposes
<zybell_>
indent Commits: before merging create a commit by checking out the source (into a temporary branch if needed), run indent with the config of the target branch automatically, commit,then merge.
<ekleog>
would it make sense to add a travis-ci script that enforces some indent style?
<coconnor>
I'm a fan of automation around style verification ;)
ma27 has quit [Ping timeout: 265 seconds]
<ekleog>
this way all new PRs would have to abide by the rules set
<ekleog>
(that said I'm not sure there exists an indent verifier for a syntax like nix's)
<coconnor>
neither. I was just about to ask...
<zybell_>
With indent commits you even can have painlessly different styles in different banches.
<coconnor>
even bigger fan of pre commit git hooks that auto-correct style ;)
<dtz>
or maybe not. :P. But a)C++, which is zomg harder
<dtz>
and b)C-esque's, from website: "C/C++/Java/JavaScript/Objective-C/Protobuf code"
<gchristensen>
the hard part, Profpatsch, is identifying which drvs' meta fields should be considered for the pingg
<Mic92>
gchristensen: same as the ones used for build?
<Mic92>
maybe adding a rate limit would be useful though
<gchristensen>
on a PR updating bash, there is no easy way to identify that bash is the one we should pluck maintainers from
<gchristensen>
for builds I don't mind building extra stuff, but for pings I don't want to generate extra mail for people
<FRidh>
gchristensen: what would happen in that specific case of bash?
<LnL>
gchristensen: match <package>.meta.position with files in the diff?
<gchristensen>
that could be interestingg
<ekleog>
dtz: issue is nix is quite non-C-esque-at-all, imo: the functional-style function calls will likely be enough to break it (though it'd be worth trying, I guess)
<Profpatsch>
gchristensen: I have to admit, I haven’t looked at the script that finds out the changed attributes yet3
<LnL>
gchristensen: wouldn't catch all cases, but I don't think you'd have any false positives
<Profpatsch>
It sounds like that can’t find out which leaf derivations changed?
<dtz>
yeah it's not an easy fit sorry was mostly just being a clang-fan and chiming in O:)
<gchristensen>
we don't want the leafs, but the roots
<Profpatsch>
yes, you are right.
<LnL>
yeah, but the roots are not necceceraly the full set
<gchristensen>
oh man
<LnL>
:D
<Profpatsch>
LnL: 80/20 is enough for now I think.
goibhniu has quit [Ping timeout: 248 seconds]
<Profpatsch>
Or we do sth like mention-bot again?
<Mic92>
is should be dummy save though.
<Profpatsch>
With a blacklist and a whitelist that devs can change?
<Mic92>
sometimes people changes branches
<Mic92>
and a lot of unrelated changed are added
<LnL>
not saying it's a bad idea, it's just very hard to determine the correct list
<Profpatsch>
gchristensen: Where’s the code that ofborg uses to find out which attrs it needs to rebuild on eval?
<Profpatsch>
Or does it just reeval everything?
<Profpatsch>
And also rebuild everything?
<gchristensen>
it evals everything before merging and evals everything after merging, and compares the two sets
<gchristensen>
it is basically thee same as /projects/nixpkgs/maintainers/scripts/rebuild-amount.sh
<Profpatsch>
Can we go from drv files to attributes somehow?
<Profpatsch>
Or we only need to go to derivations actually, to find out the maintainers.
<dtz>
(it's definitely not written in python, but it does have a python binding which is what vim integration uses, for example)
<dtz>
but clang-format is a C++ binary
Cale has joined #nixos-dev
<dtz>
(FYI O:))
vcunat has quit [Quit: Leaving.]
<zybell_>
The idea was to overload python multiline string recognition, which is nearer to nix than c multiline string, with a patch if it were available. It isn't.:(
Cale has quit [Ping timeout: 240 seconds]
Cale has joined #nixos-dev
goibhniu has joined #nixos-dev
goibhniu has quit [Changing host]
goibhniu has joined #nixos-dev
goibhniu has quit [Remote host closed the connection]
<infinisil>
A bit at least, because it has to do with types :)
<Profpatsch>
infinisil: Doesn’t that crash if the values are null?
<infinisil>
Profpatsch: See the linked code in my last comment
<Profpatsch>
Why add null then?
<infinisil>
null is meant for when you want it to not be set
<Profpatsch>
{} is the same, right?
<Profpatsch>
Which is the default already
<Profpatsch>
Ah, oh, this is systemd.
<infinisil>
Profpatsch: Without nullOr, things like { FOO = null; } would not be allowed
<infinisil>
And that's needed to allow overriding attributes such that they're not set
<Profpatsch>
Oh huh, I wonder what the toJSON does
<Profpatsch>
The input is always a string if I see this right.
<infinisil>
Oh, good point
<Profpatsch>
Meh, I’m not sure I want to know. Probably something to do with escaping.
<infinisil>
Huh
<infinisil>
Yeah that might be it
<LnL>
hrm, I can't evaluate nixos/release.nix :/
<LnL>
error: cannot import '/nix/store/kkch022f7zbi77av4vfb159278lcg9iv-nixpkgs', since path '/nix/store/kkch022f7zbi77av4vfb159278lcg9iv-nixpkgs' is not valid
<dtz>
get it validated by the receptionist on your way out
Lisanna has quit [Remote host closed the connection]