IRC channel logs

2020-12-23.log

back to list of logs

<bqv>Where do you guys keep your configs?
<bqv>Its so hard to find examples
<joshuaBPMan>Hey guix! Thanks for adding LVM support! That's awesome!
<profmakx>so, I have been playing with guix system container a bit; do people use them with namespaced networking at all? how do you set that up?
<profmakx>and: if i want to persist things suh as the ssh host keys, is there a way (tm) to do that?
<profmakx>(or what way do people use)
<rekado_>mbakke: okay, tomorrow I’ll rebase wip-texlive on top of core-updates and push it there
<dftxbs3e>bqv, locally I believe, not many people share their configs, though some do
<bqv>dftxbs3e: thats a major shame
<bqv>Inspiration would be lovely
<ekaitz[m]>bqv: I remember a repo of someone with tons of configs
<ekaitz[m]>bqv: let me check the mailing list because I'm sure it was shared there while talking about self-hosting email setup
<bqv>Ah ok
<ekaitz[m]>bqv: https://framagit.org/tyreunom/system-configuration/-/tree/master
<ekaitz[m]>bqv: probably is made by someone you can find in this channel
<bqv>That's a *very* cool repo. Thanks ekaitz[m]
<ekaitz[m]>yeah it's crazy cool
<ekaitz[m]>thank the author, not me :)
<bqv>:D
<ekaitz[m]>and thank you for reminding me because I needed a reference for my own things and when you asked a question something clicked in my brain
<ekaitz[m]>:)
<bqv>Ah fair, np. I was looking cause I wanted a developed example I could compare to my nix config (github bqv/nixrc)
<bqv>That one's better than I hoped
<ekaitz[m]>;)
<bqv>Followup question :p is there a common way to "lustrate"/infect a system from random linux to guix?
<lfam>bqv: `guix system init` is used to install Guix System
<bqv>Oh that's it? Wonderful, ha
<lfam>bqv: It has some required arguments. Namely, the location of your config.scm, which contains the "operating system declaration"
<bqv>So I'll have to fashion one of those first.. ok
<lfam>There are some examples here: <https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples>
<lfam>They do require some adjustments, but they will give you the basics
<lfam>There might be some hiccups dealing with user and group IDs after the transition, especially relating to ownership of the files in /home. But you can do `chown -R [...]` to fix it. It's just something to be aware of
<bqv>Mmm, I see. Is there a way to make my system use musl?
<bqv>I'm extremely space constrained
<dftxbs3e>bqv, I think you'd be better served with Adelie Linux or Alpine Linux in that case
<bqv>The laptop is currently using void
<lfam>Agreed. Guix is really tied to glibc, being a GNU project
<bqv>Ah, ok
<bqv>Well, as long as it fits, I have nothing against glibc
<bqv>Musl's just thinner
<lfam>Yes, it's true. It's been discussed before, I don't recall the conclusions of the discussion
<mbakke>rekado_: great, thanks
<mbakke>rekado_: so the branch was already complete, just forgotten?
<dftxbs3e>bqv, Glibc is a shared library so it doesnt take space twice but GNU Guix can be made quite thin given light configuration. But that's probably not GNU Guix focus to optimize on disk size now. There's quite a few needless duplicates of packages references around the place.
<mbakke>it will likely conflict massively with my TeX Live 2020 work, but I guess there's no way around it
<dftxbs3e>bqv, rather than optimize to have a single thin version of every package, GNU Guix some times builds multiple versions of packages with multiple compile/else options so they fit better to where they are used.
<lfam>I agree with dftxbs3e. Although Guix has tools for profiling disk usage and we don't intend to waste space, it's no lightweight in terms of space usage
<bqv>Hmm. Would it be unreasonable to try and fit it on a 32G MMC?
<mbakke>there's quite a lot of room for improvement in disk space usage, it would be great with more work in that area
<dftxbs3e>bqv, no 32G is fine
<dftxbs3e>If you guix gc often and don't have too many packages installed 32G will be more than fine
<bqv>Ah, restraint, my one weakness :D
<dftxbs3e>bqv, /dev/mapper/cryptroot 477G 27G 450G 6% /
<dftxbs3e>my laptop
<dftxbs3e>and I don't try to optimize for size
<dftxbs3e>27G used
<dftxbs3e>I guix gc'd recently
<bqv>Do use a DE/WM?
<dftxbs3e>bqv, yes, I have GNOME
<bqv>Huh, ok
<dftxbs3e>bqv, I also have btrfs zstd compression enabled but not sure it counts in these stats
<bqv>Oh, how convenient, I'm on btrfs
<joshuaBPMan>hmmm, i just installed docker (trying to set up a AGPL web app with bundled js that is not buildable from source).
<joshuaBPMan>guix package -i docker
<joshuaBPMan>which docker says I do not have it installed
<joshuaBPMan>sudo which docker says I do not have docker installed.
<joshuaBPMan>Am I missing something?
<dftxbs3e>joshuaBPMan, Try: hash -r
<joshuaBPMan>ahhh thanks.
<dftxbs3e>also you need the docker service for it to work AIUI, so look that up in the manual
<joshuaBPMan>dftxbs3e: oh. Thanks for explaining that!
<dftxbs3e>joshuaBPMan, "hash -r" refreshes the programs found with PATH AFAICT, otherwise you'd have to restart your shell
<joshuaBPMan>thanks for the tips.
***jakelp is now known as surpador
<bqv>Has anyone tried using hurd for a full system?
<mbakke>bqv: there is a system service for running a full GNU/Hurd system :)
<mbakke>(in a virtual machine, not sure if anyone runs it on actual hardware)
<bqv>Yeah, I meant on hardware
<bqv>I know it runs in vms :p
<mbakke>I've seen the Hurd on an old Thinkpad (x60 maybe?) at FOSDEM, so it should be possible
<bqv>Perhaps its too finnicky to consider for casual use...
<mbakke>there are many packages that don't build yet, but making it your daily driver should be a great incentive to fix those :P
<bqv>I can't guarantee to have the man or will power, this is my side laptop, I use it every week or so :)
<bqv>I have also just realised it might be an issue anyway, its a chromebook so needs some spooky drivers
<mbakke>right, could be tricky
<bqv>Would the guix utils allow me to install the system, leaving my previous one untouched? So I can revert if it fails?
<Gooberpatrol66>you could probably install it in another partition, and boot that from grub
<bqv>Actually, that might just work. It is btrfs after all
<bqv>Then its just space constraints
<Gooberpatrol66>hurd can only read ext2fs right now, so even theoretically it couldn't be done from the same filesystem unless you used ext2
<bqv>Ah no worries, I was just curious with the hurd thing
<bqv>Ill use linux
<Gooberpatrol66>but yeah it would work if you formatted a partition as ext2
<bqv> /join #lisp
<bqv>..excuse me
<zamfofex>bqv: I tried, and it seemed to work, but there appears to be a packaging issue that prevents network from being usable.
<zamfofex>I could probably boot it right now, even, I still have it installed.
<bqv>Oh?
<bqv>Tried what? Sorry, I've said a lot :p
<bqv>zamfofex: hurd? Or guix on a chromebook
<zamfofex>Guix with Hurd on actual hardware.
<BlackMug>why it says ssh-keygen when first time starting guix for installation? (why there is even an ssh in guix)
<zamfofex>bqv: See https://imgur.com/0pe7TcW
<bqv>Huh cool
<bqv>Bleh, guix system on that laptop seems to be a pipe dream
<bqv>But I do still really wish to use guix consistently somewhere.
<bqv>does guix allow import-from-derivation?
<bqv>e.g. a derivation which produces more config, which is then imported for eval
<wleslie>zamfofex: nice. I guess youpi isn't aware that dpkg-reconfigure isn't quite going to work for you, though. did you discuss with them on IRC?
<mbakke>bqv: why is guix system on the chromebook a pipe dream?
<zamfofex>wleslie: How is `dpkg-reconfigure` related to Guix? 🤔
<bqv>mbakke: the driver issue, I can't get the usb system image to boot, so i don't think it's worth trying to squeeze a live system on to test
<mbakke>bqv: can you boot other GNU/Linux distributions?
<bqv>yup, void works, of course
<bqv>well, my hacked void
<wleslie>zamfofex: oh, it wasn't you who asked the question about not being able to use the network on real hardware on the debian-hurd list?
<bqv>using the galliumOS modifications
<wleslie>for some reason I thought Samuel replied, but no
<mbakke>bqv: I'm sure you can hack Guix accordingly :-)
<zamfofex>wleslie: No, it wasn’t me. I don’t generally frequent mailing lists.
<bqv>entirely possible, but extremely less convenient due to the whole nonfree thing, and i can't guarantee that i'll be able to so i'd rather not risk deleting things
<c4droid>Hi, I set my lvm-device-mapping for my disk, one for root, one for swap, when I set swap-devices to my lvm swap partition and reconfigure my system, guix report my lvm swap partition which is not provided by any service.
<wleslie>zamfofex: do you have the netdde translator set?
<bqv>mbakke: my other option is to replace some of my use of home-manager with guix, the only downside of which would be the decrease in amount of "config unity". That would however be a non issue if i could use IFD to eval parts of my nix config and import the values into guix, even if that's a bit horrifying
<c4droid>The swap-devices can be lvm partition?
<mbakke>bqv: I see. FWIW Guix does not prevent you from running nonfree drivers or whatever, it just does not come with any.
<mbakke>bqv: perhaps a good start could be guix-home-manager ;-) https://framagit.org/tyreunom/guix-home-manager
<bqv>this tyreunom guy seems like a real wizard, that's the second of his repos i've been linked today :D
<mbakke>roptat is indeed a wizard :-)
<bqv>I think i will attempt that instead. in fact, I don't even need IFD if i use nix to generate the guix config itself, and then have a service to build and activate it
<mbakke>heh, fancy
<c4droid>Emm..
<bqv>fancy would probably be the polite adjective for it... i reckon most other people would go for "cursed"
<clone11>I'm getting segfaults on emacs -q after updating today. Is this happening to anyone else?
<bqv>one aspect of hurd i absolutely love is "translators", and even now i can think of a use for them. I have guix installed on this machine in "rootless" mode, so everything that uses /gnu needs to be run in a namespace wrapper script, which means i can't just add stuff to PATH and expect it to work. It would be nice to be able to do that wrapping automatically by some kind of mount, rather than have to
<bqv>traverse a tree and do it with a script
<blendergeek>I know that the "Guix way" of configuring my system is through config.scm. Do I have to specify my printers that way as well? Or can I add those through the good old-fashioned CUPS tools?
<blendergeek>Well, I tried adding it the "normal" way using system-config-printer, and I get this error: Printer 'EPSON-ET-4700-Series' requires the '/gnu/store/<hash>-cups-2.3.3/lib/cups/filter/epson-escpr-wrapper' program but it is not currently installed. Please install before using this printer.
<Gooberpatrol66> https://bug-guix.gnu.narkive.com/827pPqsC/how-to-adjust-pkg-config-path
<Gooberpatrol66>According to this, if you put a package in inputs, its .pc file gets added to PKG_CONFIG_PATH, but it's not working for me
<Gooberpatrol66>I put util-linux in inputs, but it's not appearing
<Gooberpatrol66>environment variable `PKG_CONFIG_PATH' set to `/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib/pkgconfig'
<Gooberpatrol66>in the build log
<ryanprior>Hey Guix! I've updated the protonvpn-cli package to use a wrapper, so now it doesn't propagate any packages! Yay.
<ryanprior>I ran into a hitch when wrapping the program the same way it's typically done didn't work. I was getting a "bad interpreter" error from the kernel when I ran the program.
<ryanprior>Digging into it, I discovered it's because the program was double-wrapped, and the second wrapping garbled the work done by the first wrapping.
<ryanprior>I discovered this is because the python-build-system automatically wraps things for you.
<ryanprior>And from my searching in gnu/packages/python-* sources, there isn't much explicit wrapping in python land.
<ryanprior>So y'all know me, I decided to try the dumbest possible thing first: I wrapped the wrapper. Works fine.
<ryanprior>But you end up with a situation where you call protonvpn, which sets PYTHONPATH and calls .protonvpn-real, which sets PATH and calls ..protonvpn-real-real
<ryanprior>And, in the build output we have a "wrap" phase and then a "wrap-wrapper" phase X.X
<ryanprior>So please give me your advice and thoughts guix! Is my dumb solution that works thus not dumb, and I should ship it?
<ryanprior>Or is there a better way of composing wrappers so that I'm not creating this billiards game situation?
<ryanprior>I'm gonna sign off for now so I went ahead and sent the patch & a version of this question to the list: https://issues.guix.gnu.org/45284
<mroh>clone11: I think, this happens mostly because of missing fonts.
<clone11>Emacs segfaults? I have dejavu, fira code, freefont, and unifont
<pinoaffe>clone11: about a week ago, my emacs would launch when launched graphically, running fc-cache -fv fixed it
<clone11>that fixed it, thanks
<jlicht>hey guix!
<mroh>hey jlicht!
*raghavgururajan peeps in
<raghavgururajan>Hello Guix!
<cbaines>morning o/
<ngz>Hello folks.
<cbaines>Hey :)
<cbaines>I think the guix-patches build coordinator has build most of the ungrafting branch (for x86_64-linux), so this should be a pretty complete list of things that have broken on that branch compared to master https://data.guix-patches.cbaines.net/compare-by-datetime/package-derivations?base_branch=master&base_datetime=2020-12-23+09%3A59%3A34&target_branch=ungrafting&target_datetime=2020-12-23+09%3A59%3A34&build_change=broken&after_name=
<cbaines>&limit_results=&all_results=on
<cbaines>I need to look at how #reproducible-builds handle testing in the future, bitcoin-unlimited has a testsuite bug that means it currently fails to build, and that could have been detected by building it "in the future"
*raghavgururajan bootstraps guix on trisquel
<raghavgururajan>Folks, when I do `guix environment guix --pure --ad-hoc guix` on trisquel, I get this error/warning https://paste.debian.net/plain/1178051
<raghavgururajan>Why is that?
<cbaines>I think I ended up discussing this with apteryx recently, I think it's due to the systemwide bashrc config
<raghavgururajan>I see.
<cbaines> http://logs.guix.gnu.org/guix/2020-12-21.log#161008
<raghavgururajan>Would this case an issue or can be ignored?
<raghavgururajan>Ah thanks
<cbaines>Well, the error indicates that whatever lesspipe would do probably isn't going to happen
<raghavgururajan>Cool!
<rekado>mbakke: I rebased wip-texlive on top of core-updates and merged it, but I can’t build core-updates.
<rekado>I’m in an environment with “./pre-inst-env guix environment guix”, but when I run “make” I get this error:
<rekado>error: failed to load '/gnu/store/ahcd8cqzdl1p92bcrw842is18rfb29n5-profile/share/guile/site/3.0/git.scm': Function not implemented
*rekado tries again with “guix environment guix” from the master branch
<PotentialUser-81>I can't boot the installation image of Guix System. Here is an image of the boot output: https://imgur.com/a/EhFcMQ5
<PotentialUser-81>Also maybe worth noting: I installed the .iso and .sig files from the website instead of using wget like it is described in the manual
<cbaines>I'm going to try and investigate what's going on with the staging evaluations on berlin, I can see the relevant processes...
<cbaines>Hmm, I'm going to try restarting it
<cbaines>Well, now the evaluations are listed as aborted rather than processing, so restarting seems unhelpful :(
<rekado>mbakke: pushed!
<rekado>(and I deleted wip-texlive)
<mroh>\o/
<cbaines>Is building (current-guix) not from a checkout something that should work?
<cbaines>guix build -e "((@ (gnu packages package-management) current-guix))"
<cbaines>It fails for me in the disable-failing-tests phase
<blendergeek>I got printing working! Thanks for the help people!
<mbakke>rekado: yay! did you manage to build texlive dependents too, e.g. mit-scheme or discrover?
*mbakke has been struggling with the latter for some days
*janneke resurrects mes-0.19 support in mes wip
<janneke>iwbn if the x86 bootstrap still worked without touching bootstrap binaries
<rekado>mbakke: uhm, no. Looks like my patch to make bootstrap scripts configurable broke everything.
<rekado>looks like a missing quote somewhere
***SeasonsBeatings is now known as grumble
<vldn>is there something to show service definitions on cli ? like man configuration.nix in nixos?
<rekado>vldn: guix system search .
<vldn>yes it shows the services and where they are defined but not the set-able options within the services is there another command for this or do i have to cat the service definition?
<cbaines>at the moment, the normal way of finding out how to use a service is the documentation, that should list all the options
<vldn>okay :) ty
<vldn>would be handy to append a option like --full or something to guix system search and show all options there
<vldn>or isn't there a command that could describe definitions in scm files?
<cbaines>not that I'm aware of
<roptat>I think we would need to type the configuration: right now, you could pass 1, #f, or the proper record type without guile noticing, it would only fail when building the configuration file
<roptat>if we did that, we would know what type of configuration a service is expecting, so we could display that info
<roptat>the best we can do is assume foo-service-type requires a foo-configuration record type, but that's not necessarily the case
<cybersyn>hi guix, GewaltDisney here, i updated my username because that one was over a decade old
<cybersyn>not that i've been terribly active here, but just to note
<dftxbs3e>hey, I just had an idea, wouldnt it be interesting to have a desktop or command line application launcher that naturally compiles programs as needed? Say someone asks for command "dig" but it's not installed, instead of being met with an error GNU Guix spawns an environment with it inside and runs it, same thing for both desktop and command line, then the built things will get deleted on next "guix gc"
<dftxbs3e>We often use commands only a single or few times and then never again, installing packages over and over is taking up disk space unnecessarily then
<dftxbs3e>guix environment --ad-hoc bind:utils -- dig
<dftxbs3e>that could be a command-not-found hook (like Fedora does) or otherwise some desktop launcher app you'd use
<dftxbs3e>the GNU Guix data service could create metadata archives for all programs each package makes available in PATH (by name)
<dftxbs3e>and somehow users could have a copy of that metadata set, for each and every GNU Guix revision (more or less)
<dftxbs3e>to have a program name -> package name mapping
<dftxbs3e>Extending functional model to how you use applications day to day (lazily compile then garbage collect)
<pinoaffe>dftxbs3e: while it could be done, doing something like debian does (suggesting packages) seems like a better idea, if need be you can prompt the user whether they want to open an environment where said package is available
<pinoaffe>however, afaik guix doesn't have a list of which packages provide which executables (yet), so it'd take a while to implement
<dftxbs3e>pinoaffe, yes of course it would have to ask since there could be name conflicts
<no-username-3210>Hello ! Is anyone here know how i can download ALL (all i installed) of packages in some kind of "local repo" to have all software i need on my home-server ? (without need to have internet connection for installing software (that i allredy have) , on other guix workstation in local network)
<dftxbs3e>no-username-3210, you can run as root: herd discover guix-daemon on
<dftxbs3e>it will allow other machines in the same LAN to access the local /gnu/store
<dftxbs3e>You need to enable discover on machines you need the access on, and you need to "publish" on the machine that has it all downloaded already: https://guix.gnu.org/manual/en/guix.html#Invoking-guix-publish
<dftxbs3e>guix publish --advertise
<dftxbs3e>mDNS needs to work properly on all the machines involved
<dftxbs3e>Documentation section where "discover" option is documented: https://guix.gnu.org/manual/en/guix.html#Invoking-guix_002ddaemon
<cbaines>dftxbs3e, I've pushed some updates if you want to update your Guix Build Coordinator agent
<cbaines>by default, the agent check's the 1 minute load average, and won't start new builds if it exceeds (processors - 1)
<cbaines>I think I've also addressed some issues with the allocation planning, which means more builds are happening
<jgibbons[m]>guix publish only launches the server?
<cbaines>jgibbons[m], that sounds right
***sneek_ is now known as sneek
<dongcarl>Trying to understand the intricacies of GUIX_LOCPATH, please let me know where I'm wrong: GUIX_LOCPATH is used by packages installed via Guix and Guix itself... So here's my question: why doesn't `guix environment --container --pure` set GUIX_LOCPATH?
<cbaines>dongcarl, there are some packages that declare that search path, glibc being one
<cbaines>I think there's an open issue where search path handling is dependent on the packages directly in a profile, rather than all of them
<dongcarl>cbaines: I'm running `guix environment --container --pure --ad-hoc glibc coreutils -- env | grep LOCPATH` and I don't see it, was this recently added or am I misunderstanding?
<cbaines>dongcarl, I guess a search path isn't set if it's going to be empty, try guix environment --ad-hoc glibc glibc-locales --search-paths
<dongcarl>Ah I see!
<cbaines>specifically, none of the packages in your profile include lib/locale
<dongcarl>That's very helpful thank you
<dongcarl>I guess I'm wondering how my manifest worked without the glibc-locales installed in the first place
<dongcarl>I feel like locales are such basic things that everything would have broken, but apparently it worked fine?
<dongcarl>Does glibc have a sane fallback if GUIX_LOCPATH was not set?
<dongcarl>s/glibc/guix-built glibc/g
<cbaines>I'm unsure
<cbaines>Here's the open issue I referenced http://issues.guix.info/22138
<dongcarl>cbaines: Many thanks!
<lispmacs[work]>hi, I see in the info docs that there is a system keyboard layout option for ctrl:nocaps. Is there one for swapping caps for ctrl? I'm having trouble finding the list of options in info or in source
<lispmacs[work]>oh, hmm, looks like the options are listed in a package
<lispmacs[work]>looks like ctrl:swapcaps is what I'm looking for
<lispmacs[work]>I'm trying to run guix system reconfigure without my network cable attached: guix dies because it can't reach git.savannah.gnu.org
<lispmacs[work]>I presume that is to check how old my guix is
<lispmacs[work]>can I tell it to skip that?
<lispmacs[work]>looks like check-forward-update throws an exception
<civodul>lispmacs[work]: hi! could you paste the command and its output?
<lfam>Does anyone have a rough idea of the resources needed to compile qtwebkit? Is it one of those packages that requires a huge amount of RAM