gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
LnL has quit [Quit: exit 1]
LnL has joined #nixos-chat
LnL has joined #nixos-chat
LnL- has joined #nixos-chat
LnL- has joined #nixos-chat
LnL has quit [Ping timeout: 272 seconds]
LnL has joined #nixos-chat
LnL has quit [Changing host]
LnL- has quit [Ping timeout: 258 seconds]
cole-h has quit [Quit: Goodbye]
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 272 seconds]
tilpner_ is now known as tilpner
rajivr has joined #nixos-chat
xd1le has quit [Read error: Connection reset by peer]
<infinisil> Oh this is super neat. I've had this module for a while where I can give it a youtube playlist, and it automatically downloads and imports songs from it into my music library
<infinisil> I've used this to add songs to a download playlist when I want it downloaded
xd1le has joined #nixos-chat
<infinisil> However I just realized that I could use this as well for other playlists, with no modifications needed, since youtube-dl accepts multiple arguments!
<ashkitten> i got all excited that rocm supports navi now, but due to llvm mismatches blender crashes with it :(
<infinisil> The module is here for those interested, though it's not really usable directly if you don't exactly have my setup :P: https://github.com/Infinisil/system/blob/master/config/new-modules/youtubeDl.nix
LnL has joined #nixos-chat
LnL has joined #nixos-chat
<infinisil> Ugh, I just had to catch a mouse inside. One of our cats apparently knows how to catch mice, but not what to do with them..
<samueldr> they clearly know what they wanted to do with them
<samueldr> it's been theorized that they want to teach you, weird hairless cat, to hunt
<aleph-> Indeed
<aleph-> You weird hairless cat
<aleph-> infinisil apparently ^
xd1le has quit [Read error: Connection reset by peer]
xd1le has joined #nixos-chat
* colemickens needs email provider recommendations
andi- has quit [Remote host closed the connection]
andi- has joined #nixos-chat
<worldofpeace> aleph-: not sure if you're suggesting infinisil is a hairless cat, but I will admit once upon a github avatar I was convinced infinsil was actually an kawaii anime kitty. I was honestly shocked when that wasn't the case
<aleph-> colemickens: Self host?
<aleph-> colemickens: Go with a vps at prgmr.com, a domain and the nixOS mailserver module or mail in a box?
<aleph-> My mail never gets rejected off their ip range
<aleph-> worldofpeace: Heheh
<colemickens> aleph-: I did once upon a time. I still feel like I hear horror stories
<colemickens> but I guess I only hear the bad ones, and nixos could mitigate a lot of the awfulness that I remember that was manual config tweaking at setup-time
<aleph-> Works fine for me.
<aleph-> Admittedly I do mail in a box currently.
<aleph-> Might change to nixOS mail server perhaps
<aleph-> It's the one debian machine I still admin.
<colemickens> Hm, ok, nice, I'll look at this. Thanks for the suggestion :)
<aterius> colemickens: I use and am happy with mailbox.org
<aterius> I know a lot of people love fastmail, but it's a bit pricey
waleee-cl has quit [Quit: Connection closed for inactivity]
<samueldr> :< that fontconfig issue from the other day is now coming back for a second meal, by breaking 20.03 channel apps on 20.09 it looks like
<aleph-> Ouch
<drakonis> there's an eyeless sphnyx cat
<aleph-> There is
<aleph-> It's so weird. I've met one like that
<aleph-> Liked having it's eye holes rubbed
<drakonis> it is very cute and spooky
buckley310 has joined #nixos-chat
cole-h has joined #nixos-chat
ixxie has quit [Remote host closed the connection]
kalbasit has quit [Ping timeout: 240 seconds]
Guest88372 has quit [Ping timeout: 240 seconds]
johanot has quit [Ping timeout: 240 seconds]
taktoa[c] has quit [Ping timeout: 244 seconds]
feepo has quit [Ping timeout: 260 seconds]
pasukon has quit [Ping timeout: 260 seconds]
buckley310 has quit [Ping timeout: 244 seconds]
srhb has quit [Ping timeout: 240 seconds]
peel has quit [Ping timeout: 260 seconds]
sorear has quit [Ping timeout: 260 seconds]
liszt has quit [Ping timeout: 260 seconds]
Guest88372 has joined #nixos-chat
taktoa[c] has joined #nixos-chat
kalbasit has joined #nixos-chat
liszt has joined #nixos-chat
buckley310 has joined #nixos-chat
johanot has joined #nixos-chat
feepo has joined #nixos-chat
sorear has joined #nixos-chat
pasukon has joined #nixos-chat
<infinisil> worldofpeace: I wish! I love thaz avatar <3
peel has joined #nixos-chat
srhb has joined #nixos-chat
<worldofpeace> infinisil: I appreciate that it's still that one on discourse 😸 and tbh being a kawaii cat wouldn't be coooll. sounds like a fun time
<eyJhb> ldlework: Did you make any progress on the nix website generator?
<V> nix website generator?
<eyJhb> V: I think it was Styx
<V> oh, neat
<V> yeah, found it
<eyJhb> I have been wanting to move my.. Somewhat broken website to something Nix
<V> I wrote an ad-hoc HTML templating system and static site generator in Nix.
<V> My entire website (currently unpublished) is sitting in my server's Nix expression in my personal monorepo :p
<eyJhb> However still need to find a way to have custom code blocks in markdown, that will be passed to another program and overwrite the codeblock with a link
<eyJhb> I have considered doing the same for now. Shouldn't be that hard I guess
<V> it's not
<V> Nix lends itself nicely to writing little DSLs like that
<V> not as nice as, say, Ruby, or a Lisp
<V> but it's up there
<eyJhb> I would say, it seems nicer when you want to use it as a build system
<eyJhb> But there might be a extremely nice way to do it in Ruby/Lisp that I do not know of. I have never picked up those langs
<eyJhb> The most Ruby I have ever done was when I did some Gitlab MRs
xd1le has quit [Read error: Connection reset by peer]
xd1le has joined #nixos-chat
parsley936 has joined #nixos-chat
cole-h has quit [Quit: Goodbye]
Jackneill has quit [Read error: Connection reset by peer]
buckley310 has quit [Quit: Connection closed for inactivity]
xd1le has quit [Read error: Connection reset by peer]
xd1le has joined #nixos-chat
bbigras has quit [Quit: killed]
balsoft has quit [Quit: killed]
vaibhavsagar has quit [Quit: killed]
philipp[m] has quit [Quit: killed]
JJJollyjim has quit [Quit: killed]
leons has quit [Quit: killed]
rycee has quit [Quit: killed]
kraem has quit [Quit: killed]
worldofpeace has quit [Quit: killed]
puzzlewolf has quit [Quit: killed]
crazazy[m] has quit [Quit: killed]
leonardp has quit [Quit: killed]
arcnmx has quit [Quit: killed]
aaronjanse has quit [Quit: killed]
Irenes[m] has quit [Quit: killed]
aanderse has quit [Quit: killed]
nocent has quit [Quit: killed]
thefloweringash has quit [Quit: killed]
danielrf[m] has quit [Quit: killed]
colemickens has quit [Quit: killed]
noneucat has quit [Quit: killed]
tilcreator has quit [Quit: killed]
emily has quit [Quit: killed]
alaskacanyon[m] has quit [Quit: killed]
aterius has quit [Quit: killed]
CRTified[m] has quit [Quit: killed]
<eyJhb> That is pretty dark Matrix, killing off people
Mic92 has quit [Quit: WeeChat 2.9]
Mic92 has joined #nixos-chat
<energizer> anybody have a vr headset? i'm curious if this is cool in vr or if it's just the same as on a screen https://zcanter.github.io/vr-scatterplot/
<ivan> ^ ldlework
<energizer> that particular image has color and z/depth mapped to the same column ("temperature") so it's not using as many independent dimensions as it could
JJJollyjim has joined #nixos-chat
JJJollyjim has quit [Remote host closed the connection]
<ar> energizer: i have, but i'm working now; will check in ~4.5 hours
noneucat has joined #nixos-chat
<tilpner> "error: cannot compare a list with a list"
<tilpner> Haven't seen this one before, possibly from attempting to use lists as genericClosure keys
<tilpner> (CompareValues::operator() has a default for types not in [ int float string path ])
emily has joined #nixos-chat
crazazy[m] has joined #nixos-chat
puzzlewolf has joined #nixos-chat
danielrf[m] has joined #nixos-chat
thefloweringash has joined #nixos-chat
tilcreator has joined #nixos-chat
colemickens has joined #nixos-chat
philipp[m] has joined #nixos-chat
arcnmx has joined #nixos-chat
jtojnar has joined #nixos-chat
nocent has joined #nixos-chat
vaibhavsagar has joined #nixos-chat
bbigras has joined #nixos-chat
pinage404[m] has joined #nixos-chat
worldofpeace has joined #nixos-chat
leonardp has joined #nixos-chat
balsoft has joined #nixos-chat
dtz has joined #nixos-chat
leons has joined #nixos-chat
rycee has joined #nixos-chat
alaskacanyon[m] has joined #nixos-chat
Irenes[m] has joined #nixos-chat
JJJollyjim has joined #nixos-chat
kraem has joined #nixos-chat
aanderse has joined #nixos-chat
aaronjanse has joined #nixos-chat
CRTified[m] has joined #nixos-chat
aterius has joined #nixos-chat
evalexpr has joined #nixos-chat
<gchristensen> V: were you asking about guiduck?
<V> gchristensen: that was me, yes
<gchristensen> I think it is neat because it takes away a lot of flexibility for callers
dtz has left #nixos-chat ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
<eyJhb> gchristensen: what is GUIDuck?
<adisbladis> .about("Launch GUI programs over dbus, by pretending to be xdg-open's targets")
<adisbladis> I don't really understand the purpose?
<adisbladis> gchristensen: Why do I want it?
<gchristensen> you probably don't!
<adisbladis> Heh :)
<adisbladis> Why would I want it? :P
<gchristensen> but looking at the nix store as a model of authority, adding firefox to your closure adds a whole lot of things
<gchristensen> so what if you could grant the authority to load a web page, but not anything more?
<adisbladis> Ah, right
<adisbladis> So it's not all that useful yet, but could be given some sandboxing method?
<gchristensen> yeah
<adisbladis> Makes sense :)
<gchristensen> https://github.com/grahamc/nixos-config/blob/master/packages/overlay.nix#L92-L106 is sort of approaching what I'm thinking about
<gchristensen> (why use systemPackages when my terminal could be pre-baked with its tools?)
<eyJhb> gchristensen: not many guis you have
<gchristensen> yeah
<gchristensen> I was annoyed dmenu was listing CLI programs :P
<eyJhb> `did-graham-commit-his-repos` WELL! Did he?! :p
<gchristensen> as a rule: no
<eyJhb> But reading your config, yet again makes me want to work even more with Nix/NixOS. It is so nice and you have a lot of possibility to do things you normally cannot do easily
<eyJhb> I think I have a ton of uncomitted stuff as well
<eyJhb> Which is bad practice I guess...
<gchristensen> adisbladis: I'm wondering about making guiduck's firefox start this: https://gsc.io/content-addressed/e33a6af8b958f749aa7fe0e963c334a55cf74ab05d440cf20c5ae84c90501992.sh
<eyJhb> gchristensen: seems to be the same, that I wanted to do with nsjail
<gchristensen> neat!
<eyJhb> https://termbin.com/zuj4 how I configure it
<eyJhb> The module - https://termbin.com/4c0sc but it needs a heavy cleanup and it is WIP
<adisbladis> gchristensen: Hmm, does bwrap somehow support xdg-desktop-portal?
<adisbladis> I think any browser is not all that useful without it
<gchristensen> I dunno, what is that?
<adisbladis> gchristensen: New-ish standards to granularly access things outside of a sandbox
<gchristensen> neat
<gchristensen> hey that sounds familiar
<adisbladis> Let's say you want to upload a file, you'll use the portals api to pick a file outside of the sandbox and the fd is passed into the sandbox
<gchristensen> nice!
<adisbladis> gchristensen: Also, the storepaths function could be made static?
<adisbladis> I mean, it's a good start already :)
<gchristensen> yeah definitely, this is a script in my ~
<adisbladis> Hm, what happens if you nixos-rebuild and your paths in /run/opengl-driver/lib/dri changes?
<gchristensen> hah, good question
<adisbladis> Actually.. It should be fine for an already running application.
<adisbladis> They're already in memory
<adisbladis> But I don't know, maybe it's a good idea to make a copy rather than a bind mount
* adisbladis <- speculating wildly :)
<eyJhb> Basically the reason I create a chroot in /nix/store, with a config stored in the store as well, which will change on rebuld/changes, so that it wouldn't be a problem. I guess :p
<V> <gchristensen> I was annoyed dmenu was listing CLI programs :P ← then use a launcher that looks for .desktop files? :p
<gchristensen> V: I'll rephrase: I was annoyed the gui launcher *could* run CLI programs :P
<gchristensen> my curse is being constantly annoyed at software being able to do too much
<V> this is rather neat, though. this is a thing to allow launching programs indirectly instead of a program calling xdg-open which calls firefox, IIUC?
<gchristensen> yea
<V> which use-cases does this have? just anything where a program would launch another program?
<gchristensen> well, no, sorry, this is still using xdg-open. program -> xdg-open -> guiduck -> dbus -> guiduck -> firefox
<V> and I absolutely feel you
<V> sandboxing things obsessively is one of the things I do >.>
<V> this does feel rather like the portals, though
<gchristensen> yeah seems cool
<V> as in, they're dbus-activated (IIRC) and allow for indirect actions, with the possibility of permission systems being implemented & actions being denied, etc
<gchristensen> V: really I don't want to write sandboxes, but write an LSM
<V> linux security module?
<gchristensen> yea
<adisbladis> Why did I look into portals..
<adisbladis> Now I want a non-gnome/kde implementation :P
* gchristensen motions towards guiduck
<adisbladis> gchristensen: Btw I happened upon this https://github.com/emersion/xdg-desktop-portal-wlr
<gchristensen> oh cool
<V> yeah, there is the impl by emersion
<V> which is non-gnome/kde
<V> for ye sway users
<V> I've not set that up just yet
<adisbladis> V: I was thinking more about FileChooser and those APIs
<V> ah.
<V> well, if everything is over DBUS it's already horrible
<adisbladis> It wouldn't be hard to make an implementation yourself I think
<adisbladis> ¯\_(ツ)_/¯
<adisbladis> Dbus is what we have to work with
<V> no, like - portals are designed around dbus
<V> so you'd need to reimplement all the parts that interface with it
<V> I wish someone would step up and create something nicer than it, but that doesn't seem to be happening anytime soon
<eyJhb> V: do you volunter?
<V> it's evidently featureful enough that people don't need something new :p
<eyJhb> :p
xd1le has quit [Remote host closed the connection]
<V> eyJhb: perhaps! it's one of many things I'd like to make, though.
<eyJhb> And I guess that is the problem for most :p Also, a job besides working on opensorce stuff
<eyJhb> Unless your job is doing that
* adisbladis puts a portal implementation on his ever growing list of projects for when life doesn't suck and motivation could be found
<V> hehe
<eyJhb> You can do it adisbladis !
xd1le has joined #nixos-chat
<gchristensen> mehh sounds complicated.
* etu runs xdg-desktop-portal-wlr for screensharing in wayland
<etu> on sway that is
waleee-cl has joined #nixos-chat
<adisbladis> gchristensen: Tbh it's pretty interesting
<adisbladis> At what point do you feel the need to censor the censors?
<Valodim> gonna make some young people suddenly interested in politics I'd wager
<eyJhb> Sounds like the great wall of USA
<Valodim> this is an app that 19M people in the US use daily, and that no small number even no less than dedicate their life to
<hexa-> certainly greater than the wall for which they made mexico pay for *sic*
<Valodim> at the same time, with the international disinformation wild west war that is the internet right now, I honestly can't blame them
<etu> hexa-: Yeah, what's the progress on that one?
<adisbladis> eyJhb: On the surface, absolutely.
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-chat
<adisbladis> eyJhb: But Wechat for example is pretty horrid... They spy on users & censors even private conversations. People have been arrested for expressing dissent in PMs.
<adisbladis> TikTok is censoring anti CCP sentiments
<gchristensen> truth
<adisbladis> I don't know what the right call is. But I think there is a point where we can no longer let authoritarian regimes use free speech as a weapon.
<NinjaTrappeur> Hey hey, I have a question: how are we (nixos) secureboot-compliant? I realized secureboot is enabled on my system and I can boot NixOS just fine. Is it done through systemd-boot? Something else?
<gchristensen> we aren't, NinjaTrappeur
<NinjaTrappeur> (I unsuccessfully grepped nixpkgs :/)
<NinjaTrappeur> ah
* NinjaTrappeur is confused as hell ATM
<{^_^}> #53901 (by grahamc, 1 year ago, open): WIP: Sign systemd boot EFI images for secure booting.
<gchristensen> almost 40,000 PRs+issues ago
<adisbladis> eyJhb: So on the surface, it's wrong to ban these applications. But the issue is more nuanced than just "censorship!!".
<gchristensen> adisbladis: oh gosh yeah, no, I'm not upset about censorship here
<eyJhb> adisbladis: of course, but I am not sure that Trump has thought so far however :p But everything has it pros/cons
<eyJhb> And using free spech as a weapon is very real
<adisbladis> Btw, I think we should have the same kind of discussions around facebook/youtube/whatever
<adisbladis> This is not a purely chinese issue
<NinjaTrappeur> gchristensen: ^
<NinjaTrappeur> That's super weird, shouldn't the boot fail with this kind of setup?
<NinjaTrappeur> (it doesn't)
<gchristensen> it shoud
<NinjaTrappeur> hmmm
<gchristensen> what does `bootctl` say?
<NinjaTrappeur> aha
<NinjaTrappeur> Secure Boot: disabled
<NinjaTrappeur> indeed
<etu> Maybe it boots in legacy mode? So it only does secure boot if it's in UEFI mode?
<NinjaTrappeur> it's in UEFI mode
<eyJhb> adisbladis: It is a general problem you will see everywhere
<NinjaTrappeur> I guess it's a UEFI bug on my motherboard :/
<gchristensen> maybe "other os" turns it off
<etu> NinjaTrappeur: "how uncommon"
<etu> UEFI would never have bugs j/k
<eyJhb> Unrelated/somewhat related, I had how these apps that should prevent the spreading of covid-19/stop the chains are not opensource, but the somehow expect me/want to force me to install it to enter different places
<NinjaTrappeur> etu :)
<NinjaTrappeur> gchristensen: looks like you're right!
<NinjaTrappeur> TIL
<adisbladis> Wtf
<gchristensen> wtf
* etu has encountered UEFI that didn't support an EFI partition that was fat32 -- it only worked with fat16.
<etu> NinjaTrappeur: wow
<NinjaTrappeur> yeah, pretty misleading to say the least :/
<V> looks like it did its job :p
<adisbladis> eyJhb: Welcome to the new dystopian future
<eyJhb> adisbladis: But I don't want to :(
<adisbladis> eyJhb: Get a dumb phone, tell them you cant use the app
<etu> adisbladis: pinephone :)
<adisbladis> etu: I think it's harder to explain "I'm running a different OS" than "this phone doesn't do apps"
<etu> adisbladis: Just run sxmo and show it to them to make them confused :D
<eyJhb> adisbladis: also what I have thought about
<eyJhb> Currently decompiling the app and seeing if they have any obfuscation
<eyJhb> And then prop dump it online
<eyJhb> adisbladis: 124 MB of .so's
<etu> whew
<etu> That's... a lot.
<gchristensen> what're they doing, using nix?
<eyJhb> It has 4 dirs, with so's for each arch where each is 32MB (cirka)
<tilcreator> Is there a way to get the value of a config variable echoed out when building with `nix-build`?
<V> tilcreator: use nixos-option?
<eyJhb> Guess it makes sense etu and gchristensen when they use https://dotnet.microsoft.com/apps/xamarin
<eyJhb> Fuck them...
<etu> Ohh
<V> tilcreator: builtins.trace config.foo
<eyJhb> So everything is just .so/.dlls
<eyJhb> No way in hell I will debug that code
<eyJhb> :p
<etu> Obfuscation works!
<tilcreator> V: Will have a look, thx
<eyJhb> etu: :(
<eyJhb> Being a .NET company works
<eyJhb> But hell, 300 MB for such an app
<V> eyJhb: find the .NET, run it through ILSpy
<V> is there something you're looking for?
<eyJhb> Not sure that would work V. I can't even locate where their specific code it
<V> eyJhb: want to pastebin me the file listing?
<eyJhb> Nvm. covdidXXX sounds like it
<V> that sounds like a conspiracy theory
<V> cov did 9/11
<eyJhb> So I am guessing that I just need to point it at the DLL files I have
<eyJhb> I hate that send.firefox.com does not exists anymore......
<eyJhb> ,locate bin strings
<V> use magic-wormhole
<{^_^}> Found in packages: toybox, busybox, binutils-unwrapped, llvmPackages.bintools
<V> strings is in `nix-shell -p`
<V> you don't need to specify any packages
<V> seriously though, use ILSpy
<V> or monodis -userstrings
<V> I might do RE a fair bit :p
<eyJhb> Guessing I have to use a windows PC for that V?
<V> nope! there's a port of ILSpy to Linux, and it's open-source
<eyJhb> But not in Nixpkgs ? :p
Jackneill has joined #nixos-chat
<V> I have a half-finished derivation
<V> I gave up partway through because dotnet support in nixpkgs is awful
<V> I had already rewritten half of the packaging infra for that
<V> and was getting a bit bored
<V> when all I wanted to do was figure out how Terraria looked up a specific path
<eyJhb> 2 sec, zipping and wormholing it
<V> you can wormhole a directory directly
<V> (do you want to take this into PM to avoid spamming the channel?)
<eyJhb> I see, it is zipping it for me now lal :p
<eyJhb> I have to do more math, so I can send you it and then I have to get back to math. Not sure if you are interested in it at all however
<adisbladis> eyJhb: Wait... Why are they shipping .so ? O.o
<adisbladis> Oh...
<adisbladis> Xamarin...
<eyJhb> It actually hurts a little
<eyJhb> Also... Force explaining math to my GF that wants no part in it
<eyJhb> But I finally figured out what cheats my lecturer was using
<ldlework> eyJhb: no sorry
<eyJhb> Now I just want FireFox 82....
<ldlework> Org-mode for bookmarks, it already supports nesting, tagging, etc
<eyJhb> ldlework: you won't catch me! \s I should at some point
<eyJhb> Do you live in org?
<ldlework> eyJhb: I mean I use org for a number of central things.
<ldlework> But I wouldn't say I live in it.
<eyJhb> I should still look at it when I have the time :p - But I am debating if I should use the time to make my DSP excerises digital
<ldlework> Like I don't live in emacs in general. I use emacs for a number of things though.
<eyJhb> ldlework: I guess if you ask the Swedish mafia you soon will
<ldlework> i don't get it
<eyJhb> ldlework: etu , adisbladis and talyz uses exvm.. Which is a emacs vm :p
<ldlework> Yeah, I tried it..
<ldlework> I think you mean exwm though
<ldlework> Emacs is single threaded which can create problems as a WM
<ldlework> It's a great idea, but it just doesn't work for me.
<neeasade> the only solution is to use EAF so you can use one emacs instance dedicated to doing the WM stuff and another for everything else
<neeasade> but the real real solution is to use the comfiest window manager that exists
<neeasade> bspwm
<eyJhb> Ohh sorry... Said it to myself, and window -> vindue in Danish, so it looked correct :p
<eyJhb> ldlework: do you just have a emacs dropdown window?
<ldlework> I like QTile, because its very easy for me to write some Python to customize anything and invent new widgets and stuff.
<ldlework> eyJhb: yeah I have a few quake dropdowns.
<ldlework> I have one for ranger/zsh, and two for running nixos and home-manager switches
<neeasade> qtile does seem comfy as well, any will do with some investment ofc
<neeasade> I use emacs as my dmenu/rofi type of thing currently
<ldlework> yeah you basically pick the wm based on what language you wanna customize it with
<ldlework> i use rofi as my rofi thing
<neeasade> rofi is good at being a rofi type of thing
<ldlework> haha
<neeasade> mostly because you can start typing right away
<ldlework> it's API is kind of bonkers though
<ldlework> neeasade: have you seen my recursive screen capture thing
<neeasade> I only use rofi-as-dmenu (as in, only select a thing from list) so didn't touch the api much -- but was still a PITA to get it to do what I like
<neeasade> ldlework: I don't recall, post
<ldlework> k second
<neeasade> currently: https://0x0.st/ils5.png
<eyJhb> ldlework: actually one of the things I have missed from Emacs is the kill-ring
<ldlework> neeasade: that's two different videos
<ldlework> oh
<ldlework> i realized i just screwed up the demo by making the inner video not fullscreen
<neeasade> ldlework: I follow you
<ldlework> so you can't see me taking the screenshot
<ldlework> but the outer-most video shows everything
<neeasade> ldlework: still cool
<ldlework> so
<neeasade> jazzed up screenshot (rofi instead of emacs here): https://notes.neeasade.net/assets/img/desktops/full/2020-07-12.png
<ldlework> neeasade: wanna see another cool thing?
<neeasade> ldlework: always
<eyJhb> I keep forgetting about common usefull commands. E.g. sleep 2; fullshot neeasade
<neeasade> fullshot is a function I've got
<neeasade> also I wrote about getting what I wanted out of rofi: https://notes.neeasade.net/tickling-bash-a-rofi-adventure.html
<eyJhb> neeasade: was more the sleep. I just hope I am faster than my PC most of the time
<eyJhb> :p
<neeasade> eyJhb: oh lmaoo
<neeasade> ldlework: wooooooooooo sp0000ky color and config changes
<eyJhb> neeasade: !! you might have forgotten about your own implementation :p
<eyJhb> fullshot 2
<eyJhb> Would do the same!
<neeasade> eyJhb: lmfao
<neeasade> you are right
<eyJhb> :D
<neeasade> ldlework: pywal or are you doing your own thing?
<ldlework> wpgtk (which uses pywal)
<neeasade> ah yea
<ldlework> and some custom python for qtile, and some elisp for emacs
<neeasade> the wpgtk author figured out how to reload gtk3 inline
<neeasade> we don't deserve them
<neeasade> tbh
<ldlework> neeasade: nixos is the only OS where I'd invest in this kind of stuff
<neeasade> I've got an old script that evolved from the pre-{wal,wpgtk} era that I initially showed here (some things not realtime yet):
<ldlework> because it's the only OS where I know that once I get it working, it'll keep working
<neeasade> ldlework: that is a good feeling, for sure
<pie_> there needs to be some tool that makes ld_preload scriptable
lopsided98 has quit [Ping timeout: 244 seconds]
lopsided98 has joined #nixos-chat
cole-h has joined #nixos-chat
<gchristensen> it is 17c out and bright sun. so perfect
<pie_> \o/
MichaelRaskin has joined #nixos-chat
<gchristensen> "I set this up to run as a daily timed systemd service at noon (very easy on NixOS, which every Linux user should be using unless they hate themselves)"
<drakonis> source your quotes
<drakonis> oh, that guy
<drakonis> the same one that wrote a post on home-manager
<aleph-> Oh hey
<aleph-> More backups
<aleph-> In every channel I go :p
<MichaelRaskin> Meh. My nightlies are managed by remind
<abathur> I have a twice-daily *nudge* during ~active hours that requires a password to actually run
<MichaelRaskin> (remind is remind the software, it runs nightly backup automatically)
<pie_> no matter how hard i look (barring looking at the source) udev doesnt seem to have a way of being accessed programmatically other than editing config files
<pie_> does anyone know about anything
<pie_> well, really i just want to change the runtime state without editing the files
<MichaelRaskin> It seems to have udemadm for simple changes, and some netlink stuff apparently?
<pie_> i looked at the udevadm man page but i dont see anything that really looks like what i want
<pie_> not that i have much of an idea how to use udevadm (or udev)
<pie_> i tried to look for examples of udevadm control --property but i couldnt find anything
<pie_> netlink stuff?
<pie_> well, since I've attempted to find a solution to this several times, I opened an issue https://github.com/systemd/systemd/issues/17098
<{^_^}> systemd/systemd#17098 (by deliciouslytyped, 1 minute ago, open): Is it possible to change udev rules programmatically without modifying files on disk?
<abathur> There are a few reasons I don't fully automate, but the biggest is paranoia (I suppose I can't be the one to judge whether it is reasonable) about a single incident compromising both my system and backups if I give the system automagic unattended access to a backup store
<pie_> welllll
<pie_> restic has a daemon that limits the ops you can do so you can make it write-only for example
<pie_> stuff like that
<aleph-> Yep
__monty__ has joined #nixos-chat
<MichaelRaskin> I think they use some netlink to kernel and some netlink to clients
<MichaelRaskin> I probably would not need udev running constantly, but X.org seems to want the latter functionality
<MichaelRaskin> Changing rules with no trace on disk my be hard, though
<abathur> pie_: sure, but it's increased complexity and takes some restic features off the table
<__monty__> Talking backup features?
<__monty__> *softwares
<abathur> __monty__: more general, and not much talk; I guess just like ~schedule/degree-of-automation :)
<pie_> MichaelRaskin: really my use case is changing device permissions without a system rebuild :I
<pie_> but now im just annoyed that this doesnt seem to be possible
<MichaelRaskin> Just chmod them, dunno
<pie_> doesnt work
<pie_> that was the first thing i tried but whatever arduino is doing when flashing, its causing the device to be remade
<MichaelRaskin> Ah, yeah, that makes sense
<pie_> so i could put chmod on an infinite loop and run into a race condition
<MichaelRaskin> (some kind of mode switch for the USB connection which looks like endpoint being replaced)
<pie_> or try to instument the process with ptrace or however it is tat one does these things (which would be an interesting project
<pie_> i did try to run it with sudo and i think that worked, its been two weeks
<pie_> but then something else broke in the flashing process
<pie_> xD
<MichaelRaskin> Why do you want to avoid system rebuild? Presumably, if you set options for Arduino, you won't switch the board _type_ daily?
<pie_> im lazy mostly
<pie_> i need to clean up my system rebuild stuff
<pie_> its custom and kind of a mess
<pie_> its actally pretty easy right nw though so i should just do it
<pie_> oh and i havent learned how to write udev rules yet but i could probably just copy someting off stackoverflow
<pie_> though i would probably have to learn how they work anyway _if_ udev had a live mod interface
<MichaelRaskin> Indeed
rajivr has quit [Quit: Connection closed for inactivity]
xd1le has quit [Remote host closed the connection]
neeasade has quit [Remote host closed the connection]
iqubic has joined #nixos-chat
ixxie has joined #nixos-chat
<pie_> i wonder if i should somehow prohibit large files on my main backed up filesystem
<pie_> or have restic warn on large files or something
<pie_> though if i back up a large file into a snapshot restic doesnt seem to have functionality yet for removing things from a snapshot
<abathur> hmm
<abathur> I don't do *quite* this thing, but I have like, eh, a sort of system-loss/migration-readiness routine where I use a pattern to flag stuff like new application-state directories for me to manually review; I save a list of include or exclude paths, created from a find command, run the find command again during the routine and dump the result to a tmpfile, use comm to knock out the known-good/bad
<abathur> paths, and then yell at me if there are any unexpected
<pie_> you wanna write a script for that or something?
<abathur> :P
<pie_> with an fzf frontend or something
<abathur> I do have some sort of vague goodwill-for-mankind intent to eventually release something based on it, but it's got a lot of very idiomatic stuff in it, and I have copious ALLCAPS notes to myself to avoid sinking gobs of time into generalizing/abstracting it
<infinisil> pie_: What if you prevent snapshots when their diff to the last one is bigger than (X * time since last snapshot) plus a bit of fluctuation
<infinisil> So X would be the data rate of filesystem changes
<infinisil> E.g. you expect all 5 minute snapshots to only add about 1 MB each, if there's one that's over say 2MB you don't take a snapshot and ask the user what to do
<infinisil> Show the `zfs diff` to the user and have options "Increase per-snapshot limit", "Delete a file in the diff", "ignore for now"
<infinisil> This then still allows big files, but only if they're slowly growing over time
<pie_> doesnt sound terrible
<pie_> and then restic the staged snapshots
<pie_> ironically the reason im not just using snapshots already is because you cant rewrite snapshots to remove old large files for example
<pie_> and neither does restic support that yet
<pie_> hm but if i had separate datasets with large files separated...
* infinisil takes a look at restic
<pie_> its kind of solid
<pie_> id say its pretty solid but apparently it has some open prs for when things get big 'xD
<pie_> they actually have a threat model document
<pie_> restic is written in go though :P :/
<pie_> (there are at least several good things written in goÖ
<abathur> I like being able to split out different backup slices, and I'd like to do more
<eyJhb> pie_: HEY! Take that back and love Go!
<eyJhb> :p
<pie_> something something if you dont like go i can show you the door and you can go
ixxie has quit [Remote host closed the connection]
<aleph-> pie_: Yeah my big issue with restic is that I have to main my own fork with PRs merged in due to the maintainer being too busy to review
<aleph-> Was using it for roughly a year at work with 50-100TB of data
<__monty__> aleph-: Did it hold up well? Any other solutions you tried? Borg maybe?
parsley936 has quit [Remote host closed the connection]
parsley936 has joined #nixos-chat
<aleph-> __monty__: Pretty well. Just needed daily prunings on hosts
<__monty__> Interesting.
__monty__ has quit [Quit: leaving]
<infinisil> abathur: How do you mean that?
<infinisil> What does "splitting out different backup slices" mean?
<ottidmes> how common are viruses really these days, I only experienced a few years ago on Windows, but nowadays its mostly malware on Windows and social engineering (ransomware). Never had either on Arch Linux or NixOS (that I am aware)
<energizer> linux malware is extremely common
<drakonis> oh?
<ottidmes> in a way, you want to install X, please install these 100 deps first :P
<ottidmes> energizer: or did you mean something else?
parsley936 has quit [Remote host closed the connection]
<abathur> infinisil at the moment on macOS I take three separate backups; a broad-ish one of my projects directory (but still much more narrow than a full-system backup), and two very narrow backups of a subset of the state for Safari and Terminal
<infinisil> abathur: Ah so I guess different sets of directories should be backed up differently
<abathur> taking small slices to get the latter two saves me from backing up a lot of application files/state that I don't care about, and taking them in a separate state from my projects directory means I can use different pruning policies, different exclude policies that might make sense locally but not globally, etc.
<abathur> *in a separate slice from my projects
<abathur> infinisil: and when I say I'd like to do more, I mainly mean I'd like to figure out how to take individual project-level backups because at current it's not really cross-system portable
<infinisil> abathur: I'm asking because I'm collecting ideas for my own backup tool
<abathur> nod
<infinisil> And that kind of thing conflicts with the base idea of using zfs snapshots :P
<abathur> yeah, I don't know
<infinisil> Well unless one uses a new zfs dataset for every project or so
<abathur> in the short-run snapshots make sense to me and I wish APFS made it easier to work with its snapshots
<infinisil> Hm, what if the snapshot tool had a small helper for saying "Create a new dataset from this directory", which would create the dataset, and move the existing directory into it
<abathur> but my general focus is on just trying to get what I need to bootstrap a clean system quickly
<infinisil> Oh, maybe also functionality for saying "Any directory in this root dir should be put into its own dataset". Before the tool would take a snapshot, it would first apply this policy
<abathur> I'm also not sure, having not lived with ZFS yet, if it would change my mind
<infinisil> Yeah I'm just talking to myself at this point :P
<infinisil> In general I guess ZFS is really bad for precise snapshots. E.g. you probably don't want to back up build products of all projects. But with ZFS snapshots you can't really avoid that
<abathur> if it doesn't cause you space issues, I think it's nice to have trivial recovery from strange short-run stuff
<infinisil> Oh yeah snapshots are great for this
<infinisil> And if these are only stored for like a couple hours, you could take them every minute or so without problems
<abathur> I'm sort of optimizing for off-device backups of data that I'd be crushed to lose while also avoiding paying several dollars a month to back up tens of gigs of application files that Google and Apple will kindly give me fresh copies of in the event of an emergency
<abathur> nod
<abathur> apfs does have snapshots, and I have been playing with them while working on the big sur installer, but I'm a little annoyed by the ergonomics around them atm
<infinisil> abathur: An idea I've had is to 5Conly do metadata backups for things you could recover from online. So things like filenames and file sizes. E.g. this could be used for my big series collection to just not lose them all and not know what you lost
<abathur> it seems frustratingly-close-to-possible to do a erase your darlings sort of thing on macOS
<abathur> infinisil heh! yeah, I've been feeling around in the dark for something with my git repos; my routine now saves a .git_status in every git repo it finds, and it appends a .git_status.diff every time
<infinisil> Interesting :o
<abathur> I can't swear I know exactly my point yet, but mainly fumbling towards figuring out a way to not back-up clean synced repos
<infinisil> abathur: I've just been thinking: `git init --separate-git-dir` could be used to store the git directory with all its committed objects in some backed-up location
<infinisil> While the git working directory won't be backed up (or maybe, only its metadata is backed up)
<abathur> oh, I remember part of it
<abathur> I had an issue where I restored and found out my backups were ignoring some files that were in the git repo
<abathur> so keeping a status and accumulating a diff of it is also me fumbling towards a way to know if there's an unexpected gap between the git diff/status after restore
<abathur> I'm sure I have notes on that somewhere around here... :]
<infinisil> I seee
<abathur> at some point I imagine having something kinda like project cold-storage in my backups
<infinisil> I mean for that only the git objects are needed really
<abathur> and some little declarative way, when I'm bootstrapping a system, to declare what gets pulled and restored
<infinisil> Assuming you don't want to back up uncommitted stuff
<abathur> plus some little imperative commands for quality-of-life stuff like mothballing/restoring a project
<abathur> not quite sure what your emphasis is. I typically do want uncommitted *work*, but maybe not build artifacts and such? the backups are my safety net in case I decide to give my laptop a coffee bath or something
<infinisil> I have a potentially stupid idea: Set GIT_OBJECT_DIRECTORY globally, such that *all* git repositories store their objects in the same object hierarchy