DavidLeung[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
danielrf[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
<iqubic>
I don't think so.
<gchristensen>
lambda-11235: do you know the version of nixpkgs you were at before?
Moredread[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
<lambda-11235>
Only the generation. I'm on unstable.
<clever>
lambda-11235: you can find out what nixpkgs a generate was made from easily
<gchristensen>
ok, well you can probably do /nix/var/nix/profiles/system-<the-generation-number>/sw/bin/obs
zacts has joined #nixos
ris has quit [Ping timeout: 272 seconds]
<lambda-11235>
Hmm, still complains
nbardiuk has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle kick: User has been idle for 30+ days."]
<lambda-11235>
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
<lambda-11235>
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
<lambda-11235>
That's what it outputs before it aborts.
<clever>
lambda-11235: are there any qt packages in nix-env ?
wangoe[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
<gchristensen>
ah, lambda-11235, if you clone nixpkgs and run nix-build . -A obs-studio, it'll get you a fixed version. the fix just hasn't been released to a channel yet.
day|flip has joined #nixos
alexoundos[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
<lambda-11235>
gchristensen: Thanks
BinkyTheClown has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle kick: User has been idle for 30+ days."]
smpl[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
badmutex[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
kimboking[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
Tony[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
bb010g has quit [Quit: Idle kick: User has been idle for 30+ days.]
ayyjayess[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
derangednerd[m] has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle kick: User has been idle for 30+ days."]
Obscurity[m] has left #nixos ["Kicked by @appservice-irc:matrix.org : Idle kick: User has been idle for 30+ days."]
riottest000[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
kjuvi[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
Deathmist[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
jasongrossman[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
tet[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
rizary has quit [Quit: Idle kick: User has been idle for 30+ days.]
kuznero[m] has quit [Quit: Idle kick: User has been idle for 30+ days.]
hsd^ has quit []
meteo_ has quit [Ping timeout: 268 seconds]
hsds^ has joined #nixos
troydm has joined #nixos
MmeQuignon has quit [Ping timeout: 246 seconds]
<ivan>
can I make it so that nix-serve does not regularly crash and need a systemctl restart nix-serve?
<clever>
ivan: set restart=always on the unit? find out why its crashing?
<gchristensen>
please do find out why it is crashing :P
<ivan>
clever: I guess it's not actually crashing but rather not serving data
<clever>
ivan: id start with strace and curl, to see what its doing
<ivan>
Aug 03 21:46:04 ... nix-serve[1985]: GET /nar/crgpcpq8n5scy8pdsxsdas1s9rc71dam.nar
<ivan>
Aug 03 21:48:56 ... nix-serve[1985]: write error: Connection timed out at /nix/store/hz53jq673pkih1avdl3l3xdmvq98rq1n-perl5.28.2-Starman-0.4014/lib/perl5/site_perl/5.28.2/Starman/Server.pm line 572, <GEN2> chunk 2.
<ivan>
Aug 03 21:48:56 ... nix-serve[1985]: error: writing to file: Broken pipe
<clever>
ivan: sounds like the client didnt read the reply?
<ivan>
restarting nix-serve fixes the client immediately though
<clever>
ivan: strace + curl to see what its doing when frozen
<ivan>
will do when I see it
hnd^ has quit []
hnds^ has joined #nixos
<thoughtpolice>
ivan: FWIW Eris should work quite well, yes.
<ivan>
cool, thanks
<thoughtpolice>
It should basically be superior to nix-serve in every way, and if somehow it isn't I'd like to know why.
<thoughtpolice>
At some point I need to cut a 0.1 release and put it in nixpkgs directly. Which is basically arbitrary, I could do it today/tomorrow...
wfranzini has quit [Remote host closed the connection]
wfranzini has joined #nixos
<thoughtpolice>
And maybe draft a PR to replace nix-serve uses in e.g. the manual with eris instead. I doubt nix-serve will ever get netrc or good TLS support for example, both of which are pretty useful for users without requiring extra middleware like Nginx.
zacts has quit [Ping timeout: 252 seconds]
<clever>
thoughtpolice: does eris support nix2.0 signatures in db.sqlite?
<thoughtpolice>
clever: It does not query the DB for the signatures, it signs hashes on the fly with the key you provide, just as nix-serve does (i.e. it is independent of any signature scheme inside the db.)
evanjs has quit [Quit: WeeChat 2.5]
<thoughtpolice>
Nix 2 introduced e.g. local path signing but I can't remember anything else it added? Can you be more specific
<gchristensen>
multiple sigs I think
<clever>
thoughtpolice: and `nix copy-sigs` can download the cache.nixos.org signatures, and save them locally
<thoughtpolice>
Ah. No, it only supports dynamic, single-key signatures at the moment. Though there's no real reason, I think, it couldn't serve the local signatures recorded in the db itself, or multi-key if you supplied multiple keys.
<clever>
so you can repeat upstream sigs, and proove that you didnt do anything nasty to the files
<thoughtpolice>
(Though it may require some addendums to the Perl API to support that, I don't know OTTOMH if it exposes those primitives)
<clever>
which lets you act as an untrusted cache
<clever>
thoughtpolice: just rewrite it in c++ :P
<clever>
or haskell
<clever>
ive got a cachecache, that can cache a binary cache, but it currently lacks the ability to query a local nix-daemon
<thoughtpolice>
To be clear the original design goal was never to support setups like untrusted mirrors like that (though I realize that's not exactly what you're requesting), only to essentially be a much, much better implementation of nix-serve.
<thoughtpolice>
But there's no reason that couldn't be added. It's a reasonable request, I think
mexisme has quit [Read error: Connection reset by peer]
<thoughtpolice>
Anyway the goal is that I'd like it if Eris was the one-stop-shop for all your quick-and-dirty binary cache needs that hits all the high notes, which I'd say is, like, of 60%+ of the use cases people want a remote binary cache for: just to serve their build machine's store, or their personal store for 10 minutes or whatever. It does that perfect.
<thoughtpolice>
That way we just... Can stop reinventing it (I've seen no less than 3 reworks of nix-serve but none did what I wanted I think, and one was abandoned?)
<clever>
heh
<clever>
reminds me of xkcd, "standards"
<thoughtpolice>
Yes, except mine is objectively better than all the rest :P
<evanjs>
Is there any way to query currently active NixOS options? Not what's enabled in my configuration, but what is active in the current-system, etc?
<evanjs>
clever: Alright. I know there's /run/current-system/configuration.nix but it doesn't help much when I have a billion files.
xkapastel has quit [Quit: Connection closed for inactivity]
<clever>
evanjs: my system is setup to copy all of /etc/nixos to /run/current-system/nixcfg/
tsd^ has quit []
Edes has joined #nixos
nst^ has joined #nixos
das_j has quit [Remote host closed the connection]
das_j has joined #nixos
sbdchd has quit []
jluttine has quit [Ping timeout: 268 seconds]
georges has joined #nixos
Alchemical has joined #nixos
hnds^ has quit []
Edes has quit [Ping timeout: 246 seconds]
<evanjs>
clever: ah sweet that works nicely. Thanks! Did not know about extraSystemBuilderCmds
osp^ has joined #nixos
evanjs has quit [Quit: WeeChat 2.5]
jluttine has joined #nixos
oborot has joined #nixos
<oborot>
Is there a good starting point I should checkout for programming PHP / Ruby, et al. on NixOs?
<oborot>
I'm sure there's a preferred way to be installing dependecies and whatnot.
<simpson>
oborot: The nixpkgs manual has a section for Ruby. (I could have sworn that there was a PHP section, but I guess not.) https://nixos.org/nixpkgs/manual/
<simpson>
The preferred technique is to not think of dependencies as something to be installed in an ambient environment, but as inputs to be provided just when needed.
dansho has joined #nixos
evanjs has joined #nixos
evanjs has quit [Client Quit]
jluttine has quit [Ping timeout: 245 seconds]
detran has joined #nixos
nDuff has quit [Quit: zzz]
<oborot>
simpson: Thanks, I'll check that out!
<clever>
sphalerit: *doh*, it was in the pocket on the scope the whole time
<Miyu-chan>
Just had a thought. lorri+shellHook means arbitrary code execution.
<iqubic>
Is there a guide to overlays anywhere?
<jackdk>
mostly folklore IIRC. I'd just google around and look
Supersonic has joined #nixos
<Miyu-chan>
I guess the TL;DR is that simply looking at .envrc is not enough.
<simpson>
Miyu-chan: That's giving me a security-twitch. It's ultimately down to $(direnv allow), isn't it? Or...is it that shellHook and direnv don't interact correctly because they don't watch the correct union of files?
<samueldr>
looks like both are to achieve the same end goal, different methods
<iqubic>
Right. I get that.
<iqubic>
How does the overlay work?
<Miyu-chan>
You'll really want to inspect the resulting .drv, or at the very least, get the resulting attrset to know what code will be running upon direnv allow.
<samueldr>
iqubic: it adds `unstable` as an attribute to `pkgs`
<samueldr>
`unstable` will contain whatever nixos-unstable is; which is likely to be a channel
<Miyu-chan>
(And even then, the resulting attrset is not enough, because you can always write `removeAttrs (mkDerivation ...) "shellHook'`
sushi_ has quit [Ping timeout: 245 seconds]
<iqubic>
samueldr: It is. But I never use that attribute.
<samueldr>
then it's likely it's not needed if you're not using it
sushi_ has joined #nixos
<iqubic>
How do you know it adds an attribute to pkgs?
<samueldr>
because that's what overlays are used fo
<samueldr>
for*
<Miyu-chan>
The specific case I'm thinking of is someone doing `mkDerivation { "${expression that evaluates to "shellHook}" = ...; }`
<Miyu-chan>
OTOH, I'm pretty sure you could go another level of obfuscation by going for setup-hook instead.
<iqubic>
samueldr: Everytime I need something from unstable, I pull it in using the name declared in the let binding.
<Miyu-chan>
Actually, now that I think about it, setupHook + nix-shell is a huge eep.
<iqubic>
the overlay is literally redundant code.
<samueldr>
an overlay is implemented through a function, taking two parameters (self: super:) that will return an attrset of attributes to add (or replace) into pkgs
<iqubic>
I see.
<simpson>
Miyu-chan: Yeah, this is turning me off of shellHook even more than normal.
<simpson>
I haven't adopted lorri yet, but I can't imagine giving up direnv, let alone *nix-shell*. Therefore, by Principal Skinner's lemma, shellHook is wrong~
<iqubic>
are all overlays recursive?
<iqubic>
The first argument (self) corresponds to the final package set.
<iqubic>
But isn't the purpose of an overlay to change the final package set? Wouldn't that make all overlays recursive by definition?
<simpson>
iqubic: Yeah, that's pretty typical for package sets.
<Miyu-chan>
simpson: FWIW, setupHook is an even bigger fun, as I've been hinting. You can make it so that a buildInput arbitrarily executes a script upon nix-shell. :D
<Miyu-chan>
It's even more invisible to your shell.nix, OTOH, it's a different attack vector.
rzt^ has joined #nixos
<simpson>
Miyu-chan: Stop, I have to sleep tonight~ This is a pretty fun line of thought though.
<pie_>
iqubic: the way I think of it is that an overlay is a view I have into an attribute set that lets me edit it (with some meaningul restrictions being where exactly I am with respect to the evaluation order of layers)
<pie_>
(but overlays should not be written to depend on evaluation order)
<iqubic>
and in this case the attribute set is all of nixpkgs.
<pie_>
you may commonly see something like self refers to the "fixpoint" - this just means a recursive reference to the "final result" (which is how you might end up - oftentimes through a lot of indirection - with an infinite recursion error somewhere)
<iqubic>
How do you decide whether to use self or super in the body of the overlay?
<pie_>
iqubic: yeah. you can use them elsewhere too, but if its someone else's code there will eed to be explicit support
<iqubic>
So I'm watching this talk, and he says that self should only ever be used for the result of a derivation, like self.firefox or self.chrome
<iqubic>
Why is that?
<pie_>
Miyu-chan: hm I guess I forget what setupHook does
<pie_>
the way self works is that if you have (self: super: {...}), then at some point the super argument gets magically applied, and you are left with (self: { ... }), the attrset in this case may contain things like { someattr = self.foo; foo = 1; }
<iqubic>
I'm not sure I follow.
<pie_>
so if you have (self: { someattr = self.foo; foo = 1; }), then you have to apply it to itself once to get a fully resolved attrset
<Miyu-chan>
setupHook is basically to prepare the environment of the requiring package. For example, python packages have a setupHook to add themselves to PYTHONPATH.
<pie_>
ok I might have oversimplified that
<iqubic>
Right.
<iqubic>
But why should you fetch python3 with self.python3 and not super.python3?
<pie_>
iqubic: the reason that says <CODE> is because the self.foo in the second expression is unresolved, you cant really unfold it like this - you cant remove the recursion, but maybe you get the basic idea
<pie_>
actually no nevermind its not unresolved, sorrt :D
<pie_>
but uhh nevermind
<iqubic>
Also, why the hell is it bad form to have "self.writeText 'foo'" in an overlay?
<pie_>
iqubic: I dont know if this is good or bad but I try to use self whenever I can
<iqubic>
Why?
<pie_>
using self means a later layer can override what you did
<pie_>
if you use super the definition is hardcoded (which may be appropriate if its what you want)
<iqubic>
But using super doesn't allow that? Why not?
<pie_>
if you have two layers X and Y, if Y.something = super.other, then the value of Y.something gets substituted from X
<pie_>
like a let expression
<pie_>
and you dont get to insert any more layers between X and Y
<vaibhavsagar>
iqubic: self = final result of overriding, super = previous version before this override
<iqubic>
I see.
<pie_>
if you use self then you can have (pseudocode) X.other = 1; Y.something = self.other; Z.other = X.other.someoverride;
<iqubic>
Oh. Oh. Oh.
<pie_>
make sense now? (yeah self meant later layers can affect what you _currently_ see)
<pie_>
*means
<iqubic>
If I do self.python, then that version of python that I'm getting can be overriden by another overlay. If use super.python, then I'm getting a version of python that is unchanging.
<pie_>
Miyu-chan: ahh right
<pie_>
iqubic: \o/
<iqubic>
Is that correct?
<pie_>
unless my understanding is wrong, yep
<iqubic>
And that's why you pull derivations from self.
<pie_>
yep
<iqubic>
I assume calling functions from super is just a style thing.
<pie_>
yeah thats my best guess
<pie_>
im guessing it might mean less places you need to look if you accidentally get infiite recursion but man i dont know
<iqubic>
How do overlays create infinite recursion.
<pie_>
remember self? :P
vonfry has joined #nixos
<iqubic>
Yeah.
vonfry has quit [Client Quit]
<pie_>
> f = self: { foo = self }; lib.fix f
<{^_^}>
error: syntax error, unexpected '}', expecting ';', at (string):74:25
<pie_>
> f = self: { foo = self; }; lib.fix f
<{^_^}>
error: syntax error, unexpected ID, expecting '.' or '=', at (string):74:37
<pie_>
ugh :D
<pie_>
> let f = self: { foo = self; }; in lib.fix f
<{^_^}>
{ foo = { foo = <CYCLE>; }; }
<iqubic>
I see.
<iqubic>
That's an issue.
<pie_>
well, it doesnt actually make sense to try evaluating something like that, so its a logic error
<pie_>
you dont run into problems normally because the recursion terminates
iyzsong has quit [Ping timeout: 264 seconds]
<pie_>
> let f = self: { foo = self.asd; asd = 1; }; in lib.fix f
<{^_^}>
{ asd = 1; foo = <CODE>; }
<pie_>
> let f = self: { foo = self.asd; asd = 1; }; in (lib.fix f).foo
<{^_^}>
1
<pie_>
trying to print a value in the normal repl causes strict evaluation, which means it tries to fully evaluate everything so it can print the value for you
<iqubic>
I see.
<pie_>
the bot uses a different interpreter called hnix I think, and as you can see above, it doesnt fully evaluate
<pie_>
it just gives <CODE> for unevaluated thunks
<pie_>
the best way to gain understanding into stuff like this is probably to play with haskell
<pie_>
hm. ok maybe thats not really necessary, I havent used hnix yet myself
<pie_>
so if we go back to the example that said <cycle>
<pie_>
> let f = self: { foo = self; }; in (lib.fix f).foo
<{^_^}>
{ foo = { foo = <CYCLE>; }; }
<pie_>
ah well, it will just keep giving the next level of evaluation, nevermind :D
<pie_>
thats what you get because the pretty printer is lazy
<iqubic>
Why does that google-chrome example overlay use super instead of self?
<pie_>
no idea
<pie_>
iqubic: *shrug* on a cursory look, I guess it could go either way there
<iqubic>
Why do you say that?
johnny101m2 has quit [Quit: -a- Connection Timed Out]
<pie_>
does it make sense to override it again later?
johnny101m has joined #nixos
<iqubic>
Yes it does.
<pie_>
or...thats not a good way to say it
<pie_>
what would using self there get you
<pie_>
hm
<pie_>
maybe this is one of the places where order matters
<pie_>
well I do have one related thing I want to say
<pie_>
this implementation doesnt compose well because commandLineargs gets completely overwritten, as opposed to being appended or prepended to or somesuch
<pie_>
of course whether that makes sense depends on the exact semantics of what you want, and how the flags work
<iqubic>
Now, time to look at the overlay I actually want to understand.
ddellacosta has quit [Ping timeout: 245 seconds]
<pie_>
if you wanted something that composes you could do .override (old: { commandLineArgs = old.commandLineArgs + "my string"; })
<iqubic>
Right.
<iqubic>
That makes sense.
<pie_>
override can take either an attrset or a function, if you pass it a function you get the previous args
<iqubic>
On a different topic: what is emacsPackagesNg?
<pie_>
whether its desired or not is a different question, but that implementation "ensures"/ will mean anything that comes after tha overlay will start with those being the first flags (unless something else overwrites it)
<pie_>
idk much about emacs packaging, there's examples of that in the nixpkgs manual
<pie_>
Miyu-chan: to be fair, is arbitrary shell script execution really a problem if your running arbitrary code in nix shell anyway? -namely the application youre running
<pie_>
beyond what ive told you, ive only really figured this stuff out after poking at it a lot :I
<rajivr___>
How can I get `shell.nix` to install derivations specified in `testHaskellDepends`?
<iqubic>
for people who use home-manager how do you decide what packages to put into configuration.nix's system.environmentPackages and which ones to put into home.nix's home.packages?
<iqubic>
I guess that's mostly just a matter of preference.
<hyper_ch>
iqubic: what you add to configuration.nix is available for all users and what you add to your home.nix is only available to your user. I guess that's the difference.
<iqubic>
yeah. I only have 1 user and root
<pie_>
iqubic: basically what you said i guess
<pie_>
might get more interesting if you have a common configuration between multiple machines or something, in which case you might want to put common sysadmin tools in the globabl one
<pie_>
*shrug*
<hyper_ch>
I prefer to add stuff system-wide.... so when I (for some reason) add another user, that user has the same tools available
hoijui has joined #nixos
<iqubic>
What's the point of all the email options home-manager gives you?
<rajivr___>
I was wondering what the error "It is a member of the hidden package ..." means? https://pastebin.com/n5jsxZNx
<pie_>
rajivr___: thats a haskell problem, i think its some kind of cabal scoping?
<abbe>
in fetchFromBitbucket { ... }, what should I enter for sha256 ? the sha256sum of the fetched tarball, or something else ?
<abbe>
I tried adding sha256sum of the downloaded tarball, but there seems to be a mismatch on nix part, even though I calculated sha256sum again on the downloaded tarball as present on the kept build directory (nix-env -K ...), and it seems to match what I expect
<{^_^}>
To get a sha256 hash of a new source, you can use the Trust On First Use model: use probably-wrong hash (for example: 0000000000000000000000000000000000000000000000000000) then replace it with the correct hash Nix expected.
<abbe>
thanks, although just curious what is wrong with my provided hash. Am I calculating incorrectly ?
<iqubic>
I have no idea how you found your provided hash
<abbe>
yes, that's in the pastebin link, sha256sum /path/to/file.tar.gz
<iqubic>
I don't know. You'll have to ask someone more clever than me.
<iqubic>
Like maybe clever or infinisil if they are around.
<abbe>
alright, thanks!
_kwstas has quit [Quit: _kwstas]
wfranzini has quit [Remote host closed the connection]
wfranzini has joined #nixos
<thefloweringash>
the hash is of the extracted contents, after removing the file ".hg_archival.txt"
<iqubic>
abbe: does that give you the expected hash?
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fjHOO
revtintin has joined #nixos
<terlar>
What is the preferred way to package extra plugins for an existing package. My example is the python package httpie and packages such as httpie-aws-authv4 which adds extra functionality. I created a package for the latter, but doesn't seem like it is detected by httpie. Is the pure way to use a wrapper package, maybe in the same way as aspellWithDicts is done?
o1lo01ol1o has quit [Remote host closed the connection]
ottidmes has joined #nixos
<iqubic>
What is the purpose of packaging these other things with python?
<iqubic>
Are you trying to create a development environment?
<terlar>
No, but I packaged it as a separate python package and seems it was not picked up by httpie, so I was wondering how to get it to work. The intention is to have it as an installable system package, not specifically for a dev env
<iqubic>
Why do you need this? What is the purpose of making this a system package?
<terlar>
To be able to make signed requests with the httpie system package from the terminal, I was thinking since httpie itself is a "system" package, there is a use case to install it at that level as well
o1lo01ol1o has joined #nixos
o1lo01ol1o has quit [Remote host closed the connection]
<iqubic>
Ah. I see.
o1lo01ol1o has joined #nixos
<iqubic>
in that case install using this: "python35.withPackages (ps: with ps; [ httpie ])"
<iqubic>
Feel free to change python35 to something that better suits your needs.
<iqubic>
Also, you can extend that list to add in other dependencies.
<iqubic>
erm.. other packages.
<iqubic>
But that's how you install python with other packages.
<terlar>
I have created a package for httpie-aws-authv4 and it could be that my overlays are not properly defined that httpie wouldn't pick it up. It is installed inside the nix store, but I can't refer to it with a nix-shell because I haven't added overlays to nixpkgs, I just have the overlays as part of the system configuration.nix
<{^_^}>
[nixpkgs] @yegortimoshenko pushed commit from @thedavidmeister to master « ledger-live-desktop: init at 1.12.0 (#62753) »: https://git.io/fjHO5
<pie_>
terlar: i havent looked at the code but a wrapper sounds reasonable
<pie_>
the starting point is that everything is immutable, so you need to find a way to compose things in the combined package such that httpie can find the new plugin
o1lo01ol1o has joined #nixos
<iqubic>
pie_: Any overlay seems to be the right way to compose these things.
ris has joined #nixos
<iqubic>
*an not any
<pie_>
terlar: but if its just another python package, and not that httpie has some sort of special plugin resolution, the usual python package composition stuff should be fine (i think) as iqubic showed...
<pie_>
i think theres two questions here? one is composing the stuff and there does seem to be another about overlays
xkapastel has quit [Quit: Connection closed for inactivity]
o1lo01ol_ has joined #nixos
<pie_>
i havent tried using overlays with the global stuff yet, but look at the "on the user level" section here, it looks like it might be what you want https://nixos.wiki/wiki/Overlays
<pie_>
alternatively, you can use a default.nix with pinning, and having an overlay there
o1lo01ol1o has quit [Ping timeout: 258 seconds]
<pie_>
well, pinning is actually orthogonal for this i think
<pie_>
what you do is you import nixpkgs, which you use to load another nixpkgs that has an overlay passed to it
<pie_>
nevermind thats overcomplicated, you can just pass the overlay
<pie_>
hold on
<iqubic>
pie_: If you make an overlay, and add it to nixpkgs.overlays in either configuration.nix or home.nix that will work.
<pie_>
iqubic: yeah but theres a more direct way as well
<pie_>
or more scoped at least
<iqubic>
Right. But you stated you haven't used global overlays.
o1lo01ol_ has quit [Remote host closed the connection]
<pie_>
callpackage is basically a function call with some implicit automatic arguments
<iqubic>
Why is that used ever?
<pie_>
have you looked at any package definitions?
<iqubic>
Yes.
<pie_>
theres a lot of arguments that come from dependencies
o1lo01ol1o has joined #nixos
<pie_>
if you didnt use callpackage youd have to explicitly pass all the dependencies at the call sites as well
<iqubic>
Right...
<ronny>
ij ust did a dnf update on my rawhide box and it no longer starts logind, anyone aware if this is a known issue, im currently preparing a usb stiick with a rawhide is on it to boot that box again in some way
<terlar>
Yeah, I searched through nixpkgs also, only found httpie itself, guess it is not that common to use these
<iqubic>
you can write an overlay to extend httpie if you really need those plugins.
o1lo01ol1o has joined #nixos
<terlar>
Yeah, I guess that will be the easiest for now, just thought it would make sense and would potentially help someone in the future, but then again I am not sure how popular httpie is and then on top of that the need for the auth plugins
<terlar>
Thanks for the help and some slight detective work
o1lo01ol1o has quit [Remote host closed the connection]
<etu>
worldofpeace: When I put my PR in on surf-display yesterday I noticed that something with openjpeg failed on aarch64 but didn't took the time yesterday to look into it :)
linarcx has quit [Ping timeout: 268 seconds]
npmccallum has joined #nixos
<worldofpeace>
etu: I found out when my friend asked me if I could fix it because it broke lots of stuff
<worldofpeace>
glad to see it came timely for you 👍️
<cinimod>
How do I make the required Haskell packages available in a nix shell: nix-shell bar.nix -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-19.03.tar.gz followed by ghci
<niso>
cinimod: i think you might want to use haskellPackages.ghcWithPackages ?
<ToxicFrog>
Ok, I still need to clean up the commits a bit, but I now have a branch that adds a whole bunch of perl modules and the Deliantra and Crossfire servers, and nixos settings for the former.
<adisbladis>
replacing "nixos-19.03" with some arbitrary git-rev also works
<chris__>
adisbladis: Awesome! Thank you!
<adisbladis>
chris__: It's worth noting that fetchTarball is impure though, I'd suggest finding out the correct rev and pinning a sha256
<adisbladis>
,tofu
<{^_^}>
To get a sha256 hash of a new source, you can use the Trust On First Use model: use probably-wrong hash (for example: 0000000000000000000000000000000000000000000000000000) then replace it with the correct hash Nix expected.
revtintin has quit [Quit: WeeChat 1.9.1]
<ToxicFrog>
I asked this earlier but don't think I got a reply -- for Perl modules, what's the preferred way to structure the PR? One commit per module, one commit for all of them, or put them in the same commit as the thing that depends on them?
<ToxicFrog>
I'm adding ten modules in one go here.
<chris__>
Hmm, is there a way I can determine the nixpkgs git-rev of an previous Nixos profile generation?
<clever>
chris__: the git rev is in the storepath, near the end
magnetophon has joined #nixos
orivej has quit [Ping timeout: 258 seconds]
<chris__>
clever: I don't understand. Does a profile have a storepath? How can I find this?
<magnetophon>
When I run "nix-collect-garbage -d" as a user, I get: "error: statting '/nix/store/.links/162790f1fc5pcs0z0cbikxg4qc9a55cg1qvcxps2axz8fi2vjcx5': No such file or directory"
<qyliss>
ToxicFrog: I'd do one commit per module
<magnetophon>
Any ideas why,or how to troubleshoot?
<qyliss>
ordered so that each commit builds
<averell>
For an application package that will not be a dependency, what should be propagatedBuildInputs rather than buildInputs? Everything that is required at runtime? In cases where that is not entirely clear, everything in propagatedBuildInputs doesn't hurt, or does it?
<__monty__>
magnetophon: Maybe try nix doctor?
<symphorien>
magnetophon: fsck ?
<symphorien>
as part of the gc, nix lists the content of /nix/store/.links and stats every file in it. If nlinks==1 then it removes it.
<symphorien>
so there is not much here which can get corrupted from the nix side
<MmeQuignon>
qyliss: I didn't meant to be rude. It's just that there was no question or request in my explaination, so I added some kind of request. Badly, I must admit.
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fjHWl
justanotheruser has quit [Ping timeout: 246 seconds]
justanotheruser has joined #nixos
Alchemical has left #nixos [#nixos]
<madhukar93>
getting ``` gcc: error: readline/libreadline.a: No such file or directory gcc: error: readline/libhistory.a: No such file or directory``` while trying to install python2.7's `readline` library
_kwstas has quit [Read error: Connection reset by peer]
<ToxicFrog>
A pox upon "the new configuration has an `init` that is incompatible with the current configuration"
<gchristensen>
I think that is a bug reported to systemd?
oborot has quit [Ping timeout: 268 seconds]
* ToxicFrog
nods
<ToxicFrog>
So now I have to question whether I want to roll back my nixpkgs checkout to what it was previously and rebase my changes against it (which will require changing a bunch of the perl stuff, since it's a rollback across the name->pname change)
<ToxicFrog>
Or whether it's worth just rebooting :/
<gchristensen>
ToxicFrog: maybe ask in #nixos-systemd to confirm that the bug is reported upstream
<ToxicFrog>
Is this actually a bug? I thought this occurred with any systemd protocol version change
<gchristensen>
my understanding is it should always be possible to roll forward
<gchristensen>
but you sound like you know more than me :)
<ToxicFrog>
So, what actually triggers this is /run/current-system/init-interface-version changing; in my current system that's "systemd 2", in the new one it's "systemd 3", which appears to correspond to the systemd 241->242 update.
orcus has joined #nixos
<clever>
from what ive seen, systemd usually can serialize its state to disk, and then pid 1 will re-execute the new systemd, which will deserialize and restore the state
<gchristensen>
gotcha
<clever>
but, for certain version changes, they arent compatible
<clever>
and init-interface-version is a safety, to stop it from breaking the entire system
<clever>
and a reboot is all you need to apply the systemd update
<gchristensen>
ah
<ToxicFrog>
Yeah, I just hate rebooting :/
<ToxicFrog>
I was originally developing these patches on top of my current checkout of nixpkgs, but I knew I'd have to redo a bunch of the perl stuff anyways to get it accepted in nixpkgs master, so I figured I might as well rebase against latest master and update the system at the same time
<ToxicFrog>
Since I'm nixos-rebuilding off a local nixpkgs master these days
<teto>
madhukar93: feel free to open a new issue, at the time, I realized I didn't need python's readline
<ToxicFrog>
But this has now pulled in a systemd update, so
<ToxicFrog>
All I want to do is play an obscure decades-old open-source MMORPG~
<srid>
When using `pkgs.haskell.packages.ghc865` nix is compiling pretty much *every* haskell package.
<srid>
s/ghc packages/ghc version's packages/
<fendor_>
i am trying to use a custom store location, but the command fails and says it is not a valid store location. here is the invocation: https://pastebin.com/bmUFzveA , potential mistakes?
<infinisil>
srid: That should be the default ghc, maybe your nixpkgs version is not cached though
<clever>
and use that to get the rev for a channel
<srid>
or even a branch instead of gitrev
<fendor_>
clever, I deleted the folder ~/.cache/nix/tarballs, but same mistake. It also generates a nix/store folder within ~/.cache/nix/store. Thus, the path is generated: ~/.cache/nix/store/nix/store
<srid>
or is there a reason not to use GITBRANCH instead of GITREV?
<clever>
srid: a branch will cause it to update every time you eval (if its been an hour since the update)
<clever>
srid: so it will randomly change versions without warning
elibrokeit has joined #nixos
<clever>
fendor_: --store takes a path to the "root" directory, not the /nix/store subdir
<clever>
fendor_: and i dont think --store deals with making things work outside of /nix/store, it expects you to chroot into that "root"
<clever>
fendor_: this does a dozen things at once, some of them you want
<srid>
clever: infinisil: About the cache question. so I import from a specific rev of nixpkgs, will the cache become non-functioning at some point in future?
<clever>
fendor_: the ones you probably want are NIX_CONF_DIR, NIX_LOG_DIR, NIX_STORE, and NIX_STATE_DIR
<clever>
srid: the cache is never garbage collected
badmutex[m] has joined #nixos
<srid>
nice.
joebobjoe has joined #nixos
<clever>
srid: so if you pick a rev, and know it has cache coverage, you know it will forever have coverage into the future
<srid>
out of curiosity: does this mean the disk space on official nix cache is ever growing?
<clever>
srid: yep
<srid>
how big is it right now?
<clever>
srid: i think i heard 80tb, but gchristensen probably knows the full number
<clever>
if you lack write access to /nix (or it doesnt exist), the script will use sudo to correct that, then do the rest without root (if doing a single-user install)
<fendor_>
clever, I do have write access. I am executing `curl https://nixos.org/nix/install | sh` but it wants to also create also ~/share and ~/share/nix, which I have to manually create?
<clever>
fendor_: did you bind mount to /nix or /nix/store ?
mexisme has quit [Ping timeout: 252 seconds]
<clever>
fendor_: and are any weird nix related env vars still set?
acarrico has joined #nixos
<fendor_>
oh, yeah, true, there were some vars in profile! dammit
justanotheruser has quit [Ping timeout: 248 seconds]
endformationage has joined #nixos
cinimod has quit [Ping timeout: 268 seconds]
linarcx has quit [Ping timeout: 245 seconds]
jgt1 has joined #nixos
polman has joined #nixos
meteo_ has quit [Read error: Connection reset by peer]
<{^_^}>
[nixpkgs] @ysndr opened pull request #65957 → Add dependency and patch files (refs: #65786) → https://git.io/fjHuF
kraem has quit [Ping timeout: 272 seconds]
kraem has joined #nixos
jgt1 has quit [Ping timeout: 252 seconds]
polman has quit [Ping timeout: 245 seconds]
<asymmetric>
i'm writing a package for a php webapp that runs exec("/some/binary"), and the binary checks that it's being run by root. what are the ways to make it work?
<asymmetric>
the worst i can think of is run nginx as root
ambro718 has quit [Quit: Konversation terminated!]
oborot has joined #nixos
mumuluxi has joined #nixos
wucke13 has joined #nixos
terlar has joined #nixos
<Miyu-chan>
I just had a stupid idea. FUSE for nix profiles .
polman has joined #nixos
<erba>
So I'm trying to build nixos and have it install mood-line for emacs (from melpa) but getting "undefined variable 'mood-line' at /etc/nixos/emacs/emacs.nix" snippet from emacs.nix: https://pastebin.com/H6G4269T
<bricewge>
When upgrading I keep getting `curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.` when downloading a github archive of ~2Go.
<chloekek>
Can I cause nix-build to fail if it can't find a substitute? There seem to be relevant flags for nix-store --realise and nix-env but I can't find one for nix-store.
xkapastel has joined #nixos
zacts has quit [Quit: WeeChat 2.4]
gxt has joined #nixos
<bricewge>
Is there a way to directly import the archive in the store or an other workaround you know of?
polman has quit [Ping timeout: 245 seconds]
<{^_^}>
[nixpkgs] @vcunat pushed 4 commits to release-19.03: https://git.io/fjHKJ
<ronny>
hmm, drats, i was hoping to introduce nixos in my home again on my raspberri pi4, but that model has still issues to be solved for nix to work :/
<etu>
ronny: What issues? I haven't got a raspi4 yet, I still run nixos on a raspi3
<{^_^}>
#63720 (by majewsky, 5 weeks ago, open): Raspberry Pi 4 support
polman has quit [Ping timeout: 245 seconds]
meteo has joined #nixos
<etu>
ronny: Hmm, that's odd. They always claimed that rpi is compatible. But that is probably less so with nixos than rapsian. Because of raspian you can take an SD card and boot it on every generation. But nixos is aarch64 etc...
<{^_^}>
[nixpkgs] @terlar opened pull request #65961 → fstl: use qt's mkDerivation → https://git.io/fjHKl
<Thra11>
roconnor: Would having kwallet pam unlock the wallet when you login help with your issue? (Don't think it works with passwordless autologin)
<Thra11>
*kwallet-pam
cadddr has joined #nixos
<Thra11>
lopsided98: Do you know which it chooses in case of collisions? I assume it depends on the order of the firmware packages in the list, but I can't tell if it'll be the first or last in the list which gets used.
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fjH6v
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fjH6f
ixxie has joined #nixos
orivej has joined #nixos
<lopsided98>
Thra11: the 'meta.priority` attribute can be used to control which one is used, but for packages with the same priority, I think the last one is used.
<danderson>
so, if my hardware-configuration.nix has boot.kernelModules=["kvm_intel"], how do I add an extra kernel module to the list in configuration.nix?
<danderson>
The hardware-configuration.nix file is listed under `imports = [ ... ]` in configuration.nix, so I'm not clear what happens if I redefine boot.kernelModules in configuration.nix explicitly. Am I replacing the imported declaration? Extending it?
<etu>
danderson: In general lists are appended to
<danderson>
ah! Wonderful. I need to think about what that implies for my config factoring, but in this one instance it's a very useful property :)
<srhb>
danderson: In general, each option type has a merge function that decides how to merge two modules with the same option set.
<srhb>
danderson: (And as etu said, list types concatenate)
<danderson>
got it, thank you. Is the merging behavior documented somewhere that I missed?
<srhb>
It should be in the NixOS manual :)
cadddr has joined #nixos
<danderson>
ah, must have skimmed over it, my bad.
<monado[m]1>
lol, it seems cool but a lot of effort on my part
<srhb>
Sure. :)
<monado[m]1>
I ditched gentoo for that reason
WilliamHamilton has joined #nixos
<srhb>
It is a lot of work, and learning. Whether that's worth it for you is.. Difficult to say for someone who's not you. :-)
<WilliamHamilton>
is there a way to disable tests (like `dontCheck`) for every package in a `shell.nix` file generated by `cabal2nix` without writing the explicit overrides for every package?
<srhb>
WilliamHamilton: You could override the haskell mkDerivation to set it on every package.
<monado[m]1>
Got it, NixOS tries to be an extremely stable system right?
<monado[m]1>
My concern is hardware support, I have a ThinkPad T400
<srhb>
monado[m]1: Stable in which sense? I wouldn't say stability is our prime concern.
<srhb>
Reproducibility and purity would probably be the top scorers.
hoijui has joined #nixos
<srhb>
monado[m]1: Breakage is usually less scary when you get the ability to roll back your system..
<monado[m]1>
With the ATi Graphics
<srhb>
I assume that's mainly a kernel thing.
polman has quit [Ping timeout: 245 seconds]
<etu>
monado[m]1: nixos has a binary cache, which makes rebuilds of your system generations a lot quicker than gentoo
<monado[m]1>
Awesome, I’ve actually stuck to void on my elitebook
<monado[m]1>
for that reason
<monado[m]1>
I’ll try NixOS out, wish me luck
<etu>
monado[m]1: And combined with the system generations where you can roll back to a previous generation if you break it somehow
<danderson>
fwiw, I'm deploying nixos instead of debian on my newly built NAS. Specifying my entire machine in a couple hundred lines and *knowing* that the definition matches the state of the system is a big draw to me
<etu>
monado[m]1: But there's a lot of things to learn, it's quite steep. But if you've managed gentoo you're in a good place. Many people in here have a history in Gentoo.
<monado[m]1>
Right, the nix config is basically the system
<monado[m]1>
great, I’m looking forward to it
<danderson>
and so far, I've already done things that would be unthinkable on traditional linux OSes. For instance, to track down a suspected bug with my server's drive enclosure, I upgraded the entire system to the unstable track. Found the bug, then rolled the entire system back to stable
<danderson>
and the rollback was one command + a reboot to get onto the right kernel
cypherpunk has joined #nixos
<etu>
monado[m]1: Feel free to ask questions here, and remember the manual: "man configuration.nix" to find config options.
<danderson>
srhb: thanks for the direct link to the docs, btw! I was looking at the intro to nix config in section 5, it didn't occur to me to look at the developer docs
polman has joined #nixos
<srhb>
danderson: There's some hints and mentions earlier, but not as clear as there :)
<srhb>
danderson: I suppose I can sort of explain it away by claiming that *you're* the developer of your system configuration :-P
<infinisil>
Never heard of silverblue, sounds interesting and similar to NixOS indeed
<danderson>
monado[m]1: fwiw, I'm currently on Arch on my laptops, and thinking of switching... But switching to ubuntu + nix
<WilliamHamilton>
thanks srhb! Btw is there a way to see which chain of packages introduced a dependency for something that gets compiled? It's too new to be on the `reverse dependencies` page here https://packdeps.haskellers.com/reverse
<monado[m]1>
Also, got it
tg has quit [Excess Flood]
<danderson>
my reasoning is that laptops are pretty terrible to support well, and canonical pumps a ton of resources into it, so ubuntu probably works okay out of the box
<srhb>
WilliamHamilton: The drv tree?
<monado[m]1>
My laptop is on void
<WilliamHamilton>
srhb ok, how do I access that?
<danderson>
but then ubuntu's package management is not great, so I would want nix to correct that
<monado[m]1>
and I love it, no nonsense gets the job done
<danderson>
and get good packages
<srhb>
WilliamHamilton: nix-store --query --tree $(nix-instantiate shell.nix -A yourThing)
<infinisil>
danderson: What's your laptop?
<danderson>
it's clearly a compromise, basically I'm purchasing canonical's hardware support and then just ignoring the rest of the system
<etu>
monado[m]1: I'm running nixos on all my laptops, it's all fine :)
<monado[m]1>
Awesome
<monado[m]1>
I intend to run it on my T400 though
<hyper_ch>
you have more than one laptop?
<danderson>
oh I'm definitely going to give full nixos a shot as well, once I'm more familiar with nixos (the NAS I'm setting up is a simplified test setup)
<WilliamHamilton>
srhb like in `nix-store --query --tree $(nix-instantiate shell.nix -A lsp-test)`? That gets no results even if it should be there. Can that be because it may be used only for tests in some package?
<danderson>
but if that fails, I'm thinking ubuntu+nix would be a happy medium
<etu>
hyper_ch: private and work
<hyper_ch>
etu: you can use nixos at work? oO
<hyper_ch>
danderson: going to use zfs?
<srhb>
WilliamHamilton: It shouldn't, if the build depends on it it should show up there...
<srhb>
WilliamHamilton: lsp-test is your thing that accidentally pulls in some dep you want to reason about?
<danderson>
monado[m]1: my personal history of laptops says linux generally Just Works on Thinkpads. There's minor tweaks per generation, but ThinkWiki has them very well documented
<etu>
hyper_ch: only on my work laptop. Sadly not on servers or for the actual work.
<danderson>
and most stuff just works out of the box. I suspect nixos will be the same
<monado[m]1>
Yes, I do
<monado[m]1>
also, I’m underage so no work for me quite ye
<monado[m]1>
* also, I’m underage so no work for me quite yet
tg has joined #nixos
<infinisil>
danderson: I think another linux + nix is a great way to get more familiar with Nix
<WilliamHamilton>
srhb no, `hie-core` is the package I'm trying to build, and in the `shell.nix` generated by `cabal2nix` there's this package `lsp-test`, but I don't know where it does come from
<danderson>
infinisil: my general target is that I want rock-solid hardware support, but bleeding edge development software. Hence the thought of going for a commercially "big" distro as the base, but then overlaying nix on top
<danderson>
nix being able to thrive on any linux is a huge win
<infinisil>
WilliamHamilton: cabal2nix only gives you a rough translation of the cabal file, it doesn't get you the dependencies themselves
<danderson>
but then again, if nixos works, being able to roll back when an upgrade breaks the world is a huge deal also :)
<infinisil>
WilliamHamilton: You need to get the packages from a nixpkgs, which has all hackage packages, including lsp-test
<danderson>
hyper_ch: yes, the zpool is built and I'm rsyncing stuff off the old NAS right now
<{^_^}>
[nixpkgs] @fgaz opened pull request #65973 → coloursum: init at 0.1.0 → https://git.io/fjH6P
<srhb>
WilliamHamilton: Ah, sorry, I misunderstood then :)
<danderson>
still very rough, since I installed nixos yesterday, and I'm just trawling through all the config options enabling stuff that looks interesting :)
<danderson>
hmm, speaking of, I enabled sshguard but it's crashlooping. Time to investigate :)
<infinisil>
Man, I envy people with a simple, one-file NixOS configuration.nix
<hyper_ch>
does anyone have a one-file nixos configuration.nix? I think pretty much everyone includes hardware-configuration.nix
<danderson>
I mean, technically it's a 3-file configuration. I prematurely factored out user configuration, and passwords are in a git-crypted secrets.nix
<samueldr>
do you really envy those with a single file? I bet it gets messy
<danderson>
but yeah, mostly 1-file, as long as I have 1 machine on nixos. When I start getting more I'll refactor
<danderson>
next up will probably be the home router, but it'll take a bunch more work (replacing the builtin firewall, configuring VPN and BGP sessions...)
<Yaniel>
monado: depends on where you are, here you are allowed to take a summer job once you are 14
<monado[m]1>
New Jersey for myself
<monado[m]1>
I need to use my summer for useful things like advertising void Linux on discord
<infinisil>
samueldr: *looks at his 100-file config madness* Hmm yes, this way it's totally not messy
<Yaniel>
lel
<hyper_ch>
just cat them all into one file ;)
<samueldr>
infinisil: I never said it wasn't messy in other manners :)
<Yaniel>
I'm actually just looking to try void next to my nixos install
<Yaniel>
just gotta wrangle those lvm volumes so there is enough free space
<infinisil>
hyper_ch: Yeah I actually thought of doing that recently, but with *all* NixOS modules, even ones in nixpkgs/nixos, could potentially make nixos evals faster
<Yaniel>
monado anyway AFAIK silverblue is more like a minimal readonly system + appimages where nixos a not-so-minimal system where everything is just readonly unless specified otherwise
terlar has quit [Remote host closed the connection]
<Yaniel>
(and symlinked into place instead of bundled into images)
<Ralith>
I was very confused for a minute here because monado is an open source project I follow/contribute to
<roconnor>
This parameter seems to already be set to true.
_kwstas has quit [Client Quit]
<hyper_ch>
wow, just read that hoverboards are now a reality..... Franky Zapata crossed the Channel on a flying board.....
polman has quit [Ping timeout: 245 seconds]
drewr has quit [Ping timeout: 276 seconds]
mexisme has quit [Ping timeout: 245 seconds]
abrar has joined #nixos
amir has quit [Read error: Connection reset by peer]
kiwi_49 has joined #nixos
amir has joined #nixos
polman has joined #nixos
nixbitcoin has joined #nixos
<kiwi_49>
Hi, did you change something in your infrastructure recently? Now almost anything bigger, mesa, ghc, qemu, gives me decompressing xz file so I cannot update my NixOS at all :/
ng0 has joined #nixos
<abrar>
i'm calling nix-build on a .nix file that specifies an attrset and it isn't evaluating the values of each attr. is that expected behavior? this is the file I'm building in case it's helpful: https://github.com/reflex-frp/reflex/blob/develop/release.nix
<nixbitcoin>
how do I verify a cargoSha256 deterministically (without inserting a fake checksum)?
amir has quit [Read error: Connection reset by peer]
FRidh has quit [Quit: Konversation terminated!]
halfbit has joined #nixos
amir has joined #nixos
<infinisil>
kiwi_49: What's the problem with decompressing xz?
<{^_^}>
[nixpkgs] @kalbasit pushed commit from @jonasnick to master « lnd: 0.7.0-beta -> 0.7.1-beta (#65865) »: https://git.io/fjHiZ
<kiwi_49>
'error 9 while decompressing xz file'
<kiwi_49>
or 'HTTP error 200 (curl error: Timeout was reached)'
<infinisil>
nixbitcoin: First build the deps normally with `nix-build -A <the-rust-package>.cargoDeps` (this will probably fetch from the cache), then build it again with --check: `nix-build -A <the-rust-package>.cargoDeps --check`, which will rebuild it without a cache, then check that it's the same as the first result
ottidmes has quit [Remote host closed the connection]
kiwi_49 has quit [Remote host closed the connection]
amir has joined #nixos
eyJhb is now known as eyJhb
zupo has joined #nixos
andreas303 has quit [Remote host closed the connection]
Ralith_ has quit [Remote host closed the connection]
andreas303 has joined #nixos
mexisme has quit [Ping timeout: 250 seconds]
nixbitcoin has quit [Remote host closed the connection]
mexisme has joined #nixos
nixbitcoin has joined #nixos
<{^_^}>
[nixpkgs] @worldofpeace merged pull request #65494 → crawl: use static config for data files → https://git.io/fjyib
<{^_^}>
[nixpkgs] @worldofpeace pushed 2 commits to master: https://git.io/fjHi5
_kwstas has joined #nixos
ayerhart has quit [Ping timeout: 272 seconds]
m3thos has joined #nixos
hyperfekt has joined #nixos
drakonis has joined #nixos
<hyperfekt>
anyone using niv for their configuration? is that the right tool to replace nix-channel when you want to pin but still update regularly?
mexisme has quit [Ping timeout: 245 seconds]
<m3thos>
hi, new to nixos but old to linux, how can I configure the cpu clock rate (powersave, ondemand, performance) ? can someone point to examples or docs ?
zacts has quit [Quit: WeeChat 2.4]
<etu>
m3thos: For me it's added to hardware-configuration.nix automatically on nixos-generate-config
<{^_^}>
[nixpkgs] @suhr opened pull request #65979 → qjackctl: use qt5.mkDerivation → https://git.io/fjHPJ
drisc has joined #nixos
<hyperfekt>
you want the powerManagement.cpuFreqGovernor option
<selfsymmetric-mu>
hyperfekt: I don't know, I haven't used it. There's such a wide ecosystem for these things. All I want is to be able to specify a configuration declaratively in nix files. But there's a lot of popularity around tools which use strange global configuration. Like lorri, which can't be installed from nixpkgs and collided with other parts of my system; or, you know, the pervasive use of overlays, which can redefine the meaning of something
<selfsymmetric-mu>
at the other end of your configuration.
<selfsymmetric-mu>
I've always managed to get things the way I like it, but I hope that some strong best practices end up rising to the top of documentation over time.
<selfsymmetric-mu>
Because right now there's a lot of exploration involved.
<etu>
m3thos: also, "man configuration.nix"
__monty__ has quit [Quit: leaving]
<drisc>
Hi, I was wondering if someone could help me? I'm trying to figure out how to run make on a project.
lambda-11235 has quit [Quit: Bye]
noudle has quit []
_kwstas has quit [Quit: _kwstas]
<selfsymmetric-mu>
drisc: Ask away.
<__red__>
I'm going to do a quick talk / introduction to NixOS and Nix - anyone got anything that I should mention that's new in the last 2 years or so?
<__red__>
at defcon
<drisc>
I'd like to install aerc to try it out but when I type make it says command not found. i don't know what package it's a part of and I couldn't find it on the package search.
<drisc>
I litterally just started using nix today so I might be going about this all wrong heh
<{^_^}>
"aerc is an email client for your terminal"
<symphorien>
apparently yes :)
<selfsymmetric-mu>
__red__: Is the talk going to be general evangelism of the platform as a whole, or are you going to be showing specifics of how to configure your environment?
<drisc>
Ah right, I glanced at the channels but havn't added any yet
<drisc>
Thanks symphorien
<symphorien>
if you are using nix on non-nixos then this is the default channel
<selfsymmetric-mu>
symphorien++
<{^_^}>
symphorien's karma got increased to 20
<symphorien>
so you just have to run `nix-env -f "<nixpkgs>" -iA aerc`
<{^_^}>
[nixpkgs] @suhr opened pull request #65980 → mixxx: use qt5.mkDerivation → https://git.io/fjHPg
<drisc>
I'm running it native on an X201, took some getting used to but I think I like this way better than Arch
<danderson>
so, I'm confused. I'm on 19.03-small, which that says was updated 10h ago. Yet, sshguard is still broken. Guess I need to investigate more...
ng0 has quit [Quit: Alexa, when is the end of world?]
<rawtaz>
what symphorien linked to works great =)
<symphorien>
danderson: you can use nixos-version to check the commit your system is build from
<symphorien>
*built
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<danderson>
I seem to be on commit 93ea, 1 day ago. So, a little older, but not hugely so
<symphorien>
then you can check that this commit actually contains the fix
<{^_^}>
[nixpkgs] @balsoft opened pull request #65982 → Backport mtxclient and nheko to 19.03 → https://git.io/fjHPD
<orcus>
Is there a way to run multiple X sessions? (as in, different graphical users on Ctrl-Alt-F7, and Ctrl-Alt-F8)
justan0theruser has joined #nixos
<danderson>
The fix is included. I think the backport was in error, or at least breaks things in a different way in 19.03 than unstable
justanotheruser has quit [Disconnected by services]
justan0theruser is now known as justanotheruser
<danderson>
hmm. And while I was typing that, sshguard stopped crashlooping and started successfully. Smells racey.
<m3thos>
so, I've added some apps with nix-env and others w/ configuration.nix ..how do I get a list of all of them and ensure I'm tracking all apps on configuration.nix ?
<danderson>
yeah, sshguard crashloops a couple of times before finally starting up correctly. Sounds like there's some race condition in its startup logic.
<symphorien>
m3thos: nix-env -q and sudo nix-env -q
<m3thos>
thanks, I have more doubts, but I think I can find my way. btw, after 20years of linux I'm finding NixOS *extremely* interesting. currently I use packer + ansible to set up some servers, this 1 week experience w/ my file server makes me consider using nixos instead
shibboleth has joined #nixos
halfbit has joined #nixos
ottidmes has joined #nixos
mexisme_ has joined #nixos
<drisc>
symphorien: I'm having trouble understanding where in the config.nix the snippet for the unstable channel goes.
<drisc>
Keep getting errors about and unexpected LET
<drisc>
an*
<symphorien>
usually the let will be in line 2
<symphorien>
all your options should go inside the last braces of the file
<drisc>
I think I've got it, I didn't have 'in' before the {} that all the other options were in
Boubert has joined #nixos
magnetophon has quit [Ping timeout: 245 seconds]
<danderson>
Filed https://github.com/NixOS/nixpkgs/issues/65985 for the sshguard bug. I guess now I get to figure out how to substitute the sshguard module with my fork, so I can work on a fix :)
<{^_^}>
#65985 (by danderson, 39 seconds ago, open): sshguard has a startup race condition
<danderson>
hmm, a stupid question about policy: the sshguard module as currently defined edits the firewall when it starts, with some scripted `iptables -I` commands. Naively I would expect the module to instead add a `networking.firewall.extraCommands` to do what it needs. Is that wrong?
<danderson>
My reasoning is: right now, if anything restarts firewall.service after sshguard has started, it'll wipe out sshguard's modifications since they're done imperatively at sshguard.service startup
<symphorien>
seems reasonable
<symphorien>
you may have to think about the merge order
<danderson>
hm. In general, sshguard wants to be "near the top" of the INPUT chain. I don't think it matters much where exactly, as long as it's before the general firewall rules
<danderson>
so I think any order within extraCommands should be fine... Maybe?...
pottumuusi has left #nixos [#nixos]
<danderson>
Or perhaps the answer is to not touch the firewall at all in the sshguard module by default, and leave it to the user to think about that. But, that's not zero-config any more
magnetophon has joined #nixos
<symphorien>
a third alternative would be to instruct systemd to restart sshguard when firewall.service is restarted
<danderson>
hmm, looks like it does that already actually
<m3thos>
how do I change the system-wide shell to zsh (including user root) ?
<danderson>
assuming PartOf does what I expect
<danderson>
yup, sshguard is PartOf firewall.service, so restarting the firewall already pokes sshguard also
linarcx has quit [Ping timeout: 245 seconds]
<danderson>
so in that case, it's just a question of fixing the start scripts, yay.
<symphorien>
php packages usually assume they can write on themselves
jgt has quit [Ping timeout: 276 seconds]
nixbitcoin has quit [Quit: nixbitcoin]
<symphorien>
so php apps usually first copy the content of the store to some writable directory, and then serve this directory
halfbit has quit [Ping timeout: 264 seconds]
mog has quit [Ping timeout: 246 seconds]
<asymmetric>
symphorien: the link with group permissions is that i was thinking of making the binary setuid, and set g+x, and have nginx run as this group
<danderson>
that said, the root cause of your problem is probably that Windows stores time in the RTC in the local timezone, and linux defaults to storing UTC
<danderson>
... yeah, what jackdk said :)
andreas303 has joined #nixos
<Ashy>
why would you ever want local time stored in the hardware clock?
<Ashy>
microsoft will be end of me aye
<danderson>
my guess: so that the time reads "correctly" in the BIOS setup menu
<averell>
probably dates back to DOS days...
<Ashy>
it doesnt seem to be by my utc offset correctly even
<danderson>
and also yes, MS is fanatical about backwards compatibility
<jackdk>
probably because "the previous version of windows did that", and if you keep asking, you'll get "because DOS did that", and if you keep asking you'll get "because the previous version of DOS did that", and maybe even "because CP/M did that"
<jackdk>
... yeah, what danderson said :)
WilliamHamilton has quit [Remote host closed the connection]
<danderson>
if you ever changed how windows stores time in the RTC, it'll probably break some industrial CNC mill control system that can only be controlled by an ancient DOS program that somehow still runs fine on windows 10
<jackdk>
... well, I think they removed the 16bit host, but someone's probably hacked up dosbox to keep it alive :-)
<danderson>
fortunately, linux is flexible and you can work with windows on this :)
gagbo has quit [Ping timeout: 245 seconds]
<Ashy>
yeah makes sense
<Ashy>
in a "let's never make any progress for the sake of short term commercial concerns" kind of way
<danderson>
I dunno, I think in a world of proprietary software, it's a pretty admirable position to hold
<danderson>
("never break anything", that is)
<danderson>
it creates a huge amount of work for them to maintain all these compatibility hacks, it'd probably be much easier for them to just break stuff
<Ashy>
ntpdate seems to have worked, and i've added hardwareClockInLocalTime=true; to my configuration.nix
<Ashy>
thanks
<danderson>
it does set up an irritating "my way or the highway" standoff though :)
<gchristensen>
kalbasit: try console=ttyS1,115200n8 and delete the other console=... bits
<Edes>
I have been here a couple of times asking about my backlight issues on gnome 3, I managed to fix xbacklight by adding my user to the video group and enabling brightnessctl
<gchristensen>
kalbasit: can you make a note on the wiki? :)
<kalbasit>
Sure
<gchristensen>
thanks!
abrar has quit [Quit: WeeChat 2.4]
abrar has joined #nixos
<averell>
My shell is in /etc/shells. Maybe there was a rebuild/config change, and the SHELL var wasn't updated? Hard to say without knowing what it contains or where that check was.
<Edes>
mine is too
mbrgm_ has joined #nixos
selfsymmetric-mu has left #nixos ["gone to the land of dead hiccups and extinguished light bulbs"]
<Edes>
I ran that command on my terminal and it works
<Edes>
but if I press the brightness keys it adds more entries on the logs
<danderson>
ugh cloning nixpkgs on shitty slow DSL is terrible
mbrgm has quit [Ping timeout: 252 seconds]
mbrgm_ is now known as mbrgm
zacts has quit [Quit: WeeChat 2.4]
<averell>
pkexec is like sudo or something? maybe that user has a different shell configured? or nologin or something?
<{^_^}>
[nixpkgs] @danderson opened pull request #65995 → nixos/sshguard: create ipsets before starting, and clean up after stopping. → https://git.io/fjH1c
<Edes>
ah
<Edes>
I get that error whenever I run pkexec
abrar has quit [Read error: Connection reset by peer]
abrar has joined #nixos
wfranzini has quit [Remote host closed the connection]
wfranzini has joined #nixos
joebobjoe has quit [Ping timeout: 245 seconds]
acarrico has joined #nixos
<Edes>
oof ok
<Edes>
apparently since my default shell is zsh instead of bash
<Edes>
and zsh is not in my /etc/shells file
<Edes>
pkexec fails
ottidmes has quit [Ping timeout: 245 seconds]
<Edes>
if I add zsh to environment.shells it fixes it