<ekleog>
srhb: it sounds quite unlikely, but… do you have a link to it?
<ekleog>
oh, the installer tests
<ekleog>
hmm. tests are run with no network access, right? so the perl patch can't be downloaded from the test, it has to already be in the store otherwise it won't work… right?
<{^_^}>
[nixpkgs] @marsam opened pull request #50439 → gitAndTools.git-absorb: init at 0.3.0 → https://git.io/fpGjt
<ekleog>
so *maybe* what happens is that the `nixpkgs` hydra passes in is not the same as the `nixpkgs` the installer test sees, and before it was not a problem because the `nixpkgs` the test actually used was not the one hydra passed in
<ekleog>
and if the `nixpkgs` hydra passes in doesn't have that perl patch, then it won't be downloaded before starting up the VM, and the VM will fail to download it, while before importing ../.. would have used the on-the-disk nixpkgs which, I guess, is the one passed through to the test
<ekleog>
srhb: what do you think about that?
mayhewluke has quit [Ping timeout: 268 seconds]
sigmundv__ has joined #nixos
mayhewluke has joined #nixos
<{^_^}>
[nixpkgs] @Mic92 opened pull request #50440 → nixos/nix-daemon: default to build with all cores available → https://git.io/fpGjw
v0|d has joined #nixos
<v0|d>
OK, nix-shell '<nixpkgs>' -A gcc8Stdenv , source $setup && gcc -v gives me gcc8. -p gcc8Stdenv does not, falls back to gcc7. Similarly, nix-shell '<nixpkgs>' --arg crossSystem '(import <nixpkgs> {})....lib.systems....muslpi' -A gccStdenv , I can get a cross compiler. Any ideas how to make it easier via -p, let me know.
romanofskiWork has quit [Quit: leaving]
<clever>
v0|d: nix-shell sources setup for you
<v0|d>
normally it does, for stdenvs I cant make it working somehow.
<v0|d>
nix-shell -p gcc8Stdenv gives me gcc7.
<clever>
v0|d: that gives you a shell suitable for building gcc8Stdenv, not for using it
<clever>
you want -A
<clever>
no, -E
<clever>
basically, -p just calls stdenv
<clever>
so you have stdenv.mkDerivation { buildInputs = [ gcc8Stdenv ];
maximiliantagher has quit [Read error: Connection reset by peer]
maximiliantagher has joined #nixos
romanofskiWork has joined #nixos
hakujin has joined #nixos
hakujin has quit [Ping timeout: 272 seconds]
hakujin has joined #nixos
hakujin has quit [Ping timeout: 244 seconds]
hakujin has joined #nixos
<{^_^}>
[nixpkgs] @NeQuissimus pushed 3 commits to release-18.09: https://git.io/fpZJ0
vidbina has quit [Ping timeout: 268 seconds]
Supersonic has quit [Ping timeout: 276 seconds]
<{^_^}>
[nixops] @Mic92 opened pull request #1047 → nix/eval-machine-info.nix: fix evaluation with nixpkgs master → https://git.io/fpZJP
Supersonic has joined #nixos
hakujin has quit [Quit: WeeChat 2.3]
drakonis has quit [Quit: WeeChat 2.3]
<v0|d>
https://pastebin.com/VmT5ambJ $ nix-shell -E 'let twice = import <nixpkgs> {}; in with import <nixpkgs> { crossSystem = twice.lib.systems.examples.muslpi; }; gcc8Stdenv.mkDerivation { name = "foo"; }' fails due to errs in libstdc++v3, unsurprisingly.
<v0|d>
add enableParallelBuilding = true; if you want to try.
<ekleog>
srhb: ok I don't get it. bisect landed on [39a9b865b57a35911d5783ab245217f5f7098e64] gtk: new service giving support to GTK+ applications ; which appears totally unrelated :(
<ekleog>
oh, no
<ekleog>
it added it with default=true, so maybe that added a dep to gtk3 that wasn't there before
* ekleog
got to go, if someone can take this over it'd be great
maximiliantagher has quit [Remote host closed the connection]
maximiliantagher has joined #nixos
<colemickens>
Whoa! Spent all day trying ot build Firefox for Wayland and gave up after updating a few deps.
<colemickens>
Turns out they just turned on Wayland for nightly bin builds. :D
<yl[m]>
is there a magic sequence to stop `[ ***] A start job is running for Extra neng commands. (13min 7s / no limit)`? I can't seem to stop it to get the shell (made a mistake and the command is looping forever)
maximiliantagher has quit [Ping timeout: 272 seconds]
romanofskiWork has quit [Read error: Connection reset by peer]
the-kenny has joined #nixos
samrose has quit [Ping timeout: 245 seconds]
<colemickens>
yl[m]: sometimes if you spam ctrl+c fast enough it'll break out
<yl[m]>
I tried still stuck. I also tried systemd.debug_shell command line but I don't see a shell on tty9
<yl[m]>
oh nice there's `systemd.mask=`
<yl[m]>
I'll try that
jasongrossman has quit [Ping timeout: 252 seconds]
<yl[m]>
so I have sshd listening on a specific address `services.openssh.listenAddresses = [ { addr = "172.25.250.3"; port = 22; } ];` and this address itself is setup manually as a VLAN. Upon reboot, the sshd service always fails to boot with the error messages `error: Bind to port 22 on 172.25.250.3 failed: Cannot assign requested address` which I believe it's happening because sshd is started before the interface. How to solve this?
<yl[m]>
Would it work if I add `ifcadmin-netdev.service` to `systemd.services.sshd.after`?
<{^_^}>
[nixpkgs] @dtzWill merged pull request #50426 → glibc, ghc: disable PIE hardening when enabled by default (musl for now :)) → https://git.io/fpGVP
<yl[m]>
I'm switching from systemd-boot to grub. I've done all the necessary nixos-config changes and run `NIXOS_INSTALL_BOOTLOADER=1 nixos-rebuild switch` to get grub installed after which I had to use efibootmgr to get Grub to be the first in the order. But I'm still having a problem where grub simply presents a shell and I have to manually invoke it (see https://usercontent.irccloud-cdn.com/file/FRGCjKLy/20181115_195517.jpg). Why is
<yl[m]>
that? How come grub does not load normal as it should?
<yl[m]>
interesting that the prefix is actually set to (hd1,gpt1) but it should be (hd2,gpt1)
o1lo01ol1o has joined #nixos
equalunique has quit [Read error: Connection reset by peer]
equalunique has joined #nixos
the-kenny has joined #nixos
jasongrossman has quit [Remote host closed the connection]
<jhillyerd>
I'm really rusty at grub, but I think that's what you see if it doesn't find your root partition with grubs config
<yl[m]>
actually, it turned that this Grub is leftover from Ubuntu that was installed with the laptop
<yl[m]>
NixOS does not seem to be putting the entry because I assume it saw the one from systemd-boot and stopped there
<yl[m]>
I'm manually removing them with efibootmgr (I'll actually keep the ubuntu one, good for troubleshooting)
o1lo01ol1o has quit [Remote host closed the connection]
jmeredith has quit [Quit: Connection closed for inactivity]
<yl[m]>
I believe that I figured it out, going to reboot to try again
the-kenny has quit [Ping timeout: 240 seconds]
romanofskiWork has quit [Quit: leaving]
<jhillyerd>
good luck :)
b has quit [Ping timeout: 245 seconds]
vk3wtf has quit [Ping timeout: 252 seconds]
<yl[m]>
it worked. So the issue was that my laptop does not boot from nvme but I had the boot partition in there and when the boot from it fails it was falling back to the next item in the boot order and that was the ubuntu one in the included HDD. switching the boot partition to that one worked just fine.
equalunique has quit [Read error: Connection reset by peer]
<{^_^}>
[nixpkgs] @orivej-nixos pushed commit from @orivej to staging « gdb: 8.1.1 -> 8.2 (#50444) »: https://git.io/fpZO6
hotfuzz has quit [Ping timeout: 246 seconds]
<Peaker>
also, I have a bunch of nix files that use each other.. how do I use nix-shell with them to attempt to debug the build of one of the packages described in there?
<etu>
Peaker: I'm not sure about the reasoning, but I guess it's to make things more predictable and not having different timestamps on different systems.
hedning has joined #nixos
<Peaker>
https://github.com/lamdu/lamdu/blob/wip-nix/default.nix <-- trying to make this build work... currently not seeing how to control include paths passed to bindings-freetype-gl (so that they include the $out/include created by freetype2)
<Peaker>
but "nix-build" on that is a VERY slow debug cycle :-(
<ekleog>
Peaker: you can `nix-shell`, figure out the correct invocation, then try a `nix-build`
<ekleog>
doing `nix-shell -A` should drop you in an environment similar to the one used by `nix-build -A`
jperras has quit [Ping timeout: 240 seconds]
<Peaker>
what does '-A' mean in both?
<Peaker>
ekleog, not sure what to give to '-A' - it rejects simple names of packages
<avn>
etu: exactly
jperras has joined #nixos
<ekleog>
Peaker: i don't really know your setup, but if you `nix-build foo.nix -A bar`, then you should `nix-shell foo.nix -A bar`
<Peaker>
ekleog, I use "nix-build" with no args. no idea what to give "-A"
<ekleog>
-A is basically “evaluate this key in the attrset generated by foo.nix”
<ekleog>
so `nix-shell default.nix` or something like that should do it to drop you in an environment similar to the build
<ekleog>
you may want to add `--pure` to really get similar
<ekleog>
(but you won't have your editor etc. defined in it then)
<Peaker>
but build fails - so I suspect nix-shell the same way will fail too?
<ekleog>
no, shell won't try to build the package
<ekleog>
just drop you to a shell where you'll be able to try to build it by hand
<ekleog>
and once you figure out how to build it by hand (taking advantage of cached rebuilds) you'll be able to fix the default.nix :)
<Peaker>
well, default.nix is the lamdu package, and one of the nix files it loads defines freetype2 another defines bindings-freetype-gl. The latter fails to build, not lamdu. So nix-shell on lamdu's default.nix will likely fail
<ekleog>
oh well indeed, then
<ekleog>
but you should be fixing bindings-freetype-gl, and so doing the nix-shell on bindings-freetype-gl :)
<Peaker>
(lamdu depends on bindings-freetype-gl which depends on freetype2, all of these are defined in multiple nix files, default.nix is the "root" one defining lamdu)
<Peaker>
but then it won't see the "freetype2" dependency defined in another nix file?
<ekleog>
I don't understand your setup enough to help much more, you'll need to eg. show code :p basically, it should, but it depends on how exactly your files are structured
<ekleog>
ok, I'm not really familiar with the haskell infrastructure (and that's an euphemism), but you can try adding `bindings-freetype-gl = pkgs.[...].ghc862callPackkage ./nix/bindings-freetype-gl {};` at the end of your set along with the `lamdu =`, and add `-A bindings-freetype-gl` to your nix-build / nix-shell commands to operate on bindings-freetype-gl instead of on lamdu
Chiliparrot has joined #nixos
<Peaker>
ekleog, it's complaining that "GLEW" is not provided as an argument
jperras has quit [Ping timeout: 276 seconds]
<Peaker>
(to bindings-freetype-gl, when using nix-shell default.nix -A bindings-freetype-gl declared that way)
<Peaker>
for now I removed GLEW, hoping it's not actually needed. And nix-shell worked. what can I do now? how is it different from a normal shell?
jperras has joined #nixos
Peaker has quit [Disconnected by services]
Peaker has joined #nixos
<ekleog>
Peaker: it's a normal shell in which you can try to build bindings-freetype-gl as you usually would
<ekleog>
but remember the commands, so that you can put them in bindings-freetype-gl.nix once you found the good sequence
<ekleog>
(also, make sure you run in a --pure shell if you want to minimize the potential issues)
<Peaker>
oh, it is missing GLEW. why is GLEW missing but only in nix-shell, not in nix-build on the same default.nix?
<ekleog>
easiest is to couple it with `nix-build -K` which keeps the build product on-disk in /tmp/stuff
<ekleog>
it missing GLEW only in nix-shell and not on nix-build sounds very weird
<ekleog>
are you sure you're running the exactsame command except with s/build/shell/ ?
<ekleog>
also, when exactly is it missing GLEW? at eval-time, build-time, other?
<Peaker>
ah, I see it was explicitly passing GLEW = pkgs.glew. can the inner nix file just refer to pkgs.glew directly?
<Peaker>
(the nix eval time was the problem)
<Peaker>
not sure why GLEW was passed differently from all other things
<Peaker>
it's GLEW = pkgs.glew, is glew=pkgs.glew?
<ekleog>
should have said it'd allow to remove the `GLEW = pkgs.glew`, indeed
justbeingglad has joined #nixos
<ekleog>
(though I must repeat I'm not used to the haskell infrastructure, maybe there's something else going on here that I'm not seeing :))
justbeingglad has left #nixos [#nixos]
<Peaker>
so in the nix-shell, I get the build error relatively fast now. but the error is that it's probably missing -I, but the Haskell pkg stuff is sending the -I.. not sure how I'd add the relevant -I
<ekleog>
`..` is most likely not what you want
<ekleog>
oh, unless you meant it's missing some -I and the haskell pkg stuff is already some other -I arguments?
jperras has quit [Ping timeout: 244 seconds]
<ekleog>
if it's missing a -I then the .nix is most likely missing a dependency, is this hypothesis plausible?
<Peaker>
oh I didn't mean literally .. :) Just place-holder
<Peaker>
now I realize the header I thought was from freetype2, is coming from the same package's include dir
<Peaker>
so I just need to tell the haskell build of bindings-freetype-gl that it needs to -I on "freetype-gl/" of its own package
Tucky has joined #nixos
<ekleog>
so you likely want to set some kind of CFLAGS = "-I freetype-gl", but for haskell
<{^_^}>
[nixpkgs] @timokau pushed to staging « pythonPackages.cython: don't test codestyle (#50432) »: https://git.io/fpZsM
<Peaker>
weird that it'd need that, the cabal file already has the include-dirs there
<ekleog>
Peaker: so you're going too deep into internals of haskell build system… if you figure out how to build it in the nix-shell I likely can help you, but here cabal seems to lose an include dir, so I can't really help you, sorry ^^'
civodul has joined #nixos
jperras has quit [Ping timeout: 245 seconds]
<angerman>
how do I prevent nix from escaping `-foo,-bar` into `-foo\,-bar`?
jperras has joined #nixos
Itkovian has joined #nixos
hedning has quit [Quit: hedning]
hedning has joined #nixos
brejoc has joined #nixos
<Peaker>
ekleog, OK - the problem wasn't what I thought: the -I actually was there (hidden between hundreds of flags). It's just the include dir there is in a git submodule and nix apparently doesn't clone --recursive
brejoc has quit [Ping timeout: 276 seconds]
<Peaker>
I use src = fetchgit { ... }. How do I get the git submodules loaded there too?
<ekleog>
Peaker: oh :) so that's something there's a configuration flag about iirc
<ekleog>
is your code on github? iirc fetchFromGitHub fetches the submodules (unsure)
<ekleog>
and then add in the fetchSubmodules = true;
goibhniu has joined #nixos
<Peaker>
seems like I may have progress now \o/ :-) thanks
<Peaker>
(and switched to fetchFromGithub, so I'll have nicer build times)
<Chiliparrot>
I've been using gentoo since ~2000
jperras has quit [Ping timeout: 268 seconds]
<Chiliparrot>
... but those installations haven't been powered for years (I wonder what `emerge` would tell me if I tried to update ;-) - and it's all non-mainstream hardware)
<Chiliparrot>
[damn, switched channel without noting - sorry ;-)]
jperras has joined #nixos
brejoc has joined #nixos
Itkovian has quit [Ping timeout: 268 seconds]
ninjin has quit [Quit: WeeChat 2.2]
<ekleog>
Peaker: great! :)
<ekleog>
Chiliparrot: we all know nixos is where gentoo users come when they've had enough recompiling, don't care :p (I plead guilty to this (a))
<Chiliparrot>
ekleog ;-)
<Peaker>
how can I get my packages/builds cached somewhere? so others building them can get it cached?
<ekleog>
you can have a look at cachix for cached builds
<ekleog>
though I'm not sure lots of people actually use it
<Mic92>
r-ryantm is using it and I saw a few people in NUR
<ekleog>
also, you can submit your package for integration in nixpkgs, in which case it might get cached (can't remember whether library-only haskell packages get built & cached)
<ekleog>
Mic92: I mean using other people's binary cache ^^' I personally would upload stuff on cachix but most likely wouldn't download stuff from it (paranoia, etc.)
<hyper_ch2>
Mic92: how can I track on zfs what is actually doing writes on disk? with iotop I just see txg_sync
jperras has joined #nixos
johanot has joined #nixos
thc202 has joined #nixos
<ekleog>
colemickens: personal opinion: whenever possible, don't make an overlay
<ekleog>
you can easily mix things from multiple package sets, making an overlay can change the behavior of nixpkgs
<Peaker>
include/X11/extensions/XInput2.h includes X11/extensions/Xge.h -- fails to find it. does this mean libX11 is missing a dependency in its spec?
<ekleog>
Peaker: intuitively, your libx11-using package should add as a dependency whatever extension includes Xge.h
<ekleog>
,locate Xge.h
<{^_^}>
Found in packages: xlibs.libXext.dev
<ekleog>
we don't necessarily want libX11 to depend on all possible extensions :) (though I'm not familiar with X11 packaging either, so may be wrong here too)
<Peaker>
how does "libXext" know to resolve to xlibs.libXext ?
<ekleog>
?
<Peaker>
I added libXext as a dependency to try and resolve this, so presumably it means "xlibx.libXext" (bot's response)
<Peaker>
xlibs.libXext that is -- I wonder how the "xlibs." prefix gets added
<colemickens>
ekleog: so if I needed to change, say, ffmpeg for everything that uses ffmpeg, I'd still want an overlay, right?
carlosdagos has quit [Quit: Connection closed for inactivity]
<colemickens>
versus needing to patch ffmpeg for just a single package, where I could get away with putting ffmpeg_myApp and myApp into a package-set
<ekleog>
colemickens: exactly
<ekleog>
and given I personally don't like letting stuff change my packages system-wide without a very good reason, I'm unlikely to install an overlay :)
mkoenig has quit [Remote host closed the connection]
<colemickens>
okay, thank you.
<Peaker>
is it normal for GLFW init (uses X/etc) to fail during "nix-build"? I guess DISPLAY/etc are not available inside the build?
jperras has quit [Ping timeout: 268 seconds]
Itkovian_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ekleog>
Peaker: that's a good question about the `xlibs.` prefix… I guess some more callPackage magic :)
<Peaker>
magic is bad, mmmkay? :)
<ekleog>
and what exactly do you mean by “GLFW init”? if you're trying to open a window during `nix-build` then yes it's normal it fails
<Peaker>
ekleog, not me - but the GLFW test suite which is auto-run in the build
<ekleog>
oh does it break the package? if so you can add a doCheck = false, if it's a package you wrote yourself
<ekleog>
(and if it's a nixpkgs package it'd be weird if it broke the package)
jperras has joined #nixos
<avn>
Peaker: glfw was ok in nixpkgs (at least when I fixed it last time, lol)
<Peaker>
avn, I'm using GLFW-b which is a Haskell package which embeds glfw inside it to avoid the system dependency. For nix the system dep is not a big deal, but for other pkg managers its nice
<ekleog>
Peaker: you should try to make GLFW-b use system glfw, then, if at all possible :)
<ekleog>
like, firefox does this with --enable-system-nss or similar flags
<ekleog>
but that's because they're accepted by the firefox build system
leothrix has joined #nixos
tylerjl has quit [Ping timeout: 272 seconds]
<avn>
Peaker: you definelly need use system glfw, because it patched (wiring-in some paths to libGL.so, libX11.so and few others)
<Peaker>
avn but if GLFW-b has a formal dep on libX11/ libGL, etc, why wouldn't that work?
<avn>
Peaker: because glfw dlopen all crap by absolute paths
<Peaker>
how can I make "git" command available to my build process? (I have a compile-time macro to run "git" to embed version info in my exe)
<avn>
in this case better use version passed via build expression
<srhb>
Peaker: Getting git is as simple as including it in buildInputs, but it's probably a bad idea.
<etu>
Peaker: If you have used fetchFromGitHub or friends it won't do anything useful because the .git directory is not present
<srhb>
Peaker: Making things deterministic while retaining .git is tricky.
<Peaker>
so is there a nice way to embed the version in the exe, for --version ?
<etu>
This depends very much on the build process
<Peaker>
"buildInputs" is not a valid param for mkDerivation apparently?
<Peaker>
oh, it's Haskell packages' mkDerivation
jperras has quit [Ping timeout: 252 seconds]
<Peaker>
how can I see the full parameter list?
<Peaker>
"git" is currently broken because it depends on "patience", marked as broken? :(
copumpkin has quit [Read error: Connection reset by peer]
voice_ftp has joined #nixos
drakonis_ has quit [Ping timeout: 268 seconds]
bsima has quit [Ping timeout: 268 seconds]
switchy has quit [Ping timeout: 268 seconds]
<Peaker>
I wonder if "patience" is broken or the Haskell wrapper for it is broken
switchy has joined #nixos
greymalkin has quit [Ping timeout: 268 seconds]
boegel has quit [Ping timeout: 268 seconds]
voiceftp has quit [Ping timeout: 268 seconds]
bsima has joined #nixos
<ekleog>
$ nix-build -I nixpkgs=channel:nixpkgs-unstable '<nixpkgs>' -A git
<ekleog>
^ doesn't look broken to me
<ekleog>
maybe you're looking at some haskell package named “git”?
greymalkin has joined #nixos
ashkitten has joined #nixos
Itkovian has joined #nixos
contrapumpkin has joined #nixos
boegel has joined #nixos
<Peaker>
ekleog, maybe.. I can't figure out how to get the haskell variant of "mkDerivation" to take a non-Haskell build dependency like "git"
<typetetris>
\join #munihac
<ekleog>
Peaker: you can do `git = pkgs.git` to take it from the `pkgs` argument of the override if I remember correctly your setup
<ekleog>
though there's most likely a more haskell-architecture-like solution, given this is hackish
<Peaker>
surely some nix'ers here are Haskellers? :)
<Peaker>
what does "inherit (pkgs.xorg) libXcursor" mean?
<srhb>
Peaker: libXcursor = pkgs.xorg.libXcursor;
<Peaker>
how is it different from just "pkgs.xorg.libXcursor" ?
<srhb>
Peaker: More generally inherit foo bar baz; means: bar = foo.bar; baz = foo.baz; ...
<srhb>
Peaker: It's just convenience for juggling attributes from one set into another.
<srhb>
Peaker: And yes, there's a lot of Haskellers in the nix world, or vice versa.
<Peaker>
so in this particular case: "inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;" it's the same as "pkgs.libGL; pkgs.xorg.libX11" ?
<Peaker>
oh, the assignment syntax is needed in this contextx
<srhb>
Yes, it's about assigning those attributes in your new set.
<srhb>
So { inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; } is equivalent to { libGL = pkgs.libGL; libX11 = pkgs.xorg.libX11; }
<ekleog>
srhb: you missed the parenthesis in `inherit (foo) bar baz;`
<srhb>
ekleog: That was intentional. :)
<Ke>
obviously nix is ugly dynamically typed monster that gives you absolutely no clues whether your code is correct
<avn>
Peaker: if you still stick for custom glfw, you still need postPatch clauses, which wire paths to libGL/libX11
<ekleog>
well… then it's more `foo = foo; bar = bar; baz = baz;`, not `bar = foo.bar; baz = foo.baz;`, isn't it?
<srhb>
ekleog: Oh oops, you're absolutely right!
<{^_^}>
[nixpkgs] @jfrankenau opened pull request #50449 → valentina: don’t copy mailcap file into XDG MIME directory → https://git.io/fpZ86
<Peaker>
avn, Looking at the hackage packages - it seems to miss that too
<srhb>
Peaker: Re. eklogs correction: For some reason I had in my mind that the first "argument" to inherit was always the set from which to inherit, but that's a lie, it's a syntactic construct and only if (...) is specified it opens that set, otherwise surrounding scope.
<avn>
Peaker: hackage package probably using system library
<srhb>
s/eklog/ekleog >_> More coffee..
<ekleog>
:p
<Peaker>
avn, GLFW-b can't do that, I think, because the source is embedded there
<ekleog>
nix syntax really makes no sense, though… parenthesis around an ident should really be a noop
<avn>
Peaker: then some probability, then it broken as well ;)
<srhb>
ekleog: Now that I have you here, do you have any idea what's going on with the test failures in the installer tests?
<srhb>
I can't reproduce them locally, or at least haven't figured out how yet.
<avn>
if you know any program which use it, and I can just `nix run ...` -- give me expression and I check
<srhb>
Is it related to restricted eval with the refactor?
<Berra>
Anyone have a tip for how I would debug an issue where I end up with broken symlinks in my emacs-packages derivation? Common thread is that all package with broken symlinks are made with node2nix.
<Peaker>
how do I check if a path starts with "dist/" ?
<Peaker>
how do I use hasPrefix in some random nix file? adding "strings" as a module param, then strings.hasPrefix does not seem to find the attribute
<qyliss^work>
lib.hasPrefix
<srhb>
Berra: Mostly a stab in the dark, but I've seen a lot of node stuff wantonly destroy store paths when the sandbox is disabled.
<Peaker>
thanks
<Berra>
srhb: Ok - I've never used the sandbox as a feature - is it usually enabled or not by default? I'm running a pretty normal nixos installation.
<srhb>
Berra: iirc it's enabled by default from 18.09 and onwards.
<srhb>
Berra: So if you're on 18.09 and haven't toyed with nix.useSandbox, that's not the problem.
<srhb>
(You can check with nixos-option nix.useSandbox)
Berra has quit [Remote host closed the connection]
<Peaker>
I have a haskell package defining an executable and library in same package. And the executable seems not to see the exposed library modules...
Berra has joined #nixos
simendsjo has joined #nixos
<srhb>
Peaker: Did you accidentally filter out the lib? Or not included correctly in the cabal file? :)
<Peaker>
srhb, well, the cabal is OK, I build it with stack/cabal OK, trying to get nix to work
<srhb>
Peaker: Got a paste or a repo somewhere?
<Berra>
srhb Yeah it appears I have sandbox enabled - I made sure to enable it explicitly in my configuration too just to be sure but it has no effect.
<srhb>
Berra: Then I don't have any immediate ideas. Perhaps you can share a reproducible nix expression.
<Peaker>
srhb, sec, I'll push my nix wip
<Berra>
srhb: I've been trying to read what node2nix does that could be causing the difference.
<Berra>
srhb: I guess it's possible that both emacsPackagesNgGen/emacsWithPackages and node2nix does something strange. I can't really say - trying to figure out what it could be.
jperras has quit [Ping timeout: 272 seconds]
<srhb>
Peaker: Your filterSource is broken
thc202 has quit [Ping timeout: 268 seconds]
<Peaker>
srhb, yeah, fixed it now, and now it fails to load GL libs as predicted by avn
<{^_^}>
[nixos-weekly] @garbas pushed commit from NixOS Weekly Robot to gh-pages « Preview of '804ae17d74a4e38b93acdf8be8e0d5b02a33624d' commit built by Travis-CI \#455922146 »: https://git.io/fpZ0E
jperras has joined #nixos
<srhb>
Peaker: fwiw it's flawless on NixOS :)
<Taneb>
Is there a binary cache for armv7l-linux?
<srhb>
But I don't know how to nicely express the opengl impurity outside of NixOS.
deanman has left #nixos ["Leaving"]
<srhb>
Taneb: Not that I'm aware.
<Peaker>
srhb, the GLFW bindings you mean?
<srhb>
Peaker: The drivers, iirc.
<srhb>
Peaker: Not sure how it fails outside of NixOS because this is mystery territory... But I see a link to libglvnd which I assume correctly dispatches to my /run/opengl-driver/lib somehow.
hyperfekt has joined #nixos
<{^_^}>
[nixos-weekly] @domenkozar pushed 2 commits to master: https://git.io/fpZET
<srhb>
Berra: tsc and tsserver eg?
hedning has quit [Quit: hedning]
hedning has joined #nixos
<srhb>
Berra: I'm confused... the packages fed to that list should be emacs lisp packages, right?
<{^_^}>
[nixos-weekly] @domenkozar pushed 2 commits to master: https://git.io/fpZEg
Chiliparrot has joined #nixos
<{^_^}>
[nixos-weekly] @domenkozar opened pull request #71 → Call for Content: 2018/13 → https://git.io/fpZEw
<{^_^}>
[nixos-weekly] @garbas pushed commit from NixOS Weekly Robot to gh-pages « Release of (commit 'bde217b36441ebf2cca9d84b352c9ff3036ac1b5') built by Travis-CI \#455928060 »: https://git.io/fpZEr
<Peaker>
avn, which I have in "/nix/store/<hash>-mesa-noglu-18.2.2-drivers/lib" -- is this the mesa-noglu package? how do I tell?
<srhb>
Berra: I feel like what you're trying to do is really pkgs.buildEnv { name = "emacs-and-tools"; paths = [ emacs pkgs.git pkgs.nodePackages.typescript ]; } -- where emacs is an emacsWithPackages with whatever _emacs_ packages specified, whereas all the non-emacs tools go in the buildEnv's paths.
<divansantana>
hi all. I've installed google-chrome with nix on guixsd. Problem is the fonts are all messed up. Like theres lots of githubs icons everywhere on launch. Font issue? Any clue on how to fix?
c0bw3b_ has quit [Remote host closed the connection]
c0bw3b_ has joined #nixos
asymmetric has joined #nixos
jperras has joined #nixos
mkoenig has joined #nixos
<Berra>
srhb: Hm - ok fair enough. I'd still like to understand why it gets treated differently and results in broken symlinks. But I'm changing my config now to separate packages and emacsPackages
<colemickens>
the nix cli makes me pull my hair out sometimes
<colemickens>
I mean, I'm taking the example straight from the manual and it doesn't seem to work.
<Peaker>
can anyone tell me if https://github.com/lamdu/lamdu/tree/wip-nix "nix-build" & running it runs successfully on NixOS (draws on OpenGL window)? I can't get nixGL to work :(
<colemickens>
that's verbatim from the manual and prints out the kernel info of my local machine, not of the build machine as the manual says should happen
<{^_^}>
[nixpkgs] @P-E-Meunier opened pull request #50452 → Rust build-support: fixing a compilation error in some crates → https://git.io/fpZ2k
<{^_^}>
nix#2286 (by dingxiangfei2009, 18 weeks ago, open): nix build does not respect --builders flag
jperras has quit [Ping timeout: 252 seconds]
justanotheruser has quit [Ping timeout: 276 seconds]
ckauhaus has joined #nixos
Theuni2 has joined #nixos
Theuni2 has quit [Client Quit]
ckauhaus has quit [Client Quit]
jperras has joined #nixos
Wharncliffe has joined #nixos
c0bw3b_ has quit [Remote host closed the connection]
Peaker has quit [Ping timeout: 244 seconds]
justanotheruser has joined #nixos
jperras has quit [Ping timeout: 268 seconds]
jperras has joined #nixos
<Myrl-saki>
colemickens: --option max-jobs 0
<Myrl-saki>
Oh, you already understood some stuff.
<colemickens>
I figured out that I was getting a cached copy of a build that ran locally
<colemickens>
not sure what max-jobs is about
<colemickens>
anyway, turns out nix build ... was failing to connect over ssh
<Myrl-saki>
colemickens: max-jobs makes you not locally build things.
<colemickens>
okay, perfect, thanks.
<colemickens>
but now I have to figure out why nix build can't connect, even though nix ping-store and `sudo nix ping-store` can hit it just fine
fusion809 has joined #nixos
fendor has quit [Ping timeout: 272 seconds]
acarrico has quit [Ping timeout: 245 seconds]
<exarkun22>
What's a good way to test a kernel upgrade on a raspberry pi that I'm managing with nixops? I have never upgraded a kernel with nixops before, I have never upgraded a kernel on a raspberry pi.
justanotheruser has quit [Ping timeout: 252 seconds]
<exarkun22>
oh well I guess the premise is that it's easy to recover from failure
jperras has quit [Ping timeout: 272 seconds]
jperras has joined #nixos
Theuni2 has joined #nixos
maximiliantagher has joined #nixos
fendor has joined #nixos
m0rphism has joined #nixos
maximiliantagher has quit [Ping timeout: 264 seconds]
<srhb>
exarkun22: I guess the nicest thing to do would be to kexec into a system with the new kernel without writing boot config initially. I don't think nixops has any specific support for that, though. :)
<domenkozar>
so er, what's the latest way to package nodejs application in nixpkgs?
<adisbladis>
Add a line to the desired nodejs-versions json file and run generate.sh
<exarkun22>
srhb: darn.
Chiliparrot has quit [Ping timeout: 252 seconds]
Rusty1 has joined #nixos
the-kenny has joined #nixos
fendor has quit [Ping timeout: 252 seconds]
<domenkozar>
adisbladis: thanks
Chiliparrot has joined #nixos
Chiliparrot has quit [Client Quit]
crmlt has joined #nixos
justanotheruser has joined #nixos
huevo5050 has joined #nixos
crmlt has quit [Remote host closed the connection]
<{^_^}>
[nixpkgs] @srhb opened pull request #50453 → nixos/gtk.iconCache: Disable by default → https://git.io/fpZKa
<huevo5050>
Hi, Im trying to compile Bisq on Nix. First attempt was with new version and JDK11 and goes well but app crash (unstable version). Now Im trying with stable Bisq 0.8.0 and use JDK8 with JavaFX. Im looking and one of the solutons is to use Jetbrains.Jdk. How can I override gradle pkg to use it?
<ottidmes>
huevo5050: could you pastebin/gist your whole code somewhere?
emily has joined #nixos
<Twey>
If you nix-build an attrset it makes a bunch of links called result-1, result-2, &c. containing the results of all the attributes of the attrsets. Is it possible to have the links named after the attributes?
<Twey>
nix-build -E 'with import <nixpkgs> { }; { foo = glibc; bar = weechat; }' will produce result-1 → /nix/store/…-glibc and result-2 → /nix/store/…-weechat. It would be nice if it could produce result-foo → /nix/store/…-glibc and result-bar → /nix/store/…-weechat
krav_ has joined #nixos
krav_ has quit [Remote host closed the connection]
<ottidmes>
huevo5050: I am not actually sure why override does not exist on that, I thought it was given to any stdenv.mkDervation using package, which gradle seems to be, but what you might try instead is to add in your overlay/overrides a callPackage to gradle with jdk = jdk11, giving it a name like gradle_latest_jdk11 and using that one explicitly in your default.nix
crmlt has quit [Remote host closed the connection]
jperras has quit [Ping timeout: 264 seconds]
jperras has joined #nixos
Lears has quit [Remote host closed the connection]
<sphalerite>
dunst uses fontconfig or something, so it should
<slabity>
jabraham: You could try calculating it in your nix config.
<slabity>
Might need to use home-manager to get that to work though
<jabranham>
Git tells me that I solved this in Arch Linux by adding "Option "Primary" "true"" to 10-monitor.conf in xorg.conf.d but I don't see what that would do. I think I lied to myself in my git logs :-(
<sphalerite>
jabranham: if other stuff displays at the right size, yeah I doubt that would help
<jabranham>
How can I restart dunst so it reloads the config file?
<andrewrk>
I'm running the unstable channel and I have this in my /etc/nixos/configuration.nix: system.stateVersion = "16.03";
<andrewrk>
that's old right? are there docs on how to upgrade this?
<infinisil>
,stateVersion andrewrk
djahandarie has joined #nixos
<{^_^}>
andrewrk: Setting stateVersion to the latest release doesn't update anything and can only break your setup at best. If you want to regardless, Ctrl-F for "stateVersion" in https://nixos.org/nixos/manual/release-notes.html to see things that need to be manually upgraded with the new value
<andrewrk>
thanks!
<djahandarie>
Heya -- my nix-build seems to be quite slow, probably bottlenecked on evaluating .nix files as far as I can tell from -v output. Are there any known tricks or procedures for speeding it up?
panamaman has joined #nixos
<clever>
,profiling djahandarie
<{^_^}>
djahandarie: Use NIX_COUNT_CALLS=1 and/or NIX_SHOW_STATS=1 to profile Nix evaluation
<infinisil>
djahandarie: Are you sure its the nix evaluation that's slow though? Is `nix-instantiate` too slow?
<clever>
it can also be the binary cache queries
Tucky has quit [Quit: WeeChat 2.2]
<panamaman>
Hi guys, hope you are having a great day. I would like to request some help. On emacs (26.1 from nixos stable) running without any config (-Q) I got some serious lag when I try to display some gif. Not all gif but some. On other distro everything is doing well so it's propably a matter of dependency/options on NixOS. So here come my question. Do you have any lead about what option I should look into for supporting all kind of gif on
justanotheruser has joined #nixos
johann__ has quit [Quit: Leaving.]
johann__ has joined #nixos
johann__ has quit [Client Quit]
Thra11 has joined #nixos
peacememories has joined #nixos
<coconnor>
emacs can display gifs? well... TIL
peacememories has quit [Client Quit]
orivej has quit [Ping timeout: 272 seconds]
mayhewluke has quit [Ping timeout: 240 seconds]
mayhewluke has joined #nixos
sigmundv__ has quit [Ping timeout: 276 seconds]
<jabranham>
panamaman: I have issues displaying some gifs across distros. Are you sure it's a nixos issue?
<panamaman>
You can put everything in emacs! Well let's put aside my religion, maybe I should open an issue since it's a bit specific. I was asking in case someone had some issue about decoding/handling image/gif only on NixOS.
v0|d has joined #nixos
<panamaman>
jabranham Pretty sure, on arch/manjaro/debian/mac/windows I don't have any issue.
<djahandarie>
NIX_COUNT_CALLS and NIX_SHOW_STATS don't seem to be doing anything...
<djahandarie>
Oh, spoke too soon
<v0|d>
what should one do to get auto complete in M-x nix-repl?
<v0|d>
esc-tab seems not working for builtins.a ESC-TAB
<jabranham>
panamaman: looks like Emacs on nixOS is built with --withgif=no
<jabranham>
no, sorry I misread that
<djahandarie>
clever, infinisil, here's the result of the STATS output (head of it, anyways): https://pastebin.com/p7XS2KPN
<djahandarie>
I'd like to get it to sub 10s at least, 33s is really just painful
<jabranham>
panamaman: on Arch they use giflib but nixos uses libungif, that might be the difference
<djahandarie>
I guess one solution is to reduce the number of rust dependencies I have, but... :)
<djahandarie>
Or somehow optimize the output of carnix
<jabranham>
panamaman: I'd try building Emacs with giflib instead of libungif and see if that solves your issue
<clever>
5056579 anonymous function at /nix/store/rfz3yh9r9skayd6rwq1ms4cibmb8bs4g-nixos-unstable-19.03pre158246.6141939d6e0/nixos-unstable/lib/attrsets.nix:333:23
<clever>
djahandarie: what funciton is at that line?
<infinisil>
jabranham++
<{^_^}>
jabranham's karma got increased to 1
<djahandarie>
clever, zipAttrsWithNames. In particular, that seems to be the "name: {" anonymous function in there.
<clever>
ah, so that part is ran on every attr that its zipping
asymmetric has joined #nixos
<panamaman>
jabranham: Oh that's a nice lead. Thank you a lot!
<clever>
if possible, try to reduce the usage of zip attrs?
<jabranham>
panamaman: looks like debian also uses giflib although they call it libgif for <reasons>. So I'd bet that's what it is.
<djahandarie>
clever, hmm, what triggers zip attrs? Would it need to be an explicitly call to the function, or is there some alternative syntax for it? (Sorry, not a nix expr expert...)
<clever>
djahandarie: would need to know more about what the nix code your using is doing
<djahandarie>
Sure. I'm using carnix, which uses build-rust-crate to build all rust dependencies.
<djahandarie>
Naively grepping for "zip" doesn't seem to show any calls to that function in any of this code directly, but I was wondering if there's some other way that one might reach it.
<clever>
djahandarie: check the next thing down in the call count then
<djahandarie>
recursiveUpdateUntil, then recursiveUpdate, which this code does call, yay!
<djahandarie>
Can't say I'm looking forward to hacking carnix to generate something more efficient here... but thanks, that helped narrow down what is taking so long to evaluate at least.
nbardiuk_ has joined #nixos
<djahandarie>
I'm surprised there isn't some caching being done here, since I'm not changing any of the nix expressions between runs.
sanscoeur has joined #nixos
<panamaman>
jabranham: That's look solid indeed. I thought it was more something like cairo option since it's a bit unstable but emacs from nixos shouldn't compile with it exept for darwin system.
<sphalerite>
I'm very confused by some permissions right now. User a owns a symlink to a store path (which is a directory), but user b can't cd into it (although user b can readlink it). Why?
<andrewrk>
can I talk to anyone about opengl/vulkan drivers on nixos?
<andrewrk>
I want to understand what should a statically linked executable should do to find out the correct opengl or vulkan driver to use
<simpson>
You should dynamically link to libGL.so, or dlopen() it, just like on other systems. What are you building?
<andrewrk>
simpson, right, so let's talk about the statically linked case - where the program should dynamically load libGL.so. where should it find it?
<andrewrk>
the goal is to build a statically linked executable that works on any linux system. I have accomplished this goal, except for the problem of opengl/vulkan on nixos.
<andrewrk>
nixos packages now use `${lib.getLib libGL}/lib/libGL.so.1` which is generally good, but I think we still need the concept of a globally selected default driver
<simpson>
Hm, maybe. I could have sworn that we build the libGL.so links somewhere in /run.
<andrewrk>
and it broke the ability of static executables to find drivers
<Twey>
andrewrk: The cool thing about the libglvnd change is that it decouples the driver from the libGL
Thra11 has quit [Ping timeout: 245 seconds]
<andrewrk>
Twey, I'm all for it, but I think my use case is still valid
<simpson>
Maybe it's time to port to libglvnd?
<Twey>
andrewrk: So you can link (even statically) against a libGL from, say, mesa, and at runtime the GL *drivers* will be found by that library (those are what are linked in /run/opengl-drivers/lib)
<andrewrk>
simpson, you're rejecting the validity of my static executable use case
<Twey>
So /run/opengl-drivers/lib doesn't contain a libGL at all
<Twey>
andrewrk: We're not saying it's not, we're trying to explain how it would work
<andrewrk>
I see, ok I'm paying attention
<andrewrk>
so how do I find which libglvnd to load?
<simpson>
andrewrk: Hey, look, you can go *even more static* if you want, and directly make calls to X11 and to the DRM/DRI node. I've done it before from Python; it's possible although maybe unreasonable.
<Twey>
andrewrk: You don't need to dynamically load a libglvnd, you can statically link it in
<andrewrk>
ok I'll look at the source code of libglvnd to see how that works
<andrewrk>
thanks
<Twey>
andrewrk: The thing that's found *dynamically*, by libglvnd, is the driver itself
<Twey>
andrewrk: And on NixOS that will fall back to the /run/opengl-drivers/lib path
<Twey>
andrewrk: I've had trouble with this in the past on non-NixOS because the drivers depend on system dependencies (like glibc) that might differ from or conflict with the Nix ones
<andrewrk>
Twey, right, ok thanks, that gives me what I need - the logic is in libglvnd. I should be able to port that to zig and get what I want
<Twey>
But given that you've statically linked in everything else, I *think* it should just work
<Twey>
Oho, you're using zig
<Twey>
Nice
<andrewrk>
zig author here :)
<simpson>
andrewrk: Oh, right, Zig. Sorry, you should have said something earlier. I think that my strategy would be to rewrite Mesa.
<andrewrk>
just trying to make zig friendly to nixos
<Twey>
andrewrk: Ahh, that's you :) Very cute little language
<Twey>
simpson: Do you need to rewrite Mesa?
<Twey>
Surely you can just link against it
<simpson>
Twey: Eventually? I've got a plan. I hope that I can just rewrite XCB and limp along on X11 for a while.
<simpson>
Monte does not have a C FFI, so C linkage isn't available.
<andrewrk>
I'm worried that the drivers depend on system libc, but I haven't found out yet
<Twey>
Oh right
<Twey>
andrewrk: They probably will
<andrewrk>
that's... not ideal
<simpson>
Yeah, Mesa's written in plain C. Except for a few drivers which insist on C++, I guess.
<Twey>
andrewrk: I know at least mesa-drivers and NVIDIA's proprietary drivers are dynamically linked against libc
<{^_^}>
[nixpkgs] @Ma27 opened pull request #50467 → pythonPackages.pytesseract: init at 0.2.5 → https://git.io/fpnTP
<andrewrk>
linking against libc requires special startup code in the executable
<andrewrk>
so that means the drivers have forced executables to include libc startup code, which defeats the purpose of dynamically loading
<andrewrk>
ugh,
huevo5050 has quit [Quit: Page closed]
<andrewrk>
anyway, thanks for the clues Twey & simpson - I have some paths to explore
<Twey>
No problem, hope you get it working
<Twey>
Would love to see some cool Zig graphics demos :)
<simpson>
andrewrk: No worries. I'm in #nixos-chat or #xorg-devel if you need to chat about Mesa internals.
<andrewrk>
oh right, I have a better example of why this libc thing is problematic
<andrewrk>
it's related to nixos - my goal is that on linux you can cross compile for windows, without any cross compilation dev kit. likewise you can cross compile on windows for linux, again without any extra dev tools
<andrewrk>
this all works perfectly - except for linux graphics drivers
<andrewrk>
because of the libc startup code - which must match the system's libc!! - windows users cannot cross compile linux programs that need to use graphics drivers
<andrewrk>
but it works for anything else - networking, command line tools, daemons
<simpson>
That is a fascinating goal.
<Twey>
andrewrk: Mmmmm.
<andrewrk>
and this problem is unnecessary. graphics drivers don't need a dynamically linked libc. do they?
<Twey>
andrewrk: I guess you need to modify libGL/libglvnd to find and run that startup code when it links in the drivers?
<andrewrk>
(is this a discussion for #xorg-devel?)
v0|d has joined #nixos
mayhewluke has quit [Ping timeout: 272 seconds]
<Twey>
I don't know where Mesa people hang out
<Twey>
But you also want to talk to NVIDIA people and ATI people :þ
<simpson>
andrewrk: I mean, you're going to have to figure out not just libc, but also e.g. libLLVM.
<andrewrk>
Twey, that's not how it works - that startup code has to be statically linked in if you want to dynamically load something that depends on dynamically linked system libc
<Twey>
andrewrk: Eek.
<Twey>
andrewrk: Why?
<andrewrk>
little known fact: libc has a runtime
<simpson>
Twey: Dynamic loading in the C API has lots of nasty global state that has to be set up.
<Twey>
simpson: Right, but I figured it would be sufficient to do that at some point before doing the loading
<Twey>
Not necessarily statically
mayhewluke has joined #nixos
<andrewrk>
and you don't have to use libc to dynamically load - you can just map a .so file into the correct memory places and start calling functions
nbardiuk_ has quit [Quit: Lost terminal]
<Twey>
Right
<andrewrk>
basically, on linux, graphics drivers have an unnecessary dependency on the libc runtime, which causes problems if you are trying to avoid the libc runtime. unfortunately for me I'm the only one who is trying to do this
<andrewrk>
I haven't tried it though. it may be that omitting the libc startup code won't actually break drivers
<andrewrk>
this is... extremely unlikely to work without the c runtime
<simpson>
Yep. OpenGL was not designed to have linkage from anything other than C.
<andrewrk>
I think my best bet would be to advocate for static builds with musl
alex`` has quit [Ping timeout: 268 seconds]
<andrewrk>
so how this affects nixos, is that if I create an executable that dynamically links against the system libc, it won't work on nixos which has a non standard dynamic linker path
<simpson>
Yeah, NixOS intends for things to be built via Nix.
orivej has joined #nixos
alex`` has joined #nixos
<andrewrk>
that's reasonable for packages. but I would advocate for supporting static executables
<andrewrk>
by that I mean that I have to convince mesa to statically link
<simpson>
We have FHS user environments.
<andrewrk>
oh, you can spawn a nix-shell and get a FHS?
elgoosy has quit [Remote host closed the connection]
xy2_ has joined #nixos
<ajs124>
my hydra is telling me that an evaluation is pending on some of my jobsets, but doesn't do anything else. any ideas how to debug this?
<{^_^}>
[nixpkgs] @lheckemann merged pull request #50434 → niftyreg: init at 1.3.9; niftyseg: init at 1.0.0 → https://git.io/fpG5J
asymmetric has quit [Ping timeout: 250 seconds]
phigan has joined #nixos
<phigan>
hi guise.
<phigan>
I'm hoping this is a common issue and that other people have encountered it.. I'm trying a new 32bit NixOS install.. I've got the configuration file configured pretty basically, but when I run the nixos-install it dies out with builder for some python3.6-pycurl package failed, says AttributeError: 'NoneType' object has no attribute 'split'
the-kenny has joined #nixos
<phigan>
Googles wasn't too helpful, as people with this error message got it for other packages like 2 years ago
<phigan>
and those were fixed
<{^_^}>
[nixpkgs] @samueldr merged pull request #49838 → nixos/mysql: Explicitly set datadir in my.cnf → https://git.io/fpfEQ
<sphalerite>
romildo: I'd say ignore the armv6 stuff for the purpose of your solution, it's a separate issue which should be addressed in the appropriate place
<sphalerite>
phigan: hm odd, it builds fine (in 32 bit) for me on a 64-bit system
init_6 has quit [Ping timeout: 252 seconds]
Synthetica has quit [Quit: Connection closed for inactivity]
<phigan>
you know, maybe it's the cups
<phigan>
I uncommented the enable printing services
<phigan>
let me comment that out again
<phigan>
if you were able to try that fast, could you try again with that option? :)
<tim_nixos>
Hello people, I'm trying to work with the llvm/clang version I just compiled (implementing my own optimizer passes) and I'm having issues telling the compiler where the stdlibs are and also where the linker should get the includes from.. I found the $NIX_ envs, one looks like it should contain what I want (NIX_TARGET_CFLAGS_COMPILE) but it doesn't.. how do I tell the compiler where the stuff is that it needs?
<tim_nixos>
bonus question: is there any documentation about this? I wasn't able to find anything..
<phigan>
it's sitting for a really long time on building qtbase-5.11.1 and I don't think it was doing that before, so maybe commenting out the printing services enable did the trick.
<sphalerite>
romildo: don't worry I get highlights for both :)
<sphalerite>
phigan: that will probably take a long time :/ I wouldn't recommend trying to run a graphical nixos system on 32-bit x86 nowadays
orivej has quit [Ping timeout: 244 seconds]
<sphalerite>
phigan: or at least use remote building to have a more recent machine do the builds
<srhb>
romildo: Maybe you can do both and I'll close mine? Since I guess it breaks things on its own?
<srhb>
I just want to get builds rolling fast since unstable-small is blocked on this too :)
xy2_ has quit [Remote host closed the connection]
fusion809 has quit [Remote host closed the connection]
<panamaman>
jabranham: I couldn't test until now and yes you are right. I just build emacs with giflib and everything works now. Thank you a lot again :)
<jabranham>
panamaman: glad you got it working :-)
acarrico has quit [Ping timeout: 252 seconds]
sigmundv__ has joined #nixos
<phigan>
sphalerite: Eh, it's a laptop. It can sit here and do its thing while I work :).
<sphalerite>
phigan: I hope you don't want to use a full-featured web browser on there, because that will take days to compile
<phigan>
with a single-core Atom :D
<sphalerite>
phigan: firefox won't compile at all in fact. Not sure about chromium
<phigan>
probably need Midori or something
<{^_^}>
[nixpkgs] @Ma27 opened pull request #50471 → pythonPackages.fs-s3fs: init at 1.0.0 → https://git.io/fpnnG
<phigan>
I use firefox in ubuntu and windows :)
<sphalerite>
yeah, but that'll be cross-built firefox
<phigan>
probably.
<sphalerite>
it can't be compiled on fully 32-bit systems anymore, because there's a bit that uses more than 4GB of RAM in a single process
<phigan>
so, this road isn't even worth going down, is what you're saying :)
<phigan>
with nixos, anyway
<sphalerite>
well it depends on which software you want to run
<phigan>
I mostly just web browse, ssh, and RDP
<sphalerite>
there's firefox-bin which patches the official binaries, that should work, actually
<sphalerite>
symphorien: even that won't help for firefox
<phigan>
I could just say eff it and use Ubuntu heheh
<symphorien>
sphalerite: ah right sorry
<sphalerite>
probably the easiest way. I'd wholeheartedly recommend trying nixos on a 64-bit machine though ;)
<phigan>
but I'd heard good things so I thought I'd try
<sphalerite>
oh, it's definitely worth trying :D just that a 32-bit machine will leave you with a rather bad first impression :')
<sphalerite>
midori won't be much fun either, since it's also webkit-based. Something like dillo would be more manageable, but that can't deal with much of the modern web
<phigan>
I was surprised at how decent midori was, running it on a Pi
<phigan>
I didn't check yet if it'll work with the node.js irc client I use :)
<sphalerite>
yeah it'll run fine, building it will be the painful part
<phigan>
so everything in nixos is compiled, like gentoo?
<sphalerite>
yes and no
<sphalerite>
all packages are specified as instructions for building from source, like gentoo
<exarkun22>
How do I convince `nixops deploy` to use more than one remote builder at a time (and ideally use each remote builder to do more than one build at a time)?
<sphalerite>
but nix supports binary caches which allow sharing build results between multiple machines
<sphalerite>
The issue is that the official binary cache no longer provides much coverage of 32-bit x86, meaning that on 32-bit systems you *do* have to build most stuff yourself
<phigan>
but the sharing part would only be local network, right? :)
<symphorien>
exarkun22: the number of concurrent jobs on a remote builder depends on /etc/nix/machines
<phigan>
ah, I getcha
<exarkun22>
oh good another configuration file
<sphalerite>
exarkun22: if you're passing it on the ocmmand line, you can separate multiple builders with semicolons
<phigan>
exarkun22: better than a database :D
<exarkun22>
symphorien: I set `builders` in /etc/nix/nix.conf
<exarkun22>
and it's using one remote builder to build one package at a time
<sphalerite>
exarkun22: that should work.
<sphalerite>
it may be that it's built everything it can build in parallel already, and now it's bottlenecked on one package that everything else depends on
<exarkun22>
okay I'll see what happens after binutils is done.
<exarkun22>
if it ever finishes
<sphalerite>
oh yeah if it's binutils that's almost definitely the case :)
<sphalerite>
you may want to use dezgeg's binary cache to get an already-built stdenv.
<exarkun22>
I couldn't make any of the binary caches work
v0|d has joined #nixos
<exarkun22>
they're all rejected with bad signature errors
<{^_^}>
[nixpkgs] @jfrankenau opened pull request #50472 → nixos/fontconfig: fix enable option of penultimate → https://git.io/fpncl
<exarkun22>
and I couldn't find any documentation about how signatures work for binary caches
<sphalerite>
you need to add the keys to trusted-public-keys as well as adding the URL to extra-substituters
<exarkun22>
ah
<phigan>
I used to compile everything from latest sources. Then I decided I mess with too many computers to always be compiling shit for two weeks on each one.
<phigan>
I'll see if it looks like it'd take this long on this one :)
<{^_^}>
[nixpkgs] @Ma27 opened pull request #50473 → pythonPackages.nose-cov: init at 1.6 → https://git.io/fpnc1
<phigan>
one time I spent two weeks compiling everything on an iBook (the first dual-usb white one).. had everything set up perfect.. then it fell off a countertop onto a kitchen floor and the drive was shot.
<phigan>
Good thing we have SSD now :)
alex`` has quit [Ping timeout: 272 seconds]
<sphalerite>
fun
alex`` has joined #nixos
<sphalerite>
oh boy, iBook. That brings back memories.
<hodapp>
I used an iBook G3 as a temporary machine for a bit when my Macbook was stolen
<sphalerite>
Yes! That's the one I'm thinking of :D
<phigan>
yeah I think mine was a G3 500mhz. I was pretty envious of the powerbook g4 at the time.
romildo has quit [Quit: Leaving]
ottidmes has quit [Quit: WeeChat 2.2]
<leotaku>
Do the remote "sshUsers" specified in "nix.buildMachinses" need to have some special privileges? Specifying root works just fine but connecting via a unprivileged user yields "don't know how to open Nix store" as an error.
schopp0r has joined #nixos
<schopp0r>
hi. is there any nixos-package that contains boost-config? (I cannot find any)
cnidario has quit [Remote host closed the connection]
hamishmack has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<krav1>
schopp0r: boost-config gives compile flags for boost?
<andi->
,locate boost-config
<{^_^}>
Couldn't find in any packages
<schopp0r>
krav1: yes, there is unfortunately no pkg-config for boost
panamaman has quit [Ping timeout: 256 seconds]
<krav1>
what do you it for? I think most packages would probably specify any special flags in an override for boost
<krav1>
+need
<schopp0r>
krav1: for compiling my own code.
<schopp0r>
I like to have my environments in shells, and normally this works with pkg-config
<lopsided98>
What is the current proper way to disable a package on a single platform?
<krav1>
I can't seem to find a boost-config on packages.debian.org either, are you sure you have the right name?
<sphalerite>
krav1: it's for getting the flags needed to compile against boost
<sphalerite>
krav1: not for changing what's enabled in boost
<disasm>
when using nix repl, it outputs "Added 4 variables" Is it possible to list what those 4 variables are?
hamishmack has joined #nixos
<{^_^}>
[nixpkgs] @zimbatm merged pull request #35068 → tmpdir audit: only fail with files referenced below → https://git.io/vAWzF
<{^_^}>
[nixpkgs] @zimbatm pushed to staging « tmpdir audit: only fail with files referenced below (#35068) »: https://git.io/fpn8Z
jperras has quit [Quit: WeeChat 2.2]
erasmas has quit [Ping timeout: 245 seconds]
<krav1>
sphalerite: oh, wouldn't that just be -I${pkgs.boost}?
erasmas has joined #nixos
<sphalerite>
disasm: doesn't look like it, I'm sure it would be mentioned in :? if there were a specific command for it. So the only way I know is tab-tab and filter out the builtins somehow (eyeball them out? :P)
<infinisil>
disasm: I guess you could just do `builtins.attrNames <thing you :added>`
<schopp0r>
krav1: ${pkgs.boost} doesn't work in normal bash.
<disasm>
yeah, but `-` and tab...
<schopp0r>
anyway, I'll probably write a shellfile and let it create a shellscript
<symphorien>
if you add inherit boost; to your shell.nix you can use $boost in the shell
<disasm>
I just figured it out by hand going through the nix file for now
<infinisil>
disasm: I think that was fixed at some point
<infinisil>
the tab and `-` thing
random_yanek has quit [Ping timeout: 268 seconds]
<phigan>
ahhh diddly. another failure, that this time flew off the screen and I can't see..
<phigan>
because it's a stupid chromebook style keyboard and there's no stinkin pageup
<krav1>
schopp0r: it wouldn't :) symphoriens suggestion and actually using nix is better, but you could do -I$(nix-build -A boost '<nixpkgs>') I guess
<symphorien>
you can use nix log /nix/store/foo.drv
<symphorien>
to get the drv name, rerun the command which failed with --dry-run
alex`` has quit [Quit: WeeChat 2.3]
erasmas has quit [Ping timeout: 268 seconds]
acarrico has joined #nixos
erasmas has joined #nixos
<{^_^}>
[nixpkgs] @fpletz pushed 3 commits to release-18.09: https://git.io/fpn8d
<{^_^}>
[nixpkgs] @zimbatm pushed to master « nixos: doc typo and ws »: https://git.io/fpn8x
hamishmack has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<leotaku>
disasm: How about "foo = (import ./path/to/file {})"? that should give you tab comp on "foo.<Tab>".
<leotaku>
Sorry for repeating my question, but does anyone here know if the remote "sshUsers" specified in "nix.buildMachinses" need to have some special privileges? Specifying root works just fine but connecting via a unprivileged user yields "don't know how to open Nix store" as an error.
random_yanek has joined #nixos
<symphorien>
since the machine from which the build comes is able to upload arbitrary store paths to the remote cache, I imagine it must be a trusted user
<steveeJ>
do we have any tooling in the ecosystem for runtime management? I'm thinking of a self-managed cluster which receives configuration updates asynchronously through some trusted source and coordinates reboots, etc. similar to how the coreos ecosystem works
slyfox has quit [Ping timeout: 252 seconds]
maximiliantagher has quit [Read error: Connection reset by peer]
maximili_ has joined #nixos
<lunik1>
hello, how do I give docker-compose access to the git executable?
<{^_^}>
[nixpkgs] @zimbatm pushed commit from @dtzWill to staging « sudo: 1.8.25p1 -> 1.8.26 (#50422) »: https://git.io/fpnuL
<alex-v>
Is it safe to put the entire nix store to a tar file? The reason is i need to use nix on an air-gapped server (no internet access, no direct internal access)
slyfox has joined #nixos
<symphorien>
I think so. this is basically what the installer does
<alex-v>
any peculiar options to give to tar?
<symphorien>
do you want to use nix or a nix-built software ?
<alex-v>
the software. i was thinking i will use another server which has internet access to set everything up
<alex-v>
then copy the whole thing
<symphorien>
then options are irrelevant
<alex-v>
what about symlinks/hardlinks?
<symphorien>
tranfering nix is a bit more sensitive because /nix contains a sqlite db and other stateful stuff
<symphorien>
you must unpack under the same path
<symphorien>
so symlinks are fine
<symphorien>
and hardlinks are optional (only used if you optimise your store)
<{^_^}>
[nixpkgs] @rnhmjoj opened pull request #50481 → gnash: remove gstreamer support → https://git.io/fpnuo
<alex-v>
so i am archiving /nix/store only, not the whole /nix?
<symphorien>
to transfer just /nix/store/foo and its dependencies, use tar cvf $(nix-store -qR /nix/store/foo)
<clever>
that will create a /mnt/nix/store that contains the full closure, and a proper nix state db
<clever>
flip it with --from on the other end
<symphorien>
but this requires /nix on the other end
<clever>
then either use a usb at /mnt, or tar "/mnt" up to move it
<clever>
you could just not copy it back to /nix, but yeah, it will expect you to chroot in such a way that it appears to be at /nix
<alex-v>
well, i need everything in the store since the whole point is to create it from scratch for use on an air-gapped server
<clever>
alex-v: ah, thats one of the original uses i had for nix copy
<clever>
alex-v: copy the full closure to a usb stick, then move the usb over the airgap
<clever>
and copy it back to the gapped machine
<{^_^}>
[nixpkgs] @bhipple closed pull request #48926 → mkl: wrap with openmp in LD_LIBRARY_PATH → https://git.io/fxXlT
<lunik1>
do I need to add git to docker's extraPath?
<clever>
lunik1: depends, do you want to run git inside the image?
<lunik1>
I want to use git to fetch a dockerfile and build an image, as specified in a docker compose file
ma27 has quit [Quit: WeeChat 2.2]
<alex-v>
@clever how do i copy the whole store? i have no other use for the server with internet access but to prepare everything for the airgapped server
<clever>
lunik1: nix doesnt really use docker files much
<alex-v>
clever: thanks. do i need to do anything with the users? their profiles should be int he store as well, correct?
<lunik1>
clever: the problem is when I try and run compose I get the error 'exec: "git": executable file not found in $PATH'
<clever>
alex-v: yeah, but note, that the profiles themselves wont be copied, so the links in /nix/var/nix/profiles/ wont be copied, just the things they point to
<alex-v>
clever: wouldn't it be easier then to archive the whole /nix?
<{^_^}>
[nixpkgs] @c0bw3b opened pull request #50482 → mdds: drop 0.7.x and 0.12.x → https://git.io/fpnzk
<clever>
alex-v: if you know what storepaths should be where, you can `nix-env -p /nix/var/nix/profiles/per-user/clever/profile --set /nix/store/foo` to update the profile, after copying things
<clever>
alex-v: the main benefit of `nix copy` is that its incremental, it knows what has already been copied, and can update things faster
c0bw3b_ has left #nixos [#nixos]
c0bw3b_ has joined #nixos
drakonis has joined #nixos
<clever>
alex-v: you can also look at your profiles, and only copy what yo need, that will be faster then --all
<clever>
and will omit build-time deps
the-kenny has quit [Read error: Connection reset by peer]
<alex-v>
well i am begginning with just one profile for root that everybody will leverage at first
<alex-v>
all the live users are on the airgapped server
<clever>
alex-v: you can also manage your own profiles, for example
<alex-v>
they have no access to my server which has internet access
<clever>
nix-env -f profile1.nix -iA things -r -p /nix/var/nix/profiles/per-user/clever/example
<clever>
this will install the things attr in profile1.nix, to the example profile (which is ignored by all tools)
<clever>
and -r will remove anything the profile previously had, so it only has what the current things defined
<clever>
then you can nix copy that to a usb, and deploy it
<clever>
and now the entire package-set is defined in profile1.nix, and you can recreate it
<{^_^}>
[nixpkgs] @zimbatm pushed commit from @Synthetica9 to master « vscode: 1.29.0 -> 1.29.1 (#50462) »: https://git.io/fpnza
ma27 has joined #nixos
<alex-v>
i see. i'll try that. thanks! (i really wish there was an official documentation on how to use nix on enterprise networks where almost everything is airgapped...)
<symphorien>
you can write your experience on the wiki
hedning has quit [Quit: hedning]
<clever>
basically every action in nix needs access to the binary cache, so its not a very common use-case
<symphorien>
a github account is enough
<clever>
but i have used stuff similar to the above, to produce an installer (similar to an airgap)
hedning has joined #nixos
<clever>
the installer i made is more about pre-building a closure, and deploying it to a machine i wont have real-time access to, in an automated way
<clever>
it still has internet, but it doesnt use any binary caches
<alex-v>
well airgapped server has acces to a kind of a "delayed cache"
<clever>
oh, another option
<clever>
run something like nix-serve on an internal box, that acts as your cache
<clever>
and then use all of the above nix copy stuff, to get things into that machine
<clever>
then it can build anything you have manually copied over
maximili_ has quit [Remote host closed the connection]
maximiliantagher has joined #nixos
maximiliantagher has quit [Remote host closed the connection]
maximiliantagher has joined #nixos
c0bw3b_ has quit [Remote host closed the connection]
hedning has quit [Ping timeout: 244 seconds]
<mightybyte>
I'm trying to use the LnL7/nix docker container to build thnigs, but I'm getting this error: executing 'tar': No such file or directory
jasongrossman has joined #nixos
<mightybyte>
I tried doing `nix-env -i coreutils` first and that didn't seem to help either.