<{^_^}>
[nixpkgs] @xeji opened pull request #37507 → nixos/tests/atd : remove non-deterministic test of batch command → https://git.io/vxcUA
<Guanin>
Okay, seems like it is only tested after the unix password
pkill9 has joined #nixos
xeji has joined #nixos
_null_ has joined #nixos
<_null_>
I can't find idris on nixos, I'm successfully finding nixpkgs.idris on my other machine, and there's no nixos.idris nixpkgs.idris or haskellPackages.idris for me on my nixos machine
<_null_>
Does anyone know why?
<catern>
so does the new Nix 2.0 fetchgit allow fetching git repositories with just a commit hash, no need for a sha256?
Guest2264 is now known as sdhand
sdhand has quit [Changing host]
sdhand has joined #nixos
<justanotheruser>
how do I configure default.nix so nix-shell builds both a python application and mongodb? "/run/current-system/sw/bin/nix-shell: a single derivation is required"
<Lisanna>
wtf... EFI can't find the bzImage for my new deployment, even though it finds the old one just fine, but both exist in /boot/EFI/nixos directory...
<krey>
how do I search for a package by name in the nix 2.0 world?
maximiliantagher has quit [Remote host closed the connection]
maximiliantagher has joined #nixos
<justanotheruser>
how do I configure default.nix so nix-shell builds both a python application and mongodb? "/run/current-system/sw/bin/nix-shell: a single derivation is required"
<Wizek>
Is it possible with nix to package up all relevant dependencies and statically link into the built executable? (haskell project if that's relevant)
<pjan>
I recently started experimenting with nixos (after having used nixpkgs for sometime). I probably did something wrong, and now I get "nixos database not writable: permission denied" whenever I want to `nix-shell` with my user. nixos-rebuild also doesn't work. Both do work if I sudo, but that's not what I expect (or want). Anyway to fix this (and to prevent this from happening again)?
<{^_^}>
[nixpkgs] @taku0 opened pull request #37523 → oraclejdk: add version 10 → https://git.io/vxcO6
n0qqe has joined #nixos
_null_ has quit [Ping timeout: 240 seconds]
<clever>
justanotheruser: no, the buildInputs attribute has to be a list of inputs
<dhess>
Did something change with the boot.initrd.availableKernelModules recently, say in the last 2 or 3 months?
* clever
heads off to bed
noqqe has quit [Ping timeout: 240 seconds]
n0qqe is now known as noqqe
<dhess>
I have a config that needs nvme and adds it there. It used to work fine. Now when I build the system using current nixos-unstable-small, nvme doesn't get loaded by initrd and the system won't boot
Fare has quit [Ping timeout: 256 seconds]
<elvishjerricco>
Wizek: Specifically, that article's "Edit 1" section is what you want. The FHS stuff should be avoided.
<elvishjerricco>
Add an `overrides` section and use `overrideCabal` to pass the flags described in the article
_null_ has joined #nixos
marusich has joined #nixos
<Wizek>
elvishjerricco: giving that a try
<elvishjerricco>
Wizek: It'd be cool to have a function that overrides a Haskell derivation in that way. We have `justStaticExecutables`, but I think that only links Haskell dependencies statically; system libs are still dynamic.
<dhess>
hmm yeah looks like nvme now needs to be in boot.initrd.kernelModules
<elvishjerricco>
vaibhavsagar: Haha, well if the `configureFlags` method produces proper static binaries, I definitely think that's the preferrable way to do it. The problem is that any haskell libs that depend on system libs will also need to be overriden to use static counterparts.
marusich has quit [Ping timeout: 240 seconds]
<vaibhavsagar>
ah, that's interesting, I must have not run into that then
<vaibhavsagar>
my reasoning was that if pandoc and warp could build statically then anything was possible
<elvishjerricco>
vaibhavsagar: Sorry, the problem with haskell deps depending on system libs is with the configureFlags method. The FHS method will handle that fine, but will barf at you when you didn't put the necessary lib in the FHS env
<vaibhavsagar>
because I tried the same thing on my Hakyll blog before writing the post
<elvishjerricco>
The configureFlags method won't barf and will instead just depend on those libs dynamically, and you'll have to manually hunt down which haskell lib is pulling in that dynamic dep.
<elvishjerricco>
Then you can override it to depend on a static version
<elvishjerricco>
Would be interesting (and much harder) to make a function that converts _an entire closure_ to static.
<vaibhavsagar>
so a theoretical reallyStaticThisTime function would have to do that work
<elvishjerricco>
vaibhavsagar: Yea, at least in the general case. For most cases, the flags your article mentions will be sufficient.
<vaibhavsagar>
Cool, I think I'll leave the blog post as it is then
<Mic92>
ryantm: does http://libraries.io/ also has metadata for changelog/changelog urls? (This message has been postponed on 2018-03-20 07:08:19.)
<vaibhavsagar>
justanotheruser: what does default.nix look like? I'm guessing it's a mkDerivation with the two derivations as build inputs and nothing else
<vaibhavsagar>
that won't work
<vaibhavsagar>
I think IRC is a poor medium for explaining why not, but
<vaibhavsagar>
so either you put an `install` rule in there that puts everything in the right place, or you override it with something like `installPhase = "true";` which is a no-op
iyzsong has joined #nixos
<vaibhavsagar>
but the install phase is what actually populates the output path IIRC, so it's important
<vaibhavsagar>
so I think mkDerivation is the wrong thing to use here and you should instead look at buildEnv
<justanotheruser>
How can I make it just run the install phase of each of the build inputs?
<justanotheruser>
based on my question, do you think I want buildEnv?
<vaibhavsagar>
yes, because the `paths` attribute will go ahead and run the installPhase of each member like you want
<Wizek>
elvishjerricco: lots of scrolling output so far. Can I expect a lot of compilation?
<elvishjerricco>
Wizek: Yea I guess that wouldn't be surprising
<vaibhavsagar>
it's pretty awesome that I can write a blog post and people actually read it and use it to do cool stuff
* vaibhavsagar
self-fives
<Wizek>
elvishjerricco: any idea how much time? Minutes? Hours? Days? vaibhavsagar, having read your post, I am following the 'faster' way of doing this, right?
<vaibhavsagar>
Wizek: yes
<vaibhavsagar>
although I'm not sure how much recompilation is required
<vaibhavsagar>
Reflex is not known for being lightweight
orivej has joined #nixos
<elvishjerricco>
None of the haskell dependencies will need to be rebuilt, except the frontend itself. But you'll probably have to build glibc and all the other libraries that you explicitly link statically in the configureFlags.
<Wizek>
elvishjerricco: and stuff that depends on them? Or are they dangling as leaves?
gillmanash has joined #nixos
<Wizek>
vaibhavsagar: if this works as expected you can get a virtual high-five from me too :)
jrolfs has joined #nixos
<elvishjerricco>
Wizek: Well I can tell you that nothing besides frontend will depend on them as far as nix is concerned, since frontend is the only thing you're changing. But I suppose it's possible that some haskell lib will depend on the dynamic glibc anyway... That shouldn't happen though
<Wizek>
`aarch64-unknown-linux-android-cc' failed in phase `Linker'. (Exit code: 1)
<dmj`>
why isn’t sysctl present in nix Darwin
<vaibhavsagar>
:(
<Wizek>
let's try removing the android target then I guess
<{^_^}>
[nixpkgs] @dtzWill merged pull request #37486 → haskell: only use glibcLocales when using glibc → https://git.io/vxnKO
<vaibhavsagar>
Wizek: more along the lines of "--ghc-option=-optl=-L${pkgs.cairo}/lib"
<Wizek>
vaibhavsagar: not then ${pkgs.cairo.static}?
<vaibhavsagar>
the linker is telling you that it can't find the libraries, which makes sense as we haven't provided them
<elvishjerricco>
Wizek: Ah yea this is the problem with that approach :P. These are libraries that Reflex wants that you'll have to provide. Just like we have `--ghc-option=-optl=-L${pkgs.glibc.static}/lib`, you're going to have to do a similar thing for the static libs of any other dependency. Not sure where the static libs reside for these libs though. vaibhavsagar Is it just ${pkg}/lib?
<vaibhavsagar>
Wizek: you're right, static is the way to go
<wilornel>
Seems like I need swap space on my nixos instance. Is there a particular way to go about it?
<vaibhavsagar>
elvishjerricco: the fun thing is that each package does it differently, e.g. gmp vs glib in my blog post
<Wizek>
vaibhavsagar: isn't it strange that -lglib-2.0 is reported to be missing even though there is already "--ghc-option=-optl=-L${pkgs.glibc.static}/lib" ?
<Wizek>
or are those different libs?
<vaibhavsagar>
Wizek: glib != glibc
<vaibhavsagar>
I think the former is a GNOME thing
<dhess>
eh never mind me on that boot.initrd.availableKernelModules issue; it was user error.
<dhess>
(maybe)
boxofrox has quit [Ping timeout: 256 seconds]
<Wizek>
Does no one build software with nix that they then want to distribute to other people? Or does everyone says that installing nix is a hard requirement? Or everyone fiddles with these static-linking related issues to make that work? Or maybe static linking is only hard with hs+nix?
<dhess>
Wizek: I've never needed it myself but I was under the impression that full static linking with Haskell is pretty tricky
<wilornel>
How would you add swap to a nixos vagrant instance?
<vaibhavsagar>
dhess: I think haskell library linking is easy, but system library linking is the hard part
<elvishjerricco>
dhess: vaibhavsagar's trick seems to work fine, and is relatively straightforward. It's just that libraries like Reflex which bring in a lot of system dependencies make you do a lot of grunt work :P
<dhess>
vaibhavsagar: that's what I meant by "full"
<vaibhavsagar>
In this case, we might have to override the cairo expression to make it build statically
<vaibhavsagar>
dhess: I don't see how this problem is haskell-specific
<vaibhavsagar>
Wizek: good news! do an `ls $(nix-build -E 'with import <nixpkgs> {}; pkgs.cairo.overrideAttrs(_old: { dontDisableStatic = true; })')/lib`
<vaibhavsagar>
I see a libcairo.a there
<vaibhavsagar>
this approach might be generalisable across all your other system libraries
<dhess>
It's not clear to me from that whether there are Haskell-specific things that make it more difficult than, say, static linking with gcc.
<vaibhavsagar>
I don't know enough about linking to say, but my logic is that Haskell uses the system toolchain so its issues must be the same as any other language that does this too
bgamari- has quit [Ping timeout: 276 seconds]
gillmanash has quit [Read error: Connection reset by peer]
boxofrox has joined #nixos
<Wizek>
vaibhavsagar: alright, so if there is a .a there, what's the next step? I suspect I know even less of linking (static or otherwise) to know. Do I just use your line as is? e.g. "--ghc-option=-optl=-L${pkgs.cairo.overrideAttrs(_old: { dontDisableStatic = true; })}/lib" ?
<dhess>
well, for example take a look at the Cabal issues referenced by OP in that Reddit thread. They're not strictly speaking linking issues, but they do (or did, looks like they've been fixed by now) make it not trivial to build a Haskell executable that can be copied from one system and run on another.
<Wizek>
btw I'm also trying `nix-bundle '(import ./default.nix {})' ./out`, let's see how that goes
<Wizek>
I just have this nagging feeling that this should be able to be done programmatically, and maybe that's what nix-bundle is trying to do: relink dynamic libs to become static, no?
<wilornel>
I can't edit /etc/fstab to allocate swap space...
krey has quit [Ping timeout: 240 seconds]
<Wizek>
elvishjerricco: if this nix static building doesn't pan out, can I interest you in a segfault that I get when trying to build reflex-dom with stack?
<elvishjerricco>
Wizek: Yeesh. Maybe, but I dunno how much help I'll be :P
Fare has quit [Ping timeout: 256 seconds]
<Wizek>
elvishjerricco: it may be hard for you to be less helpful than I have ideas on how to proceed :)
jneto has joined #nixos
<Wizek>
vaibhavsagar: Btw, what was your method for finding that .a file? Also, do you suppose that I would be able to find those .a files for all of these packages that I sent in my gist comment? Or could it be that I spend hours chasing for these only to find that one of them doesn't have it?
<cris_>
I have to add this into configuration-common.nix tensorflow-proto = addBuildTool super.tensorflow-proto pkgs.protobuf;
<Lisanna>
welp, one of my packages is corrupted in the /nix/store every single time it builds now, and I have no idea how to fix it, since it's a nix store thing.
<kiloreux>
I am trying to install chrome from the nix expression on the repo but failing so far.
huxx has joined #nixos
<huxx>
Hey guys
<huxx>
Can anyone help me with cabal+haskell+nix
iyzsong has joined #nixos
<huxx>
I'm experiencing an issue with the nix integration in cabal since nix 2.0
<huxx>
Whenever I try to run a cabal command inside a nix-shell, I'm getting this error: syntax error, unexpected ',', expecting ')', at /nix/store/snwfy87kzzx4iwlnpl1jfhz2mk61i03y-interactive-freeinmonads-0.1.0.0-environment.drv:1:15
dragonking has joined #nixos
jtojnar has quit [Quit: jtojnar]
<dragonking>
fuckng hell
<dragonking>
this distro its so stupid. we has too many distros
<ashgillman>
I have also tried downloading nix source and `nix-shell ~/nixpkgs -A nix --run './configure --prefix=$MYTMP --with-store-dir=$NIX_PREFIX/nix/store --localstatedir=$NIX_PREFIX/nix/var'`
xAFFE has left #nixos ["Disconnected: Received SIGTERM"]
cris_ has quit [Ping timeout: 260 seconds]
xAFFE has joined #nixos
jtojnar has quit [Ping timeout: 264 seconds]
<symphorien>
ashgillman: the best way I have found so far is to use any nix (for any store) and export the relevant environment variables:
<symphorien>
but I never got the boostrapping so far as to need nix compiled with different defaults
<BlessJah>
LnL: the userPackages in your overlay, it's your invention, not something that has any meaning for nixos, right?
<LnL>
no, I just made a gist and that ended up on the wiki
<LnL>
I didn't come up with the idea
<BlessJah>
I want to pin packages to nixos or nixos-unstable, and it seems to create nixos.userPackages and nixos-unstable.userPackages, each installed will install packages from corresponging channels
<ashgillman>
symphorien: Thanks. That is configured to install to /tmp/nix/{store,var}?
dragonking was banned on #nixos by gchristensen [dragonking!*@*]
<symphorien>
you say you have a nix configured for /nix in proot
dragonking has left #nixos [#nixos]
<symphorien>
just export NIX_STORE_DIR=/tmp/foo and so on and this same nix will forget about evrything in /nix and build things in the location you specified
<LnL>
gchristensen: :o
<symphorien>
so in fact you need to nix-build "<nixpkgs>" -A nix so that you get a copy of nix outside proot
<LnL>
BlessJah: you're not limited to self/super in an overlay you can import any nixpkgs channel and use packages from there
<gchristensen>
Slightly delayed...
<BlessJah>
LnL: so I wondered if I could define userPackages-nixos and userPackages-nixos-unstable, that'd give me 4 "packages", but I'd install just two
mquin has joined #nixos
<BlessJah>
LnL: can I? I could find a way except for using direct path to it
<tokudan[m]>
is the nixos-17.09 channel broken? according to http://howoldis.herokuapp.com/ it has been updated 11 hours ago, but i still see the same commit that I've seen 5 days ago
<tokudan[m]>
and the firefox version is old as well
<ashgillman>
symphorien: Awesome, I'll give that a shot. Thanks :)
<LnL>
BlessJah: ah, per-user channels are not in NIX_PATH
<BlessJah>
clever: if I wanted to use import <nixos-unstable> as LnL suggested, I'd need to add it
<BlessJah>
.w 23
<ashgillman>
symphorien: what about /nix/var? in that case? How do I move, initialise profile etc?
<symphorien>
export NIX_LOCALSTATE_DIR=$TEST_ROOT/var defines the equivalent of /nix/var
coot has quit [Quit: coot]
<ashgillman>
But how to initialise it?
<ashgillman>
I saw somewhere nix-store --init or similar, but it isn't in man page
<symphorien>
you don't. just mkdir it, nix will populate it
<symphorien>
what I advise you to do is:
<symphorien>
1/ set up env vars
<symphorien>
2/ nix-build "<nixpkgs>" -A nix
<symphorien>
3/ go out of proot
schoppenhauer has quit [Ping timeout: 240 seconds]
<symphorien>
4/ re export the environment
<symphorien>
5/ ./result/bin/nix works :)
<ashgillman>
Great, I am running (2) now. However I am running a nixpkgs based off 17.09 but looks like I might have to move to master, some links are old
<clever>
symphorien: i have a method of building that nix without a proot
sanscoeur has joined #nixos
<ashgillman>
clever: I'd be interested to see. I have proot running to a certain degree so this method is probably best for me for now, but that would be good for future
<symphorien>
i thought nix should try to as hydra for the tarballs it never deletes ?
<clever>
symphorien: that mixes nix 2.0's ability to work on a store where / isnt at /, and the vars you mentioned, to make a store that isnt in /nix/store/
<symphorien>
clever: does it work without use namespaces ?
<symphorien>
*user namepaces ?
<clever>
symphorien: so a machine with working 2.0 can build a /home/clever/nix/store that is temporarily stored at /home/symphorien/rootfs/home/clever/nix/store
<silver_hook>
What’s the difference between the packages: subversion and subversion-client?
<symphorien>
i guess subversion also contains the server
<silver_hook>
I would guess similarly, but (according to the packages website) the packages point to the same nix expression and have the same description
rauno has quit [Ping timeout: 240 seconds]
abcrawf has quit [Remote host closed the connection]
<clever>
kiloreux: chromium is a weird package, because the attribute in pkgs is already a wrapper
<clever>
kiloreux: oh, and i see your problem
<clever>
chromium overrode the installPhase
<clever>
which has the side effect of breaking pre/post install hooks
Taneb has quit [Ping timeout: 260 seconds]
<clever>
so you need to installPhase = drv.installPhase + "\nyour additions";
<kiloreux>
Thank you very much clever. Can I just access the existing installPhase like you mentioned and extend it or do a copy/paste and my additions ?
Guest56125 has quit [Ping timeout: 276 seconds]
<clever>
kiloreux: the drv attribute that overrideAttrs passes you, has the original installPhase
<kiloreux>
Forgive my ignorance. I didn't understand what's nix repl in the first place.
<clever>
kiloreux: run `nix repl '<nixpkgs>'` and then try to eval chromium.buildCommand and chromium.installPhase
<nioncode>
how do I get a nix-shell that uses buildFHSUserEnv to work with an interactive shell? by default I get a broken shell. when I invoke 'nix-shell -p bashInteractive' I get a working shell, but I'm missing the packages I installed via buildFHSUserEnv
asuryawanshi has joined #nixos
<kiloreux>
Only buildCommand and getting "missing" on installPhase.
<clever>
kiloreux: then your overrides are applying to the version with only a buildCommand
<clever>
nioncode: -p has priority, it will only load bashInteractive, and nothing else
<kiloreux>
is buildCommand overridable at least ?
<clever>
kiloreux: yeah, same way as installPhase
tertle||eltret has quit [Quit: Connection closed for inactivity]
<nioncode>
clever: I figured. but how do I get bashInteractive then? simply declaring it in my buildFHSUserEnv doesn't change anything
<clever>
nioncode: it has to be in the inputs for the fhs env
<nioncode>
clever: yes, I have to compile a build tree with a prebuilt toolchain
<clever>
nioncode: and you cant just patchelf those tools?
zzamboni has joined #nixos
sanscoeur has quit [Ping timeout: 268 seconds]
<nioncode>
clever: would be a hassle to maintain, since they are under version control. so whenever the toolchain gets updated externally, I'd have to re patchelf them and make sure I don't check them in. is there a reason why the FHS env doesn't obey the interactive bash?
<clever>
nix can automate that patchelf'ing
<clever>
it already does that with a large number of pre-built things in nixpkgs
dsop has quit [Ping timeout: 252 seconds]
asuryawanshi has quit [Ping timeout: 245 seconds]
aloiscochard has joined #nixos
<nioncode>
just seems like a huge potential for breaking things
<{^_^}>
[nixpkgs] @copumpkin merged pull request #36902 → Build QGIS and dependencies on darwin → https://git.io/vxJFI
<{^_^}>
→ 49182bcd by @mpickering: Fix grass build on darwin
<{^_^}>
→ f0a8f1f3 by @mpickering: Refine libspatialindex platforms attribute
<{^_^}>
→ de6360b6 by @mpickering: Build qca2 on darwin
ryanartecona has joined #nixos
<{^_^}>
[nixpkgs] @dtzWill opened pull request #37561 → pan: 0.139 -> 0.144, fix crash on startup → https://git.io/vxcdb
<clever>
nioncode: thats how nearly everything else in nixpkgs works
<nioncode>
clever: maybe I'll try to set it up with patchelf soonish. but buildFHSUserEnv is exactly designed for such issues, so it seems weird that it doesn't support an interactive bash
justbeingglad has left #nixos [#nixos]
huxx has quit [Quit: Page closed]
<{^_^}>
[nixpkgs] @volth opened pull request #37562 → libguestfs: fix path to appliance → https://git.io/vxcF1
<TweyII>
How does -march=native work with gcc in Nix? Do we explicitly nerf it down for determinism?
<TweyII>
I'm seeing a behaviour where -march=native doesn't seem to pick up the AVX2 instructions available on the native CPU — have to pass -mavx2 explicitly
<fendor>
oh, so it is not recommnended to use it anymore?
<clever>
yeah, ~/.config/nixpkgs/config.nix has replaced it
<fendor>
clever, nice, thamls
<fendor>
tnkas
<fendor>
thanks
rauno has joined #nixos
<bennofs>
anyone ever seen something like this before: http://ix.io/10su
rauno has quit [Remote host closed the connection]
<LnL>
nope, kind of looks like the error you get when executing a mach-o file on linux
<freeman42x>
is <<how to set calendar week start?>> a #NixOS specific twist question?
<LnL>
I would think something like glibc but that's a different error IIRC
goibhniu has quit [Ping timeout: 240 seconds]
fendor has quit [Ping timeout: 255 seconds]
<bennofs>
this is NixOS-on-raspberry pi
<bennofs>
it's an ARM64 binaryso that's right at least
reinzelmann has quit [Quit: Leaving]
<bennofs>
but even objdump doesn't recognize it :/
fendor has joined #nixos
<LnL>
what does file think about it?
<bennofs>
systemctl: ELF 64-bit (SYSV)
<Dezgeg>
what's 'uname -m' ?
<bennofs>
aarch64
<{^_^}>
[nixpkgs] @Ma27 opened pull request #37566 → pythonPackages.face_recognition: init at 1.2.1 → https://git.io/vxcpW
periklis has joined #nixos
<Dezgeg>
maybe the store path is corrupt then?
maximiliantagher has joined #nixos
<bennofs>
hmm ./f4zv626ijhk7yb8ibfvzac1kcv1nnnd9-systemd-234/bin/systemctl is corrupt, but ./amwzph3nq8abfia62p64fzcx32fdbaq6-systemd-234/bin/systemctl works
kiloreux has quit [Read error: Connection reset by peer]
ron__ has quit [Ping timeout: 265 seconds]
kiloreux has joined #nixos
<fendor>
how can i install a guest plugin for vagrant? specifically for virtualbox?
spear2 has quit [Ping timeout: 240 seconds]
WhittlesJr has joined #nixos
periklis has quit [Ping timeout: 240 seconds]
<fendor>
i am asking here, because the commnad fails, and i suspect nix is doing somethign vagrant cant handle
stqism has quit [Quit: Like 3 fire emojis lit rn 🔥🔥🔥]
<Myrl-saki>
clever: I found a way to use `runhaskell` without rebuilding ghc.
<WhittlesJr>
Question: I'm trying to use nixops to deploy to machines that have static IP configuration (via `networking.interfaces.eth0.ipv4.addresses`). I'm deploying from a machine that does not have an eth0 interface (it's `enp0s3`). I get "The option `networking.interfaces.eth0.ipv4'... does not exist." However if I ssh to the device (which does have an eth0), pull down the same config, and do `nixos-rebuild switch`, it works just fine. Wha
<sphalerite>
Any haskell developers here have an emacs setup where stuff like case-splitting works?
<sphalerite>
I'd rather like to use ghc-mod's emacs integration, but I haven't managed to get ghc-mod working — it tries to build its own cabal stuff and fails
<clever>
sphalerite: i think domenkozar got some of that stuff working
<{^_^}>
[nixpkgs] @dtzWill opened pull request #37576 → gtkspell3: add missing isocodes dep → https://git.io/vxC3I
<{^_^}>
[nixos-org-configurations] @grahamc opened pull request #40 → Automate deploying updates to the macs → https://git.io/vxC3y
blankhart has joined #nixos
<WhittlesJr>
Oh. My issue has nothing to do with network interfaces. It's because `ipv4.<name>.addresses` was only added in 18.03 (which the deployed-to device has), while the deploy-from machine is on 17.09.
iyzsong has quit [Ping timeout: 256 seconds]
<clever>
WhittlesJr: i prefer doing `nixops modify -d name deployment.nix -I nixpkgs=https://github.com/nixos/nixpkgs/archive/rev.tar.gz`
<clever>
WhittlesJr: then nixops will only ever use that revision, and ignore what the host has
xAFFE has left #nixos ["Rechner geht in den Ruhezustand"]
<sphalerite>
clever: yeah the haskell-ide-engine thing but that doesn't seem to have emacs support yet
<clever>
ahhh, i see
<pbogdan>
sphalerite: I have it working on 18.03 with ghc 8.2.2 but had to build from upstream's GH branch using custom expressions (and I only used its tab completion)
<sphalerite>
clever: meanwhile ghc-mod does have integration with ghc-mod (as part of ghc-mod itself) and the question is just how to get ghc-mod itself working
<sphalerite>
the emacs part works, but actually running ghc-mod doesnt'
<pbogdan>
(also doesn't include elisp files as I vendor those in my .emacs.d so didn't bother with those)
hyper_ch2 has quit [Quit: Page closed]
<pbogdan>
but should be enough to copy the postInstall from configuration-common.nix in nixpkgs to add those
erasmas has joined #nixos
<WhittlesJr>
clever: OK, that makes sense... I'm also finding https://github.com/NixOS/nixops/issues/649 and https://github.com/NixOS/nixpkgs/pull/11106, trying to solve the issue of supporting multiple versions of nixpkgs on one network. Although, I'm now thinking maybe this issue is worse than I thought, because my targets are raspberry pis on aarch64 and my host is an x86_64 virtualbox vm.
<WhittlesJr>
clever: Wouldn't building from x86_64 and deploying to aarch64 be impossible anyway? Is there a way to foist the build process of onto the devices themselves?
<clever>
WhittlesJr: you either need to setup cross-compiling of nixos (tricky), or just set nixpkgs.system = "aarch64-linux"; i think, and it will build on the pi's
<boomshroom>
Someone on /r/rust is working on an OS that runs WASM in kernel space. If it ends up as Posix-compliant, we'd already have the ability to target it.
<kuznero>
coconnor: looks very interesting... I need to try it :)
<kreisys>
Hey I feel like I'm missing something. It doesn't look like Nix is building anything in parallel
roberth has quit [Ping timeout: 265 seconds]
<kreisys>
There seem to only be one builder running at any given time
<Sonarpulse>
boomshroom: link to the reddit thing?
<kreisys>
I'm just grepping ps though so it's not a scientific observation
<Sonarpulse>
elvishjerricco is the person to ask for all things nix+wasm
asuryawanshi has quit [Remote host closed the connection]
<{^_^}>
[nix] @coreyoconnor opened pull request #2000 → manual: correct repeated "--deriver". Add missing single char option aliases. → https://git.io/vxCWh
MinceR has quit [Ping timeout: 268 seconds]
zzamboni has quit [Quit: Leaving.]
MinceR has joined #nixos
zzamboni has joined #nixos
<tilpner>
kreisys - How many build users do you have?
<kreisys>
32 as created by the installer by default
<kreisys>
yet I only ever see nixbld1 being used
<kreisys>
I changed max-jobs to 32
<kreisys>
tried running with -j32
<kreisys>
doesn't seem to make a difference
<kreisys>
building my behemoth node app takes more than 2 hours rather than 10-15 minutes with npm
<srhb>
lejonet: While I remember: (random braindump): integrating the ceph-volume systemd service is really icky. It's quite opinionated about doing stuff like systemctl enable, systemctl start and things. An easier route appears to be to use the bluestore tool to prime the /var/lib/ceph/osd/ceph-${id} directory with the right things.
zzamboni has quit [Client Quit]
<coconnor>
kreisys: basic Q - is there actually multiple independent derivations that can be built?
zzamboni has joined #nixos
<srhb>
lejonet: (In the end the only autodiscovery that's really necessary is ls /dev/ceph*/*${osd-fsid} to find the block device to give bluestore tool. That requires knowing the fsid in advance of course, otherwise one needs to parse out that information from the lvm tags)
<kreisys>
coconnor: there should be... unless I'm getting this totally wrong. like there's a "root" derivation that has a bunch of buildInputs, which in turn have their own buildInputs ad nauseum
<coconnor>
correct
<kreisys>
It's all rendered from a ginormous npm-shrinkwrap
<coconnor>
which forms a lazy graph
<coconnor>
and is reduced to a single derivation on instantiate
<coconnor>
nix can only build parallel paths in the DAG in parallel
<kreisys>
DAG?
<coconnor>
there is certainly a chance for a single derivation to be a choke point
<coconnor>
errr directed acyclic graph
<kreisys>
sorry :P
zzamboni has quit [Client Quit]
<coconnor>
ignore the DAG bit. doesn't matter
zzamboni has joined #nixos
<coconnor>
anyways, consider something like a compiler
<kreisys>
yeah
<coconnor>
even with hundreds of libraries to build, if they all depend on that one compiler. No parallel until that compiler is built
kuznero has quit [Quit: Page closed]
<coconnor>
so, what's the package being built? Is it possibly a choke point?
<kreisys>
could be. but the build code is fairly complex so I want to rule out a config issue on my part
coot has quit [Quit: coot]
<kreisys>
what could be a choke point?
<kreisys>
like I suspected that perhaps using a foldl' somewhere could create a serial bottleneck if there are derivations in the array given to foldl'
<{^_^}>
→ 4a3ad82b by @mpickering: dontCheck pure-zlib
<{^_^}>
→ 3c6dcdb7 by @peti: Merge pull request #37588 from mpickering/pure-zlib
TweyII has quit [Quit: WeeChat 1.7]
rihards has joined #nixos
<dhess>
I'm trying to nix-copy-closure GHC to a BeagleBone Black and it's running out of memory (the old 'warning: dumping very large path (> 256 MiB); this may run out of memory' problem). Anyone have any advice or tricks on how to get it to work?
<steveeJ>
hey, I've been having trouble with lightdm screen locking lately: it doesn't unlock. I've tried locking via dm-tool and also running light-locker separately
ma27 has quit [Ping timeout: 256 seconds]
<clever>
dhess: nix 2.0 copies store paths around as std::string's, so you need enough ram+swap to hold the biggest storepath
<dhess>
clever: yeah this has just started happening now that I've upgraded all my hosts to 2.0 :(
__Sander__ has quit [Quit: Konversation terminated!]
<dhess>
clever: I can bump swap though, thanks
<dhess>
swap on an SD card... ugh
mariel__ has joined #nixos
Fare has quit [Ping timeout: 240 seconds]
shabius_ has joined #nixos
boomshroom-away is now known as boomshroom
aloiscochard has quit [Ping timeout: 276 seconds]
alphor_ has quit [Ping timeout: 276 seconds]
ThatDocsLady_ has quit [Ping timeout: 240 seconds]
MightyJoe has quit [Read error: Connection reset by peer]
ahmedtd_ has quit [Quit: No Ping reply in 180 seconds.]
paraseba has quit [Ping timeout: 276 seconds]
akl has quit [Ping timeout: 276 seconds]
woboats has quit [Ping timeout: 276 seconds]
yastero has quit [Ping timeout: 276 seconds]
Forkk has quit [Remote host closed the connection]
awygle has quit [Remote host closed the connection]
<aminechikhaoui>
Folks, does the nix-daemon look to CURL_CA_BUNDLE env var still to lookup the certificate path ?
<coconnor>
I spent a while trying to trick nix to rebuild the dummy derivations every evaluation
<coconnor>
did not succeed
<kreisys>
oh I just garbage collected after each time like a peasant
<coconnor>
hahaha
<coconnor>
things I tried - Name being a derivation. Nope. Nix caught that and rejected the name.
<coconnor>
using 'builtins.getEnv "RANDOM"'. Also did not work. tho not sure why...
fendor has joined #nixos
mariel__ has quit [Ping timeout: 240 seconds]
<kreisys>
isn't it supposed to protect you from impurities?
Izorkin has quit [Read error: No route to host]
deepfire has quit [Ping timeout: 246 seconds]
mariel__ has joined #nixos
<coconnor>
yeaa.. I thought I could trick nix
Izorkin has joined #nixos
deepfire has joined #nixos
<fendor>
can i install vagrant-plugins via nixos, or how can i install vagrant plugins on nixos?
kiloreux has joined #nixos
mck has joined #nixos
srjek|home has joined #nixos
<mck>
Did something happen with nixos-unstable channel? I haven't had any updates in a while, and it seems to have not been updated since the 5th of this month
kiloreux_ has quit [Ping timeout: 252 seconds]
<dhess>
mck: nixos-unstable-small is newer, though it is has also been stuck for the last couple of days.
<{^_^}>
→ a7bc556c by @dtzWill: gtkspell3: add missing isocodes dep
<{^_^}>
→ c945978f by @dtzWill: Merge pull request #37576 from dtzWill/fix/gtkspell3-isocodes
<mck>
dhess: what's the diff between unstable and unstable-small?
<dhess>
mck: The set of packages that have to build before a release is made
orivej has joined #nixos
ron__ has joined #nixos
<dhess>
mck: I run nixos-unstable-small on all of my servers and rarely hit anything that isn't in the cache. I'm not sure that would be the same story on a desktop, though.
asuryawanshi has quit [Read error: Connection reset by peer]
asuryawanshi has joined #nixos
nuncanada has quit [Ping timeout: 240 seconds]
ilyaigpetrov has quit [Quit: Connection closed for inactivity]
<{^_^}>
[nixpkgs] @mdorman opened pull request #37589 → guile-1.8: Re-add `libtool` to `propagatedBuildInputs` → https://git.io/vxCrh
tmaekawa has quit [Quit: tmaekawa]
<etu[m]>
dhess: Nah, big difference between nixos-unstable and nixos-unstable-small is the amount of tests that are required to move each channel forward. Small doesn't include graphical things like plasma, gnome, firefox, chromium etc.
<gchristensen>
* and also the number of packages built
<etu[m]>
dhess: So I wouldn't run a small channel on a desktop due to eventual breakage. And at the moment nixos-unstable is way behind nixos-unstable-small :)
<etu[m]>
gchristensen: Yeah, sure, but I find that the less important part. The more important part is if things work :p
<dhess>
err well they certainly don't work if they don't build...
<etu[m]>
dhess: Just because they aren't in the binary cache doesn't mean that they don't build :)
detran has joined #nixos
asuryawa_ has quit [Remote host closed the connection]
<catern>
waaait a second
ma27 has joined #nixos
asuryawanshi has joined #nixos
<catern>
here's an idea for how to solve the "package recipe is duplicated between nixpkgs and default.nix in the repo" problem. just have the default.nix in the repo override the package recipe in nixpkgs, with the source in that repo!
<catern>
has anyone proposed this before? are there any downsides? this seems to just solve the problem
<gchristensen>
what if not just the source is different?
<catern>
like what?
<gchristensen>
like the default.nix changed
<catern>
if you need to build it differently, then you have to update nixpkgs anyway
<catern>
so to change the default.nix, you have to change nixpkgs
knupfer has joined #nixos
<acowley>
steveeJ: I'm using lightlocker with lightdm
<{^_^}>
[nixpkgs] @globin merged pull request #36992 → profanity: fix build on darwin → https://git.io/vxIvn
<{^_^}>
[nixpkgs] @globin pushed commit from @hschaeidt to master « profanity: refactor build to build from source »: https://git.io/vxCK2
<catern>
er, that is, instead of locally changing your default.nix, you just change the one in nixpkgs instead. doesn't seem too onerous
<acowley>
Anyone have experience building clang forks?
* hodapp
has experience clanging forks o_O
<acowley>
I'm trying to package AMD's hcc compiler, which depends on a modified clang, but it's all defined as one big build
<LnL>
rust also depends on an llvm fork
<acowley>
So I end up running into troubles due (I think) to not having a proper wrapper
<acowley>
What I'm trying now is splitting its build into parts
<acowley>
With the hope that I can build its llvm and clang, then have a derivation that provides a wrapped clang, then use the wrapped clang for the later parts of the build
<acowley>
But I wish there was an easier way
Ariakenom has joined #nixos
<acowley>
The fact that the builds take so long adds to the bad feelings
<acowley>
I haven't tracked down where it is defined, but I suspect Rust's use of a custom LLVM is a bit simpler.
<acowley>
The hcc build attempts to use their tricked-out clang to actually build and link executables
<acowley>
So it needs the nix magic
<LnL>
well, I gave it a shot a while back but I wasn't able to get llvm into a separate build
<acowley>
That's bad news for me! Any recollection of what went wrong?
<acowley>
I think I have hcc's clang building now, actually. It just finished in a nix-shell, so I'll have to try again with nix-build
<acowley>
But I don't know how to do the wrapping part. I'll try, and probably eventually have to beg shlevy for guidance.
<acowley>
Actually, I really need to figure out the installation part
<acowley>
I don't want to sit through a three hour build and have it drop the ball during install
mck has quit [Quit: Page closed]
<LnL>
something weird during the rust build itself, don't remember exactly
<acowley>
So the build I have produces build/bin build/lib build/compiler, and the real jewels are in build/compiler. Will the default cmake installer copy them into $out?
<acowley>
I can't figure out how to run installPhase in a nix-shell -A
<LnL>
in some cases out=/tmp/foo works but sometimes there are other references to the actual out path
<acowley>
I tried setting the variable, but it didn't work
<acowley>
Given that this is cmake, I'm sure it's duplicated in 99 places
<LnL>
:p
MichaelRaskin has joined #nixos
asuryawa_ has joined #nixos
asuryawanshi has quit [Read error: Connection reset by peer]
tv has quit [Ping timeout: 252 seconds]
Fare has joined #nixos
<symphorien>
You could try to bind mount a fresh directory on the intended $out to complete the install in nix-shell
<{^_^}>
→ 35ad8dde by @ryantm: mir-qualia: 1.0.0 -> 2.0.0
<{^_^}>
→ d32ce054 by @srhb: Merge pull request #37513 from ryantm/auto-update/mir.qualia
zzamboni has quit [Read error: Connection reset by peer]
<dhess>
dammit, I can never remember the syntax for nixops rollback, and it's not in the manual
coot has quit [Ping timeout: 240 seconds]
<dhess>
nixops rollback --include foo 7
<dhess>
why doesn't that work?
<gchristensen>
anyone know how to get latexmk from nix / latex / texlive.combine ?
<steveeJ>
ha, WRT to the lightdm locking issue. it turns out when I just switch to the session's VT I can completely bypass the lockscreen. this is quite unexpected
<symphorien>
gchristensen: I use it, I didn't encounter any problem
<gchristensen>
symphorien: how do you get it ...?
<Dezgeg>
texlive.combined.scheme-medium includes it at least
<gchristensen>
hrm
<gchristensen>
is it in a special out?
maximiliantagher has joined #nixos
<Dezgeg>
or that's what 'nix-locate bin/latexmk' told me
<symphorien>
I have texlive full to alleviate this problem :°
<dhess>
wow you have to put the generation number after 'rollback', before any options
<{^_^}>
[nixpkgs] @vbgl opened pull request #37591 → coq: init at 8.8+beta1 → https://git.io/vxCyc
<infinisil>
dhess: The nixops CLI isn't very nice in general if I'm gonna be honest
<lejonet>
srhb: my intention was never to actually do anything with the ceph-volumes services but just enable the actual tool, to easier setup OSDs and actually be able to use bluestore
rihards has quit [Quit: rihards]
<dhess>
infinisil: I'm gonna be honest and agree with you :)
<srhb>
lejonet: The tool is really the problematic part.
<srhb>
But I suppose the "prepare" part is okay :)
maximiliantagher has quit [Ping timeout: 240 seconds]
<lejonet>
srhb: "The tool", what are you referring to in that context? The tool for me is just the ceph-volumes binary, which you can use to prepare the physical disks for becoming an OSD, anything outside of that I don't give a rats ass about xD
<srhb>
lejonet: I do mean that :) And essentially every subcommand but "prepare" is problematic -- but that one is fine! :)
<srhb>
lejonet: Anyway, I was just sharing my experiences. After ceph-volume prepare I ended up making an ExecStartPre with ceph-bluestore-tool to provision the /var/lib/ceph/osd/ceph-${id} directory with the correct device.
<srhb>
Because the activation part of ceph-volume is too opinionated.
reinzelmann has joined #nixos
<lejonet>
srhb: yeah, and its a bit hard that bluestore isn't really a fs so we just can use fileSystems to mount it :/
<srhb>
It's not terrible. In the end ceph-bluestore-tool takes care of linking the block device in place. The rest is just wrangling ownership and permissions :)
<srhb>
But yes, the older method was much simpler.
<lejonet>
I'll see what I can do :P
<srhb>
And it's annoying that the logic for getting a block device from an osd.id is gated in ceph-volume badness, so I had to do that myself.
<lejonet>
Yeah, that is quite bad
<srhb>
(I made osd.daemons an attrsOf (submodule ...) which contains the fsid -- good enough for me)
<lejonet>
I'll have to digg into ceph-volumes and bluestore properly and see if I can find some neat nix-way to do it
kthnnlg has joined #nixos
rauno has joined #nixos
<srhb>
lejonet: Extracting the fsid (for finding the block device) should be no harder than using the lvm tools to read the tags and wrangle that :)
<srhb>
lejonet: Anyway, I managed, so it's clearly doable! :-)
<lejonet>
fsid, you mean the cluster fsid or a bluestore specific one? :P
<kthnnlg>
Hi All, I have a nixos system that has little space available on the /nix/store partition, but I'd like to use nix-shell to load various new packages. Can I somehow get nix-shell to store the package data on an external drive? If yes, can someone point me to the instructions? Thanks
<lejonet>
srhb: if you've got the time, care to share the solution of nix code and I'll see if I can incorporate that or see if I can use that as a base?
<srhb>
lejonet: I mean the OSD fsid. It's used for the tag in lvm
Mateon3 has joined #nixos
<lejonet>
srhb: hmm, I'm guessing it can't be set to a known value, kindof how you make OSDs the manual way?
<srhb>
lejonet: I'll try to remember tomorrow! I left work without pushing to anywhere I can reach right now, heck of a day. :P
<srhb>
lejonet: Yes, you can feed the fsid to ceph-volume-prepare
<srhb>
lejonet: --osd-fsid :)
Mateon1 has quit [Ping timeout: 256 seconds]
<srhb>
er, ceph-volume prepare
Mateon3 is now known as Mateon1
maximiliantagher has joined #nixos
<lejonet>
srhb: Then it shouldn't be too hard to nixify it with that
<srhb>
The only thing I didn't do was the provisioning.
<srhb>
All the mounting and stuff works.
<srhb>
provisioning is just by-hand.
<lejonet>
Well yeah, but provisioning is kindof out of scope of the module too, that is more a nixops/other mechanism thing
<srhb>
I don't know.. It would be nice. :-P
<{^_^}>
[nixpkgs] @giraffito opened pull request #37592 → python.md: fix grammar around bdist_wheel FAQ → https://git.io/vxC97
<srhb>
By the way, the build system of the whole package just infuriates me, still.
<srhb>
I can't even build it with current in-tree boost.
<lejonet>
I've tried figuring out how to make "one-shot" things in a nice manner, but haven't really found any good way, a one-shot pre-start or activation script might be the only way :/
<lejonet>
haha
<srhb>
lejonet: Yes, something gated by the existence of /var/lib/ceph/osd/ceph-${id} should be fine
<lejonet>
Atleast they've gone over to cmake, so you don't have to figure out their wonky makefiles
<srhb>
lejonet: Apparently boost and cmake versions are basically tied to each other somehow.
<lejonet>
srhb: yep...
<srhb>
So my current 12.2.4 or whichever build uses the vendored boost, because... urghhh
<lejonet>
Boost has a tendency of doing that, kindof like ICU and firefox
peacememories has joined #nixos
<srhb>
It's infuriating. Anyway, thanks for listening! I'll try to remember to extract the bits for you tomorrow :)
<lejonet>
srhb: and I'll go and do that PR now :P
maximiliantagher has quit [Ping timeout: 264 seconds]
dan_b has joined #nixos
<srhb>
Oh, that reminds me. I think the order of the outputs is wonky. The one with the binary should go first. Not sure if that's your doing.
<lejonet>
srhb: I agree, not my doing either :P
<srhb>
(I noticed you had to do a lot of ceph.out because of this)
<lejonet>
Mhm
<lejonet>
I decided to not fiddle with it firstly, and focused on getting the module to work, now I can tend to those things
<srhb>
Sure thing!
<srhb>
I'm glad you're working on it! Let me know if I pester you too much :-)
<lejonet>
I noticed it rather early, because it screwed up all the binary paths :P
<lejonet>
srhb: haha, I'll surely do, don't worry tho, that is the wonders of async comms :) I can ignore you if needed, without you're comments disappearing :D
<lejonet>
your* siigh, stupid brain
<lejonet>
I'm just glad to get input ^^
ixxie has quit [Ping timeout: 240 seconds]
<lejonet>
I've just had a lot real life stuff lately, so even better to get pokes telling me I should do this too ^^
<maurer>
a/go 14
<lejonet>
maurer: computer says no. :P
maximiliantagher has joined #nixos
<maurer>
Sorry, I should add a script to weechat at some point to scan for that
<lejonet>
maurer: I do that all the time, its both nice and annoying to have per chat buffers :P
<gchristensen>
what is /go?
<gchristensen>
I just have /buffer ...
<lejonet>
probably a own-defined command
<gchristensen>
Mic92 has it too
<MichaelRaskin>
Well, it's a natural short alias for channel choice
<kthnnlg>
Hi All, I'm trying to run nix-shell from a sandbox on an external drive. The system is nix 2.0, and i already have installed nix-shell. To get the new store set up, I created a new directory and set the environment variable `export NIX_STORE_DIR=/home/rainey/mnt/store/`. However, it seems I'm missing some initialization, because the new `store` folder I'm pointing to is empty, and when I run `nix-shell -p htop`, I see `erro
<kthnnlg>
Can someone point me to the initialization I'm missing? Thanks
<Orbstheorem[m]>
WilliamHamilton: else you could try nix-build and then import the result with nix-env
<symphorien>
I don't understand your goal kthnnlg
<Orbstheorem[m]>
I don't recall the cmd by heart, but I can find it once I get home
<symphorien>
in any case nix 2.0 has an option to specify the store location
<kthnnlg>
symphorien: my goal is to bypass the limited storage on my main nix/store partition
<symphorien>
(as in cli option, not env var)
kiloreux has quit [Remote host closed the connection]
<symphorien>
ok I see
<kthnnlg>
basically, i want a development environment where i can pull in packages without worrying about running out of sapce
<kthnnlg>
space
blankhart has quit [Ping timeout: 256 seconds]
<kthnnlg>
ideally, i'd have a minimal nix store that's permanent on the main small drive
<kthnnlg>
and i'd have a large store i can access via nix-shell, when i plug in my external drive
ma27 has joined #nixos
<symphorien>
kthnnlg: nix 2.0 has a --store option you can use with file:///path/to/store I think
<MichaelRaskin>
I am considering migrating from ii to weechat, but setting weechat to behave like ii (it did work for mcabber, after all). Why even use weechat? To start using matrix, eventually.
<{^_^}>
[nixpkgs] @dtzWill merged pull request #37593 → ngx_brotli: update for fixes, zero copy. → https://git.io/vxC7v
<{^_^}>
→ 00fb7d29 by @dtzWill: vim-plugins: updates!
<{^_^}>
→ 4ee6de5b by @dtzWill: Merge pull request #37491 from dtzWill/update/vim-plugins-many-2018-03-20
asuryawanshi has quit [Remote host closed the connection]
<WilliamHamilton>
Orbstheorem: I got the insight of seeing in one command line though, thanks. Now, here's something that I don't understand: let's say that I install first a package via nix-env -iA and then the "same" package with another option using one of these methods
<WilliamHamilton>
does the second one "shadow" the first one as they have the same name?
<Orbstheorem[m]>
if there's a conflict nix-env will refuse
<symphorien>
WilliamHamilton: are you on nixos ?
<Orbstheorem[m]>
you will have to remove one before (nix-env -e )
jrolfs has quit [Quit: WeeChat 2.0]
<WilliamHamilton>
symphorien: indeed
<Orbstheorem[m]>
if there's no conflict it will just make a new closure
<kthnnlg>
symphorien: following your --store suggestion, i tried`$ nix-shell --store file:////home/rainey/mnt/store -p htop`, checking that /mnt/store exists and has plenty of free space, the following error happened: `error: requested operation is not supported by store 'file:////home/rainey/mnt/store'`
<symphorien>
WilliamHamilton: then use configuration.nix. It does not have all this flakiness with name vs attribute vs version comparison
<WilliamHamilton>
so adding something wouldn't be a conflict in this case?
zzamboni has quit [Quit: Leaving.]
<Orbstheorem[m]>
Let me reword: (have to remove one -> have to remove the one already used)
<Myrl-saki>
What does Nix 2.0 provide aside from a better interface(?)?
<symphorien>
kthnnlg: I have never used this option, all I know is that it exists, and that you put a / too much
<Myrl-saki>
IIRC, Nix 2.0 is the one that follows the git interface model?
<Myrl-saki>
Or?
<symphorien>
WilliamHamilton: nixos-rebuild would complain that two packages provide the same file
<Orbstheorem[m]>
I only use nix-env when I'm too laze to nix-shell or when an already-running program needs a binary
<symphorien>
and any way, since it is declarative, you would have seen it before
<Orbstheorem[m]>
Myrl-saki: Git interface?
<WilliamHamilton>
symphorien: Orbstheorem : right, in there I could write directly `dwarf-fortress.override ( { theme = "cla" ; } )` instead of dwarf-fortress
<Myrl-saki>
Orbstheorem[m]: `git ...`
<kthnnlg>
symphorien: oops, thanks. turns out that the extra / didn't change anything. In any case, it looks promising that somehow it should be doable
<{^_^}>
→ 77c164e3 by @jtojnar: fixup! gnome3.gnome-session: fix build
<{^_^}>
→ a0663ecf by @jtojnar: fixup! gnome3.gnome-shell: fix build
<Orbstheorem[m]>
`nix rebase -i -S` ? :P
<Myrl-saki>
Orbstheorem[m]: :x
<Orbstheorem[m]>
WilliamHamilton: yep
<Myrl-saki>
Is `nix copy` === `nix-copy-closure`?
<Orbstheorem[m]>
WilliamHamilton: nota bene: after you build a derivation with nix-build you can integrate it with `nix-env -i /nix/store/adlkjl.....-my-package-0.25`
<WilliamHamilton>
Orbstheorem: right, thanks
<WilliamHamilton>
-i is for instantiate?
<WilliamHamilton>
it's the same to do nix-instantiate /nix/store/path?
<Orbstheorem[m]>
install*
<Myrl-saki>
Oh cool. Nix also use the term porcelain and plumbing.
<Orbstheorem[m]>
I don't know, I don't think so
<{^_^}>
[nixpkgs] @thoughtpolice pushed 3 commits to master: https://git.io/vxCAq
<{^_^}>
→ df861685 by @thoughtpolice: icestorm: 2018.03.07 -> 2018.03.21
<{^_^}>
→ 7a00f136 by @thoughtpolice: yosys: 2018.03.07 -> 2018.03.21
<{^_^}>
→ 011e7015 by @thoughtpolice: symbiyosys: 2018.03.07 -> 2018.03.21
ma27 has quit [Ping timeout: 245 seconds]
<Myrl-saki>
Wait what.
<Orbstheorem[m]>
WilliamHamilton: IIRC nix-instantiate will create store paths from definitions, I believe it's called behind the scenes by nix-build
<Myrl-saki>
What's the use of FP numbers for Nix?
<gchristensen>
Nix has FP?
<WilliamHamilton>
oh, so the previous command was only to install a path from the store in my user-profile
<Myrl-saki>
gchristensen: It supports floating point numbers. They are based on the C++ float type and are supported by the existing numerical operators. Export and import to and from JSON and XML works, too.
zzamboni has quit [Read error: Connection reset by peer]
<Myrl-saki>
gchristensen: Ah, true.
zzamboni has joined #nixos
<Myrl-saki>
Nix no longer depends on Perl and all Perl components have been rewritten in C++ or removed. The Perl bindings that used to be part of Nix have been moved to a separate package, nix-perl.
<{^_^}>
[nixpkgs] @dtzWill opened pull request #37598 → ghc-{8.2.2,8.4.1}: fixups mostly for cross, musl → https://git.io/vxCAK
coot has joined #nixos
<WilliamHamilton>
the function mkDerivation, if I understand correctly, makes a derivation, which is a nix set with type=derivation
<Myrl-saki>
\o/
siel has quit [Ping timeout: 245 seconds]
<dhess>
but Hydra....
<WilliamHamilton>
now, this derivation is built, but for example, in the link I pointed early, there are some random attributes like runDFHack. Where do those go?
<gchristensen>
dhess: one bit at a time!
<dhess>
hehe
<symphorien>
WilliamHamilton: the file you linked is a function which takes dependencies and random other things and returns a derivation
<Myrl-saki>
Is there a github issue tag for nixpkgs suggestions?
dan_b has quit [Remote host closed the connection]
<WilliamHamilton>
symphorien: ok, and when the derivation is built, where do those attributes go?
<symphorien>
with .override you "rerun" the function with different arguments and get a new derivation
<WilliamHamilton>
I mean, what's the meaning of the random fields in a derivation?
<symphorien>
it is up to the fuction
<symphorien>
they only have a conventionnal meaning
jtojnar has quit [Quit: jtojnar]
<symphorien>
argument whose name is a package are usually a dependency
davidlt_ has joined #nixos
<{^_^}>
[nixpkgs] @rycee pushed commit from @svsdep to master « skypeforlinux: 8.16.0.4 -> 8.17.0.2 »: https://git.io/vxCxu
<{^_^}>
→ 1d854b47 by @dezgeg: edk2: Reformat a bit for readability
<{^_^}>
→ 16450119 by @dezgeg: OVMF: Reformat a bit for readability
<{^_^}>
→ f59eab75 by @dezgeg: edk2, OVMF: Build on aarch64
roberth has quit [Ping timeout: 240 seconds]
<kthnnlg>
Is there a nix-supported method for writing a nix derivation that when called by nix-shell spawns a service (I want to run the ipfs daemon for only the duration of the nix-shell instance)?
<{^_^}>
[nixpkgs] @dezgeg pushed commit from @xeji to master « libhttpseverywhere: fix build »: https://git.io/vxCpP
<{^_^}>
[nixpkgs] @dezgeg pushed commit from @xeji to release-18.03 « libhttpseverywhere: fix build »: https://git.io/vxCpN
dan_b has joined #nixos
<{^_^}>
[nixpkgs] @rycee pushed 2 commits to release-17.09: https://git.io/vxChG
<{^_^}>
→ 87b6b8ea by @svsdep: skypeforlinux: 8.13.0.2 -> 8.16.0.4
<{^_^}>
→ edf1079d by @svsdep: skypeforlinux: 8.16.0.4 -> 8.17.0.2
blankhart has joined #nixos
<WilliamHamilton>
symphorien: is there a way to see all the store folders added by a derivation?
<symphorien>
tree /nix/store/hash-name
<WilliamHamilton>
symphorien: of course, but I mean, is a derivation forced to write in only one hash-name? I'd like to get all the hash-names
<symphorien>
one derivation == one hash
<symphorien>
well there is split output derivations
<WilliamHamilton>
symphorien: let's do an example: the command in the file we talked about earlier generates at least /nix/store/hash-dwarf-fortress and /nix/store/hash-dwarf-fortress-env
<symphorien>
I don't know what happens in this case
kuznero has joined #nixos
<symphorien>
ah to have the dependencies ?
<WilliamHamilton>
but I had to find out investigating; I'd like a principled way to discover it upfront
<kuznero>
Hi All!
<symphorien>
those are different derivations
<symphorien>
nix-store -qR /nix/store/hash-name will print all the recursive dependencies
alex`` has quit [Quit: WeeChat 2.0.1]
<symphorien>
see the man page for more options
<WilliamHamilton>
symphorien: yes, to have the dependencies
<kuznero>
Is it possible to patchelf or something like that a binary such that it starts using musl instead of glibc?
<WilliamHamilton>
symphorien: perfect, thanks!
<symphorien>
kuznero: as far as I know you need to compile it differently
<symphorien>
so no patching afterwards
ma27 has joined #nixos
<{^_^}>
[nixpkgs] @pikajude merged pull request #37509 → Haskell: fix static libs on darwin → https://git.io/vxckC
<{^_^}>
→ 0458c7b8 by @pikajude: fix static libs on darwin
<{^_^}>
→ d6a0652d by @pikajude: Merge pull request #37509 from pikajude/darwin-hs-dynamic
siel has quit [Ping timeout: 276 seconds]
<kuznero>
symphorien: I am aware of this way. Problem is that it is very difficult to get GHC/Haskell tool chain working against musl, so I was thinking about using standard GHC setup and re-wiring after the fact...
siel has joined #nixos
<symphorien>
well elf symbol names are different so...
<kuznero>
I see
blankhart has quit [Ping timeout: 260 seconds]
<{^_^}>
[nixpkgs] @jtojnar pushed 110 commits to gnome-3.28: https://git.io/vxCjK
<{^_^}>
→ f07202a4 by @jtojnar: deja-dup: remove unneeded rpath fixup
<{^_^}>
→ a1441dc0 by @jtojnar: meson: fix rpath fixup
<symphorien>
glibc's symbols are versionned, and they end with @@GLIBC_version
<{^_^}>
→ 294a1df2 by @jtojnar: epiphany: remove unneeded rpath fixup
<kuznero>
Ultimate goal really is to be able to build properly static binary. Problem with glibc is that it is loading dependencies dynamically no matter what. As oppose to that GoLang is calling kernel directly without using anything like glibc or musl. I think that was the right choice in 2009 :)
<{^_^}>
[nixpkgs] @LnL7 pushed to master « monero: fix darwin build »: https://git.io/vxWef
<{^_^}>
[nixpkgs] @LnL7 pushed to release-18.03 « monero: fix darwin build »: https://git.io/vxWeL
<Dezgeg>
glibc does support static builds for everything except the NSS functions, no?
coot has quit [Quit: coot]
blankhart has joined #nixos
<kuznero>
Dezgeg: yes, nss + one other I don't remember which. But that is the most useful usecase :)
drakonis has quit [Read error: Connection reset by peer]
lord| has joined #nixos
hiratara has quit [Ping timeout: 268 seconds]
Neo-- has quit [Ping timeout: 256 seconds]
dasblondegrauen has joined #nixos
<avn>
Folks, remind me please, what I need to do to "package" single file python script (with adding required library), script itself reside in same dir as .nix file (and I won't make full python source package with setup.py and other crap)
<{^_^}>
→ 77b205b9 by @jfrankenau: masterpdfeditor: 4.3.61 -> 4.3.82
<{^_^}>
→ 21159d8f by @yegortimoshenko: xfce4-13: init
<{^_^}>
→ 8d9e5400 by @bkchr: kde-applications: 17.12.2 -> 17.12.3
hiratara has joined #nixos
<symphorien>
avn: just a mkDerivation with installPhase = "mv src $out" and python as a buildInput, patchShebang will do the trick
<avn>
symphorien: yes, but what with required python libraries? (I need at least pythonPackages.click, because I am lazy)
<symphorien>
use python.withPackages instead of python
coot has joined #nixos
siel has quit [Ping timeout: 252 seconds]
siel has joined #nixos
<kuznero>
symphorien: another potentially satisfactory solution would be to try to build against some older version of glibc in NixOS such that it is likely to work on other debian based platforms without rebuilding sources.
<{^_^}>
→ c263af21 by @jtojnar: gtkspell3: add gir
ryanartecona has joined #nixos
<symphorien>
kuznero: are you trying to work around the FATAL: kernel too old problem ?
zzamboni has quit [Quit: Leaving.]
<kuznero>
symphorien: nope, I am trying to build haskell project on nixos build farm, produce statically linked binary and get it properly working on most glibc based docker images.
aarvar has quit [Ping timeout: 256 seconds]
<kuznero>
Which GoLang had solved...
<symphorien>
what doesn't work presently ?
<kuznero>
Different reasons: a) older versions of glibc typically on debian based images b) sometimes glibc is still dynamically loading a lot of stuff that does not necessarily exist on the target machine, etc.
siel has quit [Ping timeout: 246 seconds]
<kuznero>
I don't have exact problem at hands as I am trying to get back to solving this issue that I've encountered some time in the past.
<kuznero>
Problem is that `package-name-static` does not really always work ...
<dhess>
I upgraded my Hydra config yesterday, previously it was based on a Nixpkgs from December-ish. Anyway, since then I'm getting this error: access to path '/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash' is forbidden in restricted mode
<dhess>
in jobs that used to work just fine. The projects that I'm trying to build are unchanged. Any ideas?
<dhess>
I like Hydra but god damn are the evaluation errors infuriating
<coconnor>
dhess: likely related to a change in sandbox behavior
<kuznero>
dtz: that is exactly the PR that pbogdan referred me to. I agree that it is best to try to get ghc built against muslStdenv. Do you know if it is doable?
<{^_^}>
[nixpkgs] @obadz pushed commit from @ryantm to staging « xorg.libXfixes: 5.0.2 -> 5.0.3 »: https://git.io/vxWUP
siel has joined #nixos
maximiliantagher has quit [Remote host closed the connection]
<dtz>
kuznero: currently we build GHC using a binary distribution of GHC for bootstrapping
maximiliantagher has joined #nixos
<dtz>
and all of the ones we know about are glibc-based
<dtz>
now I did make it so glibc builds on a musl-native stdenv xD .... but
<dtz>
so building on top of the cross PR +some cleanup + tarball we should be in business
dbmikus has quit [Ping timeout: 276 seconds]
<dtz>
but that's a bit of work yet, not sure when I'l get to it sorry :)
<kuznero>
dtz: what are the potential problems in case of your PR?
<dtz>
not sure I understand the question, but I'm just saying the approach in the PR is to use a cross-compiling GHC... something that has only limited support in Nix-- although that's likely to change rather soon ^_^
<dtz>
went through alpine+void-linux+gentoo+gentoo's musl-overlay+ghc trackers while putting that together-- before the end I had frankenstein'd a bunch of fixes together xD
<dtz>
and misc github repos
<dtz>
happily mostly all those resources are in agreement / copy each other :)
<dtz>
took longer than I wanted.... since it takes forever to build haha
<{^_^}>
[nixpkgs] @obadz pushed commit from @ryantm to master « exrdisplay: 2.2.0 -> 2.2.1 »: https://git.io/vxWIi
<dhess>
shoot, I thought switching to builtins.fetchTarball for pinning Nixpkgs and other dependencies would fix this Hydra issue, but it didn't. Now hydra-eval-jobs complains about the URI for the fetchTarball
<dhess>
it does *not* complain about builtins.fetchGit
shabius_ has quit [Remote host closed the connection]
<{^_^}>
[nixpkgs] @thoughtpolice opened pull request #37602 → [WIP] nixos: support MOTDs with dynamic update → https://git.io/vxWOB
shabius has joined #nixos
digitus has quit [Quit: digitus]
zzamboni has joined #nixos
<{^_^}>
[nixpkgs] @primeos pushed to master « tdesktop: Clean up the patching »: https://git.io/vxWOV
jrolfs has quit [Ping timeout: 263 seconds]
<{^_^}>
[nixpkgs] @matthewbauer merged pull request #33597 → duosec: use root uid as sshd uid has been retired → https://git.io/vNIc8
<{^_^}>
[nixpkgs] @matthewbauer pushed commit from @ghuntley to master « duosec: use root uid as sshd uid has been retired (#33597) »: https://git.io/vxWO9
shabius has quit [Ping timeout: 256 seconds]
jrolfs_ has quit [Ping timeout: 260 seconds]
siel has quit [Remote host closed the connection]
<pbogdan>
acowley: you mean the channel not updating?
<kthnnlg>
Hi All, Quick question: suppose I want to write in my derivation `foo = (if getFooFromGithub then ... else import ../../foo/ { inherit pkgs; })`. What would I need to put in the `...` in the example in order to use a link to the github content (always linking to the same file contents)? Thanks
<acowley>
pbogdan: Yeah, everytime I glance at what's keeping it from updating it looks like most tests are failing.
<kthnnlg>
oops, i meant to say ` import ../../foo/foo.nix { inherit pkgs; }`
<acowley>
kthnnlg: (fetchFromGitHub { ... })
<pbogdan>
acowley: ah, AFAIK (and I know very little) it's a few unrelated failures - recent installer failures should be now fixed in master
<pbogdan>
fix for i3wm test is somewhere in staging
<acowley>
pbogdan: Wow, that's unfortunate that so many things would break together! I had wondered if it was nix 2.
<rotaerk>
why does the haskellPackage called vulkan and the one called vulkan-api depend on a system library called vulkan if no such package exists?
<rotaerk>
I'm *guessing* I need to somehow repoint it to vulkan-loader
<kthnnlg>
acowley: brilliant! thanks!
siel has joined #nixos
<pbogdan>
acowley: and there were also qt related failures related to specific Hydra builders (with no clear consensus on how to fix them)
<Nyanloutre>
Oh sorry I checked on the master and it is up to date
<Nyanloutre>
but it's not yet available in stable channels
erictapen has quit [Remote host closed the connection]
pie_ has quit [Read error: Connection reset by peer]
<acowley>
rotaerk: That is weird. The cabal files don't mention that dependency as far as I can see.