<samueldr>
with my limited experience with the pi4 I don't see it displacing enough heat that this makes a difference compared to other simpler and smaller fan+heatsinks solutions
<Ashy>
i think explaining computers did a comparison between a bunch of pi4 coolers and that was one of them
<Ashy>
wonder what the mainline kernel status is for the rockpro64 these days
<Ashy>
i havent touched my rockpro64 since 2019 i think
<samueldr>
I think it's good enough now, if I remember what people are saying
<samueldr>
though I guess it all depends on your use case
<cole-h>
My use case is running NixOS :P
<Ashy>
at one point hdmi only worked on the ayufan kernel fork from memory
<cole-h>
I don't need HDMI, so that's all fine and dandy./
<samueldr>
funny thing about the rk3399 board I'm using (roc-rk3399-pc from libre.computer)
<samueldr>
running 5.5 I can use the NVMe drive
<samueldr>
but apparently I shouldn't be able to!
<samueldr>
somehow it broke since then and it's being fixed... they do good work with upstream changes
<samueldr>
but I just find it extremely funny how I've been told "it's going to work", and the older kernel I had just because it already was built... already worked
<cole-h>
Heh
<samueldr>
since I need it for local aarch64 builds, I'm running that old kernel still, since whew the difference in perfs between NVMe and sd or a usb thumb drive is night and day
<samueldr>
I/O really kills perfs
<samueldr>
so, skimmed a lot around explaining computer's videos, and yeah, nothing conclusive
<samueldr>
his tests seem to be solely about making it hotter or not, not about perfs :/
<samueldr>
I mean, sure if that's your goal, but the difference between 60°C and 40°C on the pi4 I suppose are not really going to change anything
<samueldr>
I have two inexpensive possibly same chipset capture
<samueldr>
if you do 720p it does 60fps
<samueldr>
1080p 30fps
<samueldr>
almost no latency
<samueldr>
I use it to play switch games in a window
<colemickens>
I had bought a physically-larger one that claimed to do 4k but even with 1080p there was lag and aggressive... it looked like JPG artifacting lamost
<samueldr>
when I say "almost no latency", it's basically "it doesn't make me play more badly"
<colemickens>
samueldr: wow, that's a testament to low-latency, I've not seen many low-enough for that sort of usage. thats neat
<colemickens>
I mean, that's the measurement that matters!
<samueldr>
yes
<samueldr>
and with usbip I hooked one to my higher-powered server, to allow myself to game during this summer on the nvidia gpu
<samueldr>
(I can't have it hooked on the same circuit as the air conditioner)
<samueldr>
and when I tested using minecraft, it felt fine
<colemickens>
haha
<samueldr>
synergy to stream my mouse/keyboard to a computer all the way over to another room, then usbip to stream the usb protocol from there to the computer, and decoding locally
<samueldr>
and it felt okay
LnL- has joined #nixos-chat
LnL- has quit [Changing host]
LnL- has joined #nixos-chat
<samueldr>
when I tested the setup, with the switch still, I couldn't feel the difference really between it locally and it over usbip
<eyJhb>
How well it works, not sure. That is productions problem! \s
<lejonet>
eyJhb: logically, it would seem like the lock should go after the for-loop that waits for the queue to be notEmpty, similar to how Offer only locks just before tryPush and unlocks directly afterwards
{`-`} has joined #nixos-chat
da_dada has quit [Ping timeout: 265 seconds]
da_dada has joined #nixos-chat
<lejonet>
eyJhb: ah fair point, because otherwise it might change "under your nose", true
<lejonet>
eyJhb: but shouldn't in then lock it again after the for-loop anyway, because Wait() unlocks it? Or is it specifically the notEmpty that wait locks?
* lejonet
knows very little Go, so its not unlikely that its som Go-ism that he just doesn't know
<eyJhb>
`Wait atomically unlocks c.L and suspends execution of the calling goroutine. After later resuming execution, Wait locks c.L before returning.` so it relocks again :D
<eyJhb>
I find it hard to read, but it seems like the code is correct. Not sure however :p
<eyJhb>
Stepping a little away from it, and trying to get some NixOS (home-manager) PRs done :p
<lejonet>
eyJhb: so basically, Wait() is the magic that ensures that the prior lock doesn't cause a deadlock, because Wait() unlocks just before sleeping, so that something actually can input stuff in the queue, and as soon as Wait() wakes up, it applies the lock again?
<eyJhb>
THat is at least how I read it, but now that you say it, I am not sure :(
<lejonet>
that is also how I read it
<eyJhb>
I might actually need a seperate mutex..
<eyJhb>
Ohh yeah, that is correct. So it needs to be locked beforehand, it will then unlock to allow for a signal/taking the lock and will try to aquire the lock again once it gets a signal/resumes
<eyJhb>
lejonet: any chance you are a champ with systemd? :p
<lejonet>
In pseudocode, I "parse" that what the code in that example does is q.lock.Lock(); for q.count == 0 { q.lock.unlock(); setup_signal_handler_for_wakeup(); sleep; q.lock.Lock(); }
<lejonet>
eyJhb: define champ xD I know a fair bit of systemd, but I wouldn't say I'm an expert on it :P
<eyJhb>
Basically yeah, not sure about the sleep :p - I am trying to get a systemd user service to access /run/user/$(id -u), but it seems like it is not running the service as the user? Even when started using --user...
<lejonet>
oh the whole systemctl --user part I have more or less no knowledge off :/
<lejonet>
eyJhb: the sleep is more a suspend if I understand the docs right, as sleep is blocking and suspend is most likely not
<eyJhb>
lejonet: I found the issue, `id` was not part of the tools in the systemd service
<eyJhb>
:p
<lejonet>
eyJhb: aah :P
<eyJhb>
I have spent too much time on that
<eyJhb>
Getting weird errors or NO errors ...
<lejonet>
Yeah, I've been bitten by that a few times, I've been using nixos for quite some time now, and I still forget that $PATH in nixos is far from as "including" as on other distros :P
<eyJhb>
How long lejonet ?
tazjin has quit [Quit: Byeee]
tazjin has joined #nixos-chat
<lejonet>
eyJhb: Good question, I think its 3-4 years now (so its not ages, but still some time), but I have a server env that is fully nixos, apart from the router, so I've fiddled a lot with nixos
<eyJhb>
I think I am only at 2 years, or little over a year. Not actually sure. But trying to keep all as NixOS as I can :p Only need my TV/Chromecast to be NixOS atm. everything else is NixOS!
<eyJhb>
But yeah, the path is not just /usr/bin, which is nice :D I don't have as much crap. And I only have Teams "installed" whun I have a meeting
<lejonet>
Indeed, the user-env concept I really love
<lejonet>
no need to be using sudo all the time, and pollute everyone elses envs when its only my user that wants the software etc etc
<infinisil>
Yay, my firefox doesn't get graphical glitches anymore after resuming from suspend or switching monitors \o/
xd1le has quit [Read error: Connection reset by peer]
<lejonet>
:D
<eyJhb>
infinisil: CHEEEAAAATS!
<infinisil>
Previously I had to restart it to fix it
<eyJhb>
lejonet: or polluting anything in general. Having the ZFS rollback/tmpfs for / is awesome
<eyJhb>
What did you change infinisil ?
<lejonet>
eyJhb: mhm :)
<infinisil>
eyJhb: I'm not sure, probably just an update
xd1le has joined #nixos-chat
<infinisil>
Seeing a bug fixed just by updating is one of the best feelings :D
<lejonet>
Indeed :D
cjpbirkbeck has joined #nixos-chat
footlooseboss has joined #nixos-chat
parsley936 has quit [Remote host closed the connection]
parsley936 has joined #nixos-chat
xd1le has quit [Remote host closed the connection]
xd1le has joined #nixos-chat
tilpner has quit [Remote host closed the connection]
<gchristensen>
I need to setup a prometheus alert for "go outside and be on the porch"
<samueldr>
tied to specific sun heights and position?
<lejonet>
infinisil: ping
xd1le has quit [Read error: Connection reset by peer]
<cole-h>
gchristensen: Same... Especially now that Zoom U has begun.
xd1le has joined #nixos-chat
<JJJollyjim>
firing: Vitamin D on JJJollyjim is critically low
Jackneill has quit [Ping timeout: 244 seconds]
<gchristensen>
samueldr: tied to "it is daytime" and the temperature being amazing
Jackneill has joined #nixos-chat
<lejonet>
Is there any documentations about the types in nixpkgs yet, or is code-diving still the best documentation there is? :P
<JJJollyjim>
The module system types?
<lejonet>
Yeah
<JJJollyjim>
I think the NixOS manual has pretty good detail on those
<lejonet>
I'm trying to figure out what type I need to set if I want to enforce an attrset that can contain bools, listOf port and listOf str
<lejonet>
oneOf clearly isn't the right answer there xD
<lejonet>
is there maybe an anyOf? :P
<JJJollyjim>
attrsOf (oneOf[...]) maybe?
<lejonet>
Well, that expects the attrsOf to be of just one of the types in the oneOf list, but I want to be able to have an attrset that can contain any of those, in combination
<lejonet>
because atm I have attrsOf(oneOf [ bool (listOf port) (listOf str) ]), and the first item in the attrset is an attrsOf bool, and the second one is a attrsOf (listOf port) and later on I have one that contains listOf str, listOf port and bools :P
<lejonet>
so ofc it gets very mad at me
<JJJollyjim>
oh hmm that's surprising
<cole-h>
gchristensen: What is this "amazing temperature" you speak of?
rajivr has quit [Quit: Connection closed for inactivity]
<joepie91>
ar: yeah :(
buckley310 has joined #nixos-chat
cole-h has quit [Quit: Goodbye]
bqv has quit [Ping timeout: 240 seconds]
bqv has joined #nixos-chat
<infinisil>
lejonet: Heloo
<lejonet>
infinisil: Ehlo! Got time for some packetbeat module talk? Would very much like some help with how I should define the types right so that it doesn't whine at me :P
<infinisil>
lejonet: If you have something to reproduce that would be great :)
<lejonet>
infinisil: I will push the latest commit so you can see where I am, basically, it would seem like the way the types are setup now, it whines at the default config, because the first attribute in the attrset contains an attribute that is a bool, and the second one contains an attribute that is a listOf port
<infinisil>
lejonet: Make sure to also post the config you use (if it changed to what you posted before)
<lejonet>
infinisil: it doesn't differ from what was posted before
<infinisil>
Got it
<infinisil>
lejonet: Is the push coming?
<lejonet>
infinisil: yeah, thought I had pulled stuff before working locally, but I apparently hadn't, so have to merge it first
<lejonet>
erh, I think I screwed something github-y up, because it added a heck load of reviewers
<lejonet>
I think I screwed up my rebase to master perhaps?
* lejonet
is ashamed of how bad his git-fu has become
<infinisil>
Hehe yup
<infinisil>
Let me know when you got it
<lejonet>
Will do
<infinisil>
lejonet: Tbh, probably a good idea to just close the PR and open a new one
<lejonet>
infinisil: that was my thought too, its way beyond worth saving lol
<infinisil>
Everything can be fixed actually, but by closing it you also signal to all the people that it was a false alarm :)
<infinisil>
For the new PR, I'd just create a new branch from master, and then just `cp` the packetbeat.nix file into it
<lejonet>
Yeah, that is exactly what I was gonna do
<infinisil>
Or `git checkout <rev> -- packetbeat.nix` for copying it from another rev
<lejonet>
infinisil: yeah I know, but that is what I couldn't figure out, because the config setup is the one modelled after the docs
<infinisil>
lejonet: The type should be `attrsOf (attrsOf (oneOf ...))`
<lejonet>
infinisil: but still oneOf, even tho the nested attrSet can have different type of attributes?
<infinisil>
Yeah
<infinisil>
As long as the attribute values can be merged according to one oneOf type, it doesn't matter if they are different
<lejonet>
Please correct me if I've understod this wrong, but basically, the first attrsOf (attrsOf, fixes the nesting needed, and then the oneOf list says what types the attributes in the deepest down attrset can be?
<infinisil>
No it just says what the values of the second nesting can be
<lejonet>
well that is what I mean
<infinisil>
Then yes :)
<lejonet>
me and words aren't friends today lol
<infinisil>
Though you can also have a deeper nesting
<infinisil>
lejonet: Why not just set the type to format.type though?
<lejonet>
Mhm, like having an attrsOf <type> in the oneOf list?
<infinisil>
Then you don't have to worry about getting it right
<lejonet>
infinisil: because I honestly didn't know that was an option lol
<infinisil>
Oh :P
<lejonet>
I have no idea where this is documented xD before when I've needed to figure out types, I've just dived into the lib directory, trying to find the definitions :P
<infinisil>
Where what is documented?
<lejonet>
The freeform module, the type format.type (yeah I know we define format as pkgs.formats.yaml {} in the let-in) and so
<infinisil>
It's in the unstable nixos manual
<lejonet>
Because if it is as simple as "just" adding type = format.type to all the options, then I'm all for that xD
<infinisil>
That just works because the `settings` type will just be used by format.generate
<lejonet>
ah, I've been searching for it in the stable one apparently
<infinisil>
Idea: Put a bot in #rubberduck that just says stuff like "Have you tried turning it off and on again?", "Damn yeah that seems pretty complicated", "Can you explain that part again?"
<lejonet>
Whats the easiest way to remove a key from an attrset? (or tell a key-value that has been made with mkDefault to go away? )
<lejonet>
Do a filterAttrs on the attrset?
<V>
nix-repl> builtins.removeAttrs { a = 1; b = 2; } [ "a" ]
<V>
{ b = 2; }
<V>
re mkDefault, perhaps you want to just set it to null? maybe with mkForce
<V>
what's your usecase
<samueldr>
mkForce is a nixos modules system construct
<samueldr>
oh duh, sorry
<samueldr>
I was thinking mkDerivation when I read mkDefault
<lejonet>
Well, its with a module I want to do it, basically, I'm developing the packetbeat module #97152, and my usecase doesn't use the output.elasticsearch key, that tho is created by default
<lejonet>
so I want to remove the default that is put there by the module, and I'm not sure how I'd do that, because the removal with like lib.attrsets.filterAttrsRecursive (and I'm guessing builtins.removeAttrs) happens before the merge, which adds the elasticsearch key
<infinisil>
lejonet: You can set `output = mkForce {}`
<lejonet>
infinisil: well, I want output to exist, so I guess what I should do is output = mkForce { my = things; go = here; }; then?
<infinisil>
Yea
<lejonet>
Makes sense
<lejonet>
Wanted to check if there was a magic way to do it or simply "bull in a china shop" mkForce it :P
<samueldr>
and just saying, this is #nixos-chat ;)
<lejonet>
I know ^^
<infinisil>
Oh yeah this is better for #nixos or #nixos-dev
<samueldr>
where on topic is off topic and off topic is on topic
<lejonet>
Oh right, I had completely forgotten about #nixos-dev, duuh
<samueldr>
btw, it's not for dumb pedantic reasons... the main reason is that there's only a small subsection of individuals here, so on-topic discussion can be lost to some that way...
<lejonet>
Yeah, I completely get that, no worries :)
<samueldr>
... and also because it'd be rude for other people if it somehow became "#nixos but you get better replies" :)
<samueldr>
no worries, re-stating the obvious for the silent listeners here that might not have internalized that
* lejonet
is still a bit stuck in how the gentoo channels were setup, where #gentoo was for questions regarding the distro, #gentoo-dev was a closed channel for devs only and #gentoo-chat handled most of the things inbetween :P
<samueldr>
oh, that's unfortunate
<samueldr>
transparency is great
<lejonet>
It is indeed
<lejonet>
iirc they did create a #gentoo-ebuild or such after a while, but there was never really any useful discussions in #gentoo-dev, so I dunno why they didn't just open that one up, its not like the devs didn't have anywhere else to bikeshed... :P
<samueldr>
tradition, inertia, it's a hell of a habit
<lejonet>
Yep
<abathur>
#a-nixos-chat: a channel for off-topic messages beginning with the letter "a"
<abathur>
anyone in? :]
<abathur>
all messages addressed to yours truly automagically on topic :P
<lejonet>
hahaha
leah2 has quit [Ping timeout: 256 seconds]
parsley936 has quit [Remote host closed the connection]