gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
das_j has joined #nixos-chat
ajs124 has joined #nixos-chat
Synthetica has quit [Quit: Connection closed for inactivity]
wildtrees has quit [Quit: Leaving]
ajs124 has quit [Remote host closed the connection]
das_j has quit [Remote host closed the connection]
ajs124 has joined #nixos-chat
das_j has joined #nixos-chat
<gchristensen> I hate cryptpad so much
drakonis1 has quit [Quit: WeeChat 2.6]
endformationage has quit [Ping timeout: 265 seconds]
<makefu> gchristensen: me too, it is such a way backward from etherpad. it is slow, unresponsive and does not have author colors (and probably never will) - https://github.com/xwiki-labs/cryptpad/issues/41
<{^_^}> xwiki-labs/cryptpad#41 (by patcon, 3 years ago, open): FEATURE REQUEST: Color by author
<gchristensen> heh
<gchristensen> hrm
<makefu> that looks ... funny
<gchristensen> cryptopad executes a paste command every 3 seconds
<makefu> a reasonable feature
<gchristensen> lol
<gchristensen> nobody is issuing the paste command, however
<samueldr> are you sure? maybe the NSA fell asleep on the keyboard?
<makefu> haha good point
<gchristensen> lol
vika_nezrimaya has joined #nixos-chat
Jackneill has joined #nixos-chat
Jackneill has quit [Max SendQ exceeded]
Jackneill has joined #nixos-chat
drakonis1 has joined #nixos-chat
jasongrossman has joined #nixos-chat
<drakonis1> so, regarding this new module system, it needs a escape hatch to allow the user to introduce their own configuration files, for the files that have novel configuration formats not covered in the existing format library
<drakonis1> i dont think rfc #42 covers this part
<{^_^}> https://github.com/NixOS/nixpkgs/pull/42 (by aforemny, 7 years ago, merged): Add JuicyPixels Haskell package
<ashkitten> hng
<drakonis1> hmm wrong channel but still
<drakonis1> 7 years ago was the 42th PR eh
<drakonis1> a long way since then
<drakonis1> and that's after moving from svn to git
<ashkitten> apparently pinebook provides a serial interface, so the kernel just uses that instead of the graphical console that uboot also provides
<drakonis1> neat trick
<ashkitten> i guess there's no way to edit the commands before booting
<ashkitten> and i can't cross-compile
<ashkitten> so i guess it's time to open the pinebook and flip the serial switch
<ashkitten> ugh, never mind
<ashkitten> i'm not even gonna bother rn
<ashkitten> why are arm machines so painful to work with
jasongrossman has quit [Read error: Connection reset by peer]
<ashkitten> my gf installed manjaro on her pinebook pro and its u-boot installation disabled all other boot devices so when she installed an official package from the official repos and it bricked her install, she had to swap the emmc into her regular pinebook to remove the package
<ashkitten> because the pinebook pro doesn't do a graphical u-boot
<ashkitten> never mind, the console arguments weren't the issue apparently
<ashkitten> but i still don't know what is the issue
<sphalerite> drakonis1: rfcs#42 should work
<{^_^}> https://github.com/NixOS/rfcs/pull/42 (by Infinisil, 42 weeks ago, open): [RFC 0042] NixOS settings options
<drakonis1> i'm aware
<drakonis1> but it doesnt cover the particular use case that is getting around the existing configuration tooling and just use your own files
drakonis1 has quit [Ping timeout: 272 seconds]
Synthetica has joined #nixos-chat
__monty__ has joined #nixos-chat
vika_nezrimaya has quit [Ping timeout: 240 seconds]
Guanin has quit [Ping timeout: 260 seconds]
<aanderse> drakonis1: the RFC specifically mentions having a `configFile` option for entirely replacing generated config IIRC
monsieurp has quit [Quit: Lost terminal]
monsieurp has joined #nixos-chat
Guanin has joined #nixos-chat
Guanin has quit [Ping timeout: 272 seconds]
pasukon has quit []
pasukon has joined #nixos-chat
waleee-cl has joined #nixos-chat
Guanin has joined #nixos-chat
joepie91 has quit [Remote host closed the connection]
drakonis1 has joined #nixos-chat
<Taneb> Is there something like Travis but for benchmarking
<gchristensen> do go on :)
<Taneb> A service that runs the benchmarks for your open-source project on some fixed (maybe configurable) hardware and, like, reports them somewhere and makes graphs
<Taneb> I haven't put too much thought into this
<gchristensen> sounds good and expensive
<Taneb> Yeah, maybe it's viable if there's a paid teir with beefier hardware or shorter queues or something
<gchristensen> well you basically can't run anything else on that host at the same time, and the baseline has to be extremely stable
<gchristensen> and upgrading your tier can't get you better hw automatically, perhaps queue priority f
<drakonis1> no beefier hardware, instead you get the option to run your software in a wider range of hardware
<drakonis1> benchmarking your software against a particular setup is a mistake and causes optimization for that specific setup
wildtrees has joined #nixos-chat
sdier has quit []
sdier has joined #nixos-chat
<drakonis1> webdev is divested from regular packaging conditions because libraries are like going to a produce market in there
<drakonis1> handpicked piecemeal libraries
<drakonis1> woops
<drakonis1> wrong channel.
<drakonis1> talking about npm2nix and alike
psyanticy has joined #nixos-chat
kalbasit has quit []
kalbasit has joined #nixos-chat
tilpner has quit [Quit: tilpner]
tilpner has joined #nixos-chat
<adisbladis> What package ecosystems do we currently have where we create derivations manually?
<adisbladis> Python of course, but what else
<infinisil> adisbladis: Idris
<drakonis1> what was the reason python didnt have automatically generated packages?
<drakonis1> something about not enough metadatA?
drakonis1 is now known as drakonis
jackdk has quit [Ping timeout: 250 seconds]
vdemeester has quit [Ping timeout: 246 seconds]
waleee-cl has quit [Ping timeout: 260 seconds]
peel has quit [Ping timeout: 252 seconds]
steveeJ has quit [Ping timeout: 252 seconds]
kalbasit has quit [Ping timeout: 272 seconds]
tazjin has quit [Ping timeout: 272 seconds]
jared-w has quit [Ping timeout: 246 seconds]
savanni has quit [Read error: Connection reset by peer]
Synthetica has quit [Read error: Connection reset by peer]
manveru has quit [Ping timeout: 264 seconds]
davidtwco has quit [Ping timeout: 246 seconds]
emily has quit [Ping timeout: 248 seconds]
psyanticy has quit [Ping timeout: 272 seconds]
srhb has quit [Ping timeout: 250 seconds]
ctp has quit [Ping timeout: 246 seconds]
<adisbladis> drakonis: Imho pythonPackages is an anti-pattern anyway
psyanticy has joined #nixos-chat
tazjin has joined #nixos-chat
peel has joined #nixos-chat
jackdk has joined #nixos-chat
kalbasit has joined #nixos-chat
<adisbladis> drakonis: It would be impossible to dependency solve the whole set
savanni has joined #nixos-chat
ctp has joined #nixos-chat
steveeJ has joined #nixos-chat
davidtwco has joined #nixos-chat
waleee-cl has joined #nixos-chat
steveeJ has quit [Max SendQ exceeded]
manveru has joined #nixos-chat
srhb has joined #nixos-chat
<drakonis> certainly, plus there's enough packages with external dependencies in pypi that only makes things harder
<adisbladis> drakonis: That's a moot point though
<adisbladis> We have overrides
<drakonis> now for something i'm not stoked about, all-packages having a lot of callpackages with weird hacky tricks
savanni has quit [Read error: Connection reset by peer]
psyanticy has quit [Read error: Connection reset by peer]
<drakonis> somehow there's software depending on it
srhb has quit [Ping timeout: 245 seconds]
jackdk has quit [Ping timeout: 260 seconds]
ctp has quit [Ping timeout: 268 seconds]
manveru has quit [Ping timeout: 272 seconds]
<infinisil> Well if the package is just the source directly then that works
<infinisil> Ideally though I'd like to get rid of all-packages.nix and replace it with a directory-based attribute mapping. I discussed this a couple of times already on IRC
<drakonis> too many clever hacks there
<drakonis> there's packages that set their dependency versions there
<adisbladis> infinisil++
<{^_^}> infinisil's karma got increased to 188
<adisbladis> all-packages.nix must die
<drakonis> i've seen a few instances of setting compiler versions there
<drakonis> i dont know why this cant be done in the derivation itself
<drakonis> the definition
<infinisil> drakonis: I think that's alright sometimes, because the arguments in the derivation are relevant for overriding
<infinisil> E.g. if you'd use `{ python2Packages }:`, to have it use python3, you'd have to do `the-package.override { python2Packages = python3Packages; }`, which is weird
<infinisil> I think that's the idea behind it
<adisbladis> infinisil: In the case of pythonPackages I think we should kill off those sets completely (it's also available as python3.pkgs)
<yorick> python2Packages is deprecated, too
<yorick> I hope
<infinisil> adisbladis: Probably yeah
<samueldr> way to miss the point
<drakonis> rsyslog-light is just rsyslog with disabled deps
<drakonis> overidden deps
<infinisil> Wait no
<drakonis> overriden syslog deps, so it looks eh
<{^_^}> #77535 (by grahamc, 3 days ago, open): {python{Full,Packages},pypyPackages}: move unversioned aliases to aliases.nix
<drakonis> does nix not handle multiple package output?
<yorick> yeah, I'm not happy with overridden-by-default deps in all-packages.nix
<yorick> mainly because it's a 25kloc unsorted file
<drakonis> hm, it doesnt.
<drakonis> packages that have GUI equipped versions that are just a build flag away
<samueldr> { python ? python2, python2 }: # that'd work fine, right?
<infinisil> Considering that these arguments are overloaded anyways that might not be too bad..
<infinisil> (overloaded with both dependencies and configuration (enableFoo))
<infinisil> But I'm not sure I like this overloading
<infinisil> No i definitely don't like it
<adisbladis> samueldr: Nope, because `python` is always passed by callPackage
<samueldr> adisbladis: right
<adisbladis> There isn't really a way to do this except at the call site
<samueldr> here I forgot that python was an attribute
<drakonis> crawl defaults to GUI mode but you cant install a tiles version without overriding
<samueldr> ooh, just like how `src ? [...]` didn't work since there is an `src` package in the attrset
<samueldr> some saying about hindsight and such... but it would be nice to be able to declare args that callPackage can't implicitly fill
<drakonis> that opens up the ability to customize package features
<samueldr> it could be that in the future someone writes an innocuous software called enableGTK and we package it, bam, overloaded argument name again
<samueldr> (though that doesn't fit the naming convention)
<infinisil> { stdenv, dep1, dep2 }: { enableFoo ? false, pythonVersion ? 2 }: stdenv.mkDerivation { ... }
<infinisil> And have .configure { enableFoo = true; }
<drakonis> yes, perfect.
<adisbladis> samueldr: Hehe
<adisbladis> That's evil :)
<drakonis> switching language versions would then be a config flag away
<drakonis> a hoot
<pie_[bnc]> sounds like there should be an enableflags attrset or something, at least that restricts the issue a bit :P
<pie_[bnc]> or just /another/ one named config :P
<pie_[bnc]> or separate namespaces
<pie_[bnc]> add more {}!
<drakonis> there's still the problem with packages that have multiple versions that can be generated when building
<samueldr> IIRC it is undesirable to add those configuration thingies in nixpkgs, and helping improving them
<samueldr> something something we don't want use flags like gentoo has
<pie_[bnc]> first class versioning in nixpkgs would be cool but ive no idea how to do it
<samueldr> something something binary cache
<drakonis> you dont have to build every variant though
<samueldr> I'm not the one making those arguments
<adisbladis> I like .configure { ... }
<drakonis> just have the default but provide the ability to generate multiple outputs if desired
<samueldr> multiple outputs are not really for that
<drakonis> gentoo useflags are a specific case
<drakonis> chasing the idea of for the entire system is complex
<drakonis> of useflags for
<infinisil> aminechikhaoui: https://github.com/NixOS/nixpkgs/pull/57123 works towards more structured and uniform config flags
<{^_^}> #57123 (by oxij, 44 weeks ago, open): Typed `nixpkgs.config` married to NixOS
<infinisil> Which I think is part of https://github.com/NixOS/nixpkgs/pull/56227
<{^_^}> #56227 (by oxij, 46 weeks ago, open): Typed `nixpkgs.config` with Gentoo-like use-flags
<drakonis> big typos
<infinisil> Though oxij doesn't seem to be very active
<infinisil> Oh I meant samueldr, not aminechikhaoui
<infinisil> (How did that even happen)
<drakonis> the s is to the left of the a
<drakonis> you skipped the s
<samueldr> that's so qwerty-centric
<pie_[bnc]> oxij with all the big architectural stuff
<aminechikhaoui> :-)
<infinisil> Funny thing is that I'm using dvorak, where s and a are super far away
<pie_[bnc]> if i were oxij i would have probablypulled a SLNOS too
<pie_[bnc]> from what ive seen all the big architectural threads are pretty stalled
<drakonis> there's triton but that one's stalled
<drakonis> its nearly completely dead
<drakonis> it stalls out because nixos is too big now
<pie_[bnc]> my naive perception is theres no higher level concerted movement to make these big changes
<pie_[bnc]> right
<pie_[bnc]> ad hoc decentralized is not good for this stuff
<infinisil> drakonis: It had commits 2 months ago, that's not dead
<drakonis> the majority of commits were done in the past 3 years
<pie_[bnc]> and the companies are doing...whatever
<drakonis> the rate has slowed down though
<pie_[bnc]> it is that the companie sare doing
<pie_[bnc]> and the companies are doing...whatever it is that the companies are doing
<infinisil> pie_[bnc]: Big changes need to come in slow and steady steps
<pie_[bnc]> infinisil: right
<gchristensen> big architectural changes are not really about code
<gchristensen> it is just a piece of it
<pie_[bnc]> sidenote
<pie_[bnc]> we have rfcs
<pie_[bnc]> but what if we could actually test stuff on a smaller testbed without having to all-in the entire repo
<gchristensen> yep!
<gchristensen> RFCs are a great improvement
<pie_[bnc]> or can we already do this and im just tired and dumb
<gchristensen> and largely, give a place to work out things that make big changes hard, beyond the code
<infinisil> At least getting rid of all-packages.nix wouldn't be that much of a problem
<pie_[bnc]> rfcs dont go through either without concerted effort though. and i dont mean the effort is unnecessary, i mean we need people tha twill do it
<infinisil> I think I could automate this even
<pie_[bnc]> well, i just slippery sloped into typical OSS SWEng problems
<samueldr> I'm abusing Mobile NixOS as my testbed for big changes :)
<yorick> https://github.com/NixOS/nixpkgs/pull/77784 sorted the maintainer list. Sorry everyone.
<{^_^}> #77784 (by yorickvP, 12 minutes ago, open): Sort the maintainer-list
<pie_[bnc]> yorick, doing the work everyone else is afraid to do
<gchristensen> yes, well, if you want to make a massive change which massively impacts many thousands of people, it is going to require some effort
<aanderse> infinisil: how long have you been using dvorak for?
<infinisil> aanderse: Hmm.. a while, maybe 4 or 5 years
<qyliss> I make big changes in my nixpkgs tree with pretty wild abandon
<pie_[bnc]> ok so i guess its possibke
<yorick> the main concern is that people use git blame on this thing
<adisbladis> I think we're pretty capable at making big changes :)
<qyliss> Means I have to deal with merges, but it's refreshing to be able to do, and I think if the NixOS architecture didn't make it so easy to use a custom everything I would get way too frustrated with trying ot upstream everything
<adisbladis> It just takes some work
<adisbladis> And someone to actively push for it
<gchristensen> yorick: that is true, and the rfc39 tool does git blame automatically on a regular basis to validate the provenence of maintainer entries
arcnmx has joined #nixos-chat
<aanderse> infinisil: and can you still switch to qwerty pretty fast?
<arcnmx> I'm usually afraid to make any changes to mine :(
<aanderse> or do you regularly use both?
<drakonis> nixpkgs-experimental: where wild changes go to die?
<yorick> gchristensen: I bet I can merge this file into itself several times to keep 'git blame' working
<infinisil> aanderse: Nah, I have no need for quertz anymore, wasn't able to type in it soon after fully committing to dvorake
<gchristensen> yorick: don't do that please :P
<qyliss> arcnmx: 84 files changed, 2374 insertions(+), 1320 deletions(-)
<infinisil> aanderse: But I hear there's people who can switch without much problems
<aanderse> infinisil: ha ha ha... until you have a need to switch
<gchristensen> yorick: there is already support for reformatted and reorganized maintainer list entries using an idea I had of "barrier" commits
<aanderse> i used to be able to switch... pretty much full speed typing within 5 minutes of swapping back and forth
<gchristensen> basically if a barrier commit is identified, look behind it
<infinisil> aanderse: It is a bit inconvenient for web consoles for server recovery, but I just got used to switching it to dvorake asap :)
<aanderse> but i'm pretty sure i can't switch with any real speed on qwerty anymore
<adisbladis> aanderse: I can still switch some 11 years later
<adisbladis> Takes a few minutes to get used to qwerty
<yorick> gchristensen: I'm not sure about the security of this
<gchristensen> oh?
<aanderse> adisbladis: i'm at 18+ years and haven't tried to really use qwerty for more than a few minutes at a time in about 5 years
<ashkitten> samueldr: you're apparently associated with getting nixos working on the pinebook, how do i get an image that gives me an actual graphical console?
<arcnmx> o-oh o:
<aanderse> i think it would take my brain a large amount of retraining to go back at this time :\
<drakonis> so, a question in particular, how should package metadata be expressed?
<samueldr> that can't be either native compiled or cross-compiled
<drakonis> oh my internet is dying again, my isp is real bad, goddamn.
<ashkitten> samueldr: original pinebook, not pro
<samueldr> ah!
<yorick> gchristensen: git blame was never meant as a security tool
<gchristensen> sure
<samueldr> I don't have an equivalent repo, but you can piece the pieces together with another bit
<infinisil> drakonis: Maybe -> #nixos-dev for your meta question, it's really crowded here
<drakonis> right-o
<ashkitten> also, is it possible to cross compile a nixos image for arm?
<ashkitten> i don't have any arm machines i can build on, lol
<samueldr> it is, but right now use 19.09, and this https://github.com/samueldr/cross-system
<adisbladis> Re `{ enableGTK ? false }` style options I have a pretty interesting use case I'd like to solve
<drakonis> do tell
<samueldr> adisbladis: you're off-topic
<samueldr> go to the on-topic channels please ;)
<drakonis> to #nixos-dev then :v
<gchristensen> haha
<gchristensen> way to go
<adisbladis> Essentially how would you add those kind of options in an override?
<pie_[bnc]> define add
ctp has joined #nixos-chat
<pie_[bnc]> (just like any other parameter?)
<adisbladis> pie_[bnc]: I want to add options in an overlay
<adisbladis> That the original package does not have
<pie_[bnc]> ah ok right. well you basically have to reconstruct anything that needs to use it afaict
<infinisil> Hmm I've seen this asked before, there's not a nice way to do it as of now
<pie_[bnc]> let expressions duck
<pie_[bnc]> *suck
<adisbladis> pie_[bnc]: I think I've come to the same conclusion :/
<samueldr> ashkitten: can you construct a working configuration using the pieces I gave? if you have trouble ask
<adisbladis> I'm not too happy about it
<ashkitten> samueldr: i think so, probably
<pie_[bnc]> they are not composable. i have complained about this before and i have some half-assed solutions
<pie_[bnc]> adisbladis: namely put the let expression elements in default function arguments, and or pass let expression elements in passtrhough, etc
<samueldr> ashkitten: the wip-pinebook-pro repo is probably the better starting point, where you would replace the kernel and u-boot with the appropriate ones, and the "burning" of the u-boot to the allwinner location
<pie_[bnc]> basically expose stuff SOMEHOW
<infinisil> adisbladis: You can probably do it with `foo = callPackage ({ enableFoo ? true, ... }@args: super.foo.override (builtins.removeAttrs args ["enableFoo"])) {}`
<samueldr> it already has the configs for cross-compilation support (and native)
<ashkitten> samueldr: sure, thanks
<pie_[bnc]> but this still requires rewriting the original expression
<adisbladis> Which I cant
<pie_[bnc]> infinisil: except its not an enableFoo attr, its some random constructed attr or set of attrs that you want to manipulate some part of
<pie_[bnc]> but yeah ok, what you said could work in cases
<pie_[bnc]> adisbladis: and by rewrite i mean copy-paste the entire expression xD
<infinisil> pie_[bnc]: Then I'm not sure what adisbladis meant by { enableGTK ? false }
<adisbladis> pie_[bnc]: There is no expression to copy-paste
<infinisil> A better example would be great
<pie_[bnc]> adisbladis: oh?
<adisbladis> It's all on-the-fly generated
<pie_[bnc]> neat what is this
<adisbladis> For context I'm thinking of how to extend the override interface for https://github.com/nix-community/poetry2nix
<pie_[bnc]> oh python
<pie_[bnc]> oh
<pie_[bnc]> interesting, what is this...poerty
<infinisil> adisbladis: One solution that will certainly work very well is to use the module system
<pie_[bnc]> adisbladis: any reason you cant override the generator?
<adisbladis> pie_[bnc]: There is no generated code
<pie_[bnc]> *pass some arguments to the generator or something
<adisbladis> pie_[bnc]: It's parsing lock files in pure nix
<ldlework> i couldn't get it to work
<ldlework> but it was a couple weeks ago
<ldlework> and i forget why :(
<pie_[bnc]> adisbladis: this is somewhat relevant to my interests but man i shouldnt allocate brain space to this...
<pie_[bnc]> adisbladis: are you saying theres no way to make passing arguments to it make sense to begin with
<adisbladis> ldlework: poetry2nix? It's still missing overrides for a bunch of things
<adisbladis> pie_[bnc]: Well, I haven't been able to figure out what it would look like.
<pie_[bnc]> adisbladis: so currently you parse the lock files and do what?
srhb has joined #nixos-chat
jackdk has joined #nixos-chat
<pie_[bnc]> i imagine with overrides youd apply some package specific stuff to pre-generated packages
<ashkitten> samueldr: might be more annoying than just that to rework your pinebook-pro repo since they use different socs
<pie_[bnc]> what i was arbitrarly proposing as an alternative is instead of applying overrides to the result, find a way to pass "overrides" as parameters to the input of the generator
<pie_[bnc]> though maybe that sucks for end users that really do want overrides
<adisbladis> pie_[bnc]: I also thought about that approach
<adisbladis> But it doesn't really compose
<samueldr> ashkitten: pretty sure there's only the `dd` step that dds u-boot to the image that is rockchip specific in there
<samueldr> ashkitten: if you moved the kernel config from that other repo I linked, and used the already-in-nixpkgs ubootPinebook, it shouldn't be that hard
<pie_[bnc]> adisbladis: also personal opinion: have a construct like .extend
* samueldr looks
<pie_[bnc]> adisbladis: are you sure it cant compose
<adisbladis> pie_[bnc]: I'm not sure, no :)
<pie_[bnc]> im not sure it can, but im unsure it cant :P
<ashkitten> samueldr: where's the pinebook_pro.nix from?
<adisbladis> So for now I've punted feature flags since I can't come up with an interface I'm happy about
<ashkitten> okay, so you wrote it yourself
<samueldr> yes
<pie_[bnc]> adisbladis: i think this would need some sort of inversion of control - can you generate the attrnames of packages without actually generating the package descriptions?
<samueldr> that's what I would do
<ashkitten> thanks
<adisbladis> pie_[bnc]: Sure
<pie_[bnc]> adisbladis: though i guess my idea would require doing processing at runtime , idk if it can be precomputed - so anyway -maybe its possible to make it look like normal packages but then have them call the generator, passing themselves as an argument or something
<pie_[bnc]> well ok, youd have to handle the passing separately to actually make it compose
<pie_[bnc]> mumble mumble fixpoints big handwave
<adisbladis> :)
<adisbladis> I feel like there is a nice elegant solution just waiting to be discovered
<pie_[bnc]> i mena the naive approach is always `processeyThing setToFixpoint` and the rest is syntax / making it look nice screwery
<pie_[bnc]> and setToFixPoint is just the usual self: super: {} stuff that you can compose overrides on to before you run processeyThing
<pie_[bnc]> i do recommend looking at https://github.com/NixOS/nixpkgs/blob/master/lib/fixed-points.nix ...which i only understood after reimplementing half the stuff in there by accident myself
steveeJ has joined #nixos-chat
<pie_[bnc]> adisbladis: sooo.... pythonpackages = processeyThing (composeOverlaysThing [generatedSet] ++ overrides)
<adisbladis> pie_[bnc]: That bit is alredy fine & working actually
<pie_[bnc]> well, you can start getting funky by trying to put processything inside the generatedset
<pie_[bnc]> ok
<adisbladis> It's just those enableFoo style options I have some issue with
<pie_[bnc]> hm
<pie_[bnc]> righ
<pie_[bnc]> t
<adisbladis> pie_[bnc]: Though I think I may have figured it out now after our conversation :)
<pie_[bnc]> so you control the code but you have to merge that in before the let expressions get evaluated, basically, right?
<pie_[bnc]> or...like..what even.
<pie_[bnc]> i guess the real problem here is stringly typed fields cant really be merges
<pie_[bnc]> merged
<adisbladis> pie_[bnc]: I'll send you some code later once I've tried implementing my idea :)
<pie_[bnc]> and that you need ...to have stuff in scope
<adisbladis> I think I've got it now :)
<pie_[bnc]> ok
<pie_[bnc]> rough sketch?
<adisbladis> pie_[bnc]: Basically simple function chaining and introspection to see what options can be passed on
<ashkitten> samueldr: error: attribute '5.3' missing, at /home/ash/Projects/wip-pinebook-pro/pinebook-a64.overlay.nix:10:9
<pie_[bnc]> i dont see it but soudns reasonable i guess
<pie_[bnc]> adisbladis: maybe put "config" in a separate namespace? :P
<samueldr> ashkitten: 19.09 or unstable?
<pie_[bnc]> i...think...? i wrote a callpackage that takes two argument sets for that
<samueldr> I think the patches collection has been reworked on unstable
* pie_[bnc] tthnking; hmm maybe i should have made it take a set of sets
<ashkitten> samueldr: uhh i think the build script does 19.09
<ashkitten> i can do unstable if that works
<ashkitten> my other machines run unstable
* pie_[bnc] tthnking; thats less convenient to type though
<samueldr> it should use 19.09
<samueldr> weird
<samueldr> ah non, got it backwards
<samueldr> that setup in the overlay *is* for unstable
<samueldr> but I just rewrote it for 19.09
<adisbladis> pie_[bnc]: This could be a nice addition to all derivations actually
<pie_[bnc]> adisbladis: what?
<pie_[bnc]> adisbladis: if you have the patience to try making any sense of the last time i worked on this stuff https://discourse.nixos.org/t/wip-rfc-a-new-nixpkgs-frontend-for-language-infrastructures/3447
<drakonis> ah that's you?
<samueldr> ashkitten: currently building, probably have made the port, was less effort than initially thought
<pie_[bnc]> but i have no idea if that has the callPackage {} {} stuff, i barely remember tha texisting
<pie_[bnc]> so i might be making it up
<infinisil> Let's have a PR merging marathon
* pie_[bnc] prefers deep changes that make things better
<gchristensen> you start at the oldest PR, I'll start at the newest PR, we'll stop when we both hit a merge conflict because of the other's merge
<infinisil> Hehe
<pie_[bnc]> :D
<pie_[bnc]> "hold my flake"
<infinisil> I want a script that gives me a random open PR
<infinisil> Anybody happen to have one at hand? Otherwise I'll create one myself
<yorick> infinisil: https://www.codetriage.com/nixos/nixpkgs look under "help out"
<infinisil> Eh I'd rather have a script that does it for me
<infinisil> That list there seems rather static
<infinisil> But nice to know
<infinisil> Oh and also it doesn't seem to be random at all
<yorick> hm
Synthetica has joined #nixos-chat
<ashkitten> samueldr: the glibc build is throwing an error during compilation ;-;
<samueldr> on unstable? yeah
<samueldr> cross is currently a bit broken on unstable
<samueldr> this is currently building for me
<samueldr> (as in, the kernel is being built currently)
<samueldr> I'll report back once it's compiled
<ashkitten> alright
<ashkitten> ugh, i need to set up my desktop as a build machine for my laptop
<gchristensen> is "ofc" an acronym for 2 words or 3 words?
<ashkitten> of course
<gchristensen> that is what I'm asking! (whose on first?)
<ashkitten> :p
<gchristensen> I've often wondered ofc was an acronym for three words, with the second word for emphasis
<samueldr> of f'ing course
<gchristensen> the ambiguity here leaves me wondering which of the two people meant
<samueldr> (I don't know that my joking use of f'ing has been in use...)
<ashkitten> oc do not steal
<samueldr> ooh, INSTALL in the kernel build
<ashkitten> anyways uh, why the hell does nix give "unable to fork: Cannot allocate memory" when i've got plenty of available ram
<ashkitten> oh, it's probably zfs isn't it
<ashkitten> zfs' arc taking up too much ram and it doesn't show up as cache to the kernel
<ashkitten> oh i'm building gcc, why am i building gcc
<samueldr> cross-compilation will
<ashkitten> that sucks
<ashkitten> this machine isn't powerful enough for that
<samueldr> aw
<ashkitten> i've got a 4 thread i5
<ashkitten> i5-5300U
<ashkitten> lol
<samueldr> well... it is powerful enough, on a longer timescale
<__monty__> Are we having a CPU measuring contest? : D
<ashkitten> i've got a ryzen 3600 sitting in the other room, i just don't have remote builds set up
<ashkitten> __monty__: more like small cpu emotional support
waleee-cl has quit [Quit: Connection closed for inactivity]
<eyJhb> Anyone know how to call GetChoices->popup_menu in vim? https://vimhelp.org/popup.txt.html#popup_menu%28%29 I can't get it to work
<samueldr> ashkitten: currently writing the image to an SD card, will let you know if it boots
<samueldr> if it does you can at least fire and forget the build on your machine for later use
<ashkitten> samueldr: yup
<ashkitten> apparently gcc built
<ashkitten> that's faster than i expected
<samueldr> it could be the first bootstrap gcc?
<ashkitten> well now it's building glibc, so idk
<samueldr> not entirely sure in cross how many there is
<samueldr> I'm somewhat confused with running on staging sometimes
<samueldr> ashkitten: boots, u-boot, then stage-1 both have graphical output as expected
<ashkitten> samueldr: nope nvm it's building stage-final-gcc-debug now
<ashkitten> yay
<ashkitten> wanna drop me a file? ;)
jared-w has joined #nixos-chat
<samueldr> some services failed to start?
<samueldr> it's okay after a simple reboot
<samueldr> compressing, note that since it's a cross-compile it will not re-use the kernel and will want to rebuild it on-device which may take a while
<adisbladis> pie_[bnc]: It's not implemented yet
<adisbladis> But this is what I have in mind I think http://ix.io/27uQ/nix
<adisbladis> Or something like that
<adisbladis> Probably has to be http://ix.io/27uR/nix
<ashkitten> actually, would it be better to just do this without cross with qemu userland emulation?
<pie_[bnc]> oh right i guess you can just do it like that
<pie_[bnc]> hello.extend looks kinda weird ,im guessing thats a placeholder?
<samueldr> ashkitten: if it all builds yeah
<samueldr> ashkitten: alternatively on real aarch64
<adisbladis> pie_[bnc]: Weird how?
<ashkitten> idk how i'd run nix within that, tbh
<samueldr> (the instructions are still the same, run ./build.sh lol)
<pie_[bnc]> extend is usually a overlays thing, i guess im not sure what you mean by it here
<adisbladis> pie_[bnc]: Ah, extend function arguments
<adisbladis> Name subject to change ;)
<adisbladis> Anyway, I think you get the idea
<pie_[bnc]> i guess
<pie_[bnc]> im slow. so probably not. :P but it looks usable
<adisbladis> I'm gonna let this stew for a bit =)
<pie_[bnc]> also tired now.
<pie_[bnc]> sure
<adisbladis> I still think it feels a bit awkward
<ashkitten> samueldr: tbh would you upload the built image for me? if i can use that then i don't have to worry about cross compilation anymore since i can run nixos on the pinebook
<samueldr> ashkitten: currently compressing for an upload
<ashkitten> ty!
<pie_[bnc]> adisbladis: figure out what feels redundant
<adisbladis> I'd also like others to chime in on this interface :)
<adisbladis> I may just end up adding it to all derivations in nixpkgs
<adisbladis> Together with override and overrideAttrs
<adisbladis> overrideFn ?
<pie_[bnc]> waaaait a minute
<pie_[bnc]> i just realized
<pie_[bnc]> we arent able to add function arguments are we
<pie_[bnc]> which is basically the entire premise of this but you know
<pie_[bnc]> i was just thinking about overrides
<pie_[bnc]> well either im way off or something clicked
<pie_[bnc]> also something you can do is take all the arguments, pass them on, but also add your thing
<adisbladis> I think something clicked :)
<pie_[bnc]> though iirc theres some screwery with default arguments but this might be te case that works
<pie_[bnc]> hm. so hello is just a drv, but you want to add an arugment to it. but then whats going to call it ?
<pie_[bnc]> right and this is where .override comes in
<pie_[bnc]> because something .overrides it, and thats what calls it with the new argument
<pie_[bnc]> maybe...?
<adisbladis> pie_[bnc]: Exactly
<pie_[bnc]> uhh, i think this might work
<adisbladis> newHello.override { enableFoo = true; }
<pie_[bnc]> replace it with: {oldargs..., newarg}: (oldthing {oldargs}).overrideattrs
<adisbladis> :)
<adisbladis> This can be really nice
<pie_[bnc]> instead of hello.extend, override hello with the above in an overlay
<pie_[bnc]> and by the above, i mean the above, i mean call it
<pie_[bnc]> * and by the above, i mean the above, but call it
<pie_[bnc]> so its a drv with the .override you wanted
<pie_[bnc]> seems kinda deep but it might at least work
<pie_[bnc]> adisbladis: what do you think
<samueldr> I don't upload often, but when I do I sure wish bits flew at the same speed out compared to in
<gchristensen> as someone who does very often, mega-same
<ashkitten> i have 300Mbps down, 10 up
<samueldr> cut a zero from the download speed and that's me
<ashkitten> honestly i'd be fine paying more for 100/100
<samueldr> hmmmm, curl or wget it as it seems my server doesn't give appropriate headers ashkitten https://nix.samueldr.com/pinebook-a64.nixos-sd-image-19.09.1861.eb65d1dae62-aarch64-linux.CROSS.img.xz
<samueldr> that image may be removed at any time in the future
<ashkitten> okay
Synthetica has quit [Quit: Connection closed for inactivity]
<ashkitten> putting the image on the sd now
<samueldr> first boot might have a couple fails in stage-2
<samueldr> I rebooted and everything was fine so uh, not sure what happened
<ashkitten> good to know
<eyJhb> Jesus christ, this Vimscript is so much trail and error with 10% magic
<drakonis> trail and error? heh
<eyJhb> Mostly error atm.
<eyJhb> Also because I am using the new "popup_menu", which doesn't seem very well tested
joepie91 has joined #nixos-chat
<infinisil> Btw I got my random PR script working
<__monty__> A script to submit random PRs to pad your github contribution statistics?
<infinisil> Hehe no
<infinisil> To get a random open PR from nixpkgs
<drakonis> ohhh, neat.
<infinisil> Which i think should be just a button on github really
<drakonis> PR review script
<samueldr> infinisil: easy: nixpkgs#4
<drakonis> #4
<infinisil> Hehe I get that referenc
<infinisil> I'll post the script in a bit
<infinisil> I decided to use github's graphql api for it
<infinisil> Kind of regret it, because now you need authorization to even run GET requests
<yorick> the graphql api is a nicer experience though
<infinisil> Yeah
<infinisil> Ignoring that it's quiet neat
<yorick> I like reading ~/.config/hub in my scripts secretly, everyone has that
<__monty__> Everyone does?
<yorick> everyone who uses hub
<__monty__> Am I missing out?
<yorick> __monty__: if you're not using hub? yes
<infinisil> hub is neat
<yorick> piping into hub gist create is good, hub pull-request is good, hub pr checkout is good
<yorick> hub clone and hub fork are also good
savanni has joined #nixos-chat
wildtrees has quit [Ping timeout: 265 seconds]
<ashkitten> samueldr: okay i finally got it to boot
<ashkitten> samueldr: how do i install?
<samueldr> "I don't know"
<ashkitten> lol okay
<ashkitten> imma just uhh
<samueldr> meaning, I don't know the best way to do it
<samueldr> the sd card itself is the installation media
<samueldr> but you have the tricky issue of dealing with partitioning the eMMC
<ashkitten> im just gonna dd the sd card onto the emmc
<samueldr> that's an alternative yes
<samueldr> so then you can rebuild in-place
<samueldr> the tricky parts with partitioning is leaving the space for u-boot, then afterwards putting u-boot in
<samueldr> there are no automatisms in there to help
<samueldr> so that's what I ended up doing on the PBP, `dd` it
<samueldr> (the pinebook I did differently: https://nixos.wiki/wiki/NixOS_on_ARM/Allwinner_GPT_Installation
<samueldr> this has the advantage of being closer to a "true" UEFI booting system, but it also has drawbacks with dealing with the dtbs
<ashkitten> the pinebook keyboard is awful lol
<ashkitten> honestly idk what im gonna do with it once i have nixos running on it
<ashkitten> i'm planning to get a convertible amd laptop anyways
<samueldr> yeah, the layout on the right part is amazingly horrible
<samueldr> that alone killed all intentions to use it
<samueldr> pressing up arrow rather than shift kills text
<ashkitten> i never use right shift anyways
<ashkitten> but i do use left shift
<samueldr> oh, yeah
<samueldr> that's another huge issue
<samueldr> swapping keys all around for no reason
<ashkitten> and i also use... hyphen, and pipe
<samueldr> I was pretty vocal on the pinebook channel so they would NOT swap keys all around like that this time around
<samueldr> they actually were going to :(
<samueldr> it's more about the vendor though
<ashkitten> what's with hypehen and pipe being on the fn layer
<ashkitten> never seen a keyboard like that in my life
<samueldr> cramming too many keys on there
<samueldr> and not actually understanding the keyboard
<samueldr> that will sound vaguely racist and rude
<samueldr> but I'm thinking it's because the chinese design team don't understand qwerty keyboards and how they're used
<samueldr> like not at pine, but at the random vendor that made the keyboard
<ashkitten> sure
<samueldr> similar atrocities can be found on keyboards on alibaba and aliexpress
<ashkitten> the pinebook pro seems fine
<samueldr> yeah, I made sure to listen closely when they were talking about the keyboard
<samueldr> I can't say I was alone
<samueldr> the pinebook pro is an amazing machine with few flaws, and none critical
<samueldr> most fixable in software in due time
<ashkitten> my gf got one from her gfs and that's why i have the pinebook she had before
<ashkitten> again, probably won't use it for much but it's a cute machine
<samueldr> ah, so that's why I thought you had a pbp to fix, due to "manjaro not allowing external boot"
<ashkitten> oh sure
<ashkitten> yeah she had that issue on her pbp
<samueldr> (you said earlier this morning)
<samueldr> u-boot not being usable at boot is one of the almost critical flaw, the fact that it's fixable in due time makes it not critical
<ashkitten> yeah
<samueldr> oh no, forgot to include a video to that NLnet 36C3 talk in my last round-up
<colemickens> Hm. I have kept my dotfiles instead of using home-manager but I don't use my dotfiles on any non-NixOS systems for many years at this point. Maybe it's time to just switch.
<samueldr> colemickens: entirely up to you :)
<qyliss> oh I meant to go to that talk to say hello to Michiel
<colemickens> Also, kinda funny, I randomly remembered kube-nix last night and checked it about 10 minutes after they merged the long-outstanding 2.0 branch in. Was quite a coincidence.
Guanin has quit [Ping timeout: 272 seconds]
<infinisil> ,dnw = Provide as much info as possible on problems. What specifically doesn't work? What command did you run? What's in the relevant files? What's the error? This makes debugging easier and helps getting faster responses
<{^_^}> dnw redefined, was defined as Provide as much info as possible on problems. What specifically doesn't work? What command did you run? What's the error? This makes debugging easier and helps getting faster responses
__monty__ has quit [Quit: leaving]
Guanin has joined #nixos-chat
lassulus has quit [Ping timeout: 265 seconds]
wildtrees has joined #nixos-chat
lassulus has joined #nixos-chat