<stevenroose>
colemickens: k thanks gonna give that a shot (running git gc on the nixpkgs repo taking a while ^^')
<energizer>
ivan: i see, --cores "It defaults to the value of the cores configuration setting, if set, or 1 otherwise." but nix.buildCores defaults to 0.
iH8c0ff33 has quit [Ping timeout: 260 seconds]
o1lo01ol1o has quit [Remote host closed the connection]
o1lo01ol1o has joined #nixos
cosimone has quit [Ping timeout: 240 seconds]
<energizer>
ivan++ thanks
<{^_^}>
ivan's karma got increased to 10
iH8c0ff33 has joined #nixos
ransom has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
o1lo01ol1o has quit [Remote host closed the connection]
<energizer>
how do i `nix why-depends /nix/store/...config.drv /nix/store/3wf38d1nidny3ds20cgb8ra3d7mjxc5d-python3.8-breezy-3.1.0.drv` without building the latter since that fails to build?
<infinisil>
dminuoso: So it's not strictly a content hash of the files itself, which is what fixed-output derivations need
<dminuoso>
infinisil: But fetchgit does not need the sha hash
<dminuoso>
o.o
<infinisil>
Pretty sure it does?
<dminuoso>
In fact, with fetchgit you can even point to a committish
<infinisil>
Oh do you mean builtins.fetchGit?
<dminuoso>
Yeah
<infinisil>
Oh yeah that's different than `pkgs.fetchgit`
o1lo01ol1o has quit [Remote host closed the connection]
* dminuoso
sighs
<dminuoso>
Of course it is
<dminuoso>
They have different.. uh..
<infinisil>
fetchGit doesn't create a derivation, it uses the git in your path to git clone at eval time, it clones it into ~/.cache/nix somewhere I think
<infinisil>
I think it still can take a sha256 to ensure purity though
<infinisil>
Actually no
<infinisil>
But yeah it doesn't need a content hash because it's not using a fixed-output derivation
<dminuoso>
So I have fetchGit, fetchgit and fetchGitHub at my disposal.
<infinisil>
And fetches it a bit impurely
o1lo01ol1o has joined #nixos
<dminuoso>
mmm I see
wnklmnn has quit [Quit: Leaving]
<dminuoso>
so the nixpkgs.fetchgit builds an derivation, but builtins.fetchGit does not
<infinisil>
Yup
<dminuoso>
(somebody ought to be slapped for the naming here. the confusion is hellish)
<infinisil>
Generally you want to use pkgs.fetch* if possible
<{^_^}>
[nixpkgs] @lovesegfault opened pull request #106405 → python3Packages.soco: fixup and adopt → https://git.io/JIuJi
<Fare>
Interestingly, if I put my object system under .../gerbil-support, then trying to use it to extend gerbil-support itself causes infinite recursion :-(
<{^_^}>
[nixpkgs] @SuperSandro2000 pushed 3 commits to master: https://git.io/JIuTq
rajivr has joined #nixos
numkem has quit [Quit: Ping timeout (120 seconds)]
numkem has joined #nixos
statusbot has quit [Ping timeout: 256 seconds]
djanatyn has quit [Quit: ZNC 1.8.x-git-84-2f4b158 - https://znc.in]
mfernandez has quit [Ping timeout: 256 seconds]
runciter has quit [Ping timeout: 256 seconds]
mfernandez has joined #nixos
djanatyn has joined #nixos
<stevenroose>
infinisil: thanks
das_j has quit [Ping timeout: 265 seconds]
nightmared has quit [Ping timeout: 265 seconds]
helpusobi has quit [Ping timeout: 265 seconds]
ris has quit [Ping timeout: 246 seconds]
yagoham has quit [Ping timeout: 260 seconds]
yagoham has joined #nixos
RickHull has quit [Ping timeout: 245 seconds]
runciter has joined #nixos
helpusobi has joined #nixos
das_j has joined #nixos
nightmared has joined #nixos
sudoforge has quit [Read error: Connection reset by peer]
o1lo01ol1o has quit [Remote host closed the connection]
heyitsrama has quit [Remote host closed the connection]
heyitsrama has joined #nixos
statusbot has joined #nixos
supersandro2000 has quit [Ping timeout: 260 seconds]
ransom has joined #nixos
<adisbladis>
stevenroose: fetchurl can also take hex & base64
chang has joined #nixos
<jasom>
I expect "whatis -w '*'" to return a list of all manpages in the manpath; it doesn't on nixos; any suggestions?
<tejing>
jasom: works for me
Darkmatter66_ has joined #nixos
Darkmatter66 has quit [Ping timeout: 272 seconds]
<jasom>
tejing: huh; "whatis -M /run/current-system/sw/share/man/ -w '*'" (and a similar command for my .nix-profile) yields "*: nothing appropriate."
evax has quit [Ping timeout: 260 seconds]
<gchristensen>
*: nothing appropriate.
<gchristensen>
here too
evax has joined #nixos
Raito_Bezarius has quit [Ping timeout: 260 seconds]
supersandro2000 has joined #nixos
magnetophon has quit [Ping timeout: 258 seconds]
<jasom>
ah, if I do a "sudo mandb" then whatis can find the /run/current-system/sw/share/man/ pages. I would expect a -M to not need the index file though and just be super slow
<jasom>
I suspect tejing has documentation.man.generateCaches set
<tejing>
I haven't set anything about that, so it's just whatever's default
<jasom>
default is false in 20.09 and unstable...
m0rphism has quit [Ping timeout: 246 seconds]
gustavderdrache has quit [Quit: Leaving.]
<tejing>
could stateVersion affect that? I would guess no, but that's my only guess left
<{^_^}>
[nixpkgs] @SuperSandro2000 pushed 2 commits to master: https://git.io/JIuOy
ishan has joined #nixos
<lovesegfault>
oh packageOverrides
miscalculated has joined #nixos
<ishan>
simpson I checked none of my devices are able to access nixos.org (I am on a mobile connection) but if I enable DNS over https in firefox I am able to access the website. Also I am able to rebuild the system.
<{^_^}>
[nixpkgs] @SuperSandro2000 merged pull request #106311 → python3Packages.jupytext: fix build by adding missing markdown-it-py dep; python3 only → https://git.io/JIBQO
<{^_^}>
[nixpkgs] @SuperSandro2000 pushed 3 commits to master: https://git.io/JIu3H
<lukegb>
for your busybox example, you probably want something like `:b busybox.overrideAttrs ({ patches, ... }: { patches = lib.remove ./pkgs/os-specific/linux/busybox/0001-wget-implement-TLS-verification-with-ENABLE_FEATURE_.patch patches; })`
<zhaofeng>
Glad I'm not crazy. Got freaked out when a Java Firefly app just worked inside a nix-shell (it would create directories in the project root by default)
<zhaofeng>
then found out it was mutating the Nix store
<{^_^}>
[nixpkgs] @SuperSandro2000 pushed 3 commits to master: https://git.io/JIuVM
<{^_^}>
[nixpkgs] @SuperSandro2000 merged pull request #106376 → rapidcheck: refactor `postInstall` to install all extras → https://git.io/JIEuY
<{^_^}>
[nixpkgs] @SuperSandro2000 pushed commit from @tsmanner to master « rapidcheck: refactor `postInstall` to install all extras (#106376) »: https://git.io/JIuwg
chang has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<colemickens>
My graphics performance in a nixos guest is really bad compared to some other guests I've used. Is there something obvious I should be doing for accelerated graphics beyond including the qemu-agent.nix profile file?
veleiro has quit [Remote host closed the connection]
chang has joined #nixos
Rusty1 has quit [Quit: WeeChat 2.3]
shah^ has joined #nixos
iH8c0ff33 has joined #nixos
sss4 has joined #nixos
veleiro has joined #nixos
sss2 has quit [Ping timeout: 240 seconds]
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
matthewcroughan_ has quit [Ping timeout: 245 seconds]
iH8c0ff33 has quit [Ping timeout: 240 seconds]
palo1 has joined #nixos
o1lo01ol1o has joined #nixos
palo has quit [Ping timeout: 240 seconds]
palo1 is now known as palo
o1lo01ol1o has quit [Ping timeout: 240 seconds]
<evanjs>
I guess I can post here and check tomorrow lol -- am I missing something here or are Python2 and Python3 indeed getting mixed in this expression somehow?
<pjt_tmp>
disclaimer: I have packaged exactly one python package in my time on this earth
catfyz has joined #nixos
<catfyz>
Hello, how to add startup script for Xorg GUI like GNOME. I want to put `xset r <keycode>` for a custom key.
raghavsood has joined #nixos
<M86ul[m]>
Just a simple question: Does Thunderbird 78 and LibreOffice 7 works on NixOS? In case so, I will dive into NixOS, because it looks promisable...
drvirgilio has quit [Ping timeout: 260 seconds]
<evanjs>
pjt_tmp: yeah, haven't encountered this before, and pythonPackages will still be whatever is passed in, so I don't know if I'm missing something or if it's just a misunderstanding 🤷♂️
drvirgilio has joined #nixos
<evanjs>
M86ul[m]: I see 20.09 has Libreoffice 7.0.0.3 (as libreoffice-fresh) and thunderbird 78.5.1
lewo`` has quit [Remote host closed the connection]
lewo has joined #nixos
davidv7_ has joined #nixos
sangoma has joined #nixos
davidv7 has quit [Ping timeout: 240 seconds]
thibm has joined #nixos
<Shados>
Hmmm. Updated my laptop from nixos-unstable checkout 84d74ae9c9cb to 2247d824fe07, and now booting hangs after selecting the grub option, with an empty grub menu displayed. Booting the previous config works fine, and I can rebuild from the previous nixos-unstable checkout OK. I'm suspecting some sort of kernel issue, given it visibly appears to hang as soon as it loads the kernel, but I have no serial console to confirm with, and none of the available kernel
<Shados>
versions boot using the newer nixos-unstable checkout or 20.09 stable. Any suggestions on how to debug this?
respawn has quit [Quit: Leaving]
<DavHau[m]>
which service of the nixos kubernetes module is populating /var/lib/kubernetes/secrets/ ? It seems like some certs there are expiring after a short time.
janneke has quit [Remote host closed the connection]
janneke has joined #nixos
<ivan>
Shados: add "debug" to your linux boot parameters
<ivan>
Shados: which linux version did you upgrade from and to?
<Shados>
5.8.11, to 5.9.9 (also tried 5.8.18 and 5.4.78)
<ivan>
if you think you might have some exotic issue because of linux breakage one thing you could try is rebuilding but setting the linux kernel to exact version you had before
<ivan>
it's probably something else that I can't think of though, like corrupt /boot or bad grub behavior
<Shados>
It's not corrupt /boot; I also can't boot off of a usb-drive install I have lying around, which is similarly on a more-recent nixos-unstable checkout
<Shados>
ivan: actually, how'd you come across that issue in specific? I was trawling the issue list but my search was turning up an unhelpfully large amount of noise
<patagonicus>
How can I build just the config for a linuxPackages kernel package in nixpkgs?
cole-h has quit [Ping timeout: 265 seconds]
red[evilred] has quit [Quit: Idle timeout reached: 10800s]
<ivan>
Shados: searched “grub”
werner292 has joined #nixos
werner291 has quit [Ping timeout: 272 seconds]
werner292 is now known as werner291
<{^_^}>
[nixpkgs] @avdv opened pull request #106430 → libmodplug: Fix build on darwin → https://git.io/JIzOG
ATuin has joined #nixos
o1lo01ol1o has joined #nixos
<siraben>
How do I get a more minimal stdenv than stdenvNoCC?
<Reventlov>
Hey, I have problems with firefox and service workers (I assume it's them), opening link for which a service worker has already been launched when firefox is not already launched
<Reventlov>
e.g. I open twitter (for example), then I close firefox, then I do a firefox "https://twitter.com/", and then I get a blank screen. Am I the only one ? Is that nixos related or more firefox related ?
<stevenroose>
So nixpills talks about the phases like this:
<stevenroose>
"The build with stdenv works in phases. Phases are like unpackPhase, configurePhase, buildPhase, checkPhase, installPhase, fixupPhase. You can see the default list in the genericBuild function."
<stevenroose>
But there is no link or indication as to where to find the complete list and order of these phases.
<stevenroose>
"in the genericBuild function" that one is not defined in nixpkgs, I grepped. Where can I find it?
<adisbladis>
stevenroose: Sure it is, it's defined in pkgs/stdenv/generic/setup.sh
<stevenroose>
adisbladis: eh, oh I grepped "genericBuilder" accidentally. Thanks for the heads-up!
o1lo01ol1o has quit [Remote host closed the connection]
sevenfourk has joined #nixos
orivej has joined #nixos
<{^_^}>
[nixos-weekly] @Kaligule opened pull request #141 → Add Tutorial on installing NixOS on a raspberry pi 4 → https://git.io/JIzKZ
raghavsood has joined #nixos
SInity has quit [Remote host closed the connection]
<stevenroose>
Is there some page with documentation on all the non-pkg and non-module stuff. I'm thinking like the mkDerivation etc. I don't know what they're called. "builtins"? "lib"? Just all those functions. I'm looking at mkYarnPackage. It seems to specify a few of the build phases but not all and without looking into the code, there's no way how to know to "hook" things in their or so. There's no
<stevenroose>
doc-comments near the declaration of the "function"
o1lo01ol1o has quit [Remote host closed the connection]
cosimone has joined #nixos
<AWizzArd>
Using Nix under Ubuntu I installed Emacs. When I now run it in the shell I get this message: Gtk-Message: 12:50:23.459: Failed to load module "canberra-gtk-module"
<AWizzArd>
(This doesn’t appear when using the Emacs that ships with Ubuntu.)
cosimone has quit [Remote host closed the connection]
civodul has quit [Remote host closed the connection]
neiluj has joined #nixos
sangoma has quit [Read error: Connection reset by peer]
aswanson has joined #nixos
neiluj has quit [Quit: leaving]
gustavderdrache has joined #nixos
qqlq has quit [Ping timeout: 258 seconds]
<{^_^}>
[nix] @regnat opened pull request #4343 → Use no substituers by default in the tests → https://git.io/JIzhc
jonatanb has joined #nixos
<{^_^}>
[nixpkgs] @SamirHafez opened pull request #106449 → yaml-language-server: Fails to start due to missing `prettier` dependency → https://git.io/JIzjG
o1lo01ol1o has quit [Remote host closed the connection]
<srk>
evanjs: instead of pythonPackages argument for the pkgs/tools/admin/vncdo/default.nix it should instead list its dependencies like pillow, twisted..
<srk>
and called via `python3Packages.toPythonApplication` so these are populated automatically
<evanjs>
srk: it _is_ called with toPythonApplication. the format suggested (python3Packages.toPythonApplication) doesn't work
<srk>
yeas because of the first thingie
<srk>
when in doubt, check similar packages
<evanjs>
that's what I was trying to do. There are literally 2 other packages that use that syntax as far as I can tell
<evanjs>
the python#Packages.toPythonApplication, I mean
cosimone has joined #nixos
<evanjs>
I wasn't sure where the mixing was happening, as why-depends says python2Packages.vncdo doesn't depend on python3, python3Packages.vncdo doesn't depend on python2, etc.
werner292 has joined #nixos
<bigvalen>
Does anyone have a plex.nix that always grabs the latest version of Plex/Plexpass, without hard-coding version strings into their configuration ?
Fare has joined #nixos
werner291 has quit [Ping timeout: 260 seconds]
werner292 is now known as werner291
<fuzzypixelz>
can someone please xplain in simple terms how nix detects run-time dependencies of a derivation?
pjan has quit [Remote host closed the connection]
<ehmry>
fuzzypixelz: I think the output is scanned for text containing the input store paths
edwtjo has quit [Ping timeout: 240 seconds]
edwtjo has joined #nixos
edwtjo has joined #nixos
edwtjo has quit [Changing host]
orivej has joined #nixos
o1lo01ol1o has quit [Remote host closed the connection]
<evanjs>
srk: I'd be fine with specifying the dependencies explicitly, but I don't know about switching away from the "with" syntax that nearly all invocations of toPythonApplication seem to use
chang has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<thibm>
evanjs: well, the docs say to use the with; construct
<evanjs>
thibm: hey, don't confuse me even more XD
<evanjs>
no like I did and that's why I was so confused haha
cfricke has quit [Quit: WeeChat 2.9]
<evanjs>
that does really help to know the docs say that though, thank you!
cr4y1 has joined #nixos
<evanjs>
helpful stuff from FRidh telling me to move it to python-modules since it is now also a library :D
<FRidh>
evanjs: yea I got confused. We avoid having the python packages as parameters when its an application that is called from the top-level. In this case, just moving the file would be sufficient
cr4y1_ has joined #nixos
<evanjs>
FRidh: btw, do you think the initial "mixing python versions" concern raised in the PR has any merit? I didn't see how anything was getting mixed between 2 and 3 at all and wanted to make sure I wasn't missing anything
<das_j>
Hm, is there a way to evaluate a nix string without using the nix 2.0 `nix` tool
<{^_^}>
[nixpkgs] @jonringer pushed commit from @danieldk to master « python3Packages.thinc: 7.4.3 -> 7.4.4 »: https://git.io/JIgzA
<fuzzypixelz>
how am I __really__ supposed to install programs?
<fuzzypixelz>
do I declare system packages
<fuzzypixelz>
do I declare user packages
<fuzzypixelz>
if I do the latter, how is that any different that using nix-env ?
<fuzzypixelz>
why do so many people advise against using nix-env
<veleiro>
because its not declarative
<veleiro>
<simpson>
Installation of programs is overrated, mostly. Many things can be done on-demand with nix-shell, and (IIUC) made persistent with lorri.
<veleiro>
because its just leaves a lot of stuff hanging around
<simpson>
You aren't forbidden from using nix-env. But you will have to clean up after yourself.
<veleiro>
nix-shell -p hello is better
<veleiro>
when new users come to nixos, they treat nix-env like apt or dnf or pacman
<srhb>
fuzzypixelz: But in the end, however you like! I did for some time run a very "core" system, with multiple profiles on top of gradual lesser importance. In the end, I wanted everything in one declarative blob, so that either everything upgrades together or nothing does.
<srhb>
fuzzypixelz: It's up to you to decide what you want :)
<fuzzypixelz>
how is not declarative ? doesn't it keep track of a profile under /nix/var/nix/profiles ?
<srhb>
fuzzypixelz: Usually declarative relates to the _expression_ not the built profile.
<srhb>
It's also not black or white declarative/imperative. Some things are _more_ declarative, eg. defining a set of packages and manipulating that wiht nix-env.
<fuzzypixelz>
I see, afterall the profile isn't really readable
<srhb>
fuzzypixelz: It's a scale and you get a lot of flexibility to choose what works for you :)
<veleiro>
indeed
<aanderse>
Izorkin: we're working on a variant which won't cause breakage like that
<aanderse>
changing the socket path would cause me personally a **ton** of work
<{^_^}>
[nixpkgs] @mweinelt pushed 2 commits to staging-20.09: https://git.io/JIgat
<aanderse>
Izorkin: that would introduce a breaking change... just to then revert that breaking change and go back (so 2 breaking changes)
<aanderse>
i don't like that plan
<Izorkin>
aanderse: ok
<fuzzypixelz>
does nixos-rebuild --upgrade also update the channel?
<srhb>
veleiro: Your method sounds sane to me, with the caveat that that version may no longer exist in nixpkgs master
<srhb>
fuzzypixelz: That's exactly what it does
<srhb>
fuzzypixelz: --upgrade, I mean.
hyper_ch5 has quit [Read error: Connection reset by peer]
<srhb>
veleiro: So grepping through the git _history_ for that version string may also be helpful.
<srhb>
veleiro: What I'd do first when I need help is try with something very recent (eg. nixos-unstable) and see if I can reproduce it. Then I can share the problematic expression with this channel, if I'm still stuck, or figure out when things were fixed/broken by bisecting.
Darkmatter66 has joined #nixos
cole-h has joined #nixos
<veleiro>
is there some easy way to grep through git history?
<veleiro>
pretty sure i've never done that
<veleiro>
anyways i should start with the nixpkgs commit my derivation was built with
<gchristensen>
check the git-log man page for -S and -G
<srhb>
veleiro: try git log -p -S "1.30.1-5"
jonatanb has joined #nixos
<srhb>
But yes, -S specifically.
<veleiro>
thank you, thats new to me and useful
<srhb>
Incredibly useful for sure :)
<srhb>
veleiro: (hint: that search should answer your question in the very first result)
<gchristensen>
if you're looking for ancient history, sometimes --reverse is useful for that command :)
<veleiro>
must master every field to use nix effectively
fuzzypixelz has quit [Remote host closed the connection]
Boomerang has quit [Quit: Leaving]
fuzzypixelz has joined #nixos
fuzzypixelz has quit [Client Quit]
fuzzypixelz has joined #nixos
<boxofrox-afk>
I'm trying to upgrade a nixos server from 20.03 to 20.09. I'm running services in containers, and using overlays within the containers (e.g. container.<name>.config.nixpkgs.overlays = [ (import my_overlay_path) ]). However, `nixos-rebuild switch` fails to find the package attributes I export from the overlay, and terminates the rebuild. Did 20.09 change how overlays work, or work with containers?
<{^_^}>
[nixpkgs] @AndersonTorres pushed 4 commits to release-20.09: https://git.io/JIgoN
<numkem>
infinisil: Hi! I've been looking at a deployment tool outside of nixops because of it's statefulness. How complete or usage is nixus? I've been looking at it or morph
<numkem>
there is also deploy-rs I've seen but it seems to rely on flakes which I'm not at
<jasom>
how does one "not use channels at all"?
<adisbladis>
jasom: Usually with a local git checkout
<adisbladis>
And setting NIX_PATH
<jasom>
ah
<peelz>
personally I use a bootstrapping nix script to fetch a nixpkgs tarball
<infinisil>
numkem: nixus is experimental, has close to zero docs, no tests and some annoying issues. These are all fixable with of course, if only I had time for that :). But it works in general, and I'm a happy user of it, though I can't recommend it in good faith because of the previously-mentioned issues
<infinisil>
s/with of course/of course
<infinisil>
If anything, I'd only use it for personal setups
jonatanb has joined #nixos
<numkem>
infinisil: what would you recommend for a more production use?
werner292 has joined #nixos
davidv7 has quit [Remote host closed the connection]
endformationage has joined #nixos
malook has joined #nixos
jonatanb has quit [Ping timeout: 240 seconds]
<infinisil>
numkem: Hmm, I didn't really like any of the existing solutions (which is why I started my own :P), but I haven't checked out morph, krops or deploy-rs that closely, so maybe I'd try looking into those more closely
werner291 has quit [Ping timeout: 260 seconds]
werner292 is now known as werner291
fresheyeball has quit [Quit: WeeChat 2.7.1]
<numkem>
infinisil: makes sense to spend the time to roll your own. my only gripes with nixops is it's statefullness. I don't really know how to export it in a reusable fashion between computers/users
jonatanb has joined #nixos
<{^_^}>
[nixpkgs] @ryantm opened pull request #106468 → arduino-ci: init at 0.1.0 → https://git.io/JIg6P
<infinisil>
numkem: i think there's a PR allowinf you to use S3 as a state store
<veleiro>
numkem: highly recommmend nixus!
<veleiro>
i just got using it last week
<veleiro>
i dont see why it cant be "production"
<veleiro>
in my instance, nixops was overwhelming but i didnt know about the statefullness!
thibm has quit [Quit: WeeChat 2.6]
<{^_^}>
[nix-pills] @thornycrackers opened pull request #163 → Minor typos in pill 9 → https://git.io/JIg6j
<veleiro>
i looked at morph for a simpler solution as well but it is written in go, i think
<veleiro>
i came to really like nixus being pure nix and simple
<unclechu>
hey, i’d like to install nixos on my old raspberry pi computer. do you have any guide you would recommend to go through in order to get it done?
<matthewcroughan>
Can anyone explain the Nix licensing to me?
<matthewcroughan>
NetworkManager depends on Readline.
<matthewcroughan>
Readline is gplv3, NetworkManager is gplv2, yet nixos.NetworkManager.meta.license == gplv2
<matthewcroughan>
it should be gplv3 because it relies upon readline
<matthewcroughan>
what is the thinking behind this?
<Ke>
maybe it's v2 or later
<nahamu>
linking against a library doesn't require your project to adopt the license of that library.
<matthewcroughan>
no, but this makes Nix now impossible to use for companies that need to mess with licenses
<nahamu>
perhaps I misunderstand the question. I'll quiet down.
<matthewcroughan>
nahamu: let's say I'm a company that wants to use GPLv2 software, but avoid GPLv3 software.
<gchristensen>
matthewcroughan: I work with very persnickity lawyers who are satisfied so far
<matthewcroughan>
I do not see a way in which I could filter, because there is no way to resolve the license AFTER linking.
<matthewcroughan>
gchristensen: well what attributes do you inspect?
<gchristensen>
all the licenseses in the drv closure
<gchristensen>
does your proprietary product link to NetworkManager?
<matthewcroughan>
gchristensen: how can I look for that in the repl?
<matthewcroughan>
gchristensen: :l <nixpkgs>
<gchristensen>
because Nix doesn't link to NetworkManager
<matthewcroughan>
then afterwards, I would go to readline.meta.licenses and see that it is gplv3, great. Now if I go to something that is linked to readline, I need to be able to resolve some attr that says it's gplv3
<gchristensen>
right
Jackneill has joined #nixos
<gchristensen>
I'm not sure what your concrete issue is at this point
<gchristensen>
the lictense of Nix?
<matthewcroughan>
the issue is that there is no definition for resultant combined licenses
<matthewcroughan>
there is just project license rather than resolved license combinations
<simpson>
matthewcroughan: It sounds like you might want to crib/alter pkgs/stdenv/generic/check-meta.nix to do what `allowUnfree` does.
<gchristensen>
yeah, you'd need to walk the license tree to do that -- which presumably we can trust projects to appropriately license themselves in a way compatible with viral licenses
<matthewcroughan>
this is nothing to do with nix itself, it's just about being able to make something that can filter out gplv3 and fail if gplv3 is discovered in the build
<matthewcroughan>
I need to be able to eject NetworkManager if linked to readline and make the build fail
<gchristensen>
it isn't so easy because you may use gplv3 tools as part of your build but not a run-time dependency
sangoma has quit [Ping timeout: 256 seconds]
<FRidh>
yes, this is what makes it so hard to use licenses in an automated way
<matthewcroughan>
This is why people use Yocto then, I think
<matthewcroughan>
This is why it's so hard for me to get Nix in at work :D
<gchristensen>
I don't think that is true, I think you're misunderstanding license compliance
<gchristensen>
because I assume you don't prohibit the use of coreutils as part of your build, despite it being gplv3
<adisbladis>
matthewcroughan: You have exactly the same problem with Yocto
<FRidh>
looked at this as well for a previous job. Licenses apply to sources, and to see how they propagate you need to inspect build artifacts and even then you're still missing additional things licenses could state.
<matthewcroughan>
this should be gplv3, or there should be an attribute that resolves the fact that this is gplv3 because it's linked to readline
<adisbladis>
FRidh: And even inspecting artifacts is not reliable
<FRidh>
nope, unfortunately not
<FRidh>
this is exactly the reason why i dislike meta.license in packages, it should really be for the source
<matthewcroughan>
Yes, it is impossible to get Nix into my company unless we can resolve licenses.
<simpson>
matthewcroughan: From a licensing perspective, who performs the linkage? Merely *building* the linked artifacts is not violating! (Once upon a time, folks used to link against headers only, for precisely this reason.)
<adisbladis>
FRidh: Not sure what you mean?
<FRidh>
adisbladis: regarding which line?
<adisbladis>
<FRidh> this is exactly the reason why i dislike meta.license in packages, it should really be for the source
<matthewcroughan>
Because this is the way Yocto works, and it's apparently the biggest selling point of using Yocto is that licenses are handled in an industry standard way.
<adisbladis>
matthewcroughan: How are you resolving your licenses now with Yocto?
<adisbladis>
The "industry standard way" is basicall, "lol, whats a license anyway"
<FRidh>
adisbladis: the license of an actual package you use is the sum of all the licenses that propagated from its (transient) dependncies
<simpson>
Ha, wow, what a self-burn by Yocto. Imagine having a ports tree whose best advantage is that all of the licenses are correct.
<FRidh>
the license we write in meta.license is that of the source. The package typically has more
<adisbladis>
Ahh :)
<adisbladis>
Yes, now I get it
<adisbladis>
matthewcroughan: I have a feeling that you actually have far less control with Yocto than you think
<simpson>
matthewcroughan: I don't understand; what about the existing infrastructure for unfree packages couldn't be reused in your situation?
<matthewcroughan>
If something is GPL, we cannot use it.
<adisbladis>
matthewcroughan: Do you use GCC?
<matthewcroughan>
We need a mechanism by which we can cause builds to fail if GPL is found.
<gchristensen>
that isn't true, lol
<gchristensen>
it just isn't true
<matthewcroughan>
easy in Yocto, not possible as far as I have seen in Nix, because 1. I'm fairly new, 2. There seems to be no concept of resolving combined licenses due to linking, etc.
<gchristensen>
unless you're not using linux or coreutils or ...
<adisbladis>
matthewcroughan: How do you do it with Yocto right now?
<matthewcroughan>
in this case it is a build time dependency that changes when you want to block gplv3 for example
<matthewcroughan>
adisbladis: that's how
<matthewcroughan>
we build NM with another bsd-licensed software instead of the gplv3 readline
<gchristensen>
that is ALSO not true
<gchristensen>
because you can use gpl tools as part of your build as long as you don't link to them
<adisbladis>
This ^
<adisbladis>
And _actually_ figuring out what inputs affected the build is _hard_ (read impossible)
<FRidh>
Right. However, one could take the cautious approach to really block everything when gpl is there
<simpson>
matthewcroughan: Okay. Well, you should read pkgs/stdenv/generic/check-meta.nix and see if it can be repurposed. It'd be a shame if your impression was that Nix couldn't walk a tree of derivations to check licenses, especially when we've got such a walker already checked in.
<FRidh>
*could be there
<adisbladis>
You could, but at that point nixpkgs is fairly useless (I think)
<adisbladis>
I mean, even Nix itself is gpl
<qyliss>
adisbladis: lgpl
<FRidh>
ha
iH8c0ff33 has joined #nixos
<adisbladis>
qyliss: Oh, I thought it was gpl :)
<qyliss>
it was apparently changed "to make the government happy"
<FRidh>
suppose oil instead of bash and clangStdenv can get you far
<matthewcroughan>
simpson: So, how do I get pkgs.networkmanager.meta.license to return GPLv3?
<qyliss>
FRidh: clangStdenv is still bootstrapped from GCC though :P
<matthewcroughan>
without manually defining anything
<matthewcroughan>
using the existing packages
<adisbladis>
matthewcroughan: You make a PR and update the meta if it's wrong
<matthewcroughan>
it's not wrong
<matthewcroughan>
there is just no meta.resolvedLicenses
<matthewcroughan>
whereas with Yocto you can resolve licenses like this
<simpson>
matthewcroughan: Modify your desires. Instead of desiring .meta.license at the top level, alter how your derivations are assembled so that it's an *immediate* error if the wrong license is present. (I am *strongly* opposed to your employer's philosophy and am not going to write code for you.)
<FRidh>
qyliss: where there's a will there's a way :p
<matthewcroughan>
simpson: pm me, what is my employer's philosophy?
<matthewcroughan>
We can't legally use gplv2, how is this in any way non-sensible?
<simpson>
matthewcroughan: It sounds like the Four Freedoms aren't being respected in some way, and I prefer Free Software, that's all.
<qyliss>
matthewcroughan: readline is gplv3
<gchristensen>
the way it is non-sensible is you're not talking about it correctly, and so it is hard to trust you have a firm grasp of license compliance
<matthewcroughan>
qyliss: precisely, so we don't use readline, we use a bsd alternative
<simpson>
There's also that. Like, I want your employer's lawyers to figure this out. Bonus points if they publish their policy; I really like reading corporate policies on which licenses aren't allowed.
<qyliss>
gchristensen: yes I agree
<qyliss>
we should do that to anything that links readline probably
<matthewcroughan>
but there's no way to tell on the surface that NetworkManager uses readline because networkmanager.meta.licenses doesn't resolve the license, it's the license of the NetworkManager project instead of the produced output of the package
<ehmry>
if its painful, its on purpose
<FRidh>
but then we're at the point that we don't follow thelicense of the source anymore, but how it propagates
<qyliss>
having some "resolved license" thing would be good
<simpson>
gchristensen++ I half-agree but also with adisbladis++ I half-agree that the license needs to be attached to the source and not the artifacts.
<matthewcroughan>
qyliss: We offer build services to people that are building proprietary applications.
<matthewcroughan>
We want to give those people the option to filter licenses out.
<matthewcroughan>
We ourselves do not care about this feature.
<qyliss>
matthewcroughan: I was just pointing out that you mentioned the wrong license
<FRidh>
question is just how far you'd go. Automatically you can propagate the license over every build input. Other option is explicitly state for packages what they propagate, acknowledging you may miss some
<gchristensen>
matthewcroughan: the way you do it is (1) build the thing (nix-build . -A networkmanager) (2) look at what it depends on (nix-store --query --requisites ./result) (3) check each listed thing to see if it is an unhappy license
<adisbladis>
Propagating licenses sounds like an excellent way to absolutely destroy eval performance
<gchristensen>
if yocto does this automatically for your use case, sounds like yocto is the tool for you
<simpson>
FRidh++ qyliss++ it's almost like we need `propagatedLicenses = [ ... ];`
<{^_^}>
FRidh's karma got increased to 26
<{^_^}>
qyliss's karma got increased to 102
<qyliss>
adisbladis: it could be some special function you could run
<matthewcroughan>
qyliss: It doesn't matter what license is used as an example. I'm just asking how it's possible to resolve the license of the nixpkgs, because meta.license produces the project license, not the package license.
<adisbladis>
qyliss: Sure, and we could just not eval it by default
<matthewcroughan>
NetworkManager as it is, in NixOS, links to readline. Thus, it's gplv3.
<{^_^}>
[nixpkgs] @github-actions[bot] pushed 26 commits to staging-next: https://git.io/JIgym
<{^_^}>
[nixpkgs] @github-actions[bot] pushed 27 commits to staging: https://git.io/JIgyY
<qyliss>
matthewcroughan: and the answer you have been given several times is that it is not possible
<gchristensen>
matthewcroughan: sounds like the best way forward is to file a bug about it
<simpson>
matthewcroughan: No, NetworkManager as it is, *built by you locally*, links to readline. The *linkage* is what is non-redistributable under your current restrictions.
<matthewcroughan>
qyliss: I'm not sure where I have been given that answer, but thank you for giving it to me now. :D
ericsagn1 has quit [Ping timeout: 260 seconds]
<adisbladis>
(I would kind of love having licenses in the .drv files)
<gchristensen>
anyone have a handy guide of installing ZFS on root, where you're still using GRUB and MBR, with a ext4 /boot partition to keep GRUB happy?
<nahamu>
GRUB2 can read from ZFS... That's what I use.
<srhb>
gchristensen: Guide, no, but iirc there's no magic needed, just put the zpool on the second partition.
<nahamu>
You just need to create a BIOSBOOT partition on the disk.
<matthewcroughan>
FRidh: you are incredible. Thank you so much.
FRidh has quit [Ping timeout: 265 seconds]
<stevenroose>
adisbladis: hmm, k thanks :)
<stevenroose>
Next up (sorry :D): I added echo's to some of the build scripts in my default.nix but I'm not sure they are being printed. Is stdout from build shell scripts suppressed using nix-build?
<{^_^}>
[nixpkgs] @Ma27 opened pull request #106473 → nixos/nextcloud: improve error message for invalid `dbpassFile` → https://git.io/JIg73
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
moet has joined #nixos
<moet>
is there a practical difference between wine.override{wineBuild="wineWow";} and wineWowPackages.stable ?
<infinisil>
numkem: Yup, in fact `configuration` is just an option expecting a submodule, so either a function, an attribute set, or a path to one of those works
<immae>
I just don’t have the peace of mind to handle PR that get stalled for months. I’m okay with repushing my current derivation (which is a little more advanced than the current content of the PR, but still quite late compared to the current peertube version), but from there I’d prefer if someone else takes the lead for the review part
philr_ has joined #nixos
<stevenroose>
immae: yeah so what I did was try to make it work with mkYarnPackage (it should work, no? isn't that what those directives are for?)
<stevenroose>
Updated to 2.4.0 and yeah it fails on mkYarnModules because of some issue with the lockfile
<immae>
I’m not surprised
<stevenroose>
I don't really know any yarn lingo or JS lingo for that matter, so I don't know if I can ask the PeerTube folks to fix it
<immae>
everytime I upgrade peertube I encounter issues with lockfile :)
<stevenroose>
But even the mkYarnPackage stuff in nixpkgs looks really ugly. They hackisly use JS scripts to modify the lock file :/
<immae>
I don’t know what they do there nor if they should be considered respinsible for that, but I was obliged to modify the lockfile yes
<immae>
because it contains (contained?) bad hashes which upset nix
<stevenroose>
immae: Do you know your way around yarn?
<immae>
However things have improved both in peertube and in yarn2nix so maybe it would be easier now
<stevenroose>
Could you perhaps help me find out if all the dependencies that are eventually used by the install are in the yarn.lock?
<immae>
they are, that’s not the issue
<immae>
the issue is that some urls in the yarn.lock are badly handled by yarn2nix
<immae>
and some hashes are not computed correctly
<immae>
that’s the two main points that forced me to patvch the yarn.lock
<immae>
(and again: both points have probably improved since the last time I looked at it)
<stevenroose>
Like, I pass --offline, and get some warnings about versions in the lockfile not checking out and I see that the packages.json had some "reslutions" versions pinned that didn't match the yarn.lokc file.
<stevenroose>
Oh
<ij>
hi! I installed vscode to try it for a spin from unstable and it did some building and maybe that screwed with my fonts, so nothing works in X any more
<stevenroose>
So that yarn2nix does, it goes over the lockfile manually and replaces "resolved" sections from an http URL to a local path. (AFAIK)
<ij>
I tried booting older nixos configurations, but no dice
<immae>
stevenroose: yes your issues sound familiar ;)
<immae>
yes exactly that
<immae>
however something is wrong, the package.json should never be read in a production install
<stevenroose>
immae: I don't know if it is. But I read it :)
gustavderdrache has quit [Quit: Leaving.]
ransom__ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
orivej has quit [Ping timeout: 240 seconds]
<ij>
I tried removing a font and running nixos-rebuild switch and restarting the display manager, but that didn't help either
<dminuoso>
Question, how can I identify where the systemd unit for a running service is?
<secondry>
Does anyone know what's wrong with my custom lone nix package manager config? https://pastebin.com/XSY0KaV
ZaraChimera has joined #nixos
<secondry>
when I comment out lines 209-222 it runs fine, so it must be related to how I'm using sets on lines 85-191
jess has joined #nixos
<secondry>
It never gives me an error code. It merely gives no console output, and doesn't symlink any of the things I've added since the last update to my config