IRC channel logs


back to list of logs

<Shareni>Hi! What's the easiest way to run a command as root on startup? I haven't gotten to learning herd services yet
<bjc>Shareni: a one-shot shepherd service is the easiest way
<Shareni>bjc Thanks. Do you know if there's a cookbook for services or something along those lines? My brain is too burnt out right now to understand the docs
<bjc>the ‘simple-service’ line should go in the ‘services’ section of your ‘operating-system’. the service definition itself (‘powertop-autotune-shepherd-service’ in this case) goes in the top level
<Shareni>bjc thank you so much
<surpador>Does anyone know of a nice guide to setting up a Chinese IME on Guix System? I haven't had much luck installing IMEs (fcitx or ibus-libpinyin) or going through the GNOME language settings interface, and wondering if there are tips and tricks I'm missing.
<Kolev>surpador: Did you log out and log back in after installing the packages? Then go into GNOME Settings.
<surpador>Kolev: Yep, I've logged out and back in, and also restarted. GNOME Settings doesn't even seem to show any IME options for Chinese. I've also tried invoking fcitx-config-gtk, which doesn't show any IME options, even though (I think) it's supposed to ship with a pinyin input method
<Kolev>I'm concerned that Guix does not sandbox apps like Flatpak does.
<singpolyma>Kolev: it does if you use guix shell -c
<Kolev>singpolyma: Is there a way to have all apps do that?
<surpador>Ok, so I hadn't yet tried fcitx5, which appears to be working, in case anyone else is having trouble with fcitx!
<singpolyma>Kolev: I mean, if you launch them all that way I guess?
<Kolev>singpolyma: Sounds not ideal. Maybe if I edited .desktop files to do that for me.
<singpolyma>Yeah, I'm not sure. I haven't used .desktop files in a long time and I don't sandbox stuff :)
<Kolev>singpolyma: You launch everything from the terminal? .desktop files are used by launchers all the time.
<Cairn>civodul: I'm late to response, but I hadn't heard about p2p substitutes before! That sounds awesome!
<Cairn>I'd love to run some hardware for that
<Cairn>When/where was the last discussion about it? Is it still only hypothetical?
<singpolyma>Kolev: dmenu mostly, otherwise terminal
<Kolev>singpolyma: i3?
<singpolyma>Kolev: dwm traditionally, qtile right now
<Zambyte>I just experienced some guix magic :D
<Cairn>Zambyte: what happened?
<Zambyte>I have been having issues with my home config for a while. I was able to use guix home switch-generation to bisect and find the exact generation that the issue started, and diff the config between that generation and the next
<Zambyte>made the issue very obvious :)
<Cairn>Oh awesome!
<Zambyte>source-module-closure from (guix modules) seems to return null no matter what modules I give it. Is this just an issue on my end?
<Zambyte>ie: (source-module-closure '((ini))) => (), where (ini) comes from the guile-ini package
<Zambyte>(source-module-dependencies '(ini)) returns what appears to be the direct dependencies
<SeerLite[m]>Hi! is there a guix time-machine/guix shell for past profile generations?
<iyzsong>SeerLite[m]: if the past profile still exist, it can be used with guix shell --profile=...
<SeerLite[m]>Right but I mean the main user profile (~/.guix-profile) at a past generation, not a different profile. Is that not possible?
<iyzsong>they should be under /var/guix/profiles, a generation is a symlink to profile path with 'n-link' name.
<iyzsong>so, i think guix shell --profile=/var/guix/profiles/per-user/xxx/xxx-n-link maybe what you want
<ChocolettePalett>Alternatively, you could export manifest of the past generation somehow and pass it to "guix shell" after "time-machine"-ing, but I'm not an expert in GNU/Guix, so it might be a wrong approach
<iyzsong>yes, if by 'generation' you mean rebuild the current profile with past guix version instead of existed profile generations from old days, then you need time-machine.
<SeerLite[m]>iyzsong: Thank you! I didn't know previous generations could be found in /var/guix/profiles :)
<SeerLite[m]>Anyone else having issues with seeing icons in Gimp?
<SeerLite[m]>Anyone else having issues copying images on IceCat?
<zamfofex>SeerLite[m]: Try setting ‘dom.event.clipboardevents.enabled’ to ‘true’ in <about:config>
<SeerLite[m]>That doesn't change anything :/ I can still copy other things like text, but images don't work
<SeerLite[m]>Can you reproduce?
<zamfofex>I cannot. Where are you trying to copy them from?
<SeerLite[m]>Anywhere from the web, duckduckgo search results
<SeerLite[m]>Maybe it's an environment variable, I'll have a look
<ieugen[m]>thanks @civodul . The I hope the "daemon rewrite in Guile" is done so it works in docker containers as well. so guix will play nice with other tech and allow for more adoption
<unwox>ieugen[m]: take a look at guix shell -W. this option allows to use guix inside containers
<ieugen[m]>> guix shell: error: W: unrecognized option
<ieugen[m]>also, guix does not install well inside a docker container, which > 90% of people are using
<Reventlov>ieugen[m]: guix shell is "relatively" new, you have to do a guix pull before
<ieugen[m]>I think I did pull yesterday
<ieugen[m]>I pull almost every day :)
<ieugen[m]>compulsive updater
<ieugen[m]>something is wrong, since guix is 1.4.0
<ieugen[m]>I think I did a guix gc as well
<ieugen[m]>I will install guix with guix, maybe that will kep it pinned. using guix on Debian
<ngz>ieugen[m]: You shouldn't have guix installed in your profile, i.e., guix install guix is a bad idea.
<ieugen[m]>ok, thanks, how do I keep it from being gc'ed
<ngz>`which guix` should report ~/.config/guix/current/bin/guix
<ngz>I don't think you can GC guix itself.
<ngz>At least one profile is preserved when GC'ing. And guix belongs to this one.
<ngz>one generation I mean
<ieugen[m]>but I think if I don't install it, then it will not belong to this generation
<ieugen[m]>that is what "the data" suggest so far
<ngz>what does `which guix' report?
<ieugen[m]>this: /usr/bin/guix
<ngz>and readlink $(which guix) ?
<ieugen[m]>readlink $(which guix) returns nothing
<ngz>Ah. The good news is that GC'ing is not going to remove /usr/bin/guix, right?
<ieugen[m]>yes, since it's from Debian.
<ieugen[m]>but I do remomber seing a hash when I did guix --version
<ieugen[m]>meaning that it was picking up the new guix version
<ieugen[m]>now I don't
<ngz>OK. I admit I don't know how Guix is packaged on Debian. I'm using it on top of Debian, but I installed it with the installation scripts, not with the deb package.
<ieugen[m]>ok. so, running these: `export GUIX_PROFILE="/home/ieugen/.guix-profile" && . "$GUIX_PROFILE/etc/profile" ` followed by `hash guix` gives me `/home/ieugen/.config/guix/current/bin/guix`
<ieugen[m]>guix (GNU Guix) 31336e9f5d68512a9c1c6826bce9f17c892a2125
<ieugen[m]>I do have the profile sourcing in bashrc but not hash guix .
<ngz>the export lines should not be in bashrc, but rather in .bash_profile or even .profile (I do the latter)
<ieugen[m]>closing my terminal reverts the changes. I need to put them so they are read in non-login shell
<ieugen[m]>ok, thanks
<ngz>On Debian, I think .bash_profile reads .profile anyways.
<ieugen[m]>for me bash_profile is a link to profile
<ngz>OK. So that's even easier
<ngz>You just stuff your export and sourcing into .profile and start again your session.
<ngz>I think this will get you the correct guix
<ngz>(i.e., not the static one from the deb package)
<ieugen[m]>@ngz : for me this does not seem to be the case. Investigating, but so far, the GUIX_PROFILE is not read from profile and not available.
<ieugen[m]>for Tilix (terminal emulator) i had to select the option to run as a login shell for this to work
<ngz>You're not using Bash?
<iyzsong>well, the login profile usually be sourced once via console login or display manager, so a logout/re-login is required after install guix
<civodul>anyone knows why "guix shell -C" doesn't work in Docker? (clone(2) returns EPERM)
<cbaines>civodul, I presume it's just not allowed, there are probably some flags to enable whatever feature is being blocked (maybe --privileged)
<ieugen[m]>ngz: I do use bash: `SHELL=/bin/bash` . Maybe there is something wrong with my setup.
<ieugen[m]>civodul: Thanks for looking into guix + docker. I would like to start using guix for our CI in the company I work with.
<ieugen[m]>I could spend some (more) time towards guix if that is the case
<ngz>ieugen[m]: I'm running out of ideas then, sorry.
<civodul>cbaines: yeah apparently there's a seccomp filter blocking the creation of new namespaces with clone(2) or unshare(2):
<civodul>on the Docker theme, i've just sent
<ieugen[m]>civodul: To make things more complicated, we are using docker swarm (clustered docker) which sometimes does not expose all the options available for local docker containers
<ieugen[m]>Also, I can help test things out with our setup if I have some basic instructions
<civodul>ieugen[m]: interesting; i think we should try and streamline Guix usage in Docker
<civodul>so reporting and fixing those issues is a good idea
<ieugen[m]>I am all for using guix in docker, what can I do to help?
<civodul>report problems you encounter
<civodul>i suspect few core developers use Docker, so we just won't notice if it doesn't work
<ieugen[m]>ok, report on the mailing list ?
<ieugen[m]>I can do that
<civodul>yes, to
<mekeor[m]>ieugen: make sure you start bash --login or so. or restart your x/wayland/tty session, i.e. by logging out. both options will make sure that your .bash_profile is loaded
<mekeor[m]>when you start a terminal/shell, often it will just run "bash" which wont load the bash_profile
<mekeor[m]>personally, i configured my terminal emulator to run "zsh --login"
<ieugen[m]>thanks mekeor , I made some progress but for some reason `~/.config/guix/current/bin/` is not added on PATH and new guix is not found by hash.
<ieugen[m]>strange, this is something new - from past few days
<ieugen[m]>will send to civodul
<daviwil>Hey folks! I'm facing an issue while trying to build a minimal desktop environment config using seatd and greetd. Somehow it seems that multiple term-tty3 through term-tty6 services are being added even though I remove all `mingetty-service-type' from %base-services before using greetd. Here's the minimal config:
<daviwil>I get this error when I try to run that in `guix system vm`: guix system: error: service 'term-tty6' provided more than once
<daviwil>If I change that config to remove `greetd-terminal-configuration` for tty 4 thru 6, I can see that they're still getting added somehow while looking at the shepherd extension graph
<daviwil>This is after removing those entries:
<daviwil>It appears that I need to `(delete mingetty-service-type)` multiple times to get rid of all of them
<daviwil>It seems like that shouldn't be necessary, though
<f1refly>When I tried renaming my user on my guix system the system made a new one instead, which was fine. I just noticed that the user profile is still there though, is there some procedure i should follow to remove it?
<daviwil>It looks like civodul and jpoiret made some changes to `apply-clauses` recently, I wonder if it broke the ability to delete multiple services of the same type with a single `delete`?
<daviwil>I'll send a bug report
<flypaper-ultimat>daviwil: you can do it like the `remove' example in the system services section of "(info "(guix) Using the Configuration System")"
<daviwil>Yes, but `modify-services -> delete` should accomplish the same goal and I think it got broken recently
<flypaper-ultimat>ah I see.
<kentu>hello. what is the progress on getting i2p (java implementation) onto guix? is someone working on that?
<Cairn>kentu: Are you talking about this?
<kentu>Cairn: Yes
<Cairn>kentu: Do you happen to know if all the licenses meet gnu criteria?
<Cairn>Yeah, it looks fine
<Cairn>I'm no expert, but I think everything's pretty standard
<kentu>Cairn: Okay, then it seems like no one has really tried to package it, yet. Despite I2P being around for a long time and quite popular
<Cairn>I could poke at it throughout today, although I'll need someone to confirm my license block.
<Cairn>No promises; I haven't packaged Java.
<kentu>That would be great. I can try to review it and I think others would look over it aswell
<civodul>jlicht: hi! i'm looking at your feedback about 'guix locate'
<civodul>SQLite indeed lacks a proper "date" type:
<civodul>but what's interesting is that "it works" nonetheless
<civodul>actually you can put any name as the data type
<civodul>super weird
<civodul>presumably related to
<zamfofex>civodul: See (It explains how arbitrary type names are converted into what they call “type affinities”.)
<zamfofex>More specifically
<civodul>zamfofex: interesting, thanks!
<civodul>i'll change it to integer, feels more natural to me
<cnx>hello guix, could a committer please take a look at my patch
<cnx>i have a couple of patchsets depending on it
<dlowe>I'm getting testing errors in the python-django package has anyone else seen these?
<dlowe>Doesn't seem to be in the bug tracker
<civodul>ACTION sent a final (?) update for 'guix locate':
<juliana[m]>Out of curiosity, does locate have a mirror? A way to find a package providing a file (such as a specific binary)?
<razlix77[m]>Hi all I have a guile question:
<razlix77[m]> * (define wg-users... (full message at <>)
<razlix77[m]>how can I get the value for wireguard-peer?
<juliana[m]>does anyone know the current status of Guix on Raspberry Pi 4? my desktop appears to have died and historically when that happens i use the Pi as one instead
<HiltonChain[m]>juliana: I don't think it has enough performance for Guix...
<bjc>a lot of the built in hardware won't work because blobs. building packages will be very slow and more required due to substitute availability being worse. but guix does run on a pi
<Kolev>Can Tor Browser run on Guix systems yet?
<juliana[m]><HiltonChain[m]> "juliana: I don't think it has..." <- you might be surprised. i have an 8GB model with what scientists call "hella cooling" and overclock it to the highest reported possible clock for the board. but i haven't actually run Guix on it yet, so we'll see
<podiki[m]>Kolev: not packaged (though there was an old patch series) but can be run in our fhs container:
<Kolev>podiki[m], perfect.
<podiki[m]>there might have been some change to how the command is run with some gcc package changes, discussed either here or mailing list
<Kolev>Does Guix System have a nice Plymouth boot screen now?
<takev[m]><juliana[m]> "you might be surprised. i have..." <- I also got guix running on a couple of digital ocean droplets. I had to go with the 2 GB memory option, but I figure if that can run properly, the raspberry pi ought to be fine. :3
<mirai>what's the difference between these two ways of making a condition object? <>
<pkill9>Kolev: no idea,has there been anything to suggest it does?
<mirai>i.e. make-compound-condition vs using condition directly
<anemofilia>For some reason I can't reconfigure my system
<anemofilia>I keep getting:
<anemofilia>guix system: error: aborting reconfiguration because commit 44bbfc24e4bcc48d0e3343cd3d83452721af8c36 of channel 'guix' is not a descendant of 6e1215fb9c03ccb4a2d4440990aee5a66a935268
<anemofilia>I tried to guix pull, but it didn't make a change
<anemofilia>What should I do?
<juliana[m]>you can add --allow-downgrades but be very sure no one is person-in-the-middle attacking you first
<juliana[m]>or in some other way serving up a fake channel
<anemofilia># guix system reconfigure /etc/config.scm --fallback --allow-downgrades
<anemofilia>guix system: warning: rolling back channel 'guix' from 6e1215fb9c03ccb4a2d4440990aee5a66a935268 to 44bbfc24e4bcc48d0e3343cd3d83452721af8c36
<anemofilia>guix system: error: wpa-supplicant-dbus-group-policy.patch: patch not found
<anemofilia>IDK what to do :/
<juliana[m]>run guix pull and try again perhaps? that's what i'd do
<mirai>anemofilia: did you install/reconfigure from a local guix checkout?
<anemofilia>Actually I am having problem with .cache/guix/checkouts since I installed guix, I usually remove it when I get a problem (Some user from here recommended me to do so)
<anemofilia>mirai: I don't know what you mean by it tho
<Guest58>hey, has someone a configuration for cgit?  Need to see the syntax since I am unsure how I define it
<cbaines>anemofilia, are you reconfiguring as root, or using sudo -E ?
<anemofilia>As root
<cbaines>OK, and did you last reconfigure as root?
<anemofilia>The problem is, I broke setuid in the last reconfigure
<anemofilia>So can't use sudo
<cbaines>Right, if you last reconfigured as a different user using sudo, you can use that users Guix as root to do the reconfigure
<takev[m]>Does the previously working generation still exist? If you are using grub, you could probably boot into that version.
<cbaines>that should avoid the downgrade issue
<anemofilia>I tried to boot in previous versions, but setuid seems broken there too
<anemofilia>cbaines: I'll try it
<mirai>lilyp_: Hi, I've reworked the tests for serialize-options <>, let me know if I missed something
<mirai>Guest58: there's an example provided in the manual iirc
<lilyp_>I think the inner groups should have "serialize" instead of "serializer" in their label
<lilyp_>same for the tests
<mirai>lilyp_: oh right, thanks
<lilyp_>Other than that it LGTM and seems to cover all cases we talked about last time
<Guest58>mirai: the example is only for an empty cgitrc
<lilyp_>though I'm not quite sure whether recursive test-groups work as expected, but you'll probably know better than I do here
<mirai>afaik test-groups can be (arbitrarily) nested
<mirai>in the very least, the log shows the actual test passing
<mirai>Guest58: oh right, I remember seeing a more complete config somewhere
<mirai> <>
<mirai>it's not the simplest of configs but perhaps you can use it as a reference?
<sughosha>Hi all! I want to delete-file-recursively all the folders excluding few ones. It is difficult to delete them each. Is there a way to delete all excluding some?
<Guest58>mirai: Thank you
<juliana[m]>map delete-file-recursively over a list of all the files you want to delete, probably generated by using Guile's ftw to collect all child files of some given directory (such as the repository root) and filtering out the ones you don't want to delete
<juliana[m]>that's one way anyway
<juliana[m]>(idr if there's a delete-file procedure in Guile or Guix you could use jic you want to delete some subset of a child's children but there probably is)
<sughosha>juliana[m]: I did not get it, how to map first and then exclude. Any example would help me understand.