<DigitalKiwi>
Failed to find a machine for remote build!
<DigitalKiwi>
why do i get that all of the time?
<DigitalKiwi>
and it is building remotely...
medvid_ has quit [Ping timeout: 265 seconds]
medvid_ has joined #nixos
Supersonic112 has joined #nixos
Supersonic has quit [Ping timeout: 240 seconds]
Supersonic112 is now known as Supersonic
iqubic has joined #nixos
zebrag has joined #nixos
inkbottle has quit [Ping timeout: 246 seconds]
dbmikus has joined #nixos
m0rphism has joined #nixos
Acou_Bass has quit [Ping timeout: 260 seconds]
nahamu has quit [Read error: Connection reset by peer]
<DigitalKiwi>
...sometimes :|
nahamu has joined #nixos
Acou_Bass has joined #nixos
<iqubic>
I'm so so pissed off. I'm trying to get softether working on NixOS, and it's refusing to work. I have softether installed, but when I try to run `vpnclient` in a terminal, I get this error message: "/run/current-system/sw/bin/vpnclient: line 2: /var/lib/softether/vpnclient/vpnclient: No such file or directory"
<iqubic>
I see. So I'm not going to install softether via system.environmentPackages. Thanks.
Acou_Bass has joined #nixos
<jasom>
iqubic: you may be able to manually pass a path to the configuration file if you don't want it managed by nixos; I don't know anything about softether specifically
<iqubic>
I'm going to use the nixos configuration stuff, as I love love love that declarative config.
hahahajen has quit [Remote host closed the connection]
iqubic has quit [Remote host closed the connection]
Darkmatter66_ has joined #nixos
wheatdog has joined #nixos
<bbigras>
manix is a great tool for search all the options. it supports home-manager too.
Darkmatter66 has quit [Ping timeout: 272 seconds]
Fare has quit [Ping timeout: 240 seconds]
<wheatdog>
Hi all, I am writing a nix expression for a python application - dnsrobocert. It depends on python package localzone, which is currently failed at testing. I tried to override it to disable check but with no luck. I wonder what is to correct way to disable check for python packages using overlay. Any comments would be helpful. Thanks!
kreyren_ has joined #nixos
nahamu has quit [Read error: Connection reset by peer]
nahamu has joined #nixos
kreyren has quit [Remote host closed the connection]
nahamu has quit [Read error: Connection reset by peer]
maxfield has joined #nixos
nahamu has joined #nixos
waleee-cl has quit [Quit: Connection closed for inactivity]
<{^_^}>
[nixpkgs] @doronbehar pushed to gnome-3.38 « gnome3.gdm: fix a typo for Xsession.in »: https://git.io/JUQV3
<dsal>
I 'nix copy'd some stuff to s3. I was trying to 'nix copy --all' back out, but it's telling me there's an invalid path. Is there a way to fix the store?
mmohammadi98126 has quit [Quit: I quit (╯°□°)╯︵ ┻━┻]
<etu>
init_6: Doesn't seem like it, but I don't think it should be very hard to package either
zeta_0 has joined #nixos
<{^_^}>
[nixpkgs] @SuperSandro2000 opened pull request #99440 → gitstatus: also install sh files → https://git.io/JUQim
<zeta_0>
hello there, i was just wondering, what is the current progress of the new nixos 20.09 stable nix channel ? by when do you think it will be ready ? last time I tried upgrading, I got build errors.
<{^_^}>
[nixpkgs] @danieldk pushed commit from @jeremyschlatter to master « sandboxfs: init at 0.2.0 »: https://git.io/JUQiC
<zeta_0>
etu: no, i just figured, it was just some things that the nixpkgs maintainers are currently fixing before the new release, I guess I could try upgrading again, and then report the build errors in the nixpkgs issue section.
<zeta_0>
etu: have you tried upgrading yet ?
<etu>
zeta_0: I'm on unstable most of the time, so yes I guess
<etu>
zeta_0: We have the timeline for 20.09 here: #95535 and the ZHF tracking issue here #97479
<etu>
Both are very important for the 20.09 release
<zeta_0>
etu: thanks, i skimmed over them a while back, for now i'll just use unstable packages on the current stable channel, as a workaround.
<DigitalKiwi>
i am having so many problems right now :|
* DigitalKiwi
is not optimistic about the release being ready soon/good :|
<etu>
zeta_0: Since nixos has a fairly small community, it's always valuble if people participate and help out by reporting things and trying to fix things :)
<etu>
DigitalKiwi: 59th of September? ;p
<DigitalKiwi>
lol yeah
<DigitalKiwi>
i'd rather it get released good than on time
elvishjerricco has quit [Ping timeout: 272 seconds]
<la-jesystani>
hello, i have a question about nix flakes i havent found an answer too while reading, when defining a flake output for `defaultPackage.some-system = with import nixpkgs { system = "some-system"; }; ...`, what system should i choose for something like a bash script?
bitonic has quit [Ping timeout: 272 seconds]
bitonic has joined #nixos
englishm has quit [Ping timeout: 272 seconds]
elvishjerricco has joined #nixos
hnOsmium0001 has quit [Ping timeout: 272 seconds]
nick_h has quit [Ping timeout: 272 seconds]
<sergeykish>
srhb: thank you, I guess I don't need it that much, thought something wrong with my setup. Arch has it, unlucky first choice to try
carter has quit [Ping timeout: 272 seconds]
englishm has joined #nixos
nick_h has joined #nixos
la-jesystani has quit [Read error: Connection timed out]
la-jesystani has joined #nixos
yawnt has joined #nixos
chrisaw has quit [Ping timeout: 272 seconds]
dmj` has quit [Ping timeout: 272 seconds]
gausby has quit [Ping timeout: 272 seconds]
pasukon has quit [Ping timeout: 272 seconds]
hnOsmium0001 has joined #nixos
<yawnt>
hi all, i couldn't find any documentation about what `edition` is for in flakes
<yawnt>
does it serve any practical purpose or is it just metadaa?
<yawnt>
*metadata
alanz has quit [Ping timeout: 272 seconds]
marcinkuzminski has quit [Ping timeout: 272 seconds]
<mvnetbiz_>
do you mean tab completion for nix-shell options? i think that would be up to your shell to implement. do you mean autocompletion for available packages?
maxfield has joined #nixos
bqv has joined #nixos
rprije has quit [Ping timeout: 240 seconds]
<daemon1024>
Can we change default shell of nix-shell from bash to something else?
la-jesystani has quit [Ping timeout: 240 seconds]
<NobbZ[m]>
[daemon1024](https://matrix.to/#/@daemon1024:matrix.org) you can use some tricks to load the created environment in to another shell, though `nux-shell` always will create it using bash, as that's what is in stdenv
<{^_^}>
[nixpkgs] @jorsn opened pull request #99465 → fix picard crash: use consistent qt5 version → https://git.io/JU7I0
<MichaelRaskin>
You can also just clone the expression file, actually
<nature>
Thanks srhb I-ll look into it
<MichaelRaskin>
And import it using pkgs.callPackage
maxfield has joined #nixos
<nature>
Ideally if I can contribute it's be nice I guess
<srhb>
Yeah, then fork :)
<nature>
where do I start ? ^^'
<MichaelRaskin>
How do you install the packages?
<nature>
ok, there is a page describing how to contribute to nixpkgs right ?
<nature>
mostly through configuration.nix
mthst has joined #nixos
bk16031 has quit [Ping timeout: 244 seconds]
<srhb>
nature: Yeah, in the nixpkgs manual. But the short of it is: fork, clone, change, push to your fork, pr to master. :)
<nature>
okok thanks, I'll try that then :)
<solene>
nature: yes it's in the manual, but there are some extra information in github that will be shown when you make the pull request
<srhb>
nature: From your cloned fork, you should be able to do eg. `nix edit -f . neovim`
<MichaelRaskin>
e.g. you can copy the default.nix to somewhere, edit it to update the version, then instead of pkgs.neovim use (pkgs.callPackage /path/to/neovim.nix)
<{^_^}>
[nixpkgs] @veprbl pushed commit from @bdesham to master « handbrake: fix Darwin build (#89674) »: https://git.io/JU7ti
mthst has quit [Ping timeout: 240 seconds]
yawnt has joined #nixos
<{^_^}>
[nixpkgs] @NinjaTrappeur merged pull request #99017 → zeroc-mcpp: decouple from original mcpp → https://git.io/JUPSA
<{^_^}>
[nixpkgs] @NinjaTrappeur pushed 2 commits to master: https://git.io/JU7qT
<pickfire>
Hi, how come nixos does not boot after using doing nixos-install, I use GPT with partition 1 btrfs / and partition 2 fat32 /boot? Is there anything wrong with the partitions?
<pickfire>
when booting in qemu, it just shows "Booting from Hard Disk..." and stuck there.
<Henson>
pickfire: was nixos-generate-config able to detect your partitions correctly?
<pickfire>
Looks like it.
<Henson>
pickfire: is qemu configured to do an EFI boot?
<pickfire>
How?
<pickfire>
Not sure.
orivej has joined #nixos
<Henson>
pickfire: I don't know, I haven't used qemu in a long time. Maybe see if doing a BIOS boot using GRUB will work, if so, then it's the EFI boot that's causing the problem.
AtnNn has quit [Ping timeout: 245 seconds]
<Henson>
pickfire: I assume you're testing this out with the qemu emulator and reinstalling to experiment in this way wouldn't be a problem
<pickfire>
Yeah, I am testing this out so later I can try nixos easily.
<pickfire>
I am using arch qemu, I never had an issue with EFI or something like that.
<pickfire>
My guess is probably because the partition is weird.
<pickfire>
/dev/sda1 usually I do boot partition, but nixos suggest using that as root partition.
Zetagon_ has joined #nixos
<pickfire>
I use fdisk since it is easier, maybe because I did not set the ESP thing?
<pickfire>
But weird that nixos-generate-config does not automatically put boot.supportedFilesystems = ["btrfs"], I thought that was an issue but it still doesn't boot even if I put that.
<Henson>
pickfire: I usually just follow along with the NixOS partitioning guide. It actually used to recommend putting the EFI boot partition first, which is what I do with my installs. I guess it doesn't matter where the partition is.
grobi has joined #nixos
<V>
pickfire: does the fileSystems array pick up your btrfs?
<pickfire>
V: How do I know that?
<Henson>
pickfire: it sounds like brtfs isn't the problem, though, as it sounds like qemu isn't even able to get to the boot loader.
<V>
well.. look through fileSystems {} and see if there's an entry that matches your root partition, and that it has "btrfs" as the type
<Henson>
pickfire: it looks like the current docs suggesting putting it third, after the root and swap partitions. Docs used to suggest putting it first.
<V>
if a filesystem is needed for boot then nixos will implicitly add it to boot.supportedFilesystems
<pickfire>
Yes, there is "btrfs".
<pickfire>
Henson: But I don't want swap so I didn't do that.
<V>
you can check what it *actually* contains by using nixos-option
<Henson>
pickfire: have you been able to successfully get qemu to boot NixOS at all, without btrfs?
<pickfire>
Oh, it doesn't have "neededForBoot".
<V>
you also don't need to specify it if it's /
<pickfire>
Henson: ISO yes.
<V>
or one of these: pathsNeededForBoot = [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];
<pickfire>
But I never tried without btrfs, I need to reinstall again to do that.
<Henson>
pickfire: ok, but you haven't been able to boot it after installing it on your virtual drive?
<pickfire>
V: No
bk16031 has quit [Ping timeout: 240 seconds]
<pickfire>
I don't see any "pathsNeededForBoot".
<V>
no, that's in nixos/lib/utils.nix
<pickfire>
Henson: Yes, not once.
<V>
if the filesystem is one of those paths, it's implicitly needed for boot
<V>
and anything needed for boot implicitly has support
<pickfire>
But I do need to specific boot.supportedFilesystems?
<V>
so most of the time it works just fine, and only breaks if you're doing something funky
<Henson>
pickfire: I'd recommend trying without btrfs first, to see if that's the problem. I'd also try doing a BIOS install with GRUB instead of using EFI to see if that works. This will help you narrow down what might be causing the problem.
<V>
pickfire: it would help if you pastebinned your config
<V>
I'm assuming you have all the disk labels set correctly
<pickfire>
Yes, disk labels are there, I tried mounting myself.
<pickfire>
But for real hardware I would redo the whole process, I am just trying out if nixos breaks my workflow.
<V>
it *might* be the partition order
<pickfire>
Yeah, I did guess it might be the partition order, let me try reinstalling and reordering the partitions.
<pickfire>
Last time I installed alpine but after I used it a bit, I noticed that quite some important applications I used are not there so I stopped using it.
<pickfire>
Oh, when I try creating a new partition, it shows
<pickfire>
Partition #1 contains a vfat signature
<pickfire>
But /dev/sda1 is the root partition for me, how is that?
maxfield has quit [Quit: maxfield]
<V>
the partition type is ESP, right?
<V>
uh... I don't know?
<pickfire>
/dev/sda2 yes, but not /dev/sda1
<V>
maybe you confused which order you had the partitions
<pickfire>
Not sure if ESP, but it is EFI filesystem
<pickfire>
I wonder why the documentation does not suggest using /dev/sda1 as the boot partition?
maxfield has joined #nixos
<pickfire>
Looks so confusing to me.
<nature>
YES! managed to build nimlsp for nixos, how do I do to create a PR for nixpkgs, do I just push on master on my fork and create a PR from there ?
<infinisil>
zangi: Me and some others, could also join #nixus :)
waleee-cl has joined #nixos
K900 has joined #nixos
<K900>
Hey guys, what's up with nixos-unstable-small not updating? The builds seem to be going fine on Hydra, but the actual branch isn't moving
<zangi>
infinisil: the README.md kinda confuses me, what does `./result` doing when you execute it? is it installing to the specified host?
arjen-jonathan has quit [Ping timeout: 272 seconds]
<infinisil>
zangi: It does the actual deployment to all the hosts yeah
<zangi>
so is it basically the same as `nixos-rebuild` in the sense that it's applying your current `configuration.nix`?
<V>
nixos-rebuild literally just builds <nixpkgs/nixos>.system and runs $out/bin/switch-to-configuration
<Henson>
has anybody got a Yubikey to work with Firefox or Chrome on NixOS? It works no problem on my ancient 2018 Ubuntu system, but I can't get it to work on 20.03 NixOS
<infinisil>
zangi: Yeah you can think of it that way, except it's a nixus config (the one that was nix-build't)
eoli3n has quit [Ping timeout: 256 seconds]
<zangi>
infinisil: what should I put inside `nodes.hostName.host` if I want to apply it to the current host?
<infinisil>
zangi: "localhost"
<zangi>
infinisil: cool, thanks :)
maxfield has quit [Quit: maxfield]
maxfield has joined #nixos
zangi has quit [Read error: Connection reset by peer]
meh` has joined #nixos
zangi has joined #nixos
bk16031 has quit [Ping timeout: 240 seconds]
<{^_^}>
[nixpkgs] @Infinisil opened pull request #99471 → lib/types: Fix type description of bool enum values → https://git.io/JU7se
alp has joined #nixos
inferencerules has joined #nixos
<pickfire>
V: No, changing the partition order it still does not boot.
<inferencerules>
is anyone here using flakes for their system config? i'd like to take a look at some repos for inspiration
<sphalerite>
pickfire: If you grab OVMF (it's probably available in your current distro) it should work with -bios path/to/OVMF.fd
<sphalerite>
or if you have nix on your current distro you can use nix to get OVMF :D
<{^_^}>
[nixpkgs] @gebner pushed commit from @risicle to release-20.09 « opencascade-occt, opencascade-occt730: fix build on darwin »: https://git.io/JU7Zy
<sphalerite>
pickfire: modprobe will still work, since it looks for modules in /run/booted-system/kernel-modules — i.e. it won't be able to find newly added modules, but it will still be able to load the modules it does find.
<pickfire>
I forgot multiple versions can be there at the same time if gc did not run.
<{^_^}>
"Reboot the system into the new generation instead of a switch\nif the new generation uses a different kernel, kernel modules\nor initrd than the booted system.\n"
<sphalerite>
pickfire: ^ you can also set allowReboot though, then it will automatically reboot if it has a new kernel.
<sphalerite>
pickfire: the booted system will also never be garbage-collected.
<unclechu>
hey, i’m doing `fetchTarball` from some repo on github but when i try to concat subdir name like this: `"${thatFetchedTarball}/dir"`
<unclechu>
i get this error: `string '/nix/store/HASH-source/dir' cannot refer to other paths`
<{^_^}>
[nixpkgs] @risicle opened pull request #99478 → pythonPackages.hidapi: fix build on darwin → https://git.io/JU7c4
<sphalerite>
pickfire: Unless you do evil nasty things like removing /run/booted-system, but at that point that's your own fault :D
<simpson>
pickfire: Lucky 10000, to explain init_6_'s joke: init runlevel 6 is traditionally a mode which immediately reboots the machine.
<unclechu>
am i missing something?
yawnt has quit [Quit: leaving]
<sphalerite>
unclechu: that's allowed in general, but the result can't be used in all contexts. How are you using that string?
<{^_^}>
"Reboot the system into the new generation instead of a switch\nif the new generation uses a different kernel, kernel modules\nor initrd than the booted system.\n"
<sphalerite>
pickfire: getting an option description from the bot
<sphalerite>
my first attempt was wrong :)
<pickfire>
Ah, but I don't really want it randomly booting, if I am doing something and didn't save then GG.
maxfield has quit [Quit: maxfield]
<sphalerite>
yeah if it's a desktop machine you won't want that :D
<pickfire>
simpson: I don't understand.
<unclechu>
sphalerite: I’m trying to write something like this: `super.haskellPackages.callCabal2nix name (super.lib.cleanSource thatSubDir) {}`
<pickfire>
Oh
<pickfire>
Never know about that.
maxfield has joined #nixos
<immae>
( pickfire: it’s out of subject but you might be interested in the AUR package "kernel-modules-hook" about "IIRC in arch when kernel upgrades new modules cannot be loaded.")
<unclechu>
sphalerite: in an overlay
<sphalerite>
unclechu: you can't use cleanSource on a store path iirc. You also won't need it though :)
mahene has quit [Remote host closed the connection]
<simpson>
pickfire: Older init systems, long before systemd, used runlevels to indicate the machine's boot state. runlevels are just small natural numbers; runlevel 0 indicated booting, runlevel 1 was for single-user/rescue modes, runlevels 2-5 were for normal operation, and runlevel 6 requested a reboot.
<unclechu>
sphalerite: ah, i get it, thanks. i used to apply this to some local directories which weren’t in the nix store
<unclechu>
sphalerite: and you say i won’t need it, why? is `callCabal2nix` applying it by default?
<pickfire>
Oh, so system.autoUpgrade.allowReboot isn't rebooting?
<pickfire>
But why it needs to reboot after upgrade?
Chiliparrot has quit [Ping timeout: 240 seconds]
<symphorien[m]>
you can't update the kernel without reboot
<symphorien[m]>
(and also dbus, because dbus is great)
<pickfire>
Huh? But sphalerite say you can? Did I read it wrongly?
<pickfire>
Oh
<sphalerite>
unclechu: no, but the main use of cleanSource is to leave out some unnecessary files when copying a path from your filesystem into the nix store (particularly, to reduce the amount of copies of mostly the same thing that end up in your nix store). fetchTarball unpacks the tarball directly into your nix store, so it doesn't have any further copying to do.
<{^_^}>
[nixpkgs] @JamieMagee opened pull request #99479 → pythonPackages.pyads: init at 3.2.2 → https://git.io/JU7CU
<pickfire>
Okay, not upgrading, it just means the existing modprobe does not break.
<sphalerite>
correct :)
<pickfire>
Just wondering, how do you all usually configure applications, through /etc/nixos/configuration.nix or nix-env -iA '<nixpkgs>' package? Or read the docs (browser or text browser)? I am still looking for the man page in the meantime.
<sphalerite>
pickfire: `init 6` is a way to reboot (on older systems), so init_6_ here said "that's me!" when you mentioned rebooting :)
<pickfire>
Is that a bot?
<sphalerite>
pickfire: it depends a little, on my laptop I use nix-env (but not like that)
<sphalerite>
I think init_6_ is a person.
<{^_^}>
[nixpkgs] @Sohalt opened pull request #99480 → tarssh: init at 0.4.0 → https://git.io/JU7CO
<init_6_>
that`s you bot bitc
<sphalerite>
,imperative pickfire
<{^_^}>
pickfire: nix-env has multiple drawbacks as an imperative package manager. nix-env -u will sometimes upgrade to the wrong thing; the outputs to install are very finicky to override; and packages that have been removed or are otherwise unavailable will remain in your profile without any warnings. Consider using a ,declarative setup instead.
<pickfire>
But if I do the declarative setup, it will automatically remove those imperatively installed packages?
<sphalerite>
While on servers, I'll typically manage everything via their NixOS configuration so that I can move things around more nicely.
<qyliss>
pickfire: no
<qyliss>
they're independent
<pickfire>
Oh, so it is garbage.
<pickfire>
It will never be cleaned?
<sphalerite>
no, it depends :)
<sphalerite>
,declarative
<{^_^}>
There are multiple ways of managing declarative profiles. 1) Attrset, compatible with imperative use of nix-env; 2) buildEnv, providing more control over the paths that are linked into the profile; 3) home-manager, providing nixos-like config for your ~. https://git.io/fp0aU contains a comparison of the three methods and a sample expression for option 2.
bk16031 has quit [Ping timeout: 258 seconds]
zupo has joined #nixos
<pickfire>
I just did nix-env -f '<nixpkgs>' -iA w3m, how do I remove it without using nix-env -r w3m?
<sphalerite>
`nix-env -e w3m`
<sphalerite>
or `nix-env -e ".*"` if you want to uninstall everything from your profile
<pickfire>
According to the docs, I wonder why it didn't mention that declarative and imperative is separated before showing that example.
<pickfire>
From my profile? I run that using root but normal user still see it.
bbarker has quit [Remote host closed the connection]
<sphalerite>
oh right, root is a special case.
<pickfire>
Oh, seemed like there are quite a bit of special case.
<simpson>
It's due to history. nix-env used to be more popular, before tools like home-manager and direnv became more common.
<pickfire>
I tried using home-manager on arch, my current setup, but it messed things up so I removed it.
<sphalerite>
If I understood what qyliss correctly, she meant that _NixOS's_ declarative setup (configuration.nix) is independent of user profiles (nix-env)
<pickfire>
Like locale issues, no good fish support, cannot view man page for another language.
<{^_^}>
[nixpkgs] @jonringer pushed commit from @r-ryantm to master « python37Packages.pytest_xdist_2: 2.0.0 -> 2.1.0 »: https://git.io/JU7Ws
<pickfire>
The only thing I like is declarative configuration, which is very good.
<sphalerite>
pickfire: one reason for having them separate is that it allows different users to have different package sets installed, without interfering with each other or having root access.
<pickfire>
Doesn't user have home-manager?
<pickfire>
I thought user needs access to nix to be able to install stuff?
<sphalerite>
sure, but access to nix != root access
<sphalerite>
users _can_ use home-manager, home-manager uses nix a little differently from how nix-env does though.
init_6_ has joined #nixos
* pickfire
is confused
maxfield has quit [Quit: maxfield]
<simpson>
A standard non-root user on a typical NixOS installation can manage their own environment, including optionally using home-manager, without additional setup from root.
<pickfire>
sphalerite: Thanks a lot for the explaination, now I know why some people still use nix without nixos.
<pickfire>
Looks more separate than I initially thought.
<sphalerite>
Alice runs nix-env -f '<nixpkgs>' -iA hello. Alice can now run `hello`, but Bob, who also has an account on the same machine, doesn't have it available.
maxfield has joined #nixos
arjen-jonathan has joined #nixos
<MichaelRaskin>
Moreover, a single user has various options (like nix-shell) to manage _multiple_ environments with Nix
<sphalerite>
Nix is just too many things in one :D
<MichaelRaskin>
Nix is kind of not
<MichaelRaskin>
There are many toolkits based on Nix, though
gthm has quit [Ping timeout: 272 seconds]
<pickfire>
simpson: I thought one need root access to write to /nix? Can one even use nix without /nix? I wanted to do that last time to use nix for home installation but never found it.
<sphalerite>
nix-env is arguably a "compatibility layer" that implements imperative package management on top of nix. Rather poorly, tbh.
<simpson>
Nix is just one thing: knowing the name of a package is both sufficient and necessary to be able to use that package. Everything else flows from the central idea of packages as capabilities.
<MichaelRaskin>
There are multiple third-party alternatives for imperative package management with Nix, of course…
<MichaelRaskin>
Writing to /nix needs root access; but there is typically nix-daemon running
<sphalerite>
pickfire: nix-daemon mediates access to /nix, allowing unprivileged users to install packages into the nix store, but not under arbitrary paths.
<simpson>
pickfire: The typical NixOS installation runs a privileged Nix daemon, and the Nix CLI tools talk to that daemon to request builds. This is the "multi-user" setup on non-NixOS Linux.
<pickfire>
sphalerite: Even in non NixOS? I never heard of nix-daemon.
<sphalerite>
optionally, yes.
<pickfire>
Next thing to do for me, I need to figure out how to install dwm, st and a bunch of custom stuff.
maxdevjs has joined #nixos
<sphalerite>
For that kind of stuff which is configured at build time, you'll want to write an expression file and build and install that.
<sphalerite>
At its simplest, this could look like `with import <nixpkgs> {}; st.override { conf = ./config.h; }`
noudle has quit []
<sphalerite>
and you could install it using `nix-env -f st.nix -i`
<{^_^}>
[nixpkgs] @mdevlamynck opened pull request #99483 → sawfish: fix build by replacing gdk-pixbuf with gdk-pixbuf-xlib → https://git.io/JU7lJ
<pickfire>
sphalerite: But for those I would probably need to use home-manager for it right?
<{^_^}>
[nixpkgs] @aanderse pushed 2 commits to release-20.09: https://git.io/JU7lL
fendor has quit [Remote host closed the connection]
<pickfire>
Since I wouldn't want the system to use dvorak by default for all users, some other users may still want us, if any.
<sphalerite>
pickfire: not at all.
<pickfire>
Not at all?
<pickfire>
sphalerite: Wouldn't that be imperative? nix-env would lose track of it later right since it is not in /etc/configuration.nix.
<sphalerite>
home-manager is a (probably quite good) way to manage it, but it's not an imperative (pun intended).
<MichaelRaskin>
home-manager is one of the ways to nix-build a lot of stuff you want for a specific user
euandreh has joined #nixos
<sphalerite>
nix-env wouldn't "lose track" of it as such, it would be installed into the user profile and be left completely alone by nixos-rebuild. You could later upgrade it (if nixpkgs has been updated) by running `nix-env -f st.nix -i` again.
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sphalerite>
but yes, I think MichaelRaskin has the right idea — a more fundamental tool here is `nix-build`.
init_6 is now known as luke
init_6_ is now known as init_6
luke is now known as Guest86032
<pickfire>
Is this the normal flow to try out stuff? sudo vi /etc/nixos/configuration.nix; sudo nixos-rebuild switch?
<MichaelRaskin>
Do you want to say your configuration.nix is not under version control?
zupo has joined #nixos
<sphalerite>
nix-build will take a nix expression, evaluate it, and build resulting derivations (derivation ~= build recipe), often "optimising away" an actual from-source build by downloading binaries. The result will land in the nix store, at a path which will be given to you by nix-build.
<sphalerite>
pickfire: that depends on whether it needs to touch systemwide things.
<sphalerite>
pickfire: if you want to try out a new st config, you could also edit the st config, run `nix-build st.nix`, and then run `./result/bin/st` if the build succeeded.
<pickfire>
MichaelRaskin: Should it be?
<MichaelRaskin>
Yes
<sphalerite>
yes
<pickfire>
Oh
<pickfire>
I didn't know.
<MichaelRaskin>
I mean, NixOS does not require it or interact with it
<sphalerite>
it doesn't have to be, but it makes a lot of sense to do so.
<MichaelRaskin>
But when you have one main file defining your system and it is a readable text file…
<pickfire>
How come some stuff in unstable channel is not there even though I use "unstable"?
<simpson>
...then you should memorize it~
zuserm has joined #nixos
<pickfire>
Okay, understandable.
<pickfire>
Yeah, usually I memorize it when trying it out.
<sphalerite>
what specifically is not there, how are you observing it not to be there, and where is your information that it should be there coming from?
inferencerules has quit [Ping timeout: 256 seconds]
<simpson>
Oh, I was being sarcastic, sorry. It's not reasonable to memorize KiB of text configuration. Not only do I endorse checking in configuration.nix to version control, but I endorse factoring it into separate NixOS modules and checking in each of those as well.
<pickfire>
> Changing this option will not upgrade your system.
<{^_^}>
error: syntax error, unexpected ')', expecting ID or OR_KW or DOLLAR_CURLY or '"', at (string):326:1
<zuserm>
I could use some help getting Inconsolata working as my console font. Do I need it both in environment.systemPackages and fonts.fonts or just fonts.fonts, and what is the magic string I put in console.font?
<simpson>
,stateVersion
inferencerules has joined #nixos
<{^_^}>
Changing stateVersion doesn't upgrade anything and can only break your setup at best. To actually upgrade NixOS see https://nixos.org/nixos/manual/#sec-upgrading. If you need to change stateVersion for some odd reason regardless, Ctrl-F for "stateVersion" in https://nixos.org/nixos/manual/release-notes.html to see things that need to be manually migrated with the new value
<simpson>
,fonts
<simpson>
,font
<pickfire>
simpson: Ah, I don't see it as sarcastic.
<pickfire>
Oh, what's the point of stateVersion there though haha.
<pickfire>
I thought it is declarative, but this part isn't.
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sphalerite>
zuserm: console fonts as rendered by the linux fbcon console need to have a special format.
<pickfire>
zuserm: Wait, can iconsalata even be used as console font?
<simpson>
zuserm: Inconsolata is not available as a VT console font, I think. The VT console what Linux gives you when you don't have Xorg running.
<MichaelRaskin>
I mean, there are _two_ ways around that
<MichaelRaskin>
One is just to use fbterm
zupo has joined #nixos
<MichaelRaskin>
The other is to use a font format converter
<simpson>
sphalerite: I even have "MostAwesomeDude" on Freenode! I can't change my Github username without breaking folks, so I'm stuck with it.
<MichaelRaskin>
Actually, I use fonts that I prefer non-anti-aliased even in X11
<sphalerite>
zuserm: if you want to use it in your graphical terminal, that's up to your terminal's config and depends entirely on which terminal you're using :)
<simpson>
MichaelRaskin++ that's an interesting module and I figured somebody must have done it somewhere.
<{^_^}>
MichaelRaskin's karma got increased to 45
<sphalerite>
MichaelRaskin: terminus? :D
<MichaelRaskin>
It is not a module, just a package.
<MichaelRaskin>
I use DejaVu Sans everywhere where I actually configure it
<sphalerite>
huh ok, does that have bitmap versions for some resolutions or really good hinting?
<pickfire>
There is karma points here?
<MichaelRaskin>
When I am in a console for a single command, I use the default font, and when I am doing a bit more, I launch fbterm with DejaVu Sans Mono
<sphalerite>
Or does it just somehow magically come out well when rasterised without antialiasing?
<MichaelRaskin>
Antialiasing is a blurry myth
<pickfire>
sphalerite++ is it?
<{^_^}>
sphalerite's karma got increased to 108
<sphalerite>
:)
<zuserm>
sphalerite: yeah, I figured
<Henson>
has anybody got a Yubikey to work with Firefox or Chrome on NixOS? It works no problem on my ancient 2018 Ubuntu system, but I can't get it to work on 20.03 NixOS
<MichaelRaskin>
Most of the older fonts have good or great rasterisation hints
euandreh has quit [Remote host closed the connection]
<MichaelRaskin>
And antialiasing does not really solve the issue of limited resolution…
<pickfire>
I heard the good font for console is terminus, never tried it, I normally don't use console because I cannot switch my keys, caps escape, ctrl alt.
<{^_^}>
[nixpkgs] @mweinelt merged pull request #99220 → lilypond: add patch to restrict embedded-{ps,svg} when -dsafe is used → https://git.io/JUyyX
<sphalerite>
pickfire: no, that's a NixOS module, since `loadkeys` requires access to the console that's only available to root.
<sphalerite>
so it's systemwide and will affect all users
Chiliparrot has joined #nixos
<pickfire>
Oh, I didn't know console could do this.
<sphalerite>
really though, why aren't reprogrammable keyboards that send unicode down the wire the norm yet?
<sphalerite>
(ok I think that's off-topic here)
<MichaelRaskin>
Then you could use fbterm, there you can configure input just for you
<duairc>
I'm implementing some non-trivial data structures and algorithms in Nix, and I have a few questions about the building blocks I'm using: are lists implemented as arrays or linked lists (is random access O(1))? And is builtins.substring O(1) or does it copy a new string?
<pickfire>
sphalerite: Ah, I have more changes than that caps:swapcaps,ctrl:swap_lalt_lctl,terminate:ctrl_alt_bksp
<pickfire>
But I know how to switch the keys, probably I wouldn't want this for all users though.
Fare has quit [Ping timeout: 244 seconds]
<sphalerite>
duairc: eelco won't like that :p generally assume the worst for performance of nix evaluation, but lists are arrays.
<sphalerite>
duairc: I'm 80% sure substring will do a copy.
<pickfire>
duairc: Is there even people using linked list as list?
<pickfire>
I thought linked list performance is very bad?
<duairc>
pickfire: Haskell for example uses linked lists
<{^_^}>
[nixpkgs] @mweinelt opened pull request #99484 → [20.09] lilypond: add patch to restrict embedded-{ps,svg} when -dsafe is used → https://git.io/JU74E
<pickfire>
sphalerite: Is there any reason why maps are not validated? Like sometimes people do typo and cannot figure out why is it.
<sphalerite>
ah, good old haskell and its ~sane~ standard types. :p
euandreh has joined #nixos
<pickfire>
Or even list and strings.
Fare has joined #nixos
domogled has joined #nixos
<sphalerite>
pickfire: that's quite an unspecific question :') The NixOS module system performs quite a bit of validation, and nix will reject things too.
<pickfire>
I never seemed to get any of the validation you mentioned.
<sphalerite>
e.g. if you call a function that pattern-matches on its argument with a set not containing (only) the expected stuff, you'll get an error
<sphalerite>
> ({a, b}: null) {a = null; b = null; c = null;}
<pickfire>
Ah, I don't mean a function, like the normal setting.
<{^_^}>
anonymous function at (string):325:2 called with unexpected argument 'c', at (string):325:1
<sphalerite>
NixOS options are generally checked for existence.
<pickfire>
Say i18n.defaultLocale = "en_AOEU.UTF-8";
<{^_^}>
}
<sphalerite>
aww, the bot can't print the error message right (cc infinisil )
<infinisil>
Yea need to fix that
<sphalerite>
pickfire: ah right, yes. In some cases the information necessary to validate it isn't available, in other cases it's just not been implemented.
Chiliparrot has quit [Ping timeout: 260 seconds]
<sphalerite>
For defaultLocale for instance, you'd need a list of available locales, which can only be found by looking into the locales package. That can't be done at evaluation-time, so you'd have to make a derivation that checks it. Perfectly possible, but it makes evaluation and building of the system more expensive and most importantly, someone would have to actually do it :')
<sphalerite>
Some good reading if you want to get an accurate mental model of nix, depending on whether you prefer more academic or more hands-on material, is Eelco Dolstra's thesis (you don't need to read all of it :D ), or the Nix Pills series.
<sphalerite>
infinisil: is there any particular reason you haven't called FCP on ^ yet?
<pickfire>
I saw nix uses mdbook from rust for unstable but not nixos.
<pickfire>
FCP? Sounds like rust project haha.
<infinisil>
sphalerite: Kinda still waiting for the author to update the PR with what I pointed out. I don't think it's reasonable to accept it without that
gthm has joined #nixos
<sphalerite>
I think the RFC process takes some inspiration from Rust's :)
<sphalerite>
infinisil: aaah, I missed the "other than that" in your comment.
ddellacosta has joined #nixos
<pickfire>
Oh no, I hit no space left on device issue again when switching to unstable. T_T
<sphalerite>
ah yes, because of how it works, nix, unlike traditional package managers, doesn't overwrite old stuff when installing new packages… which can end up consuming a leeeeettle bit more space :D
<pickfire>
sphalerite: How should I fix it?
<pickfire>
I mean like there is no more space now and daemon is dead.
ynotperez has quit [Ping timeout: 260 seconds]
betawaffle has quit [Ping timeout: 272 seconds]
sorear has quit [Ping timeout: 272 seconds]
<solene>
nix-build gc maybe
ynotperez has joined #nixos
<solene>
it's $something gc :)
fnords has quit [Ping timeout: 256 seconds]
<sphalerite>
You can still run nix commands (nix-store --optimise, nix-collect-garbage) as root
<sphalerite>
I'd say to run sqlite on the database file yourself and see if it gives you a helpful error message, but you probably don't have sqlite there… and obtaining it when nix isn't working isn't so trivial >.<
<pickfire>
Ah, sudo nix optimise-store work but I run out of space again. T_T
<sphalerite>
you could delete the older nixpkgs if you're doing an upgrade
<sphalerite>
that's fairly big
<pickfire>
But how?
<pickfire>
I mean I need to collect garbage after the upgrade right?
<pickfire>
But the upgrade haven't even complete and I run out of space before that.
<sphalerite>
nix-collect-garbage --delete-older-than 1h — note that that will delete all older versions of user environments, which prevents you from rolling back to them again
night has quit [Read error: Connection reset by peer]
<Ke>
yeah old dll hell descriptions did not really in any way describe most modern distros
<sphalerite>
pickfire: a basic nixos install takes about 880MiB, plus ~100MiB for nixpkgs, I think that's not too far above other distros??
<sphalerite>
s/?$//
<pickfire>
sphalerite: Is it normal for nixos-build switch --upgrade to be so long?
<Ke>
if you have 1000 containers, nixos is very friendly wrt. space usage
<pickfire>
Like more than 5 minutes, way slower than other distro.
<sphalerite>
pickfire: with --upgrade, it will first download a new nixpkgs, which takes a little while, then evaluate the system config, which typically takes a couple of seconds, and then build/download, which depends a lot on what's in your system, what's already there, and what's available in the binary caches.
<pickfire>
Ke: True, but I don't really like container unless it is really needed, like system deployment.
<pickfire>
Oh, I get no space left again. T_T
<sphalerite>
and how fast your internet and I/O are.
<Henson>
pickfire: on my laptop my /nix directory is taking up 62G, but I haven't cleaned up my old generations in a while
<pickfire>
Henson: Wow, that's a lot.
<sphalerite>
pickfire: 8G is not a lot for two installations of a linux distro with a full graphical UI
<sphalerite>
(which I assume you have, since it's that big)
<pickfire>
sphalerite: My internet used to be 2mbps, now I think improved to 30mbps IIRC. But a quick speedtest shows 52 Mbit/s
<pickfire>
IO probably shit, I am running it in a VM, but my laptop x220 is using SSD so it should still be fine.
<sphalerite>
that's alright, then maybe qemu is slowing it down (is KVM available?) and I/O might also be a factor
<sphalerite>
ah right, yeah if you're running on an SSD it should indeed be fine.
maxfield has quit [Quit: maxfield]
<pickfire>
8G is a lot, 4G I think is normal.
maxfield has joined #nixos
<pickfire>
I recall gnome install on arch is 2G IIRC, not sure if it's still true now, but KDE definely larger.
<Henson>
pickfire: I've got a headless production computer where /nix is 6 GB. On a cloud virtual computer it's 2.6 GB.
sputny has joined #nixos
<sphalerite>
pickfire: I'd say 4G is probably quite normal for an installation with KDE. So if you have 2 installations with KDE, you're right away scratching at the limits of that 8G virtual disk :)
<Henson>
pickfire: on another computer it's using up 5.4 GB
<pickfire>
Yes, now is 4G.
<solene>
is there a way to find packages which have a new release? so I don't have to do it by hand to find which package to update
<pickfire>
Maybe I should change it to LXDE to make the upgrade working.
<sphalerite>
solene: with plain nix?
<pickfire>
Oh, there is no LXDE.
meh` has joined #nixos
selfsymmetric-mu has joined #nixos
<pickfire>
Oh why
<sphalerite>
solene: you can use nix-env -u if you're using nix-env, though there are some caveats
<sphalerite>
,imperative
<{^_^}>
nix-env has multiple drawbacks as an imperative package manager. nix-env -u will sometimes upgrade to the wrong thing; the outputs to install are very finicky to override; and packages that have been removed or are otherwise unavailable will remain in your profile without any warnings. Consider using a ,declarative setup instead.
<sphalerite>
pickfire: weren't you going to use dwm? That's a lot smaller :D
<selfsymmetric-mu>
Does anyone have merge rights who might be willing to merge this PR? It's been carefully reviewed and tested by multiple people, and is short and isolated. https://github.com/NixOS/nixpkgs/pull/87766
<selfsymmetric-mu>
Thank you 7c6f434c Michael Raskin!!
<selfsymmetric-mu>
You have delivered us of a weighty bolus. Much appreciated.
<MichaelRaskin>
There are some topics that are just a mess whatever is done… Node is one of them: probably too large to package entire NPM, but regenerating the stuff means a huge diff which is kind of risky and hard to review properly
<selfsymmetric-mu>
Absolutely. I believe there's an idea somewhere about making the regeneration part of the build.
<MichaelRaskin>
I have just kind of ran out of caring, so I sometimes merge things that are clearly not _too_ bad on pure hope.
grobi has quit [Quit: WeeChat 2.8]
<Henson>
weighty bolus, I love that description
<selfsymmetric-mu>
MichaelRaskin: Completely understandable. I understand this is an ongoing discussion—how to safely expand merge privileges so that maintainers don't (justifiably) burn out.
<MichaelRaskin>
So far I have been asked to help make sure that the fixes needed by the stuff I semiblind-merged get applied in a timely manner, but no one has yet tried to ask me to care more about quality, so…
<selfsymmetric-mu>
MichaelRaskin: hah!
<MichaelRaskin>
selfsymmetric-mu: this set of topic is kind of worse. In a sense, here my burnout helps!
init_6 has quit [Ping timeout: 265 seconds]
Fare has joined #nixos
<selfsymmetric-mu>
XD
lucas__ has joined #nixos
<selfsymmetric-mu>
I like your philosophy.
<sphalerite>
pickfire: that can very easily get out of sync with the `supportedLocales` setting just below it :/
<MichaelRaskin>
There are people who do a _ton_ of reviewing, but they normally try to make sure stuff makes sense
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
lucas__ has quit [Read error: Connection reset by peer]
<sphalerite>
pickfire: that would get out of sync with what's supported by glibc itself.
<pickfire>
Yes
<sphalerite>
pickfire: IMHO the best approach there would probably be to check this not at evaluation time but by testing the one set with a little derivation
<pickfire>
But would it be better to query it everytime?
<pickfire>
Huh?
<pickfire>
Looks like quite an effort needed.
* pickfire
runs
<pickfire>
But yeah, the command to generate it I put up above, up to people to implement it, probably not the best way like you say.
<pickfire>
sphalerite++ thanks a lot for helping out, but I am going to sleep, night.
<{^_^}>
sphalerite's karma got increased to 109
<sphalerite>
glad I could help!
<sphalerite>
good night!
<sphalerite>
Hm, do have anything like system.extraDependencies, but which doesn't end up in the runtime closure of the system?
corpix has quit [Remote host closed the connection]
corpix has joined #nixos
Fare has quit [Ping timeout: 240 seconds]
<infinisil>
99.5% to 100000
<Henson>
I figured out the Yubikey problem, it was a USB HID device issue with udev. By adding the appropriate udev.extraRules line I was able to make it work. Is there a better NixOS option than udev.extraRules for allowing this kind of device access to users?
<{^_^}>
openzfs/zfs#6805 (by AaronFriel, 2 years ago, open): ZFS pool corrupt, core dump on running zfs list: "internal error: Invalid exchange", can no longer zpool import.
<infinisil>
nh2[m]: I do remember that at one point I had to recreate my pool completely because I couldn't recover in any other way
<infinisil>
Lemme check the irc logs in the following days..
cinimod has quit [Ping timeout: 256 seconds]
ardumont has joined #nixos
grobi has joined #nixos
cinimod`` has joined #nixos
<infinisil>
Huh, I can't find the same thing in my logs..
<Henson>
clever: thanks, that did it.
cinimod` has quit [Ping timeout: 256 seconds]
<infinisil>
nh2[m]: Yeah pretty sure this is when I had to nuke the pool
ericsagnes has quit [Ping timeout: 240 seconds]
<nh2[m]>
infinisil: and then what, you copied the data over with rsync or similar?
<Henson>
I don't know if this is relevant to your ZFS discussion, but I once shut off a BSD ZFS computer in the middle of high disk activity when it was in the final stages of shutdown. The system wouldn't boot back up and the pool looked hosed. I booted up with the FreeBSD install USB stick and was able to force the import of the pool which ended up repairing it. It said I ended up losing 5 seconds...
<r-burns>
quick question, any idea why a nix-build would error with "No such file or directory" for a store path even thought the path exists and is in the buildinputs?
<Henson>
of data. I took a snapshot of the whole thing before I rebooted the computer, and that snapshot was still there, so I just rolled everything back to the snapshot and it was totally fine.
<infinisil>
nh2[m]: Restored from backup, zfs send and recv
bk1603 has quit [Ping timeout: 240 seconds]
cjpbirkbeck has joined #nixos
cr4y1_ has joined #nixos
ericsagnes has joined #nixos
<nh2[m]>
infinisil: urgh
<iwq>
why does the polybar package have no modules compiled in by default? wouldn't it be more sensible to compile everything into it and let people disable modules with .override?
<dsal>
Or maybe better... how do I know what all stuff is defined by haskell.nix?
<pinpox>
Hi, I'm trying to run a script from systemd --user but it complains about "error: X connection error... (what: Can't parse display string)" when run as normal script in the terminal it works perfectly. Can someone help?
<{^_^}>
[nixpkgs] @NieDzejkob opened pull request #99503 → Build Isabelle with old Z3 → https://git.io/JU7Hs
<{^_^}>
[nixpkgs] @risicle opened pull request #99516 → pythonPackages.Theano: set NIX_ENFORCE_PURITY=0 for invocation of wrapped compiler → https://git.io/JU5TI
<jackdk>
#99053 should be easy to merge, and has been open five days. Anyone able to take a look?
<aanderse>
jackdk: i have no knowledge of that software so i'm not sure if the user shouldn't exist or if the systemd service should be set to use it
<aanderse>
if you know, please comment :)
zupo has quit [Ping timeout: 246 seconds]
<jackdk>
aanderse: Me neither, I was in the "just make it go" levels of yakshaving when I hit the bug. But I have a bit of time to read AWS docs over breakfast
<aanderse>
jackdk++
<aanderse>
from git history it looks like it should likely run as that user
<aanderse>
i pinged manveru who originally made the change... so you could just wait if it isn't pressing
<{^_^}>
jackdk's karma got increased to 8
<manveru>
aanderse: afaicr the user should be configurable, depending on what you use the service for. But it's been a while since i touched it and only cared about the metrics collection
gustavderdrache has joined #nixos
<jackdk>
aanderse: it's one of those things N layers deep in the stack of a side project. I wanted to use SSM to test #96593 in a VPC with no public IPv4