<moet>
hello, i'm trying to build a C binary with nix that depends on an external library.. how can i instruct the compiler to find the includes (headers)?
<clever>
moet: put the library into the buildInputs or use `nix-shell -p`
<Ashy>
bqv: i feel like nixpkgs needs some external incentive to get maintainers to be more responsive on PRs
<Ashy>
not that i know how to design such an incentive
<moet>
clever: thanks.. the library is in buildInputs, but when i run the project's makefile, it says it cannot find the header.. i can see that it's searching in the wrong place from the output `gcc -I/usr/include/efi -I/usr/include/efi/x86_64` .. and it's clear that these paths are hardcoded in the makefile.
<clever>
moet: is it in a subdir of include?
<Ashy>
maybe packages are removed from unstable if they have an open PR against them for longer than X weeks
<clever>
moet: which library and which header file?
<Ashy>
that might be slightly too militant and disruptive though
<Ashy>
"slightly" :P
<moet>
clever: there's no /usr/include directory when i enter nix-shell
<clever>
moet: the include dir of the library, which is in /nix/store/
<clever>
moet: `echo $buildInputs`
<moet>
ah, ok, $buildInputs is the base directory of the dependency library.. let me check the manual for how to use that variable properly
<bqv>
Ashy: ha. Yeah, extreme, but maybe in the right direction at least
<clever>
moet: the /include of each buildinput gets added to -I automatically
<clever>
moet: but subdirs are not, hence, 2020-07-05 21:40:33 < clever> moet: is it in a subdir of include?
<moet>
clever: sorry, i didn't understand that the first time you said it.. yes, the header is in a subdir(s) .. make outputs that it called the compiler like this: `gcc -I/usr/include/efi -I/usr/include/efi/x86_64`
orivej has quit [Read error: Connection reset by peer]
<clever>
moet: you probably need to use pkgconfig to find the proper directory then, which library and which header file?
orivej has joined #nixos
<moet>
clever: do you mean that the nix-build is going to modify how make is calling gcc? "17:43 < clever> moet: the /include of each buildinput gets added to -I automatically"
<nicolas[m]1>
When creating a custom module, is there a way to programatically get the definition entry / index entry number to emit precise warnings for module options that are a list?
<Ashy>
sometimes it'd be nice to say "I'd like to offer $X for someone to package up project/library Y"
<Ashy>
i guess bountysource is one potential way
<mica[m]>
The owners of bounty source are less than desirable.
<numkem>
is there a way to have optimus use the 390.xx driver? I've tried doing an override as an overlay for the optimus package and it doesn't work while it looks like it's building correctly
<numkem>
well no, not optimus but bumblebee, I know optimus won't run with 390.xx
<{^_^}>
[nixpkgs] @petabyteboy merged pull request #91691 โ postfix: Add submissions option for postfix and test โ https://git.io/JJeSg
<{^_^}>
[nixpkgs] @petabyteboy pushed commit from @typetetris to master ยซ postfix: Add submissions option for postfix and test (#91691) ยป: https://git.io/JJI6n
MmeQuignon has quit [Ping timeout: 260 seconds]
<Ashy>
mica[m]: yeah i'm not sure about that particular platform, it'd be nice if nixos had a preferred way to do that though
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzzโฆ]
orivej has quit [Ping timeout: 258 seconds]
sigmundv__ has quit [Ping timeout: 246 seconds]
<{^_^}>
[nixpkgs] @veprbl closed pull request #90218 โ zstd: install static libraries to dev โ https://git.io/JfHQi
<mica[m]>
Ashy: yes I would like that too, there are certain things I'd just flat out pay to have done
<growpotkin>
Given all of the workarounds Nix does to make GCC work, is it feasible to develop/contribute to GCC with NixOS? Or should I set a Ubuntu VM instead?
knerten1 has joined #nixos
<growpotkin>
The wrappers have a tendency to throw a wrench in things
<{^_^}>
[nixpkgs] @lucperkins opened pull request #92393 โ <!-- To help with the large amounts of pull requests, we would appreciate your reviews of other pull requests, especiallโฆ โ https://git.io/JJIPz
raghavsood has joined #nixos
kreyren has quit [Remote host closed the connection]
kreyren has joined #nixos
<raghavsood>
If I have a go package A, which requires package B as a binary during its build (but not after that), would it be idiomatic to just build the binary as part of the derivation for A, or should I separate B into its own package? Mainly asking around what's idiomatic when adding a package to nixpkgs
<{^_^}>
[nixpkgs] @jtojnar pushed commit from @r-ryantm to staging ยซ lcms2: 2.10 -> 2.11 ยป: https://git.io/JJIPP
fresheyeball has quit [Quit: WeeChat 2.7.1]
<lopsided98>
raghavsood: I'd say that if there is any chance someone might want to use package B (either as an end user or as a dependency of another package), it should be an independent package
<raghavsood>
lopsided98: I don't think that's likely at the moment - it's a fairly niche package for packing binary data into go binaries (similar to go-bindata, which is already present in nixpkgs), but I don't mind splitting it out
sb__ has joined #nixos
<sb__>
hi
<sb__>
is it possible to add GC roots for nixops configurations? otherwise nixops rebuilds everything if the GC has been run between deployments
Supersonic112 has joined #nixos
lopsided98 has quit [Quit: Disconnected]
Chiliparrot has joined #nixos
Supersonic has quit [Ping timeout: 246 seconds]
Supersonic112 is now known as Supersonic
<Nazral>
Hi, is there any elasticsearch service for nixos by any chance ? like services.elasticsearch.enable = true; to set ?
<moet>
i'm trying to build a C project with nix, and i'm getting an error, impure path `/usr/lib/elf_x86_64_efi.lds' used in link .. this path is hardcoded in the makefile.. in nixos it's located at '${gnu-efi}/lib/elf_x86_64_efi.lds' .. what's the correct way to express this path for a nix build?
<clever>
moet: modify it to accept the path to the linker script as an env var
<aleph->
moet: in preBuildPhase, you could just sed it
<aleph->
clever: Surprised there's nothing like patchShebangs for this.
nownpl has joined #nixos
<moet>
clever: it looks like it's using `$(LD)` as the linker.. or you mean the lds file? would i then put "${gnu-efi}/lib/elf_x86_64_efi.lds" in the nix expression and pass it through with an envvar?
<nownpl>
hello, today I decided to give NixOS a go, and installed it on bare metal, my wireless dongle uses the `rtl8192eu` driver, so I added it to "boot.extraModulePackages" and "boot.kernelModules", but it doesn't get loaded on boot, and `modprobe` does not recognize it. What can I do?
<clever>
nownpl: did you nixos-rebuild switch after editing the configuration.nix?
<clever>
[root@system76:~]# nix-build '<nixpkgs>' -A linuxPackages.rtl8192eu
<clever>
[root@system76:~]# ls result/lib/modules/5.4.44/kernel/drivers/net/wireless/realtek/rtl8192eu/
<clever>
8192eu.ko.xz
<clever>
nownpl: because the driver is actually called 8192eu, you want `modprobe 8192eu` or add 8192eu to boot.kernelModules
<colemickens>
nix-direnv users around? I'm trying to adopt the flakes instructions there and get "opening directory '/path/to/dir/.direnv': No such file or directory"
<moet>
clever: am i reading this right? "All attributes in the set are actually passed as environment variables to the builder," ... this means i can just declare an arbitrary name in stdenv.mkDerivation with the .lds file path, and then reference that in the makefile?
<clever>
moet: yep
<nownpl>
ohh, I'd guessed it would be called "rtl8192eu" since when installing from the git repository with DKMS in other distros it's called like that :P
<nownpl>
thank you!
<moet>
clever: is there any convention to avoid collisions?
<Graypup_>
simpson, wait is that where the source goes? a bit of a misnomer, no?
<nownpl>
and now it gets stuck for a few minutes with "udev Wait for Complete Device Initialization"
<colemickens>
that's what I followed. bqv btw maybe you know, I'm trying ot figure out how "config.allowUnfree" and "legacyPackages" interact, if you know anything ab out that.
<clever>
Graypup_: `nix-shell -A hello` gives you a shell suitable for building hello, so $out is where hello should output to when building
<bqv>
colemickens: that looks neatโฆ
proofofkeags has quit [Ping timeout: 258 seconds]
<simpson>
Graypup_: The source is in the working directory. Sorry, I misread your question.
lihop has quit [Ping timeout: 244 seconds]
<bqv>
colemickens: legagypackages are all eval'd with empty config
<bqv>
If you want otherwise, wrap them yourself, probably
<bqv>
I.e. Import the nixpkgs flake old-style
<nownpl>
clever: `lspci` can't be found, but `modinfo` does not return any error
<clever>
nownpl: you may need to install lspci first
<Graypup_>
simpson, oh, I apparently didn't notice that it had extracted something when I ran unpackPhase, so much trash in the directory I was in lmao
<clever>
,locate bin lspci
<{^_^}>
Found in packages: toybox, busybox, pciutils
<bqv>
colemickens: I take it you don't use lorri, then
<colemickens>
bqv: I kinda never got around to really adopting it? The quick pitch for nix-direnv vs lorri sounded appealing so I figured I'd give it a sot.
<colemickens>
shot*. seems to do what it advertises, I think.
<moet>
now i'm going to try to turn it into a nixos configuration option that runs ahead of nixos in the gummiboot order :)
szicari has joined #nixos
<{^_^}>
[mobile-nixos] @samueldr opened pull request #178 โ initrd: Provide firmwares through the specific option โ https://git.io/JJIM5
<nownpl>
can i do something like `nixos-install --root /` to get everything and install again from scratch or i should just remake my configuration file and do `nixos-rebuild`?
<{^_^}>
[mobile-nixos] @samueldr merged pull request #178 โ initrd: Provide firmwares through the specific option โ https://git.io/JJIM5
<{^_^}>
[mobile-nixos] @samueldr pushed 2 commits to master: https://git.io/JJIMx
<samueldr>
nixos-install is only a bit of machinery around nixos-rebuild, so using nixos-rebuild vs. nixos-install "in-place" should change nothing
<clever>
nownpl: you can just do `nix-store --verify --check-contents`
<clever>
samueldr: this looks like a classic case of "it doesnt work, lets reinstall everything"
<samueldr>
luckily with NixOS it's not really a thing :)
<samueldr>
(excluding some bad stateful situation)
<clever>
nownpl: is it a pci or usb wifi card?
<nownpl>
USB
<clever>
nownpl: what does lsusb say for the card?
<raghavsood>
Is there a defined process for gaining commit access to nixpkgs? We use it heavily in production systems across many services, and being able to upstream changes quicker would be nice, instead of dealing with overlays and local copies
<nownpl>
aa, I already turned the computer off (I'm going to sleep), so I'm going to try continue troubleshooting this tomorrow nwn
<fionera>
jtojnar: thx for reviewing :) Didnt do that much with nix yet so thanks for the feedback ^^
<typetetris>
How is one supposed to find something like `python3Packages.hydra-check` without prior knowing it is in `python3Packages` short from grepping in a nixpkgs checkout?
<simpson>
`nix repl <nixpkgs>` is a useful tool for examining what you've got available in your channel.
user_0x58 has joined #nixos
waleee-cl has quit [Quit: Connection closed for inactivity]
Orbstheorem has joined #nixos
slack1256 has quit [Remote host closed the connection]
<typetetris>
simpson: Wouldn't you still have to crawl all those packages sets (python, haskell, whatever) manually?
<typetetris>
cole-h: Thanks! Didn't know about search.nixos.org!
<pjt_tmp>
is this ^ one a backend that goes to the same place as the other one?
<cole-h>
?
palo1 has joined #nixos
<pjt_tmp>
nixos.org/nixos/packages.html
<pjt_tmp>
wait nevermind
<cole-h>
They're different.
<simpson>
typetetris: Yeah. Usually, somebody will put something like `hydra-check = python36Packages.hydra-check;` in one of the top-level attrsets as an alias, just to avoid this problem.
<simpson>
> magic-wormhole # example which comes to mind, is actually python38Packages.magic-wormhole
<{^_^}>
[nixpkgs] @jtojnar pushed commit from @r-ryantm to staging ยซ libwacom: 1.3 -> 1.4.1 ยป: https://git.io/JJISl
<{^_^}>
[nixpkgs] @matthewbauer opened pull request #92415 โ Add assertion on distributedBuilds & buildMachines != [] โ https://git.io/JJIS8
<growpotkin>
I keep seeing `let foo = true; in ( foo or false )` patterns in nixpkgs, and like ... what???
<growpotkin>
Why?
<growpotkin>
does `or false` have some special meaning?
<srhb>
growpotkin: I think maybe you simplified a bit too much to carry the intention, but it's hard to tell. `foo.bar or false` is a common pattern in the case where the `bar` attribute may be undefined
<{^_^}>
[nixpkgs] @jtojnar pushed commit from @r-ryantm to master ยซ graphene: 1.10.0 -> 1.10.2 ยป: https://git.io/JJIS4
<growpotkin>
GOT IT
<srhb>
growpotkin: So "or" is special, in the sense that it means "or, if the attr does not exist"
<growpotkin>
I figured it was something like that, similar to the JavaScript pattern; but I couldn't recreate it in a repl. I wasn't using an attribute though, just a regular variable
<moet>
seems like it's installed that way, but otherwise configured by a random python script
<moet>
fun nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
sangoma has quit [Ping timeout: 272 seconds]
<srhb>
moet: Yes, the boot builder py script is passed the final system and executes the necessary bootctl commands (among other things)
<moet>
srhb: if i want to install a custom efi executable, which runs before booting nixos, how would i even start to go about that? .. i'm currently researching whether systemd-boot has this capability
alp has joined #nixos
<raghavsood>
Is there a normal way to handle a breaking change? I have a package that makes a breaking change to its db schema in the latest version, but has no inbuilt method to migrate the db - it also has no db versioning, so using a oneshot script to apply the changes is a bid hard, unless I write a oneshot script to check each change in the db and apply it
<raghavsood>
if it doesn't exist
<raghavsood>
Is there a way to mark a package version as having a breaking change, along with some notes on how to resolve it?
<srhb>
moet: I guess you'd basically replace that boot builder with your own. Or just ensure your thing is higher in the boot order, and do whatever the efi equivalent of chainloading is. It's not very pluggable by default, so th latter might be the easier route.
fresheyeball has quit [Quit: WeeChat 2.7.1]
<simpson>
raghavsood: system.stateVersion would be the traditional way, I think.
<iqubic>
When did ghc 8.8.3 hit nixpkgs? Anyone know?
<raghavsood>
This is go package, it's not dependent on the system state
<moet>
srhb: thanks.. that's helpful .. i don't know what the efi equivalent of chainloading is, but efibootmgr outputs a BootOrder that it tries.. on my system they're systemd-boot followed by OSX.. i kind of think what i need to do is change it so that it's custom-executable, systemd-boot, osx .. that way i don't mess up anything with nixos's booting
<srhb>
moet: Sure, if it's possible to "do something" in one boot entry and then move on to the next.
<moet>
srhb: this one post on the arch forums in 2017 seem to indicate that it is https://bbs.archlinux.org/viewtopic.php?pid=1757978#p1757978 .. i guess i'll just experiment manually, but after that i'm wondering if there's a way to manage this through nixos
<{^_^}>
[nixpkgs] @Mic92 opened pull request #92423 โ flake.nix: add armv6l/armv7l systems โ https://git.io/JJIQ8
<srhb>
moet: You probably want to duplicate what the systemd-boot module does, extending it as you go. As I said, it's not pluggable, but it _could_ be.
<bqv>
iqubic: a good while back now
<iqubic>
I see.
<moet>
srhb: you mean, instead of going the efibootmgr route? .. as far as i understand, systemd-boot is calling `bootctl ... install` and that's it .. i don't see any place in nixpkgs where `bootctl .. remove` is ever called
roobz has joined #nixos
<srhb>
moet: In my eyes, your problem is to hook into the nixos-rebuild "boot" command -- which eventually is what runs the scripts necessary to make a generation bootable
nixbitcoin has quit [Remote host closed the connection]
<iqubic>
Anyone know the cause of this: "error: Package โbinary-search-1.0.0.3โ in /nix/store/some_hash_here/nixos/pkgs/development/haskell-modules/hackage-packages.nix:39676 is marked as broken, refusing to evaluate."?
orivej has joined #nixos
<srhb>
iqubic: You mean "why is it broken" ?
<iqubic>
Yes. I do.
orivej_ has quit [Ping timeout: 272 seconds]
<srhb>
iqubic: Usually it becomes clear by allowing it to build anyway and watching the error message
<iqubic>
I'm trying to open a nix-shell here. How do I tell it to let the build continue?
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzzโฆ]
teto1 has joined #nixos
orivej has quit [Ping timeout: 258 seconds]
orivej has joined #nixos
<simon>
hey! I'm trying to use `mkDerivation { src = fetchMercurial ...` but for it to work I have to install mercurial with `nix-env -i mercurial`. I tried adding 'mercurial' to the buildInputs of the `mkDerivation` but that doesn't seem to help
<__monty__>
What's the advantage of builtins.fetchCapital re private repos btw?
<yoctocell[m]>
Is it really worth refactoring my Emacs config to nix?
<clever>
__monty__: the impure ones via builtins, can access secrets (like ssh keys) while fetching
<clever>
__monty__: the pure ones cant access secrets, but dont rely on something being installed
<yoctocell[m]>
I already use `use-package` and `straight.el` to manage my packages
<bqv>
That's up to you.
smatting has joined #nixos
<etu>
yoctocell[m]: We have a community overlay with more updated emacs packages and also a dumb parser that can look for use-package statements to select packages to bundle
<etu>
yoctocell[m]: We also have #nixos-emacs
<yoctocell[m]>
That's great to know
<{^_^}>
[nixpkgs] @vcunat pushed to staging-next ยซ farstream: upstream patch to fix build with new gnumake ยป: https://git.io/JJIFh
<__monty__>
clever: I understand that requires impurity but why does it mean the builtins can't provide the binary?
abdullah_ has joined #nixos
<clever>
__monty__: the impure ones, just have nix impurely run a command as the current user, and the nix binary would have to depend on those commands, for every user
<bqv>
__monty__: builtins are defined in nix's source, hence the name. Everything else is in nixpkgs
yoctocell has joined #nixos
yoctocell_ has joined #nixos
yoctocell_ has quit [Client Quit]
<__monty__>
I'm not sure whether that's addressing my question? fetchFromGithub can obviously run git when it's not on the path. So why can't there be a fetchImpureGit that can use secret keys?
<bqv>
Because builtins are actual native code, they can do impure things
<bqv>
Things in lib, etc, can't, and can only depend on builtins
<clever>
__monty__: fetchFromGithub isnt directly running git, its defining a derivation
<clever>
when nix-daemon then builds that derivation (at a later time), it will run git in a sandbox, possibly with network enabled
<clever>
builtins.fetchGit doesnt define a derivation, it just runs git at eval time, immediately
<__monty__>
So the sandbox could be altered to allow impure use of secrets?
<clever>
the sandbox will copy all inputs to /nix/store/ first, and make them world readable
<bqv>
__monty__: think of it this way, the impure version runs git in nix, in place, where you called it, as part of eval. The pure version runs it in the nix-daemon, after eval, sandboxed, as part of a build. Therefore, the former can see env variables you pass it because its just in the eval process tree, the latter can't because its in a pristine sandbox
sangoma has joined #nixos
<__monty__>
Sure, just don't see why it has to be this way.
<__monty__>
If nix is ever going to handle secrets nicely the sandbox needs an escape hatch, afaict.
<tobiasBora>
I'd like to know, when I run a nix-shell, I can't run "emacsclient" anymore as it tells me that there is no server running... What is the good way to proceed to open a client in a nix-shell?
<regnat>
tobiasBora: Not 100% sure, but nix-shell overwrites the TMPDIR env var which emacsclient might use to find the path to the emacs daemon socket
<regnat>
You can try unsetting it (or setting it to whatever it was set outside of the nix-shell)
<tobiasBora>
regnat: really? What a strange idea. Why is it doing so?
<raboof>
I'm on nixos-unstable, and when I 'nix-shell -p diffoscope', it tries to build diffoscope rather than getting it from hydra. How would I find out why that is?
teto has joined #nixos
<adisbladis>
raboof: There isn't much to figure out. That it builds from source rather than being substituted means one of two things:
<adisbladis>
1. Hydra hasn't yet attempted to build diffoscope, and as it's not a channel blocker this will happen later.
<adisbladis>
2. The build failed, you can see this in Hydra the channel evaluation you are using.
<srhb>
iirc channels don't bump before the evaluation is complete, so _normally_ (barring transient errors) things that are unbuilt at channel bump time will continue to remain so.
<{^_^}>
[flake-registry] @Mic92 opened pull request #2 โ add nur to registry โ https://git.io/JJLTZ
<srhb>
For instance, this "build" https://hydra.nixos.org/build/123610253#tabs-details -- is part of (queued in) hydra evaluation 1598323 -- and as far as I understand it, the channel cannot bump until this hydra evaluation has completed (all builds succeed/fail/abort)
<raboof>
where do I find which things are channel blockers?
<gchristensen>
raboof: tested is a regular job like any other job inside the trunk-combined jobset, with special metadata
roobz has joined #nixos
<gchristensen>
raboof: `tested` is the job which is used to determine if the channel should pass. it depends on several key indicators of healthiness. you can find a map of channels and their key job here: https://status.nixos.org/
<gchristensen>
raboof: from the "tested" job click the Constituents tab and you'll see a list of dependencies and their status over time
<{^_^}>
[nixpkgs] @cdepillabout pushed 2 commits to release-20.03: https://git.io/JJLt4
alp has quit [Ping timeout: 258 seconds]
<lhurttila>
Hi. I'm trying to install Nixos for the first time (on an emty ssd, goal is to make a dual boot with windows ) and i'm not really familiar with linux in general. Booting from an USB stick with the 20.03 ISO opens up the installer choices but after choosing the installer I get a few lines running before the systems seems to freeze with a black
<lhurttila>
screen and an _ in the upper corner. I never get anywhere from that unless i reboot. What am I missing?
<{^_^}>
[nixpkgs] @cdepillabout pushed 3 commits to master: https://git.io/JJLtP
karetsu has quit [Quit: WeeChat 2.8]
reanimus has quit [Ping timeout: 244 seconds]
reanimus has joined #nixos
<lhurttila>
etu I started by putting the iso on the ssd directly at first before using the usb at all but don't know if that can have any effect. GPU is rtx 2070, cpu intel i5-3570k
<zangi>
what does '<' and '>' in `<nixpkgs>` represent? is it a channel?
<adisbladis>
LHurttila: Maybe it's some nvidia driver issues?
iqubic` has left #nixos ["ERC (IRC client for Emacs 28.0.50)"]
<lhurttila>
adisbladis no idea. I'm currently using the latest 451.48 drivers and have two screens plugged in. During the installer the few lines i see jump from one screen to the other which seems weird
work_ has quit [Quit: Connection closed for inactivity]
<adisbladis>
LHurttila: The installer doesn't contain non-free drivers
<etu>
LHurttila: It sounds like a driver issue, I don't think we have the binary nvidia driver on the iso and rtx 2070 is a very new card and I don't think if nouveau works on that yet.
<adisbladis>
So you're using noevueeueue (I have no idea how to spell this driver)
<simpson>
`touch shell.nix` works for me. (I do not use lorri or nix-direnv.) Generally you shouldn't need to, though; direnv TBH tends to not just reload when needed, but sometimes spuriously reload too.
<simpson>
Well, I say "spuriously" but it's probably in response to some system event I can't see. Or maybe because I changed another tree elsewhere.
jumper149 has joined #nixos
<typetetris>
simpson: thanks
sangoma has quit [Ping timeout: 256 seconds]
lhurttila has quit [Ping timeout: 256 seconds]
<evanjs>
Alright, networking noob here. Looking at enabling SNMP, but haven't done much with it before. Looks like there isn't anything easy as far as nixos options go?
<evanjs>
I see a net-snmp package, just no options outside a prometheus exporter and keepalived config
fendor_ has joined #nixos
<simpson>
evanjs: Could I convince you to use Prometheus-style monitoring instead? Or perhaps you have some SNMP-only devices?
<simpson>
We happen to have a relatively nice Prometheus subsystem. Exporters have been systematized. There's not anything equivalent for SNMP, so you'll have to go to each daemon of interest and configure it individually.
<evanjs>
I don't really have any preferences right now, a coworker mentioned SNMP after I mentioned my desktop CPU was maxing out without my knowledge, so I'm just looking at something to monitor stuff like that across the network rn
johnny101m has quit [Quit: -a- Connection Timed Out]
johnny101m has joined #nixos
<simpson>
I recommend Prometheus, or more broadly I recommend *scraping* or *pulling* as the model of moving metrics across the network.
<evanjs>
I've been meaning to look into prometheus and the ELK stack and etc in general for quite a while now, anyway
<evanjs>
give me all the dataaa
<simpson>
Every metric should be meaningful; every alert should be actionable. You may not need ELK for a long time, if you can manage to get by on metrics and not look at logs.
camsbury has quit [Remote host closed the connection]
camsbury has joined #nixos
<evanjs>
sure yeah, was more lumping it in there as something I want to play with lol. But yeah I don't see myself needing it for this specific scenario right now
<evanjs>
For either solution, _some_ sort of server is required, though, right?
<simpson>
For push-style solutions, you'll need a server that everybody knows about and is able to reach. This is what makes pushing not great; configuration changes to the push have to go out to all the pushers, and the pusher can be flooded easily, so you'll have to reconfigure it often.
<{^_^}>
[nixpkgs] @peti pushed to haskell-updates ยซ hackage-packages.nix: automatic Haskell package set update ยป: https://git.io/JJLs6
<evanjs>
Alright, was actually _just_ about to ask you to clarify re your pulling/scraping statement lol
<evanjs>
I think that clears it up, thanks!
<simpson>
For pulling, anybody who has good reach can become the puller. And each pull can be configured independently of all of the different services being monitored.
dingenskirchen has joined #nixos
<simpson>
This leads to a nice incremental buildup of metrics; exporting metrics from services, scraping metrics, aggregating and querying, and long-term storage are all different concerns that can be configured independently.
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzzโฆ]
<evanjs>
Right, so I can enable monitoring on whatever desktop I need to, and just enable the exporters in my default/desktop profiles. That sounds like it should work nicely :D
<evanjs>
*the monitoring daemon
<{^_^}>
[nixpkgs] @peti opened pull request #92461 โ Update Haskell package set to LTS 16.4 (plus other fixes) โ https://git.io/JJLsS
<simpson>
The node exporter is basically a per-machine exporter, treating the machine's vitals as a service.
veleiro has joined #nixos
domogled has quit [Ping timeout: 272 seconds]
<jasom>
What's the easiest way to see what kernel version will be used with a given configuration? I ran into https://github.com/NixOS/nixpkgs/issues/91509 and in my configuration, I left a comment as to which kernel bug required linuxPackages_latest; and I want to check that the version used is post that bugfix
<{^_^}>
#91509 (by mfsch, 1 week ago, open): ZFS fails to build with latest kernel
<KarlJoad>
Hey guys. I'm trying to boot the graphical ISO on a computer with 2 nVidia GPUs. I know I need to set a kernel parameter at boot, but I forget which ones. Can someone help me out?
<alex57>
Hello! I'm linking statically with libmysqlclient and it brings the whole mysql server in the closure of my binary. Can someone please offer some advice?
<{^_^}>
[nixpkgs] @jtojnar pushed commit from @r-ryantm to master ยซ pulseeffects: 4.7.2 -> 4.7.3 ยป: https://git.io/JJLWU
lord| has joined #nixos
proofofkeags has joined #nixos
Thra11 has joined #nixos
pauricthelodger[ has joined #nixos
<Thra11>
I'm cross-compiling an armv7l package. How do I tell my aarch64 nixos machine that my aarch64 builder can cross compile armv7l (in addition to compiling for its native aarch64)?
<jasom>
teto: thanks; the 'nixos-rebuild -vvvvv' showed only one package named 'linux-.*'
MmeQuignon has joined #nixos
<tokudan>
is there a way to stop services.gitolite from adding entries to systemd.tmpfiles.rules? having these entries in there actually breaks my system as tmpfiles rules become active before the encrypted filesystem is mounted, which in turn prevents mounting of the encrypting filesystem...
<{^_^}>
[nixops] @adisbladis opened pull request #1383 โ Define plugins hooks as classes โ https://git.io/JJLWr
<{^_^}>
[nixpkgs] @pacien opened pull request #92480 โ beamerpresenter: init at 0.1.1 โ https://git.io/JJL4y
<cole-h>
`override` only works for the stuff in `{ dep1, dep2, enableDep3 ? false }:` stuff
<slabity>
tokuden: Nixpkgs allows you to overload packages from upstream with your own using overlays. For your user you can do .config/nixpkgs/overlays.nix
<tokudan>
I'm at "2.5. Modify packages via packageOverrides", which gives me an example for ~/.config/nixpkgs/config.nix, but I'm only using /etc/nixos/configuration.nix. so what do I need to put in there?
<OmnipotentEntity>
tokudan, what package do you want to override and what do you want to override it with?
<evanjs>
which involves running a command that would normally modify the user's $HOME, but also requires X
<evanjs>
thinking that, if I can run that, I might be able to copy the final objects into $out and patchelf errything
<scoates>
I'm trying to follow the instructions here: https://github.com/NixOS/nixos-homepage when I `nix-shell`, it complains `error: nix-shell requires a single derivation` after unpacking flake-compat. any ideas?
knupfer1 is now known as knupfer
jb55 has quit [Remote host closed the connection]
<slabity>
scoates: You're in the correct directory? Without any arguments, nix-shell will look for shell.nix
cosimone has quit [Remote host closed the connection]
cosimone has joined #nixos
<jtojnar>
cole-h: s/overrideAttrs/overlays/
<slabity>
scoates: It seems to work for me... What happens if you run the following: "git clone https://github.com/NixOS/nixos-homepage.git && cd nixos-homepage && nix-shell"
<OmnipotentEntity>
You can override the pkgs sent to services.airsonic
<scoates>
error: nix-shell requires a single derivation
cosimone has joined #nixos
<slabity>
Does `nix-shell -p hello` do anything? Because it seems like your nix-shell isn't even attemtping to evaluate the expression given
<scoates>
nix-shell works elsewhere on my system. I use it a lot. yes, `nix-shell -p hello` in this directory does build: https://files.scoat.es/n4XRLAE0.png
<Thra11>
Why do `nix-shell -p hello --run 'nix-store -qd $(which hello)'` and `nix-instantiate '<nixpkgs>' -A hello` give different paths?
<fps>
how do i tell nix-env -i to install the version from my local nixpkgs checkout? does nix-env -i jack2 -I nixpkgs=/home/fps/nixpkgs do the job already?
cosimone has quit [Remote host closed the connection]
<gustavderdrache>
Thra11: on my system i get the same drv for both
cosimone has joined #nixos
moet has joined #nixos
<gustavderdrache>
is there a chance you have a NIX_PATH set or an overlay?
<Thra11>
gustavderdrache: Yes. both.
<scoates>
looks the same, slabity. https://files.scoat.es/aNpZJSkM.png ; (it did fetch the first time I ran it before I saw your "different directory". ~/tmp is empty)
<Thra11>
gustavderdrache: I don't think any of my overlays affect hello though.
<{^_^}>
[nixpkgs] @jonringer pushed commit from @r-ryantm to master ยซ python37Packages.jupyterlab: 2.1.4 -> 2.1.5 ยป: https://git.io/JJL0U
<scoates>
I feel like this kind of thing happens to me too often.
<Thra11>
gustavderdrache: ah ok. As you say, it's probably that one command is looking at NIX_PATH/overlays and the other isn't, I just can't spot the relevant difference.
<Thra11>
Interestingly, the `nix-store -qd` .drv path doesn't exist, while the other one does.
<gustavderdrache>
you may need to actually nix-build it?
<gustavderdrache>
the one that doesn't exist could also have been a cached derivation, idk
<Thra11>
gustavderdrache: I figure the nix-shell bit builds it
alp has quit [Ping timeout: 272 seconds]
<gustavderdrache>
there are some experts who know exactly when and how it happens, but i am unfortunately not one of them :|
<Thra11>
gustavderdrache++ Thanks anyway :)
<{^_^}>
gustavderdrache's karma got increased to 7.999999999999997
<slabity>
Uhh...
<slabity>
Well that's some pretty precise karma...
<evanjs>
Is there any way to run makeWrapper in buildFHSUserEnv? (don't ask lol)
<drakonis>
aha greetings from the other side
<drakonis>
i finally upgraded
maier has joined #nixos
noudle has joined #nixos
KarlJoad has joined #nixos
fendor has quit [Remote host closed the connection]
<KarlJoad>
I am trying to get 2 monitors to use 2 GPUs as my desktop. I know this is possible with the Nouveau drivers, as Ubuntu worked correctly, but I am not sure how to configure this in NixOS. Does anyone have their dotfiles I could peruse?
m1cr0man has joined #nixos
<slabity>
KarlJoad: Not sure if it's helpful, but to get my second GPU's monitor to work I use `xrandr --setprovideroutputsource 1 0` and the modes come up like normal
<slabity>
Not sure how you can convert that to a configuration though
<{^_^}>
[nixos-search] @garbas pushed to master ยซ Pointing to correct branch for different channels (#113) ยป: https://git.io/JJLE6
<{^_^}>
[nixos-search] @garbas merged pull request #113 โ Pointing to correct branch for different channels โ https://git.io/JJLLy
<{^_^}>
[nixos-search] @garbas pushed 0 commits to options-links-to-github: https://git.io/JJLEi
fendor has joined #nixos
<KarlJoad>
slabity: When I typed that in before, all I got was a gray screen on both monitors.
<evanjs>
"path /build should have permissions 755, but had permissions 700. Consider running 'chmod o+rx /build'."
<evanjs>
wot in the world
KarlJoad has quit [Remote host closed the connection]
<slabity>
KarlJoad: Sorry... Anything can happen when you are using Nouveau drivers.
<slabity>
Heck anything can happen when you are using Nvidia drivers...
waleee-cl has joined #nixos
<slabity>
What I can tell you is that if you have an Xorg config that works, then you can use `services.xserver.config` with all your Device and Monitor sections and it should work
hesk has quit [Quit: My MacBook Air has gone to sleep. ZZZzzzโฆ]
red[evilred] has quit [Quit: Idle timeout reached: 10800s]
fendor has quit [Remote host closed the connection]
ndgnuh has joined #nixos
proofofkeags has quit [Remote host closed the connection]
ndgnuh has quit [Remote host closed the connection]
proofofkeags has joined #nixos
<Baughn>
ryantm: Your commit e9f72106c788685e01ff84ea7f28623563f97b44 broken libvmaf. I'm guessing the bot is supposed to build it before committing, though?
eoli3n_ has quit [Remote host closed the connection]
drakonis has joined #nixos
eoli3n_ has joined #nixos
proofofkeags has quit [Ping timeout: 240 seconds]
<OmnipotentEntity>
slabity, did you have some input?
<slabity>
Nah, sorry. Was checking the derivation to see if there was anything that indicated a config file.
<OmnipotentEntity>
alright, thanks for checking :)
<slabity>
Maybe if you can figure out how to load a config at the command-line or an environment variable or something and then make a wrapper around it
<slabity>
But I don't know anything specific about how repmgr works
<OmnipotentEntity>
I'm new to repmgr, but to my understanding it runs a daemon, repmgrd
<slabity>
Oh, it looks like repmgrd has a `--config-file=PATH` option
<slabity>
If you make a derivation for your config you might be able to make a wrapper around it to throw in your configuration.nix
<slabity>
Assuming that's what you're trying to do
<OmnipotentEntity>
I've never tried that, is there a good guide?
<OmnipotentEntity>
it looks like I'll also need to make a service for repmgrd
<slabity>
Well, you can probably start at making a nixos-module that handles all of it
<slabity>
Your services' ExecStart would likely be something like `ExecStart = ''${pkgs.postgresql11Packages.repmgr}/bin/repmgrd --config-file=${somthing}'';`
pamplemousse has quit [Ping timeout: 264 seconds]
andreas303 has quit [Remote host closed the connection]
<KarlJoad>
I am using NixOS on a laptop, and when I boot without an ethernet connection, the system waits for the systemd service. Is there a way to prevent that systemd service from blocking startup?
dadada_ has quit [Ping timeout: 265 seconds]
<slabity>
KarlJoad: How is the connection being managed?
<slabity>
If it's a laptop I'm assuming you are using NetworkManager?
<Henson>
hi everyone, is there a way to find the closure of a shell.nix file to copy the files over to another computer to recreate the shell there? If I use mkShell in the shell.nix file, I can't run nix-build on it to get an output with which to find the closure. Any suggestions?
<Henson>
perhaps there things other than mkShell that I could be using?
jumper149 has joined #nixos
AmandaC has quit [Ping timeout: 244 seconds]
<{^_^}>
[nixos-homepage] @github-actions[bot] pushed commit from GitHub Actions to master ยซ Update flake.lock and blogs.xml [ci skip] ยป: https://git.io/JJLrU
<slabity>
gueogui: i3 does not support hidpi as far as I am aware
<KarlJoad>
slabity: In respose to your "And it's fine when it's plugged in though?", the answer is yes.
<slabity>
You may need to adjust the Xresources Xft.dpi value
<gueorgui>
slabity: Yeah I've adjusted that. Hidpi works fine overall, except for the mouse cursor
<slabity>
KarlJoad: That honestly sounds like dhcpcd is running
<slabity>
KarlJoad: You don't have dhcpcd in your config, do you? NetworkManager should manage that
<slabity>
gueorgui: What about Xcursor.size?
<KarlJoad>
I have the `<devID>.useDHCP = true` set for all interfaces, but no mention of dhcpd.
<slabity>
KarlJoad: Yea, you can remove that. I think that starts the daemon alongside NetworkManager rather than letting NetworkManager run it itself
<gueorgui>
slabity: Yeah, I've tried that, but didn't seem to make a difference
<KarlJoad>
slabity: So, just switch each of the devices' `useDHCP` flags to false?
<slabity>
KarlJoad: You should just remove it entirely. If you have NetworkManager running, that's all you need for networking
<KarlJoad>
Oh! Gotcha. I'll just set them to false, and leave a comment explaining why.
<gueorgui>
slabity: Actually I was wrong, Xcursor.size worked! Thanks a lot :)
<slabity>
KarlJoad: No wait, the value for useDHCP can be a boolean, but it can also be null
<slabity>
You need to set it to null
<slabity>
Remove those lines entirely and check for any other config-lines related to networking
<KarlJoad>
Ok. I'll set it to null and check to see if that works.
knupfer has quit [Ping timeout: 256 seconds]
<{^_^}>
[nixpkgs] @Ma27 merged pull request #92369 โ nixos/test-driver: print a traceback when testScript fails โ https://git.io/JJI4N
<{^_^}>
[nixpkgs] @Ma27 pushed commit from @justinas to master ยซ nixos/test-driver: print a traceback when testScript fails (#92369) ยป: https://git.io/JJLrS
<KarlJoad>
In this case, the thinkpad is the host in question.
<KarlJoad>
Obviously, the appropriate `useDHCP` lines have been changed to null.
<slabity>
So in the `configuration.nix`, you can remove all the networking lines. Including the `networking = { nameservers = [ "8.8.8.8" "8.8.4.4" ]; };` and the `networking.useDHCP = false;`
<robodojo>
for installing nixos, to set up the initial stuff like networking, does that have to be done manually (`ifconfig`) or can it be added to the configuration.nix? i want to minimize the config work that's done outside of nix
__monty__ has quit [Quit: leaving]
<{^_^}>
[nixpkgs] @nh2 opened pull request #92520 โ grub: Fix incorrect upgrade to new `jsonStateLine` โ https://git.io/JJLi6
<KarlJoad>
robodojo: You DO need to ensure you have a network connection before running `nixos-install`
<KarlJoad>
But, you can specify the networking setup of the finished system within the configuration.nix file.
<KarlJoad>
I don't know if it could be. Every other distribution of Linux that I know of requires some user intervention to get initial networking done.
nbp has joined #nixos
<{^_^}>
[nixpkgs] @petabyteboy merged pull request #92520 โ grub: Fix incorrect upgrade to new `jsonStateLine` โ https://git.io/JJLi6
<{^_^}>
[nixpkgs] @petabyteboy pushed commit from @nh2 to master ยซ grub: Fix incorrect upgrade to new `jsonStateLine`. See #85895. (#92520) ยป: https://git.io/JJLih
<cole-h>
Mic92: Why can't we use base64 in nixpkgs? We already bumped minver to 2.2, and base64 was added in 2.0 (which is what it was previously) I thought