<sarcasticadmin>
I completely agree and something that is very doable
<samueldr>
sarcasticadmin: if you're interested in SBCs + NixOS, I also invite you to join #nixos-aarch64
<sarcasticadmin>
ya definitely interested to join the conversation over there!
metreo has quit [Quit: Leaving.]
<sarcasticadmin>
Im eager to make use of nix for some of the things for the volunteer tech team at socal linux expo. We use a lot of pi's for various parts of the infrastructure
zeta_0 has joined #nixos
<samueldr>
nice!
<samueldr>
what kind of tasks are relegated to raspberry pis?
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #nixos
alexherbo2 has quit [Ping timeout: 258 seconds]
noudle has quit []
<c4rc4s>
So I've just created my first very simple overlay today but am struggling to understand buildInputs and how to add packages to them. Right now I'm trying to add qtmultimedia to sddm and get "error: attribute 'qtmultimedia' missing". overlay: https://sharing.packetize.me/irc/7d078db89acaea11/overlay.nix
sarcasticadmin has quit [Quit: WeeChat 2.8]
sarcasticadmin has joined #nixos
<c4rc4s>
Am I doing something obviously wrong here? I've also had no luck adding this as a buildInput to a custom package, but with that I get a very different error ("anonymous function at ... called without required argument 'qtmultimedia'")
<sarcasticadmin>
samueldr: thank you so much, really do appreciate it! Now to go get some food Im starving
ris has quit [Ping timeout: 258 seconds]
<c4rc4s>
Ah, so I was just trying to add the wrong thing! Replacing 'qtmultimedia' with 'qt5.qtmultimedia' seems to have solved my problem, thank you. Is there a good way to tell when that will be necessary by looking at nixpkgs? I saw other packages just referencing qtmultimedia.
<clever>
c4rc4s: they might be using qt5.callPackage
<samueldr>
c4rc4s: to expand on clever's note, what ends up happening is that qt5.callPackage does dependency injection of *the right* qt5 attrset into the "callPackage'd" file
<samueldr>
,callPackage
<{^_^}>
If you're updating a file in nixpkgs that starts with something like `{ stdenv, cmake }:`, use `nix-build -A` in the nixpkgs root with the corresponding package attribute to build it. If it's not in nixpkgs, try `nix-build -E 'with import <nixpkgs> {}; callPackage ./file.nix { }'. The mapping from package attributes to package files is in pkgs/top-level/all-packages.nix.
<c4rc4s>
Thank you samueldr, that explains why I saw packages just listing { qtmultimedia } -- they have libsForQt5.callPackage set in all-packages.nix.
o1lo01ol1o has joined #nixos
<{^_^}>
[nixpkgs] @SuperSandro2000 opened pull request #96574 → rs-git-fsmonitor: init at 0.1.3 → https://git.io/JULWb
<jackdk>
suppose I boot the nixos EC2 image. I have a server I want to run on this image, but whose config needs to have the external IP written into its config file. I'm looking for a way to fetch the IP address from the metadata service.
<jackdk>
Even if I fix nixpkgs' ec2-metadata-fetcher.nix to pull down the external IP as well as the other things it's using, I still won't have the IP fetched into /etc/ec2-metadata when the image tries to run my configuration.nix from userdata
<peelz>
The shebang of a shell script is failing to locate the interpreter (bash). I get "/usr/bin/env: bad interpreter: No such file or directory". Am I doing a dumb?
<hpfr>
as I understand the two options, that one seems to be scoped more around what I'm trying to do, while the activationScripts route would allow for more general scripts?
<jackdk>
How do I find the `configuration` argument with which nixos amazon EC2 images are built? Calling `nix-build ./nixos/release.nix -A amazonImage --arg supportedSystems '["x86_64-linux"]'` built an image that successfully imported into EC2, but wouldn't let me SSH in with my keypair
jnbrains has joined #nixos
jnbrains has left #nixos [#nixos]
<jackdk>
nevermind, I think my changes to the metadata-fetcher script broke it
sarcasticadmin has joined #nixos
knerten has joined #nixos
sarcasticadmin has quit [Client Quit]
sarcasticadmin has joined #nixos
mariatsji has joined #nixos
orivej has joined #nixos
IRCsumm has quit [Remote host closed the connection]
kreyren has quit [Remote host closed the connection]
sputny has quit [Remote host closed the connection]
o1lo01ol1o has joined #nixos
tmaekawa has joined #nixos
<jackdk>
okay, getting closer but more stumped. The following line does not set a correct metadata token: `TOKEN=$($wgetCmd -O - --method=PUT --header 'X-aws-ec2-metadata-token-ttl-seconds: 60' http://169.254.169.254/latest/api/token)`
<jackdk>
I confirmed this by putting `echo $TOKEN>token` and noticing that it put whitespace in there
<jackdk>
is there something I'm missing with how nixlang handles interpolation, perhaps?
<clever>
that looks like its entirely in the bash area, not nix
<jackdk>
if I insert `echo $TOKEN>token` between lines 10 and 11, and comment line 11 so it doesn't try to authenticate its requests to IMDS, I see that it did not get a token (by SSH-ing in and looking at the token file on the FS
<clever>
jackdk: but there is no ${ in that line, so nix doesnt make any real changes to it
mariatsji has quit [Remote host closed the connection]
<jackdk>
that's what I thought, but I'm becoming increasingly confused
<clever>
jackdk: the only change nix does to those lines, is the '' will strip 2 spaces from the start of each
mariatsji has joined #nixos
<clever>
only lines 4/5 get some changes
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #nixos
alexherbo2 has joined #nixos
obadz has quit [Quit: WeeChat 2.9]
<jackdk>
ok, so there's no nix-side mangling, which means when I copy/paste that command I'm not tricking myself. The IMDS is up, because if I use v1 requests (without the header), they work and have worked for donkey's ages. So what is going on that I can't get my token?
<clever>
jackdk: what did wget print when it fetched that file? any http status codes?
<clever>
if you used -q, then you wont see any http errors
alexherbo20 has joined #nixos
wak-work has quit [Remote host closed the connection]
<jackdk>
good point. I'll turn off -q and dump stderr into another file. Cycle time on these changes is ~5min because I have to build/upload/import the VM image into AWS
felixfoertsch has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
alexherbo2 has quit [Ping timeout: 240 seconds]
alexherbo20 is now known as alexherbo2
mariatsji has quit [Ping timeout: 272 seconds]
fszdg[m] has quit [Quit: Idle for 30+ days]
oopisthedevil[m] has quit [Quit: Idle for 30+ days]
Louis[m]2 has quit [Quit: Idle for 30+ days]
ggpeti[m] has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
knerten1 has quit [Ping timeout: 240 seconds]
eoli3n_ has quit [Ping timeout: 240 seconds]
<{^_^}>
[nixpkgs] @FRidh merged pull request #96587 → python3.pkgs.flit: use current pytest → https://git.io/JUL2b
<{^_^}>
[nixpkgs] @FRidh pushed to master « python3.pkgs.flit: use current pytest »: https://git.io/JULrq
cyphase has quit [Ping timeout: 240 seconds]
<jackdk>
clever: AAAAAAAAAAAA wget is not wget it's busybox wget which doesn't support --method because we're in tiny-initrd-land
<flox>
Hi all. I am trying to get a package to cross-build for aarch64 but the nativeBuildInputs are missing `objdump` (or rather binutils) and just adding it will cause a exec format error. Does anyone know how to the right binutils needed for cross-building? :)
mariatsji has joined #nixos
<{^_^}>
[nixpkgs] @turboMaCk opened pull request #96594 → elmPackages.elm-optimize-level-2: Init at 0.1.3 → https://git.io/JULoR
<clever>
flox: you want to use $OBJDUMP when cross-compiling
<clever>
[clever@amd-nixos:~]$ nix-shell '<nixpkgs>' -A pkgsCross.aarch64-multiplatform.hello
mariatsji has quit [Ping timeout: 240 seconds]
<clever>
[nix-shell:~]$ echo $OBJDUMP
<clever>
aarch64-unknown-linux-gnu-objdump
<clever>
flox: nix will automatically point that towards the right version for the current target
<flox>
clever: that is precisely the issue, because building is done on my x86 system, so having $OBJDUMP point to an aarch64 version means configure will fail to detect it
<flox>
clever: to my understanding, adding buildPackages.binutils.bintools to nativeBuildInputs should solve this, but for a reason I don't understand, it does not
<clever>
flox: is configure trying to do both x86 and aarch64 builds, for utils used at build-time?
<flox>
afaik no, it should just configure for aarch64
<clever>
can you pastebin your expression?
tobiasBora has quit [Ping timeout: 240 seconds]
tobiasBora has joined #nixos
cjpbirkbeck has quit [Quit: Goodbye, take care]
civodul has joined #nixos
kreyren_ has joined #nixos
<flox>
it's the mbuffer package on master :)
<wpcarro>
I'm attempting to `nix-build` the same Nix expression on two different machines. One succeeds and the other fails. `NIX_PATH` is the same for both machines. Can anyone offer advice on how to further debug this?
kreyren has quit [Ping timeout: 240 seconds]
<immae>
wpcarro: overlays?
<clever>
wpcarro: does `nix-instantiate` give the identical .drv for both machines?
<wpcarro>
also the `nixpkgs-channels` that I'm using as `<nixpkgs>` in `NIX_PATH` is also pinned to the same git commit
<clever>
flox: yep, i can reproduce the mbuffer fault locally
<wpcarro>
clever: I haven't tried that. Standby...
<wpcarro>
clever: okay they're different. I guess that's the smoking gun... can someone help me better understand what this means?
<wpcarro>
That the inputs into the derivation b/w the two differ?
<immae>
wpcarro: Did you check if you have overlays in one of the machines maybe?
<clever>
wpcarro: use nix-copy-closure to get both drv's onto the same machine, then use nix-diff to compare the 2 drv files
<clever>
wpcarro: what does nix-diff say the difference is?
<wpcarro>
immae: I shouldn't have overlays. I'm building from the same `git` repository. Would the overlays show up elsewhere?
<immae>
wpcarro: the overlay may be in ~/.config/nixpkgs/overlay*
<clever>
wpcarro: if you dont force `overlays = [];` then nixpkgs will load the user overlays from the path immae gave
<clever>
wpcarro: nix-diff will reveal exactly what differs, and then it should be a lot more obvious what the cause is
<wpcarro>
clever: okay - running `nix-copy-closure` now
<flox>
clever: any ideas on how to resolve it? :)
<clever>
flox: trying to build master locally to confirm what is happening
<wpcarro>
clever: `nix-diff` is incredible... thank you
<clever>
wpcarro: what difference did it find?
<wpcarro>
Looks like "The environments don't match", and it's because the output hashes of `builtins.path { path = ./.emacs.d/wpc; name = "emacs-libs"; }` differ b/w machines... need to dig into *why*, but it pinpointed the issue
<sphalerite>
flox: $OBJDUMP is an objdump that will run on your build system, but can target aarch64. That's probably what you want.
<clever>
wpcarro: ah, now run `diff -r` on those 2 paths, nix-copy-closure already copied them over too
<wpcarro>
even clearer... looks like ~10 LOCs of Elisp setting keybindings for `magit` makes all the difference... hmm
<wpcarro>
I don't think I would expect that to break my `nix-build` though
<clever>
wpcarro: depends on what the build is then doing with that elisp
<clever>
if you make them match up, and get the same .drv from both machines, does have the same outcome on both?
<wpcarro>
clever: I'll try that now
tex has joined #nixos
mariatsji has joined #nixos
ask6155 has left #nixos ["Later!"]
<tex>
hello everyone, any chance you have nixpkgs package for Xerox WorkCentre 3025 (SANE, scanner)?
alter2000 has quit [Ping timeout: 240 seconds]
xd1le has quit [Remote host closed the connection]
<tex>
correction: hello everyone, any chance you have nixpkgs package for Xerox WorkCentre 3025 (CUPS, SANE)?
alter2000 has joined #nixos
<wpcarro>
clever: after getting the same paths for `nix-instantiate`, I ran `nix-build` thinking that the results should be the same, but they weren't. Machine A succeeded; machine B failed
<clever>
wpcarro: is the sandbox on? what is the actual error?
<wpcarro>
clever: I'm unsure about the sandbox. Is that just a flag? The error is that a requested URL 404s
<clever>
wpcarro: network should never work during a build, if it is working, then the sandbox was off and not doing its job
<hazel[m]>
so uh, I'm trying to define a systemd user service for mpdscribble with `systemd.user.services`, but `systemctl --user start mpdscribble` says "Unit mpdscribble.service not found"
<hazel[m]>
the file /etc/systemd/user/mpdscribble.service exists
<wpcarro>
that makes sense... how can I enable it?
<clever>
wpcarro: by declaring the hash of $out upfront in the nix expression
<clever>
wpcarro: or modifying the package to not do network, and use pkgs.fetchurl to pre-fetch things
<wpcarro>
clever: okay. I'm using `emacsWithPackages`, which I guess is what's doing the fetching, but I assumed internally that would use declare the output hashes
<clever>
wpcarro: its possible that the website the file came from has simply deleted it
<clever>
wpcarro: but one machine has it cached
<wpcarro>
clever: yeah that's what I'm suspecting. I tested the URL and it indeed 404s... Can I build on machine A without using the cached files?
<{^_^}>
[nixpkgs] @FRidh pushed commit from @primeos to staging « python3Packages.cryptography: 3.0 -> 3.1 »: https://git.io/JULiU
<prusnak>
FRidh: that's weird because electron-cash depends on dnspython and currently fails on master for unrelated reason; so you should have seen at least this failure
<{^_^}>
[nixpkgs] @FRidh pushed commit from @sikmir to staging « cmake: fix CMAKE_FIND_FRAMEWORK »: https://git.io/JULit
werner291 has quit [Ping timeout: 240 seconds]
nikivi has joined #nixos
joesventek has joined #nixos
alter2000 has quit [Ping timeout: 256 seconds]
<jackdk>
What would the equivalent of `nix-instantiate --eval -E '(import <nixpkgs/nixos/modules/virtualisation/ec2-amis.nix>)."20.03".us-east-1.hvm-ebs` be in `nix eval`?
arjen-jonathan has joined #nixos
<clever>
To evaluate a Nix expression given on the command line:
<clever>
$ nix eval --expr '1 + 2'
<clever>
jackdk: its in `nix eval --help`
sangoma has quit [Ping timeout: 258 seconds]
<jackdk>
clever: ah, that works. It's getting late here sorry. I was trying to do something with `-f 'channel:foo'` but couldn't get it to accept my input
<{^_^}>
[nixpkgs] @Lassulus merged pull request #96164 → Init cargo-embed and cargo-flash at 0.8.0 → https://git.io/JUf74
<{^_^}>
#95885 (by zowoq, 1 week ago, merged): go, buildGoModule, buildGoPackage: default to go 1.15
<elux>
nice. how come home-manager isn't picking it up yet..?
<FRidh>
you probably need to update your channel or use the nixpkgs-unstable channel
<elux>
for my root user im on nixos-unstable, for my normal user, my nix-channel is showing home-manager https://github.com/rycee/home-manager/archive/master.tar.gz can i also add the nixos-unstable to my user which i use home-manager (which is how i install 'go') ?
<elux>
apparently the home-manager archive/master.tar.gz chan should work for tracking nixos unstable..
sentinal8473 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sentinal8473 has joined #nixos
<yurb>
If I have both nixos-20.03 and nixos-unstable enabled in my user environment, will `nix-env -u` upgrade the stable packages to their versions from unstable?
<yurb>
Ideally I would like packages installed as `nixos.package` to keep tracking the stable channel
<Extends>
packages installed through nixos.package (assuming nixos refers to stable channel) will be updated in stable channel
<elux>
i love nix.. but its confusing
<yurb>
Extends: hm, it seems on my system it would upgrade `nixos.extremetuxracer` to 0.8, although nixos still has 0.7.5
<Extends>
elux: depends on how you manage home-manager, through flakes / niv / channels ?
<{^_^}>
[nixpkgs] @gebner opened pull request #96608 → mathlibtools: init at 0.0.10 → https://git.io/JULMH
<symphorien[m]>
elux: home-manager uses the same channel as nixos-rebuild switch if you haven't setup channels specially
<elux>
my root and normal user have different nix-channel lists it appears. i believe this is fine..?
<elux>
i use my root user + nixos-rebuild switch for my system-level configuration, and home-manager for user environment.
Rusty1 has joined #nixos
<chreekat[m]>
I don't think it's good practice to use nix-env if you're already on NixOS. Just use NixOS...
<elux>
in my normal user ive just added nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs, did a nix-channel --update and now home-manager switch, and it appears to be installing a whole bunch of new things. so hopefully its indexing from the nixpkgs unstable
<elux>
i see go 1.15 in the list of intsalling pkgs. i believe this is working :)
<yurb>
symphorien: my use case is: I want to install certain packages into my user profile only; of those, only some - from unstable. And keep upgrading each packages from the channel it comes from.
<chreekat[m]>
Mm I guess the benefit of nix-env is you don't have to write quite as much of your own Nix code to pull from different versions of Nixpkgs.
<symphorien[m]>
home-manager and /etc/nixos/configuration.nix let you do that sanely
<symphorien[m]>
I'm not sure you can do this with nix-env without dirty tricks
<chreekat[m]>
But it's not much, and the downside is you lose your reproducibility. So yeah, what symphorien said
<yurb>
I see, thanks, I'll keep that in mind. I install most things form configuration.nix, but use nix-env to test different versions of packages occassionally
rardiol has quit [Read error: Connection reset by peer]
eoli3n_ has joined #nixos
evils has quit [Ping timeout: 265 seconds]
justanotheruser has joined #nixos
redji12 has joined #nixos
evils has joined #nixos
<redji12>
Does anyone uses multiseat with nixos? I tried and it gave me a read only filesystem error. I assume I have to configure it on configuration.nix somehow instead of using loginctl.
<yurb>
symphorien: could you provide a hint on how to manage installation from multiple channels in `configuration.nix` or in `~/.config/nixpkgs/config.nix`?
<a525dfg>
as I wanted to look a little into nix expressions and packaging I thought it would be a good idea to check out the nixpkgs repo and a little of the manual
<a525dfg>
but I can't stop wondering how its possible for those nixpkg expressions to build
<a525dfg>
symphorien[m] do you happen to know if there is any resource to look at for integration of nix packages under nixos with the init system
<a525dfg>
like installing systemd unit files
<symphorien[m]>
there is no such integration
<symphorien[m]>
nix derivation can only ever write to /nix/store/thepackagehash
<a525dfg>
how is it possible for packages such as tor to register their daemon under systemd then
<symphorien[m]>
if you want such an integration, you must have the user do something to /etc/nixos/configuration.nix
<symphorien[m]>
usually, you write a NixOS module, and then tell people to set `services.yourmodule.enable = true`
Blackraider has joined #nixos
eoli3n_ has joined #nixos
<a525dfg>
oh
<symphorien[m]>
but in very simple cases where there is a systemd unit file shipped upstream, you can get away with `systemd.packages = [ pkgs.thepackage ]`, which tells nixos to use the systemd unit file from the package
<a525dfg>
this makes sense as now I recall having set the tor option via services.tor.enable in /etc/nixos/conf....conf
<a525dfg>
didn't think of that it was a nixos module :|
<symphorien[m]>
but keep in mind that the main guarantee of nix is that installing a package will not interfere with the system (as in: not break it). So if you want integration, you have to ask for it explicitely
<yurb>
um, reading the readme of home-manager again and I'm still not sure I want to use it (use at your own risk warning, no rollbacks); I have managed to setup a declarative package configuration for my user profile with conditional unstable per https://nixos.org/manual/nixpkgs/stable/#sec-declarative-package-management - will see how it goes
mariatsji has quit [Remote host closed the connection]
<symphorien[m]>
actually many people use home-manager and it works really well
<symphorien[m]>
I would say the readme is overly cautious
xd1le has quit [Ping timeout: 240 seconds]
zupo has joined #nixos
thblt has joined #nixos
xd1le has joined #nixos
Blackraider has joined #nixos
<yurb>
maybe I'm overly cautious too; anyway, also the fact that it's outside nixpkgs opens new attack surface
julm has quit [Remote host closed the connection]
julm has joined #nixos
<yurb>
nixpkgs being the central part of a whole distribution is in theory harder to attack than a smaller independent repo
Blackraider has quit [Remote host closed the connection]
<symphorien[m]>
I'm not very convinced, but well, ¯\_(ツ)_/¯
WilliButz has quit [Remote host closed the connection]
eoli3n_ has joined #nixos
WilliButz has joined #nixos
<edef>
rycee: no, there are 1K total members of the org
<edef>
rycee: which includes the maintainers group
<edef>
rycee: nixpkgs committers has 135 members
<rycee>
edef: Ah right. I got them mixed up. Thanks for the clarification.
<edef>
the maintainers group has 998 members, heavily overlapping with committers
<symphorien[m]>
rycee what do you think about moderating the warning in the readme of home-manager ?
trulsa has joined #nixos
trulsa has quit [Remote host closed the connection]
mariatsji has joined #nixos
<symphorien[m]>
home-manager seems to have become rather mature
<thblt>
Hey, my command-not-found db seems broken, command-not-found doesn't suggest packages anymore. Anything I can do to fix that? I'm using a relatively fresh unstable.
<rycee>
symphorien: Its main purpose is to reduce the maintenance burden so dampening popularity is intentional.
<{^_^}>
[nixpkgs] @bcc32 opened pull request #96620 → ocamlPackages.webbrowser: init at 0.6.1 → https://git.io/JULQi
<thblt>
The DB file exists at /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite
<unclechu>
hey, if i do something like `pkgs.mkShell{shellHook="run-some-tests;exit";}` and then do `nix-shell test.nix` is this an anti-pattern and i shouldn’t do it this way?
<{^_^}>
[nixpkgs] @FRidh opened pull request #96621 → bzip2_1_1: init at 2020-08-11 → https://git.io/JULQD
<unclechu>
if so how would you do something like this?
<evanjs>
Ugh. Called it. The description string I used for cargo-cache ends up breaking things when installed via nix-env
<evanjs>
I wonder if this is a nix-env bug or just not enough escaping on my end?
<evanjs>
The description I used was: "manage cargo cache (${CARGO_HOME}, ~/.cargo/), print sizes of dirs and remove dirs selectively"
Blackraider has joined #nixos
<evanjs>
description = "Manage cargo cache (\${CARGO_HOME}, ~/.cargo/), print sizes of dirs and remove dirs selectively";
<evanjs>
Looks like that's not enough to keep nix-env from dying
<symphorien[m]>
unclechu I don't know if this is an antipattern, but maybe consider `nix-shell --run "run-some-tests"`
<symphorien[m]>
possibly, define `run-some-tests` as a bash function inside shell.nix
kreyren has quit [Ping timeout: 240 seconds]
<unclechu>
symphorien: sure but this requires knowing the command name
leomar[m] has left #nixos ["User left"]
sangoma has joined #nixos
<unclechu>
and shit would be in my case `nix-shell test.nix --run 'run-some-tests'`
<unclechu>
this*
<unclechu>
i have no idea how “this” became “shit” 😆
<symphorien[m]>
anyway, you have to have some doc somewhere of how to run tests, because it will not be self-evident that running `nix-shell` will run tests instead of opening a shell
Blackraider has quit [Remote host closed the connection]
<nixos_newb>
Hello all. Do not know if this is the correct place to ask for help, please tell me if there is another place more adequate.
<symphorien[m]>
Don't ask to ask ;)
<nixos_newb>
I am suffering with the issue described here: https://github.com/NixOS/nixpkgs/issues/45039 . I am trying to use qtile with additional python packages. I am having trouble in adding them.
<nixos_newb>
The issue is still open, I am willing to make a "hack" solution while it this issue is not solved.
Blackraider has quit [Remote host closed the connection]
KarlJoad has joined #nixos
KarlJoad has left #nixos [#nixos]
<nixos_newb>
On the issue, there some code on the last comment. I am not sure if that was suppose to solve the issue. Even so, I have no idea to where should I plug in that code.
<{^_^}>
[nixpkgs] @SCOTT-HAMILTON opened pull request #96624 → python-keystoneclient: Init at 4.1.0 (+ all openstack dependencies) → https://git.io/JULdA
<typedeph>
where should I ask for help/tips on a NixOS install?
<Extends>
here lol
gustavderdrache has joined #nixos
<{^_^}>
[nixpkgs] @tnias opened pull request #96627 → fractal: add gtk support to gstreamer → https://git.io/JULN9
<evanjs>
"access("/etc/ld-nix.so.preload", R_OK) = -1 ENOENT (No such file or directory)"
<evanjs>
Guess there are other problems now, though XD
zupo has joined #nixos
<typedeph>
alright, I'm on the 2020 spectre 13t trying to boot but I keep hitting a -- "usci_acpi USBC000:00: PPM init failed (-110)" timeout failure. I've tried adding nixos-hardware's common/laptop and common/cpu/intel expressions to my configuration.nix but have made no progress. I'm pretty green to debugging kernel issues, any tips on how to investigate
<typedeph>
what kernel params/modules I should try activating?
<bbigras>
Wasn't there a script to tell me all the packages that I maintain that are outdated?
typedeph has quit [Remote host closed the connection]
typedeph has joined #nixos
<{^_^}>
[nixpkgs] @jonringer pushed 14 commits to python-unstable: https://git.io/JULAG
<Extends>
typedeph: you generate a new generation using nixos-rebuild
Kritnich has quit [Quit: Bye bye.]
<Extends>
nixos-rebuild switch if you want to switch to the generation, nixos-rebuild boot the boot into the next generation the next time, build if you want to build your system in a result folder without activating it nor seeing it in grub, and test to build / activating it but not adding it to grub
<typedeph>
I'm trying explicitly setting it to false to see if nixos-install creates a generation
<typedeph>
originally I just commented it out
<typedeph>
seems to have done the trick
<typedeph>
I'll try rebuild because perhaps install doesn't rebuild though?
<Extends>
nixos-install installs nixos in the FS mounted on /mnt
<typedeph>
still get the same issue after the generating a new generation by the way
<Extends>
maybe related to your drivers / your kernel version
<typedeph>
kernel is 5.4.61
<typedeph>
I thought it was drivers also
<typedeph>
either that or a USBC kernel module that I don't have activated
<typedeph>
this is why I tried using the intel expressions but I might some other secret sauce since I'm using ice lake intel architecture
typedeph has quit [Remote host closed the connection]
typedeph has joined #nixos
<typedeph>
to be wholly fair I get this same issue popping up when I boot the nixos live stick but it doesn't attempt to time out
Kritnich has joined #nixos
<typedeph>
perhaps I should mention that I get two errors before this that seem to be ignored
<{^_^}>
[nixpkgs] @jonringer pushed 3 commits to python-unstable: https://git.io/JULx2
<Extends>
seems to be a consensus around it being a hardware compatibility issue
<typedeph>
then I also get an intel-spi thing "intel-spi 0000:00:if.5: error -22 reading CR" error reading configuration register and fails to clear block protection bits
<Extends>
concerning intel-spi you can blacklist it
<{^_^}>
[nixpkgs] @TethysSvensson opened pull request #96630 → zathura: symlinkJoin all of plugins → https://git.io/JULx9
<Extends>
and for tpm you might need to load the driver
<fzakaria>
infinisil: how do i see what the bot supports ?
<fzakaria>
That a bummer; nix-locate through the bot sounds cool :)
<fzakaria>
Maybe i'll give legit IRC a chance instead; but i like the persistence of Matrix.
<Extends>
typedeph: they are indeed
<nixos_newbie>
Hey, is it possible from inside nixos to browse the derivations of a package? Is it stored locally or it is all on a remote git repository?
<Extends>
browsing the derivations ? something like nix edit nixpkgs.package ?
<nixos_newbie>
exactly, great
dottedmag has left #nixos [#nixos]
<nixos_newbie>
on my configuration.nix, I am trying to overlay a package. It is not working as I intended. Is there a easy way to debug this? For instance, I would like "see" what the attribute evaluates to.
<pie_>
nixos_newbie: its not exactly trivial but its not hard if you know what youre doing (the "know what youre doing" is doing a lot of work there...); you can use `nix repl`
<pie_>
but im too distracted to actually walk you through it right now
<pie_>
you cando it with configuratin too, but id you dont do weird messing with your NIX_PATH like i do (and leave it broken like i do), you can use the nixos-configuration tool or something like that, to get the attributes
<pie_>
it also has tab completion+
<pie_>
!
<pie_>
*its called nixos-option
<pie_>
oh but you are doing package overlays (im distracted)
redji12 has quit [Remote host closed the connection]
<nixos_newbie>
Well, I want to do a package overlay. I want to add a few python libraries to qtile.
<nixos_newbie>
So I added this to my configuration.nix:
<pie_>
you can manually apply an overlay by doing:
<pie_>
> let ov = (self: super: { myvalue = 2; }); in (import <nixpkgs> { overlays = [ ov ]; }).myvalue
<{^_^}>
2
<pie_>
if you are able to read that.
davidv7 has quit [Ping timeout: 240 seconds]
davidv7 has joined #nixos
<pie_>
so you can test overlays in nix repl by just running a similar line to that (or doing it in a file and importing the file in the replÖ)
<pie_>
i dont really know my way around the python infrastructure but I dont see any immediate issue with what you pasted.
<pie_>
are you sure qtile.overrideAttrs takes the pythonPath argument?
<pie_>
is it not overridePython or something?
<Extends>
it does
<pie_>
I dont know.
<pie_>
ok
<{^_^}>
[nixpkgs] @htr opened pull request #96634 → gospider: init at 1.1.2 → https://git.io/JULhc
<nixos_newbie>
I just wanted to make sure I was overriding the thing I think I am overriding
<pie_>
also nix repl is kinda weird and you might have to reload the repl after making changes, im not sure
<pie_>
you usually need to reload it when it caches an error or something
<pie_>
nixos_newbie: yeah being able to poke at the thing can be pretty helpful. the repl is probably less roundabout than doing a system rebuild
<pie_>
nixos_newbie: also everything "compiles down to" derivations, so you should get used to debugging by loooking at those if necessary
<pie_>
you can view the contents of a drv with `nix show-derivation some_path_goes_here`
<nixos_newbie>
thanks for the directions pie_
<pie_>
sorry if im dumping too mcuh on you :) theres a lot of stuff
* pie_
should really get around to writing those How To Debug XYZ guides...
<nixos_newbie>
yeah, I noticed, using this only for a week now
eoli3n_ has quit [Ping timeout: 256 seconds]
<pie_>
theres a lot of quirks and stuff but...its very good, just gotta wait for the stockholm syndrome to kick in ;P
<pie_>
(or if you have certain preferences for system design...)
<pie_>
nixos_newbie: a lot of stuff is really a "nixpkgs as a library" thing so theres going to be a lot of things you are learning that are like, misc library stuff
<nixos_newbie>
when I run nix show-derivations nixpkgs.qtile, what I see has my overlay applied to it?
Darkmatter66_ has quit [Ping timeout: 240 seconds]
<pie_>
does that work with attributes?
<pie_>
didnt know that
<pie_>
if you use it in that form its probably going to be using whatever you have set in NIX_PATH
<Extends>
nixos_newbie: your overlay looks good to me.
<pie_>
and imnot sure offhand actually if the system config overlays apply when you run stuff like that
<{^_^}>
[nixpkgs] @htr opened pull request #96636 → ffuf: init at 1.1.0 → https://git.io/JULhP
<pie_>
i would guess that it doesnt
<pie_>
youll want to nix-build an expression that applies the overlay and gives you a derivation
<pie_>
then give that derivation to nix show-derivation
<pie_>
well
<nixos_newbie>
It is not showing on "pythonPath" when I run show-derivation
<pie_>
if it evaluates stuff like that you might just be able to do nix show-derivation "import ./whatever.nix" but ive never seen that
<nixos_newbie>
only the "stock" values
<Guest19238>
ls
<pie_>
its also a question of whether youre looking at the right derivation, but asuming you are...youre probably looking at one without the overlay applied
<bbigras>
I think the more people that would use open source tools, those tools will get better. they would get more funding, more bug report (and feature request), more PRs, more servers in matrix's case.
<bbigras>
matrix has video stream with jitsi I'm pretty sure.
<bbigras>
I know people really like those 1 click voice-chat rooms in Discord
<arianvp>
is there a history somewhere why/when callPackage got introduced
<arianvp>
?
alter2000 has joined #nixos
<{^_^}>
[nixpkgs] @kfollesdal opened pull request #96638 → databricks-connect: init at 7.1.0 → https://git.io/JULj5
cole-h has quit [Quit: Goodbye]
zupo_ has joined #nixos
zupo has quit [Ping timeout: 240 seconds]
<samueldr>
the experience of bridged irc<->discord *as currently implemented* is so terrible it's not worth the headache... if it was implemented with per-user irc connection/presence it would be fine though
<samueldr>
I don't know how it looks on the other side, but I figure similar issues
<samueldr>
there's a channel I'm on where I don't participate much because it's "all protocols" bridged together using this hacky solution of a bot that relays, even matrix
Church- has joined #nixos
<samueldr>
I'm not even really concerned about the closed-source issues of discord in that instance, though I am personally
aleph- has quit [Ping timeout: 246 seconds]
<jlv>
Extends: I mean, show do I add man pages and completion files to a Nix package I am writing, so they will be properly installed when the package is installed.
<samueldr>
jlv: if you grep for "man/" and "share/bash-completion" under pkgs/ it should show a bunch of different methods
<{^_^}>
[nixpkgs] @xfix opened pull request #96639 → nixos/availableKernelModules: add microsoft hid → https://git.io/JUteO
<samueldr>
there is not really an idiomatic manner all across nixpkgs, but there might be a more idiomatic one for the particular kind of package (e.g. haskell, python)
typedeph has quit [Remote host closed the connection]
<jlv>
samueldr: it looks like you can add to $out/share/man/man1 , and I think there is something you can do with a `man` output. I wasn't sure if there was a recommended, or canonical, way of doing it.
<samueldr>
usually the installPhase handles it if the package's own installation instructions (e.g. make install) does
<samueldr>
since generally it installs to $PREFIX and it's handled for you, but sometimes upstream packaging isn't done right :)
<jlv>
samueldr: in this case, I'm actually making the program directly as a Nix package, so there is no upstream packaging.
<samueldr>
I see, though it doesn't mean you can't have it done through a Makefile :)
<samueldr>
though yeah, nothing idiomatic or specialized, it's basically putting the files at the right location
<jlv>
I with the nixpkgs manual was better about stuff like this. It would help the advice new users and keep the nixpkgs repository consistent.
<jlv>
Most of my Nix and nixpkgs knowledge comes from looking at the nixpkgs repository, but I don't know if I'm looking at something out of date, or the "wrong" way of doing something.
<bbigras>
"fzakaria" (https://matrix.to/#/@fzakaria:matrix.org): you can share your screen with jitsi so I'm pretty sure it works for matrix. But fair enough. Whatever work for you.
<samueldr>
(so no notifying on the other side of the bridge :()
<fzakaria>
ew
<fzakaria>
okay i got to get off matrix.
<samueldr>
at the very least *knowing* about it means you can preface the message with a useful line :)
alter2000 has quit [Ping timeout: 240 seconds]
<jlv>
Is there an easy way to enter a shell with a default.nix as an installed package, as opposed to a development environment? Like when you run `nix-shell -p`.
fzakaria is now known as Guest70816
Guest70816 has quit [Killed (cherryh.freenode.net (Nickname regained by services))]
Guest70816 has joined #nixos
fzakaria has joined #nixos
<fzakaria>
okay i'm on HexChat for now :( I'll figure out something more useful later. I've been thinking of finally getting NixOS on an AWS machine; wanting to run some bouncer or something might make the final push
<catern>
jlv: not sure what you mean by "as an installed package" - what's the difference? install packages don't usually change environment variables or anything, they just show up on PATH
<rednaZ[m]>
Then I realized that I do not know how NixOS decides which channel to bind to the pkgs parameter in configuration.nix.
<jlv>
catern: for example. If my Nix script produces `$out/bin/foo`, and I enter a `nix-shell`, I cannot run `foo` or `man foo`, etc. I'm trying to test that man pages and shell completion files are installed correctly. `nix-shell` doesn't add the result of a Nix script to path, only the dependencies.
thblt has left #nixos ["ERC (IRC client for Emacs 27.1)"]
pbb has joined #nixos
<rednaZ[m]>
So how does NixOS decide which channel to bind to the pkgs parameter in configuration.nix?
<rednaZ[m]>
Or does it merge all the root user's channels?
<catern>
jlv: ah I see... you could do `nix run -f default.nix` maybe
<samueldr>
by default, the nix channel named `nixos` in root's (the system's) channels, rednaZ[m]
<catern>
jlv: oh, or I guess just `nix run` does that, great
<rednaZ[m]>
Oh, so that is hard-coded.
<samueldr>
not really
<samueldr>
it's an assumption that's soft-coded, let's say
<jlv>
catern: oh. Nice :) I was trying to do it with `nix-shell` to little success.
Blackraider has joined #nixos
Blackraider has quit [Remote host closed the connection]
<catern>
samueldr: configuration.nix is just a default - there's a Nix command somewhere in Nixpkgs which does a `nix-build configuration.nix` with a few other details specified, but you can also run that Nix command manually yourself against your configuration.nix or against any other .nix file
<samueldr>
catern: rednaZ[m] is the one that asked
<samueldr>
I know how it acts, but thanks
<catern>
sorry I meant to direct that at hime
<samueldr>
no worries
<catern>
jlv: that should suffice for man pages (manpages are automatically picked up based on PATH), shell completion files are a bit trickier, I don't really know how they work
<rednaZ[m]>
Would it not be nice to be able to have multiple parameters to refer to different channels in configuration.nix?
<bbigras>
I thought you could. I think I was using stable with some packages from unstable at some point.
<samueldr>
in some ways, with flakes, it'll be more like that, though you already can import other channels with the <...> syntax, as long as they end up being present on NIX_PATH when rebuilding
<samueldr>
channels are an abstraction over managing the contents of NIX_PATH
<samueldr>
over managing the contents _of directories found in NIX_PATH_, to be more precise
<rednaZ[m]>
I heard a lot of criticism of relying on environment variables.
<samueldr>
when you're using channels you end up doing just that :) but NIX_PATH is not strictly environment variables
<samueldr>
most (all?) nix-provided commands also take -I to change NIX_PATH entries
<samueldr>
though yeah, flakes end up changing the rules a bunch about all that
<catern>
rednaZ[m]: well, it doesn't have to rely on environment variables, that's just how nixos-rebuild works by default, but you can use, e.g., files and relative paths to specify things, or use -I args as samueldr says
<rednaZ[m]>
I was not aware that I use environment variables even when I avoid the <...> syntax.
<rednaZ[m]>
I think people criticize environment variables because it makes it harder to track the state of the system because environment variables are not part of configuration.nix. I have just realized that I already have this problem as soon as I choose to create a new channel because they are not part of configuration.nix either.
<samueldr>
good thinking there, and you're AFAIUI totally right in that understanding
<catern>
it's true but you can also just pin things directly in your configuration.nix - this is why channels are terrible anyway :)
<catern>
infinisil: well, you can always do the underlying nix-build yourself - I admit I'm surprised, though, if there's not a more convenient way than that, is that really the case?
<infinisil>
V: Even then it can't
<infinisil>
catern: Yeah, you need something outside of configuration.nix to specify the nixpkgs
<samueldr>
so you end up having your own tooling that does the equivalent, but with your specific way to pin
<catern>
infinisil: yeah I agree and see what you mean - what's the easy way to do that though? (I don't use NixOS that heavily)
<V>
or you just keep nixpkgs in a git repo
<V>
much simpler
<infinisil>
V: You still need to pass its path to nixos-rebuild somehow
<samueldr>
V: it still relies on NIX_PATH through nixos-rebuild
<V>
no, that part isn't pinned in configuration.nix
<catern>
Extends: how do you compose that together with your configuration.nix?
<infinisil>
I personally use my own deployment system, which supports a config like `{ nodes.foo = { nixpkgs = fetchTarball { ... }; configuration = { ... }; }; }`: https://github.com/Infinisil/nixus
<samueldr>
ah, then you have a part that's not pinned in configuration.nix, circling back to the problem that's attempted at being solved
<samueldr>
I just don't care as much and use a nixpkgs tarball download that's lightly tracked in my config, but not actually tracked hermetically
<V>
configuration.nix/nixos-rebuild kind of suck, anyway
<Extends>
catern: what do you mean ?
<V>
they're only really good for simple stuff, or where you don't care about pinning
<catern>
infinisil: that's tragic! I would have thought that there's a /etc/nixos/nixpkgs.nix or something that nixos-rebuild could pick up
<infinisil>
That might be a good way to resolve it :)
<V>
Currently there's the Nix path which exists as state passed in from the previous build
<V>
And I really don't like that
<V>
(which you can optionally override, add to, etc)
<samueldr>
all of this AFAIUI is being solved through flakes, no?
<V>
Aren't flakes still experimental?
<samueldr>
yes
<samueldr>
thus *being* and not *are* :)
<V>
ah
<samueldr>
such a radical departure is bound to take some time
<V>
From what I've seen of them so far I don't really like them all that much
<V>
But maybe I'll get used to them, who knows
<infinisil>
V: Why not?
<V>
Or maybe it's just because it's very new
<V>
Don't remember, it's been months
<samueldr>
there's been changes in the last few months, and possibly more changes to come
<V>
Ah
<samueldr>
and it's a couple of implementation details being bundled together
<V>
Last I saw of them I think they were extremely verbose
<samueldr>
though I'm no flake buff, so I couldn't say for sure how much it changed
<V>
But I also really don't remember too well, and I'm rather tired rn on top of that
<Extends>
V: they aren't really verbose, you just need 10 lines or so to build your system using flakes
<catern>
I dislike flakes for the same reason I dislike channels, but since flakes will replace channels with something better, it's not that big of a deal
<{^_^}>
[nixos-search] @garbas pushed to fix-156 « this is a query rewrite with multi_match queries »: https://git.io/JUtUY
<infinisil>
catern: The reason being?
<V>
I explicitly do not use channels, except in as much as I use the git branch tracking nixos-unstable
<catern>
infinisil: it's a versioning and dependency system that exists outside of Nix
<{^_^}>
[nixpkgs] @ehmry pushed commit from @SuperSandro2000 to master « somafm-cli: init at 0.3.1 »: https://git.io/JUtUZ
<catern>
infinisil: like most non-Nix versioning and dependency systems, it breaks all the nice reproducibility guarantees of Nix alone
<infinisil>
But it doesn't, because flakes are locked to specific versions
<V>
I use plain git because I have actual history of which nixpkgs I'm using, and because I can modify nixpkgs internals that cannot be reasonably modified using overlays
<catern>
infinisil: but it does, because flakes are (IIUC) local to your machine and external to your Nix expressions
<catern>
V: yes, same
<MtotheM>
Is there a guide for how to build a NixOS container? since there is no offical image for it (only nix the package manager)
<samueldr>
AFAIUI the registry is external, but the dependencies are quite specificly tied to a commit
<infinisil>
catern: Define "local to your machine"
<V>
You get nix channel generations but that doesn't let you pin your nixpkgs to an exact commit
<V>
or bisect it
<V>
or ...
<V>
So you lose a lot of the power that just git would give you
lunik1 has quit [Read error: Connection reset by peer]
sseveran has quit [Remote host closed the connection]
<V>
The only thing I actually depend on channels for is the command-not-found sqlite db
<V>
Which I just grab seperately
<V>
Other than that, I do not have channels on my system
lunik1 has joined #nixos
<V>
I have actually ripped out a decent chunk of channel-related stuff from my local nix
<catern>
infinisil: well, I don't know exactly the flake mechanisms, but for channels I'm sure you know what I mean - <nixpkgs> is different on different machines. my impression is that flakes is supposed to provide a similar kind of mechanism - which is fine for some users, I suppose, but I'm saying why I don't like it and don't recommend using it
<infinisil>
catern: Not the case
<infinisil>
The flakes.nix + flakes.lock file pins all inputs for your expressions
<infinisil>
Combined with flakes using pure evaluation, it makes evaluation completely reproducible
<Extends>
V: which channel do you use for the command-not-found please ?
<catern>
infinisil: so if flakes are pinned, what's the benefit over a conventional pinned.nix?
<V>
But since we're just looking for where commands are located, and I ~roughly follow nixos-unstable, I'm pretty much guaranteed that command-not-found output will be correct
o1lo01ol1o has quit [Remote host closed the connection]
<infinisil>
catern: What is a pinned.nix? Just a bunch of fetchTarballs?
<catern>
infinisil: yes
stigo has quit [Ping timeout: 246 seconds]
<catern>
more specifically, what's the benefit that requires a change in interface
<infinisil>
For one, updating the versions of things
zupo_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<catern>
sure, but there's already plenty of tooling like that, which does what is really a very simple job, and currently is able to exist outside the Nix core
stigo has joined #nixos
<infinisil>
In addition, flakes are required to evaluate with pure eval mode, which in turn allows their evaluation to be cached
<catern>
plus we won't fully remove the need for such tools - we'll still need to be able to update fetchTarball calls in Nixpkgs for example
<infinisil>
Meaning, people using flakes for their configuration.nix have much faster eval
<{^_^}>
[nixos-search] @garbas pushed to fix-156 « increase search result size »: https://git.io/JUtUH
<{^_^}>
[nixpkgs] @Profpatsch pushed to master « gonic: init at 0.11.0 »: https://git.io/JUtUd
<infinisil>
Needed for evaluation
<infinisil>
pkgs.fetchurl and such is for derivation sources, only required during build time
<catern>
sure, I'm just saying that we still need to be able to programmatically edit Nix files and do updates, which is basically exactly the same tooling needed to update a pinned nixpkgs
<catern>
and it seems to me that evaluation caching could be implemented without flakes, there was certainly talk about it before flakes
<infinisil>
I personally am not an expert in flakes, so I can't tell you everything about it
<catern>
but shrug, I trust niksnut knows what he is doing, it just seems like additional stuff, but even if it's bad it can just go the way of the, like, one click links to install packages that are on Hydra :)
<infinisil>
I know that it's not only flakes that are being developed, but many other improvements as well
<infinisil>
Which I think was one of the reasons that flakes is already in Nix master (so the branches don't go too astray)
<infinisil>
So I think there's a whole bunch more to it than I know