gchristensen changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | 18.09 release managers: vcunat and samueldr | https://logs.nix.samueldr.com/nixos-dev
<clever> samueldr: oh, this is where const functions on a class can come in handy
<clever> samueldr: const is a promise to never modify `this`, and the compiler will enforce it
<samueldr> yeah, in C++ :)
<clever> so you just need to remember to look for const functions, and question why things are not const when its missing
<Synthetica> Does JavaScript have any of that?
<samueldr> good ol' javascript doesn't
<samueldr> probably one of the fancy transpilers add compile-time checks
<Synthetica> Typescript probably
jtojnar has quit [Quit: jtojnar]
eadwu has joined #nixos-dev
eadwu has quit [Quit: WeeChat 2.3]
eadwu has joined #nixos-dev
<gchristensen> let's bring Nix to the browser
<gchristensen> virtual-dom as a derivation
<clever> gchristensen: hnix + ghcjs would already do that
<ekleog> clever: or just clang --target=wasm32-unknown-unknown or emscripten or binaryen?
<clever> ah, that could probably handle most of libexpr, then you just need a frontend to feed it expressions
<clever> may have some trouble though, with builtins.derivation being part of libexpr, and depending on libstore and the FS
<clever> but derivations could be broken out, leaving you with just the language
<samueldr> you mean https://nixcloud.io/tour/ ?
orivej_ has quit [Ping timeout: 246 seconds]
lassulus_ has joined #nixos-dev
lassulus has quit [Ping timeout: 250 seconds]
lassulus_ is now known as lassulus
jtojnar has joined #nixos-dev
eadwu has quit [Quit: WeeChat 2.3]
drakonis has quit [Quit: WeeChat 2.3]
pie___ has joined #nixos-dev
pie__ has quit [Ping timeout: 268 seconds]
<domenkozar> gchristensen: hnix already works in the browser
<domenkozar> :D
jtojnar has quit [Quit: jtojnar]
jtojnar has joined #nixos-dev
<clever> domenkozar: nice, i could use that kind of thing in my old installer idea
<clever> i was making a JS based UI to edit configuration.nix files, and hnix is perfect, since it can give AST rather then final value
<arianvp> sphalerite: I have the intention but there's no PR yet
worldofpeace has quit [Ping timeout: 245 seconds]
<sphalerite> arianvp: alright, thanks. Keep me posted :)
orivej has joined #nixos-dev
lassulus has quit [Ping timeout: 246 seconds]
lassulus has joined #nixos-dev
<andi-> Does stdenv have some tools to restrict the maximum number of jobs (`-jN`) built in? Seems like the new firefox will have some trouble with high parallism :/
<srhb> andi-: Probably have to roll it by hand using $NIX_BUILD_CORES
<andi-> srhb: thats what I thought.. Just didn't want to re-invent the wheel :)
<andi-> It is a bit scary that this is an almost silent failure that has no clear origin: https://bugzilla.mozilla.org/show_bug.cgi?id=1500436
<srhb> andi-: Do we have that high cores settings anywhere in the cluster though? I think not.
<srhb> Oh, I see smaller -js also fail..
<andi-> srhb: well we do not but I usually test it with -j58 on a machine that I just rent for the time being..
<srhb> Ah.
<niksnut> andi-: pass --cores <N> to Nix
lassulus has quit [Ping timeout: 250 seconds]
lassulus has joined #nixos-dev
<andi-> niksnut: thats what I do but I would like to limit it in the derivation to same "safe" number as long as that issues isn't resolved.
orivej has quit [Ping timeout: 244 seconds]
orivej has joined #nixos-dev
init_6 has joined #nixos-dev
MP2E has quit [Remote host closed the connection]
tilpner has joined #nixos-dev
eadwu has joined #nixos-dev
sphalerite has quit [Ping timeout: 252 seconds]
init_6 has quit [Ping timeout: 245 seconds]
eadwu has quit [Quit: WeeChat 2.3]
eadwu has joined #nixos-dev
tilpner has quit [Ping timeout: 268 seconds]
tilpner has joined #nixos-dev
sphalerite has joined #nixos-dev
eadwu has quit [Quit: WeeChat 2.3]
eadwu has joined #nixos-dev
tilpner has quit [Read error: Connection reset by peer]
eadwu has quit [Quit: WeeChat 2.3]
tilpner_ has joined #nixos-dev
tilpner_ is now known as tilpner
eadwu has joined #nixos-dev
tilpner has quit [Quit: WeeChat 2.3]
tilpner has joined #nixos-dev
<gchristensen> I think it would be very interesting to have a way for derivations to have different steps inputs based on build context -- forgive my poor choice of words here.
<gchristensen> some examples: it'd be super cool to be able to run pyflakes on python scripts to verify they're good, and not do that on everybody's machine all the time.
<gchristensen> it'd be really great to run shellcheck on stdenv! but also, not all the time ;) (stdenv depending on haskell would be pretty wild)
<gchristensen> (or even run shellcheck on the various phases)
<gchristensen> not sure this is possible, but I'd like it to be :P
<infinisil> gchristensen: oh nice idea, i also think package tests could be in that category
<infinisil> Because once the tests pass, there's no reason to run them all the time
<Synthetica> Isnt that exactly what the cache already does?
<infinisil> Would need some recursion magic to be implemented with stuff like stdenv
<infinisil> Synthetica: Hmm yeah. I guess with this functionality we could have faster build times for simple changes, at the cost of potential breakages. We'd have to know what changes could break the tests and run them if they do
<infinisil> I bet about 90% of stuff that causes a rebuild of everything can't even realistically make tests fail
asymmetric has joined #nixos-dev
worldofpeace has joined #nixos-dev
worldofpeace has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 268 seconds]
drakonis has joined #nixos-dev
worldofpeace has joined #nixos-dev
worldofpeace has quit [Remote host closed the connection]
ixxie has joined #nixos-dev
tilpner has quit [Ping timeout: 244 seconds]
ixxie has quit [Ping timeout: 245 seconds]
ixxie has joined #nixos-dev
asymmetric has quit [Ping timeout: 240 seconds]
ixxie has quit [Client Quit]
orivej has joined #nixos-dev
tilpner has joined #nixos-dev
eadwu has quit [Read error: Connection reset by peer]
eadwu has joined #nixos-dev
eadwu has quit [Read error: Connection reset by peer]
eadwu has joined #nixos-dev
averell has quit [Quit: .]
averell has joined #nixos-dev
pepesza has quit [Ping timeout: 240 seconds]
pepesza has joined #nixos-dev
MP2E has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #nixos-dev
eadwu has quit [Quit: WeeChat 2.3]