<roptat>service static-networking-service-type est un type de service, pas un service lui-même (ce n'est pas une fonction, donc il ne peut pas recevoir d'argument)
<roptat>si tu regardes le service juste au dessus, c'est la fonction "service" qui est utilisée et on lui passe deux paramètres : un type de service et un argument éventuel. mais dans le cas de service static-networking-service, c'est directement une fonction qui renvoie un service de type service static-networking-service-type
<roptat>tu vas sans doute encore avoir un autre problème avec %desktop-services parce qu'il contient déjà un service réseau qui va entrer en conflit avec service static-networking-service
<PirBoazo>root@guix-pib ~# guix system reconfigure /etc/config.scm
<PirBoazo>guix system: error: service 'networking' provided more than once
<roptat>ah, tu as mis la structure (remove ...) à l'intérieur de (list ...) du coupt append n'a qu'un élément, et la fin de la liste est une autre liste
<PirBoazo>je ne comprendds pas assez la logique :-(
<roptat>il faudrait déplacer ce bloc de sorte à avoir (services (append (list ...) (remove ...)))
<roptat>%desktop-services est une liste de services
<roptat>remove est une procédure qui prend un prédicat (qui permet de filtrer un ou plusieurs éléments) et une liste, et renvoie une nouvelle liste avec un peu moins d'élément (ici un en moins, le service network-manager)
<roptat>(list ...) permet de créer une liste, comme son nom l'indique :)
<roptat>et append prend en argument une ou plusieurs listes et crée une liste qui contient les éléments de toutes ces listes
<roptat>c'est un peu compliqué parce que ce sont des listes de services, mais tu peux essayer de t'amuser avec des listes d'entiers par exemple dans le repl de guile (lance simplement guile, et essaye de taper des trucs comme (append (list 1 2) (list 3 4)))
<roptat>I don't really know how it works, but I want to make sure that no program will be able to write a configuration file, even if it's not configured (so I can detect stuff for which I need support)
<roptat>home-manager seems to try and preserve existing configuration, but that's not what I want to do :)
<roptat>I want to fearlessly override anything in my ~ and don't let anyone touch anything there except guix
<g_bor[m]>roptat: nice. I also would aim for that, but now I am under a bit of time pressure.
<roptat>maybe I should have my data in /data for instance, and make ~ read-only
<g_bor[m]>rekado_: sorry about the long message. I was sending my notes about the installer, so that you could comment on the priorities of the issues I encountered.
<roptat>and tweak some environment variables so downloads are done in /data, configs read in /home and caches generated in a read-write directory inside /home
<roptat>but then there's ~/.config/guix which is not exactly read-only, and ~/.guix-profile
<roptat>can I configure guix to have these elsewhere?
<roptat>I mean ~/.guix-profile and ~/.config/guix/current
<mbakke>civodul: Thanks! Can you also do the same for libgsf? I think we are almost done now...
<xavierm02>Is there a script to avoid entering my encryption password twice in guixsd? I know that the usual way to do this is to add a keyfile and pack it in the thing that grub decrypts, but it'd probably take me a while to do make scripts that do this, so if it's already been done, it'd be a great help.
<sebboh>Well, I generally use nightly. So, I'm currently on 69. :) I'll admit that before I reviewed the release notes, I thought version 60 was from before their "Quantum" release. It's not. That was the major change of recent years, and IceCat has it.
<g_bor[m]>I would like to use a uuid, if possible.
<sebboh>g_bor[m]: I generally forget to define it in my System configuration, so then I just do 'swapon /dev/sda3' the first time I notice that the machine has no swap... Which is usually a few days after I booted it. :)
<g_bor[m]>I am not too much into the boot order...
<sebboh>g_bor: swap parititions can also have labels. the swapon tool supports it (via -L <label>). At least, mine does, it's from util-linux 2.33.1
<nckx>If that doesn't work you'll have to write Scheme code to read the UUID straight from the swap partition, or a generic partition UUID extractor (that'll only work on GPT though).
<g_bor[m]>nckx: ok, I will try that. I was thinking about this, as recently a similra issue arose regarding the bootloader installation, where the device name was also sda, which turns out not to be stable.
<nckx>sebboh: We don't expose the raw swapon command that well, unfortunately. Does it support the magical ’LABEL=foo’ syntax as well? That would work.
<nckx>g_bor[m]: That's easier to solve because we never need to install GRUB at early boot time, but can just rely on /dev/disk/by-foo on Linux. I have some code to finish that does just that, but it's too baby's-first-Scheme-book level to submit as-is.
<nckx>I *think* that's the best we can do there. Swapon could be solved using only Scheme code, i.e. better. We already read raw UUIDs for ‘real’ file systems, not relying on udev at all.
<g_bor[m]>nckx: yes, and that would also provide a more uniform configuration interface, I believe.
<nckx>I don't think we even call the "swapon" binary, but use syscalls directly. Niice.
<g_bor[m]>At first I will check if this works as is, maybe the patch here is as simple as yours for the other issue...
<sebboh>I don't know about this LABEL=foo syntax, nckx. I see in the man page that it supports -o <arg> where arg is: an "fstab-compatible comma-separated string", for example: `swapon -o pri=1,discard=pages,nofail /dev/sda2`. I fully support your scheme-based approach, fwiw. And I am not sure your perception that your scheme code is on some wrong 'level
<nckx>g_bor[m]: Great! Eventually we should support a generic (uuid …) syntax everywhere, but /dev/disk/… is a nice hack for now.
<sebboh>' is warranted. (Doesn't the best lisp/scheme code in the world have a certain child-like, innocent quality?)
<str1ngs>hmmm how can I refer to a local git repository? I thought I could do this (url "file:///path/to/repo")
<sebboh>did you try without file://? Simply /path/to/repo ?
<sebboh>(my response isn't about guix, sorry, it's just about git.)
<nckx>sebboh: In fstab, for example, you can use LABEL=foo instead of /dev/foo and it is magically consumed by at least mount. But a) it might just use udev for that and we're back at square one b) it's a bit of an ad-hoc hack, since we don't rely on these helper binaries we probably shouldn't emulate their weirder features.
<str1ngs>if i use url-fetch it will recursively copy the local file path. which is hilarious since it copies git objects as well. but I don't think runs autoconf then. I guess git-fetch assume autoconf is required?
<nckx>str1ngs: Not seeing the hilarity or the assumption quite yet…
<nckx>autoconf is run by the build system, if you provide the required inputs.
<str1ngs>actually it's a local copy so it's whatever state the origin is
<str1ngs>I don't think this is worth doing. I may run a local cgit and use that uri
<dongcarl>Does anyone know how to use the d3js chords generated by `guix graph`? Just wanna know what it looks like, but loading the html doesn't seem to do anything
<recj>other than that does anyone know how i can get clear
<sebboh>What is that name of that package that is default-installed on Ubuntu and checks each command line for 'command not found' and tells you the name of the package you may want to install to gain that command? I only ask here because I think we spoke of it here the other day.
<recj>when i type `clear` or use a program that depends on it it prints an error
<nckx>baconicsynergy_: My guess is that GNU dd was written before the BSDs supported that suffix, and they simply added it independently. (Are you sure there's no m=1000/M=1024 weirdness going on? Some tools do that, just to make it more confusing.)
<nckx>recj: ‘clear’ is part of ‘ncurses’. ‘guix install ncurses’.
<sebboh>Yes, clear comes from ncurses. I found that out just now on a Debian machine using apt-file search -x `which clear`. Apparently guix doesn't have a command that can search like that yet, but some people want it so maybe sometime later.
<nckx>It designates a package ‘output’: one build can create multiple /gnu/store directories, such as :utils, :bin, :static… The names are a bit ad-hoc sometimes and most packages don't. The default output is :out and is implied: installing ncurses is equivalent to installing ncurses:out.
<dongcarl>I'm confused as to why we need `guile-bootstrap` in the bootstrap binaries... It seems that it's only used by `ld-wrapper`, couldn't we just write `ld-wrapper` in C or simply patch glibc-intermediate so that it can build without `ld-wrapper`?
<dongcarl>rekado_: True, also inlining would be nice so that the html file is portable (depending on license)
<katco>kmicu: i'm in the middle of commiting 61 packages, so i hope i'll be forgiven if it's the former
<vagrantc>dongcarl: how's riscv64 coming along? do you have definitions sufficient to build cross-compilers?
<cap>Good evening. I'm new to guix and I'm trying to find out, how to set the keyboard-layout for sddm. Does anyone can give me a hint, where I could look up such informations?
<nckx>str1ngs: You probably know this, but I'd be amiss not to point out that pushing to the branch will cause that to fail (or worse: silently succeed in building an outdated version). Not a problem if that file stays on your machine, but might be if it escapes into the hands of unsuspecting users.
<dongcarl>vagrantc: Hey dude, yeah it's a long story... The way I use cross-compilers with Guix is I build a cross toolchain package and then put it in a manifest for my environment and set the `CROSS_` env vars myself...
*dongcarl needs to collect logs and send to bugs mailing list
<kkebreau>Is anyone working on updating to GNOME 3.32?
<nckx>str1ngs: Sure. My point was more that ‘guix build nomad-local && git push foo $CHANGES:nomad-local && guix build nomad-local’ will silently return the old nomad-local on your development machine (because the hash hasn't changed so Guix assumes nothing else has), but fail with a hash mismatch on another (that doesn't have the old build). Is that clear? Again, all fine as long as it's just you testing stuff ☺
<nckx>If it's just a work-around for file://, I guess that's what it is.
<kkebreau>I see we have a wip-gnome3.30, but I don't know if the GNOME 3.32 updates should go there?
<str1ngs>nckx right, I am aware. this will not be an issue once I do tarball release. I could then confidently just have a nomad-git package. but the software is to alpha for even tarbal releases yet. I agree not idea. but I need some way to test unstable vs stable.
<nckx>Just don't get bitten by forgetting to change the hash and wondering why your bug still exists.
<recj>for some reason, some fonts that i installed do not show up when trying to select a font in emacs
<vagrantc>dongcarl: it's been a while since i've tried cross-compiling on guix ... did a bit with aarch64 and armhf a while back when working on u-boot and arm-trusted-firmware
<str1ngs>nckx: I could resolve this by using a commit hash instead I guess
<kmicu>Geez, after a month 35302 is still not merged?
*kmicu thinks that opportunistic merging&reverting is still better (and more kind and respectful) policy than no feedback at all.
<nckx>str1ngs: Maybe git-fetch is cleverer than url-fetch, but if I change the tarball url of a package I have already built to ‘https://obviously-invalid.com/foo.mpeg’ and ‘guix build’ it, it will happily print the existing store URL. It won't redownload what it thinks it has, and that think is based only on the hash.
<str1ngs>your input is appreciated, I will mull on this more. thank you
<nckx>kmicu: I get your irritation (a form of enthusiasm, after all?), but by the same logic I can say that asking ‘Hey, could someone perhaps review <clickable link>’ is much more kind & respectful than ‘Geez, after a month <magic number> is still not merged?’
<recj>so as a general principle, rescan if fonts don't show up?
<rekado_>kkebreau: I haven’t been able to allocate enough time to do this. You’re welcome to give it a try and push it to core-updates (unless mbakke has something against touching core-updates at this time).
<kmicu>nckx: that’s not an irritation. If there is no objection after a month and a patch is about non-critical leaf package then by not merging Guix discorouges contributions.
<katco>nckx: 35302 is my patch. i haven't been following up on it because i've been spiking on other things. i brought it up a few other times here, but i probably should have sent an email to devel. sorry about that
<nckx>And comments like that discourage reviewers. It's a both-way street.
<kmicu>And Guix/Nix is immutable, we can afford opportunistic merging.
<kmicu>nckx: Ar a Rick&Morty viewer I refuse to avoid geez.
<rekado_>it’s fine when done within a reasonable time frame; I get uncomfortable when people ping me after two days (and on stuff that isn’t my “core expertise”).
<nckx>str1ngs: local-file might be useful if you don't care about it not being a ‘pure’ checkout, i.e. git/. It adds files to the store, so the daemon would see them, but I haven't tried using it in SOURCE myself.
<rekado_>I’d like to work on forgotten patches, but I can’t see them in mumi.
<kmicu>Sometimes folks assume that you can only review if you have commit rights.
<rekado_>(I used to have some code there to list them, but debbugs didn’t like it)
<str1ngs>nckx: I was hoping that would work too. but I'm building manually as well. so it requires cleaning. I think the best approach is to push to a testing branch. and the use that commit hash in guix-local.scm. I think that's a good compromise for now. later when I actually release tarballs. I wont have to worry about this at all.
<civodul>i can see forgotten patches in debbugs.el, my screen is full of them! ;-)
<rekado_>so I usually rely on my mailbox, which is overflowing
<rekado_>so I pick something from the first three or so pages, something that’s not WIP
<kmicu>ngz: Guix manual mentions ‘review’ handful of times so that would be helpful. Cuz what is an expected ‘review’? I’ve pulled patch locally and it compiles? Writing ‘LGTM’? And so on.
<ngz>kmicu: Indeed. Also, some tooling could help, e.g., applying patch locally in a single command.
<kmicu>(What about the process? Install Emacs, go to debbugs.el? Spawn browser go to Mumi instance?)
<str1ngs>rekado_: this is git only right now. and I can't have name clashing
<g_bor[m]>sway starts, but it fails to do anything... I will investigate it further. I got two messages, one relating to xwayland can't bind to socket, which seems to be because desktop services starts up X, and a failed to connect to user bus from swaybar
<ngz>I once tried to do some superficial reviewing, but the user providing the patch expected more involved checks, so, at the end of the day, my help was ineffective.
<nckx>g_bor[m]: How do you start Wayland on (I presume) Guix System?
<str1ngs>but the requirements to include chromium where to much for me to maintain at this time.
<str1ngs>it required significant amounts of reworking gn build system to use guix libraries. like ungoogle-chromium does
<g_bor[m]>nckx: ok, it seems to work fine, I just had to install rxvt-unicode to have a terminal. The mod key is bound to the Fn key on my keyboard, it took me a while to find that out. I did nothing special, simply installed sway as a user package, and starting it from the command line as sway, after logging in from the terminal. Now I will have a look at desktop-services to see what I can eliminate safely.