<clever>
oh, lets yeah, search for EBUSY in all related files
<simukis_>
I just traced the call graph
johnsonav has quit [(Ping timeout: 240 seconds)]
<simukis_>
so hmm… it seems like it detects some sort of race…
<clever>
but there is no ability to run things in parallel in stage-1
<clever>
so maybe the import is being a little async?
<simukis_>
The thing is, I do not remember this happening before for a while. It only began a bit later. Now I’m not exactly sure at which point, but at the very least I’ve added zvols between when it wasn’t a problem and when it began being one
<simukis_>
clever: do you have any zvols?
<clever>
not on the machine that had the problem
<simukis_>
okay, so that’s not the cause
cpennington has joined #nixos
Raimondii has joined #nixos
<clever>
but i do have automatic snapshots on
<clever>
[root@amd-nixos:~]# zfs list -t snapshot | wc -l
<clever>
90
takle has quit [(Remote host closed the connection)]
Raimondi has quit [(Ping timeout: 268 seconds)]
Raimondii is now known as Raimondi
s33se_ has joined #nixos
s33se has quit [(Ping timeout: 240 seconds)]
takle has joined #nixos
johnsonav has joined #nixos
takle has quit [(Ping timeout: 260 seconds)]
filterfish_ has joined #nixos
lambdamu has joined #nixos
eacameron has joined #nixos
lambdamu_ has quit [(Ping timeout: 258 seconds)]
mizu_no_oto has joined #nixos
takle has joined #nixos
j2j has joined #nixos
<j2j>
Hello -- what is a recommended way to debug nix configuration files?
stepho has joined #nixos
takle has quit [(Ping timeout: 268 seconds)]
ryantrinkle has joined #nixos
data has joined #nixos
data is now known as Guest77206
stepho has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
takle has quit [(Ping timeout: 260 seconds)]
takle has joined #nixos
hexagoxel has quit [(Ping timeout: 260 seconds)]
takle has quit [(Ping timeout: 246 seconds)]
eacameron has quit [(Remote host closed the connection)]
hexagoxel has joined #nixos
pie_ has quit [(Read error: Connection reset by peer)]
pie_ has joined #nixos
zeus_ has quit [(Remote host closed the connection)]
takle has joined #nixos
orivej has quit [(Ping timeout: 246 seconds)]
Fare has joined #nixos
takle has quit [(Ping timeout: 246 seconds)]
pie_ has quit [(Ping timeout: 246 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] jammerful opened pull request #25817: shibboleth: Add Myself as a Maintainer (master...maintainers) https://git.io/v9FF7
NixOS_GitHub has left #nixos []
<simpson>
Is there anything I should know before trying to work in nixos/modules/tasks/network-interfaces.nix ? It seems like a big monolith and I'm wondering why.
schoppenhauer has quit [(Ping timeout: 240 seconds)]
<clever>
that was there from the first commit that added pcsclite
<hyper_ch>
vcunat should come in here more often again :(
takle has joined #nixos
<clever>
MichaelRaskin: it looks like he started out by making it optional with proper optional calls and a ?null, but then missed a spot, and made the PR
<clever>
turning man and the manual off saved another 26mb
<clever>
programs.info.enable=false; shaved another 19mb off the closure
<clever>
almost down 80mb fro where i started
<MichaelRaskin>
clever: just switch to hand-written activation to get rid of perl
<hyper_ch>
clever: what do you try to achieve?
takle has quit [(Ping timeout: 240 seconds)]
Itkovian has quit [(Read error: Connection reset by peer)]
<clever>
MichaelRaskin: i have done that in not-os, but it still needs perl for setup-etc.pl
<MichaelRaskin>
clever: well, follow my example with overlayfs
<clever>
hyper_ch: my netbook barely has enough disk space for 2 full nixos generations, so a glibc change causes any attempt at upgrading to run out of space
<hyper_ch>
I had to upgrade my 512ssd to 1tb
<hyper_ch>
I know the low disk space issues :)
<clever>
MichaelRaskin: ah yeah, i saw that in an issue somewhere recently, what was the link?
<clever>
hyper_ch: the hdd isnt replacable, raw NAND flash chips soldered directly to the motherboard, 4gig total
<hyper_ch>
4gig... now that's not a lot... how can one still manage with that
<MichaelRaskin>
<html> <head><title>500 Internal Server Error</title></head> <body> <h1>500 Internal Server Error</h1> <p>Something's broken in this server and needs to be fixed.</p> </body> </html>
justanotheruser has quit [(Ping timeout: 240 seconds)]
civodul has quit [(Read error: Connection reset by peer)]
<lukego>
I am having a really hard time installing xfce on nixos for use with vncserver. There are a lot of packages and it doesn't seem to work, either on a stable or unstable nixos channel, to install them all with e.g. 'nix-env -iA nixos-unstable.xfce'. Gist: https://gist.github.com/lukego/5bcea80e4ba371114f8510782bd4f659
mpcsh has quit [(Quit: THE NUMERICONS! THEY'RE ATTACKING!)]
<lukego>
On the other hand there are ~60 packages and I really don't know how to pick the right ones to install myself. I have noticed that the minimal installation is not actually usable, e.g. menu items that don't work, no way to recover windows that have been minimized, etc. How do other people run a NixOS desktop in vnc?
<danbst>
lukego, I guess remote system isn't NixOS?
cfricke has quit [(Quit: WeeChat 1.7.1)]
<lukego>
danbst: it is. I'd kinda prefer not to depend on that, but I can.
gsora has quit [(Ping timeout: 246 seconds)]
<lukego>
danbst: Originally I was following the instructions at http://nixer.ghost.io/nixos-in-the-cloud/ but this turned out to be problematic for some reason. I don't quite remember why. Could have been related to persistence between logins or something...
<danbst>
lukego, I also tried to run that and failed. Perhaps need one more try
mkoenig has quit [(Ping timeout: 268 seconds)]
mkoenig has joined #nixos
<lukego>
danbst: Broadly what I want to do is deploy "software as a service" but via VNC instead of a web browser. Though while I develop this I also want general window managers etc.
olejorgenb has quit [(Ping timeout: 255 seconds)]
kiloreux has joined #nixos
kiloreux_ has joined #nixos
kiloreux_ has quit [(Client Quit)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] qknight opened pull request #25825: on error, add a reference to the configuration file (master...nsd_debugging) https://git.io/v9bR8
NixOS_GitHub has left #nixos []
18WAAA3S9 has joined #nixos
<18WAAA3S9>
[nixpkgs] qknight closed pull request #25825: on error, add a reference to the configuration file (master...nsd_debugging) https://git.io/v9bR8
18WAAA3S9 has left #nixos []
21WAAC6AF has joined #nixos
<21WAAC6AF>
[nixpkgs] qknight pushed 1 new commit to master: https://git.io/v9bRR
<21WAAC6AF>
nixpkgs/master d5e1849 Joachim Schiele: on error, add a reference to the configuration file (#25825)...
21WAAC6AF has left #nixos []
<kiloreux>
Can we have multiple versions of the same package on nixpkgs?
bennofs has quit [(Ping timeout: 260 seconds)]
<danbst>
kiloreux, sure, but why?
<danbst>
kiloreux, I mean, why should we have them in `nixpkgs`, and not in overlays?
Wizek has joined #nixos
<danbst>
lukedo, I tried terminal-server.nix again and stumbled into SSL problems. Investigating further...
<danbst>
whoops, lukego
<kiloreux>
I am trying to put them in default.nix
<kiloreux>
So I can have 2 versions side by side in production :D
<kiloreux>
danbst, i have installed the nixpkg and pinned it down installing it from the commit link :D
cpennington has joined #nixos
<danbst>
kiloreux, that's what most of us do, yes. Though it's boring to find out which exact commit contains required app version
<kiloreux>
Well I have that part of nixpkg already figured out.
<kiloreux>
But I still don't know how to write a proper default.nix
peacememories has joined #nixos
<gchristensen>
ikwildrpepper: ping?
<danbst>
kiloreux, I do sometimes pkg_oldver = pkg.overrideDerivation (sup: { src = pgks.fethcurl { url = ...; sha256 = ...; }; });
<danbst>
kiloreux, it works if there where only minor changes, and has a bonus of not depending on full nixpkgs
eacameron has joined #nixos
<danbst>
as far as I know people do want a repo with all srcs, so you can refer them like src = (import <srcs>).pkg_ver;
AndChat114816 has quit [(Quit: Bye)]
gsora has joined #nixos
AndChat114816 has joined #nixos
<AndChat114816>
Thanks a lot. I am a quite a noob here so if you have any real world example that I can try unders
eacameron has quit [(Ping timeout: 240 seconds)]
<AndChat114816>
Understanding it would be very helpful.
cmacrae has joined #nixos
<lukego>
danbst: Sure would be nice to be able to easily serve up desktops to multiple users from a nix/nixos expression.
johnsonav has quit [(Ping timeout: 246 seconds)]
* gchristensen
waves to nixos-wiki
nh2 has joined #nixos
nslqqq has quit [(Ping timeout: 240 seconds)]
<kiloreux>
Thank you gchristensen.
pie_ has joined #nixos
<gchristensen>
what for?
<cmacrae>
So, I have a question regarding Nix: I'm planning to expose a custom systemd service. I need to be able to run multiple instances of this service and keep a count, then use the count value as part of the service configuration. Something like: `services.myService.count = 5;` which would spawn 5 systemd units, each named using their index in the count, and using their index in the count as a value for something (I want to provide the port
<cmacrae>
number)
ilyaigpetrov has joined #nixos
<gchristensen>
!m makefu
<[0__0]>
You're doing good work, makefu!
<cmacrae>
Is that possible?
<gchristensen>
ohh fun, cmacrae, you bet!
<cmacrae>
gchristensen: Yeah? Awesome!
<cmacrae>
gchristensen: Any docs/examples on how this might be approached? :)
<gchristensen>
I do a similar thing where I spawn a variable number of nixos-containers inside a test VM
<gchristensen>
let me see if I can find some code to share ... cmacrae: will you be around in ~2 hours? if I can't find a sample now, I definitely can, then
<cmacrae>
gchristensen: Ah, much appreciated! Sure, I'll be about :)
<gchristensen>
mmm... you'll need it to produce an attrset
<danbst>
yes, makeService should produce an attrset
<gchristensen>
map won't
<danbst>
ah
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<cmacrae>
Looking forward to learning more about Nix - so far it's just been very basic configuration of my MacBook - but we're redesigning part of our stack at work, and I see it as a great opportunity to utilize NixOS
<cmacrae>
I'll take a look at this shortly. Just headed out for lunch. If there are any other examples/docs using this sorta stuff, I'd greatly appreciate it
<danbst>
cmacrae, here is what I read: nixpkgs/lib/attrsets.nix, nixpkgs/lib/lists.nix, nixpkgs/lib/strings.nix, nixpkgs/lib/options.nix. I stopped reading nixpkgs/lib/modules.nix because of brain explosion
nslqqq has joined #nixos
leat has joined #nixos
<danbst>
makefu, let's test!
<makefu>
you will need to update the user with the x-server and when running nixos stable your tigervnc will most likely work
<makefu>
the config also defines novnc which you might not need :)
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 6 new commits to master: https://git.io/v9bVZ
<NixOS_GitHub>
nixpkgs/master 9d5038e Frederik Rietdijk: pythonPackages.scipy: 0.18.1 -> 0.19.0
<NixOS_GitHub>
nixpkgs/master b78940b Frederik Rietdijk: pythonPackages.numpy: 1.11.3 -> 1.12.1
<NixOS_GitHub>
nixpkgs/master 50fb47d Frederik Rietdijk: pythonPackages.cython: disable tests temporarily
<sdll>
Team, could you please tell me how I can increase the size of tmpfs at /run/user/${uid}/, where uid is the uid defined in the user section of configuration.nix?
<sdll>
Will changing boot.runSize help?
<sdll>
Or is there a direct way to do it for a user?
joniWoni has joined #nixos
<sdll>
clever, I wonder if you could come to the rescue
<cmacrae>
Yo gchristensen I'm still about if you have any of those examples we spoke about briefly earlier :) Just gimme a shout if you have a moment to find them (no rush of course, just letting you know I'm here)
<gchristensen>
thank you for the ping :D
<sdll>
gchristensen: could you please help with the issue?
eacameron has joined #nixos
<sdll>
Currently my /run/user/${uid}/ it is at 790MB, which is not nearly enough
<sdll>
There is still lots of space on my /.
<sdll>
I do not know whether boot.runSize changes the size of tmpfs for all users currently logged in.
<cmacrae>
gchristensen: Yep, I've been trying to understand how to use the suggestion earlier. Thanks very much for this! I'll look over it - much appreciated
justelex has quit [(Excess Flood)]
<gchristensen>
you're welcome
<gchristensen>
LMK if you need more help with that sample
<gchristensen>
sorry sdll, I don't know :(
justelex has joined #nixos
eacameron has joined #nixos
<cmacrae>
gchristensen: Great, will do
<sdll>
gchristensen: No worries, thank you for your consideration!
Raimondii has joined #nixos
iyzsong has joined #nixos
eacameron has quit [(Ping timeout: 245 seconds)]
Raimondi has quit [(Ping timeout: 268 seconds)]
Raimondii is now known as Raimondi
sdll has quit [(Remote host closed the connection)]
johnsonav has quit [(Ping timeout: 246 seconds)]
justelex has quit [(Ping timeout: 268 seconds)]
justelex has joined #nixos
reinhardt has quit [(Quit: Leaving)]
cmacrae has quit [(Remote host closed the connection)]
<FRidh>
anyone experience with a fontconfig cache in a nix-build?
cmacrae has joined #nixos
orivej has quit [(Read error: Connection reset by peer)]
justelex has quit [(Ping timeout: 246 seconds)]
nh2 has quit [(Ping timeout: 240 seconds)]
<ToxicFrog>
Given the name of a package, is there a command that will give its path in nix-store?
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
nh2 has joined #nixos
<goibhniu>
ToxicFrog: you can use nix-env with --dry-run if it hasn't been installed yet, otherwise something like: readlink -f `which mypkg`
<ToxicFrog>
It has been installed, but it's not a binary; it's a library
<ToxicFrog>
So which won't help
<ToxicFrog>
(It would be nice if there were a /run/current-system/lib)
<goibhniu>
oh, but there is /run/current-system/sw/lib
<ToxicFrog>
So there is!
<ToxicFrog>
But for some reason libXtst, despite being installed, doesn't show up in it
hiberno has quit [(Remote host closed the connection)]
<ToxicFrog>
And `nix-env --dry-run --install -A xorg.libXtst` says it can't find attribute xorg. Argh.
hiberno has joined #nixos
hiberno has quit [(Client Quit)]
Infinisil has joined #nixos
ryantrinkle has joined #nixos
Infinisil has quit [(Client Quit)]
<ToxicFrog>
Does nix-env not understand systemPackages?
<gchristensen>
sorry?
<symphorien>
add nixos. as a prefix
<symphorien>
nixos.xorg.libXtst
hiberno has joined #nixos
hiberno has quit [(Client Quit)]
hiberno has joined #nixos
<ToxicFrog>
That works, but nix-env --install --dry-run doesn't print the store path (maybe because it's already installed?)
johnsonav has joined #nixos
<ToxicFrog>
maybe I should just ls -trd /nix/store/ | grep libXtst
<ToxicFrog>
:/
<danbst>
ToxicFrog: nix-index tool does such reverse search
<goibhniu>
ls /nix/store/*libXtst* would probably be faster than grepping
<rcschm>
hi, i am having this shell.nix in a haskell project https://pastebin.com/YFaFWZSA. i keep getting error: attribute ‘mkDerivation’ missing, at shell.nix:3:1.
<ToxicFrog>
goibhniu: handy, but I need this noninteractively and with a minimum of extra output
<rcschm>
how do we fix this? thks for your help.
takle has joined #nixos
FRidh has quit [(Ping timeout: 255 seconds)]
<danbst>
ToxicFrog: you just implemented nix-build '<nixpkgs>' --no-build-output -A PKG 2>/dev/null
__Sander__ has quit [(Remote host closed the connection)]
<cmacrae>
This gives me example netcat services, which I can interact with. I'm able to start them from the shell, and inspect them. But, I was wondering; how would I set `enable = true;` for each of these services?
<cmacrae>
Just set `enable = true;` at the same level as `name` and `value`? :)
pie_ has quit [(Changing host)]
pie_ has joined #nixos
<gchristensen>
cmacrae: next to description
<cmacrae>
Oh, okay, cool :)
<cmacrae>
Yeah... that actually makes sense now that I think about it :p
<makefu>
cmacrae: you should use ${pkgs.netcat}/bin/netcat to pin the version and avoid a crash if netcat is not part of systemPackages
<cmacrae>
makefu: Yeah, I did have that initially but I was getting permission denied - though I think that was due to the ports I was using to test :) Anyhoo, will be sure to do so when I build the actual solution
<makefu>
ok :)
takle has quit [(Read error: Connection reset by peer)]
takle has joined #nixos
afldcr has quit [(Quit: bye)]
afldcr has joined #nixos
cmacrae has quit [(Remote host closed the connection)]
Itkovian has quit [(Ping timeout: 260 seconds)]
ryantrinkle has quit [(Ping timeout: 240 seconds)]
hiberno has quit [(Quit: leaving)]
hiberno has joined #nixos
<nixos-users-wiki>
"nix command cookbook" created by makefu https://git.io/v9NUG
nh2 has quit [(Quit: Leaving.)]
cartwright has quit [(Read error: Connection reset by peer)]
takle has quit [(Read error: Connection reset by peer)]
takle has joined #nixos
betaboon has quit [(Quit: This computer has gone to sleep)]
pratch has quit [(Ping timeout: 240 seconds)]
ryantrinkle has joined #nixos
Itkovian has joined #nixos
mudri has quit [(Ping timeout: 260 seconds)]
ryantrinkle has quit [(Ping timeout: 260 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ehmry pushed 1 new commit to master: https://git.io/v9NLn
Itkovian has quit [(Read error: Connection reset by peer)]
bkchr has quit [(Ping timeout: 260 seconds)]
JagaJaga has joined #nixos
Itkovian has joined #nixos
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
MoreTea has joined #nixos
<MoreTea>
ARGH, autotools!
<MoreTea>
./configure: line 5049: syntax error near unexpected token `libvirt,'
<MoreTea>
./configure: line 5049: `PKG_CHECK_MODULES(libvirt, libvirt >= $LIBVIRT_REQUIRED, , with_libvirt=no)'
<MoreTea>
Any autotools wizard here? I'm trying to package hyperd, which allows you to run individual (or pods of docker containers) in a small KVM machine
brerp has joined #nixos
<brerp>
Heya! st accepts some string 'conf' as a dependency. How can I provide it?
<MoreTea>
Those two links should help you with this :)
<MoreTea>
Do ask again if you're not able to make it work though :)
ryantrinkle has joined #nixos
phinxy has joined #nixos
Filystyn has joined #nixos
<Infinisil>
I feel somehow conflicted about this: I kinda want everything to be in configuration.nix (or included files), but then It's very inconvenient to edit e.g. the xmonad configuration which is written in Haskell, since it's not a .hs file anymore, what do the people her think about this?
<ToxicFrog>
Infinisil: for stuff like that I put it in separate files with the correct extension that are then included.
<ToxicFrog>
e.g. services.exim.config = (readFile ./exim.conf)
<gchristensen>
Infinisil: my i3 loads the config from /etc/i3/config which is a symlink in to the store, and i3 can reload the config. this way I can nixos-rebuild switch and reload the config w/out restarting my display manager
<Infinisil>
I see, but then the benefit of nix isn't there, which is to be able to have the file depend on other options of the system
<gchristensen>
sorry?
<Infinisil>
Said that to toxicfrog
<ToxicFrog>
Infinisil: as in, you want to be able to use nix expressions in the config file?
<Infinisil>
Yes, but I'm not sure if I really need that
<Infinisil>
I still don't quite know how to organize system and user configuration to make it pure and replicable
<Infinisil>
Oh well I'll try some stuff I guess, stow also looks interesting, maybe also a Makefile for convenience, dunno
<brerp>
I thought readFile was ok with relative paths? error: string ‘./st/config.h’ doesn't represent an absolute path, at /home/o/dotfiles/st.nix:3:10
<brerp>
(because I can see it used with relative paths elsewhere)
<Infinisil>
Did you use readFile "./st/config.h"?
<Infinisil>
Because you don't want the quotes
<brerp>
Oh, why's that?
<Infinisil>
Just readFile ./st/config.h
<brerp>
And yes, I did
ambro718 has joined #nixos
<Infinisil>
Ahh well then I don't know. Nix interprets a symbol with / in it as a path
<brerp>
Infinisil: I meant I did use the quotes, it works like a charm now :)
derjohn_mob has quit [(Ping timeout: 240 seconds)]
Tucky has quit [(Remote host closed the connection)]
matthewbauer has joined #nixos
civodul has quit [(Quit: ERC (IRC client for Emacs 25.2.1))]
marsel has quit [(Ping timeout: 260 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vcunat pushed 1 new commit to master: https://git.io/v9N3E
<NixOS_GitHub>
nixpkgs/master b0ec4b8 Matthew Maurer: typo: powerManagment -> powerManagement (#25813)
NixOS_GitHub has left #nixos []
Infinisil has joined #nixos
<clever>
danbst: ah, nice
pie_ has quit [(Ping timeout: 268 seconds)]
Infinisil has quit [(Client Quit)]
<MoreTea>
I'm trying to package a go application that depends on libvirt and libdevicemapper.
hellrazo1 has quit [(Ping timeout: 246 seconds)]
mizu_no_oto has quit [(Quit: ["Textual IRC Client: www.textualapp.com"])]
<MoreTea>
I'm not sure, but I think that it tries to statically link to those libs, and only a .so is availble in $(nix-build -f '<nixpkgs>' -A devicemapper)/lib
<MoreTea>
Is there a way to override packages and instruct them to also export an .a file?
<MoreTea>
which runs docker containers in a small KVM machine
<clever>
ah
<MoreTea>
The next step is to add Frakti, which connects Kubernetes to hyper
<MoreTea>
This all is to get experience with kubernetes + nix + some other container runtime
<MoreTea>
The end goal is to implement a nix container backend for kuberentes
goibhniu has quit [(Ping timeout: 260 seconds)]
<MoreTea>
But i'd like to modify the kubernetes service first to support different containerizer backends.
jmeredith has joined #nixos
<drewr>
even though I've been using nix for a while, just recently been trying to build packages; what's a good step to take when you have a git checkout that builds fine when you do your own `./configure && make` but it fails in a nix-build?
<drewr>
it actually compiles ok, but it leaves out some libraries, kinda weird issues like that
simukis_ has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vcunat pushed 3 new commits to staging: https://git.io/v9NZC
<kiloreux>
If you really, really want to have the exact same package set across multiple machines you can pin the packages to a specific revision of the nixpkgs repo. This isn't recommended, however, because then you won't be able to take advantage of the channel's binary cache, so you'll have to build everything from source on each machine (this can take hours). You'll also miss out on the "conservative bug fixed and package upgrades".
moet has joined #nixos
<kiloreux>
I am already pinning nixpkgs down.
<kiloreux>
Does that mean for every package I install I have to build it from source?
siel has quit [(Remote host closed the connection)]
siel has joined #nixos
<matthewbauer>
probably, unless it's fairly recent, the part of the binary cache has been garbage collected
<kiloreux>
I am assuming it's because i am mentioning nixpkgs inside the default nix. Which I am also assuming is wrong.
dmi3y has joined #nixos
Judson1 has joined #nixos
<matthewbauer>
clever: don't old generation get removed at some point?
<clever>
matthewbauer: nope
<Judson1>
Does anyone have any advice on developing in Node on NixOS?
<Judson1>
npm install --global isn't so helpful.
<matthewbauer>
clever: that's a lot of data. so could i switch to any old commit of a channel and get everything downloaded?
<clever>
matthewbauer: yeah, but there are no logs of what commits a channel has been on
rcschm has quit [()]
<clever>
kiloreux: there is no line 50 on that gist
<matthewbauer>
clever: that might be pretty useful to create a sort of "meta-nixpkgs" that has old versions of packages when people don't won't the newest stuff
<kiloreux>
Misguiding you, sorry. I removed comments. So the line 50 was this nixpkgs.stdenv.mkDerivation { name = "project"; }
<kiloreux>
Which is 30 on that gist
<clever>
kiloreux: can you do it again with --show-trace ?
<gchristensen>
niksnut: I'm very grateful for your review on my nixops PR, especially the follow-up post you just made. a big change, but maybe the right one? maybe it can be opt-in somehow, leaving the top level options "free form" and allow people to move to machines.<foo> if they choose?
<clever>
kiloreux: oh right, that will only be able to install that 1 derivation
<MichaelRaskin>
or nix-env -i -E, whatever
leat has joined #nixos
<detran>
thanks srhb, MichaelRaskin
<clever>
kiloreux: so "nix-env -f ~/another-directory -i" will install transloadit
<clever>
kiloreux: and for testing, you would just do "nix-build ~/another-directory && ls result/ -l"
<kiloreux>
Thanks a lot for your time clever. Is there anyway to rename the package version i installed?
Itkovian has joined #nixos
<clever>
kiloreux: change the name in the stdenv.mkDerivation
<kiloreux>
Thank you. Really appreciate your help here.
slyfox_ has joined #nixos
slyfox has quit [(Ping timeout: 245 seconds)]
Itkovian has quit [(Client Quit)]
MarcWeber has quit [(Ping timeout: 240 seconds)]
Itkovian has joined #nixos
slyfox has joined #nixos
MarcWeber has joined #nixos
slyfox_ has quit [(Ping timeout: 240 seconds)]
<betaboon>
i have a quick question on nixos-netiquette: how do ppl go on about pushing changes to an open pull-request? create a new commit or force-push ?
<MichaelRaskin>
If you have to ask, most likely the answer is «force-push and add a comment in coversation»
<the-kenny>
betaboon: I'd go for new commit - you can always squash them in the end. Force-Pushing will invalidate existing comments
mudri has joined #nixos
zeus_ has quit [(Read error: Connection reset by peer)]
<MichaelRaskin>
the-kenny: a commit the overwrites the code that was commented on also somewhat invalidates them…
<betaboon>
thanks for your opinions :)
<the-kenny>
MichaelRaskin: oh well, I guess it depends on the changes that you want to integrate
zeus_ has joined #nixos
pie__ has joined #nixos
<MichaelRaskin>
Also, if PR is mergeable and not WIP, it is better to keep it in state where someone fed up with PR queue pressing «merge» is not unfortunate
<Judson1>
Like... how do you node2nix such that nix-shell will get you e.g grunt in the path?
<Judson1>
Specifically, I'm trying to do the equivalent of `npm install --global create-cycle-app`
<MichaelRaskin>
betaboon: of course if the new commit would make more sense as a separate commit in the initial PR, force-pushing doesn't make sense — but then you wouldn't even consider it anyway, most likely. See, we don't disagree completely!
ixxie has quit [(Quit: Lost terminal)]
<betaboon>
MichaelRaskin: i think you made a very valid point on the mergeable-vs-wip state of a pr.
<betaboon>
I'm just doing it this way: add functionality/packages -> new commit, apply small fixes -> force-push
<MichaelRaskin>
Obviously makes sense
<MichaelRaskin>
My point is, well, from experience
<betaboon>
yeah force-push is evil, kind-of
<betaboon>
especially on wip-branches used by multiple ppl
<MichaelRaskin>
Well, I would say that when PR is WIP you'd better put [WIP] in the title
engblom has quit [(Read error: Connection reset by peer)]
<MichaelRaskin>
You can never guess why I get depressed with PR count and start merging everything that looks net-positive after a quick skimming
<MichaelRaskin>
An issue asking for some functionality present in two long-hanging PRs or some other annoyance
<betaboon>
MichaelRaskin: just added the WIP :D
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 2 new commits to master: https://git.io/v9NKF
<NixOS_GitHub>
nixpkgs/master b496ffb mingchuan: opencv: Fix OpenCV build on non NixOS platform...
<NixOS_GitHub>
nixpkgs/master fda2318 Frederik Rietdijk: Merge pull request #25814 from sifmelcara/fix/opencvCMakeLibraryPath...
NixOS_GitHub has left #nixos []
engblom has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/v9N6J
pie_ has quit [(Remote host closed the connection)]
pie_ has joined #nixos
civodul has joined #nixos
<vandenoever>
chromium on nixos cannot play sound, is that normal? in firefox it works fine, but there playing video hangs
<clever>
vandenoever: is pulseaudio working?
<vandenoever>
clever: yes
<clever>
vandenoever: do you see chromium in "pavucontrol" ?
<vandenoever>
i use pavucontrol all the time and i can use kde controls to pipe app sounds to different speakers/headphones
matthewbauer has quit [(Ping timeout: 260 seconds)]
<vandenoever>
clever: no
<vandenoever>
clever: it's the only app that does not show up there
<clever>
vandenoever: i have chromium.pulseSupport = true; in my nixpkgs config
<vandenoever>
mpv, ogg123, firefox etc show up there
<clever>
are you installing chromium with nix-env or nixos-rebuild?
<vandenoever>
clever: running via nix-shell --pure -p chromium --command "chromium-browser"
<clever>
add this to ~/.nixpkgs/config.nix, chromium.pulseSupport = true; inside the top level { and }
moet has joined #nixos
<vandenoever>
clever: ah! the --pure was messing it up
<clever>
oh, i could see --pure clearing env vars it needs to find pulseaudio
hellrazo1 is now known as hellrazor
AndChat114816 has quit [(Ping timeout: 268 seconds)]
Filystyn1 has quit [(Quit: Konversation terminated!)]
<vandenoever>
clever: i'll go and find out what env var that is
<clever>
'env' will print them all out, then you can export things one by one in the --pure shell until it recovers
kiloreux has quit [(Ping timeout: 240 seconds)]
<vandenoever>
yeah, env|grep -i pulse does not give hints
AndChat114816 has joined #nixos
<clever>
pulse also makes use of dbus to find the server
arcetera has joined #nixos
<arcetera>
anyone had success runninng TI Code Composer Studio on NixOS
ambro718 has quit [(Quit: Konversation terminated!)]
georges-duperon has joined #nixos
peacememories has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] therealpxc opened pull request #25835: Fish (release-17.03...fish) https://git.io/v9NyH
NixOS_GitHub has left #nixos []
<arcetera>
pretty sure it's only distributed as a binary, but I'm not entirely sure
<arcetera>
even so I have no idea how Nix works and I should probably work on that
kiloreux has joined #nixos
moet has quit [(Quit: leaving)]
dmi3y has joined #nixos
* dmj`
thinks maybe GHC RC’s should be included in haskell nixpkgs
pie_ has quit [(Ping timeout: 272 seconds)]
peacememories has joined #nixos
matthewbauer has joined #nixos
<vandenoever>
clever: the winner is XDG_RUNTIME_DIR
<bachp>
Hi, I'm trying to add something to the nixos manual, but I'm strugling with docbook. Is there any editor or tool people are using that helps with editing docbook xml?
<danbst>
bachp, write in markdown and ask @vcunat to translate to docbook :)
<arcetera>
more generally i guess, how can you run precompiled closed-source binaries on nixos?
<gchristensen>
arcetera: we use patchelf (search nixpkgs for examples) to update the load path and interpreter
<bachp>
danbst: Sound's interesting but does this scale? ;)
<gchristensen>
bachp: it sure does
<gchristensen>
it scales so far as "extremely few requests for it have come through"
<LnL>
bachp: I usually just look at the previous section and copy paste the tags :)
AndChat|114816 has joined #nixos
AndChat114816 has quit [(Ping timeout: 268 seconds)]
kiloreux has quit [(Read error: Connection reset by peer)]
peacememories has quit [(Ping timeout: 272 seconds)]
<arcetera>
gchristensen: what packages would use patchelf?
<gchristensen>
like look up Slack
<gchristensen>
probably one of the more complicated ones, but still
mizu_no_oto has quit [(Quit: ["Textual IRC Client: www.textualapp.com"])]
pie_ has joined #nixos
<bachp>
LnL: I hoped there would be a better way
<arcetera>
this looks Ludicrously Complicated(tm) for something as complicated as CCS
<arcetera>
it might honestly be a smarter idea to use something else, i just don't know what
<clever>
acertain: skype and teamspeak are other examples
<dhess`>
How do I get the store path to gcc-wrapper in a derivation?
<dhess`>
tried passing gcc-wrapper into my arguments but that's not defined
<clever>
dhess`: why do you need its path?
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<LnL>
you probably want stdenv.cc
<dhess`>
LnL: ok
<dhess`>
clever: to replace /usr/bin/gcc in ghc's settings file
<clever>
dhess`: ah, then ${stdenv.cc}/bin/gcc is probably what you want
matthewbauer has quit [(Remote host closed the connection)]
<dhess`>
excellent, thanks
Itkovian has joined #nixos
<dhess`>
how about ar and ld, same?
<clever>
yeah
arcetera has quit [(Remote host closed the connection)]
<dhess`>
I'm pretty close to getting the Debian GHC binary dist running, I think.
<dhess`>
it's missing some docs. Is that OK for a ghc-binary derivation, or should I grab the .deb for the docs, as well?
<dhess`>
I assume that ghc-binary derivations are only used for bootstrapping.
<clever>
i would only use that as a bootstrap to do a proper nixpkgs build of ghc
<dhess`>
right
<clever>
so i wouldnt care about docs
<dhess`>
ok good
dmi3y has quit [(Quit: dmi3y)]
kiloreux has joined #nixos
kykim has quit [(Quit: ERC (IRC client for Emacs 25.1.1))]
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] czyzykowski opened pull request #25837: v8: fixes darwin build (master...v8-on-osx) https://git.io/v9N7n
NixOS_GitHub has left #nixos []
<Infinisi1>
Oh my god, in my software engineering class we need to use certain software and it's such a mess with the dependencies and patches and what not
<Infinisi1>
So they're using a VM, a dig fatass VM for some supposedly simple programs, it hogs my CPU and memory and uses 10GB total
<clever>
write a nix package!
<MichaelRaskin>
The best way to teach best practices is scaring you with what happens when the practices are not followed?
<Infinisi1>
It could be so much better with Nix or Docker
<bennofs>
docker solves the hogging 10GB ram problem. nix solves the hogging 100gb disk space problem :)
<Infinisi1>
Needs to work on Windows too, I'm currently trying to write a Dockerfile that works, but the installation requirements are so bad
justan0theruser has joined #nixos
zeus_ has quit [(Read error: Connection reset by peer)]
<taktoa>
bennofs: well, to clarify, nix also solves the 10GB ram problem
marsel has quit [(Ping timeout: 240 seconds)]
zeus_ has joined #nixos
<Infinisi1>
That's 10GB on disk I meant
<simpson>
What's missing from even attempting Nix on Windows? I don't know where one would start.
reinzelmann has quit [(Quit: Leaving)]
<taktoa>
simpson: file paths are limited to like 128 characters IIRC :(
<simpson>
Ah yes.
<simpson>
Clearly it's time to have our hashes in Unicode instead of ASCII!
justanotheruser has quit [(Ping timeout: 272 seconds)]
<bennofs>
Something is broken when the fastest way to compile some project is to completely wipe all IDE files and re-configure it with a plain source import from scratch... it would be awesome if IDEs just used something like nix for managing dependencies of projects (and not this "go to project settings and set absolute path to your lib o.o")
<MichaelRaskin>
I think a _single_ component can already be 256 character
<Infinisi1>
In the wiki there was an article about Windows. It apparently worked some years ago, but nobody wanted to maintain it because nobody used it
<MichaelRaskin>
On Windows
<bennofs>
taktoa: I think this is only if you use the legacy API? I believe there are ways to avoid it with certain syscalls
<Judson1>
error: selector ‘bundler-1.14.6’ matches no derivations
<clever>
Judson1: it has to be installed before you can set a priority on it
johnsonav has quit [(Ping timeout: 260 seconds)]
<Judson1>
So if it's not installing because of a conflict, I've got to prioritize the other package?
AndChat|114816 has quit [(Quit: Bye)]
zeus_ has quit [(Ping timeout: 245 seconds)]
zeus__ has joined #nixos
<clever>
Judson1: what 2 packages are colliding, and on what binary?
<Judson1>
bundler and gotools-20160519-9ae4729-bin
<Judson1>
on `bundler`
<clever>
ah
<clever>
gotools sounds like something i wouldnt even install, only ever use under nix-shell
<clever>
and probably the same for bundler, just "nix-shell -p bundler"
<dhess`>
Does NixOS's gcc not support -no-pie?
<jammerful>
I've noticed in a good percentage of the PRs I've submitted that the TravisCI builds fail for unrelated reasons. Does this seem accurate and is it worth fixing? Is there a plan to fix Nix's CI workflow? How can I help? This seems to be the best issue on the topic: https://github.com/NixOS/nixpkgs/issues/6652
<bennofs>
jammerful: it's generally known, yes. negative results have no real meaning, it's positive CI results that count
<clever>
dhess`: you need to set hardeningDisable=["pie"] in the derivation
<dhess`>
clever: I've actually got all I need from the ghc-8.0.2 settings file
<clever>
dhess`: oh, then that env variable needs to be set when ghc runs gcc
<clever>
rather then in the derivation
<dhess`>
clever: Actually GHC handles it, I just need to tell it that gcc doesn't support -no-pie
kiloreux has quit [(Quit: Leaving)]
kiloreux has joined #nixos
<clever>
dhess`: ah, but if you setup hardeningDisable, then gcc will allow it
<Judson1>
Oh, nix-shell -p bundler sounds like the right thing...
<clever>
Judson1: that will put bundler at the start of $PATH, and not install it to any profile
<clever>
so once the shell has been quit, its basicaly gone
<Judson1>
gotools gets used by Vim which is a pain like that
anton____ has joined #nixos
<clever>
ah, for edge cases like that, i would usualy compile a vimrc file that embeds the absolute path of gotools
<clever>
so vim can use it without having to install it globally
<clever>
but that may not always be an easy thing
<Judson1>
Yeah...
<Judson1>
Is there a config somewhere for your nix-shell shell?
<Judson1>
I know there's a flag
<clever>
its meant to give you access to all of the bash functions that the stdenv has
<Judson1>
NIX_BUILD_SHELL - cool
<clever>
so changing the shell out would usualy break that
<Judson1>
Oh, yeah.
<clever>
but if you only want the $PATH changes and dont care about the rest
<Judson1>
For a lot of stuff I use it with direnv, so it's not an issue. But for a one-off like that...
<Judson1>
I could also `nix-shell -p bundler --command "bundle lock"`
<clever>
you can also "nix-build '<nixpkgs>' -A bundler -o ~/bundler"
<clever>
and then ~/bundler/bin/bundle lock
pie_ has quit [(Changing host)]
pie_ has joined #nixos
jammerful has quit [(Quit: Page closed)]
orivej has joined #nixos
<Infinisi1>
Why can't everybody use Nix, like seriously, the world would be so much better, you could just like *use* software without problems
<simpson>
Infinisi1: Part of it's the legacy, part of it is that people don't want better things because it invalidates their business model, and most of it is apathy and unawareness.
<LnL>
urgh, why is the remote build hook so hard to debug :/
<orbekk>
And peeople don't want nice things like functional programming
<simpson>
orbekk: Disagree; functional programming stuff is available in many languages now. (Unless you are saying "functional programming" to mean "the glory of Haskell", I guess.)
<dmj`>
Infinisi1: you get paid more to fix broken things, if software worked, we’d all be out of jobs
<danbst>
so, it's too optimistic to find paid job with accent on NixOS? (I'm looking for such a)
<simpson>
danbst: Only a few employers use NixOS. It's not common yet.
<gchristensen>
danbst: check the nixos weekly, there is frequently a job post there
<dmj`>
non-FP software is fixing someone else’s bugs or creating new ones. That’s why it’s better to be in mgmt for java shops than to be a java person
<gchristensen>
but also, join a company and solve their problems with nix. soon enough, they'll be using nix
<simpson>
dmj`: Isn't that all software?
<dmj`>
gchristensen: can attest
<dmj`>
simpson: I guess :P
<gchristensen>
dmj`: you can attest, or are you saying I can attest?
Guest43742 has quit [(Quit: Lost terminal)]
<dmj`>
simpson: FP helps, but is no panacea
<dmj`>
gchristensen: saying I can, but I’m sure you can as well :]
<dhess`>
LnL: you said it, brother.
<gchristensen>
dmj`: :D
<orbekk>
simpson: True, it's gaining some traction, maybe (Go is a notable exception). But nixos is definitely close to what I think you mean when you say "the glory of Haskell"
<simpson>
dmj`: I guess we'll have to agree to disagree on that.
<dmj`>
simpson: what are we disagreeing on? :P That FP is a panacea?
<simpson>
orbekk: What I meant was the tendency of Haskellers to think that Haskell, or some facet of Haskell, is supreme or sublime. Haskell is Just Another Programming Language to me.
Itkovian has joined #nixos
<simpson>
dmj`: Yeah. FP is just a facet of language design; I've not heard anybody say that supporting functional programming has helped e.g. Scheme or Python cut down on bugs.
<dmj`>
simpson: true, I’d agree with that. It’s moreso Haskell. Dynamically-typed FP or OOP + FP mix don’t count.
<simpson>
dmj`: Yeah, I can't agree with that, sorry.
<danbst>
gchristensen: while it's my plan currently, I hardly know where NixOS will be better solution, than Docker/Chef/Puppet and so on. Any success stories much appreciated
* dmj`
tosses simpson a lambda
<gchristensen>
dmj`: (*whispers* ask simpson about CAP)
<simpson>
danbst: Whenever anybody asks this, there's usually a cavalcade of regular folks speaking up, saying how they moved to Nix from other systems.
<gchristensen>
danbst: I just solved my own, tiny problems until I amassed enough solutions that I blew people away
alx741 has quit [(Read error: Connection reset by peer)]
<dhess`>
it appears to be largely cosmetic for now, just a warning every time I run ghc
alx741 has joined #nixos
<dhess`>
However, in my case, wrapping ghc and setting LD_LIBRARY_PATH explcitly does not remove the warning.
<dhess`>
/nix/store/g3yy82my8zy0d0q3h6mrfh079pf721a0-ghc-8.0.1-binary/lib/ghc/bin/ghc.unwrapped: /nix/store/q3an806mbnv24ffr6wahjr8337slhg2i-ncurses-5.9/lib/libtinfo.so.5: no version information available (required by /nix/store/g3yy82my8zy0d0q3h6mrfh079pf721a0-ghc-8.0.1-binary/lib/ghc/libHSterminfo-0.4.0.2-ghc8.0.1.so)
mizu_no_oto has joined #nixos
<simpson>
dmj`: It's true that my shirt today literally says "LET ME TELL YOU ABOUT OBJECT CAPABILITY SECURITY". Step one is noticing that Nix embodies POLA; step two is http://srl.cs.jhu.edu/pubs/SRL2003-02.pdf
pie_ has quit [(Remote host closed the connection)]
JagaJaga has joined #nixos
<simpson>
POLA, the Principle of Least Authority, just states that you shouldn't give a person/program/etc. access/ability to do something unless they need it.
pie_ has joined #nixos
<LnL>
dhess`: already I went through my usual checklist, that usually fixes it
<taktoa>
simpson: lol, I think I've actually read this paper before...
<dhess`>
LnL: what, setting LD_LIBRARY_PATH?
<danbst>
gchristensen: so you say, you are not the only NixOS user in your company? you've successfully seducted other people?
<taktoa>
is it a well-known paper?
<LnL>
no the remote builde hook
<dhess`>
LnL: ahh right
<simpson>
taktoa: It should be! But no, if you've seen it before, it's probably me or somebody else from the ocap community.
pie_ has quit [(Read error: Connection reset by peer)]
pie_ has joined #nixos
<dhess`>
LnL: is the newly C++-implemented remote hook any easier to debug?
<taktoa>
nah I think I just saw it from wikipedia or c2 wiki or something like that
<LnL>
no idea, have not used it yet
<gchristensen>
danbst: we're open sourcing a ~2kLOC thing soon
<gchristensen>
and indeed I'm not the only authhor
<danbst>
gchristensen: ok, let's stay optimistic here
<danbst>
thanks
<gchristensen>
you're welcome, good luck :)
<danbst>
simpson: it should be mentioned that NixOS modules are complete opposite to POLA, because any module has access to full resulting config. Open world
<simpson>
danbst: Oh, sure, Nix isn't a cap-safe language. The POLA is in the Nix store.
<Infinisi1>
danbst: I actually don't really know what to think of this, it makes me a bit worried, but it's also really useful
<Infinisi1>
Well it's only configuration, nothing more, so maybe that's okay
<Ralith>
danbst: I'm not sure of the context of your conversation, but I'm pushing for significant nix use at my workplace and getting some traction as well
<Infinisi1>
Nice to hear!
<Ralith>
it's a hell of a lot more compelling than vendoring everything under the sun, and we have previous experience with that
<simpson>
Oh, right. I've pushed for Nix at my work, I have a few coworkers who agree with me, and none of our legacy stuff is packageable using Nix, so we're a little stalled.
<simpson>
OTOH my side business is 100% NixOS.
* Ralith
is fortunate enough to be doing greenfield work
<Infinisi1>
What kind of stuff isn't packagable with nix?
<Ralith>
indeed that's a surprisingly strong statement
<dmj`>
At work we’ve standardized on nix, wasn’t greenfield either. Builds just got so complicated, and nix knocked it out the park. Hard to argue when it works
<simpson>
I don't mean that it's impossible, but we have lots of Ruby and nixpkgs' Ruby support isn't really up to the task.
justbeingglad has joined #nixos
<simpson>
I also only spent a couple afternoons on it, so maybe it'd go if I had more elbow grease.
<joepie91>
(that's a music player written in Bash :P)
<clever>
joepie91: i have heard about an irc client written in bash
<joepie91>
okay, it's cheating a bit, but still :P
justbeingglad has left #nixos []
<Judson1>
simpson, what was lacking?
<Judson1>
dmj, can I ask where you work? :)
<clever>
joepie91: and your image doesnt load
<lvernschrock>
Does anyone know what it means when I'm trying to build a package and get something like this: "/nix/store/wsz11sx18n85if6gp50m870rypgavwpd-bash-4.4-p12/bin/bash: ../pixmaps/icon-theme-installer: /usr/bin/env: bad interpreter: No such file or directory" during the build phase?
<orbekk>
joepie91: that's *crazy*. do you have a better reference than tinypic? ;)
<joepie91>
as requested, see above :P
<joepie91>
the media player is named 'pmusic', it's a little obscure
<clever>
Ivanych: /usr/bin/env doesnt exist in a sandbox, you need to run patchShebangs on the directory the script is in
<joepie91>
origiinally written for Puppy Linux
<simpson>
Judson1: It's not clear how to create a private package set on top of nixpkgs, and not all of the Ruby libraries were already packaged.
<joepie91>
uses a gtk dialog thing with a bunch of XML and shell scripts to make things work
<simpson>
And the bundix tool didn't work. I don't remember exactly how.
<orbekk>
joepie91: code or didn't happen!
<lvernschrock>
clever: oh yeah, I forgot about the sandbox.
alibabzo has quit [(Quit: seeya)]
<danbst>
Infinisi1: to me NixOS modules resemble descriptive logics and ontologies. They are so different, but the open world principle makes them close back again
<simpson>
Judson1: Oh right, also our Ruby stuff isn't exactly sane. So I think our strange gemspecs confused bundix.
<Infinisi1>
Another idea for nix: A board where people can suggest packages they can't get to work to be added, people can upvote, experts can look at the top wanted packages and help making it real
<MichaelRaskin>
Let's start with a simpler thing we have
<gchristensen>
Infinisi1: we'd much rather _help you_ package it :)
<dmj`>
Judson1: one thing that really helped adoption is if you have a Makefile, keep all the targets the same, but just have them call nix
<MichaelRaskin>
We have a board where people send their patches
<MichaelRaskin>
Called PR list on GitHub
<MichaelRaskin>
I think GH even has upvotes or something
Wizek_ has quit [(Ping timeout: 260 seconds)]
<MichaelRaskin>
Still a mess…
<dmj`>
Judson1: this way people will be “familiar” with it
<danbst>
I know a story of a Nix'er who was fired because of Nix
<gchristensen>
oh really
<danbst>
yeah
<danbst>
but it is hard to say
<Judson1>
simpson, I've actually been working on that. It's coming along. Slowly.
<Judson1>
Based on a trick clever just pointed out, I'm tempted to put together a bundix script.
<Judson1>
Private sets == overlays?
<simpson>
Judson1: That's good to hear. Meanwhile, internally at $DAYJOB, we have many many things to work on that would not be helped by Nix, so even if it worked, we probably wouldn't use it. :c
<danbst>
well, he spent too much time on trying to package their Haskell project using Nixpkgs infra. Too much time on package, and little work on project. Little productivity -> got fired
<gchristensen>
makes sense
<dmj`>
danbst: yikes
<Infinisi1>
Well the Haskell ecosystem isn't too bad to start with right?
bennofs has quit [(Ping timeout: 272 seconds)]
<danbst>
as a result, docker + stack was the solution
<gchristensen>
danbst: people have to be careful to be productive when advocating nix
<lvernschrock>
clever: that solved my problem, thanks!
<gchristensen>
pushing it without results makes it less attractive
<danbst>
sure
<danbst>
it is quite hard to be good Nixpkgs user
bennofs has joined #nixos
<dmj`>
danbst: was he trying to setup hydra and everything?
<dmj`>
cabal2nix sure makes it easy...
spacefrogg has quit [(Quit: Gone.)]
<danbst>
I don't know details, sorry
<Infinisi1>
You may laugh, but I believe the lack of a good auto-completion and editor integration is a big reason nixpkgs are hard
<simpson>
Infinisi1: It may surprise you to learn that many folks don't use autocompletion. My editor automatically highlights and indents Nix code; what more could I want?
<MichaelRaskin>
I don't always use highlightning…
<danbst>
Infinisi1: it is hard to autocomplete dynamic language...
<orbekk>
online docs would be nice. even finding the definition of a function can be a bit of a pain in nixexpr
mizu_no_oto has quit [(Ping timeout: 268 seconds)]
<danbst>
Infinisi1: but I use atom with nix plugin, and something like 50% it can autocomplete
<danbst>
or 30%
<Infinisi1>
I know, but auto-completion also gives you a way of discovering things, inlining documentation. I'm coming from OSX and Xcode's autocompletion is so so good
<simpson>
You could just read stuff from nixpkgs/lib/
<simpson>
I don't disagree that documentation could be much better, but Nix is pretty readable too.
<Infinisi1>
I'd like to have an IDE that knows about all of the attributes, is deeply integrated into nixpkgs, gives you instant error messages, auto completes everything, blablabla. I think this could both increase the productivity and get more people to join
betaboon has quit [(Quit: This computer has gone to sleep)]
<kiloreux>
I would very much thank this IRC channel. Because without the people here, basically everything online wasn't much useful for me. (I really tried)
<dtz>
aw man I'd love some autocompletion, sometimes use the CLI autocompletion to quickly sanity-check expressions/attribute paths
<simpson>
Huh, am I the only one who doesn't autocomplete?
<dtz>
"unfortunately" I think auto-completing in an editor would be rather difficult without pinning down its calling context and such, unless editing top-level expression
<bennofs>
i was thinking about trying to write a language server for nix
<Infinisi1>
dtz: Yeah, with a dedicated IDE this could be done
<dtz>
simpson: if nothing else it saves typing, especially when identifiers are longer than a few characters :) (basic completion, nothing actually aware of Nix or expected invocation)
<dtz>
nix-repl has auto-completion :)
<bennofs>
a langserver would give us support for all editors that have lang-server client support
<simpson>
dtz: No, I mean, when writing *any* code, I don't autocomplete.
<clever>
dtz: youcompleteme in vim is able to auto-complete any word in any file currently open
<LnL>
the zsh completion for nix commands is also _really_ good
<simpson>
I guess that I Tab-complete at REPLs sometimes.
<bennofs>
simpson: do you write java? :)
civodul has quit [(Quit: ERC (IRC client for Emacs 25.2.1))]
<clever>
dtz: so if i open <nixpkgs/lib/lists.nix> with :tabe, i can auto-complete every lib function
<dtz>
LnL: yeah that's what I meant to refer to, it's so gooood :D
<simpson>
bennofs: Not for a few years. I didn't use completion last time I wrote Java.
<clever>
dtz: but its a fairly dumb auto-complete, has no sense of context
<dtz>
meh, everyone has editor preferences. I'm more surprised folks like a lack of syntax highlighting!
<Infinisi1>
Wait what, who doesn't like syntax highlighting?
<maurer>
a/go 21
<maurer>
sorry
<dtz>
clever: haha yeah that's what I use currently, especially helpful as you said with any file open--I didn't even know that was a thing until I had it installed (big fan of libclang-based completion for C++ projeccts)
<Judson1>
I've been using deoplete for all my autocompletion, and it's mostly good enough for Nix.
<MichaelRaskin>
I don't always use syntax highlighting
<simpson>
Infinisi1: Famously, Rob Pike doesn't do syntax highlighting.
<clever>
dtz: yeah, i had installed it for c++ code, then never got around to configuring it properly
<clever>
dtz: and that auto-detection stuff works pretty well so i just left it like that
<dtz>
haha don't mean to put you on the spot, I've met people that preferred lack of syntax highlighting, idk :). Luckily my understanding of the practice has nothing to do with it being useful to folks, so... :D
<dtz>
i jump around LLVM versions enough that auto-completing their ever-changing API is a godsend xD
<dtz>
Judson1: never tried deoplete!
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] czyzykowski opened pull request #25839: rdkafka: fixes darwin build (master...rdkafka-on-osx) https://git.io/v9Af7
NixOS_GitHub has left #nixos []
<Infinisi1>
What do you guys think of AST editors? Not specific to a certain implementation, just about editing AST's directly?
<bennofs>
ycm is actually able to use a compile_commands.json that can be produced by the build system (cmake and ninja have native support for it), so it's "autodetection" can even be exact!
<simpson>
Infinisi1: Yes, and I want one for Monte, and it's on my list of things to build.
<clever>
Infinisi1: i have been wanting an AST library for nix, so i can parse configuration.nix, programaticaly apply changes, then serialize it back out
<Judson1>
dtz it's a Neovim plugin - I think neocomplete is the Vim equivalent
<joachifm>
clever: hnix?
<Infinisi1>
simpson: What is Monte?
<clever>
joachifm: i dont think it supports comments and whitespace
<clever>
joachifm: nix wont care, but if the user ever wants to read the file again, they will
<Infinisi1>
simpson: Ah nice!
<joachifm>
clever: sure, sure
elninja44 has joined #nixos
<joachifm>
clever: now that you mention it, I do recall some discussion about making hnix preserve unchanged parts of input to a greater extent
hiratara has quit [(Ping timeout: 246 seconds)]
ilyaigpetrov has quit [(Quit: Connection closed for inactivity)]
<Infinisi1>
I'm currently studying computer science and I'll have to do a bachelors study (or what's the right word?) soon, what I may do for it is to start building an AST editor with the best possible compatibility for all kinds of programming languages
<simpson>
Infinisi1: You may want to build an AST editor for one language first, and then generalize.
<Infinisi1>
Yeah something like that, or design a simple protocol that languages can implement (aka providing AST en/decoding), along with a simple implementation for a custom language
nithor has joined #nixos
nithor has quit [(Client Quit)]
<Infinisi1>
bennofs: Very interesting! I'll also have to research what has been done before, to learn from past mistakes and understand why it didn't work
nithor has joined #nixos
<clever>
Infinisi1: i do think it would be usefull to have the ability to cut&paste chunks of code whole, and having an AST aware editor would let you select a node, and all children at once
<clever>
harder to cause syntax errors with the editing, if you just grab the entire tree as one unit
<Infinisi1>
emacs has a mode for direct ast editing for lisp
<Infinisi1>
clever: Yeah, I believe there's a ton of benefits of using direct AST editing
<Infinisi1>
Another one is diffing
<Infinisi1>
Or faster compile times by both eliminating the parser and better support for incremental compilation
<clever>
i have seen some IDE's that merge the compiler into the editor
<Infinisi1>
refactoring is another one
<taktoa>
Infinisi1: I assume you're talking about paredit?
<clever>
so it doesnt need a fork to recompile things
ertes has joined #nixos
<taktoa>
I wouldn't really call paredit a direct AST editor
<Infinisi1>
taktoa: Yes! Do you have experience with it?
<taktoa>
I've used smartparens for 2-3 years now, and I've used paredit a little
<Infinisi1>
Maybe AST-aware editing fits better?
<taktoa>
yeah
<taktoa>
I would like to see a proper AST editor in emacs though
<orbekk>
Infinisi1: I like the model of having a process that formats your code when you save the file (e.g., clang-format)
<taktoa>
like I'm imagining something like the `customize-group` menu widgets
<taktoa>
but with easy keyboard navigation
<Infinisi1>
orbekk: That would be trivial with AST editors :D
<simpson>
Something something Smalltalk.
<taktoa>
well laying out code in a visually pleasing way is far from trivial
<taktoa>
even if you have access to the AST
<orbekk>
Infinisi1: that way you don't take away the familiarity of a text editor
<Infinisi1>
Hmm true..
<Infinisi1>
Well I'll have to sign off, great discussion! See ya
<dtz>
you can use "NIX_PATH=nixpkgs=https://github.com/NixOs/nixpkgs/archive/f2c4af4e3bd9ecd4b1cf494270eae5fd3ca9e68c.tar.gz" for most commands to get them to use that particular 'nixpkgs'
alx741 has quit [(Client Quit)]
<clever>
but nix-env is an exception, you would need -f '<nixpkgs>' to make it check the path
alx741 has joined #nixos
<kiloreux>
fantastic.
<kiloreux>
Assuming I am using this fixed nxpkgs version
<kiloreux>
can I have a default.nix that installs 2 different versions of a package?
ekleog_ is now known as ekleog
<clever>
kiloreux: you would need to rename the binaries, or they will conflict in $PATH and only 1 will ever work
<clever>
and in nixos, you may want to avoid installing, and just reference things by absolute paths
bennofs has quit [(Ping timeout: 240 seconds)]
<kiloreux>
I am actually using nixpkgs on Ubuntu.
<clever>
you can use it the same way there
<kiloreux>
Now the binary thing is something that naming could handle (As you have already explained, Thanks). I am more confused about the syntax into this.
<kiloreux>
I found little examples online
<clever>
if the default.nix returns an attribute set with 2 derivations in it
<clever>
then you can use nix-env -iA <attrname> to pick one
eacameron has quit [(Remote host closed the connection)]
<kiloreux>
I wish I understood what you mean by this. But being new to this. I don't :( Any example gist or link would be extremely helpful.
<clever>
kiloreux: line 6-16 is an attribute set, and each line inside that uses pkgs.callPackage to load another nix file up
<kiloreux>
Great, So I will be using two different files (for two different packages) and calling them from the default.nix That was very helpful. Thank you.
<gchristensen>
can you share that checklist somewhere, like in a github issue about debugging remote builds?
<sphalerite>
Is there something similar to system.activationScripts but for rebuilds? Since all rebuilds affect state (profile generations) I figure it's not "wrong" to add other stateful code to that?
MoreTea has quit [(Ping timeout: 246 seconds)]
<gchristensen>
eh?
<sphalerite>
I want to add a program to run every time nixos-rebuild {switch,boot,build} is invoked
<sphalerite>
because I want it to happen on every system build, not just when switching to a configuration or booting it
<LnL>
gchristensen: most of it is in a nix-darwin issue, I could clean it up but not sure where to put it
<gchristensen>
ah
<gchristensen>
(to both of you)
<MichaelRaskin>
Why not just include /etc/nixos/configuration.nix as a source file to copy in the build?
<gchristensen>
ehh.... I think I'd just wrap nixos-rebuild with a wrapper that commits
<sphalerite>
MichaelRaskin: that's already an option. But I want to commit to a git repo, and have it tracked *outside* the actual system
<sphalerite>
so that an exact revision of the config repo can be associated with every system generation
<MichaelRaskin>
Then a wrapper sounds reasonable
<sphalerite>
Alright, thanks. The nix world does love its wrappers :D
<dash>
sphalerite: nix carefully wraps software to protect its users from any unix leaking out
<sphalerite>
I don't know why exactly, but wrappers feel like dirty hacks to me... Am I alone in this? Are they actually elegant because they're likek higher-order functions?
<MichaelRaskin>
You need to seal the magic smoke in, if the magic smoke comes out, nothing will work!
<sphalerite>
dash: I know that, but I somehow feel like patching would be better
<MichaelRaskin>
Well, when you can use just a wrapper, it has a lower chance to break on upstream change
<dash>
sphalerite: alas, we can't get the unix out of everything :-/
<sphalerite>
yeah... I saw the magic smoke escape from a Macintosh Colour Classic a couple of years back after digging it out of an old cupboard. That was a shame
<dash>
sphalerite: a lot of nix feels like dirty hacks because it's trying to make something good out of something bad
<dash>
my feeling is that any amount of dirty hacks are ok if your model is good
<sphalerite>
dash: I don't think unix is bad in itself, e.g. the whole pipes as a composition mechanism thing is very nice IMO
<sphalerite>
Sure, the classic filesystem hierarchy is kind of meh, but I don't think that's core to the philosophy of unix... is it?
<dash>
if you have a good model and you need dirty hacks to make it cope with history, that's fine because there's always a chance the hacks could go away
<dash>
if you need dirty hacks to make your bad model work at all, that's a different story because the hackitude can only go up from there
<MichaelRaskin>
Sometimes the upstream does agree with vague handwaving about portability
<dash>
sphalerite: I am not convinced there is a "core philosophy" to unix at all
<maurer>
I mean, there is one, but we've moved a bit away from it at this point
<sphalerite>
The whole do one thing and do it well, small tools that are composed to do complex things? idk maybe that's just suckless speaking
<dash>
sphalerite: that works some times
<maurer>
(Everything is a file; programs should perform exactly one function and do it well)
hellrazor has quit [(Ping timeout: 246 seconds)]
<maurer>
ioctl pretty heavily breaks the first one
<maurer>
systemd breaks both of them pretty heavily
<dash>
sphalerite: but it's not clear that processes communicating via byte streams is the right level of abstraction for everything
<maurer>
second one gets broken a lot, but is still followed a refreshing amount of the time
<maurer>
dash: I'm not convinced it's _right_, but the philosophy still exists :P
<MichaelRaskin>
maurer: systemd breaks _every coherent thing out there_
<sphalerite>
maurer: systemd isn't uninx, is it?
<clever>
maurer: sometimes, the performance is just better if your passing binary to ioctl, rather then writing data to a file directly
<dash>
maurer: it's only coherent at a certain level
<clever>
maurer: or if you can mmap something and use dma
<dash>
maurer: it doesn't scale up, or down
hellrazor has joined #nixos
<taktoa>
honestly I would prefer an OS in which JSON (or something like it) is the standard communication protocol, rather than plain text
<taktoa>
*byte streams
<dash>
maurer: it's probably just right for a pdp-11 or vax
<taktoa>
if you've ever used `jq` you've had a taste of such a world
<maurer>
If I were to try a new OS philosophy today, it'd probably be some extended variety of capnproto as the basic metaphor
<maurer>
(the extension would be something to deal with the interaction of local caps and the kernel)
<sphalerite>
I've been meaning to experiment with jq a bit, but haven't really got around dto it
<sphalerite>
what's capnproto?
<maurer>
dude who made protobuf2 at google made his on protocol format once he was off on his own
<maurer>
it's basically protobuf + capabilities and pipelining
<dash>
maurer: yes, capnproto is love
<dash>
maurer: we're building a language around it
<dash>
(or, rather: we're implementing a new language descended from E, the language that capnproto got its ideas from, and we're writing a capnproto implementation for it)
<maurer>
dash: As long as you don't need it to be too fast that sounds fun
<maurer>
capnproto is fast for an rpc system
<maurer>
but designing interobject calls as an rpc system is gonna introduce overhead
<dash>
maurer: oh, it's only going to use capnproto for calls to objects in different hosts/processes
<dash>
maurer: we're currently aiming for same general speed as python/lua
justelex_ has quit [(Ping timeout: 246 seconds)]
<maurer>
Oh, if that's all you want it'll be easy
<MichaelRaskin>
Lua or LuaJIT?
<maurer>
like, use a typed language, shit out llvm bitcode, acquire victory
<MichaelRaskin>
I am not sure LuaJIT and Python are the same ballpark
<dash>
MichaelRaskin: One thing at a time ;)
thc202 has quit [(Ping timeout: 255 seconds)]
<dash>
MichaelRaskin: we're using the same tech as pypy for our implementation
<dash>
and Nix for the package/build system
<dash>
maurer: Has to be dynamically typed since it can call methods on remote objects.
<maurer>
dash: Responses to calls are typed in the schema though?
<maurer>
dash: Or are you shifting the burden for making such a call onto the user rather than the runtime?
<dash>
maurer: What should happen when the remote host rejects the message?
<dash>
maurer: Type failure at runtime is always possible when invoking remote code
<maurer>
dash: I mean, yes, you either need to wrap remote calls in a Result<> style thing or have them raise exceptions
<maurer>
OK, so my suggestion here would be to make it so that if the remote side rejects the message, you return an error on the call
<maurer>
if they give back a malformed message, you won't know immediately
zeus__ has quit [(Read error: Connection reset by peer)]
<maurer>
but make the runtime assert the type by default, and raise exceptions/return errors as your philosophy determines if it examines a field and it's not legal within type
<dash>
Right. We're aiming for as uniform an interface as possible between remote and local objects, so that's rather discouraged our pursuit of a design like that
<maurer>
dash: I would suggest this is a bad idea
<gchristensen>
~.
<gchristensen>
oops.
zeus_ has joined #nixos
<dash>
maurer: Maybe! but tell me what your concerns are
<maurer>
dash: the basic way to sum it up is CORBA
<dash>
maurer: CORBA's mistake was synchronous calls
<maurer>
That was one of their mistakes
Wizek has quit [(Ping timeout: 260 seconds)]
<maurer>
the other was hiding the possibility of failures from the user
<dash>
well the other was doing stuff in the 90s
<dash>
maurer: Sure. Our API is promise based
<dash>
calls to (possibly-)remote objects return a promise, which can be broken
<maurer>
is an example of the author of capnproto echoing my sentiments
<dash>
maurer: Right, definitely not doing that. I should have been more specific -- I meant "as uniform as possible, *but no more*" :)
<maurer>
Ah. My statement here is basically "as long as they're not uniform, maybe expose all the information about failure modes"
<maurer>
e.g. by default, when you call a method on a remote object that returns T, it instead returns Result<T>
<maurer>
well, Promise<T>
proteusguy has quit [(Remote host closed the connection)]
<maurer>
where that promise has the possibility of failure
<maurer>
and then when T is being inspected, it lazily follows the schema to deconstruct the message
<maurer>
and if the schema doesn't fit, it raises an exception
<dash>
maurer: Right. The fundamental problem I have with this, is that it requires synchronization of type schemas across all nodes
<maurer>
No, it doesn't
<maurer>
it just requires that they all come from the same schema line
<maurer>
like, if they fit the capnproto schema upgradability condition, they'll talk fine
cpennington has joined #nixos
<dash>
yes this is what I mean by synchronization :)
<maurer>
I mean, that's not synchronized
<maurer>
it allows one node to remain fixed while others move forwards
<dash>
Anyway we are far off topic for #nixos, come by #monte and persuade me and simpson :)
<maurer>
sorry
<taktoa>
is there a type-theoretic semantics of capnproto anywhere
<dash>
I need to figure out how to better use Nix as our packaging system
systemfault has joined #nixos
<dash>
Our current system is rather hackish
<maurer>
taktoa: You're going to need to be more specific - at base it is equivalent to a strict subset of SML's type system, after throwing out modules
<taktoa>
okay, that's all I needed to know
filterfish has quit [(Ping timeout: 258 seconds)]
gwang has joined #nixos
wak-work has joined #nixos
gwang has quit [(Client Quit)]
stepho_ has quit [(Ping timeout: 268 seconds)]
erasmas has quit [(Quit: leaving)]
endformationage has joined #nixos
elninja44 has quit [(Remote host closed the connection)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to master: https://git.io/v9A3q
Mateon1 has quit [(Remote host closed the connection)]
sigmundv__ has joined #nixos
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
mudri has quit [(Ping timeout: 268 seconds)]
<dhess`>
clever: around?
<clever>
dhess`: yep
<dhess`>
clever: Nice. I'm currently bootstrapping GHC 8.0.2 using the 8.0.1 binary from Debian. Might need your help ;)
<dhess`>
on x86_64-linux for now.
<clever>
kk
<taktoa>
CaaS uptime is pretty high these days
<dhess`>
clever: one thing I'm not sure about is, what is the 'passThru = { inherit bootPkgs; };' all about in the 8.0.2.nix derivation?
<taktoa>
(clever-as-a-service)
<dhess`>
yep
<clever>
dhess`: that lets you access the bootPkgs as the .bootPkgs attribute on the derivation, without it directly impacting the hash of the derivation
<dhess`>
clever: ahh. ok.
<dhess`>
clever: and do you happen to know why hscolour is listed as a buildInputs for GHCs starting around 7.10.2 ?
<clever>
they didnt spell color right!
<taktoa>
it's the british spelling
<clever>
dhess`: i'm guessing so ghc can colorize the haskell in error messages
<taktoa>
hscolour is used in haddock I believe
<dhess`>
clever: that would be true only during the build, though, right?
<dhess`>
ohh yeah for the documentation generation.
<dhess`>
taktoa: that makes sense
kampfschlaefer has quit [(Ping timeout: 272 seconds)]
justan0theruser is now known as justanotheruser
stepho has joined #nixos
<dhess`>
ok, in haskell-packages.nix I now have a ghc801Binary derivation. I want to use this to bootstrap the ghc802 derivation same.
<dhess`>
GHC derivations after ghc784 use bootPkgs and hscolour; prior to that they just set ghc = compiler.ghc742Binary or whatever.
<dhess`>
so... suggestions on how to use a compiler.ghc801Binary to bootstrap ghc802?
markus1209 has joined #nixos
<dhess`>
Right now I'm just defining 'ghc = compiler.ghc801Binary' but that's going to fail once the build tries to use hscolour I think.
markus1219 has joined #nixos
<clever>
dhess`: let me double-check some of the expressions
<dhess`>
I'm not entirely clear where hscolour enters the bootstrapping process
<dhess`>
for, say, ghc802 as it's currently defined
<dhess`>
generally the process is ghc742-binary -> ghc784 -> ghc7103 -> ghc802.
<dhess`>
clever: yes. But for the existing ghc*Binary packages, there's only a compiler.ghc*Binary, not a package.ghc*Binary.
vandenoever has quit [(Ping timeout: 245 seconds)]
<dhess`>
so I can't do, say, bootPkgs = packages.ghc801Binary for ghc802, unless I define a packages.ghc801Binary.
<clever>
dhess`: ah, i see what you mean, hscolour is being added to some of them
<dhess`>
which hasn't been done for the existing ghc*Binary derivations.
<dhess`>
so I feel like that's a bit dirty. But maybe necessary to get hscolour.
<clever>
because of the rec on line 53, the inherit on 55 is referencing 54's bootPkgs
<dhess`>
yeah
markus1199 has quit [(Ping timeout: 260 seconds)]
<clever>
so we want to see where packages.ghc784 came from
<dhess`>
ohhh the rec, yeah I missed that.
<dhess`>
good catch.
markus1189 has quit [(Ping timeout: 268 seconds)]
<clever>
dhess`: line 111 and onward
<dhess`>
well I guess I could just define a packages.ghc801Binary
<dhess`>
though it's a bit gross.
<clever>
it calls haskell-modules, and passes it a ghc and compiler-config
<clever>
and that creates a haskellPackages tree, built against that compiler
<dhess`>
right
<dhess`>
you really don't want that for a ghc*Binary derivation.
<clever>
but why are the binary ones not getting their own packages
<dhess`>
I guess because you're not supposed to install them directly?
<clever>
its using the binary ghc on lines 35-45, to make the 1st stage of nixpkgs ghc, without hscolour
<dhess`>
and ghcs before 7102 don't use hscolour
<dhess`>
so it'snot needed.
<dhess`>
right
<clever>
then ghc802 uses ghc7103, which uses ghc784, which uses ghc742, which uses ghc704binary
<clever>
so building ghc802 requires building 3 other ghc's, and patchelfing a binary
<dhess`>
hey sorry, real quick, where should I be getting 'ar'? It's not at ${stdenv.cc}/bin/ar
<clever>
yay overhead!
<clever>
dhess`: ar is over in binutils
<dhess`>
clever: yep. I'm trying to skip all of that
<dhess`>
clever: ahh yeah of ccourse
<clever>
i'm not 100% sure why its got so much overhead, it might be that you need a minimum version to build each
<dhess`>
clever: I think, as indicated in the GitHub issue for this, it's just been laziness, mostly.
<dhess`>
because in most cases you're just going to get the Hydra cached output anyway
_deepfire has quit [(Ping timeout: 240 seconds)]
<clever>
but it forces hydra to serialize everything
<clever>
you cant build them in parallel on hydra
Rotaerk has joined #nixos
<dhess`>
The reason I'm doing this is because I need a GHC for ARM and there is no 7.4.2 binary for it. But it will also help speed up the bootstrap process.
<clever>
dhess`: as a first step, i would try making a ghc without hscolour, and see if it can build using your binary
<dhess`>
clever: sure that's what I'm doing right now.
<dhess`>
clever: I'm just trying to plan for the "real" solution while this is building :)