<clever>
keithy[m]: basically, you build a kernel+initrd+bash-script with nix, copy it to another machine, and run the bash script
<clever>
it will basically then boot the livecd, without needing any cd/usb
<{^_^}>
[nixpkgs] @lovesegfault closed pull request #75143 → Thunderbird: Wayland support and version bump → https://git.io/JeyyC
<keithy[m]>
but if you used that to do an install over the top I cant see that working... but it could be on a usb hmm
<clever>
keithy[m]: why wouldnt it work?
<keithy[m]>
note installing on old imac so cant boot form usb
<clever>
keithy[m]: the kexec script i linked above, will copy the entire nixos rootfs to ram before "booting"
<clever>
so it doesnt care what you do to the hdd
<keithy[m]>
ok...
<keithy[m]>
I might just try it, sounds "fun"
<notgne2>
the kexec method is honestly simpler most of the time, you generate it on any other computer, then you just upload the script to your target machine, which will do all the work of rebooting into a liveCD for you, it doesn't matter what's on your system as the liveCD will just run from memory, you can of course at that point just format your hard drive or whatever you want
<keithy[m]>
what abot the config?
<clever>
once you ssh back in, it will behave just like the normal livecd
<clever>
so you can just partition, format, mount, nixos-generate-config, edit, nixos-install
<notgne2>
when you generate your kexec script, you write a NixOS config for it, normally you can just go for something minimal like adding your SSH keys or whatnot, then once you're booted in you can install as usual
boogiewoogie has quit [Quit: Leaving]
<notgne2>
iirc the default config is also just fine for local installs
<clever>
but if it can find a /ssh_pubkey on the host, when you run the kexec script, it will paste that into /root/.ssh/authorized_keys
<simpson>
In the standard NixOS install, there's also a copy-to-RAM option in the boot menu now. I've used it recently and it works perfectly for being able to remove the boot media while running.
<clever>
so you can customize the key, after making the tarball
<clever>
simpson: yep, that works when the bios supports usb booting
<clever>
simpson: 2019-12-08 23:12:51 < keithy[m]> note installing on old imac so cant boot form usb
mexisme has quit [Ping timeout: 268 seconds]
<simpson>
clever: Oh, TIL. I had figured that it would be available on CDs, too.
<keithy[m]>
ok so this ./configuration.nix
<clever>
simpson: it should work on CD's too, but then you have to burn a cd
<clever>
i dont even have a cd drive in any of my functional machines
<notgne2>
clever: btw, I have a pretty old device with 64MB RAM, do you think I could get not-os running on it? or is it not that lightweight
<simpson>
clever: Ah, a cultural difference. I'm a (former?) musician, and I have a lot of ambient equipment for doing stuff like CD archival.
<clever>
notgne2: not-os would probably run on 64mb of ram, might want to tweak the boot order a bit though, to leave the rootfs on disk, rather then copying to ram
<clever>
simpson: i did go thru a phase where i was ripping every single cd in the house, but at this point, its faster to just pirate it, rather then find the physical copy on a shelf, then re-install a cdrom drive, lol
<clever>
infact, with my download speed, i could probably download an entire album faster then i could rip a cd
<notgne2>
I'll give that a try soon then, I imagine that's probably the easy part though as I'm not sure what kernel versions and capabilities this device can deal with (Nokia N770)
<simpson>
clever: Right. I know that feeling, but some CDs I have are not going to be available in that way, especially old recordings of mine.
<clever>
simpson: yeah, that kind of thing needs rips
juxiemaotu has joined #nixos
buckley310 has joined #nixos
<keithy[m]>
so Im looking for a minimal configuration.nix
<clever>
keithy[m]: nixos-generate-config will create one for you
<keithy[m]>
but it doesnt run on the target machine
<keithy[m]>
it wanted sudo
<clever>
the kexec gives you full nixos, with real root and nixos-generate-config in $PATH
<juxiemaotu>
keithy[m]: are you speak to me?
<clever>
so after you kexec, you can treat it like a normal livecd boot
<clever>
that 1st configuration.nix, is the config for the kexec system
EdLin has joined #nixos
<keithy[m]>
ok...
<clever>
keithy[m]: just clone that repo, cd into kexec, add your ssh pubkey to the existing configuration.nix, and run the commands you see in `session.md`
jboy has joined #nixos
<keithy[m]>
thx, sorry I was being thick.
<keithy[m]>
for some reason I thought that was just a snippet, rather than part of something like a repo
<clever>
i could rename the files some, others have had the same issue
<keithy[m]>
ok I am pointing at nixos-19.09 channel and thought I would build git for a laugh it failed, expecteD?
<simpson>
No, git normally works. How did it fail?
<keithy[m]>
builder for '/nix/store/f651bcc1vxdf0zkdjjghm202gvz7fnw9-shell.drv' failed to produce output path '/nix/store/d094jdhh0qqlnxzky0j8hcy26yvlllsy-shell'
Taneb has quit [Quit: I seem to have stopped.]
<clever>
keithy[m]: what command did you run?
<lovesegfault>
worldofpeace: thanks for the review :)
LLED2_3 has quit [Ping timeout: 250 seconds]
Taneb has joined #nixos
<keithy[m]>
nix-build -p git
<keithy[m]>
i'm in a chroot
<clever>
keithy[m]: thats invalid, you want `nix-shell -p git`
<keithy[m]>
I didnt want a shell
<clever>
keithy[m]: then nix-build '<nixpkgs>' -A git
monotux has quit [Quit: WeeChat 2.6]
<keithy[m]>
ok thx, such a noob!
<clever>
nix-build -p shouldnt even try to build it
<clever>
id say thats a bug
monotux has joined #nixos
<keithy[m]>
a helpful noob!
m0rphism has quit [Ping timeout: 268 seconds]
EdLin has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<keithy[m]>
ok, now git is already installed in /usr/bin/git
<keithy[m]>
how do I find the one I just built
<clever>
keithy[m]: ls -l result
<keithy[m]>
so its not in my path by default
<clever>
correct, nix-build just builds things
<clever>
nix-env adds them to your profile
<simpson>
keithy[m]: It would be, if you were to use nix-shell, but only for the duration of that shell.
<clever>
nix-shell adds it to PATH without installing it
<keithy[m]>
though I can see a few people spluttering their coffee when I deliver nix as a solution!
<keithy[m]>
man
<keithy[m]>
yay!
drewr has joined #nixos
<keithy[m]>
what was that locate command again?
<clever>
,locate
<{^_^}>
Use ,locate <filename> to find packages containing such a file. Powered by nix-index (local installation recommended) https://github.com/bennofs/nix-index
<simpson>
IMO Nix really does go best with NixOS, just because it means fewer moving parts trying to manage the ingredients of the user profile. What features of Fedora are you hoping to use?
<keithy[m]>
well basically since openshift is built on it..
<keithy[m]>
but they are lacking a super-privileged container layer
<keithy[m]>
in between containers and the ro-os
<simpson>
NixOS has Kubernetes service modules, although I have zero idea how well they work.
<keithy[m]>
So I have added suppport for systemd portable services
<simpson>
I'm seriously tempted to try building one of those Raspberry Pi Kubernetes clusters for the holiday break, though.
<worldofpeace>
lovesegfault: np, will review more 👍️
<keithy[m]>
so now I have a safe chroot environment on top of fedora core os, wondered what I could do with it and needed a package manager that was nice and fast!
<keithy[m]>
and safely isolated
orivej has quit [Ping timeout: 240 seconds]
<keithy[m]>
however youguys might convert me totally.
<simpson>
Hm. I wonder how useful nixos-enter could be for you. It's normally only useful as a rescue utility.
<keithy[m]>
I'm going for a job that has asked me to write a presentation on how I would manage 200+ interdependent windows MSIs
<keithy[m]>
its probably much the same as my shell
<keithy[m]>
FCOS is setup with ignition (their version of configuration.nix, I wrote a shell that does the chroot stuff.
<keithy[m]>
so you add a user, asign it a shell and they get safe root access
<keithy[m]>
all I have to do is add a /nix to that shell
<keithy[m]>
* I'm going for a job that has asked me to write a presentation on how I would manage 200+ interdependent windows MSIs (unrelated comment, but thats how I founf nix)
<keithy[m]>
* I'm going for a job that has asked me to write a presentation on how I would manage 200+ interdependent windows MSIs (unrelated comment, but thats how I found nix)
<clever>
keithy[m]: everything else you already had in nix-env
<keithy[m]>
meaning it has 592 dependencies?
orivej has joined #nixos
<clever>
keithy[m]: it has a total of 592 files
<clever>
keithy[m]: probably the man pages
nexgen has quit [Ping timeout: 240 seconds]
Supersonic has quit [Disconnected by services]
Supersonic112 has joined #nixos
Supersonic112 is now known as Supersonic
<keithy[m]>
ok, thats all the executables in the store im understanding thx
<rotaerk>
hmm, my laptop's resolution is too high for text to be easily read... I think this means I need to reduce my DPI, though I'm not really clear on how
<rotaerk>
for one, what's the difference between services.xserver.dpi and fonts.fontconfig.dpi
<rotaerk>
also, how do I know what actual DPI I should use? in Windows it's just 2x scaling
<lovesegfault>
worldofpeace: Can nix-build just re-do one step
<lovesegfault>
it's annoying that if I change something in postFixup I need to rebuild everything
<o1lo01ol1o>
where can I look to understand how mkderivation decides what outputs of the build step should be put on the path?
<keithy[m]>
ok, so the kexec is sent to the target machine and it too has a locked own /nix
<clever>
keithy[m]: you can unpack the tar to elsewhere, read the bash script, and then use the kexec tool already installed into the host
<clever>
its a little more manual, but should still be possible
<lovesegfault>
worldofpeace: Integrated some stuff from that PR, and asked for a suggestion on how to simplify the huge line
<lovesegfault>
by which I mean:
<lovesegfault>
"--enable-default-toolkit=cairo-gtk${if gtk3Support then "3${lib.optionalString waylandSupport "-wayland"}" else "2"}"
<clever>
keithy[m]: should work...
<CMCDragonkai>
If I use services.openssh.hostKeys, how do I ensure that the key files are really there, and they are not world readable in the NixOS store?
<clever>
keithy[m]: oh, what command did you run, to get that error?
<keithy[m]>
ok think I missed some quotes
<keithy[m]>
file 'nixos-config' was not found in the Nix search path (add
<clever>
keithy[m]: what command did you run to get that error?
<keithy[m]>
"nix-build '<nixpkgs/nixos>' -A config.system.build.kexec_script -I configuration.nix -Q -j 2
<clever>
keithy[m]: it was -I nixos-config=./configuration.nix
<keithy[m]>
duh!
Acou_Bass has joined #nixos
<keithy[m]>
ok
<keithy[m]>
kexec_load failed: Operation not permitted
<keithy[m]>
I guess I have to go native at this point, hmm
<clever>
keithy[m]: you have to run kexec as real root
<clever>
which is why i said to just read the kexec script, and run the host kexec with the same args
<CMCDragonkai>
anybody got advice on how to generate persistent host keys no matter what?
<clever>
CMCDragonkai: just let /etc/ persist?
<CMCDragonkai>
it doesn't seem to work
<CMCDragonkai>
clever: every time i rebuild my nixos machine with netboot
<CMCDragonkai>
the host key is different
<clever>
CMCDragonkai: the netboot image doesnt let /etc persist
<CMCDragonkai>
its a netboot machine
<CMCDragonkai>
yea
<CMCDragonkai>
that's what i meant
<clever>
CMCDragonkai: it mounts a tmpfs to /
<clever>
CMCDragonkai: youll need to make a variant of it, that does something different
<CMCDragonkai>
so i want to fix persistent host key the
<CMCDragonkai>
according to the nixos config, it will generate the host keys if those host key paths do not exist
<clever>
CMCDragonkai: you can use environment.etc to supply static files, but they will be world-readable in /nix/store
<CMCDragonkai>
but if they do exist, it won't genrate it
<CMCDragonkai>
clever: is there still no progress on nix/nixos store secretes?
felixfoertsch23 has quit [Quit: ZNC 1.7.3 - https://znc.in]
felixfoertsch has joined #nixos
<clever>
CMCDragonkai: none as far as i know
<clever>
CMCDragonkai: another option is to modify the netboot stuff, so it has a persistent local partition mounted to /, for state
gerschtli has quit [Quit: WeeChat 2.6]
<CMCDragonkai>
I actually do this already
gerschtli has joined #nixos
<CMCDragonkai>
I have `/srv` provided as persistent
<CMCDragonkai>
You mean to modify `hostKeys` to point to `/srv` so it's a persistent location?
<CMCDragonkai>
THat's interesting
<clever>
CMCDragonkai: one min
<CMCDragonkai>
but again TOFU, I was intending to actually sign my ssh keys with my SSH CA
<lovesegfault>
worldofpeace: Should I add an assert that waylandSupport = true <=> gtk3Support = true?
<CMCDragonkai>
so it would require me to generate the keys aheado f time
<lovesegfault>
Also: How to do asserts in Nix?
<clever>
CMCDragonkai: i think you can do "ssh/ssh_host_rsa_key" = { mode = "0600"; source = "/srv/something"; };
<clever>
CMCDragonkai: the setup-etc.pl script, expects "${source}" to mutate into a /nix/store path, and will just blindly symlink /etc/ssh/ssh_host_rsa_key to "${source}"
<worldofpeace>
lovesegfault: yep, though the operators in nix are a bit different
<worldofpeace>
though
<clever>
CMCDragonkai: if that happens to be a regular string, then it will wind up impurely pointing to something nix wasnt managing, like /srv/!
<worldofpeace>
I did mention we could do away with the gtk3Support option entirely lovesegfault
<lovesegfault>
worldofpeace: FF still has it, which is why I kept it
<lovesegfault>
I don't want the builds to go astray since I know andir puts a lot of work into keeping FF in good shape
<lovesegfault>
so TB should be able to just use *cough*steal*cough* that work
NoctisLabs has quit [Quit: WeeChat 2.6]
<worldofpeace>
Ah, just looked at the expression. I agree, it would be nice if they're consistent
<lovesegfault>
:)
<lovesegfault>
worldofpeace: Fixing, trying to find how to do asserts
<worldofpeace>
lovesegfault: looks like eval is proceeding well. hmm, this package might take 2+ hours to build
<keithy[m]>
ok, now I am feeling lucky
cdepillabout has joined #nixos
<cdepillabout>
Is there an environment variable you can set that makes nix-build or nix-shell ignore the broken = true; metadata and try to build anyway?
<colemickens>
I changed something and now I'm getting stack overflows: error: stack overflow (possible infinite recursion)
<colemickens>
Any tips on how to debug/troubleshoot/resolve this? This is a new one for me.
<lovesegfault>
worldofpeace: Probably, it takes quite a bit locally
<keithy[m]>
do I have to worry about collision between messages
cab72 has joined #nixos
orivej has quit [Ping timeout: 265 seconds]
justanotheruser has quit [Ping timeout: 268 seconds]
<angerman>
Can I set the applications available to a user in their environment?
<lovesegfault>
angerman: What do you mean by that?
<lovesegfault>
You may be looking for `nix-env`
<lovesegfault>
or `nix-shell`
<angerman>
lovesegfault: so I have a user for a service I'm running, but I want that service to have some system tools available at runtime.
<angerman>
lovesegfault: so the idea was to just inject them into the default search path that user has.
<lovesegfault>
angerman: You probably want those to be propagatedBuildInputs of the service derivation
<keithy[m]>
so when nix-build multi-boot-helper.nix is there anywhere to put an sshkey?
<angerman>
lovesegfault: so propagatedBuildInputs will be available at runtime?
<{^_^}>
[nixpkgs] @worldofpeace opened pull request #75344 → libnotify: propagate glib and gdk-pixbuf → https://git.io/JeSVI
<clever>
angerman: propagatedBuildInputs is only at build time, as far as the stdenv is concerned
<angerman>
clever: right... so what I really want I guess, is build a shell wrapper, that includes all the runtime tools.
<clever>
angerman: but in some cases (python), it will be used to populate PYTHONPATH (at build time), and then that PYTHONPATH value may get baked into scripts
EdLin has quit [Quit: WeeChat 2.6]
<angerman>
clever: I need cabal and ghcjs in path for my executable :-)
<clever>
so things can leak out into runtime, if you choose to
<clever>
angerman: i would just use wrapProgram to prefix PATH
* lovesegfault
apparently still doesn't get the difference between buildInputs and propagatedBuildInputs
<keithy[m]>
clever: sorry to disturb... when nix-build multi-boot-helper.nix is there anywhere to put an sshkey?
<clever>
lovesegfault: when the stdenv is starting up, it will loop over every path in $buildInputs, sort of like: for x in $buildInputs; do
<clever>
lovesegfault: it will then add -I$x/include to the cflags, -L$x/lib to the LDFLAGS
<clever>
lovesegfault: it will then look for a $x/nix-support/propagaed-something file, and if present, it will behave as-if the paths within it where already in $buildInputs, and repeat the above
<clever>
angerman: this will rename $p (lets call it foo), to .foo-wrapped, then generate a bash script called foo, which prefixes PATH, then runs .foo-wrapped
<lovesegfault>
clever: So the only way to enforce X be in PATH for Y is to wrap Y and append PATH in the wrapper?
<angerman>
clever: so pretty much like setting `PATH` in the environment value?
<angerman>
just implicit
<clever>
lovesegfault: there is also propagatedUserEnvPkgs (or is it propagatedUserEnvPackages), which will force nix-env to install other things along side your thing
<clever>
lovesegfault: but that will instantly fail when you do nix-build && ./result/bin/foo, and it hasnt been installed by nix-env
hyper_ch2 has joined #nixos
<clever>
lovesegfault: it also silently collides, and causes all kinds of conflicts (exactly what nix is supposed to prevent)
<clever>
lovesegfault: if you install wpa_gui, and wireshark, from different nixpkgs revs, they request conflicting versions of QT
<clever>
lovesegfault: propagated-user-env-packages will then put one of those into ~/.nix-profile, breaking whichever package didnt get what it wanted
<lovesegfault>
🤯
<clever>
lovesegfault: worse still, if you nix-env -iA any qt package, then later nixos-rebuild --upgrade, and your using KDE, the ENTIRE BLOODY KDE will break upon login
EdLin has joined #nixos
<clever>
lovesegfault: so, every time you try to login, it fails, and drops you back to the login screen
rauno has joined #nixos
<lovesegfault>
clever: Oh my god
EdLin is now known as EdLin
<lovesegfault>
this is some nightmare shit
<lovesegfault>
ban propagatedUserEnvPackages!
<clever>
lovesegfault: hence, why i always recomend wrapProgram
<luc91>
hello everyody. I installed nixos comming from arch and am now trying to configure awesomewm.
<luc91>
My awesomewm config uses vicious (a lua library for awesome) and I found some options in the docs and packages in nixos and also config snippets across the web which made me think that the following would work:
<keithy[m]>
ok the grub complained about not knowing a server and not having a kernel
<keithy[m]>
but apart form that all good! lol
<luc91>
But when I start awesome I get an error that it can not find the vicious library.
<luc91>
How can I proceed to fix this?
<aterius>
Is there a good way to add a symlink to a file with home-manager? I want to symlink $HOME/dircolors to trapdoor/LS_COLORS that i'm downloading via fetchFromGitHub
<clever>
lovesegfault: and its 4am, was just on my way to bed
<lovesegfault>
clever: Don't worry then, go to sleep :)
<lovesegfault>
I'll figure it out
<clever>
angerman: i believe the aarch64 community box is in packet.net
jgt2 has joined #nixos
<clever>
also, last time i tried to get aarch64 from packet, they where out of capacity
<yorick>
lovesegfault: packet has cheap aarch64 boxes
<yorick>
clever: they have another type now
civodul has joined #nixos
<lovesegfault>
yorick: Cheap is more expensive than I can afford right now, I think
<clever>
angerman: though, i also have stuff graphing the packet.net capacity, and it seems to be available now
<lovesegfault>
let me see
Boko_bebbcea has quit [Read error: Connection reset by peer]
<clever>
yorick: i see signs that c2.large.arm is now available
<clever>
in 5 regions
* lovesegfault
signs up
<yorick>
clever: I'm still waiting for the c3's, that's gonna be a good time
<clever>
yorick: and the c2.large.arm has been available since the very start of me monitoring capacity, it must have happened between trying to test it, and setting up monitoring
* clever
runs off to bed
Boko_gghbhgd has joined #nixos
<lovesegfault>
We couldn't create your account. Please correct the following errors: Current referer is not allowed
<lukego>
Hey is there a trick to set SSID/PSK for a new wifi network manually? I'm trying to connect my NixOS laptop to a hotspot and I can't `nixos-rebuild switch` to update my main nixos config due to the current lack of connectivity.
* lovesegfault
patiently waits for provisioning
<lovesegfault>
thanks for the tip yorick, 50c/h is cheap
jgt2 has quit [Ping timeout: 250 seconds]
ftzm has quit [Quit: WeeChat 1.9.1]
magneticduck has quit [Remote host closed the connection]
ng0 has joined #nixos
<lovesegfault>
Provisioning these packet boxes is SLOW
<magthe>
Anyone around who has a grasp of the Haskell packaging in nixpkgs? I'm confused aobut the `AttrSet` that can be passed to `callHackage` (I'm assuming that's how I can prevent running tests and Haddock etc).
hyper_ch2 has quit [Remote host closed the connection]
<infinisil>
magthe: It takes the same arguments as `haskellPackages.callPackage`
<infinisil>
Or `haskellPackages.mkDerivation`
peanutbutter144 has quit [Ping timeout: 265 seconds]
<yorick>
callCabal2nix for local cabal files, callHackage for things on hackage
__Sander__ has joined #nixos
<infinisil>
magthe: OH hm yeah maybe not
<yorick>
override for things that are options in the package (doesn't apply to generated haskell packages), overrideCabal for overriding things like doHaddock and doCheck
orivej has quit [Ping timeout: 240 seconds]
knupfer has joined #nixos
<magthe>
Yes, yorick, that last suggestion I got in the last round of asking :) so, turning it around and using the `dontX`/`doX` of `haskell.lib` is the way to go
<infinisil>
magthe: Ah! Sorry, the arguments you pass there are haskell packages
peanutbutter144 has joined #nixos
<magthe>
I've only been playing with Nix for a few days and I _really_ miss documentation and a recipe book
<infinisil>
So e.g. if `foo` depends on `aeson` you can do `callHackage "foo" "1.5.3" { aeson = ...; }`
<yorick>
magthe: the haskell stuff will be different in a few months
mexisme has joined #nixos
luc91 has quit [Quit: luc91]
<magthe>
yorick: yes, I did suspect that... though will there be large changes before the next release?
veske has joined #nixos
<lovesegfault>
yorick: I wish packet would let me provision the NixOS box with my config
<yorick>
magthe: no, it'll probably be a flake for the forseeable future
<lovesegfault>
but it is pretty neat
<yorick>
lovesegfault: you can put nix expressions in the configuration attribute
<yorick>
but you'll still get their 19.03
<lovesegfault>
:O
<lovesegfault>
Yeah, that is a shame
<magthe>
infinisil: I probably wasn't stating my intent very clearly.
veske has quit [Quit: This computer has gone to sleep]
<magthe>
So, the next question, also related to haskell packaging. Now I have https://termbin.com/nxoj that builds a working version of ghcide, can I somehow turn that into a full copy of `<nixpkgs>` with `myHaskellPackages` replacing `haskellPackages`? (or is that a patently stupid idea?)
<evils>
i've got a python error of "no module named 'math'" on debian that goes away if i use nix-shell --pure, is there a way to make sure this error doesn't occur when installing the package on debian?
<fendor>
I feel not proficient enough to properly read those journalctl logs
<genesis>
yesterday i'd a freeze on a fresh installed nixos, after doing ssh session too
<keithy[m]>
I am reading through the "pills" documentation, it is very good. but... it doesnt warn you that nix-env -i hello takes ages on a first install of nixos
<Shoubit>
keithy[m], how long is "ages"? It shouldn't take longer than a few seconds, probably.
<fendor>
I wasnt using ssh. github with an ssh key, but no explicit ssh
erictapen has joined #nixos
<keithy[m]>
long enough that I ^C d and added -v to see if it was doing anything
Chiliparrot has joined #nixos
domogled has joined #nixos
<keithy[m]>
ok, second run was 20secs
o1lo01ol_ has joined #nixos
<keithy[m]>
its not a particularly fast mc
<adisbladis>
keithy[m]: Use `nix-env -iA ..`
<keithy[m]>
didnt work
<gilligan_>
Is there any way to figure out what macOS version nix is running on/was compiled for? I have a list of binaries like `*-macos-10.10`, `*-macos-10.11` or whatever and I have no idea how to pick one. Any ideas from anyone?
<keithy[m]>
nix-env -iA hello
<keithy[m]>
error: attribute 'hello' in selection path 'hello' not found
ftzm has joined #nixos
ftzm has quit [Client Quit]
<keithy[m]>
I dream of having a list of binaries 10.11, I couldnt get anything to work under el captian yesterday
<{^_^}>
[nixpkgs] @petabyteboy opened pull request #75358 → mumble: build with pulseaudio support on linux and add petabyteboy to maintainers → https://git.io/JeSPi
<keithy[m]>
so right now the best solution is FCOS +nix
<adisbladis>
fcos?
<gchristensen>
not sure why disk space is such a big deal then
<keithy[m]>
Fedora Core OS
<etu>
keithy[m]: if you deploy images for example, you can build images using nix which can be smaller.
hyper_ch2 has quit [Remote host closed the connection]
<adisbladis>
This ^
<etu>
keithy[m]: Then you don't need a full nixos install
<keithy[m]>
deploy images on to ?
<gchristensen>
and you can build fully static images ready for production
hyper_ch2 has joined #nixos
<keithy[m]>
what do you run the images on?
<etu>
keithy[m]: You mentioned nodes so I assume it's some form of cluster where you deploy stuff
<duairc>
Does nixpkgs know its own revision? Is there a way from with within nix to get the revision of a particular nixpkgs? Something like (import <nixpkgs> {}).revision ?
<keithy[m]>
thats what FCOS is designed for
<keithy[m]>
but I thought nix would be better in many ways
ee194350 has quit [Ping timeout: 268 seconds]
Kritnich has quit [Quit: Bye bye.]
dingenskirchen has quit [Quit: dingenskirchen]
ee194350 has joined #nixos
dingenskirchen1 has joined #nixos
<keithy[m]>
if you install a binary only with its dependencies, then I dont need the whole os
<keithy[m]>
so I didnt expect to find a 4G os
<adisbladis>
keithy[m]: If you're looking at an individual package like you are nix disk usage can looks a bit high.
<betawaffle>
any idea why there doesn't seem to be a manpage for nft installed, even though the package seems to depend on documentation-building tools?
<adisbladis>
keithy[m]: As another data point my _entire_ system closure is 4.9G
<etu>
keithy[m]: But you say that you installed the OS, and then install a binary with it's deps. Then you have an OS before you installed since before you installed this package?
dingenskirchen1 is now known as dingenskirchen
<keithy[m]>
I installed nix
<keithy[m]>
using the multboot helper
<keithy[m]>
so I expected the old os to be wiped
<duairc>
This is the closest I have so far but won't work if <nixpkgs> is not a full git repo: builtins.head (builtins.split "\t" (builtins.readFile <nixpkgs/.git/FETCH_HEAD>))
veske has quit [Quit: This computer has gone to sleep]
<etu>
And did you install nix on some other os or nixos? If it's nixos, how would it be just bash and nix? It has systemd, coreutils, etc.
<duairc>
Ah, <nixpkgs/.version-suffix> seems to do the trick
<gchristensen>
at any rate, no, sorry, NixOS is a full OS capable of being quite minimal and capable of being quite full featured and the default ISO is a middle ground
<keithy[m]>
my config lists netboot minimal
<keithy[m]>
mulitboot-helper is something clever has, it generates a kernel, an initrd and a grub-fragment pop tem into boot and away you got
<keithy[m]>
* mulitboot-helper is something clever has, it generates a kernel, an initrd and a grub-fragment pop them into boot and away you go
<angerman>
hydra has that "reproduce locally" thing, how does that work?
<gchristensen>
look at the script it gives you :)
<angerman>
AHhhH! Help ... *runs; arms flailing*
<gchristensen>
not sure why you say
<gchristensen>
that
datamats has joined #nixos
<angerman>
And I had hoped for some condensed (optimized) nix expression for that single attribute with all the unnecessary logic and pre-parsing stripped away.
Ariakenom has quit [Quit: WeeChat 2.6]
<gchristensen>
seems complicated
<tilpner>
angerman: Derivations can be transferred and built nicely with all inputs
<angerman>
gchristensen: I see that :-/ would have been nice though.
<tilpner>
angerman: nix-instantiate gets you from a Nix expression to a list of derivations
<tilpner>
angerman: nix-copy-closure works on derivations too
<tilpner>
angerman: nix-build that derivation to get its output(s)
<gchristensen>
hydra doesn't provide .drv files
<betawaffle>
is there an existing helper that tests if a string is empty or consists of only whitespace?
<tilpner>
angerman didn't mention Hydra as a requirement
<gchristensen>
right
datamats is now known as m4ts
cosimone has quit [Quit: Terminated!]
<angerman>
I guess what I really wanted is to compute some nix expression in nix, partially applied, and then just serialize that out.
<gchristensen>
oh my
<gchristensen>
fanc5y
erictapen has quit [Ping timeout: 246 seconds]
<angerman>
so that I could do `nix-build -E '(import <generated expr> $args)'`
<angerman>
guess I should just go back to lisp and die a happy death.
is_null has quit [Ping timeout: 250 seconds]
is_null has joined #nixos
<angerman>
gchristensen: could I have a process in a nix-build running indefinetly? And communicate through some socket?
<gchristensen>
oh dear
jgeerds has joined #nixos
<angerman>
Is that a no? Or more like a please no?
<adisbladis>
angerman: I don't want to help you with this but I get giddy about ugly hacks :) You can abuse fixed-output derivations for this.
<adisbladis>
They break the networking sandbox
<angerman>
adisbladis: I was about to suggest that; as the fixed output could be known ahead of time.
<angerman>
adisbladis: but here's the thing, I don't want to break the sandbox. I want to keep the sandbox.
<gchristensen>
what are you doing, angerman ? :P
<angerman>
adisbladis: it's more like I want to throw something in, and have it throw something out. Let me throw something in again, have it computed in the sandbox and retrieve it back again.
<angerman>
I don't even need it to retain intermediate states... just invoking nix-build adds too much overhead.
<adisbladis>
angerman: You could also use extra-sandbox-paths to break the sandbox more granularly
<gchristensen>
what are you doing
<gchristensen>
help
<gchristensen>
*runs; arms flailing*
<angerman>
gchristensen: if I could warm up nix-build, freeze it, and continue from there over and over again, that would also be neat. Its just that the bootup time is too much.
orivej has quit [Ping timeout: 240 seconds]
* gchristensen
still hopes to get his question answered
<angerman>
gchristensen: ok, I'm building some haskell package with nix-build, but I'm exposing that as a service.
<angerman>
gchristensen: high level compile main module as a service.
<angerman>
gchristensen: .hs -> service -> .exe
<gchristensen>
nice
<angerman>
clever: sniped me with the idea to run this as essentially `nix-build helper.nix --arg file ./file.hs`
kleisli has quit [Ping timeout: 250 seconds]
<angerman>
but helper.nix turns out to be too expensive to boot up.
<angerman>
compared with running `cabal build all` on the source right away, nix-build is 3x more expensive. A lot of time is spent in setting up the proper environement for the build. over and over again.
dingenskirchen has quit [Remote host closed the connection]
dingenskirchen has joined #nixos
<gchristensen>
hm I see
<angerman>
gchristensen: so I'm trying to figure out if there is a way how I could cache the warm up (produce some partial nix function that I could serialize into a materialized-helper.nix would help). Or just keep the sandbox "open" (the irony)... throwing .hs files in and getting .exe files out
<gchristensen>
how much of the nix-build time is sandbox setup, and how much is evaluation?
<angerman>
I'm probably going to try and do some flame graph on it (using the start/stop stuff).
<angerman>
gchristensen: if a regular cabal invocation takes ~3s. The nix-build invocation takes ~10
<gchristensen>
right
<gchristensen>
but for this question, how much of that time is `nix-instantiate`, and then how much time to `nix-store --realize the-drv`
<{^_^}>
#74619 (by ckauhaus, 1 week ago, open): python2.7-python-otr-1.2.0: Test failure: ImportError: No module named zope.interface
ng0_ has joined #nixos
<exarkun>
"stuff is randomly different between eggs and wheels" seems like a plausible, if depressing, explanation
ng0 has quit [Disconnected by services]
ng0_ is now known as ng0
Chiliparrot has quit [Ping timeout: 250 seconds]
<{^_^}>
[nixpkgs] @itsHMR opened pull request #75367 → tigervnc: add perl to buildInputs → https://git.io/JeSy8
zupo has joined #nixos
<angerman>
gchristensen: nix-instantiate default.nix -A 9.75s user 0.61s system 108% cpu 9.585 total; nix-store --realize 2.53s user 0.81s system 45% cpu 7.281 total
<angerman>
gchristensen: comes out about the same during multiple runs.
<angerman>
gchristensen: right, still I'd like to have that in the subsecond range
hyper_ch2 has quit [Ping timeout: 265 seconds]
<angerman>
gchristensen: and the realize part also seems to take ~2s before it even gets to invoke cabal. Guess I'll just have to accept that this won't get any faster if I want to use the sandbox.
<gchristensen>
it could
<gchristensen>
it might be worth adding a feature to Nix to improve this
<angerman>
gchristensen: well, that's for all the help; but this will have to wait at least until tomorrow...
kleisli has joined #nixos
<tilpner>
angerman: You probably already considered this, but I find that instantiation speed depends a lot on how fast the underlying storage is
<tilpner>
That might be a cheaper win than adding thunk serialisation to Nix
<tilpner>
(Although, wasn't thunk caching planned for post-flakes nix?)
<tilpner>
"Keep a local evaluation cache mapping (<flake-closure-hash, <attribute>) -> (<drv-name>, <drv-output-paths>, <whatever other info we want to cache>)."
<tilpner>
That should help, but isn't exactly what you meant
__Sander__ has quit [Quit: Konversation terminated!]
chloekek has quit [Quit: WeeChat 2.6]
Kritnich has quit [Quit: Bye bye.]
Kritnich has joined #nixos
knupfer has quit [Ping timeout: 250 seconds]
ixxie has quit [Ping timeout: 276 seconds]
is_null has joined #nixos
reactormonk has joined #nixos
genesis has joined #nixos
<reactormonk>
I'm getting a wierd error when GHC is trying to load in a .so - can't load .so/.DLL for: /nix/store/pnd2kl27sag76h23wa5kl95a76n3k9i3-glibc-2.27/lib/libpthread.so (/nix/store/pnd2kl27sag76h23wa5kl95a76n3k9i3-glibc-2.27/lib/libpthread.so.0: undefined symbol: __libc_vfork, version GLIBC_PRIVATE - the file mentioned is a linker script. Should the kernel be able to deal with that?
leotaku has quit [Ping timeout: 265 seconds]
leotaku has joined #nixos
<reactormonk>
And if not, who/what handles the whole linker business?
<betawaffle>
where does nano get syntax highlighting definitions from?
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
ixxie has joined #nixos
<srhb>
betawaffle: nano itself.
zeta_0 has joined #nixos
<zeta_0>
hello guys, a couple of weeks ago i purchased a raspberry pi 4 model B and installed raspbian os on it, anyways, when i connected the pi to a tv using hdmi, the one thing that i noticed was that the screen brightness is way to bright, is there a setting somewhere in raspbian where i can adjust the screen brightness?
<betawaffle>
you're saying nano has syntax highlighting for nftables rules files?
<betawaffle>
built-in?
fendor has joined #nixos
<srhb>
zeta_0: Maybe try #raspbian :)
<{^_^}>
[nixpkgs] @vbgl opened pull request #75376 → ocamlPackages.irmin: init at 2.0.0 → https://git.io/JeSQE
<srhb>
betawaffle: Well, not "built-in" as in hardcoded variables, but as in /share/nano/nftables.nanorc, yes
<zeta_0>
srhb: i did(i asked on a couple other channels as well)
<betawaffle>
wow
<gchristensen>
betawaffle: I see what looks liike highlight files in /nix/store/lvwaffzpa99dgmb6hw0xih72j0042r1c-nano-4.4/share/nano
<gchristensen>
including a /nix/store/lvwaffzpa99dgmb6hw0xih72j0042r1c-nano-4.4/share/nano/nftables.nanorc
<gchristensen>
hmm, we should write a nix nanorc!
<betawaffle>
it already exists
<srhb>
gchristensen: It's already in the nanorc package.
<srhb>
And included in our nano package. :)
<srhb>
Oh, that's actually a lie, we include that one out-of-band.
<IiiiiiiiL2>
Hi. I have some problem with nixos on VirtualBox. I am no using ovd image. I'm tring to install it by myself. But I can't change display resolution. My cfg https://pastebin.com/Q3MZTVyf
kahiru has quit [Read error: Connection reset by peer]
<chrisaw>
I'm trying to create a Nix package for VMWare Workstation but having a problem - patchelf is causing an error on one of the binaries - "maximum file size exceeded". I see others have worked around this by hacking patchelf itself but is there a correct way to handle this situation? I actually want to submit my package to nixpkgs so don't want a janky hackjob. :)
kahiru has joined #nixos
<chrisaw>
Well, I suppose it's always going to be a bit of a hack getting proprietary software running on NixOS but you know what I mean - don't want to make it any more hacky than is necessary! :)
<ajs124>
chrisaw: You could go with buildFHSUserEnv instead of patchelf
boogiewoogie has quit [Remote host closed the connection]
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/JeS7R
<chrisaw>
ajs124: That's likely a very good idea - cheers for the heads up!
v88m has quit [Ping timeout: 265 seconds]
noudle has quit [Ping timeout: 250 seconds]
<jared-w>
I'm currently embarking on a slightly misguided adventure to try and do all of this year's Advent of Code in the Nix language. I'm running into roadblocks with getting nix to handle lists large enough to get some of the problems done, though
<{^_^}>
[nixpkgs] @Lassulus pushed commit from @purcell to master « fly: 5.4.1 -> 5.7.2 »: https://git.io/JeS72
<betaboon>
I'm trying to package a python-package that requires libusb, i provided it via propagatedBuildInputs but build still complains that it is missing. any suggestions ?
<jared-w>
Am I approaching things dumbly or can nix really just not handle iterating through a list that's large? `lenthz = l: xs: if xs == [] then l else lenthz (l+1) (builtins.tail xs);` seg-faults on `wut = (lenthz 0 (range 0 9191));` (or any higher number than 9191) but works on anything less than that
<jared-w>
This is what I'm really trying to solve. Both solutions are _correct_ per se, but both are unable to actually work with an input large enough to handle the actual problem
<infinisil>
I was considering using Nix for it, but after thinking about it for a minute I decided against it lol
<jared-w>
yeah... I was doing it to learn nix better and I've certainly achieved that lol
<jared-w>
"general purpose programming language that's not general purpose" fits the bill very well
<infinisil>
Theres builtins.length btw
<jared-w>
Yeah that one works great. The point was really "forcing the evaluation of the entire list to see where it starts choking"
<infinisil>
Theres builtins.deepSeq for that :P
evil-olive has quit [Quit: Ping timeout (120 seconds)]
chloekek has joined #nixos
<jared-w>
so anyway :p
evil-olive has joined #nixos
<jared-w>
I have a solution that uses attrsets as a hashmap but it's hilariously slow compared to just using a list with strings and parsing the string into tuples on the fly
<jared-w>
The problem is I have two paths that are 140k+ items in length and I want to figure out where they intersect and then pick the intersection closest to the origin point
<IiiiiiiiL2>
I set virtualisation.virtualbox.guest.enable = true; but I isn't enough. Ican't change resol
<jared-w>
The obvious "intersectLists" is O^2 and completely chokes on lists that large
<jared-w>
The builtin sort works pretty decently, so I was like "alrighty, let's sort and then I can walk through the two lists in a clever enough manner to find the minimum in one pass and do it in O time"
<jared-w>
So Nix has literally no way to efficiently walk through a list without just folding it from what I can see. (The commented out code is the actual logic; it wasn't working so I gave up and just tried to do less computation which still broke, leading me to try the most vanilla "length" implementation I could think of)
<jared-w>
and even the hash map version with attr sets which I optimized the hell out of is uselessly slow and blows up just _constructing_ the attrset whereas the string nonsense works all the way up until I try to actually deal with the two paths
<jared-w>
infinisil: pls tell me there's unsafePerformDoHackyBullshit for Nix
knupfer has joined #nixos
<gchristensen>
heh
<qyliss>
jared-w: you might be interested in #nix-lang btw :)
<qyliss>
not that what you're doing is OT for here
<jared-w>
oh _sweet_; didn't realize there was another channel for nix
<qyliss>
But discussions of this sort often take place there, if you're interested
<acowley>
How can I use `nix run` to run a command involving a pipe?
<acowley>
Or must I do the pipe outside of the single `nix run` invocation
<qyliss>
acowley: can you post what you're trying?
<chrisaw>
Can anyone tell me what I'm doing wrong here with this overlay package? https://termbin.com/ixwj -- just getting infinite recursion errors but not sure why. :(
<acowley>
What I'm trying involves something not yet in upstream nixpkgs yet, but what I want is `nix run nixpkgs.foo nixpkgs.jq -c foo | jq ...`
IiiiiiiiL2 has quit [Remote host closed the connection]
simon_weber has joined #nixos
<acowley>
I can do it separate `nix run` calls, so I should probably just not worry about it.
<qyliss>
acowley: you want nix run nixpkgs.foo -c foo | nix run nixpkgs.jq -c jq ...
<qyliss>
You can also do nix run nixpkgs.foo nixpkgs.jq -c sh -c 'foo | jq ...'
<acowley>
qyliss: Yeah, but I think I could do it all in one nix-shell call.
<acowley>
qyliss: Ah! That's it, yes.
<qyliss>
which spawns a shell as a subprocess, like nix-shell does
<acowley>
qyliss: Thank you!
<srhb>
chrisaw: First step when debugging things like that is to get rid of all withs and recs.
<jared-w>
Hmm... I'm trying to override the neovim package in nixpkgs so that I can use the master version of neovim
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jared-w>
In environment.systemPackages I have (neovim.overrideAttrs (oldAttrs: rec { version = "master"; src = builtins.fetchTarball URL;})), but that doesn't actually seem to do anything. Am I misunderstanding overrideAttrs or do I need to run callPackage or something?
<tilpner>
jared-w: That's probably because of the wrapper
<tilpner>
If you do the same with neovim-unwrapped instead, you should at least get it to attempt a build
<jared-w>
huh, yup, that was the problem. Of course now it's not building correctly
jgeerds has joined #nixos
captn3m0 has quit [Ping timeout: 240 seconds]
v88m has quit [Ping timeout: 250 seconds]
captn3m0 has joined #nixos
erictapen has joined #nixos
talvdav has joined #nixos
sondr3 has quit [Ping timeout: 240 seconds]
<talvdav>
hello! i need to override fileSystems."/boo" in my nixos config, can someone pls tell me the syntax really quick?
sondr3 has joined #nixos
<tilpner>
Override it how?
<aanderse>
anyone ever ran nixos lustrate on efi ? i see a step to "move the /boot directory of your distribution out of the way" and am wondering what i need to do there... just follow instructions and good to go?
<clever>
aanderse: it would be simpler to just nuke /boot before you nixos-install
<clever>
aanderse: dont have the same issues as needing /bin to shutdown
<heath>
the error is ghc: can't find a package database at /private/var/folders/wq/s8mfqyy57kz2m1zy2xzk6hjm0000gn/T/nix-build-haskell-miso-0.1.0.0.drv-0/haskell-miso.org/dist-newstyle/packagedb/ghc-8.6.5
<aanderse>
clever: i have filesSystems."/boot/efi" = { ... }; defined... i should just nuke everything in /boot aside from that?
mexisme has quit [Ping timeout: 246 seconds]
<clever>
aanderse: has nixos already booted once?
<aanderse>
clever: no
<heath>
anyone have an idea on how I might attempt to resolve this issue?
<clever>
aanderse: then you can just wipe the whole /boot, all files and dirs
<aanderse>
installing from ubuntu because i don't have a usb stick with me atm
<clever>
aanderse: thats also where kexec can come in handy
<aanderse>
clever: i don't think nixos has written anything to /boot/efi yet though
<aanderse>
so if i reboot at this point i wouldn't expect to be able to get back into the system
<clever>
aanderse: correct, you have to run `switch-to-configuration boot`, possibly with the magic env var set...
<aanderse>
ah, ok... i just haven't got there yet then
<aanderse>
thanks
<clever>
aanderse: NIXOS_INSTALL_BOOTLOADER=1
v88m has joined #nixos
<clever>
aanderse: that tells nixos to update the /boot files
lordcirth_ has joined #nixos
is_null has quit [Ping timeout: 250 seconds]
pikajude11 has joined #nixos
pikajude11 is now known as pikajude_
<pikajude_>
does nixpkgs have any lib stuff for simple template string substitution
<pikajude_>
i have my zshrc in home-manager and i want to put the absolute path to python in one of the functions
<pikajude_>
just builtins.replaceStrings?
<clever>
pikajude_: substituteAll and its related things
pentadyne[m] has joined #nixos
kreisys has joined #nixos
<pikajude_>
right, totally forgot that existed
erictapen has quit [Ping timeout: 250 seconds]
erictapen has joined #nixos
kleisli has joined #nixos
talvdav has quit [Remote host closed the connection]
pikajude_ has quit [Remote host closed the connection]
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<{^_^}>
[nixpkgs] @c0bw3b pushed commit from @r-ryantm to master « snakemake: 5.7.4 -> 5.8.1 (#74637) »: https://git.io/JeSFF
<jared-w>
tilpner: `(neovim.passthru.unwrapped.overrideAttrs (oldAttrs: rec {` did the trick
orivej has quit [Ping timeout: 252 seconds]
<jared-w>
I think just neovim-unwrapped.overrideAttrs would've worked too, and I'm vaguely unsure about whether or not `withNodeJs` is actually doing anything, but at least I'm running the latest master now, so that's fun
<jared-w>
(I did have to add a new library because neovim now requires utf8proc)
poprox has quit [Read error: No route to host]
<gchristensen>
neovim is tempting me to try vim again
<exarkun>
is `permitUserSite` used at all by buildPythonPackage? I can't see any references to it.
<jared-w>
It's very nice. Honestly now has better windowing and term support than emacs now
<jared-w>
which is _hilarious_ to me
<gchristensen>
whoa
<jared-w>
Yup. You get a real term with your real shell and your real full shell config. Zero hacks.
<{^_^}>
[nixpkgs] @bcdarwin opened pull request #75391 → libminc: 2018-01-17 -> 2.4.03 and disable broken checkPhase on OSX → https://git.io/JeSFh
<jared-w>
copy pasta, vim editing of lines, bla bla, all still works
<lordcirth_>
If I do anything with nixpkgs.xorg, eg "nix why-depends nixpkgs.firefox nixpkgs.xorg", I get an error about xorg requiring a nonfree font. If I allow nonfree, I get an error about trying to build Darwin stuff. Is "nixpkgs.xorg" not what I actually want to look at?
<jared-w>
Granted, windows and buffers and popup windows and all that jazz work differently in nvim vs emacs, but the raw functionality is there
magneticduck has joined #nixos
<infinisil>
lordcirth_: xorg is an attrset including many sub packages
<lovesegfault>
As in `++ flag pulseaudioSupport "pulseaudio"`
<lovesegfault>
cc. clever
<clever>
lovesegfault: is there a `flag =` in the same file?
<lovesegfault>
clever: doesn't look like it
<clever>
> lib.flag
<{^_^}>
attribute 'flag' missing, at (string):271:1
<clever>
lovesegfault: which file did you find it in?
<lovesegfault>
OH
<lovesegfault>
I found it!
<lovesegfault>
Yes
<lovesegfault>
:)
scasc has quit [Quit: Leaving]
orivej has joined #nixos
<exarkun>
Are all Python namespace packages in Nixpkgs broken since Oct 13?
mexisme has quit [Ping timeout: 265 seconds]
is_null has quit [Read error: Connection reset by peer]
jakobrs has joined #nixos
scassy has joined #nixos
is_null has joined #nixos
<exarkun>
Here's an even simpler example - nix-shell -p python2.pkgs.zope_interface --run 'python -c "import zope.interface"'
jakobrs has left #nixos [#nixos]
domogled has quit [Ping timeout: 250 seconds]
<exarkun>
fails since 90be4c2c7875c9487508d95b5c638d97e2903ada
<simpson>
Probably.
lassulus_ has joined #nixos
<exarkun>
:(
<ivan>
works with python3!
domogled has joined #nixos
lassulus has quit [Ping timeout: 240 seconds]
lassulus_ is now known as lassulus
<exarkun>
:(
civodul has joined #nixos
<{^_^}>
[nixpkgs] @bignaux opened pull request #75392 → soulseekqt: minor changes → https://git.io/JeSbP
shibboleth has joined #nixos
mexisme has joined #nixos
boxscape has joined #nixos
is_null has quit [Ping timeout: 268 seconds]
kenshinCH has joined #nixos
johnsonav has joined #nixos
<kenshinCH>
hi all. I'm a bit baffled, maybe you can help me out. In my `configuration.nix` I have `neovim` as a system package, and if I open a shell and run `nvim --version` I get `0.3.0`. However, if I run `nix-shell -p neovim` and in that shell I run `nvim --version`, I get `0.3.8`. I don't get it...
cosimone has joined #nixos
<clever>
kenshinCH: what does `which --all nvim` report?
kleisli has quit [Ping timeout: 240 seconds]
<kenshinCH>
ah! one in my user's `.nix-profile`, the old one, and one in the system. I must have installed it with `nix-env` for some reason -- I never use it, but mayne in the early days...
<{^_^}>
#75397 (by matthew-piziak, 39 seconds ago, open): Update `haskellPackages.stack2cabal` from 1.0.3 to 1.0.5
knupfer has quit [Remote host closed the connection]
<clever>
selfsymmetric-mu: run hackage2nix to update the entire haskellPackages at once
<fZNxeka75>
How hard would it be to change Nix/NixOS locally(for me only, even if it'd require a new iso and a full install) to have names like this /nix/store/94n64qy99ja0vgbkf675nyk39g9b978n-glibc-2.19/lib/libc.so.6 be formatted like this: /nix/store/glibc-2.19-94n64qy99ja0vgbkf675nyk39g9b978n/lib/libc.so.6 ? In other words, the hash would be last in dir name.
<fZNxeka75>
What editor should I use to edit .nix files, which also has autocompletion?
smatting has joined #nixos
<simpson>
fZNxeka75: You would have to rebuild everything; just accept the existing names.
<simpson>
You can use any editor you want, but I don't think that any of them have autocompletion for Nix.
<clever>
fZNxeka75: the point of the hash being at the start, is that there is only going to be one path starting with 94n64, but there is going to be 20 paths starting with glibc-2.19
<clever>
fZNxeka75: the hash at the start makes it faster to tab complete
<fZNxeka75>
but I'd really need a .nix autocompletion editor or something that can at least dump the whole current configuration/defaults to a file, otherwise I'd be hard to know what keywords are available for me to use/edit modify
<fZNxeka75>
for example, suppose I want to built 3 different kernel with different .config options (or only some .config options changes from their defaults) and then also apply some patches on top
Jackneill has quit [Remote host closed the connection]
Ariakenom has quit [Read error: Connection reset by peer]
lovesegfault has quit [Quit: WeeChat 2.6]
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
magneticduck has quit [Remote host closed the connection]
drakonis has joined #nixos
scasc has quit [Remote host closed the connection]
scasc has joined #nixos
chloekek has quit [Ping timeout: 265 seconds]
<simpson>
fZNxeka75: I mean that you probably don't want to build three different kernels in your /etc/nixos/configuration.nix.
<fZNxeka75>
when the docs show things like this "$ mkdir /nix" is the "$" not supposed to mean non-root user? because in that context seems like user should be root
<fZNxeka75>
to be fair, it does say "you should manually create /nix first as root, e.g.: " , so I guess I should expect "$" everywhere to mean command line
<fZNxeka75>
simpson, but I could still have 3 kernels in grub list, hopefully?
<simpson>
Yeah, whoever wrote that section wasn't thinking about the fact that superusers usually have # prompts.
jgt2 has quit [Ping timeout: 250 seconds]
<samueldr>
or did and found out that the "syntax" highlighting treated them as a comment
<fZNxeka75>
In other words, I just want to make sure I could boot any of like (at least) 2 different kernels
<fZNxeka75>
samueldr, there is syntax highlighting there?
<clever>
fZNxeka75: every time you make any changes to configuration.nix, it will create a new entry in grub, so you can go backwards to any previous state
<fZNxeka75>
holy smokes, this might just be the best linux os yet - thanks for your help/time, I'll defo. give it a try! laterz
fZNxeka75 has quit [Quit: Leaving]
<clever>
:D
<gchristensen>
woohoo!
<kyren>
that's true but it's backwards, linux is the best kernel to run under nix
<kyren>
I can live without linux
<drakonis>
config management is a beauty though
phreedom_ has joined #nixos
phreedom has quit [Ping timeout: 260 seconds]
<kyren>
yeah I mean NixOS is great, I should have said that if you told me to give up one of the kernel or the nix stuff on top I'd give up the kernel, we could rebuild on freebsd or something
<kyren>
if you took nix away from me I'd now just spend all my time remaking it
<gchristensen>
I'd love a system built on top of a kernel which was object-capability aware like Nix is
<drakonis>
ironically, someone's getting nix to run under freebsd
<kyren>
this wasn't meant as a dig against linux, I'm just saying that nix is THAT important to my life now, if there was a NixOS/freebsd or a NixOS/redox or something that's cool, if there's a linux/no-nix I cry
<drakonis>
though a lot of software would need patching to run under freebsd and a lot of rejiggering
<drakonis>
is required to get equal support
<clever>
and all of the closed-source ELF files
<drakonis>
yes
<drakonis>
freebsd has a linux emulator but it has ass support for linux software that depends on linux features
<clever>
another thing ive been interested in, is building the xnu kernel, and a very basic xnu userland os, using nix
<drakonis>
also nice
<drakonis>
run nix on genode too
<simpson>
gchristensen: A few of us (dash, ehmry in particular) are looking at seL4/Genode avenues. How much of Nix proper would be reusable is unclear, and of course dash and I want to use something other than C++...
<clever>
so you have a fully opensource and nix managed os, that can run some darwin binaries
<gchristensen>
simpson: oh cool :)
<simpson>
drakonis: #freebsd-nix welcomes all lurkers.
<drakonis>
there's nix in rust but it seems to to have stalled out
<drakonis>
simpson: i'm aware, it seems to be quiet again.
<drakonis>
i forgot to set it on autojoin since the 4th
<gchristensen>
drakonis: stalled out? part of Nix is in Rust now
<drakonis>
wait what?
<drakonis>
i meant that there was a reimplementation in rust that appeared some time ago
<clever>
i think it was the unpack channels drv, got turned into rust
civodul has quit [Quit: ERC (IRC client for Emacs 26.3)]
dbmikus_ has joined #nixos
Kritnich has quit [Ping timeout: 240 seconds]
Kritnich8 is now known as Kritnich
Blessjah has quit [Remote host closed the connection]
dbmikus has quit [Ping timeout: 246 seconds]
lovesegfault has joined #nixos
kayvan has joined #nixos
<Jarva[m]>
If I rebuild my nixos will it fetch the latest versions of my packages?
<drakonis>
yes
<drakonis>
if you upgrade it
<Jarva[m]>
Or do I need to nix-channel update first?
<drakonis>
use the --upgrade long flag to automate channel updating
<Jarva[m]>
h nice
<Jarva[m]>
Thank you
<Jarva[m]>
Is there a command that will check whether it needs updating?
<jared-w>
Alternatively you can go the over complicated route and pull in every possible dependency through explicit pinning and then you need to upgrade your pins to get nixos-rebuild switch to do anything
<jared-w>
Jarva[m]: "needs" isn't really the right word. "Can be" is better
<Jarva[m]>
That I could put into a polybar script to see when I can update my existing packages
<jared-w>
I've personally found that nixpkgs is updated frequently enough that even updating once a day usually updates something somewhere
<drakonis>
if you're directly updating from it
<Jarva[m]>
I'd quite like a counter to see how many could be updated though
<Jarva[m]>
It reminds me as I don't need to introduce dependencies that often
<jared-w>
In fact, you can already set that in configuration.nix. `system.autoUpgrade = true;`
<jared-w>
then just forget about it :p
<jared-w>
(although I still compulsively smash the "update all my shit" button because I came from arch linux)
mexisme has quit [Ping timeout: 240 seconds]
<Jarva[m]>
Yeah I came from arch and I had a little icon in my polybar to say update yo shit because you're forgetful
Blessjah has joined #nixos
<keithy[m]>
is there an option for autoUpgrade delayed a week
<drakonis>
have a systemd timer
<clever>
autoUpgrade is already a systemd timer
<keithy[m]>
thats not the same
<clever>
and i believe it has an option to set the interval
<gchristensen>
keithy[m]: why delay a weeK?
<keithy[m]>
to let other find problems!
<jared-w>
Yup, just turn on all the auto stuff and be happy. There's one to auto clean out the store, one to auto GC nix, etc. All the basic house cleaning tasks can be turned on in configuration.nix
<clever>
keithy[m]: you wont really notice the problems if your not activating the config
<clever>
keithy[m]: and with rollbacks, you can undo any upgrade (though autoUpgrade will keep going fowards, undoing a rollback)
<jared-w>
keithy[m]: that's what unstable (or master) is for :p also, auto update doesn't actually apply the config if it fails. In fact, upgrading blindly will refuse to apply the config if it fails in any way
<keithy[m]>
if a cluster is self updating, they often run a percentage on the stable and a lower perentage on next, with a couple of canaries on testing.
<clever>
keithy[m]: i would use hydra to automate that testing
<keithy[m]>
so stable just trails next by a week or two
<jared-w>
(if you can figure out how to actually get it working that is)
<jared-w>
There's plenty of memes about how difficult it is to get hydra working. The documentation lacks a clear path from "hello world" to beyond that, so you hit a cliff wall pretty early before you can do anything useful in it
<drakonis>
i would not invoke the word memes for this