IRC channel logs
2023-10-14.log
back to list of logs
<jbnote>ulfvonbelow: following your earlier hints, i've replaced (string-append (file-append ...)) with a mere #~(string-append #$(file-append ...)) and it works :/. Do you know how I would go about understanding where the object is stored and what happens? I'm writing a system configuration. I've tried to trace the derivation that produces the file (-nginx.conf.drv), got as far as -nginx.conf-builder, which is a guile script, but everything <jbnote>has been expanded at this stage (correctly or not). <jbnote>ulfvonbelow: In any case, thanks a lot for your help. I'm not at a level where I can understand what happens, but at least you gave me a workaround. <ulfvonbelow>well, for starters, where is your #~(string-append ...) form appearing? Is it in a field definition? <ulfvonbelow>(it might be quickest to just share the entire config file) <jbnote>in order to insert the correct path to the git-http-backend <ulfvonbelow>ahhh, I see what you mean. Yeah, the manual describes the 'body' field of nginx-location-configuration as "a list of strings", but it's actually a bit more flexible than that <ulfvonbelow>looking at gnu/services/web.scm, it looks like it actually uses a combination of 'flatten' and 'mixed-text-file'. <jbnote>ulfvonbelow: I can't thank you enough. Now i've got something that works. And you even gave me a way to simplify the original #~(begin...) with directly using #~(format ...) <ulfvonbelow>this means that, for example, you can replace line 113 with ,(list "fastcgi_param SCRIPT_FILENAME " git "/lib/git-core/git-http-backend;") <jbnote>ulfvonbelow: to be honest, I wouldn't believe you. But you're right, it works. It's beyond magic for me. How long does it take to reach this kind of understanding ? :) <ulfvonbelow>I just happen to have looked at the nginx service internals before when setting up some stuff before <jbnote>ulfvonbelow: i've read quite a bit lately. I'm sure there's a question of time involved too. Or maybe i'm too old :) <jbnote>ulfvonbelow: thanks a huge lot for your time and knowledge. I learned a lot, and pushed a patch fixing my problem, all thanks to you. <jbnote>oh yeah, great help. Looks a bit like what i'm doing and maybe should be using! <TehBoss>does the guix image include lvm utilities? <Guest96>Alright, both my previous guix clone and new clone fail to make with the same error: <Guest96>contributing.de.texi:1659: @menu reference to nonexistent node `Configuring Git' <Guest96>contributing.de.texi:1660: @menu reference to nonexistent node `Sending a Patch Series' <Guest96>I think it is a genuine bug. is it possible to do a make and just ignore the error? <Guest96>ah, make -k does it, and it seems to skip a lot of similar berrors <TehBassalt>i'm setting up my config.scm manually for the install, and i have a heirachical mount system <TehBassalt>looking at the documentation it seems as if theres a dependency i should be able to add for another file sytem, but i'm not sure how i shoudl refer to the other file systems i have defined <ulfvonbelow>my understanding is you could include the <file-system> that is depended on itself <ulfvonbelow>though that would require you to bind a variable to it so that you can use the same object in multiple places <ulfvonbelow>e.g. (define my-/home-fs (file-system ...)) then later (define my-/home/user/Documents-fs (file-system ... (dependencies (list my-/home-fs)))) <ulfvonbelow>presumably dependencies is supposed to be a list, so instead of (dependencies fs-root) you'll probably want (dependencies (list fs-root)) <ulfvonbelow>and the (file-system (append ...)) should have 'system' replaced with 'systems', since that's the name of the field of the operating-system record <ulfvonbelow>also, since it is a field of the operating-system record, it should be inside the operating-system form <TehBassalt>yeah, in the actualy config i have that, i just typed it wrong <TehBassalt>instead of doing (list elem1 elem2) could i do '(elem1 elem2) <ulfvonbelow>only if elem1 and elem2 are self-evaluating (that is, they evaluate to themself) <TehBassalt>so could i do (dependencies '(mapped-devices root-fs))? <ulfvonbelow>ah, no, that would get you a list containing those symbols <ulfvonbelow>you could do it with quasiquoting, e.g. (dependencies `(,mapped-devices ,root-fs)), but it's probably clearer to just use 'list' in that case <ulfvonbelow>it may be useful to try things out in a 'guix repl' command <TehBassalt>i'm getting an error saying that my define command has an invalid field specifier <TehBassalt>the fields for file-system are device, mount-point, type, and dependencies <ulfvonbelow>or at least the part it seems to be complaining about <ulfvonbelow>does the error message say what it thinks the invalid field specifier is? <ulfvonbelow>how about you throw open a 'guix repl' and paste your config up to that point into it <TehBassalt>i managed it using emacs shell, but it gave an error since just the first bit didn't include all of what operating-system needs <ulfvonbelow>I suppose you could, in an editor of your choice, copy+paste the config file up to that point into a separate file (or comment out everything after that with semicolons) and then run (load "/path/to/config.scm") <ulfvonbelow>ah good, if you have an emacs that makes things quite a bit easier <ulfvonbelow>so the error doesn't occur prior to the start of the 'operating-system' form? <ulfvonbelow>now wait a minute, you said it said that the "define command" has an invalid field specifier? <TehBassalt>aha, i think it is because of the mapped-devices thing <TehBassalt>i've defined mapped-devices and am referring to that as a list and now it works <TehBassalt>now i'm getting an error where i define fs-mapping, i think it is todo with the define command <TehBassalt>ulfvonbelow: the define command is in the operating-system block <ulfvonbelow>ahhh, it should be at the top-level before the operating-system form <TehBassalt>can i still refer to mapped devices outside of the operating-system form? <ulfvonbelow>no, though you could move the definition outside of the operating system form and refer to that from within the operating-system form <ulfvonbelow>alternatively, you could use 'let' instead of define <ulfvonbelow>so something like (operating-system ... (file-systems (let ((fs-root ...) (fs-home ...)) (list ...)))) <ulfvonbelow>in the former case, you would have top-level defines for your mapped devices, and for each of your file systems, and then in your 'operating-system' form you would just have (file-systems <your-filesystems-variable-here>) and (mapped-devices <your-mapped-devices-variable-here>) <roptat>is there a way to set up the FQDN of a system? <cdo256``>roptat: Are you looking for hosts configuration or do you mean an actual nameserver? <roptat>I want hostname --fqdn to return something other than "localhost" <cdo256``>Yeah if you just put your ip address inside your hosts file then that should work <TehBassalt2>i'm getting another error that file-systems-/home requires file-systems-/ but file-system-/ isn't defined, maybe guix automatically does the heirachy <cdo256``>*Inside your Guix system (operating-system (hosts-file ...)) rather <TehBassalt>ok yeah it seems to be happy with this, i'll run with this for now, and maybe have a look at doing it differently later <ulfvonbelow>TehBassalt: I believe all non-root filesystems implicitly depend on the root filesystem. My guess is that because of this it's not creating a shepherd service for your / filesystem, but not preventing the shepherd service that it creates for your /home filesystem from depending on it <ulfvonbelow>I think removing the root file system from the list of dependencies might resolve it <TehBassalt>i'm not sure, i've just let it go with only the dependency on mapped-devices <ulfvonbelow>the problems introduced by missing dependencies are nondeterministic race conditions <hako>PDF variants of latest Guix Reference Manual for English and Español seem unavailable. <ulfvonbelow>you should keep the dependency from /home/user/Documents to /home <hako>I'm told that they have been like this for about a week... <TehBoss>i think i'll have to wait for tomorrow to test it though <TehBoss>but the installing command said it worked <cdo256>Does anyone have an easy strategy for pushing `guix install`ed packages onto their guix home configuration? <cdo256>Ideally automatic but I'm not fussy <rekado>since switching to “guix home” I only ever use “guix shell” for things that are not in my home config <cdo256>Yeah a lot of stuff I've installed would be better placed in one guix shell or other.. <cdo256>I guess the idea is to never touch `guix package` after you've set up guix home? <apteryx>civodul: it's to keep the gc time relatively constant and avoid it surprising us by becoming a multi-hours or days affair <lilyp>cdo256: in practice, that's what's currently supported <lilyp>I raise an issue every now and then trying to get multiple profiles rolling, but alas, I fall on deaf ears every time <cdo256>Ah that explains why git in .guix-home can't find guix-installed git:send-mail <rekado>lilyp: multiple profiles with guix home? <rekado>for a separate emacs profile and a regular profile <lilyp>yeah, I do want slightly more control than that, though <lilyp>In fact, I want to get rid of even the mandatory ~/.guix-home <civodul>apteryx: ah yes, ok; it’s deleting a bit too aggressively, but i’m not sure what a good middle ground would be <civodul>we can keep it that way until we have a better idea <panosalevro>hi all. my neomutt+getmail+procmail setup doesn't work properly on guix. when fetching emails, procmail complains that "/var/spool/mail/user" can't be created. any ideas? <stocastico>hello :) how would I go if I wanted to implement a new kind of "lowerable" object? I'd like to have a new kind of record that I can build with guix build -f object.scm. Should I look into local-file, computed-file and co. implementation? Or is something on a lower level required in your opinion? Thank you :) <bjc>panosalevro: guix doesn't have ‘/var/spool’; you could ‘mkdir -p /var/spool/mail/’ and see how it goes. you may have to touch and chown the mailspool, though <bjc>alternately, tell procmail to use a different location, like one in your home directory, and configure mutt to do the same <apteryx>civodul: on the flip side, it exposes bugs we'd never or rarely catch (missing gc roots) <apteryx>I suspect that missing drv bug may be related <apteryx>hm, emacs-debbugs seems to hide feature requests by default; how can I show them? <apteryx>ah, add 'wishlist' to severities when prompted i guess <apteryx>mirai: tl;dr, to pipe the 'raw' article in Gnus rather than the filter/prettified version, use M-i r | instead of just | <apteryx>M-i is called the symbolic prefix, it's a Gnus-specific thing <civodul>i pipe the raw article as well when the patch includes patches <apteryx>to me, because most of the time it works fine without it <civodul>i used C-u g to get at the raw message <RavenJoad>Does Guix's packaged version of KDE work on Wayland? Or is only GNOME & sway meant for Wayland right now? <luke-jr>now that I have a recent-ish Guix going, can I build the official 1.4.0 iso? <panosalevro>after upgrading, dolphin won't run. i get this "/home/user/.guix-profile/bin/dolphin: error while loading shared libraries: /gnu/store/5h0hzz9isvwr4lfxfa8ls13dyvi1z2a5-baloo-5.108.0/lib/libKF5Baloo.so.5: file too short" <lilyp>panosalevro: can you du the file? it probably has 0 bytes <lilyp>things like these can happen during power outages; the fix that works for me is to garbage collect and rebuild <apteryx>M-i r is not exactly faster but made for that purpose <apteryx>but it seems to work only with the pipe command (|) <cdo256>RavenJoad: I don't know about KDE as a whole, but specific QT programs can work in wayland with `qt-wayland`. <apteryx>next if we could squash that missing derivation error bug, I believe berlin would perform near optimally again <apteryx>feature idea: show the pending builds per architecture (different color lines), with the global count still displayed (the current one) <apteryx>to see which architectures are lagging behind in compute power <civodul>apteryx: i actually use build-farm.el to inspect the build queue <RavenJoad>cdo256: Is there anything special I would need to do to make KDE/Qt apps/environments work? Or should I just do some testing on a spare computer to find out? <apteryx>lilyp: hm, mpd is still acting weird here <apteryx>it plays after pulseaudio -k and restarting it, but then I have no volume contorl <lilyp>panosalevro: again, I typically gc the package (sometimes even the whole generation) and rebuild <mirai>apteryx: the mpd user stole pulseaudio from your user? <pastor>hi. A quick question. If I'm submmiting an update of a package which requires to add a new package on other file, how should I submit it? In this case I need to update the definition of the `notmuch` package on 'gnu/packages/mail' and I add a new package on 'gnu/packages/c' to support the update. Should I do a patch series? <pastor>The c package is a library that's required for the updated `notmuch` definition. <lilyp>yes, you should do a series, with the first patch adding the library and the second updating notmuch <lilyp>unless it makes sense to do so, don't simply add the library in the same file as notmuch; instead aim to find the "best fit" <jaeme>What's the best way to use a guix vm? <mirai>lilyp: Is #66407 still on time for the gnome-team branch? <graywolf>Hi Guix :) I want to write a service that adds an service and I am unsure how. I assume some extension, but what? (service-extension WHAT-GOES-HERE? nftables-service-type) ; Any tips or (even better) examples? <civodul>sneek: later tell mothacehe commit 373ec2cf8ce97d5f89191c3d9211ee3a5c2067dc lacks the actual pack.scm change no? <civodul>or ‘guix system extension-graph /run/current-system/configuration.scm | guix shell xdot -- xdot -’ <civodul>that’ll show you how service types extend one another <graywolf>Ok, will try that and come back if I still don't undertand :) <jbnote>so, what code hosting platform should a good guixer use: sourcehut or notabug? <jaeme>jbnote: sourcehut requires users to pay a fee for hosting repositories, codeberg is also a good option. In terms of freedom, i guess pick the one that works with LibreJS the most. <podiki>and possibly set to mirror on others for maximal coverage (backup and discovery) <luke-jr>will guix time-machine try to downgrade my (customised) guix-daemon? <lilyp>mirai: it still is; QA hasn't applied it, same as with my recent submissions <lilyp>if you mean "on time" with the 44.6 oldstable release on sunday, don't sweat that; I'm not sure whether we'll be having a functional gnome-team branch by then <graywolf>civodul: Hm, I have to say I am not really any wiser from the extension-graph output. I think I have some grasp on how the extending works. And there is profile-service-type for packages. But I do not see service-service-type for services.