<nckhexen>futurile: The rule of thumb is: always assume you're cross compiling to a different architecture. Does the package need to run on the build host (=native-input) or on the eventual target host (=input)?
<nckhexen>That should also make it clear that native- vs. not isn't a ‘property’ of a package. It's perfectly possible and not unheard of to have (inputs (list foo bar)) (native-inputs (list baz bar)).
<nckhexen>The native bar & regular bar are both valid & coexist.
<futurile>ah ok - hmm I need to go read about it a bit more
<nckhexen>When you run ‘guix build --target=aarch64-linux-gnu hello’ on your x86_64 laptop, all native-inputs will be x86_64 (compiler, make, pkg-config, etc.) and all inputs will be aarch64 (uh, libhello, libpng to render the hello, I chose a bad example but you get the point).
<nckhexen>Of course the common case is to build x86_64 software on a x86_64 host, and there really is no difference between native-inputs and inputs. And this leads to a lot of confusion and sloppy code, to the point where many packages in Guix are in fact buggy and downright wrong.
<nckhexen>But there is always a clear right answer.
<apteryx>podiki: sounds good to me too (graphics-team)
<apteryx>although you may have to support gimp, haha
<podiki>do we currently describe teams scopes in words anywhere? I mean some are self explanatory, but might be nice to have a reference (in Contributing section?)
<podiki>or a doc string in teams.scm and manual can point people to see who's on a team and what they cover
<podiki>oh nevermind we do have that :) i'm out of date
<voroskoi>how can I set +x permission for a guix home file installed by local-file?
<Kolev>lechner, IDK how to install shell scripts into the store.
<ulfvonbe`>voroskoi: use #:recursive? #t, even if it's not a directory
<ulfvonbe`>and make sure the local file in question has +x permission set
<ulfvonbe`>the 'recursive?' name is a bit misleading, it's actually 'not-a-plain-byte-sequence?', but I believe marketing shot that one down
<voroskoi>ulfvonbe`: oh, i just skipped that reading the docs, thanks
<Kolev>lechner, how do I use my personal shell scripts?
<NewGuixUser>Does anyone know how to fix this? "(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (nghttp2-1.41)) (value #f))" I get that error when trying to bootstrap commit 8944f1a4a4bfe65ad83d4926fbdbeb3e11ec7728
<NewGuixUser>Basically I need to get an environment with Python 3.8.5 and a few specific Python packages and that commit is where 3.8.5 was introduced in guix
<podiki>NewGuixUser: it means you are trying to use a variable nghttp2-1.41 that doesn't exist, must not be in that commit
<podiki>not sure what you mean by "bootstrap" that commit, but have you tried time-machine?
<NewGuixUser>podiki: I am using time-machine. By "bootstrap" I mean it's needing to do a full source build of everything since the binaries no longer exist on a substitute server
<podiki>are you using other channels or your own code? because something is referencing nghttp2-1.41
<NewGuixUser>Is there something wrong with this command? "guix time-machine --commit=v1.4.0 -- environment -m manifest.scm -c 0" I'm getting the following error "guix time-machine: error: Git error: unable to parse OID - contains invalid characters" but I know that tag exists
<sneek>civodul, apteryx says: neat little procedure in build-package-metadata.scm: package-variable-name it's clever!
<NewGuixUser>Oh I figured it out, for some reason my guix pull wasn't grabbing the most up-to-date code so I didn't have that tag. I just ran guix pull a couple times and it fixed itself.
<Altadil>Hi everyone, some time ago I sent some patches to the list, but, silly me, the issue I sent to is actually closed. I wonder what I should do : re-open the issue, or send the patches again to make a new issue ?
<mothacehe>Hello, what's the ticket number of the closed issue?
<rekado>Emacs tells me that your parentheses are not matched
<Altadil>I have a weird error when trying to use make in my guix checkout : it does not find guile development packages, but guile is working fine and… the problem does not happen from a new git checkout. Am I missing something ? Or should I rather start over from the new one ? :/
<gabber>maybe the fortune-mod removal discussion did not happen on a public mailing list? i don't need to know who said what but WRT the outcome i'd like to know the reasoning.
<gabber>i guess this was due to fortune-mod's offensive content?
<rekado>Altadil: are you doing this inside “guix shell -D guix”?
<rekado>Altadil: whenever something weird like this happens on my machine I always suspect environment variables. It’s a good idea to check the output of “env” to see if anything obvious sticks out as wrong.
<Altadil>rekado: yes, to be precise guix shell -D guix help2man git strace (and I also tried adding guile explicitely). This is just after a guix pull.
<adanska>guys i think i killed my guix install with hibernate! i used `loginctl hibernate` a few days ago, before i added the `resume` kernel parameter in a system reconfig. i did the reconfig a few days later, and when i booted again it loaded up the hiberation file from all the way back then. i panicked and shut off my system, but it wouldnt fully shut down, so i forced it off. i think it borked my file system, cos when i booted back up it wasnt able to mount my f
<adanska>unfortunately i didnt read that before ;;( i would have been a bit more careful. do you think i should just abandon attempts to rescue the system and start from scratch?
<adanska>thankfully i have my configs checked into vc, so it would just be a matter of time, really.
<nckhexen>Honestly… I think that might be a better use of your time. Your diagnosis is correct: the hirernated kernel basically time-travelled and doesn't (and design-wise can't) know that the file system layout basically changed under it. So it will write pending and new data to ‘random’ posititons on the disc, and completely trash metadata trees because they've moved around, etc. It's a very aggressive form of corruption compared to others.
<nckhexen>I wish loginctl would at least warn about this, I don't think we as distro are in a good position to fix this. We could try, but our attempts would be awkward & heavy-handed.
<adanska>perhaps the easiest thing would be to put a warning in the docs. i came across https://issues.guix.gnu.org/59746 , but i cant find the entry in the manual online. it was pushed a while ago, so idk why it isnt there.
<civodul>zombies as in stale SSH connections, right?
<nckhexen>If you tell me how, gladly, but otherwise: I'm on phone and not able to do own research right now.
<nckhexen>Zombies as in 'Z' state sshds, but I think that's what you mean.
<nckhexen>This machine accepts cron back-up jobs that retry every 10 minutes on failure, so that's probably how they got created.
<nckhexen>ACTION away a bit, but let me know what to do and I'll do it, it's not urgent.
<zamfofex>Hello, Guix! I hope no‐one minds me asking, but it’s been a week since I opened <https://issues.guix.gnu.org/66654> so I was wondering if anyone would mind taking a look into it. I noticed I forgot to add myself to the copyright header, though.
<rekado>zamfofex: I’ll make a few changes and push it.
<rekado>you already have a line in the copyright header
<nckhexen>civodul: The system's older than I thought (27 Aug), so if it's OK with you'll I'll update & reboot it & see.
<attila_lendvai>am i supposed to add the fstrim-service-type myself? a quick grep'ping suggests that it's not included among the default services. if so, i've been unadvertently running without trim for years...
<nckhexen>If your file system doesn't auto-discard.
<nckhexen>And yes, you're expected to explicitly add it if you want to trim on a schedule.
<attila_lendvai>heh, after reading the guix manual, the source code, and then this discussion here... i'm now more confused whether i'm fine, or i should enable something on my guix system... :) (full disk encryption, ext4)
<aldum>I got the impression that you regard the discard mount option as the same
<aldum>of course, doing a TRIM every time would wear it quickly, but I don't think that's what happens when you enable that
<attila_lendvai>and while we are at it... using TRIM and encryption together probably has non-trivial implications.
<nckhexen>I say this too often, and I'm sorry, but I have a patch *somewhere* that allows setting LUKS options like discard, which I don't think is possible in upstream Guix yet…
<attila_lendvai>no one told me that btrfs will be this much more CPU hungry... i'll need to migrate away on an old x200 laptop.
<attila_lendvai>summary for trim on a full disk encrypted guix: luks2 headers can have flags, and allow-discard is one of the flags. grub didn't support luks2 for quite a while, the shipped grub maybe still doesn't? guix doesn't (?) provide a means in its config to enable discard for dm-crypt. corollary: you most probably don't have trim enabled.
<civodul>nckhexen: before rebooting it’d be great if you could gather useful debugging info, such as running sshd processes and children, output of ‘netstat -tupla’, /var/log/messages, things like that
<nckhexen>Even if this system is 2 months old? OK.
<attila_lendvai>nckhexen, i've just considered to look into adding support for discard in cryptsetup/luks on guix. i'd appreciate if you could take a quick look into those patches, to avoid duplicating our efforts.
<nckhexen>Allegedly, there is some claimed narrow path you can walk to use Guix System with a specific LUKS2 configuration/subset, but I'm with you.
<attila_lendvai>yeah, it's possible, but not worth the trouble just yet. (the key benefits of luks2 are not supported yet) although, such a limited luks2 header could be used to enable discard support (i think)
<PotentialUser-70>Im still trying to set up wireguard and now it gives a rellaly strange error: guix system: error: service 'xorg-server' requires 'elogind', which is not provided by any service
<jackhill>lilyp: found a bug with the gnome-team updated epiphany: uploading files doesn't work. Sounds to me like a problem with the portal/sandboxing. Do you know if there are desktop portal incompatibilities between the master branch and gnome-team?
<cbaines>jackhill, I know it's still showing an error, but now it looks good at least, all three commits are shown on the page
<phf>Hi! After executing `./pre-inst-env guix build --rounds=2 elixir-dialyxir', I received the following error: "output ‘/gnu/store/…-elixir-dialyxir-1.4.1’ of ‘/gnu/store/…-elixir-dialyxir-1.4.1.drv’ differs from the previous round." Apart from examining the source code for typical non-determinism issues, do you have any tips?
<PotentialUser-70>My config with wireguard gives me guix system: error: build of `/gnu/store/75gw9b8xrmja7m02jrkq73dsl99hd07x-wireguard-linux-compat-1.0.20201221.drv' failed
<nckhexen>phf: Start by using diffoscope to inspect both outputs. You'll still often have to perform leaps of pattern recognition (‘that looks like a timestamp’) but it's more productive than combing through the source code.
<nckhexen>PotentialUser-70: In general: give more information. In this case, Guix will have mentioned an error log. Decompress it if it's compressed and share it here.
<nckhexen>jaeme: I urge you to start writing a patch, because as a Pipewire enthousiast™ you're most likely to know all about it. If you get stuck with the Guixy part, it's easier for us to help you with that.
<rekado>applications that are linked with pulseaudio would still only be able to speak to a pulseaudio-compatible daemon
<nckhexen>PotentialUser-70: ‘Here is a configuration example for Linux-Libre < 5.6, where the module is out of tree and need to be loaded manually—following revisions of the kernel have it built-in and so don’t need such configuration: ’
<nckhexen>Don't blindly copy & paste code snippets, it won't end well.
<nckhexen>PotentialUser-70: I think you can do without everything but the (packages …) part of that example.
<gx1>Trying to install guix this week on an x220 which was previously running slackware. After successfully running the installer, on boot I just get a choice of drives and when I select one, it just flashes a cursor for a second and goes back to the 'select disk to boot from' screen (not an actual bootloader like grub). Tried legacy and efi settings
<nckhexen>Well, if you try again in UEFI mode and it doesn't, I'll certainly be surprised.
<nckhexen>I don't think the 220s differ significantly from the 230s, with which I've never had issues.
<NewGuixUser>rekado: I tried to build python 3.8.5 with a simple transformation to swap out the url like you had demonstrated for other python packages and get an error about missing zlib. When I look at previous commits where guix included 3.8.5 I don't see zlib specified as a dependency
<rekado>for 3.8.5 I’d actually use the known-good recipe from guix-past (maybe also disable tests to save time)
<rekado>and then use the transformation on your list of Python packages
<jackhill>nckhexen, rekado: we have the compat daemon (which is upstream's recommened way, not just some Fedora shim) as pipewire-pulse in the pipeware package. I tested starting by hand and it does indeed work.
<jackhill>(and means you can use qpwgraph for instance to do neat audio routing).
<nckhexen>‘starting by hand’ — could it be made to be autostarted by clients like I understand that PA is?
<jackhill>I don't know what it would take to make it the default. Currently we have pulseaudio configured to be started automatically the first time a client tries to connect, so pipewire would either need to do the same thing or already be available. Yes, probably but its the details I don't yet know that are important.
<jackhill>anywya, I'd be happy for jaeme to become the enthusiast, but I can test and cheer
<jackhill>ACTION needs to take the home services plunge someday
<nckhexen>I'll happily test it and review patches, but I'm not going to take it upon myself to learn myself yet another thing just now :)
<snape>does it make sense to source pre-inst-env in .envrc ?
<NewGuixUser>Does anyone have an example of how to reference a package from guix past? I know I've included the channel properly since I see "Updating channel 'guix-past' from Git repository at 'https://gitlab.inria.fr/guix-hpc/guix-past'...", I'm just not sure how to reference the path in my use-modules list.
<jackhill>oh, another reason to prefer pipewire as the sound server: finally pulse and jack clients can talk to the same server
<NewGuixUser>Is there a way with a package transformation to graft a package onto all other packages that require it? I am now building python 3.8.5 from guix-past but am getting test case failures on other python packages and I see in the logs they're building against 3.9.9. I suspect that may be part of the problem. I see that "guix build --with-graft" will
<NewGuixUser>allow me to graft a single package, but I'd really like to do it for all python packages.
<santiagopim>snape: when login in the system there was an error/warning about on-first-login that made me crazy :)
<podiki>you may want to also see input rewriting, if you really need to change the dependency tree (but will of course be slower than grafting)
<NewGuixUser>podiki: Yeah I've been looking at that manual page and it looks like I've been calling those functions properly in my manifest.
<NewGuixUser>And it just crashed on building python-pytest-asyncio. For some reason it looks like it's still using 3.9 instead of 3.8.5. Aside from that, it looks like maybe it's a pytest version incompatibility since it's complaining about a missing attribute. https://pastebin.com/i235PkpV
<NewGuixUser>Ok so I think the issue is that pytest-asyncio has a hard requirement on a newer version of pytest than what I need. As far as I know I don't need pytest-asyncio for anything, the only reason it's being built is because I applied a transformation to python-pytest
<vivien>I tried to fix #66689 so that QA would start building it, but I think it’s worse now.
<lilyp>vivien: gnome-team has low priority and you're doing a world rebuild; chances are it's not been picked up with all that other CI load
<vivien>I had an error message when the build machines were overloaded
<vivien>And then it disappeared, but the build did not start anyway
<vivien>I’d like to try one more time, with author dates a minute apart.
<nutcase>I don't know if anyone is interested in going that way
<gabber>nutcase: interesting! wouldn't you also want to start wireplumber and pipewire-pulse (at least that's what i have in my sway config file to be started manually on login)
<nutcase>gabber: indeed that would make sense. I had some issues with wireplumber: I have no audio (in web browser based conferencing like BBB) when I start wireplumber the same way. Without wireplumber I can't share screen or windows (only browser tabs). So when I have pulseaudio and pipewire running, I can start a web conference with audio. Then I can run wireplumber in a terminal and add screen sharing.
<nutcase>I know that this is far from good. Maybe I can learn from your configuration to make all that work nicely?
<nutcase>I'm on sway as well and I'd be fine to drop the shepherd user service.
<jpoiret>nutcase: i'd suggest running wireplumber with verbose output and seeing where it's not happy
<jpoiret>also, for wireplumber to work you might need the xdg-desktop-portal infrastructure working as well
<gabber>nutcase: bold of you to assume that i can do conference calls (or screen sharing) (:
<nutcase>jpoiret: xdg-desktop-portal(-wlr) are running
<gabber>my config is really just `exec --no-startup-id PROG &' for each of the programs
<nutcase>I even haven't understood, what I really need: May I uninstall pulseaudio in favor of pipewire(-pulse)?
<gx1>having a weird time with X on a new install, usually I use .xinitrc and startx. Right now I'm getting 'cannot open /dev/tty0 (permission denied)' when I try to start an x session, and it can't find the version of xorg which was installed so I have to pass '-- /run/current-system/profile/bin/X' to get it to run at all. Am I missing something?
<gabber>by "usually" you mean on other Guix Systems? or with different flavors of GNU+Linux software distribution?
<gx1>I mean on other systems, this is my first guix install
<gabber>it is easiest if you have a desktop-manager service installed (like gdm), e.g. by appending your own services to %desktop-services
<gabber>though i've heard of people starting sway (?) manually. but that's wayland, not Xorg
<gx1>I see, I currently don't have that in my config.scm file. What I usually do with most other distributions is opt out of the DE options in the installer and set it up on my own in order to avoid having excess software / a setup I don't understand, and because my desktop env isn't usually a default option anyway. Am I going to have a hard time
<gx1>configuring those options myself as a new guix user?
<lilyp>IIUC there's a service for directly starting X, though I personally recommend a WM as well
<gx1>I do use a a window manager I just don't use a login manager
<lilyp>you can get quite a lot of minimalist desktop environments (like ratpoison etc.) by installing them to your system config
<gx1>I tried using slim but it failed without giving me the x error message :/
<lilyp>ahh, yeah, I confused window managers and desktop environments in the above :P
<gx1>I'm still too new to know what you mean by 'installing them to your system config', is bspwm one of the supported ones?
<lilyp>it means adding the package name to the (packages …) field of your config.scm
<lilyp>"root level" and "operating system config" are distinct imho, but you do you – regular user directories are chmod 700 so it's kinda hard to pick up your local packages
<gx1>I'm not trying to do me, I just don't know how guix works yet. I assumed that '/etc/config.scm' would install things the way they would be installed for the root user on other systems/package managers and all the local stuff was just in guix-profile. I pretty much assumed this because the guix autocomplete only shows packages which were installed
<apteryx>any clue as to how to correctly handle 'leave' conditions from external software relying e.g. on (gnu packages) ?
<apteryx>I stumbled upon something it while using specification->package+output
<jaeme>How do you cc team members in git send-email?
<gabber>the manual says: "If your git checkout has been correctly configured (*note Configuring Git::), the ‘git send-email’ command will automatically notify the appropriate team members, based on the scope of your changes."
<graywolf>Guix (during make) actually modifies files in .git/, so it should "auto configure".
<gabber>as long as you send it to the correct addres (issue number if it's not the cover-letter main) everything is fine. there's no need to fiddle around with any headers. and yes, you may (and should) cc: the team members, that's what they are for (:
<jaeme>gabber / graywolf : thanks for helping, it turns out I was following the stable manual instead of latest which tells one to send their cover letter to email@example.com
<rekado>you’d do (define use-python-3.8 (package-mapping replace-python cut?))
<rekado>prior to that you’d define replace-python as a procedure that given a package 1) checks that it uses the python-build-system and 2) replaces the “python” package (just as it is done in the guix-past example)
<rekado>and you’d define “cut?” like it’s done in guix-past as well
<NewGuixUser>I think I'm getting confused. I don't want to rebuild everything that uses the python build system, just the specific packages I need (and their dependencies). Can I not just compare (package-name p) against my list of packages in the cut? procedure?
<jbnote>hi there, is there a way, in a system declaration, to refer to the install directory passed to guix system init ? I'm thinking about the grub-efi-netboot-bootloader argument targets, which i'd like to systematically install to guix-system-init-directory/tftpboot/.
<rekado-web>(oof ERC is acting up and doesn't let me submit lines)
<rekado-web>NewGuixUser: transformations are applied recursively