aanderse-old has quit [(Read error: Connection reset by peer)]
aanderse_ has quit [(Read error: Connection reset by peer)]
<neonfuz>
uh oh
<neonfuz>
I ran out of free space, never did a gc lol
python476 has quit [(Ping timeout: 240 seconds)]
fenedor has quit [(Read error: Connection reset by peer)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] NeQuissimus pushed 1 new commit to master: https://git.io/v5osr
<NixOS_GitHub>
nixpkgs/master 0082971 Tim Steinbach: atom: 1.19.4 -> 1.19.7
NixOS_GitHub has left #nixos []
pie_ has quit [(Ping timeout: 240 seconds)]
_ris has quit [(Ping timeout: 260 seconds)]
<eacameron>
What's the difference between nix-env -i thing and nix-env -f '<nixpkgs>' -iA thing
hamishmack has quit [(Quit: hamishmack)]
anderslundstedt has quit [(Quit: leaving)]
anderslundstedt has joined #nixos
hamishmack has joined #nixos
anderslundstedt has quit [(Client Quit)]
anderslundstedt has joined #nixos
anderslundstedt has quit [(Client Quit)]
anderslundstedt has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm created terraform-plugins-all (+1 new commit): https://git.io/v5oG6
<NixOS_GitHub>
nixpkgs/terraform-plugins-all edc91c5 zimbatm: terraform: revamp the providers list...
NixOS_GitHub has left #nixos []
anderslundstedt has quit [(Client Quit)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm opened pull request #29097: terraform: revamp the providers list (master...terraform-plugins-all) https://git.io/v5oGy
anderslundstedt has quit [(Remote host closed the connection)]
hexa- has quit [(Ping timeout: 255 seconds)]
anderslundstedt has joined #nixos
anderslundstedt has quit [(Client Quit)]
<samueldr>
eacameron: there are two different differences in the last command
<samueldr>
The `-f` parameter, `--file` in full, specifies the nix expression that would be used
<samueldr>
I don't know how exactly '<nixpkgs>' should be called
<samueldr>
(looking at the documentation right now)
<samueldr>
but it has a specific meaning
anderslundstedt has joined #nixos
anderslundstedt has quit [(Client Quit)]
aanderse has joined #nixos
<samueldr>
damn, I though I was going to find the answer sooner
anderslundstedt has joined #nixos
<samueldr>
last difference is the "-A" parameter after the -i
<samueldr>
which specifies the package by *attribute path* and not by name
<samueldr>
the attribute, in your specific case, will be searched in the expression passed using -f
<samueldr>
another variant would be using the channel name like so: `nix-env -iA unstable.thing`, assuming that the user has the channel unstable configured
vaibhavsagar has joined #nixos
<samueldr>
I don't have a name for the pattern, but it's a path that is searched according to NIX_PATH
<olejorgenb[m]>
(I have problems ;) should really been sleeping instead)
mizu_no_oto has joined #nixos
InstallSagemath has joined #nixos
Wizek has quit [(Quit: Connection closed for inactivity)]
<InstallSagemath>
Hi all. Is there an easy way to install SageMath? I tried 'nix-env -qa sage' and got 'error: selector ‘sage’ matches no derivations'. Does that mean I have to install from source?
<catern>
woohoo
<eacameron>
samueldr: Thanks! That is helpful. I still don't understand why using the -f '<nixpkgs>' -iA form almost always works better than a simple -i
<catern>
my first three Nix packages, added to Nixpkgs
<eacameron>
I would expect the -i use case to choose a good default
<catern>
well, not merged yet, but soon! hooray!
<eacameron>
catern: Congrats!
<catern>
it was so painless!
<catern>
relatively speaking!
<eacameron>
catern: Compared to other distros you mean?
<catern>
yes
<eacameron>
catern: I've never written packages for other distros, but everything I've seen has confirmed what you say. ;)
zeus_ has quit [(Remote host closed the connection)]
zeus_ has joined #nixos
zeus_ has quit [(Ping timeout: 255 seconds)]
LysergicDreams has quit [(Ping timeout: 248 seconds)]
<catern>
hey #nixos, is there any value in using nix-channel for nixpkgs?
<catern>
isn't it pretty much strictly better to just git clone nixpkgs down, and use it?
<tilpner>
What if you want multiple channels? Updating might be easier with nix-channel
<tilpner>
command-not-found won't work with local nixpkgs afaik
<tilpner>
(Please correct, that sounds wrong actually)
<catern>
I am on Nix-on-Debian not NixOS so I don't have command-not-found anyway
<tilpner>
And channels are smaller to store and download than a full checkout, I guess
<tilpner>
There's not that much difference, but not everyone needs to edit nixpkgs and it's a little easier to use than a local checkout
<tilpner>
(Multiple channels was actually somewhat tricky to get working everywhere)
sellout- has quit [(Quit: Leaving.)]
<catern>
I see
<catern>
That's fair
sellout- has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vbgl pushed 1 new commit to master: https://git.io/v5o8D
<NixOS_GitHub>
nixpkgs/master e93d92d Vincent Laporte: ocamlPackages.cmdliner: 1.0.0 -> 1.0.2
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] disassembler opened pull request #29101: scorced3d: fixing build with gcc6 (master...scorched3d) https://git.io/v5o85
NixOS_GitHub has left #nixos []
InstallSagemath has quit [(Ping timeout: 240 seconds)]
Arcaelyx has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
kier has quit [(Ping timeout: 240 seconds)]
mizu_no_oto has quit [(Quit: Computer has gone to sleep.)]
Guest24_ has joined #nixos
Guest24_ has quit [(Excess Flood)]
Guest24_ has joined #nixos
zeus_ has joined #nixos
Guest24_ has quit [(Excess Flood)]
Guest24_ has joined #nixos
Arcaelyx has joined #nixos
kier has joined #nixos
Arcaelyx_ has joined #nixos
Arcaelyx has quit [(Ping timeout: 248 seconds)]
proteusguy has quit [(Remote host closed the connection)]
LysergicDreams has joined #nixos
ciil has quit [(Ping timeout: 248 seconds)]
oahong has joined #nixos
vaibhavsagar has quit [(Ping timeout: 248 seconds)]
Svarog has joined #nixos
schoppenhauer has quit [(Ping timeout: 248 seconds)]
catch22 has quit [(Quit: Leaving)]
schoppenhauer has joined #nixos
ciil has joined #nixos
takle has joined #nixos
takle has quit [(Ping timeout: 240 seconds)]
<jasom>
olejorgenb[m]: thanks
djbeau has quit [(Remote host closed the connection)]
orivej has quit [(Ping timeout: 246 seconds)]
djbeau has joined #nixos
jdz1200 has joined #nixos
Arcaelyx_ has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
jdz1200 has quit [(Remote host closed the connection)]
jdz1200 has joined #nixos
* mbrock
thought last week that he'd try to make a Debian package again after all these years, surely there's a simpler way now... oh gosh
pxc has joined #nixos
<mbrock>
I do some side projects involving ARM boards like Raspberry Pi, and it's REALLY nice that NixOS is starting to work well on them
<mbrock>
last time I had some weird issue with the GPIO on NixOS, and I'm not really experienced enough to debug such things (spent a day on it), so I switched back to Debian
<mbrock>
for my latest project I took a kind of pseudo-fake-Nix approach that involves a setup script for Debian that (1) installs a set of packages and (2) recursively merges in a "root directory" with ./etc, ./usr/local, and so on
<mbrock>
ok it's not like Nix at all, more like fake Ansible :P
<jasom>
okay I found a way --args overlays [list-of-overlays]
FRidh has joined #nixos
Mateon3 has joined #nixos
Mateon3 is now known as Mateon1
takle has joined #nixos
<fearlessKim[m]>
I would like to append things to NIX_PATH in configuration.nix , I would like to do sthg like nix.nixPath= [ "nixpkgs=$HOME/nixpkgs" ] ++ self.nixPath (except) it obviously doesn't work
<sphalerite>
fearlessKim: because that won't be the same result for each user it can't be evaluated at system build time
takle has quit [(Ping timeout: 248 seconds)]
<sphalerite>
What you could do is add something to environment.interactiveShellInit or similar that just adds it to the beginning
pvgoran has quit [(Quit: Page closed)]
<sphalerite>
Or one of the other shell init config options. Not sure which one is the right one for getting it to apply to all user shells, or if that's even possible
<fearlessKim[m]>
I can hardcode the path, my pb is how to prepend or append to the usually generated nixPath (without having to "export NIX_PATH=...")
eacameron has quit [(Remote host closed the connection)]
<fearlessKim[m]>
i.e., in configuration.nix, how can I refer to the generated nix.nixPath ? to append to it
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] vcunat pushed 1 new commit to release-17.09: https://git.io/v5o2c
<NixOS_GitHub>
nixpkgs/release-17.09 399b610 Vladimír Čunát: nixos/mfi: fix eval after removal 7ffc6db733
NixOS_GitHub has left #nixos []
eacameron has joined #nixos
<LnL>
fearlessKim[m]: you can access the original default with options.nix.nixPath.default
Ixxi3 has joined #nixos
katyucha has joined #nixos
<Ixxi3>
hey folks
<Ixxi3>
I am wondering how is it to user Nix alongside other package managers in, say, CentOS
<Ixxi3>
since people at the office use centos and I want to bring a little nixy joy to my worklife
<sphalerite>
Ixxi3: they don't interfere with each other much
eacamero_ has joined #nixos
takle has joined #nixos
eacameron has quit [(Ping timeout: 240 seconds)]
<LnL>
all you need is /nix for a single user install
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh merged master into python-unstable: https://git.io/v5o2E
NixOS_GitHub has left #nixos []
<fearlessKim[m]>
LnL: thanks that's what I am looking for.
<Ixxi3>
if I install the same package in both package managers as root, what happens?
<sphalerite>
I even set up a multi-user install in a Debian chroot on ARM on chrome OS without many problems :p
pie__ has joined #nixos
<sphalerite>
You don't install it as root in a single-user install
<Ixxi3>
and you should always use Nix as single user?
<sphalerite>
If it's a single-user install, then you should only ever use nix as the one user
<Ixxi3>
well, that is clear
<sphalerite>
But nothing in particular happens in that case. You just have 2 copies of the same package living in different places
<Ixxi3>
but which would be called?
<sphalerite>
Which one is used depends on how your PATH is set up. Probably, it'll use the nix version for the nix user and the centos version for everyone elsr
takle has quit [(Ping timeout: 240 seconds)]
pie_ has quit [(Ping timeout: 248 seconds)]
eacamero_ has quit [(Ping timeout: 264 seconds)]
odi_ has joined #nixos
<Ixxi3>
sphalerite: but the multiuser install isnt officially supported right?
<Ixxi3>
I found the blog post by Sander
<sphalerite>
I don't know
georges-duperon has joined #nixos
<sphalerite>
I don't think it is, but it's not complicated to set up
odi has quit [(Ping timeout: 260 seconds)]
<Ixxi3>
probably, but whatever I do at work the ops team needs to agree to do xD
ertes has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 1 new commit to master: https://git.io/v5o2j
<NixOS_GitHub>
nixpkgs/master c3a0c3c Frederik Rietdijk: Revert "python.pkgs.buildPythonPackage: use distutils-cfg to block downloads, fixes #25428"...
NixOS_GitHub has left #nixos []
<sphalerite>
Fair enough. FWIW the multi-user setup is less likely to let the nix store get messed up
Itkovian has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 1 new commit to release-17.09: https://git.io/v5oaJ
<NixOS_GitHub>
nixpkgs/release-17.09 85a1d86 Frederik Rietdijk: Revert "python.pkgs.buildPythonPackage: use distutils-cfg to block downloads, fixes #25428"...
NixOS_GitHub has left #nixos []
<Ixxi3>
good to know sphalerite
<Ixxi3>
Its my first week at work though so I dont wanna be pushing to hard for weird changes this early on xD I just figured if it was easy to do....
<Ixxi3>
maybe I will try out a single user install
nschoe has joined #nixos
FRidh has quit [(Quit: Konversation terminated!)]
<sphalerite>
Yeah that might well be a better choice for just a trial since it's a lot easier to remove
eacameron has joined #nixos
<Ixxi3>
and less likely to interfere with the other users' stuffs
nikola_i has quit [(Read error: Connection reset by peer)]
Intensity has quit [(Remote host closed the connection)]
<ertes-w>
are there instructions on building custom USB images? i'd like to build an image that i can boot via qemu for untrusted software like teamviewer
<ertes-w>
CD images would work, too
amir is now known as amir2
amir2 is now known as amir
<ertes-w>
i'm guessing that all i need to do is to apply the right function to my/a configuration.nix-style system configuration
nwuensche has joined #nixos
<sphalerite>
ertes-w: yes, it's pretty easy especially if you don't need data persistence
<sphalerite>
hang on
<sphalerite>
add <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix> to the imports for your config, then nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=path/to/config
<ertes-w>
sphalerite: thanks a lot!
Itkovian has quit [(Quit: My MacBook has gone to sleep. ZZZzzz…)]
<sphalerite>
I think
<nwuensche>
Hi! Has anyone here ever installed a GOG game on their NixOS device? I'm currently trying to do this, but the install window won't show up.
<sphalerite>
nwuensche: same as for running any proprietary software
<sphalerite>
if it's a graphical installer that you can't run without the GUI you'll either need to work out how to extract the files yourself or you're screwed :/
Intensity has joined #nixos
<nwuensche>
sphalerite: It can run inside a CLI, I already saw this
<sphalerite>
oh, the installer is a shell script
<sphalerite>
oh, that's good
__Sander__ has joined #nixos
<sphalerite>
So after the installation you apply clever's script to patch the interpreter and the paths
<sphalerite>
you don't actually need the install.sh script in the output directory, so I moved it to the build directory to avoid it getting included
eacameron has quit [(Ping timeout: 246 seconds)]
<nwuensche>
sphalerite: Thank you so much. But when I install the nix package, it doesn't recognize lib in line 15. I imported lib in the first line too. Is this correct or should there be zlib in line 15?
pxc has joined #nixos
<sphalerite>
oh yeah, forgot to add lib to the function arguments
<sphalerite>
where zlib is, you should put any libraries that Planescape requries. That's likely to include zlib and more
<sphalerite>
The easiest way to find out which ones it requires is trial and error
<ertes-w>
sphalerite: well, honestly i just went with installation-cd-graphical-kde.nix =)
pxc has quit [(Ping timeout: 248 seconds)]
<sphalerite>
fair enough ☺D
<sphalerite>
:D *
<sphalerite>
and yes it takes a wee while to build, because of the squashfs part where it compresses everything
<sphalerite>
also because there's a lot of IO involved
<ertes-w>
it's teamviewer… i want to spend as little engineering time as possible on this particular piece of shoftware
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] matthiasbeyer opened pull request #29107: Update vdirsyncer (+ one dep), khard (master...update-pim) https://git.io/v5oPl
NixOS_GitHub has left #nixos []
<sphalerite>
if you want to iterate on the configuration, you may want to build a VM and test that, then only create the ISO image when you've got it mostly right
<sphalerite>
I've spent quite a lot of time waiting for image builds and (the worst) writing images to USB sticks :)
<nwuensche>
sphalerite: And it's not possible to open the CLI to install the game? I don't really know what I should do otherwise.
<ertes-w>
that's fine… i don't have to stare at mksquashfs… i can do other things while it builds =)
<nwuensche>
sphalerite: When I install the package, it tells me /nix/...stdenv/setup: line 415: warning: command substitution: ignored null byte in input, but after that, it goes into an endless loop
<sphalerite>
nwuensche: I don't know how the installer works. Maybe you should read install.sh to see what it does and extract the relevant functionalit into your builder
thc202 has joined #nixos
<sphalerite>
try adding set -x at the beginning of the build to see which stage it hangs at
takle has joined #nixos
<sphalerite>
nwuensche: even doing other stuff while mksquashfs is running can get pretty old when it needs to rerun for every tiny little change :p
takle has quit [(Remote host closed the connection)]
takle has joined #nixos
takle has quit [(Remote host closed the connection)]
takle has joined #nixos
<sphalerite>
err, ertes-w ^
Wizek has joined #nixos
<nwuensche>
sphalerite: When I try sh -x install.sh, it still doesn't give me any new information
civodul has quit [(Read error: Connection reset by peer)]
<sphalerite>
nwuensche: I mean set -x in your builder. Is it getting to the point where it runs install.sh at all?
civodul has joined #nixos
<nwuensche>
sphalerite: I'm so sorry, but which builder do you mean? I don't really know where to set this -x flag
<sphalerite>
nwuensche: in the installPhase
Ixxi3 has joined #nixos
<nwuensche>
Ok, but how can I set a flag there? I can't write installPhase -x = ... or so.
nikola_i has joined #nixos
<sphalerite>
put set -x as the first line
justbeingglad has joined #nixos
justbeingglad has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] Gerschtli opened pull request #29108: slock: adds ability to add custom patches (master...update/slock-patches) https://git.io/v5o1H
<sphalerite>
spear2: remove the quotes around the path
<sphalerite>
spear2: as you've written it, it will try to access the archive at build time as the build user, which doesn't have read access to the path because of sandboxing and probably because of user permissions as well
<spear2>
ah i forgot that paths are not strings
<sphalerite>
spear2: if you don't quote the path the path will be imported into the store at evaluation time, and the resulting store path will become an explicit input of the expression which gives the builder access to it
<sphalerite>
you may also want to use a relative path like `./hello.tar.gz` (if the expression is in the same dir as hello.tar.gz) for brevity's sake
<pstn>
My nixos shirt just arrived. The shirt and the print both seem to be pretty good quality /cc mog
<mog>
pstn, i havent gotten mine yet photo please?
<sphalerite>
That's good to hear, I ordered one too
<goibhniu>
hi mog, has nwspk been in touch with you already? they asked yesterday about using your design for stickers
thblt has joined #nixos
<mog>
yup i still need to make pr for nixos-artwork
<mog>
i just havent been on personal pc yet
<goibhniu>
great
<spear2>
so how do i specify that my package is just an executable shell script, not a full-blown autotools binary? when i try to build it seems to be running configure; make; make install
catch22__ has quit [(Remote host closed the connection)]
erictapen has quit [(Ping timeout: 240 seconds)]
FRidh has quit [(Ping timeout: 264 seconds)]
reinzelmann has quit [(Ping timeout: 255 seconds)]
<sphalerite>
spear2: set buildPhase/installPhase
erictapen has joined #nixos
erictapen has quit [(Remote host closed the connection)]
erictapen has joined #nixos
erictapen has quit [(Remote host closed the connection)]
erictapen has joined #nixos
erictapen has quit [(Remote host closed the connection)]
erictapen has joined #nixos
<sphalerite>
specifically, you'll probably want to set buildPhase to ":" or redefine phases to exclude it, and set installPhase to running the script
<spear2>
sphalerite: those are arguments to mkDerivation i guess, how do i see what arguments it accepts? i know of name, builder, src and that's it
<mbrock>
I don't understand the mechanism by which `nix-env -iA c.package` resolves `c` as the name of a channel...
<sphalerite>
spear2: you can put anything in there, and as long as mkDerivation doesn't handle it otherwise, it'll become an environment variable for the builder. As for what mkDerivation handles specially, see https://nixos.org/nixpkgs/manual/#chap-stdenv
<spear2>
ah okay, that's one document i haven't read completely. thanks
<NixOS_GitHub>
nixpkgs/staging 0061fae Eelco Dolstra: genericBuild: Communicate the current build phase to Nix...
NixOS_GitHub has left #nixos []
<mog>
NICE
bennofs has joined #nixos
oida_ has joined #nixos
oida has quit [(Ping timeout: 260 seconds)]
nikola_i has quit [(Ping timeout: 255 seconds)]
nikola_i has joined #nixos
<pstn>
mog: Thanks for making it :-)
<mbrock>
when I do "nix-env -i" something, Nix will ask the binary cache about if the store path is cached. How does it derive the store path?
<mbrock>
And is there some reason why the hash in the store path would be one thing on my build server, but something else on another computer with the same CPU, so that the binary cache isn't found?
pvgoran has joined #nixos
<pvgoran>
Hello everyone.
nikola_i has quit [(Ping timeout: 240 seconds)]
<sphalerite>
mbrock: when you do nix-env -f '<nixpkgs>' -iA hello, it will evaluate nixpkgs and get the "hello" attribute. Said attribute is a derivation, which gets instantiated into a .drv file. This .drv file is computed from the exact instructions for building hello in nixpkgs. Nix then checks the binary cache if it has a .narinfo file for the hash of that drv file, and if found said .narinfo file will contain a reference for where
<sphalerite>
to get a prebuilt output of that build
<sphalerite>
mbrock: the key is that the .drv file is *deterministically* a result of evaluating the expression for hello, which contains the exact build instructions (including the build inputs)
<mbrock>
ah, yes, that makes sense. so I should probably try to just instantiate the .drv and then look in that .drv
<sphalerite>
that depends on what your objective is
<sphalerite>
oh right, you actually have the case that the store path is one thing on your build server and another on another computer
<mbrock>
I really wish that this nix-env -iA command would find the thing in the binary cache, which is my custom binary cache, but it doesn't, so I'm debugging why
hexa- has joined #nixos
<mbrock>
it seems so, yes :)
<sphalerite>
My best guess is that they don't have the same nixpkgs version
<sphalerite>
but yeah, instantiate it on each and compare the resulting drv file
<NixOS_GitHub>
[nixpkgs] Mic92 pushed 1 new commit to release-17.09: https://git.io/v5odp
<NixOS_GitHub>
nixpkgs/release-17.09 327e091 Ryan Mulligan: truecrypt: fix build with gcc6 patch...
NixOS_GitHub has left #nixos []
<nwuensche>
Hi! Has anyone here ever installed a GOG game on their NixOS device? I'm currently trying to do this, but the install window won't show up.
<mpickering>
I don't think that will work? I don't want to do this for all packages in the package set
<mpickering>
and also I don't want this choice to pollute the package set for other builds
<spacefrogg>
nwuensche: Putting it in a FHSEnv might be easier. I do that normally with binary packages.
<clever>
mpickering: no real way that i know of to do it recursively, other then just making a second haskellPackages set
<clever>
mpickering: you can name your override something else
<mpickering>
does that mean I have to have global overrides in two places?
<clever>
mpickering: instead of setting haskellPackages in the override, set myHaskellPackages
<clever>
and only things using myHaskellPackages will get the override
katyucha has joined #nixos
jellowj has joined #nixos
<sphalerite>
nwuensche: oh yes, clever is probably right (he always is :p ) an alternative option would be to wrap it so that it finds everything it needs on the PATH, so rather than doing the patchShebangs and the substitute command, do PATH=${lib.escapeShellArg (lib.makeBinPath [bash coreutils])} sh install.sh
<sphalerite>
if you really want it in a nix package
<clever>
sphalerite: the problem is when people assume your PATH is wrong and do /bin/bash
<sphalerite>
clever: yeah, but the shebang won't be used if you're calling the interpreter directly and absolute-path references to tools like that aren't *that* common outside shebangs
<sphalerite>
I'd be moderately surprised if what I suggested didn't work
mudri has quit [(Ping timeout: 240 seconds)]
<clever>
yeah, that sounds right
<clever>
another problem i have ran into, the .sh was both a tar, and a custom package
<sphalerite>
nwuensche: otherwise peek into install.sh and potentially just bypass all of its logic and do the extraction yoruself
<clever>
the tar contained an ELF that handled the custom archive format
<clever>
and the sh part refused to just unpack and not run the ELF
<sphalerite>
beautiful
<silver_hook>
Is it normal that I have to reboot everytime I do `nixos-rebuild switch` in order for some stuff (e.g. KDE/Plasma dialogues) to work?
<clever>
silver_hook: you can also just logout and log back in
systmkor has quit [(Ping timeout: 246 seconds)]
<sphalerite>
silver_hook: yes, although for KDE/Plasma just logging out and back in should be sufficient
<silver_hook>
OK, but in general having to restart whatever you are using is normal?
<silver_hook>
Good to know :)
goibhniu has quit [(Ping timeout: 255 seconds)]
<clever>
only for some stuff in the kde launcher
<clever>
switch does its best to reload things, but kde cant be reloaded
systmkor has joined #nixos
nikola_i has joined #nixos
<sphalerite>
silver_hook: in general… it depends on the software
<sphalerite>
nixos-rebuild switch will try to reload as much as possible in-place but whether that's possible depends on the software and how nixos manages its config
Bane^ has quit [(Ping timeout: 260 seconds)]
jellowj has quit [(Ping timeout: 240 seconds)]
oida has joined #nixos
Bane^ has joined #nixos
MP2E has quit [(Quit: leaving)]
oida_ has quit [(Ping timeout: 240 seconds)]
<mpickering>
Does anyone know where the .extend attribute used in Haskell's make-package-set.nixy is defined? (extensible-self.extend for example)
phinxy has joined #nixos
eacameron has joined #nixos
phinxy has left #nixos []
<silver_hook>
sphalerite: Thanks, that makes a lot of sense.
<silver_hook>
BTW, I recently installed kobodl (Kobo Deluxe – a neat little retro game) and it complains it doesn’t have the rights to store the player profile and save games.
<silver_hook>
Where (and how) may I submit that bug?
<clever>
silver_hook: to nixpkgs, it has to be patched to save to an area under $HOME rather then --prefix
<silver_hook>
clever: Thanks, will send it
eacameron has quit [(Ping timeout: 240 seconds)]
pvgoran has quit [(Quit: Page closed)]
griff_ has joined #nixos
tnks has quit [(Remote host closed the connection)]
cpennington has joined #nixos
<nwuensche>
clever, sphalerite: Ok, I will play the game on my Windows PC^^ Thank you nevertheless.
reinzelmann has quit [(Quit: Leaving)]
spear2 has quit [(Quit: ChatZilla 0.9.93 [Firefox 54.0/20170616104331])]
<clever>
nwuensche: oh right, there is also a steam-run package, which i believe gives a shell inside the same chroot used for steam
<sphalerite>
clever: just tried it, it tries to store the player profile to a shared prefix which on debian would probably be /var/games (so that high scores can be shared between users)
<makefu>
apropos steam, it seems it is broken in unstable right now
<clever>
sphalerite: yeah, so its trying to write to the store
<sphalerite>
yeah, but where should it be writing to isntead
<sphalerite>
not the user's home directory because then it won't be shared
<clever>
to set things like this up "properly", it has to have the set gid bit set, and then a group that has write to the shared location
<clever>
so only that game can write to it, and users cant just cheat in their own scores, or put malicious data into a file another user will load into the game
<sphalerite>
oh yeah…
<sphalerite>
so basically it's complicated
nwuensche has quit [(Quit: Leaving)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nix] peti opened pull request #1562: docker: update to Nix 1.11.14 (master...master) https://git.io/v5oAu
NixOS_GitHub has left #nixos []
<clever>
and nixos makes it worse, then you need a nixos module to handle the set gid bit
<clever>
and how often do you actually want to share high-scores with another user on the same box?
<sphalerite>
Random idea: could nix-store --optimise perform better for similar reductions in space usage if it only looked at large (for some definition of large) files?
<mbrock>
I wonder if it's possible to provide an overlay via a channel
<clever>
sphalerite: ive found that the biggest performance cost is just the readdir on large directories, like .links and the store itself
elurin` has left #nixos ["ERC (IRC client for Emacs 25.2.1)"]
<sphalerite>
ah, ok
<clever>
doing the same thing git does may help
<sphalerite>
oh, but in that case wouldn't it help because it results in .links having fewer entries?
<clever>
ah yeah, that would help some
dieggsy has joined #nixos
<clever>
but making more subdirs under .links would give more disk savings and make it faster
<sphalerite>
more disk savings? How?
<clever>
vs not linking small-ish files
<Dezgeg>
how does splitting .links to multiple directories make it faster if you're going to readdir() all of the subdirectories
<dieggsy>
anyone know why i'd get '/bin/sh: 1: col: not found' when attempting to build a package?
<clever>
Dezgeg: weird quirks in the filesystem layer
<Dezgeg>
huh?
<clever>
Dezgeg: when you want to read a file of a known name, the FS can use things like b-tree's to instantly find it
elurin has joined #nixos
<clever>
Dezgeg: but if you want to iterate over the entire directory, it can be abnormally slow
vaibhavsagar_ has joined #nixos
<clever>
splitting it up into 255 smaller directories makes it faster, even if you read all of them, just due to poorly designed FS's
<clever>
they dont expect you to put 1000's of files in a single directory
<Dezgeg>
yes, sure if you use something like FAT, then yes filename lookup inside a single directory is O(n)
ryantrinkle has quit [(Ping timeout: 240 seconds)]
<Dezgeg>
but I don't see the relevance to readdir()
<clever>
FAT is even worse in some areas, the root directory has a hard upper limit on the number of files in the root directory
<clever>
$ time ls -U /nix/store/.links/ | wc -l
<clever>
934243
<clever>
real 0m5.470s
<clever>
hmmm, that usually took minutes, maybe the extra 16gig of ram i gave the machine has helped
vaibhavsagar has quit [(Ping timeout: 246 seconds)]
<disasm>
dieggsy: we'd need to see the nix file
<Dezgeg>
that applies to FAT12 and FAT16 only, IIRC
<clever>
Dezgeg: ive had it happen on a 4gig SD card before, dont think fat16 cant go that big
nh2 has quit [(Ping timeout: 246 seconds)]
<dieggsy>
disasm: that's actually a slightly older version, in the newer one I don't do sh script/build since make install takes care of it i believe, but the issue is the same
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] mdorman opened pull request #29110: mfi: Remove remaining reference to mfi.nix (master...mfi-fix) https://git.io/v5opx
NixOS_GitHub has left #nixos []
ryannix has joined #nixos
<Dezgeg>
sure it can go big if you increase cluster size
nh2 has joined #nixos
jellowj has joined #nixos
vaibhavsagar_ has quit [(Read error: Connection reset by peer)]
<Dezgeg>
ok, not "sure" though, but it does barely fit :)
nikola_i has quit [(Quit: WeeChat 1.7.1)]
<clever>
i only ever ran into that because my mp3 player was "full" at only ~5% usage
<Dezgeg>
but, indeed a 4gb partition should typically be fat32 which doesn't have a fixed size root directory
<clever>
ah
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ikervagyok opened pull request #29112: removed last bit of mfi (master...mfi) https://git.io/v5ohr
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] dermetfan opened pull request #29113: nixos/mfi: remove dangling reference (was removed in #29073) (master...fixup/29073) https://git.io/v5ohi
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] globin pushed 1 new commit to master: https://git.io/v5ojh
<NixOS_GitHub>
nixpkgs/master cd283e9 Michael Alan Dorman: mfi: Remove remaining reference to mfi.nix...
<sphalerite>
it's an odd behaviour, but since your environment doesn't have any sort of hierarchy or attribute names in it, it doesn't have any meaningful attribute names to put there
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] globin pushed 1 new commit to master: https://git.io/v5Kqz
<NixOS_GitHub>
nixpkgs/master 04f456e Robin Gloster: dmtcp: 2.5.0 -> 2.5.1
NixOS_GitHub has left #nixos []
civodul has quit [(Read error: Connection reset by peer)]
civodul has joined #nixos
<sphalerite>
If what you want is to get the list of nixpkgs attribute paths installed to get your environment… I don't think that's possible unfortunately
<brodul>
oh, tnx
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peti pushed 5 new commits to master: https://git.io/v5Kmo
<NixOS_GitHub>
nixpkgs/master 3205d16 Ben Ford: Fix hw-kafka-client haskell package
<NixOS_GitHub>
nixpkgs/master 017a356 Ben Ford: Also had to add dontCheck integration test seems to hang...
<NixOS_GitHub>
nixpkgs/master 30ce53d Ben Ford: Add a note about the changes
NixOS_GitHub has left #nixos []
<brodul>
If I want to 'backup' my environment
<brodul>
what is the best ting to do
<brodul>
store the `nix-env -q` output?
<sphalerite>
I recommend writing a nix expression that contains everything in it
<sphalerite>
and building the environment from there using nix-env -irf expr.nix
<sphalerite>
for a simple one, you can just do `let pkgs = import <nixpkgs> {}; in {inherit (pkgs) foo bar baz;}` to get foo, bar and baz in your env
vD2Kap has quit [(Quit: leaving)]
<sphalerite>
then keep that nix expression in version control :)
<sphalerite>
for greater reproducibility you can also pin nixpkgs in your expression if that's your thing
FRidh has quit [(Quit: Konversation terminated!)]
<brodul>
oh right
<brodul>
tnx
deltasquared has joined #nixos
eacameron has joined #nixos
aloiscochard has joined #nixos
jellowj has quit [(Ping timeout: 255 seconds)]
jellowj has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peti pushed 2 new commits to master: https://git.io/v5KOq
<NixOS_GitHub>
nixpkgs/master 72451b5 Peter Simons: hackage2nix: include "haskell-gi-overloading == 0.0" in our package set
<NixOS_GitHub>
nixpkgs/master 8a71425 Peter Simons: hackage-packages.nix: automatic Haskell package set update...
NixOS_GitHub has left #nixos []
deltasquared has left #nixos ["CPU0 on fire?"]
bennofs has quit [(Ping timeout: 240 seconds)]
mkoenig has quit [(Ping timeout: 248 seconds)]
mkoenig has joined #nixos
<mbrock>
I can do `nix-env -iA mychannel.pkg` but what is the corresponding syntax for nix-shell?
<mbrock>
one way seems to be `nix-shell -E 'with import <mychannel> {}; pkgs.pkg'` but then this starts to compile the package
<mbrock>
(it's already compiled because the `nix-env` command finishes immediately)
erictapen has quit [(Remote host closed the connection)]
ryantrinkle has joined #nixos
<brodul>
maybe mbrock: nix-shell '<mychannel>' -A pkg
<mbrock>
brodul: ah, maybe it's not starting the compilation, it's just getting all the build deps, because nix-shell except for "-p" is meant to boot a development environment
<mbrock>
basically I want to get the effect of "nix-shell -p foo", except that I need to specify an explicit attribute path instead of a package name (from a non-default channel, too)
<mbrock>
now, I just wonder if there's a way to make that not install the stdenv, e.g. for use on a non-NixOS box
<mbrock>
like I want to use this nix-shell just as a way to get the program in scope, I don't need compilers and stuff
Mercuria1Alchemi has quit [(Ping timeout: 252 seconds)]
<sphalerite>
That will be difficul
<sphalerite>
t
<U007D>
hi, all. Newb nixos question. I've read 14 chapters of the nixos manual and have an install up and running. But I'd like to install geekbench; I see there's a package (https://github.com/NixOS/nixpkgs/pull/28020/files) that went in last month. nix-env -qaP does not find it. (My install is se to and does show unfree packages.) Any ideas?
<mbrock>
okay, maybe it's alright that my users will need to wait a bit for gcc and whatnot to download
<U007D>
s/se/set
<sphalerite>
mbrock: it shouldn't need gcc
<mbrock>
ah maybe it's just some gcc libraries
<sphalerite>
U007D: are you on unstable?
<U007D>
sphalerite no, stable... I see...
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] globin pushed 1 new commit to master: https://git.io/v5KG4
<U007D>
sphalerite I tried git, but didn't know what folder to begin with. What folder should I be in when github.com/NixOS/nixpkgs README.md tell me to do a `git remote add`? (I ended up doing a `mkdir foo && cd foo && git init`, but this (unsurprisingly didn't work)
<sphalerite>
just anywhere inside the clone
<sphalerite>
you can just check the release branch if the change you're interested isn't too recent as well
WilliButz has joined #nixos
<sphalerite>
`git log origin/release-17.03 --grep geekbench` will show you any commits mentioning geekbench on the 17.03 branch
<sphalerite>
But yes, to make sure that the channel is up to date with it as well it is better to use the channels one
<U007D>
ah--I brought up a new system from a bootable usb stick (minimal live CD). that's why I didn't have a clone of the repo. Very cool--thank you! That fills in a lot of ?'s I've had! :)
orivej has quit [(Ping timeout: 246 seconds)]
<sphalerite>
you could probably also use github's web UI but I'm not sure it has enough functionality for that to work easily
Sonarpulse has joined #nixos
orivej has joined #nixos
<sphalerite>
and no problem. I've found the IRC channel to be the most valuable resource overall for nix/nixos stuff
<tilpner>
If you know about a commit in master and want to see which channels have it, you can "git branch -a --contains 1b8c7786ee75b834a76b443381aa7033372dffae"
<U007D>
sphalerite I'd rather jump in with both feet--the premise of NixOS is really appealing to me. I'm wishing for better ergonomics, to be sure, but the functionality seems to live up to the promis.
<sphalerite>
tilpner: that won't catch stuff that's been cherry-picked to release branches so it's not that helpful
<tilpner>
True. I mostly use that to check if a new package is in nixos-unstable yet :P
<U007D>
sphalerite awesome -- the quick 'n dirty approach worked like a charm--thank you!
<Twey>
What's the deal with overriding package arguments these days? I want to try to build buildbot-full with Python 3, so I'm doing: `buildbot-full.override { pythonPackages = python3Packages; }` as mentioned in the manual. But all I get is `attribute ‘override’ missing`
<jasom>
Is there a way to find the file in which a package is defined? Failing that is there a way to find the root of the current nixpkgs in /nix/store, so that I'm at least runnin "find" on the right version of nixpkgs?
<tilpner>
jasom - If you have the new Nix CLI you can run "nix edit nixpkgs.somepackage"
<jasom>
tilpner: is that available in stabl?
<tilpner>
Try nix-shell -p nixUnstable
<jasom>
tilpner: ah, it's in nixos.nixUnstable
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] PanAeon opened pull request #29122: update skypeforlinux to 5.4.0.1; Fix autologin issue (master...skypeforlinux_september_update) https://git.io/v5KB1
<timor>
Are all the perl packages regularly built somewhere? Looking at nixos.hydra.org I fail to find the corresponding jobs anywhere.
erasmas has joined #nixos
<tilpner>
Twey - I tried running nis -E 'with import <nixpkgs> {}; (buildbot.override { pythonPackages = python3Packages; }).withPlugins (with buildbot-plugins; [ www console-view waterfall-view grid-view ])' but it fails with "error: testtools-1.8.0 not supported for interpreter python3.6m"
<tilpner>
There's probably a good reason they set pythonPackages = python2Packages...
<tilpner>
As for why the override didn't work, that's because "withPlugins" is missing a makeOverridable, and there was no callPackage used for that particular package (buildbot-full)
<Twey>
tilpner: I believe it, but I also can't get it to build with the default args ;) So I was going to play around with the arguments and see if I could get something that works
<Twey>
tilpner: No matching distribution found for PyYAML>=3.10.0 (from oslo.config==4.11.0)
* tilpner
building
<Twey>
tilpner: Is there supposed to be a makeOverridable in withPlugins?
<Twey>
Should I add it?
<Ralith>
Anyone using NixOS on AWS around? The log's reporting errors renaming the interfaces from eth1 and eth2 to modern-style names, and customization of the MTU by network-link-eth1.service never gets ran because the required sys-subsystem-net-devices-eth1.device unit times out
<tilpner>
I don't know the exact policy for when to make things overridable. Too much makeOverridable clutters package definitions
<joepie91>
julm: doesn't seem to have been packaged by anybody yet
<julm>
joepie91: sad :( would you know of any other similar (Perl) package that could be an example starting point to do so?
<joepie91>
julm: so you can package it yourself to use it, although I'm not sure whether it does anything that Nix' declarative config can't already (theoretically) do, so I don't know whether it'd make sense to do so
zeus_ has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] fpletz pushed 1 new commit to master: https://git.io/v5Kg3
<julm>
joepie91: it says: "And I believe the more complex networking setups (firewall builders, NixOS on a router machine, lots of NAT rules, ...) are better served with tools like Shorewall or Ferm."
<disasm>
where's everyone staying for nixcon?
<julm>
joepie91: nope, Debian + nixpkgs
<julm>
joepie91: but I'd like it to be installable on a nixos only
<joepie91>
julm: so all the config/service modules will only work on NixOS, not on non-NixOS systems
nschoe has quit [(Quit: Program. Terminated.)]
<joepie91>
(out of technical necessity)
<joepie91>
julm: but yeah, I have no particular knowledge of this area
<julm>
joepie91: well, I'll experiment in a VM with NixOps; I don't know the extend to which NixOS is able to setup the firewall, but would be impressive if it is as powerful as Shorewall
<julm>
joepie91: thank you anyway ;)
<sphalerite>
ugh, shorewall…
<julm>
sphalerite: well, i'm used to it :P
phreedom has joined #nixos
__Sander__ has quit [(Quit: Konversation terminated!)]
<sphalerite>
because tables are the perfect representation for a firewall!
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ttuegel pushed 1 new commit to master: https://git.io/v5K2T
<NixOS_GitHub>
nixpkgs/master a6fcd2c Thomas Tuegel: dropbox: 33.4.23 -> 34.4.20
NixOS_GitHub has left #nixos []
<joepie91>
julm: no reason it couldn't be as powerful; Nix is a full-blown language in the sense that it has all the basic data structures and you can build abstractions with it
<joepie91>
so you can - theoretically - express pretty much anything in it
<joepie91>
(performance is a different story :P)
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ttuegel pushed 1 new commit to release-17.03: https://git.io/v5K23
<NixOS_GitHub>
nixpkgs/release-17.03 46fc14b Thomas Tuegel: dropbox: 33.4.23 -> 34.4.20...
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] ttuegel pushed 1 new commit to release-17.09: https://git.io/v5K2c
<NixOS_GitHub>
nixpkgs/release-17.09 928a1ea Thomas Tuegel: dropbox: 33.4.23 -> 34.4.20...
NixOS_GitHub has left #nixos []
<joepie91>
so so long as somebody made the effort to write something that converts input data into firewall rules...
<joepie91>
:P
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] fpletz pushed 2 new commits to master: https://git.io/v5K2W
<NixOS_GitHub>
nixpkgs/master b17ccf3 Jaakko Luttinen: rssguard: 3.4.0 -> 3.4.2
<NixOS_GitHub>
nixpkgs/master 913c245 Franz Pletz: Merge pull request #29046 from jluttine/update-rssguard...
<julm>
joepie91: theoretically sure, but what is already existing avoids me to fall in a rabit hole ;) I'll play with NixOS fireall abstraction, see if I can reproduce what I need
<joepie91>
julm: I doubt that NixOS firewall config is *currently* as extensive as that of Shorewall, I'm only saying that it could theoretically be made so with existing Nix tooling :P
<julm>
joepie91: sure, I'll see what path offers the least resistance to me :P
mudri has joined #nixos
<edef>
heck, you could literally use shorewall and integrate it into NixOS configs
<edef>
writing a NixOS module for Shorewall is fairly low-effort
<julm>
edef: oh yes? would you have some pointers to help me write this module?
<WinchellsM>
I tried nix-build -f ./default.nix and it doesn't work
<WinchellsM>
`nix-build default.nix` yields the error "cannot auto-call a function that has an argument without a default value ('stdenv')
<tilpner>
WinchellsM - nix-build -E '(import <nixpkgs> {}).callPackage ./. {}', but your hash is wrong
<tilpner>
You can have a shorter build command, but AFAICT not without additional files or changes to your default.nix
nh2 has joined #nixos
<WinchellsM>
What is <nixpkgs> {}?
endformationage has joined #nixos
<WinchellsM>
I'm assuming <nixpkgs> is the mosnter nix expression that has every package from my channel.
<WinchellsM>
And then <nixpkgs> {} calls it with 0 arguments?
<tilpner>
<nixpkgs> is a path item that points to your nixpkgs installation. We import wherever that is, then call it with an empty attrset
<tilpner>
Calling with {} is not the same as calling it with 0 arguments
<WinchellsM>
What does <nixpkgs> {} return?
<WinchellsM>
A giant derivation?
<tilpner>
You're reading it wrong. It first imports <nixpkgs>, then calls the result of that import (a function) with {}
<joepie91>
WinchellsM: that returns the nixpkgs package set with default settings; <nixpkgs> is a function that *produces* the package set (given information like overlays, system arch, etc.)
<tilpner>
Calling that function with {} returns a set
<WinchellsM>
And then you'd say "run the command nix-build -E '(import <nixpkgs> {}).callPackage ./. {}'" ?
<WinchellsM>
It would be doing them a favor if it meant they didn't have to go through dependency hell to install your software, no?
<tilpner>
That depends a lot on what the software is, and how much effort you can invest into packaging
<tilpner>
But no, that is not how I would set it up
<WinchellsM>
How would you set it up (broadly speaking)?
nh2 has quit [(Ping timeout: 240 seconds)]
<tilpner>
sphalerite recently had an example where he had a friend install software directly from a GH repo. Something like that could work. You could also provide an overlay (like e.g. nixpkgs-mozilla)
<sphalerite>
I think maybe what you mean by the second one is something like `nix-build -E 'with import <nixpkgs> {}; import ./. {inherit fetchurl stdenv perl;}'`
<WinchellsM>
I guess
<edef>
WinchellsM: I'd just have the default.nix `with import <nixpkgs> {};` at the top tbh
<sphalerite>
Which does behave rather similarly, except that it doesn't add overridability
<tilpner>
WinchellsM - This is pretty much what callPackage does, it fills a set with the required arguments, taking them from nixpkgs in this case
kus_ubuntui686 has quit [(Read error: Connection reset by peer)]
<sphalerite>
WinchellsM: Recommended reading since your goal seems to be to understand what's actually going on — https://nixos.org/nixos/nix-pills/
freeman42z has quit [(Read error: Connection reset by peer)]
<tilpner>
Ooh, I never read them when they were in blog form. Didn't know they made it onto nixos.org
<sphalerite>
that's a recent development, led by grahamc
<tilpner>
!m gchristensen
<[0__0]>
You're doing good work, gchristensen!
<MoreTea>
I'll buy you at least one beer for that at NixCon gchristensen :)
freeman42x has joined #nixos
<MoreTea>
Or any other preferred beverage
<WinchellsM>
Just bookmarked nix-pills
<WinchellsM>
with import <nixpkgs> {};
<WinchellsM>
What is the immpact of this?
<sphalerite>
it finds nixpkgs on NIX_PATH, imports it, and calls it with {}
<tilpner>
It puts all items from the set (import <nixpkgs> {}) into your local scope
<sphalerite>
the details are in nix pill no. 7 :D
<WinchellsM>
I see that imports nixpkgs and then calls it with {}
<WinchellsM>
Ah
<sphalerite>
oh right, yes, and then it brings all the names from it into the scope for whatever comes after the ;
<WinchellsM>
So there is a notion of local scope?
<WinchellsM>
Per file?
<WinchellsM>
That seems...non-functionalish :)
<sphalerite>
that's perfectly functional
<tilpner>
It's not non-functional, and it's not per file
LainuxUser has joined #nixos
bennofs has quit [(Quit: WeeChat 1.9)]
<WinchellsM>
Yes, I suppose it's no different from "import Module.Name" in i.e. Haskell
<tilpner>
But if you put it at the beginning of a file, it has effect for the rest of the file
<sphalerite>
yes it is
<LainuxUser>
Does nixos support kernel signing with a custom key?
<sphalerite>
it's for an expression. (with import <nixpkgs> {}; foo bar) will get bar from import <nixpkgs> {}, but (with import <nixpkgs> {}; foo) bar will not
orivej has quit [(Ping timeout: 240 seconds)]
<sphalerite>
So it's more like a let binding, except you don't have a fixed set of names being brought into scope
<WinchellsM>
I see
<LainuxUser>
Is it possible to install NixOS without the provided livecd?
<disasm>
LainuxUser: yup, you just need a free partition and nix package manager installed
<MoreTea>
I'm trying to validate an idea to make it easier for people to learn Nix.
<MoreTea>
The plan is to have a website, where you can start a docker container (scheduled via kubernetes) that will run wetty (a HTML5+websocket tty terminal).
<MoreTea>
I've got wetty working, but now I am looking for a minimal "rootfs" that is workable to run `nix-build` in.
<LainuxUser>
How well does nixos support system hardening ala SELinux and friends?
vaibhavsagar has quit [(Ping timeout: 252 seconds)]
<disasm>
LainuxUser: it does not, with nixos though everything on the system is in the nix store which is immutable.
<tilpner>
MoreTea - How minimal does it have to be? Is nixos/nix from the Dockerhub okay?
<MoreTea>
Good pointer. I'll see if I can extract some information from that.
<disasm>
we used to support grsecurity before it became commercial only.
<LainuxUser>
disasm: but i can still write my own policy tough?
<tilpner>
MoreTea - Also who's going to pay for that? I'm curious how well it would completely client-side...
<tilpner>
*how well it would work
<MoreTea>
It won't ;)
<tilpner>
Why not?
<MoreTea>
(work client-side)
<MoreTea>
because then you'd have to install stuff instead of visiting a website.
<sphalerite>
MoreTea: tar cf $(nix-store -qR $(nix-build '<nixpkgs>' -A nix)) :p
<sphalerite>
err minus the f
<tilpner>
MoreTea - jslinux does it pretty well
jsgrant has quit [(Read error: Connection reset by peer)]
<MoreTea>
I build my docker container with dockerTools.buildImage , since I need wetty as well (and that was a bit annoying to package)
<joepie91>
MoreTea: this is a problem when you consider that your containers can be used for spamming and other such abusemail-generating things
<tilpner>
MoreTea - If you want to provide a playground for other people, you should care about your hosts security
<MoreTea>
It's fairly trivial to have them not being able to be connected to the internet.
<joepie91>
MoreTea: not if they can compromise the host... which they can... because Docker doesn't isolate against malicious users... :)
<joepie91>
not having secure isolation is a pretty big deal when dealing with untrusted users or code
jensens has quit [(Ping timeout: 248 seconds)]
<joepie91>
you'd probably want to look into something along the lines of OpenVZ or unprivileged LXC instead
<MoreTea>
I'm well aware of that.
<MoreTea>
lxc is just as safe as docker.
<MoreTea>
I could even use kvm vm's on e.g. packet
<joepie91>
no, unprivileged lxc is considerably more restricted than Docker is by default
<MoreTea>
The point is, this is a set of technologies I can work with.
<joepie91>
and yes, QEMU/KVM will work too, so long as you're okay with the inability to share certain resources between VMs
<joepie91>
:p
<MoreTea>
I can't even find the source code for jslinux, besides it being an old pentium
<MoreTea>
joepie91, with memory ballooning and 9p you'll get pretty close.
<MoreTea>
But again, security is _not_ my point here.
<MoreTea>
I want to build a prototype!
<MoreTea>
And all prototypes are silly.
<joepie91>
the problem is that a 'prototype' that hasn't sorted out host security is undeployable, and that means that if you want to actually use it, you just have to redo all the work with tech that *is* designed for this purpose
<joepie91>
cheaping out on prototypes isn't a good idea if you already know that it can work conceptually :P
<joepie91>
like, you can make a prototype with Docker if you want, I'm not going to stop you, but it'll almost certainly end up wasting a lot of time and energy
aloiscochard has quit [(Quit: Connection closed for inactivity)]
<MoreTea>
well, thanks for the vote of confidence :)
odi has quit [(Ping timeout: 240 seconds)]
<MoreTea>
docker -> kvm+docker is something that I've a WIP branch for already, for nixos.
<MoreTea>
(hyper+frakti)
<joepie91>
MoreTea: I realize I didn't say this explicitly, but yes, I do think it's a good idea and I do feel that it will work in practice, hence my remark about a prototype probably not being necessary :P
<joepie91>
so long as you can sort out the resources required it's definitely viable
<MoreTea>
One can run quite a lot on cheap hardware.
<joepie91>
I just realized*
<joepie91>
MoreTea: sorry, I'm spread a bit thin tonight, so I'm probably coming across a bit more unfriendly/critical than I intended :p
<joepie91>
MoreTea: so to be clear, I think the idea is great and definitely worth it, it's just the implementation I'm making some remarks about, so that you don't end up having to waste time on doing it a second time :P
<tilpner>
(Hmm, feels much slower now)
<ShalokShalom>
Linux works pretty well. Graphical boot fails in many versions
<LainuxUser>
How serious is the nix team about securing the build cache and infrastructure?
<LainuxUser>
I have to move away from gentoo to something else, but not for fun. So i must choose wisely, i don't want to switch again 5 years from now
<edef>
if you want, you can avoid using the caches
<edef>
the true gentoo experience on nixos
<LainuxUser>
no thanks :P building chromium/webkit/etc over night just to see it failed is not feasible anymore
revtintin has joined #nixos
<LainuxUser>
i plan to get a life this time
<sphalerite>
Then I'm not sure nixos is your best option :p
<sphalerite>
I think I've had less of a life since switching (totally worth it though)
mkoenig has quit [(Remote host closed the connection)]
<LainuxUser>
thats why i ask here before jumping directly into nix
snikkers has quit [(Ping timeout: 248 seconds)]
<sphalerite>
It's great to work with but it does involve a lot of tinkering.
<Ralith>
I dunno, I've spent less time fixing crap since I switched from Arch at least
<sphalerite>
I'm not sure how it compares to gentoo though
<LainuxUser>
Tinkering/configuring is not a problem. My problem is maintaining/fixing random stuff as time goes on *cough* arch *cough*
FRidh has joined #nixos
<sphalerite>
then nixos is the way to go
mkoenig has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] peti pushed 1 new commit to release-17.09: https://git.io/v5KDN
<NixOS_GitHub>
nixpkgs/release-17.09 33bdb27 Peter Simons: Synchronize Haskell infrastructure with master at f93a019816274bb5d50e605568f2fb567bfd1827.
NixOS_GitHub has left #nixos []
<WinchellsM>
Is (inherit a b;) the same as
<WinchellsM>
inherit a;
<WinchellsM>
inherit b;
<WinchellsM>
?
<sphalerite>
If an update breaks stuff, you can roll back at zero cost on a package management level at boot time, a guarantee which no other distro I know of (except GuixSD but that's the same thing as nixos conceptually) can get except through filesystem-level snapshots
<sphalerite>
WinchellsM: if you remove the parens, yes. With the parens, it's invalid syntax within a set or let binding afaik
nh2 has quit [(Ping timeout: 260 seconds)]
<LainuxUser>
i want rolling-release without the bleeding-edge. Then i'm happy.
<WinchellsM>
Ok
<sphalerite>
but not to be confused with inherit (a) b;
<edef>
idk, I don't tinker with my setup that much
<edef>
I switched off Arch to NixOS and now I can just always have a working system
<sphalerite>
but creating your setup involved a lot of tinkering, right? :p
<edef>
slow tinkering
<WinchellsM>
What does `inherit (a) b;` do?
<edef>
but actually developing my system is pleasant and fast bc I can move fast / break things / roll back
<sphalerite>
WinchellsM: inherit b; is b = b; inherit (a) b; is b = a.b;
nh2 has joined #nixos
<WinchellsM>
Ok
<Ralith>
LainuxUser: nixos-unstable is good for that, but even better is having a stable release while being able to cherry pick random newer stuff without trouble
<Ralith>
which is to say, nixos-unstable is bleeding edge, but it has a damn good undo button
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm force-pushed terraform-plugins-all from edc91c5 to 0bd7b21: https://git.io/v5KyH
<NixOS_GitHub>
nixpkgs/terraform-plugins-all 0bd7b21 zimbatm: terraform: revamp the providers list...
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm closed pull request #29097: terraform: revamp the providers list (master...terraform-plugins-all) https://git.io/v5oGy
NixOS_GitHub has left #nixos []
<clever>
Ralith: only time ive ever seen the undo button fail, is when people ran nixpkgs-unstable, and it happened to break the grub config
<LainuxUser>
How mature is NixOS compared to other distros?
<Ralith>
depends which other distros
<Ralith>
we're woefully immature compared to debian, for example
<LainuxUser>
fedora, debian testing
Ivanych has joined #nixos
<LainuxUser>
i just want something thats still around and rockin 7 years from now
<jasom>
LainuxUser: predictions are hard, especially about the future
<jasom>
LainuxUser: that being said, NixOS seems to be on an upwards trend now. I was worried about it dying out ~18 months ago when I first started using it, but it's gotten loads of momentum since then
<LainuxUser>
just last year the grsec team promised "we have been around 10+ years, and will easily go another decade"
<LainuxUser>
but then again, nix has like 1000x more users
<Ralith>
nix has very little credible competition
<LainuxUser>
Maturity is what keeps me away from distris like void
<jasom>
I've been using gentoo since 2002, and Nix is converting me. I still have 3 systems running gentoo just because I don't have the time to transition, but all new machines have been Nix.
<LainuxUser>
my only problem with gentoo is the unbearable compile time. One needs a powerhungry desktop to not go crazy here.
nh2 has quit [(Ping timeout: 240 seconds)]
<jasom>
LainuxUser: grsec is still around isn't it?
<olejorgenb[m]>
catern: it's probably limited to packages which is prebuild (I think there might be a few that isn't even in stable(?))
pxc has joined #nixos
<LainuxUser>
is it common that nxi builds stuff from source, even if i don't customize package settings?
<clever>
LainuxUser: what things is it building?
<LainuxUser>
nothing yet. Im just asking if its common, or whether the build farm keeps up well
<sphalerite>
The build farm keeps up excellently
<sphalerite>
the channels don't update until everything's been built and tested
<sphalerite>
so if you stick to the channels, everything that isn't excluded from hydra (for instance nonfree software and the python package set which is huge and mostly trivial to build) will be available in binary caches
WinchellsM has quit [(Quit: Lost terminal)]
<sphalerite>
The only thing that's not a python package and free software that I can think of is sauerbraten which isn't built "because it is 0.5+ GiB of game data"
Ivanych has quit [(Quit: Leaving.)]
<sphalerite>
(and the game data isn't free software so there's also that)
<FRidh>
sphalerite: python packages are build again
<FRidh>
at least 2.7 and 3.6
<LainuxUser>
i mostly care about webkits, chromiums, firefox, krita and the office stuff. Thats all.
Ivanych has joined #nixos
<sphalerite>
FRidh: oh that's awesome!
<sphalerite>
LainuxUser: yeah you'll get all that
<FRidh>
yea, you don't want to build those yourself
<FRidh>
we should build mono again for steam
<clever>
sphalerite: that reminds me, teamspeak is non-free, and depends on a special build of the chrome source (via a qt library), and hydra doesnt pre-build that
<LainuxUser>
Its the first time in 5 years i got hyped for a distro <3
<sphalerite>
OTT of office software, libreoffice needs wrapGappsHook added
<sphalerite>
clever: lovely!
<sphalerite>
clever: but there's always mumble ;)
<clever>
sphalerite: convicing the entire userbase to move is a an even bigger issue :P
<sphalerite>
probably outdated protocol though, given that it was last updated 2010
<sphalerite>
Does anyone know a reasonable application for managing a calendar, with CalDAV support?
zeus_ has quit [(Ping timeout: 248 seconds)]
<catern>
khal perhaps
<catern>
thunderbird
bennofs has quit [(Read error: Connection reset by peer)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to master: https://git.io/v5KQH
<NixOS_GitHub>
nixpkgs/master a838243 Daiderd Jordan: autotrace: fix darwin build
NixOS_GitHub has left #nixos []
orivej has joined #nixos
<catern>
olejorgenb[m]: yeah a public webapp would be good... it's difficult/slow for me to build the index because of this corporate firewall
vandenoever has quit [(Remote host closed the connection)]
darlan has joined #nixos
darlan has quit [(Client Quit)]
<LainuxUser>
Wait, so i can install an entire os via nix into some random directory and then chroot into it?
LysergicDreams has quit [(Ping timeout: 248 seconds)]
LysergicDreams has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to release-17.09: https://git.io/v5K7i
<NixOS_GitHub>
nixpkgs/release-17.09 fc86344 Daiderd Jordan: autotrace: fix darwin build...
NixOS_GitHub has left #nixos []
<clever>
LainuxUser: thats what nixos-install does
<clever>
LainuxUser: it just expects you to boot it normally, but you could also chroot it
<sphalerite>
catern: I'm currently using thunderbird but it's not a pleasant experience, so hard t perform repetitive tasks (e.g. creating a bucnhf of events, all with the same repetition parameters)
<sphalerite>
s/bucnhf/bunch of/
<sphalerite>
maybe khal is better, I should try that
<LainuxUser>
clever: why am i so surprised when software is simple and just makes sense?
<sphalerite>
because all software sucks
<catern>
sphalerite: there's maybe org-caldav? never tried it
<catern>
but if you're an emacs user that is a sound choice
vandenoever has joined #nixos
vandenoever has quit [(Changing host)]
vandenoever has joined #nixos
<sphalerite>
I'm not an emacs user :p
<sphalerite>
(yet. Maybe one day.)
<sphalerite>
but for now I use (neo)vim
bennofs has joined #nixos
zeus_ has joined #nixos
zeus__ has joined #nixos
zeus___ has joined #nixos
okgood has joined #nixos
nixer has joined #nixos
zeus_ has quit [(Ping timeout: 246 seconds)]
sellout- has joined #nixos
<LainuxUser>
How big are the jumps from one stable release to the next? Do i need to allocate a weekend for fixing/porting stuff?
zeus__ has quit [(Ping timeout: 246 seconds)]
<okgood>
currently trying to install a package from a local .nix file per van der berg's guide, replacing the package list with "with import <nixpkgs> {};"
<okgood>
once it hits any x libraries in makeLibraryPath, the build fails, claiming the variable is undefined (e.g. "undefined library "libX11" at _____")
<okgood>
is this because these are xorg libs? do i need another import statement to gather those up?
<jasom>
does the NixOS install CD enable a serial console? I've got a headless machine I'd like to install to; if I have to drag a monitor and a keyboard over to it I will though.
civodul has joined #nixos
taktoa has quit [(Ping timeout: 240 seconds)]
<sphalerite>
jasom: I'm not sure it does, but you can build one that does
<jasom>
sphalerite: at that point I'll just build one with ssh enabled
<sphalerite>
or have an SSH console, for that matter, which IMHO is nicer :D
<tilpner>
Or just take any other OS with a serial console enabled, install Nix onto that, then install NixOS
<jasom>
tilpner: you can install NixOS from Nix?
<tilpner>
Yes
<sphalerite>
hm, the ARM images seem to have serial consoles enabled but I'm guessing this is not an ARM machine :p
<jasom>
well I've got Nix on it already, I'm running zfs, so I can just create a new root and install to that
<sphalerite>
even better :D
<jasom>
(It's an aforementioned gentoo machine)
nh2 has quit [(Ping timeout: 255 seconds)]
<sphalerite>
(not sure if this is the most direct way but it's worked for me in the past) so create your root, write the nixos config, then nix-build -I nixos-config=path/to/configuration.nix '<nixpkgs/nixos>' -A config.system.build.topLevel
<sphalerite>
then you should be able to use result/sw/bin/nixos-install
<sphalerite>
like from a live system
<sphalerite>
NixOS is awesome.
<sphalerite>
(zfs is too, for that matter)
nh2 has joined #nixos
U007D_ has joined #nixos
<nixer>
Is there a flag I can pass nix-* to ignore broken packages?
<sphalerite>
nixer: the environment variable NIXPKGS_ALLOW_BROKEN=1
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] rycee opened pull request #29131: Fix gst-python's pygi overrides dir (master...fix/gst-python) https://git.io/v5KbW
NixOS_GitHub has left #nixos []
<sphalerite>
not a flag, but that should still do what you want :)
<sphalerite>
catern: khal seems pretty nice
<nixer>
sphalerite: Thanks, do you know if that is documented anywhere? Is there a similar one for unfree licenses?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to master: https://git.io/v5Kbz
<NixOS_GitHub>
nixpkgs/master 9e142e5 Daiderd Jordan: bigloo: use default stdenv
<ixxie>
freeman42x: well these are in the home folder
U007D_ has quit [(Quit: Konversation terminated!)]
<sphalerite>
freeman42x: depends largely on your desktop environment. If you're using a fully-featured one like KDE or GNOME I'd go with desktop entries
<freeman42x>
sphalerite, I'm using XFCE currently, should I use desktop entries?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] FRidh pushed 2 new commits to master: https://git.io/v5KxY
<NixOS_GitHub>
nixpkgs/master 4978b20 Spencer Baugh: pythonPackages.linuxfd: init at 1.4.4
<NixOS_GitHub>
nixpkgs/master 8bad0a7 Frederik Rietdijk: Merge pull request #29090 from catern/master...
<ixxie>
freeman42x: I have been looking for a neat way to do this for a while now, if you find an elegant solution let me know
<ixxie>
my dream is something like devilspie2 integrated into nixos as a set of options
<sphalerite>
FWIW you can assign applications to specific workspaces in i3 :p
<ixxie>
yeah, and in other tiling window managers too
<ixxie>
but I donno about that
nh2 has joined #nixos
<ixxie>
I like my floaty windows
revtintin has quit [(Ping timeout: 240 seconds)]
aanderse has quit [(Remote host closed the connection)]
jellowj has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] zimbatm deleted terraform-plugins-all at 0bd7b21: https://git.io/v5Khv
NixOS_GitHub has left #nixos []
<freeman42x>
are the autostart and autostart-scripts folders under ~/.config not what I am looking for?
nh2 has quit [(Ping timeout: 240 seconds)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to master: https://git.io/v5Kjv
<NixOS_GitHub>
nixpkgs/master 76437e5 Daiderd Jordan: gsc: fix darwin build
NixOS_GitHub has left #nixos []
U007D has joined #nixos
<edef>
copumpkin, fpletz: thanks for pushing on my PR <3
<copumpkin>
np! I don't feel qualified to actually merge it myself since I'm not super hardcore on NixOS :P
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to release-17.09: https://git.io/v5KjW
<NixOS_GitHub>
nixpkgs/release-17.09 18f6996 Daiderd Jordan: gsc: fix darwin build...
NixOS_GitHub has left #nixos []
<mpcsh>
hey all, anyone else use nautilus without the rest of gnome?
<mpcsh>
it won't let me change options :(
reinzelmann has quit [(Quit: Leaving)]
<U007D>
Hi, I have a NixOS install which I would like to be a host for VM installations. My first guest OS will be a NixOS VM. (The second will be a Windows VM.) To questions: 1) Can I use `nixos-container` for my NixOS guest if I want full graphics support? 2a) If yes, how to launch to the guest's desktop? 2b) If no, can I use KVM (w/PCI passthrough?) to achieve this goal?
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] MP2E pushed 2 new commits to master: https://git.io/v5Kjj
eacameron has quit [(Remote host closed the connection)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] matklad opened pull request #29132: lxqt-session: fix the build (master...lxqt-session) https://git.io/v56vz
NixOS_GitHub has left #nixos []
jellowj has joined #nixos
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] elitak opened pull request #29133: ipfs: workaround for upstream bug; other small fixes (master...ipfs) https://git.io/v56v1
NixOS_GitHub has left #nixos []
pie_ has joined #nixos
silver_hook has quit [(Ping timeout: 240 seconds)]
ShalokShalom has quit [(Remote host closed the connection)]
predkambrij_ has quit [(Remote host closed the connection)]
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to master: https://git.io/v56fY
<NixOS_GitHub>
nixpkgs/master 25f74ec Daiderd Jordan: c3d: fix darwin build
NixOS_GitHub has left #nixos []
NixOS_GitHub has joined #nixos
<NixOS_GitHub>
[nixpkgs] LnL7 pushed 1 new commit to release-17.09: https://git.io/v56fG
<NixOS_GitHub>
nixpkgs/release-17.09 8210e2a Daiderd Jordan: c3d: fix darwin build...
NixOS_GitHub has left #nixos []
<lluchs>
U007D: KVM will work if your hardware supports it, I guess
<lluchs>
If you have some recent Intel GPU, you may get GVT-g to work
sellout- has quit [(Quit: Leaving.)]
nixer has quit [(Ping timeout: 260 seconds)]
<U007D>
lluchs the h/w should--I'm setting up an AMD Threadripper with a 1080Ti. I've not turned up much creating a KVM-hosted NixOS installation. Are you aware of any pointers which might help?
<bbarker>
hmm ... sorry for multipaste, x2go wasn't showing the multiple pastes
<bbarker>
U007D, I think I read that for GPU passthrough you actually need a spare GPU ... maybe you knew that
<U007D>
bbarker yes. I do want to try the host as headless but I have a spare junker GPU around here that I could use to keep the host from freaking out.
ixxie has joined #nixos
FRidh has quit [(Quit: Konversation terminated!)]
<ixxie>
uurgh
<ixxie>
still those black screens on rebuild
<ixxie>
anybody else get that?
pie_ has quit [(Ping timeout: 248 seconds)]
<U007D>
bbarker thanks for the heads up re: IntelliJ. My main IDE is CLion, so once I get the VM up and running, I'm planning to install it.
<ixxie>
whats up with intellij?
<U007D>
bbarker if you want me to try to repro on a real install (my NixOS host is pristine and bare metal), LMK. I can always --rollback afterward, which is *so* nice. :)
pie_ has joined #nixos
<freeman42x>
is there a nixos way to start a program minimized (from the .desktop file)?
<mpcsh>
freeman42x: doesn't the DE manage that?
<freeman42x>
hmm, I see I can use `NoDisplay=true` in the .desktop file... I wonder what that will do
<freeman42x>
mpcsh, I'm using XFCE and I don't know how :)
<ToxicFrog>
That's an XFCE question, though, not a Nix question -- it'll be the same on NixOS and not-NixOS
<freeman42x>
ToxicFrog, ah, I see what you mean, correct
<bbarker>
U007D, sure that would be great! the scala-default.nix should be all you need to get up and running.
jellowj has quit [(Ping timeout: 248 seconds)]
jellowj has joined #nixos
<ixxie>
U007D, bbarker - you guys work with scala on nixos?
<ixxie>
do you use sbtix too?
<teozkr>
U007D: I'm running NixOS as both hosts and guests on my two-node libvirt setup
<bbarker>
ixxie, i use Scala - I am trying to use nixpkgs and maybe eventually nixos itself more
<teozkr>
each VM is managed by a systemd service that creates the disk if needed, builds the libvirt config, and starts the VM
<bbarker>
have to run for now, thanks all, be back tonight I expect
<lluchs>
under environment.variables I have GIO_EXTRA_MODULES = "${pkgs.glib_networking.out}/lib/gio/modules:${pkgs.gnome3.dconf}/lib/gio/modules:${pkgs.gvfs}/lib/gio/modules";
hiratara has joined #nixos
<lluchs>
the last part with gvfs is probably enough
<mpcsh>
lluchs: nice, lemme try that
lejonet has joined #nixos
<lluchs>
looks like this is only set if you get the whole DE and not if you just install nautilus/pcmanfm/etc
<mpcsh>
lluchs: that worked! thanks!
<lluchs>
:)
freeman42x has quit [(Read error: Connection reset by peer)]
freeman42x has joined #nixos
aanderse has joined #nixos
gnuhurd has joined #nixos
gnuhurd has quit [(Remote host closed the connection)]
<NixOS_GitHub>
[nixpkgs] teh opened pull request #29136: This is for zero hydra failures. (master...master) https://git.io/v56Yi
NixOS_GitHub has left #nixos []
<sphalerite>
https://twitter.com/floralcode/status/906244341374476288 I love having a "fuck go back" button. Maybe I should relabel one on my keyboard to literally be that and have it bound to nixos-rebuild switch --rollback. :D
<sphalerite>
mpcsh: install dconf into your environment and nautilus should preserve its options. You may need to log out and back in to get your dbus session daemon restarted
ixxie has joined #nixos
<sphalerite>
oops just saw you worked that out already
takle has quit [(Remote host closed the connection)]
hamishmack has joined #nixos
silver_hook has quit [(Ping timeout: 240 seconds)]
sellout- has joined #nixos
eacameron has joined #nixos
eacameron has quit [(Ping timeout: 246 seconds)]
nh2 has joined #nixos
<U007D>
I'm looking for documentation on the `virtualisation` keyword (I'm trying to learn how to configure a VM using KVM/QEMU). Anyone know where I can find documentation?
<freeman42x>
any ideas if there is a package for Mono JIT compiler version 4.6.1 ? the one I have installed is 4.6.0 and the bug I am having was fixed in 4.6.1
<U007D>
ixxie the article you're hoping to finish this w/e is on virtualization?
<freeman42x>
ixxie, I see, it might be easy to add, right? seems like the common bits are put in other files
<freeman42x>
ixxie, I ended up using .desktop files inside ~/.config/autostart/
<ixxie>
U007D: no, its about NixOS
<ixxie>
U007D: the NixOS wiki has no complete article on NixOS xD
<freeman42x>
ixxie, is it difficult to test a new Nix expression?
<ixxie>
freeman42x: your nixos configuration is a nix expression
<U007D>
ixxie ah--that's a good thing to fix! :)
<freeman42x>
ixxie, I know but what I'm asking is... what would I need to do to try custom nix expressions? Say I want to create a Nix expression for Mono 4.6.1
<freeman42x>
I clone the git repository and add a file for that mono version, but how do I test it?
<ixxie>
freeman42x: these describe how to contribute to nixpkgs but you can use this to clone the package and modify it
<ixxie>
freeman42x: there should be something on testing too
<ixxie>
but honestly I have never done this myself
<ixxie>
my understanding is you can just nix-build the expression and then run the bin in the /result folder
<freeman42x>
ixxie, thank you
<ixxie>
freeman42x: yeah thats what the testing section of the first link describes
<ixxie>
that one seems very good ^^
<ixxie>
good luck!
<ixxie>
im off to bed now
<ixxie>
have a good one
aanderse_ has joined #nixos
ixxie has quit [(Quit: Lost terminal)]
aanderse has quit [(Ping timeout: 260 seconds)]
<pxc>
hey all! does anyone know a good guide for examining existing binaries to figure out how to package them with Nix? I've seen packages that do it in Nixpkgs but it doesn't reveal much about the process
erictapen has quit [(Ping timeout: 240 seconds)]
earldouglas has quit [(Ping timeout: 246 seconds)]
<MP2E>
basic overview is to create a libPath of your dependencies, pass it to patchelf to patch your binary, and generally if it requires files in the same folder, move it to its own folder in /opt/program-name
<MP2E>
wrapping is sometimes required too. for instance, in this case, patchelf determines that Discord does not need libcxx or pulseaudio and strips out their references
<MP2E>
but this is not true in this case! Discord needs libcxx at runtime, and pulseaudio is needed at runtime to work around a particularly nasty upstream voice chat bug
<MP2E>
so adding them to the LD_LIBRARY_PATH manually with the wrapper fixes this.
<MP2E>
kinda a lot to take in, so if you have some questions let me know
Fendor has quit [(Quit: Leaving)]
<jasom>
pxc: create an expression that extracts the binary and runs whatever installer, then run nix-build on it and see if it "just works"; fix each issue as they come along (often #! with references to /usr and insufficiently patched ELF files come up)
<pxc>
MP2E: thank you! I will. Do you have an email address or GH account or where should I find you? My workday is almost over and I'll probably be working on this tomorrow
<pxc>
jasom: thanks
<MP2E>
MP2E on github, crayelliott@gmail.com for my email, will also most likely be on here tomorrow
<pxc>
great. I definitely will. I'm pretty excited about Nix stuff right now because I'm set to give a presentation on it at work the week after next
python476 has quit [(Ping timeout: 248 seconds)]
<pxc>
around that time we're taking some time to allocate work on our internal tools and processes, in large part with the aim of improving our deployment process
<jasom>
pxc: LD_LIBRARY_PATH and patchelf have very different behaviors at run time due to LD_LIBRARY_PATH being inherited by any exec/spawn/&c. and patchelf working even if executables are run in a clean environment
<pxc>
I want to demo Nix before that, and I want to include some proprietary tools we use in the demo
<MP2E>
yeah my rule of thumb is to avoid wrapping the executable if possible, just patchelf works most of the time
<MP2E>
sometimes you get those executables that refuse to behave though :P
gnuhurd has quit [(Ping timeout: 240 seconds)]
<jasom>
particularly executables that use dlopen() with absolute paths :(
<MP2E>
indeed!
<pxc>
jasom: right. Some of our configs at work are kinda broken imo, for related reasons. One of our servers has an LD_LIBRARY_PATH hack in /etc/bashrc and it breaks a lot of Nix stuff, probably including most wrappers since that's what they're for.
hamishmack has quit [(Quit: hamishmack)]
<jasom>
pxc: I hope you already know about readelf and ldd; strace() is your friend for when those two tools don't work
<pxc>
it's not a prod server or anything, and the fix is just to unset LD_LIBRARY_PATH, since it's not used for anything mission critical, but it was an annoyance which revealed that LD_LIBRARY_PATH stuff in Nix is much more breakable than the rest
<jasom>
s/strace()/strace (I don't know why I put parens there)
<pxc>
jasom: I've only used ldd. strace output overwhelms me and I'm not sure what to do with it but I'm sure I can learn. What is readelf for?
<jasom>
pxc: actually patchelf has 99% of what you would want readelf for and has simpler output so perhaps use that instead
<jasom>
options of note for patchelf include: --print-interpreter --print-rpath --print-needed
<pxc>
ok, I'll keep that in mind and start with patchelf rather than readelf
<jasom>
pxc: "strace -e trace=open" is your friend
<jasom>
that only shows open syscalls
<jasom>
and the dynamic loader usually tries to open a .so file as its first operation (rather than trying to stat it first)
<jasom>
pxc: oh and don't forget to pass -f to follow forking processes with strace
<pxc>
k. The target package is some horrible proprietary VPN client which is only built for Ubuntu and RHEL