gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
cjpbirkbeck has quit [Quit: cjpbirkbeck]
wildtrees has quit [Quit: Leaving]
aleph- has quit [Ping timeout: 256 seconds]
aleph- has joined #nixos-chat
drakonis1 has joined #nixos-chat
drakonis_ has quit [Ping timeout: 250 seconds]
<samueldr> >> Auto packing the repository in background for optimum performance.
<samueldr> I've never seen that happening *in the background*
<samueldr> it always pauses
<gchristensen> interesting
drakonis_ has joined #nixos-chat
<gchristensen> 9f673f9477c63433aa0774c11b9e42979721f4d6
drakonis1 has quit [Ping timeout: 246 seconds]
<samueldr> right, so it can fail, but never tells it did
notgne2 has joined #nixos-chat
slack1256 has joined #nixos-chat
rardiol has quit [Quit: No Ping reply in 180 seconds.]
rardiol has joined #nixos-chat
ottidmes has quit [Ping timeout: 250 seconds]
aleph- has quit [Ping timeout: 264 seconds]
aleph- has joined #nixos-chat
drakonis_ has quit [Ping timeout: 240 seconds]
drakonis_ has joined #nixos-chat
abathur has quit [Ping timeout: 250 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
abathur has joined #nixos-chat
endformationage has quit [Quit: WeeChat 2.6]
slack1256 has quit [Remote host closed the connection]
abathur has quit [Ping timeout: 250 seconds]
rardiol has quit [Ping timeout: 250 seconds]
drakonis has quit [Quit: WeeChat 2.7.1]
abathur has joined #nixos-chat
abathur has quit [Ping timeout: 264 seconds]
cole-h has quit [Quit: Goodbye]
MichaelRaskin has joined #nixos-chat
<MichaelRaskin> I wonder if unqualified «100% safe rollback» is a bit _too_ optimistic about NixOS as an unconditional statement; after all, we did have _some_ widely discussed situations where rollback required non-trivial work (even if not as much as repairing after an interrupted apt command)
abathur has joined #nixos-chat
abathur has quit [Ping timeout: 250 seconds]
__monty__ has joined #nixos-chat
ottidmes has joined #nixos-chat
<aanderse> MichaelRaskin: for many setups we offer zero rollback ability because of state
<MichaelRaskin> Exactly, and even Nix itself has some interesting state — which is why «100% safe rollbacks» slightly annoys me whenever it appears in some comment/twit/whatever
abathur has joined #nixos-chat
abathur has quit [Ping timeout: 265 seconds]
<aanderse> literally one line for me to snapshot a vm, Anne 3 clicks to rollback so honestly i haven't thought about it too much
<MichaelRaskin> I was thinking about accidentally attracting people by false promises and not clearing up the confusion before they hit the limitations; sure, I guess all regular contributors (let alone crucial committers) have a feeling for where the edges lie and use things safely.
<gchristensen> Dirty Dozen Brass Band, Tiny Desk Concert: https://www.youtube.com/watch?v=HXr3nrd33U0
drakonis_ has quit [Ping timeout: 264 seconds]
abathur has joined #nixos-chat
abathur has quit [Ping timeout: 264 seconds]
abathur has joined #nixos-chat
rardiol has joined #nixos-chat
<infinisil> :o
<eyJhb> And then there is me at around 25 words a minute :p
<eyJhb> But at least it is moving forward
<infinisil> eyJhb: On newly Dvorak?
<viric> Great, I wanted to check the scuttlebutt patchwork and it's in nixpkgs
<infinisil> Just tested myself, I'm at around 80-100 WPM :D
<ottidmes> really need to buy a new case for my local server, just had to reroute the power due to some work being done on the powerlines, tried to power it again, no luck, is the front panel once again gotten loose. Maybe I should just put some tape on it... Luckily this motherboard has a power button on it, so I just pressed it instead
<ottidmes> eyJhb: when I saw that, I was like, that's not that special, right, but then I realized it was WORDS per minute, not keystrokes
aleph- has quit [Ping timeout: 240 seconds]
aleph- has joined #nixos-chat
Church- has joined #nixos-chat
aleph- has quit [Read error: Connection reset by peer]
waleee-cl has joined #nixos-chat
cole-h has joined #nixos-chat
<eyJhb> Yeah infinisil , that is on Dvorak :D So slowly moving forward
<joepie91> eyJhb: what the fuck :D
<eyJhb> joepie91: who in their right mind would think that was a good idea... :p
slack1256 has joined #nixos-chat
<pie_[bnc]> did they put mayonnaise in the cpu socket
<pie_[bnc]> if not ill be disappointed
<ottidmes> Hmm, now I am hungry, better start my dinner XD
slack1256 has quit [Ping timeout: 256 seconds]
slack1256 has joined #nixos-chat
<ashkitten> infinisil: does nixoses automatically reboot after switching?
<infinisil> ashkitten: Nah
<ashkitten> i don't know how to interpret this journald log lol
<infinisil> Not sure what you mean
slack1256 has quit [Remote host closed the connection]
<ashkitten> last night i started a system rebuild with nixoses, it looks like at about 01:42 today a user ssh'd in as root from this machine's ip address, systemd started a bunch of stuff, and then at 01:45 the whole system reboots
<ashkitten> systemd restarted*
<gchristensen> opened up a tin of anchovies and my dog is so, so, so unhappy with me for depriving her of these evidently-delicious morcels.
<infinisil> ashkitten: If the new system activation failed, it attempts a rollback, and if that fails it reboots
<ashkitten> i see
<infinisil> Ctrl-C handling is pretty shitty, maybe that was it
<infinisil> (terminates some but not all processes)
<infinisil> Makes me want to write it in not-bash :)
<ashkitten> i was not at the computer at the time
<ashkitten> other weird thing, if a nixoses deploy fails it seems like it doesn't even save the built store paths?
t3rm1nal has joined #nixos-chat
t3rm1nal has left #nixos-chat ["Leaving"]
<infinisil> ashkitten: Yeah, I guess that could be done
<infinisil> Though not sure if it makes sense
<ashkitten> what could be done?
<infinisil> To save the built store paths
<ashkitten> oh, right
<infinisil> Though if it fails, I'm not sure if this makes sense
<infinisil> Why would you want to retain a system closure that doesn't work
<ashkitten> i think it should be, because it took 5 hours to build it
<infinisil> Ah
<infinisil> I guess the last build could just be kept alive
<infinisil> ashkitten: Oh, actually it shouldn't have been GC'd if you just used `nix-build` to build it
<infinisil> Because that makes the `result` symlink
<ashkitten> yeah, but if i don't link the result
<infinisil> What do you mean?
<ashkitten> i guess i could not do --no-out-link
<infinisil> Ah yeah that would prevent it from creating the link
<infinisil> I guess that's an advantage of how nixoses is just a `nix-build` :)
<ashkitten> lol, fair
Jackneill has quit [Ping timeout: 240 seconds]
<ottidmes> infinisil: So is nixoses your simplified take on nixops?
<infinisil> Not simplified (though currently it is decently simple), but rather my opinionated take on how deployment would optimally be done
<infinisil> I guess kind of a playground of sorts too right now
<ottidmes> I said simplified because much of nixops is the focus on automated cloud installs, which AFAIK you don't seem to be doing
<ottidmes> Like the name of the project :)
<infinisil> ottidmes: Automated installs is kind of on my wishlist though :P
<ottidmes> I used nixops at some point, but the benefits were not worth the hassle for me, I have not enough machines to make it worth it, have an automated install mechanism that handles both servers and clients like desktops, which suffices for me, but I definitely can improve
<infinisil> But it would be mostly provider agnostic then
<infinisil> Also, I wanna change the name: https://github.com/Infinisil/nixoses/issues/1
<{^_^}> Infinisil/nixoses#1 (by Infinisil, 10 weeks ago, open): Name change
<cole-h> I thought we already went over this infinisil -- Nixus is the superior name
<cole-h> :P
<ottidmes> Really ought to setup builders properly and systematic updates (which now is, ssh into machine, pull updates of the NixOS config, dry-build, boot build, reboot)
<infinisil> cole-h: I'm still kind of undecided, but I like Nixus too!
<ottidmes> Yep, like that one too, kinda like Nixes (where you would have the same problem again)
<ottidmes> If you wanted to build a nice looking command line application (I want to show code fragements and make it easy to navigate, and fold/unfold things), what library would you use (I am open to most languages)? I am planning to build a tool around Nix traces to make them actually useful to me
<infinisil> Ohh nice
<clever> infinisil: i did glance at the code, and found a patch to nix, that would change which stack it could give
<clever> infinisil: currently, nix gives the force-stack, not the call-chain from the exprs
<clever> so if you do `let foo = f x;` and then pass `foo` elsewhere, the `--show-trace` blames that elsewhere, not where you did `f x`
<infinisil> Oh that would be nice
<clever> infinisil: but fixing it, would likely harm the performance of nix at all times
<clever> so i was thinking, it would have to be a compile-time option
<cole-h> clever: Is this the thing you were talking about yesterday with ottidmes? Adding `Pos`?
<clever> yeah
<infinisil> ottidmes: I think I saw a modern version of ncurses somewhere on hackernews at some point
<infinisil> Can't find it anymore though, might have been for rust
<clever> infinisil: ive used brick lately (a haskell lib) and it works great for that style of UI
<clever> infinisil: basically, it has 2 functions, an event loop (event + state -> state) and a render function (state -> ui layout)
<clever> and you just fill those in
<ottidmes> infinisil: I think I am going with Rust, saw 2 good libraries
<ottidmes> Hmm, might try brick first then
<cole-h> ottidmes: If you opt for Rust, link it here/to me and I'll try to help out. Sounds like a useful tool.
<clever> ottidmes: brick also supports alternate screen switching (what vim/less does to restore the shell upon exit), and can restore the shell when it runs an IO action, to temporarily escape the curses UI
<infinisil> clever: How state should be done :)
<infinisil> I've used the 2D library gloss which also works like that
<clever> ottidmes: and it has support for some things like bracket paste
<clever> and mouse support
<ottidmes> saw some Python libs too, but most were old or undocumented, and I am not the biggest Python fan
<cole-h> I prefer tui-rs over cursive tbh -- those old-style UIs I'm kinda lukewarm on
<__monty__> Brick looks great. Only downside is no windows support.
<pie_[bnc]> __monty__: oh. TIL.
<ottidmes> cole-h: Moreover, the library does not provide any input handling nor any event system and you may rely on the previously cited libraries to achieve such features. (tui-rs)
<clever> ottidmes: brick has support for a single brick channel (STM based) to pipe a custom sum-type into the event loop
<__monty__> Sad thing is people are clamoring for windows support but no one's stepped up so far afaik. I don't personally care about the kind of person voluntarily torturing themselves with windows but I'd rather have more people using my programs than fewer.
<clever> ottidmes: and then you can trigger things from another thread
<cole-h> It has an example for input handling: https://github.com/fdehau/tui-rs/blob/master/examples/util/event.rs
<ottidmes> clever: never mind, those other libs work well together, so you can do what they say and just use those other libs to handle them, while calling the drawing of tui-rs
<pie_[bnc]> __monty__: yea
<cole-h> ottidmes: I used that event-handling code in my project -- no need for more dependencies
<ottidmes> cole-h: It uses termion, which is one of those libs mentioned
<ottidmes> but sure, you going to need one of them backends anyway, so not really an extra dependency
<cole-h> Fair enough. But I never reached for termion explicitly.
<ottidmes> Does Nix have a KDE XML syntax highlighting description?
<ottidmes> Hmm, Rust has https://github.com/trishume/syntect
<ottidmes> This is what I found for Brick: https://hackage.haskell.org/package/brick-skylighting which needs that KDE format, so I guess I will go for Rust with tui-rs for now
<tilpner> ottidmes: Save this for later, if you're going with syntect: https://git.tx0.co/tilpner/rpb-s3/tree/syntax/nix.sublime-synta
<tilpner> +x
<ottidmes> tilpner: Thanks! Saved it to the project
<ottidmes> I am thinking of hiding away (should still be able to inspect them, but they should not be too on the surface) lib functions by default, and put user code on the foreground, cause that is were you are likely the most interested in.
<ottidmes> the call-chain patch for Nix would be something for a stage 2 of the project, I plan to first focus on the trace as it is now
<sphalerite> gchristensen: do you use the waylandy emacs with client-server functionality at all?
<gchristensen> I haven't :)
<sphalerite> hm, looks like it doesn't support it :(
<gchristensen> really? :/
drakonis has joined #nixos-chat
<sphalerite> okay no I think emacsclient just lacks support for it a little
<sphalerite> emacsclient -e '(make-frame-on-display "wayland-0")'
<sphalerite> ^ works great, but just `emacsclient -c` will try to use X (=> xwayland) or the terminal
<eyJhb> gchristensen: which dog breed?
<viric> I've just found qaul.net
<viric> "The repo has a shell.nix if you want to use nix to get dependencies, however this doesn't actually build the project."
<gchristensen> eyJhb: when we adopted her, they said "totally" blue heeler -- but anyone who has touched a blue heeler knows a dog this fluffy isn't... so maybe mixed with spitz?
<viric> I didn't expect to find nix in that kind of software. It sounds great.
<sphalerite> viric: there's a nixy person who's quite involved with it, that's probably why :)
<sphalerite> aah it's spacekookie
<sphalerite> (wasn't sure it was her)
<viric> Great to know!
* spacekookie appears in a puff of smoke
<spacekookie> hello :P
<spacekookie> Building the qaul.net binaries with nix is something I will do at some point
<spacekookie> Especially to glue the android build stuff together with Rust
<viric> How do you build it without nix?
<spacekookie> Docker and gradle
<viric> to me it would be harder with those I guess
<sphalerite> well, the java stuff in nixpkgs isn't so great yet…
<viric> spacekookie: I was trying to get up to date with decentralized applications today
<spacekookie> There's specific android building stuff, maybe I could actually use that? idk. It's a bit weird
<spacekookie> viric: ah nice. How did you find qaul.net ?
<viric> A post on scuttlebutt
<viric> that I also tried today
<spacekookie> Ah haha, okay
<spacekookie> I'm not actually on scuttlebutt :P
<viric> I can't say I am. I technically am but...
<viric> I will drop it quick.
<sphalerite> qaul.net seems cool, does it also work over the internet?
<viric> I can't find an explanation of how qaul.net works. The android App wants root acess
<gchristensen> qual.net seems like a squatted domain?
<viric> I have used Briar.
<sphalerite> gchristensen: qaul.net not qual :)
<ottidmes> gchristensen: lol, I just made the same mistake just now
<gchristensen> oh
<gchristensen> this seems like a good first bug :P
<spacekookie> sphalerite: not yet but we're working on a kind of vpn overlay
<spacekookie> Like, technically nothing is stopping it, the code just doesn't exist yet
<gchristensen> (kidding, sorry)
<spacekookie> gchristensen: you're kidding, but I still registered all possible typos of the name on freenode and making them redirect to #qaul.net XD
<MichaelRaskin> gchristensen: wrong project. DNS could indeed benefit …
<gchristensen> haha
<viric> isn't there any document explaining what qaul.net does and how?
<spacekookie> viric: docs are still severely lacking, but I guess the most complete description is probably thihttps://docs.qaul.net/contributors/technical/index.html ?
<viric> spacekookie: I was reading that... severly lacking, yes :)
<sphalerite> "the software is passed from device to device via a WLAN like a virus"
<sphalerite> lol
<spacekookie> :P
<viric> I didn't understand anything clear from qaul
<sphalerite> gchristensen: turns out the emacsclient thing is just a minor oversight in emacsclient itself, it doesn't check WAYLAND_DISPLAY. I've written a patch and will send it "upstream" once tested :)
<gchristensen> oh nice!
<gchristensen> I haven't updated since Thu Feb 13 21:52:05 2020 +0900, I guess I should (bd843b34d24226d1a8433ed26c9a0ce0fddb552e)
<sphalerite> (haven't finished building it to test yet, but who needs to test, right?)
<gchristensen> hehe
<cole-h> gchristensen: If you have a pgtk derivation, mind linking it?
<cole-h> I remember making my own, but I apparently deleted it
<__monty__> viric: Since you seem interested. The criticism on secushare's pages is pretty good. Don't read it if you want to feel optimistic about the existing solutions though : )
<cole-h> qyliss++ gchristensen++ Danke
<{^_^}> gchristensen's karma got increased to 238, qyliss's karma got increased to 42
<MichaelRaskin> All of that would be redundnat if only we had an actually good DVCS. But maybe some of these projects will accidentally create it
<sphalerite> gchristensen: works, https://github.com/masm11/emacs/pull/13
<{^_^}> masm11/emacs#13 (by lheckemann, 32 seconds ago, open): emacsclient: check WAYLAND_DISPLAY
<cole-h> sphalerite: I don't like that indentation :(
<colemickens> gchristensen: have you described what /content-addressed/ is or what powers it or what your workflow is around it? I've wondered about it several times now.
<gchristensen> ah!
<colemickens> hm. how do you seem to find stuff so quickly in it?
<colemickens> do you just ssh in and ripgrep it?
<gchristensen> I don't find anything in there :) I just use the upload script again
<cole-h> haha
<MichaelRaskin> Erm
<gchristensen> so far I have let it grow with abandon, but perhaps in the future things will delete after a few days
<MichaelRaskin> That means that there is a race condition when someone who has the link from before can download wrong content (partial)?
<gchristensen> probably
<gchristensen> but I wouldn't count on those URLs to last to be permanent
<MichaelRaskin> Well, permanent is one thing, «correct or nothing» is another
<gchristensen> the good news is every reader has the ability to validate the content
* colemickens looks at his scripts full of gsc.io links executed by sudo
<gchristensen> as long as you validate the hash before you run it .... :)
<gchristensen> also I'll take patches!
<MichaelRaskin> Are you sure it is better to gzip than to enable SSH compression?
<gchristensen> I'm not, that would probably be better
<gchristensen> I also wish I could pipe data to it
<MichaelRaskin> And you should stream into [hash].part then mv, I guess… preferably, after a length check and at least the last-byte check
<gchristensen> this sounds very robust for a bash script I keep in my ~
<__monty__> Why not check if the address already exists?
<gchristensen> sure
<gchristensen> I look forward to seeing your implementations!
<cole-h> :P
<viric> __monty__: secushare talks about qaul?
<__monty__> viric: No, but it does talk about most of the decentralized private communication solutions.
<viric> ah sure
<viric> yes, I follow psyc & secushare since years
<__monty__> Oh, ok.
__monty__ has quit [Quit: leaving]
aszlig has quit [Quit: Kerneling down for reboot NOW.]