IRC channel logs

2021-06-22.log

back to list of logs

<nckx>guix system: error: failed to load '/etc/guix/system.scm':
<nckx>ice-9/eval.scm:159:9: In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f
<nckx>… 😒
<wirez>i looked at guix but went with nixos because it has way more users and activity. but its core lang nix sucks imo and guile being a simple list seems nice. im reconsidering going with nixos. anyone wanna sell me?
<nckx>What Guile meant was ‘patch-grub: undefined variable’. Incredible.
<ecbrown>wirez: even i can do it
<ecbrown>sold?
*nckx is too tired to sell anyone anything, good night.
<muradm>wirez: don't buy, go for nix, with time you will end in guix any way )
<ecbrown>i've never used nixos, i think i can contemplate its functionality. for me its scheme. i already know lisps for other reasons and i can string together some mean tranformations with a simple language usable elsewhere
<ecbrown>also gnu is important
<wirez>sounds nice. what are the worst parts of running guix and using guile?
<ecbrown>all those little parentheses
<ecbrown>;-)
<drakonis>ecbrown: for perspective, nix is guix but with a json-y syntax and lots and lots of shell
<muradm>wirez: once you get the grasp that "lisp" (guile scheme) in this case is not just syntax but a true language, at that point nix's syntax will start get akward
<ecbrown>drakonis: thanks, i can visualize that
<drakonis>it has a lot of pitfalls due to that
<wirez>ya already looking at nix is why i didn't go deeper than a basic config. i dont wanna learn a whole kinda shitty lang to config my system, but i DO want reproducibility and declarative consolidated configs
<wirez>maintaining config via standard cm is like weak typing in a lang i don't want that i want more
<ecbrown>wirez: downside is everything takes longer than apt
<ecbrown>(i'm coming from debian/openbsd)
<drakonis>on the upside, less issues
<muradm>wirez: do you write code in general?
<wirez>ah i use freebsd for zfs and bhyve but i like openbsd too
<wirez>ya just c tho
<wirez>gonna maybe learn rust it seems popular and i need to become an adult sometime
<wirez>but learning a lisp is doable because so less syntax ceremony so i wouldnt mind guile
<wirez>but learning nix no way
<ecbrown>wirez: also i would add that guix does a good job with man pages, info pages, and the accoutrements. some of the length of time it takes seems because guix is doing something right even if its alittle expensive
<wirez>drakonis: so a guix server or workstation can be more reliable and secure and performant due to better config infrastructure?
<ecbrown>wirez: guix is the only system that reliably populates my emacs info pages
<wirez>ya i rather solid engineering, albeit slower, than the 'move fast break things' crap
<drakonis>hmm, performant depends on the hardware and software you run with
<wirez>i like iteration, that's good enough to keep up a pace
<drakonis>reliable and secure? probably?
<drakonis>reliability is good, yes.
<drakonis>guix doesnt magically makes thing secure though, good practices do
<wirez>how does guix user get access to software? being totally declarative there's gotta be some work to bring various software to guix, and how much man power does that require and is there enough?
<wirez>drakonis: ya true but maybe a system mgmt tool's very design is insecure by nature. sorry for ignorant noob questions
<drakonis>if you've heard of nix/nixos, you should be mostly familiar with how the model works
<wirez>so you write a 'wrapper' to bring any software out there into the guile/guix world?
<ecbrown>wirez: yes there is plenty in ci.guix.gnu.org. also you can make your own package server so you are really limited by hardware
<drakonis>also guix doesnt automaticaly make something performant
<drakonis>wirez: ehhhh
<drakonis>not quite that
<drakonis>except for some really bad software that doesn't interact nicely with its model which requires some minor patching
<drakonis>speaking of which
<drakonis>hmmm
<muradm>wirez: first i skipped guix to nix due to hardware stuff, at that time it was no easy way to run on commodity hardware, after a year on nix, i switched to guix any way, mostly because of symtax issue, i understand their reasoning behind "we want to make easy syntax" for user base, but putting "funcational language" without good theory behind, that was an issue. when grasp is coming about guile scheme, and one can see that his config is
<muradm>a "program" that runs, sun rises, especially if you are developer )
<drakonis>that gave me an idea, gonna patch some software so it looks at the correct location
<wirez>muradm: ya exactly
<wirez>is systemd avoidable with guix? i come from freebsd and i think it's a religious thing? but for me i just don't like theory of monolithic binary things
<wirez>i like openbsd care for security
<lispmacs[work]>wirez: guix does not use systemd by default
<lispmacs[work]>it uses shepherd
<wirez>that's really impressive. how did you resist the pressure to be converted?
<wirez>best page to read about shepherd?
<lispmacs[work]>wirez: the official documents states it didn't have anything really to do with hatred of systemd
<wirez>what is philosophy of shepherd?
<muradm>later i just started to hate "configs", need script, use guile, need config, use guile, everywhere lisp, is like peace of mind. no need to understand/read about different config syntaxes of different programs.
<lispmacs[work]>just that shepherd is more compatible with a system that is trying to ensure a deterministic boot process
<rekado>shepherd is written in Guile
<rekado>that’s pretty much all it has going for it :)
<wirez>muradm: yes every time, once a config syntax is robust enough for what we want to do, it's equal to just a shitty programming lang
<wirez>that is why i want DEclARATIVE and a legit prog LANG for system config
<ecbrown>wirez: shepherd has the right cross section of functionality if you are used to /etc/init
<wirez>rekado: oh so it's also a big monolithic binary thing?
<wirez>from fbsd?
<wirez>cuz i know that and launchd too
<ecbrown>wirez: for me, that is. i usually start stop and restart daemons, and herd has a nice simple status
<wirez>ill look for main guix repo now ty so much
<ecbrown>wirez: like /etc/rc.d in openbsd i was alluding to
<wirez>ah
<ecbrown>i dunno what they're called, "init scripts" lol
<wirez>does guix run on pinephone?
<lispmacs[work]>wasn't there a big blog post about how cool Shepherd is because you can start your own local user services?
<hrnz>when will systemd implement this?
<hrnz>oh
<ecbrown>wirez: yeah you should check out the blog posts, they are cool and pretty cutting edge imo
<wirez>if you look at distrowatch distro popularity list on the right then select more statistics then look at guix, 12 mo 6 mo 3 mo guix trending up almost breaking top 100 then past 1 mo dropped bad. any ideas why?
<wirez>ecbrown: link to blog posts pls?
<ecbrown> https://guix.gnu.org/en/blog/
<dstolfa>does anyone feel here that it would be useful to have a hurd vm service take a configuration and do functional deployment of a *non-volatile* hurd VM that preserves user data? for example (service hurd-vm-service-type (hurd-configuration (config '(define %hurd-os ...)))?
*ecbrown swears to have seen such persistent hurd before
<dstolfa>i was thinking of writing something like that, because i'd like to have a hurd VM through which i proxy some commands that i run in order to exercise code paths and test hurd, but the current service seems to require you to provision it ahead of time manually from what i can see
<ecbrown>i think you can reference a vm file somewhere
<dstolfa>ecbrown: yeah, but that doesn't re-provision it right?
<dstolfa>on a system reconfigure
<wirez> https://github.com/Schroedinger50PCT/guix-pinephone/blob/main/pinephone_config.scm GUIX RUNS ON PINEPHONE!?
<ecbrown>dstolfa: not sure on that detail
<ecbrown>dstolfa: my understanding is that one wants something that does not reprovision to be persistent. (?)
<wirez>dstolfa: like bhyve meets guix?
<wirez>meets guile
<ecbrown>wirez: have you heard of the mythical hurd kernel? it lives here in guix vm's
<wirez>ecbrown: ty. im gonna read everything i can find on guix
<dstolfa>ecbrown: well, i guess my use-case is kind of specific, in that i would use a hurd VM as a part of my existing system for testing purposes
<dstolfa>e.g. i'd proxy ansible, ssh and a few other things through hurd
<wirez>ecbrown: only heard of it but dunno anything
<dstolfa>so when i do a `guix system reconfigure` i'd like it to reconfigure the "system" part of the hurd VM, but not the user data such as keys, etc
<dstolfa>you could also specify something like (config #f) for it to be skipped and have current behavior
<wirez>is there a container/docker alternative for guix that's better?
<dstolfa>and it could default to #f
<ecbrown>dstolfa: oic
<ecbrown>right
<ecbrown>guix has several options: containers (jails), docker, kvm, etc
<wirez>ah something like freebsd jails? can't wait to read about that
<wirez>ty all
<dstolfa>wirez: guix can both create containers on top of it (either with dockerfiles, manually or using guix itself), and you can create VMs and containers out of your existing guix configuration (or any other configuration)
<dstolfa>however, for a lot of things that you would need containers on another operating system, in guix you can do with user profiles
<ecbrown>dstolfa: is it fair to say those are different targets of the same guix manifest?
<dstolfa>ecbrown: hmm, i wanna say yes but i'm not 100% sure
<wirez>hm and since guix is linux it can run zfs too?
<dstolfa>it can, yes
<ecbrown>i have not seen success stories of zfs on root though
<wirez>so dstolfa im curious, why still run freebsd or any bsd?
<ixmpp>ecbrown; i have
<ecbrown>in guix?
<ixmpp>it's very popular on nixos for some reason
<dstolfa>wirez: why not? diversity is good and different systems have different strengths and weaknesses
<wirez>what are guix weaknesses?
<dstolfa>entirely depends on your usecase and personal preference
<ecbrown>kryptonite, wheat grass smoothies, green stuff
<dstolfa>:D
<dstolfa>i'd say it's that some things that assume FHS are sometimes a pain to deal with
<dstolfa>not all of them, but some can be a real pain
<wirez>FHS?
<dstolfa> https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
<wirez>ah
<ecbrown>it seems guix doesn't look kindly on packages that assume it can do whatever in an /topt/<package> directorie
<ecbrown>/opt/<package>
*ecbrown completes packaging of dalton quantum chemistry program
<ecbrown>and almost openmolcas
<dstolfa>ecbrown: do you run a hpc based on guix by any chance? :)
<ecbrown>yes
<dstolfa>if i were to suggest to a hpc admin to consider guix, specifically for biotech, would you tell me to do it or to wait a little bit longer as to not disappoint them?
<ecbrown>i mean, six xeon servers with big raids and ram
*ecbrown thinks
<ecbrown>there are other options. i had a one-on-one with my boss where we talked about guix and his first question was whether it could be foreign basically
<ecbrown>the other is filesystem availablity. for certain data sets i think xfs is optimal
<ecbrown>in the performance/capabilites department
<dstolfa>right, so i guess the answer is to wait a bit until certain things are sorted and then prod in that direction? :D
<dstolfa>i'd basically like them to switch to guix for their hpc, but i don't really want to suggest anything too early in order for them not to get disappointed by it and then discount it in the future
<dstolfa>i think they're currently on centos7
*ecbrown coughs up
<ecbrown>yeah, guix as a shim, a layer of fondant
<ecbrown>that would sell like hotcakes, all you ask is guix-daemon and now everything is modern
<dstolfa>i do wonder if that's a viable migration path actually. you get them to use guix for more and more things, until one day the admin goes, well screw it and does a `guix system init` on that old centos box
<ecbrown>there could not be a better fate
*ecbrown reflects on the period when gdal was too old on centos to compile r packages
<ecbrown>i think e.g. grad students and postdocs could make their final research artifacts in a guix manifest
<bdju>nckx: alright, sorry. I even went to the trouble of decompressing and putting .txt on it thinking it'd be easier to see in a mail client.
<wirez>Users who like to always run the latest and greatest pieces of the free software commons will love the new --with-latest package transformation option.
<wirez>that's pretty smart
<wirez>so it reuses the same derivative made for it to try it with updated source and just see if it works
<wirez>has that 'auto derivative update' machinery taken work off of pkg maintainers?
<wirez>does it have a fallback option so if it can't build it it'll use the existing packaged source?
<wirez>so the model is 'install latest, or stable if needed'
<drakonis>hmm i wouldn't say it automatically falls back
<drakonis>installing the packaged version is one command away
<wirez>"The guix import crate command, for Rust packages, now honors “semantic versioning” when used in recursive mode." man that's cool, so you guys are smart enough to not make pkg maintenance manual, you're creating sets of importers to generate the derivatives automatically
<wirez>so you could make importers for whole bases of software, like appimage, freebsd packages, debiant apt i think?
<wirez>could you ever get the importers sophisticated enough to be able to have completely automatic repackaging of any software from anywhere?
<mange>I guess in theory, but in practice lots of software has non-trivial extra steps. The build systems in Guix try to package the common way to build software in various languages/environments, but if you look at package definitions there's a lot of customisation done for specific packages.
<ecbrown>there are so many types of software build that it is impossible
<ecbrown>in my limited use of some of the importers they are "starting points" rather than slam dunk conversion
<wirez>ah ok, so do all the low hanging fruit
<wirez>well that's good at least, the hard stuff is atleast fun
<wirez> http://issues.guix.gnu.org/44400#3 damn systemd infecting everything, and because of that can't get phosh on guix on pinephone yet i guess
<drakonis>ehh okay
***terpri is now known as robin
***chipb_ is now known as chipb
***sneek_ is now known as sneek
<The_tubular>Security wise, would you say that Guix is more or less secure than a more "classic" distribution ?
<The_tubular>I'm thinking of using it for a server, and I'm wondering, what if someone breaks in and get like the www user, could he technically install any binary he do what he wants ?
<drakonis>hmm, it is as secure as you make it
<drakonis>there is no magic here
<mange>If someone breaks in, they can usually just download whatever they want, right? I'm not sure the package manager makes too much difference to that.
<drakonis>it is still running linux
<The_tubular>I mean apt needs root privileges
<drakonis>yeah, so?
<drakonis>nothing stops you from pulling in bad binaries through something like wget or curl
<drakonis>on the other distributions
<mange>But apt isn't the only way to download software. wget and curl can download software, or they can even just cat it through a terminal (kind of).
<The_tubular>Umm, I suppose you are right
<mange>If they have a remote shell then they can get whatever code they need onto the machine. Guix doesn't change that.
<The_tubular>Sorry, I didn't mean to attack the distro, I was just trying to think out loud I guess
<The_tubular>I'm still stuck with my explosive traceback :(
<mange>I didn't take it as an attack. :) It's a reasonable question to ask.
<mange>What's your explosive traceback?
<The_tubular> https://privatebin.net/?e3a0820a6f355de0#9o7kTfyM2Z4437dTewoem4Zpo7YDkn7FfjU55VHEczns
<mange>Huh, it looks like it's failing trying to read your current /etc/passwd file? Does that sound possible?
<The_tubular>Does it need special permission ?
<The_tubular>-rw-r--r-- 1 root root 753 Jun 17 19:21 passwd
<mange>That looks like it's happening during system activation, so it should be running as root. At any rate, everyone should be able to read /etc/passwd, so parsing should be fine.
<mange>What are you trying to do that's leading to this trace? Is this on a Guix system, or a foreign distribution?
<The_tubular>Guix system, altough i'm using WSL2
<The_tubular>This is the command that leads to the traceback : guix system reconfigure --no-bootloader /root/.config/guix/system.scm --no-grafts
<The_tubular>This is what I followed as close as possible : https://gist.github.com/vldn-dev/de379bf81a80ff0a53cd851bcc3bbff2#file-wsl-scm
<mange>Ah, okay, so you wrote /etc/passwd by hand?
<mange>Can you check to make sure it's definitely not invalid?
<The_tubular>Yes, I did that already. It is exactly what it's the gist, let me triple check though
<The_tubular>Wow, I fixed it ...
<The_tubular>I'm ashamed ...
<The_tubular>I don't understand it though ...
<The_tubular>There was a trailing "new line" at the very end of the file
<The_tubular>But i'm still having an error though
<The_tubular>guix system: warning: while talking to shepherd: No such file or directory
<mange>Is there a shepherd process running? When it starts it should create a file that you can use to communicate with it. I don't know how WSL2 works, but shepherd should be running as PID1 on a Guix system.
<The_tubular>which shepherd isn't returning anything so I would have to say no ...
<mange>I'd check "ps x | grep shepherd". Using "which" will look for a binary on your PATH, but you don't have to have shepherd on your PATH for it to be running.
<The_tubular>I would have to bet it has to do with this : guix-init.sh file
<The_tubular> 7920 root 0:00 grep shepherd
<The_tubular>That's not it :/
<mange>Yeah, guix-init.sh in that gist you've linked looks like it's starting the system.
<The_tubular>Figured it out. Making progress...!
<The_tubular>Another error though :P
<The_tubular> https://privatebin.net/?0ae863dfbe37e034#24xkr1nZPyWoBDeUvdeLPJqmoTJTLMb98w15sfka6veC
<The_tubular>How do I know which service needs to be restarted ?
<mange>If you just started things, then don't worry about it. You can find some discussion which led to that message in this issue, if you're interested https://issues.guix.gnu.org/22039, but it basically boils down to "it's *really* hard to know what to do around restarting services, so we just print that message and leave it up to the user".
<The_tubular>So what do i do ?
<mange>Nothing. :)
<The_tubular>Hoo, so it worked successfully ?
<mange>It seems so!
<The_tubular>Nice!
<mange>On that note, I'm actually leaving. Have fun with Guix!
<The_tubular>Thanks for your help!
<civodul>Hello Guix!
<MysteriousSilver>Hello civodul
<efraim>hello!
<efraim>I think I have a working upgrade to libreoffice
<efraim>that'll be nice to finally upgrade
<civodul>yay!
<civodul>i posted patches in preparation of the Big Change: https://issues.guix.gnu.org/49169
<civodul>time to see if there are corner cases that are hard to "translate"!
<raghavgururajan>Hello Guix!
<ngz>civodul: nice! I'm currently contemplating widelands package, where I used a kludge around inputs to unbundle font.
<civodul>ngz: ah ha! what kind of kludge?
<raghavgururajan>Can you run user-service for a program that is also running as system-service? For example, can I setup and run shepherd user-service for udisksd, when udisksd is already running as shepherd system-service from usdisks-service-type?
<ngz>civodul: I named the inputs as the directory I wanted to remove in the source code. So, for example, I used ("DejaVu" ,font-dejavu) so I could remove "DejaVu" directory, and still symlink (assoc-ref inputs "DejaVu").
<ngz>Not that I am proud of it ;)
<bricewge>raghavgururajan: Assuming you mean https://guix.gnu.org/en/blog/2020/gnu-shepherd-user-services/ and the software you wan't to run don't care it should work
<bricewge>I don't know about running 2 instance of udisksd tho
<ngz>I guess I can (string-append "font-" (string-downcase "DejaVu")) before calling assoc-ref. OTOH, I wonder if I should bother un-bundling fonts at all.
<civodul>ngz: ah, that's an evil trick! :-)
<civodul>let's see
<civodul>you could have the list of fancy names like "DejaVu" in the build phase itself
<civodul>and it'd look for input whose lowercase name matches, or inputs that contain a specific file
<raghavgururajan>bricewge: Yes, shephers-user-services. If we consider syncthing example in that blog post, can it be used along with syncthing-service-type?
*raghavgururajan looks for efraim
<bricewge>It should as you would have 2 shepherd process running each with its own set of services
<ngz>civodul: I think I don't get it.
<efraim>I never really looked at the syncthing-service-type
<raghavgururajan>efraim: I am not sure if it exists. But we can take another example. Like udisks-service-type.
<raghavgururajan>Or polkit-service-type.
<civodul>ngz: i was trying to see how you could play tricks on the build side rather than fiddling with input labels
<civodul>but these things are hard to express :-)
<ngz>But in this particular case, we're un-bundling two fonts while the majority of them is still bundled. Maybe we should get rid of the phase altogether.
<solene>would it seems a good idea to use Linux namespaces to prevent guix-daemon to access network when building?
<solene>I see no reason a build daemon shouls access the internet at the build step.
<maximed>solene: I believe the guix-daemon already blocks network access. Except when ‘building’ fixed-output derivations
<sneek>maximed, you have 1 message!
<sneek>maximed, jackhill says: re: meson cross-compilation: thanks for the pointer
<maximed>‘fixed-output derivations’: basically, download source code from some location, of which the hash is known in advance
<maximed>See nix/libstore/build.cc: if (!fixedOutput) flags |= CLONE_NEWNET
<solene>madage: cool
<solene>thanks
<abcdw>hey guix!)
<sneek>Welcome back abcdw, you have 1 message!
<sneek>abcdw, ixmpp says: hey so, i only just realised when i tried out zsh, guix-home doesn't manage to do the on-first-login thing properly with fish as the user shell
<ngz>efraim: well done for the libreoffice update!
<abcdw>ixmpp, can you elaborate on that please. What is your login shell? What is you deafult shell?
<wirez>why ppl say guix can't run on zfs? https://news.ycombinator.com/item?id=27129487
<dstolfa>that's not what they're saying. they're saying that it's not integrated in the installer
<dstolfa>also it's unclear legally if GPL and CDDL are compatible and guix follows FSDG
<pascallor>Hello! Is there a way to mount partitions with the user instead of as root? Or to give the user write access another way?
<wirez>can yoyu run 'guix on zfs root'?
<wirez>like freebsd zfs root
<civodul>wirez: zfs-on-linux is problematic because its license is incompatible with that of the kernel (CDDL vs. GPLv2)
<wirez>dangit
<civodul>you individually can assemble both, but distros cannot distribute zfs-on-linux binaries
<wirez>i really like bitrot detection and healing
<wirez>oh
<wirez>how much hoop humping it require?
<wirez>jumping
<civodul>Guix provides a zfs package, but it does not provide substitutes (pre-built binaries) for it
<civodul>it's still pretty easy to use, it just ends up being built on your machine
<civodul>now, i'd recommend giving Btrfs a try: it's maintained as part of Linux and doesn't have that problem
<civodul>(that said, i use neither Btrfs nor ZFS)
<wirez>i heard btrfs is still having data corruption events so im leary
<dstolfa>civodul: quick question... i'd like to run hurd as a part of my system where i have a non-volatile hurd VM through which i proxy a number of commands in my day-to-day work. i've been able to get a volatile childhurd working, but when i tried to make a service for a non-volatile one, as i understand it, the VM has to be pre-provisioned and manually updated. would it makes sense to make a patch which
<dstolfa>optionally updates the hurd VM (but doesn't touch user data) as a part of `guix system reconfigure`?
<dstolfa>wirez: i've been running btrfs for a while and had no issues, it's pretty stable these days
<efraim>I use btrfs with zstd compression and no special features (like snapshotting), I've been very happy with it for a few years now
<wirez>either of you run btrfs in enterprise storage context?
<mfg>Hi, what exactly is necessary to get libgcc_s into an environment? afaiu it's part of the gcc package's lib output, but the gcc package cannot be directly used and gcc-toolchain doesn't have it?!
<dstolfa>depends on what you mean by 'enterprise storage' :)
<civodul>dstolfa: i don't think the childhurd vm should be made non-volatile, even optionally; sounds too tricky to get right
<civodul>and also very much "against the spirit" of this thing
<civodul>but you can easily cross-build a childhurd and run it manually, statefully and all
<dstolfa>civodul: hmm, how would one say, put an ssh private key inside the childhurd statefully in this case?
<dstolfa>one thing i'd like to do is run ansible over ssh in the childhurd vm instead of natively, just to exercise code paths in hurd
<wirez>on http://distrowatch.org/dwres.php?firstlist=guixsd&firstversions=0&resource=compare-packages&secondlist=arch looks like xorg doesn't run on guix wtf?
<dstolfa>well, that's just wrong
<ngz>It looks like btrfs doesn't have transparent encryption yet.
<danialbehzadi[m]>What does it mean "source not archived on Software Heritage and missing from the Disarchive database" in lint?
<efraim>the closest I run to 'enterprise storage' is I have a lizardfs cluster on the compute cluster at work
<efraim>*not yet upstreamed, i went overboard with the config options
<wirez>does postgresql run well on guix servers?
<civodul>danialbehzadi[m]: hi! it's to inform you that the source tarball your package refers to is not archived, but there's not much you can do about it
<boeg>hi, I'm trying to install guix on a Thinkpad and have created a USB installation thing as per the documentation, and when I boot from the USB I just get "error: unknown filesystem", "entering rescue mode...", "grub rescue>". Any ideas as to what I have done wrong?
<danialbehzadi[m]>civodul: Oh, I see. So it's not a problem when submitting new packages… Thanks
<civodul>correct!
<YeetusDeletus>How do you define a user specific package configuration? From reading through the cookbook about manifests, and looking at daviwil's and other peoples dotfiles, I still can't find any examples of actually declarative configuring of packages aside from just adding them to the system through a manifest file. E.g. in Nix you can define configurations
<YeetusDeletus>for a package like so: https://hastebin.com/sitehekeco.pl. Specifically the configuration part for packages are what I'm after. Is that possible?
<civodul>YeetusDeletus: hi! is this a config for Nix Home Manager (or whatever it's called), or is this about build options for mpv?
<civodul>for (1), there's Guix Home, which is slated to be merged "soonish"
<civodul>for (2), there's https://guix.gnu.org/manual/en/html_node/Defining-Package-Variants.html
<YeetusDeletus>Just in general, just grabbed a configuration for NixOs as an example of what I was talking about in case I didn't explain it properly :)
<civodul>from the example i can't tell if it's (1) or (2) :-)
<civodul>but anyway, these are the available options right now
<MysteriousSilver>civodul: can guix home be used in non GuixSD distros where guix is the package manager?
<civodul>MysteriousSilver: yes
<civodul>yoctocell knows better :-)
<civodul>but see https://guix-home.trop.in/Home-Configuration.html
<civodul>& abcdw too!
<MysteriousSilver>from where do i install guix home? 😅️
<YeetusDeletus>@civodul: (not sure if I'm calling names correctly, been a while since I've used that in IRC). What I was thinking of was declarative defining the configuration of a package, in the sense that you configure the settings of something through something like a manifest. Not sure if Guix Home achieves this or not.
<wirez>anyone running guix on their pinephone?
<yoctocell>YeetusDeletus: that config looks very much like nix home manager, guix home is basically the guix equivalent of nix home manager. we don't have an mpv service/configuration yet, only more basic things like git, bash, zsh, emacs
<yoctocell>MysteriousSilver: you can add the rde git repo as a guix channel: https://git.sr.ht/~abcdw/rde
<YeetusDeletus>yoctocell: It is this Guix Home you're referring to or? https://framagit.org/tyreunom/guix-home-manager
<yoctocell>YeetusDeletus: no, it's this one: https://git.sr.ht/~abcdw/rde
<yoctocell>the plan is to start upstreaming it in the coming weeks
<MysteriousSilver>thank you yoctocell and civodul
<boeg>I'm trying to install guix using the graphical installation. Is it possible to connect to internet via wifi in that process? It says it needs a connection, and I don't have a wired one available
<YeetusDeletus>yoctocell: Ah. The more you know I guess. Thanks for linking and the help, I'll take a look through the docs to see if it works like I hope it does :)
<yoctocell>MysteriousSilver, YeetusDeletus: yw :)
<roptat>YeetusDeletus, your link is the home-manager, which has confusingly a similar name. It's goal is similar, but it works a bit differently from guix home
<roptat>like, it makes the whole home directory read-only, to ensure nothing can override your config, but that can be a bit... brutal :)
<nckx>Glorious morntides to all of #guix.
<roptat>yoctocell, btw thanks for all your work on ocaml lately!
<YeetusDeletus>roptat: Yeah, the names does make it a bit more confusing :p
<civodul>hey nckx & roptat
<roptat>:)
<roptat>YeetusDeletus, even more so: they both define a "guix home" subcommand ^^'
<ixmpp>abcdw: with my user's shell in passwd set to fish, and sddm set to autologin, on-first-login does not run correctly. Once i swapped that out for zsh for a bit, it started to work
<YeetusDeletus>roptat: Oof. Even better! Why not just run both at the same time ;)
<roptat>well, someone tried before, and home-manager won
<roptat>although, they used it with a file for guix home, so it didn't go very far
<YeetusDeletus>Nice.
<YeetusDeletus>yoctocell: Looks like rde Guix home may be what I was looking for.
<boeg>Does the graphical installer not support wifi connection? Can I somehow break out of the installer? ctrl+fN doesn't seem to work.
<mfg>boeg: alt+fN should work
<boeg>cannot get it to work ... hmm
<YeetusDeletus>Anyone wouldn't happen to know of any repos utilizing rde Guix Home? It'd be nice to see an example of how it should be structured in practice :)
<nckx>boeg: Control *and* Alt.
<nckx>And Fn.
<boeg>ah, of course
<boeg>can anybody tell me if there is some utility installed on the installation image to connect to wifi?
<nckx>The installer definitely supports Wi-Fi.
<nckx>But your chip can't require proprietary firmware, and many do.
<boeg>hmm, maybe my hardware is not supported then since it doesn't prompt me about it
<nckx>You can try the usual ‘dmesg’ & ‘ip’ commands to see if the interface is found & up.
<nckx>I think the installer uses connman to connect, I'm not familiar with its CLI.
<boeg>thank you
<mfg>Is it possible to get the output path in order to pass it into #:configure-flags?
<mfg>so something like (assoc-ref outputs "out") but this cannot be used there
<wirez>guix feels very innovative
<ngz>mfg: (assoc-ref %outputs "out")
<wirez>lots of activity on interesting projects
<mfg>FeelsBadMan, so close
<yoctocell>YeetusDeletus: you can look at my configs: https://hg.sr.ht/~yoctocell/guixrc, though be warned, it's very messy
<abcdw>ixmpp: fish is not a POSIX shell and it's not very good idea to use it as login shell. I suggest to use bash/zsh as a login and fish as a default shell. I personally use bash (passwd) as a login shell and zsh as a default shell ($SHELL).
<yoctocell>ixmpp probably has some interesting stuff too
<yoctocell>YeetusDeletus: ixmpp's configs: https://github.com/bqv/rc/tree/live
<wirez>what're the most modern browsers for guix?
<YeetusDeletus>yoctocell: Sweet, thank you!
<roptat>there's icecat and ungoogled-chromium
<roptat>icecat is a rebranded version of firefox
<wirez>cool!
<roptat>(it's the "lts" version of firefox, not the latest one though)
<abcdw>ixmpp: There are no plans to support non-POSIX shells and provide separate scripts for them.
<wirez>is there a tool for managing guix systems? like let's say you have 100 servers and don't wanna connect to each one to build
<roptat>there's guix deploy
<abcdw>YeetusDeletus: You can also take a look at https://git.sr.ht/~krevedkokun/dotfiles/tree/master/item/cfg/home/asgard.scm and https://git.sr.ht/~abcdw/rde/tree/master/item/rde/examples/abcdw/configs.scm#L68
<YeetusDeletus>abcdw: Oh, nice! Thanks for the help :)
<nckx>jackhill: You could run the *daemon* with HTTP substitute-urls. Either by modifying the service (not going to work if you're using Guix System, of course) or simply manually from a terminal.
<jackhill>nckx: so just `guix-daemon <opts>` from a root shell. Do I have to do anything in particular to give it a rw version of the store?
<nckx>Nope. I would add at least ‘--build-users-group guixbuild’ though.
<nckx>Otherwise it will still run but there's no advantage to running without it.
<tissevert>hi guix
<nckx>Hi!
<jackhill>nckx: thanks for the tip, I'll give it a spin when I have a chance. Can't make it worse, right? right? :)
<nckx>Well, make a back-up of your database, even though I fear it won't be worth much.
<nckx>But running the daemon by hand is not dangerous at all, no.
<YeetusDeletus>Welp, I've gotta run. Thanks for all the help civodul, roptat, yoctocell and abcdw!
<abcdw>YeetusDeletus: You are welcome!)
<abcdw>tissevert: Hi!
<tissevert>it's nice to feel always so welcome even though I don't contribute much to the discussions here : )
<abcdw>yoctocell: I sent a message to guix-maintainers about commit access, also cleaning up my email setup, so will be able to start sending a huge amount of patches soon)
<jackhill>nckx: running the daemon by and, and then --verify=repair fixed it. Woo!
<jackhill>I still say it was spooky!
<danialbehzadi[m]>Just sent my very first patch to guix-patches mailing list with `git send-email`. How is the proccess? How long will it take to be shown in the mailing list archive?
<nckx>Oh wow. I'm so very happy for you jackhill.
<nckx>…that sounded super-sarcastic didn't it. It wasn't.
<nckx>danialbehzadi[m]: Anything from minutes to hours, biased towards minutes.
<nckx>It's often blamed on moderation but IME the delay happens before that and could be anything: greylisting, overloaded mail server, batch jobbing…
<jackhill>nckx: no worries. I wasn't expecting it to work either
<nckx>‘Would you mind coming downstairs dear, I think the microwave exploded.’
*nckx AFK…
<abcdw>have a nice evening, guix!
<boeg>When trying to run the graphical installer, I choose "whole disk and encryption" and then press Ok to the suggestion partition layout and then get an error "No such file or directory: /dev/nvme0n1p1" Any idea what is up?
<civodul>boeg: hi! this looks like a bug
<boeg>right - I'm just trying to delete all partitions and trying a new
<boeg>give me a sec and see if it happens again
<civodul>if you can reproduce it, it'd be great if you could exfiltrate /var/log/messages and send it to bug-guix
<boeg>alright
<civodul>(it could contain personal info about your setup, so double-check)
<boeg>got it
<boeg>civodul: didn't happen this time
<boeg>sorry
<boeg>well, happy about it, but sorry I couldn't reproduce
<civodul>now we can pretend there's no bug :-)
<boeg>ha :P
<nckx>…it had not exploded, merely caught open flame. Drama queen.
<nckx>Aanyway: jackhill: Any clue what might've happened?
<tissevert>^^
<nckx>This isn't the first such reported bug. Why are NVMEs such a pain? Why aren't they completely normal block devices like SSDs are?
<nckx>Obvious questions from a person with 0 NVME drives. :)
<nckx>Are they zoned?
<jackhill>nckx: not really. I did have to reset the host a few times recently, but that was because it paniced during boot, so it shouldn't have been writing to the store or db at the time. ::shrug::
<jackhill>and btrfs should be crash safe… I know I've said a lot of "shoulds"…
<nckx>Regardless, it just isn't in practice.
<roptat>mh... the ci doesn't seem very reliable: https://ci.guix.gnu.org/build/625595/log/raw
<roptat>"cannot build missing derivation"
<nckx>jackhill: Did you nocow the database file to reduce fragmentation? That's generally good practice but I guess it could marginally increase the chances of things happening out of order on crash.
<nckx>If not, then of course never mind.
<jackhill>nope, I did not.
<nckx>Then I shall continue to invest in salt for every time someone says btrfs crashes well.
<jackhill>
<nckx>danialbehzadi[m]: Your mail landed in the moderation queue at 16:58 CEST.
<jackhill>to be fair to btrfs, it's really easy to misuse* the POSIX fs API
<efraim>OK, if I remove the ability to use alternate guix binaries and to use GUIX_BUILD_OPTIONS then I have a preliminary :GuixBuild foo'
<efraim>working in vim
<jackhill>*that is, subtlely not meet the invarients.
<jackhill>efraim: nice!
<efraim>I installed on my NVMe without encryption
<ixmpp>Encryption's odd. I dont like full disk encryption cause it means i cant have a fully automated startup
<dstolfa>ixmpp: i would really like laptop-focused encryption, which is tied to home folders and user login
<dstolfa>maybe at some point it can be achieved with guix home
<ixmpp>Probably
<ixmpp>I'd consider mounting sensitive paths from a luks encrypted btrfs or something
<dstolfa>yeah, that's what i do right now
<ixmpp>Ah neat
<ixmpp>I would too but i dont have enough data to warrant encrypting stuff
<dstolfa>i just have to do it for some stuff as per policy. it's honestly not even sensitive data but it's just policy that it always has to be in an encrypted drive lol
<ixmpp>Heh
<nckx>jackhill: Certainly true.
<danialbehzadi[m]><nckx "دانیال بهزادی: Your mail landed "> Should I do something about it?
<nckx>No? That's good.
<nckx>I just means I have no idea what it got up to before that.
<nckx>It should be in the archives by now. If not, very soon.
<tissevert>danialbehzadi[m]: if that's useful I got your mail to the guix-patches list in my mail client
<ixmpp>Good lord the guix package in AUR is a trainwreck
<ixmpp>Gonna install the nix one and install it that way 👀
<danialbehzadi[m]>tissevert: Thanks. I didn't get used to this system of contribution yet 😅
<tissevert>me neither before joining but I think it works well : )
<nckx>ixmpp: :(
<nckx>danialbehzadi[m]: http://issues.guix.gnu.org/49170
<ixmpp>Nyeh, used the standalone installer
<ixmpp>Its not for me anyway
<ixmpp>My partner's pc is manjaro
<ixmpp>Saving myself future headaches by setting up nix/guix now
<nckx><3 the wording like it just happened and you now have to respect the PC's identity.
<ixmpp>Haha
***o is now known as niko
***hrnz is now known as Henselierung
<Guest4947>Hello!
<Guest4947>I have just installed Guix from the first time
<Guest4947>I am not any expert
<Guest4947>How can I make Guix use my second screen?
<solene>Guest4947: like any linux system.
<solene>Guest4947: what desktop manager are you using?
<Guest4947>I have installed i3 and Mate. I use i3, but as I am not any expert I added Mate just in case it could help me sometime.
<Guest4947>I remember I used to run xrandr in order to configure i3
<Guest4947>So, should I start installing xrandr? Because it seems like it is not there
<roptat>Guest4947, yeah, install xrandr, then you can use it as you used to
<Guest4947>Ok, thank you!
<ruffni>civodul: `./pre-inst-env guix style` gives me "No such file or dir" errors. it's trying to open files from non-standard guix channels (which fails for some reason). (how) is it possible to work around?
***roptat is now known as roptat_
***roptat_ is now known as tyreunom_
***tyreunom_ is now known as tyreunom
***tyreunom is now known as roptat
<solene>Guest4947: I recommend you arandr which is a GUI for xrandr
<solene>it's quite easy to use and shouldn't pull much dependencies
<The_tubular>Dumb question, when I try to "clear" my terminal, it says command not found, I suppose it is not set on my path, if so, how can I set it ?
<leoprikler>install the command that has it (probably ncurses?)
<roptat>install ncurses
<roptat>or use ctrl+L
<leoprikler>s/command/package
<The_tubular>Well today I learn that clear was part of ncurses :P
<ruffni>+1
<solene>is there a way to know which package provide which file?
<ngz>solene: not yet, but there was some work in that area.
<solene>it could be possible to make a unknown-command hook that tell you which package you need to install when you try a command that is not installed
<solene>ngz: oh :(
<The_tubular>That was my next question solene!
<The_tubular>Yeap, that works! Thanks :)
<solene>I should have been positive in my message. "there are some work in that area" is a good news after all :-)
<Guest4947>Mmmmm. No luck with my second screen here... Guix still does not recognize it. xrandr only shows my laptop's.
<Guest4947>I tried with Mate. Same thing.
<ruffni>Guest4947: are you sure your hardware (incl. cables) work?
<Guest4947>Yes. I have just tried now with a different cable.
<solene>Guest4947: what hardware are you using?
<ngz>solene: and I should have written: there _is_ some work in that area ;)
<solene>as Guix doesn't provide proprietary drivers, it may not works with the open source driver
<solene>ngz: GOOD ! :D
<Guest4947>Everything I use should work. I come from Trisquel, and everything worked ok without any proprietary stuff.
<ixmpp>Wouldnt be sure
<ixmpp>You probably need firmware
<ixmpp>Which is 🅘🅛🅛🅔🅖🅐🅛 to discuss here
<roptat>well, trisquel follows the fsdg, so it should work without proprietary software
<ixmpp>Ah okay
<ixmpp>Thought it was an arch fork
<ixmpp>What am i thinking of then...
<Guest4947>It's an Ubuntu fork
<roptat>I don't know, but it's one of the distros recommended on gnu.org
<solene>Guest4947: arandr reports nothing except your current screen?
<roptat>is there anything relevant in the logs?
<Guest4947>Yes, it only reports my laptops screen.
<Guest4947>That's a good question. How do I check logs here?
<Guest4947>I think this does not use systemd, so I guess there is no journalctl either
<tricon>Guest4947: May check dmesg and see if there is anything relevant there.
<solene>Guest4947: could you try restarting X with the cable plugged if it wasn't the case?
<roptat>there's /var/log/messages
<Guest4947>Thank you for all your inputs!
<Guest4947>I will check tomorrow, I must go now.
<Guest4947>But before leaving... another question: When booting, how can I enter again the passphrase (encrypted partition) if I entered it wrong?
<Guest4947>I am not asked to enter it again. I have to reboot
<solene>Guest4947: I see I'm not the only person with that bug :D I want to know the answer.
<solene>Guest4947: at the grub step?
<tricon>Ah, it is this:
<tricon> cryptmount <path>
<tricon>Whoops.
<tricon>To re-enter pass for a LUKS partition:
<tricon>cryptomount hdd,part
<tricon>insmod normal
<tricon>normal
***xgqtd is now known as xgqt
<tricon>Example for the first part is: cryptomount (hd0,gpt2)
<tricon>You'll see the hdd and part when asked for the pass the first time.
<tricon>insmod normal; normal continues booting
<Guest4947>Thank you! Bye!
<nckx>I wonder if (GRUB) upstream considers this a bug. It's weird behaviour.
<solene>it's even more fun when not using qwerty layout. Grub is in qwerty and LUKS uses your layout
<dstolfa>yeah... i found this out the hard way
<solene>dstolfa: like using accents and then rebooting and figure out you can't type your password? :)
<dstolfa>solene: nope, but similar. i use colemak and i kept typing my password with that layout :D
<tricon>I use Dvorak and I have to enter the LUKS pw in QWERTY for Grub, then again in Dvorak for Guix. Keeps ya spry!
<ixmpp>Lmao
<ixmpp>I used to hotswap between qwerty and dvorak intentionally in emacs
<tricon>ixmpp: Did you do that due to keybindings?
<ixmpp>Dvorak for entering text, qwerty for keybindings and entering commands
<Henselierung>that's horrible
<ixmpp>I know :D
<ixmpp>I loved it
<Henselierung>have you considered just installing evil-mode?
<ixmpp>I use it
<ixmpp>It's kinda irrelevant?
<tricon>"I know :D; I loved it" - That made me LOL.
<tricon>I've been slowly moving towards spatial keybindings over mnemonics and hierarchical. "HJKL" being a good example of spatial, though I don't use evil.
<ixmpp>I started out on vim years back, so rewriting my muscle memory to dvorak would be insanity, so i figured i'd go split brain, and that way no chance of forgetting qwerty either (this time)
<roptat>mh, now I use .pbo
<tricon>Definitely glad I learned Dvorak many moons ago, but now I'm intruiged by steno; but I fear the learning curve. Would be nice for lit. programming.
<The_tubular>I have another question, here it is : You know in system.scm you are suppose to define a file system that mounts to a device right ?
<The_tubular>that points to a device *
<roptat>(which is hjkl, converted to qwerty ^^')
<roptat>my brain doesn't have any trouble finding these keys, it feels natural
<roptat>even though it's completely stupid
<The_tubular>I have multiple hard drives on my systerm, what if one dies and like /dev/sdb becomes /dev/sda without me knowing, will it wipe all my first drive if I make an update ?
<ixmpp>I use vim/evil on my phone too, so i need to retain the mnemonics too
<ixmpp>The_tubular: Use uuids
<ixmpp>Or labels
<The_tubular>They are supported in the .scm file ?
<roptat>The_tubular, no, guix only use that to mount the file systems, not to create them, so you won't loose anything
<roptat>and yes, use uuids
<The_tubular>Aight, I didn't see they were supported online, guess I just have to read "harder" :P
<roptat>see https://guix.gnu.org/manual/devel/en/html_node/File-Systems.html
<roptat>there's an example a bit below
<roptat>(device (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))
<The_tubular>Thanks, not that I got WSL working I'll be installing guix on baremetal!
<The_tubular>Also, I'm not sure I understand what exactly guix container does
<The_tubular>Let's say compared to docker
<The_tubular>Is guix container just a chroot that you can mount somehwere ?
<cbaines>assuming your question relates to the guix system container, a script is generated which starts the shepherd in a "container" (different set of namespaces)
<The_tubular>So it's like a chroot ?
<The_tubular>How would I go if I want to pass files from my host system to the name space ?
<The_tubular>Or bind a port on my host with a port in the container ? Kind of like in docker
<cbaines>it's like a chroot, in that a different mount namespace is used
<cbaines>the --share and --expose options allow sharing files
<cbaines>currently the only network related option provided is whether to share the hosts network, or not
<The_tubular>Good, port isn't necessary for my use case, but files definitely are!
<The_tubular>Is the tool mature enough to replace docker with ?
<The_tubular>Well namespace are i'm more talking about how guix generate it
<cbaines>I've used guix system containers in place of Docker, I'm not sure if that's a measure of maturity though, especially since I dislike aspects of the way Docker works
<apteryx>The_tubular: I've used guix containers (via guix environment -C) in place of Docker in some places. One such example is used in production to generate the jami source tarball (which comes with 3rd library tarballs) without any interference from the host: https://git.jami.net/savoirfairelinux/ring-project/-/blob/master/Makefile#L83
<apteryx>it's a simple example, though.
<The_tubular>I'll check it out. My end goal is to replace docker with guix though ^^
<ixmpp>The_tubular: a noble mission
<ixmpp>I, too, despise docker
<vldn>hi :) anybody know if it's possible to use the prebuilt kernel from debian?
<vldn>and when.. how? :D
<ixmpp>^ speaking of, it'd be nice to have a tidy way to edit kernel config variables
<ixmpp>Not even IKCONFIG is enabled!
***Xe_ is now known as Xe
<nckx>IKCONFIG is an abomination.
<efraim>... I got '-L /path/to/repo --no-grafts' working (but not '--no-grafts -L /path/to/repo) BUT it eats the first package build request
<efraim>:GuixBuild hello hello hello returns only 2 hellos
<ixmpp>nckx; what
<ixmpp>how on earth do you arrive to that conclusion
<lispmacs>how did the rust compiler get so huge? I decided to rebuild my system from source, and I have been building rust for the last two days
<nckx>You load a compressed text file into kernel memory so you can read it back from user space. It's not really a conclusion, it just is.
<nckx>*as root, just for extra fun.
<ixmpp>nckx; and how do you propose to get that data without that text file?
<nckx>I'm not sure how to answer that. Read it from the configuration file.
<ixmpp>that may be accurate for guix, but for any other situation, or for a kernel you don't know the provenance of, that's impossible
<lispmacs>there must be like 37 million rust tests.
<ixmpp>(and in fact, i struggled to do it even from guix)
<nckx>ixmpp: To be clear, putting the .config in the module directory is not an abomination. Loading it into kernel memory just to read it is.
<ixmpp>has there been any history of memory exploits based on text data loaded in to kernel memory?
<ixmpp>(i.e. is that actually even remotely a warranted concern)
<nckx>I don't see why that would be warranted ixmpp.
<nckx>Seems a bit paranoid.
<ixmpp>that's what i was gonna say :p
*nckx forced to /quit against their will.
<nckx>Avenge meee
<ixmpp>huh
<jackhill>Hi, if I have a .config/guix/channels.scm, is there a way to tell guix pull to ignore it and just build the default channels (temporarily)?
<efraim>perhaps 'guix pull -C /dev/null'
<jackhill>efraim: I thought so to, but it doesn't like that: guix pull: error: '/dev/null' did not return a list of channels
<jackhill>maybe we want it to work like that though :)
<jackhill>Actually an explicit option would be better, so we don't have guix do an unexpected thing if folks happen to point -C at the wrong file.
***TheCreeper1 is now known as TheCreeper
<The_tubular>Anyone uses Guix as their firewall ?
<jackhill>raghavgururajan: I can't test gajim from staging becasue python-sphinx fails its tests. Build log: https://jackhill.us/misc/c5ifnx3sagmpvciidxrfv67msx5k80-python-sphinx-3.5.2.drv.bz2 Guix describe: https://paste.debian.net/1202075/
<ixmpp>The_tubular; i have nftables
<ixmpp>hey, is there by chance anywhere an (inferior-package->package)
<ixmpp>because i have the slight issue that now i want to pass an inferior-package to a slot that accepts package
<ixmpp>and for some reason, that doesn't seem to be allowed!
<ixmpp>while people who might be able to answer that are waking up, i'm going to ghetto a nasty solution myself using copy-build-system so i have something that works, and as incentive for y'all to help
<lispmacs[work]>hi, I am trying out building all my system and user packages without substitutes. On some of the larger builds keep getting killed, apparently due to memory exhaustion. I've got 8 GBs of memory and only about 4GBs of that is used by the the system, the DE, and the other applications. Is 4GB really not enough to build some packages, or do I need to tweak some system parameter to give processes access to more memory..
<lispmacs[work]>.?
<apfel>hi there, what makes emacs prettify scheme files from /gnu/store? For example /gnu/store/...-boot will be prettified, but a copy of this file will not be prettyfied. Is there some default guix module responsible for this? There is nothing special in find-file-hook, any ideas? I like this feature, but i want to know where it comes from.
<ngz>apfel: Hello. This is done with guix-prettify.el library.
<apfel>ngz: hm, this does not look like its correct. This mode only shortens the file names by replacing hashes with '...'. I am talking about generated scheme files, when i open them in emacs.