<samueldr>
not that it really matters much, but it took some searching to find screenshots
<samueldr>
time for your imagination to shine, peeps
<samueldr>
imagine you have a laptop with a type-c connector, and you connect it to your main computer
<samueldr>
what cool things would you like to be able to do?
<samueldr>
(here let's assume the hardware allows communication as a usb device, which not all existing laptops will allow)
<samueldr>
things already possible include: exporting a block device (but not if it's mounted)
<samueldr>
networking, but that's boring
<lovesegfault>
samueldr: it uses the other machine as a nix remote builder :P
<samueldr>
lovesegfault: hmm... I would chalk that up to "networking, but that's boring" ;)
<lovesegfault>
Well, the autoconfig part is the interesting one IMO
<samueldr>
yeah, indeed
<samueldr>
the same exact method might be usable though with an ethernet cable
<samueldr>
(still interesting!)
<lovesegfault>
another interesting use would be using the other system's GPU as an eGPU
<lovesegfault>
using avahi to auto-discover local machines and set all of them up as remote builders would be _SICK_
<samueldr>
I had someone else think of using the laptop as an external display
<samueldr>
(different enough of gpu use, but close too)
<samueldr>
I think the main issue here would be that it's not PCIe or anything, and would involve the kernel on the device (the laptop) to do work
<samueldr>
but since displaylink display adapters are a thing, that's definitely a possible use case
<samueldr>
with the proper software, synergy-like use could be done on the wire, without requiring networking
<samueldr>
could even be done without the host (not the laptop) needing any involvement
<samueldr>
make the laptop show as an absolute pointing device, when you move off the display of your laptop, start pointing on the host, since it's absolute, you control the coordinates, so you know when it's back on the laptop's side
<samueldr>
>> intercepts USB traffic with a standalone Beaglebone Black, which is reconfigured to act as a USB gadget emulating the device connected to the 2nd USB port
<samueldr>
btw, I'm not really talking in theoretical terms, I have two laptops here (and several phones, and at least one tablet) where this can be done trivially
<samueldr>
uh, maybe three laptops
<samueldr>
but it's not via type-c, it would be via a dangerous-looking A-to-A USB cable (often referred to as illegal)
<samueldr>
(only for that additional third)
<abathur>
"Many UNIX systems do not allow the #! line to exceed about 30 characters in length, so be sure..."
<samueldr>
~ ⬤ readlink -f $(which bash) | wc -c
<samueldr>
78
<samueldr>
yeha
<samueldr>
using your laptop's audio/video !
<samueldr>
what if plugging your laptop in your computer allowed its webcam to be usable
slack1256 has joined #nixos-chat
<samueldr>
and same for its microphone, speakers or headphone socket
<samueldr>
maybe even bluetooth audio associated to the laptop, audio coming from the other computer!
<samueldr>
that would actually be a pretty killer feature from a phone
<samueldr>
>> This type of A to A cable is not intended to connect two computers together or to connect a USB hub between two computers, especially because both computers would provide 5V to the power lines on the cables and this could result in both power supplies being connected together
<samueldr>
the last bit about the two power supplies being connected together
<lovesegfault>
gchristensen: remember our talk about a better writeShellScriptBin?
<eyJhb>
Also, I did upstream all the small things I could to the gradle2nix project, however there is still some issues with dependencies not being found correctly.. :(
<Taneb>
gchristensen: r13y.com is looking a bit divide-by-zero-y :(
<LinuxHackerman>
He's already on it :)
<Taneb>
Ah :)
<eyJhb>
`0 out of 0 (NaN%) paths in the minimal installation image are reproducible!` :D Damn NixOS went downhill :p
pinage404[m] has quit [Quit: authenticating]
pinage404[m]1 has joined #nixos-chat
__monty__ has joined #nixos-chat
<pie_>
eyJhb: no no thats an improvement, cant have nonreproducibility if you have no packages <D
<elvishjerricco>
Is there a decent way to convert an iso image to qcow2 other than just mount -o loop + rsync?
<LinuxHackerman>
elvishjerricco: what kind of qcow2?
<elvishjerricco>
LinuxHackerman: There are multiple kinds?
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-chat
flokli has quit [Ping timeout: 240 seconds]
<LinuxHackerman>
well, a qcow2 file is just a disk image. Doesn't imply anything about its contents, like the partitioning scheme (if any) or filesystem
<LinuxHackerman>
you can make a qcow2 image of the iso using qemu-img convert, but I don't think that's what you want?
<elvishjerricco>
LinuxHackerman: Oh, I think I see. Is ISO just a file system type that is usually placed on raw image files with the .iso file extension? I had assumed iso was an image format and it just used FAT32 or something.
<elvishjerricco>
or rather, FAT32 is what most things using ISO would use on said disk image
<LinuxHackerman>
No, it's a raw image of an ISO9660 filesystem (which is also used for CDs)
<elvishjerricco>
Yea, got it
<elvishjerricco>
Cool
<LinuxHackerman>
and somehow (though I don't know the details) that's compatible with containing partition tables as well
<LinuxHackerman>
but what do you want to achieve with the qcow2? ISO9660 filesystems are read-only, so that might not be very helpful.
<elvishjerricco>
Can't seem to get the clover image to work right. I'm using the same code for copying it as gchristensen, but the resulting image has an empty file system in the second partition
lunc has joined #nixos-chat
AMG has quit [Changing host]
AMG has joined #nixos-chat
AMG has joined #nixos-chat
<LinuxHackerman>
Where does the ISO image come in?
__monty__ has quit [Ping timeout: 260 seconds]
__monty__ has joined #nixos-chat
cosimone has quit [Quit: cosimone]
<lukegb>
More modern disks will use UDF instead of ISO9660 I think
<LinuxHackerman>
ISO9660 is what make-iso9660-image.nix generates though :D
bqv has quit [Quit: WeeChat 3.0]
lunc has quit [Ping timeout: 240 seconds]
bqv has joined #nixos-chat
BaughnLogBot has quit [Ping timeout: 260 seconds]
BaughnLogBot has joined #nixos-chat
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 265 seconds]
tilpner has joined #nixos-chat
AMG has quit [Quit: Quit]
tilpner_ has quit [Ping timeout: 260 seconds]
kalbasit___ has joined #nixos-chat
kalbasit___ has quit [Ping timeout: 265 seconds]
AMG has joined #nixos-chat
kalbasit___ has joined #nixos-chat
kalbasit___ has quit [Ping timeout: 272 seconds]
cosimone has joined #nixos-chat
<abathur>
lovesegfault: what's up?
waleee-cl has joined #nixos-chat
endformationage has joined #nixos-chat
pinage404[m]1 has quit [Quit: authenticating]
pinage404[m]1 has joined #nixos-chat
pinage404[m]1 has quit [Client Quit]
pinage404[m]1 has joined #nixos-chat
kalbasit___ has joined #nixos-chat
kalbasit___ has quit [Quit: WeeChat 2.9]
<pie_>
can someone _please_ sanity check me
<pie_>
nixos-unstable is not advanced until hydra builds it successfully right
<pie_>
so why is my checkout of it 1) not being filled from cache 2) failing to build
<pie_>
ok hm i guess i can try a more direct thing
rajivr has quit [Quit: Connection closed for inactivity]
<LinuxHackerman>
pie_: overlays?
mirage[m] has quit [Ping timeout: 244 seconds]
veleiro has quit [Ping timeout: 244 seconds]
etu has quit [Ping timeout: 244 seconds]
thefloweringash has quit [Ping timeout: 244 seconds]
etu has joined #nixos-chat
veleiro has joined #nixos-chat
NinjaTrappeur has joined #nixos-chat
mirage[m] has joined #nixos-chat
thefloweringash has joined #nixos-chat
<jtojnar>
only subset of packages is blocking the channel
cole-h has joined #nixos-chat
pinpox has joined #nixos-chat
<pie_>
LinuxHackerman: no overlays
<pie_>
Ok, so this works: NIX_PATH=nixpkgs=channel:nixos-unstable NIXOS_CONFIG=/nix/store/qaysniabyfr439yhdwjrvx4jj759b7l5-nixpkgs-src/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix nix-build "<nixpkgs/nixos/default.nix>" -A config.system.build.isoImage -v
<lovesegfault>
Wondering if you think resholve would be useful
<lovesegfault>
s/useful/fitting/
cosimone has quit [Quit: cosimone]
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 246 seconds]
tilpner_ is now known as tilpner
<abathur>
I was thinking about this a little the other day when graham pinged me; I think so (though it may be one of those walk-don't-run things for a bit as things it can't handle shake loose), but I'm not immediately sure if/how it can slot directly into writeTextFile
<abathur>
I think you'd have to pass the text into resholve on stdin before handing it off to writeTextFile
<ashkitten>
how do i get the size on disk of a closure again?
tilpner has quit [Remote host closed the connection]
tilpner_ has joined #nixos-chat
<lovesegfault>
this reminds me, I wanted to add a flake.nix to resholve's repo
<abathur>
I suspect there are a few ~missing resholve utility functions, but I'm trying to just let that be guided by real use-cases
<lovesegfault>
huh, why is he using the oil shell here?
<abathur>
so I just started with resholvePackage, since that's the one I've got immediate use-cases for
<abathur>
he's been playing with using osh as sh
<ashkitten>
rebuilding 700 packages wasn't enough, so now i have to rebuild 3500 packages due to a glibc change
tilpner_ is now known as tilpner
<abathur>
lovesegfault: I've still got my head in the sand on flakes; open to a PR with a caveat: I test the nixpgks expressions in resholve's repo and then port updates--I'm OK with that process changing as long as it is getting less manual/involved
<abathur>
but if it gets more manual I may be a stick in the mud
higebu_ has joined #nixos-chat
<lukegb>
wow, these servers are so unsupported that in order to get windows drivers for the onboard nic I have to disable driver signature enforcement and patch the .inf
<lukegb>
linux works fine though :)))
ornxka_ has joined #nixos-chat
ornxka has quit [*.net *.split]
higebu has quit [*.net *.split]
rmcgibbo[m] has quit [*.net *.split]
nicolas[m] has quit [*.net *.split]
dtz has quit [*.net *.split]
noneucat has quit [*.net *.split]
jtojnar has quit [*.net *.split]
worldofpeace has quit [*.net *.split]
JJJollyjim has quit [*.net *.split]
joepie91 has quit [*.net *.split]
higebu_ is now known as higebu
joepie91 has joined #nixos-chat
joepie91 is now known as Guest4239
nicolas[m] has joined #nixos-chat
jtojnar has joined #nixos-chat
evanjs has joined #nixos-chat
worldofpeace has joined #nixos-chat
rmcgibbo[m] has joined #nixos-chat
noneucat has joined #nixos-chat
dtz has joined #nixos-chat
<andi->
has anyone thought about a pass <> age dual-encryption system yet? I want to slowly migrate to age but don't want to throw away the ability to just go back in case I have to.
<andi->
Also multiple devices doesn't make this easier
<cole-h>
Are you thinking of a single file that can hold both GPG and age encryption, or something like two separate directories (e.g. ~/.password-store and ~/.age-password-store), where modifications to either are synced to its counterpart?
<cole-h>
Or maybe even ~/.password-store, but all *.gpg have a *.age counterpart that is synced
<andi->
The latter
<andi->
and have a pass / age wrapper that takes care of that for me
<cole-h>
Definitely sounds like a nice idea.
<gchristensen>
the other day my vault server was down and I was glad I hadn't migrated all my secrets to vault
<cole-h>
hehe
<andi->
I also don't want the yubikey thing anymore. I have USB-A and USB-C devices I regulary use and adding yet another yubikey to those three on my keychain is not an option
<andi->
so I want TPM based things for now
<andi->
in addition to the GPG fallback that I have backed up on hardware tokens and recovery media
<cole-h>
Could you say more? How do you mean "TPM based things"?
<andi->
I never want to see my secrets
<__monty__>
Is age a pass replacement or just a replacement for the gpg "backend?"
<andi->
If I get a new device I add another key to the list of keys they should be encrypted for
<andi->
__monty__: neither
<andi->
__monty__: it just encrypts a file with keys (a few variants)
<__monty__>
So you'd manually encrypt each secret?
<andi->
With a script
<__monty__>
So reimplement pass but atop age, not gpg?
<andi->
yeah
<andi->
more like add age to pass
<andi->
while keeping gpg in there and a switch that tells it what to use for decryption
<__monty__>
That's what I meant by backend : )
<__monty__>
Cool idea.
<andi->
pass is too much bash for my taste to start hacking on that now
<andi->
and integrating with gpg is painfull.
<andi->
I'll wait another week.
<gchristensen>
have less bash
<gchristensen>
you can reimplement probably almost all the features of pass that you need in ~100lines
<samueldr>
of bash?
<gchristensen>
yea
<andi->
dash!
<andi->
osh
<samueldr>
heirloom sh!
<andi->
brainfuck!
<cole-h>
Sally sells cshell by the cshore
<gchristensen>
really, though, pass has a LOT of features
<andi->
yeah
<gchristensen>
you probably only use a very few of them
<andi->
and interacting with gpg is okay when I do it occasionally as a one-off but writing a "bulletproof" script around it...
<samueldr>
AFAIUI nothing GUI is available outside the fruity ecosystem
<bbigras>
I know. I'm just still pissed that you need a mac for IOS development. it's ridiculous.
<andi->
Yeah it is
<bbigras>
oh like dotnet? crappy open core
<andi->
and the whole licensing of their OS only for Mac hardware while many people have to develop/maintain shit for it
<samueldr>
I had a friend of mine do some swift... after he showed me some of the things and how it worked I'm not sure I'd like it... but still, I haven't personally given it a chance
<andi->
on a more serious note I think I'd want to write it in a way that supports all the OSs out there (as a library/cli)
<samueldr>
andi-: ah, so ruby?
<andi->
Did someone see samuel? Haven't heard from him in a while.
<genevino>
23:08:31 [andi-] It is actually sad that I prefer C over bash
<genevino>
andi-: yes it is.
<genevino>
i love bash, even though i'm fully aware it's an insanely broken language.
* colemickens
has a hard time adopting new anything written in C
<andi->
Wow, I've been there. I've gone back to very simple <200 lines C programs to solve problems vs 1k lines of rust type massage and evenings lost of energy.
<andi->
Maybe my problems are too trivial..
<andi->
but hard problems shouldn't be solved in *soft*ware
<samueldr>
andi-: mail server in discrete silicon logic when?
<andi->
samueldr: probably already exists
<andi->
also mail is simple, just don't think about spam
<samueldr>
also [problem] is simple, just don't think about [actual issue] ;)
<andi->
also: new Glibc release 2.33 with support to load hardware/microarchitecture specific code
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 256 seconds]
tilpner_ is now known as tilpner
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 256 seconds]
tilpner_ is now known as tilpner
<lovesegfault>
PSA: I'm working on bumping glibc
<ashkitten>
lovesegfault: hopefully that work gets combined with the potential glibc changes for #100655
<__monty__>
andi-: Maybe a gpg wrapper which dispatches to gpg and translates for age? Then you can use pass without alteration. Just have to cover all of the gpg CLI/API pass uses.
<andi->
ashkitten: oh stream is broken? Time to postpone all updates until that is fixed :D
<ashkitten>
andi-: no need to be rude. it's a mass rebuild and i was hoping the timing would line up so they're both in the same staging batch
<ashkitten>
i figured that lovesegfault should know that there is concurrent work that involves glibc if they are updating it
<lovesegfault>
ashkitten: what's the proposed glibc change in that thread? There's a bunch of comments and I'm trying to bump binutils now so my mind is scattered