IRC channel logs

2022-12-14.log

back to list of logs

<mitchell>Hello guix, Does anyone know how I can do package substitution on g-expressions? Specifically I want to modify the cryptsetup package used by the luks-device-mapping.
<mekeor[m]>TIL polkit rules are written in javascript (and evaluated with mozillas javascript-engine "spidermonkey"). how ugly to use javascript for auth :(
<mekeor[m]>mitchell: as a scheme/guile noob, i wonder, if you could simply wrap your (operating system) into a (let ((cryptsetup MY_CUSTOM_CRYPTSETUP))). i guess, it won't work.
<mekeor[m]>i just tried that scenario in a guile repl. it did not work indeed :)
<lechner>apteryx / hi, i reconfigure that node all the time, but i don't reboot often because the static networking messes up the consuming services. should i restart mcron?
<rekado>I just realized that 389-ds-base provides no way to update a directory server instance’s configuration
<rekado>you can only create it from scratch
<lechner>sounds declarative
<rekado>or update individual values one by one
<lechner>mitchell / you can try something like (set! cryptsetup ...) but that's never worked for me.
<rekado>lechner: but an instance is a database; removing it destroys all data stored in it.
<rekado>it’s as if we had a postgresql system service that would wipe the database on each reconfigure.
<rekado>the whole thing is also stateful
<lechner>oh sorry, i made an openldap type distinction between db 1 and 2 (one holds the "configuration" and the other the directory data)
<lechner>0 and 1
<rekado>e.g. all instances are written to /etc/dirsrv/registry
<rekado>not sure if I can make this declarative by moving things into /gnu/store
<lechner>how about ldif?
<rekado>dscreate doesn’t accept it
<lechner>389 does not have a slapadd?
<rekado>no
<rekado>I think you can add records from ldif files, but not the instance config
<lechner>how about slapcat?
<rekado>also no
<rekado>you can print the whole config with “dsconf instance-name config get”
<lechner>rekado / how is updating an instance's configuration different from updating records?
<rekado>different configuration file formats and property names
<rekado>the problem is merely that there’s no built-in way to migrate an instance to a new configuration
<rekado>and I don’t feel like we should aim to do stateful operations as part of the system service
<rekado>maybe it should just do nothing but print a warning when an instance of the given name already exists
<rekado>let the user figure out what to do about it
<rekado>(delete it, back up the records, etc)
<lechner>mitchell / the cryptsetup variable does not appear to be parameterized in gnu/system/mapped-devices.scm. i face a similar issue with xkb-config for the keyboard configuration
<lechner>rekado / ideally, we would have our own directory server, perhaps called Shelter, that rewrites the operating system declaration for future deployment
<rekado>wat
<rekado>we seem to have a disagreemetn about the meaning of the word “ideally” :)
<rekado>ACTION –> zzzZ
<nckx>rekado: Bummer about the SSDs, but at least it makes things simple.
<lechner>they are broken?
<nckx>Yeah.
<nckx>ACTION also → 😴💤
<nckx>But with 659% more Unicode.
<jlicht>should a package generally look for polkit actions in its own output, or rather in some (services-configured) /etc/... location?
<Guest51>Guix does not mount cd drives.
<Guest51>if I try to do it manually it will prompt me mount: /mnt/cdrom can't find in /etc/fstab
<nckx>That should happen only if you don't specify the device to mount, or didn't add a device to your file-systems field.
<nckx>(It sounds like you're just running ‘mount /mnt/cdrom’, say. There's no way the system can know what you want mounted there without you telling it somehow. That's not related to Guix.)
<nckx>It's been many years since I've touched a CD drive but I believe they're called /dev/sr0 or so… You can add that to your ‘mount’ invocation, or add something like (file-system (device "/dev/sr0") (type "iso9660") (mount-point "/mnt/cdrom") (mount? #f) (create-mount-point? #t)) [untested] to your file-systems.
<nckx>ACTION AFK.
<jgart[m]>Hi, do home shepherd home services run on foreign distros like debian/ubuntu?
<lechner>Guest51 / you may have to be part of the 'cdrom' group https://codeberg.org/lechner/system-config/src/commit/d7d6d8abedb529825374043e154eaa2f9370b6e2/users.scm#L8-L9
<apteryx>lechner: yes you can simply restart mcron
<Guest51>@nckx I am kindie newbie in guix.  I have solved wıth my solutıon wıth udısk
<nckx>Awesomesauce.
<nckx>jgart[m]: Nein.
<nckx>Ugh, missed the ‘home’.
<Guest51>Also a stupid question can I install 'guix' on 'real hardware'. Will binary blobs result in some problem ?
<lechner>apteryx / i did, and the spurious entries disappeared. thanks!
<lechner>Guest51 / I run Guix only on "real" hardware, and on all of it---except my router
<nckx>Same.
<nckx>I don't have any hardware that requires blobs though.
<lechner>but do you consume microcode updates?
<nckx>Only on weekends.
<apteryx>ACTION tries the 1.4.0rc2 guix-install.sh along teh guix-binary-1.4.0rc2.armhf-linux.tar.xz on a buildroot armv7 machine
<apteryx>so far I've had to guix pack a bunch of stuff to help it, such as gpg, getent from glibc, groupadd from shadow
<apteryx>also GNU tar, because busybox tar was throwing tar: invalid tar magic
<apteryx>then hack the install script because I have /gnu and I don't want it to warn me (these are my packs...)
<apteryx>currently failing at: [1670993830.%3N]: [ INFO ] Installing /var/guix and /gnu... mv: can't remove '/gnu': Is a directory
<apteryx>ah, because of my pre-existing /gnu... hm.
<cronoStar>Hey can some one help me out with emacs-guix. If anyone who has it installed, can you M-x guix-command and tell me if you just get shell options or a list of guix arguments. Im only getting shell options, and dont want to spend the time debugging and fixing.
<cronoStar>It would be really hard for me since im such a novice programmer and not get at elisp. :(
<cronoStar>good*
<apteryx>cronoStar: I get: [...]guix/scripts/deploy.scm:177:7: Unknown # object: "#~"
<apteryx>It's known that emacs-guix needs more love
<cronoStar>Set (guix-repl-use-server nil) then try again. Thats another bug I got on my list.
<apteryx>cronoStar: like (setq guix-repl-use-server nil) ?
<cronoStar>Yah im trying to get better at elisp and reading alot of the code base. Trying to get emacs-guix up to speed with mainline guix would just be killer.
<cronoStar>yah
<cronoStar>in eshell or the scratch buffer eval and then try M-x guix-command
<apteryx>now I see: r Run in Guix REPL s Run in shell c Copy command line
<cronoStar>damn ok, looks like its a bug
<cronoStar>So theres two bugs, one is the gexp error you get is from the socket repl not being able to read the short hand gexp "#~". But it can read the normal gexp procedure -> https://issues.guix.gnu.org/59256. The guix-command just doesnt do the generation from the code.
<apteryx>neat, thanks for looking into it!
<cronoStar>No probs :) emacs-guix is so cool and could that one killer feature for an already killer program.
<cronoStar>be*
<lechner>cronoStar / with that work you could make a lot of people very happy
<jgart[m]>nckx: so not nein to my question then?
<jgart[m]>seems like python-flask has not been updated in a while but there are a few tickets open to update it
<jgart[m]>how should we unstuck that? Should I send new patches? Last time iirc I was told that someone had already submitted an update to python-flask but then the already submitted patch set wasn't merged and is still open
<apo11o>cryptoguix - Approved by the FSF, used daily my RMS
<vagrantc>ACTION blinks
<jgart[m]>new meme coin: Hurdcoin
<apo11o>will be under development until 2050 tho
<lechner>love it
<jonscoresby>when ico
<jgart[m]>We should start the meme coin in order to fund the Hurd
<jgart[m]>But that might procrastinate it's development further
<apteryx>bah. relocatable guix packs don't seem to work on that box
<apteryx>it says -sh: /bootstrap/gnu/store/l6nb9j7gw4f1lk157g3picjmqpybqpaz-gnupg-2.2.32/bin/gpg: not found, but it's there
<lechner>apteryx / with the executable bit?
<vagrantc>ACTION actually tests the "graphical" guix installer for the first time
<vagrantc>i think most of my previous Guix System installs predate it
<vagrantc>either doing it from a foreign distro or just the earlier installer where you manually walk through steps
<unmatched-paren>morning guix :)
<apo11o>unmatched-paren: good morning!
<unmatched-paren>apo11o: hello!
<mekeor[m]>hello. is it possible to define custom polkit rules in guix system?
<mekeor[m]>it's strange that the emacs package "system-packages" <https://gitlab.com/jabranham/system-packages> supports guix but is not packaged for guix
<ssb>hi! Do I understand correctly that using "guix build" inside guix system container is not implemented?
<ssb>(in the container that is started by "run-container" script, that is)
<mekeor[m]>ssb: what's the run-container script?
<rekado>mekeor[m]: it’s generated by “guix system container”
<rekado>ssb: you can talk to the host system’s Guix daemon by sharing locations explicitly
<mekeor[m]>i see. so the explanation would be "because there is no guix daemon running inside the container"?
<ssb>mekeor[m], guix daemon is runnig inside the container, but the /gnu/store mounted read-only by the script, and --share option cannot ovveride this
<rekado>ssb: in my experiments with rstudio I --expose=/gnu/store and --expose=/var/guix/profiles, as well as the socket location.
<rekado>you cannot have the daemon run inside the container because you don’t want two different daemons to touch the same store
<rekado>the container merely shares a subset of /gnu/store from the host, so it should never write to it
<rekado>let the host system’s daemon write
<ssb>right, I'm experimenting on a foreign system without outer daemon
<rekado>no daemon but /gnu/store exists?
<ssb>right
<rekado>how is the store managed?
<ssb>copied from working guix system
<ssb>it sort of works, even. After hacking the script to allow read-write bind mount of /gnu/store I was able to build something, but somehow managed to destroy guix binary )
<rekado>does your copied store include a valid /var/guix database?
<ssb>rekado, nope, thanks for the hint!
<rekado>whenever the daemon sees stuff in /gnu/store that’s *not* also in the database it will delete it as junk
<rekado>the contents of the database are not deterministic
<reyman>hi !
<jonsger>will there be a merge of master into version-1.4.0 before release?
<rekado>for service activation snippets it would be nice to have a prefix for any output that gets printed to the console
<rekado>for example, the postgres services runs “initdb” which prints a few lines that can easily be confusing in the output of “guix system reconfigure”
<rekado>389-ds-base has output like “Starting installation ...”
<rekado>users have no idea that this is output from 389ds
<rekado>another example: “Error: root_password must be at least 8 characters long”
<rekado>who said that?
<rekado>would be useful, I think, to prefix all output with the service name that produced the output
<bredge>Please make a proot container for termux 😡
<rekado>bredge: context?
<bredge>rekado: proot container
<rekado>that’s just a substring of your previous message.
<ArneBab>When I log in two users via GDM on separate X11 sessions, whenever I switch between them, the programs in the inactive one lose internet connectivity. Do you know why that happens — and how I can change it?
<ardon>Hi Guix! Any GNOME connoisseurs? I'd like to apply gsettings schemas declaratively. I've seen NixOS achieves this here https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/desktop-managers/gnome.nix#L29 . Is this even feasible in Guix? Or would a simpler approach such as manually serializing an INI file and then ingesting it via dconf be an easier workaround?
<reyman>If there are some rust specialist, i push some explanation of my problem with local package on the "help mailling list", any help appreciated : https://lists.gnu.org/archive/html/help-guix/2022-12/msg00080.html
<rekado>ardon: I think it would be good to have a dconf system service that would allow us to set arbitrary dconf key/value settings.
<ham5urg>I'm looking into services/base.scm and in line 2669 the guile-netlink library is used. At https://git.lepiller.eu/guile-netlink and further at https://git.lepiller.eu/guile-netlink/manual/html_node/IP-Library.html#IP-Library there are "Link, Addr, Route" implemented. The same used in ervices/base.scm:2669. Am I correct that missing functionality (at least in my case) like net-namespaces are due to the Guile-library?
<nckx>goggles-bot: Test.
<apteryx>nckx: actually the changes I thought may be responsible are in master, not yet released in 3.0.8
<nckx>Ah.
<apteryx>so I'm not sure what ends up doing fstatat
<apteryx>and statx
<nckx>I did a (very) quick grep of {guile-,}sqlite, but only for statx, not fstatat…
<unmatched-paren>lembrun[m]: actually, i'll test my own config in a vm
<apteryx>right, and fstatat is very old, probably not an issue
<unmatched-paren>anyone know how i'd run a graphical vm with my config
<unmatched-paren>?
<ekaitz>hi all!! do we have a guide on making new build-systems?
<nckx>No results for either, and this is a very inefficient/unreliable way to find out who calls what, I know.
<elevenkb>tried two hard packages and failed (pretty much) so i'm hoping that i'll manage with an easy pure elisp one.
<lembrun[m]>unmatched-paren: Note that this machine is a brand new thinkpad, with ssd, powerful cpu etc
<nckx>ekaitz: I don't think so. Forking by example, I'm afraid.
<elevenkb>so... does one have to add a build phase in order to compile the texinfo documentation of a simple elisp package?
<elevenkb>i.e. one that consists of one file?
<ekaitz>nckx: which one is the best as a reference? i need something that calls a build step, just like `make` does but nothing else
<attila_lendvai>will guix deploy send a lot of network traffic to the machine where it's deploying? is it different with build-locally? #false?
<attila_lendvai>ACTION is on mobile net
<unmatched-paren>ekaitz: maybe dub-build-system?
<unmatched-paren>that one's simple by virtue of not being very useful.
<nckx>Or minetest-, for its smolness.
<ekaitz>I don't even know what dub is
<ekaitz>but I'll take a look
<ekaitz>thank you both!
<nckx>I also chose minetest- because it inherits from gnu-, which is what I'd suggest most new build systems do.
<nckx>Which build system is this?
<lechner>attila_lendvai / just enough to install everything, i believe. most activity seems to occur on the host from which 'deploy' is called. i think everything goes into the local store first.
<unmatched-paren>ekaitz: dub is the Awful Combination Of A Build System And Package Manager that D uses
<ekaitz>unmatched-paren: yeah I just read the beginning of the file hehe... looks like I can use it btw! good as a reference
<unmatched-paren>ekaitz: dub-build-system is simple because it doesn't handle dependencies yet
<ekaitz>should it? like... how do we handle dependencies in the build system? we download them too?
<unmatched-paren>probably how we handle them with cargo-build-system
<unmatched-paren>that is to say, badly :P
<nckx>‘Implicit inputs’ is probably the answer.
<attila_lendvai>ACTION goes offline o/
<nckx>Oh, or that way, if you like pain.
<nckx>o/
<unmatched-paren>i think dub works quite similarly to cargo
<unmatched-paren>it has a vendor dir option iirc
<nckx>Please avoid inflammatory opinions like ‘works’.
<apteryx>haha, perhaps this is the error message thrown when my local machine hasn't yet authorized the offload machine?
<unmatched-paren>okee... "i think dub dysfunctions quite similarly to cargo" :)
<nckx>😊
<apteryx>it's thrown by the local guix-daemon
<unmatched-paren>lembrun[m]: could you try this:
<apteryx>upon importing the archive
<ekaitz>ok I see
<nckx>apteryx: The >32-bit one?
<nckx>I used to know what that actually means, but I frogot.
<lembrun[m]>unmatched-paren: try : ?
<unmatched-paren>lembrun[m]: oh, wait
<unmatched-paren>never mind
<unmatched-paren>i just noticed you don't have a sway-configuration... configured
<lembrun[m]>Yeah I noticed the default was false
<lembrun[m]>so I did not put one
<lembrun[m]>anyways there is not much in sway-greetd
<unmatched-paren>oh, hmm
<unmatched-paren>of course
<lembrun[m]>like I did try
<lembrun[m]>to copy paste
<lembrun[m]>a snippet fro mthe arch wiki for sway-greetd
<lembrun[m]>I got no result either
<unmatched-paren>could you try this command:
<lembrun[m]>but the thing is I get the blinking cursor thingy only with seatd
<apteryx>nckx: yes, I'm adding the key to confirm
<unmatched-paren>oh, interesting
<lembrun[m]>with elogind I can atleast get to wlgreet type my user and password but I get thrown back to the login over and over
<unmatched-paren>hum
<unmatched-paren>lembrun[m]: try running sway -d in a tty
<apteryx>nckx: guix offload: successfully imported
<apteryx>damn you, >32 bit error message
<unmatched-paren>ACTION would like to see if their config works by default but doesn't know how to run a graphical guix system vm
<nckx>apteryx: …huh.
<nckx>Well that sucks.
<nckx>RIP your time.
<apteryx>already in our backlog as #38692
<lembrun[m]>unmatched-paren: Don't have much in there, only error I get is unable to receive ipc reponse
<unmatched-paren>lembrun[m]: does it not start?
<lembrun[m]>it does it does
<lembrun[m]>I can run emacs just fine
<tricon>lembrun[m]: then your OS is complete.
<unmatched-paren>lembrun[m]: hmm
<unmatched-paren>ACTION confuse
<apteryx>nckx: indeed. didn't expect spending half a day configuring an offload machine. all this is to be able to natively build guix system, hoping it might run on that same target after ;-)
<lembrun[m]>still getting that annoying check_children
<lembrun[m]>Ill revert toi elogind
<unmatched-paren>lembrun[m]: could you check what the log says with elogind?
<lembrun[m]>i'm rebooting rnb
<nckx>apteryx: And with that info, of course, we immediately find: https://issues.guix.gnu.org/38692 :)
<nckx>…and I just got your mail.
<nckx>How's it intertwined with the daemon code?
<apteryx>it's in a low-level readInt procedure
<apteryx>that's used a bit everywhere
<apteryx>so we have to see in which context it was used and do some error checking before, I guess
<apteryx>GDB would probably be handy
<nckx>OK, yeah.
<nckx>I meant more that it's (probably; total guess) reading garbage as an Int at all.
<apteryx>that's a fair guess
<unmatched-paren>does guix system vm just create a window with the virtual display in it?
<apteryx>nckx: perhaps local-store.cc:importPath:1347?
<lembrun[m]>no specific log for elogind right ?
<lembrun[m]>there isn othing interesting in messages
<unmatched-paren>lembrun[m]: i don't know
<lembrun[m]>: (
<unmatched-paren>lembrun[m]: check the elogind-service-type sources i guess
<lembrun[m]>I just see new session c2 etc for user greeter
<unmatched-paren>lembrun[m]: aha, the problem in the first case might be that greetd doesn't set up XDG_RUNTIME_DIR
<unmatched-paren>you'll want to add ``export XDG_RUNTIME_DIR=/run/user/$UID'' to your .profile
<lembrun[m]>ok, right now I just have the HOME_ENV variables in it
<apteryx>ACTION has gdb ready to break in daemon
<VesselWave>Hello, I am trying to package hyprland. How to access a file from input (read only)?
<unmatched-paren>VesselWave: (search-input-file inputs "bin/foo") or whatever
<VesselWave>Thank you! Only search or maybe I can specify what input?
<unmatched-paren>VesselWave: search is preferred
<unmatched-paren>if you *really* need to specify, #$(this-package-input "input")
<VesselWave>Ok, thanks looking forward to try this beatiful WM
<lembrun[m]>unmatched-paren: that was a good try but I think guix-home set thats by default
<unmatched-paren>lembrun[m]: aaagh
<unmatched-paren>lembrun[m]: where does it set that?
<lembrun[m]>though I got one interesting error
<lembrun[m]>from pam
<lembrun[m]>an auth error
<lembrun[m]>in the greetd log
<lembrun[m]>unmatched-paren:
<lembrun[m]>check guix-home/.setup-environment
<lembrun[m]>s//.///
<lembrun[m]>along with other xdg related vars
<apteryx>nckx: fun, I can't reproduce with gdb and a locally built daemon
<apteryx>I get a nice error message telling me to authorize the missing key
<unmatched-paren>lembrun[m]: hmm, yeah...
<apteryx>nckx: correction, can't reproduce anymore at all, at least by simply removing the now authorized key from /etc/guix/acl. odd!
<lembrun[m]>wondering if that pam error was when i put elogind back
<nckx>apteryx: Fun! Have you already downloaded everything you needed to download?
<lembrun[m]>unmatched-paren: teah that's it
<lembrun[m]>with elogind
<rekado>ACTION pushed the directory-server-service-type to the master branch.
<lembrun[m]>when I try to login through wlgreet
<lembrun[m]>I get a pam authenticate error
<lembrun[m]>and that's wh yit throws me back to the login prompt
<lembrun[m]>now why does I get auth error
<apteryx>nckx: ah, perhaps!
<apteryx>I should try with a different package/derivation
<elevenkb>has anyone already packaged emacs-eat for guix?
<tricon>elevenkb: I used the importer for it. Haven't cleaned it up or submitted it yet. Are you wanting to package it?
<elevenkb>yah, i'm busy packaging it. completely forgot about the importer :p
<elevenkb>i'm particularly curious about what to do with the "/e" and "/integration" directories? what is the convention with additional files like that?
<apteryx>nckx: for the repro, I'm just using 'guix offload test /etc/guix/machines.scm 10.42.0.243'. Deleting the item it uses for the test '/gnu/store/m28xn85i7nnpy1w9amisav7b3fqdl5p2-export-test' doesn't change the result. Odd.
<unmatched-paren>lembrun[m]: that's strange. could you consider continuing this in #kennylevinsen so that the greetd developer can see?
<unmatched-paren>lembrun[m]: try this (with seatd): ``sudo -u greeter sway -d''
<elevenkb>tricon: for now i'll just patch the way default values for `eat-term-terminfo-directory` and `eat-term-shell-integration-directory` are defined.
<jonscoresby>unmatched-paren: I just sent an updated vim-build-system patch, but I forgot to cc you
<unmatched-paren>jonscoresby: okay
<apteryx>hm, lm-sensors pulls-in ruby
<apteryx>as well as subversion
<unmatched-paren>jonscoresby: sorry, i don't have time to review the whole thing right now
<unmatched-paren>ACTION away, night \o
<Guest363>i'm thinking of using gnu guix. How can i find out if the drivers of my equipment are a problem?
<rekado>Guest363: as a quick test you could try to boot a live system of Trisquel. It too uses the Linux libre, which is the default in Guix.
<rekado>you can, however, change the default kernel easily.
<Guest363>Thanks, i can try this way.
<lembrun[m]><unmatched-paren> "lembrun: that's strange. could..." <- I'll see that tomorrow
<lembrun[m]>I did try the other command but I get xdg_runtime_dir not set
<lembrun[m]>for greeter
<lechner>Guest363 / there is also h-node.org
<Guest363>thanks
<lechner>Guest363 / we may also be able to advise if you share your hardware details
<Guest363>@lec
<Guest363>lechner https://h-node.org/notebooks/view/en/1661/Inspiron-15-3000-Series-3542
<Guest363>Does this mean i can use gnu guix without any problems?
<lechner>Guest363 / very likely. what do you use presently?
<lechner>the two things to worry about are the integrated i915 graphics and the Atheros wifi card
<Guest363>windows 10 :(
<lechner>Guest363 / have you ever run linux?
<lechner>on any equipment
<Guest363>yes
<lechner>which one?
<lechner>which linux?
<Guest363>gnu debian 10
<lechner>nckx may have had some negative experiences with integrated intel hardware recently in this channel, or he may have advised someone who did
<lechner>i had that integrated chip once in debian or ubuntu (i cannot remember) but the laptop was stolen soon
<lechner>you can easily find out by booting into a debian USB live image on your inspiron
<lechner>your downside scenario is to enable the kernel they maintain in #nonguix
<Guest363>thanks
<lechner>make sure you have an ethernet cable and access to your router, and come back here or write to me privately if you need more help.
<Guest363>thank you very much