IRC channel logs


back to list of logs

<lfam>The name it's given in the output of `xrandr`
<leoprikler>IIRC that should be HDMI-1
<Victor>I got disconnected
***Victor is now known as Guest84798
<Guest84798>I'm still trying to set my resoluton higher using xrandr.
<Guest84798>I did a google search on the problem, they said it might be caused setting the HDMI type to 1.2. And that ssetting it to HDMI 1.1 might fix it. They were talking about Ubuntu though.
<hendursaga>Is there any other criteria beyond must be open-source for a package to be included in the GNU Guix main/default repo?
<leoprikler>Yes, quite trivially someone must put the effort into packaging it :)
<Guest84798>should I put the mode to auto?
<leoprikler>try `xrandr --output HDMI-1 --mode 1920x1080`
<Victor_>@leo did not work, just logged me out again.
<leoprikler>and the output in /var/log/messages from roughtly that time?
<leoprikler>Okay, so for the record it is now July 13th 15:20, rightß
<leoprikler>ß -> ?
<Victor_>this one shows the last 100 lines, if that helps.
<leoprikler>and at 15:03 you already tried that thing through GNOME or something else I assume
<bdju>lfam: thanks for the clue, I was able to just remove a line from a cache file and now wofi defaults to a fresh minetest
<leoprikler>btw. do you have gnome-initial-setup running at the moment?
<hendursaga>I used guix lint and it says it's not uploaded to Software Heritage; do I need to do that manually or...?
<Victor_>Should I run it?
<Victor_>do I have to install "gnome-initial-setup" first?
<leoprikler>gnome-initial-setup is already installed and runs on a fresh install
<Victor_>oh okay, how do I open it?
<leoprikler>You don't and you can't unless it autostarts with your session.
<Victor_>Oh okay, I guess it didn't then.
<leoprikler>I just wanted to make sure that it is not running
<leoprikler>Because your logs suggest that it segfaults
<leoprikler>Either way, this is probably not the cause, but the result of something else – that something else being a crash in X probably caused by a nouveau driver failure
<Victor_>Oh okay
<leoprikler>for the record, how large are your greeter logs in /var/log/gdm?
<hendursaga>Yay! I submitted my very first patch! :)
<Victor_>How large? What command would I use to determine that?
<Victor_>4096 bytes if I'm reading this output correctly.
<nckx>hendursaga: Congratulations!
*nckx refreshes; no dice.
<leoprikler>sudo ls -l, /var/log/gdm is a folder that's only available to root
<leoprikler>hmm, anything interesting on the tail end of greeter.log.1?
<leoprikler>and before that?
<leoprikler>okay, that's... not what I expected
<leoprikler>and this only happens when changing resolutions?
<Victor_>I'm not sure what you are referring to,
<Victor_>What in the logs are you referring to?
<Victor_>I'm not sure exactly what time I changed the resolutions but I've done it several times in the last several hours. Hope that helps.
<leoprikler>I mean the crashes only happen when you are changing resolutions, right?
<leoprikler>Not stuff like "waking the PC up after X minutes" or something
<Victor_>It logs me out.
<Victor_>No, as soon as I change the resolution I am immediately logged out.
<leoprikler>"It logs me out" is just a nice way of saying the session crashes ;)
<Victor_>Oh I see :)
<Victor_>I didn't know that. I still am an amature Linux admin lol.
<leoprikler>Well, it does appear much more graceful without all those big and intimidating error messages, that other systems would throw at you.
<Victor_>What can I do? I know you guys are against non-free software, but I feel like I'm out of options.
<slimjim>follow-up question about the guix singularity package: I think the 'install' step of the singularity package is supposed to essentially mkdir -p /var/singularity/mnt/{container,final,overaly,session}, but since I was using the default subsitute server, that script never ran and those directories didn't get created
<slimjim>so even though I have the package downloaded, is there a way to force it to be built from source?
<Victor_>Would buying a different card help?
<slimjim>I tried "guix remove singularity" followed by "guix build --no-substitutes --check singularity" but it didn't seem to do anything
<leoprikler>slimjim: guix packages don't have such a thing
<leoprikler>you're probably looking for a service
<leoprikler>Victor_: yes, older cards play more nicely with the nouveau driver
<slimjim>I'm running guix as a package manager on a foreign distro (ubunto 18.04 x86_64)
<slimjim>and "guix install singularity" works
<slimjim>but trying to run the installed singularity fails
<Victor_>What card would you recommend leoprikler, I'd like to get the best card I can for about $150, maybe $200.
<leoprikler>yeah, because the singularity package on its own does nothing without the service
<slimjim>singularity doesn't use a daemon I thought
<leoprikler>A service is not necessarily a daemon
<nckx>slimjim: There's a singularity-service-type. That's what would create those directories on Guix System. On another distribution, you'll have to do so manually.
<slimjim>I see
<slimjim>well, the 'make install' step in the singularity source code sets them up
<slimjim>that's why I was hoping to force a rebuild from source
<nckx>Guix doesn't work like that.
<leoprikler>Victor_: I'm not sure, I'm running on a pretty low end myself (< 50€ IIRC).
<nckx>Package builds can't touch your system.
<nckx>Only /gnu/store (and then only their subdirectory in it).
<slimjim>oh, are builds done in containers?
<nckx>Something like that.
<slimjim>or mount namespaces, chroots, what have you
<vagrantc>some of all of the above
<slimjim>I see
<leoprikler>Environment magic
<slimjim>well that makes sense, you don't want the builds modifying your system
<nckx>Exactly that. Container is just an ill-defined marketing name for ‘some of all of the above, when it suits us’ 😉
<slimjim>I guess I wanted it both ways XD
<slimjim>hm so I might need to install singularity from source myself then
<nckx>Guix doesn't have post-install scripts or anything, by design. But really, having to mkdir /var/foo once with the right permissions isn't that unusual.
<slimjim>yeah I'm just not sure whatever other magic I'll need to do
<slimjim>was trying to follow along and try out 'guix pack -f squashfs' and then though I could use the singularity package in guix to run it
<nckx>I can't help you there. Try doing what the Makefile would do, if it looks sane.
<leoprikler>You can look at the service type in our sources
<leoprikler>it sets up those directories and some setuid symlinks
<nckx>right, or ☝ if you can read some Scheme.
<Victor_>would reinstalling the nouveau driver help?
<slimjim>I see, steps appear to be in docker.scm definition of %singularity-activation
<leoprikler>Not really, but it might get better in later versions.
*nckx wonders how setuid programmes work on a foreign distro, since you can't setuid a symlink.
<slimjim>hmm maybe I just just install from the upstream source
<vagrantc>nckx: probably same way it works on guix ... copy the binary to somewhere else
<slimjim>my distroy (ubuntu 18.04) comes with singularity 2.4 but that appears to have separate issues of its own
<nckx>vagrantc: ‘Same’? Big difference is who's doing the copying (and the tedious work of keeping them up-to-date.)
<leoprikler>Victor_: you can also try parameter magic on boot, but I'm sadly no expert on that.
<vagrantc>nckx: yes.
<nckx>cp /gnu/store/bin/foo ~/.local/bin is one thing, remembering to do it every time is the fun part.
<vagrantc>you could also write simple setuid wrappers ...
<nckx>I hoped there was some clever in-Guix solution.
<leoprikler>well, yes, we call it Guix System :)
<slimjim>one other thing I did notice though: when trying to run the guix-provided singularity package under "guix help", the help can't display and I get a bunch of errors about no egrep: command not found
<vagrantc>leoprikler: hah. exactly what i was thinking :)
<slimjim>I suspect that's b/c the singularity wrapper sets up path to be coreutils bin
<slimjim>and there's no egrep in there
<slimjim>*run "singularity help", rather
<nckx>Guix System on a foreign distribution, yes, yesss 😈
<leoprikler>Just one init away from all your worries :D
<slimjim>trying to dip my toes in first :D
<nckx>I think someone came in here once after ‘sudo guix system init’ing their Fedora box…
<nckx>who knows, but they sounded to confused to be trolling.
<leoprikler>I think there are some blog posts out there advocating for this style of installation on servers, where you can't really get an OS-less configuration to work with.
<vagrantc>no real reason it wouldn't work, other than cruft left over
<nckx>I'm too anal to tolerate the junk it leaves behind but yes, it works.
<slimjim>is there a guix package that does provide an 'egrep' binary? It's not in 'bash' or 'coreutils'
<nckx>slimjim: grep 😉
<slimjim>singularity tries to execute 'egrep' directly
<athune>I just attempted to send my first guix patch, but I'm not sure I did it right. I made a patch series and sent the first mail to, but there's no reply;I thought I would get a number to send the rest of the patch series to
<slimjim>it can be set up as a shell alias for 'grep -E' but that doesn't work if I want to guix pack and then run something that relies on egrep
<slimjim>so ideally the thing that provides 'egrep' would be a propogatd-input to the singularity package
***Victor is now known as Guest31679
<nckx>athune: You should. New users are moderated by default, but the moderation queue is empty, so the system's probably clogged. Nothing to do but wait if so.
<vagrantc>athune: sometimes takes a while for the response to come through
<Guest31679>@leoprikler I instaled the propriteary nvidia drivers, how do configure Guix into using them now.
<athune>Ah alright, thanks. Ill wait then.
<nckx>slimjim: Ideally-ideally, Guix's singularity would be patched call /gnu/store/…/bin/egrep. Propagation pollutes profiles.
<nckx>*to call
<slimjim>ha yeah, in the meantime I was hoping there was just another package I could specify in my guix-pack invocation that would provide an egrep binary
<nckx>What do you mean by ‘directly’? I'd expect it to use $PATH, at least, but you're saying it doesn't?
<slimjim>I mean it does use path, but there is no binary called 'egrep' in PATH
<slimjim>it's not provided by coreutils
<nckx>Putting grep into your pack would put egrep into $PATH, if packs work like I think they should (not a user, but they're basically profiles, right?)
<leoprikler>what about the grep package?
<leoprikler>Guest31679: We are talking about Guix System here, right?
<slimjim>yeah that should have been obvious
*nckx going to ‘fix’ singularity since it's clearly the right thing.
<slimjim>so nckx you are saying adding 'grep' to the propogated-inputs of the singularity package (since 'singularity help' tries to invoke egrep to process its help messages) woudl be bad?
<nckx>Oh, singularity is written in bash? Or at least the parts calling egrep. OK. Cool/weird/whatever.
<leoprikler>yep, propagated-inputs are messy
<nckx>slimjim: Not ‘bad’, but ‘to be tried last’.
<nckx>We propagate the hell out of, say, Python packages, but in general it's a bad (if understandable) lazy reflex.
<nckx>If patching isn't an option wrapping often is.
<slimjim>so how would you handle it in such a way that a 'guix pack singularity' automatically gets grep put inside the resulting output?
<nckx>And sometimes you just have to grind your teeth & propagate, e.g. .pc files that ‘require’ a certain library. No nicer way to handle those yet AFAIK.
<leoprikler>`guix pack` puts all inputs (regardless of propagated or not) into your pack
<leoprikler>so singularity would have a reference to the correct /gnu/store path once patched
<leoprikler>and that path would be in the pack
<slimjim>I see
<slimjim>I thought propogated-inputs was the right place to put things that were only needed at runtime?
<leoprikler>depends on what you mean with "only at runtime"
<leoprikler>if you mean "ahh, I have this C program, that execle's /bin/sh", then no
<nckx>slimjim: Don't think of ‘native/propagated/inputs’ as ‘build-time/run-time/dependencies’, it will hobble you later. They do not map like that.
<slimjim>although in this case it's not strictly *needed* per se, since the program still runs, just can't display its help output
*nckx afIRC to patch singularity.
<slimjim>ok I'll try to keep that in mind
<leoprikler>if on the other hand you have an input, that will be required by all packages using your package, or that provides some resource that you can't simply get through packaged sources, you need to propagate
*leoprikler → zzz
<slimjim>sooo, if grep were in the propogated-inputs of singularity, then if you installed singularity, you'd automatically get grep in your profile/PATH, which is the "polluting" you were talking about. But on the other hand if you list it as a regular input, and then patch solidarity to use the full path to egrep in the store, it still works
<slimjim>but isn't polluting
<slimjim>thanks for explaining
<nckx>slimjim: If you guix pull, singularity will depend on egrep.
<nckx>Our singularity is old…
<slimjim>nckx: thanks for the update!
<slimjim>that was fast :)
<slimjim>how long does it usually take for the binbary subsitutes to hit ci.guix?
<slimjim>hm was trying to get the version of guix I'm on to see if the 'guix pull' took effect, and I get guix describe: error: failed to determine origin. hint: Perhaps this `guix' command was not obtained with `guix pull'? Its version string is 1.1.0.
<slimjim>even though I ran 'guix pull' and it completed successfully
<nckx>slimjim: What does ‘type guix’ say? And after you run ‘hash guix’?
<nckx>slimjim: <CI> in this case, probably longer than it would take to build singularity yourself. There are some undiagnosed inefficiencies keeping ci.guix down.
<slimjim>guix is hashed (/usr/local/bin/guix)
<slimjim>and `hash guix` has no output
<nckx>But ‘type guix’ then?
<slimjim>still says guix is hashed (/usr/local/bin/guix)
<nckx>slimjim: So it should say /home/you/.config/guix/current/bin/guix, that's where the new pulled guix will always be kept.
<nckx>I can't say who's responsible for adding that to $PATH on a foreign distro, unfortunately.
<slimjim>readlink -f `which guix` says /gnu/store/p7jcjqcaw66g05zjim0famggfwpna8k0-guile3.0-guix-1.1.0/bin/guix
<nckx>slimjim: I prefer ‘type’ over ‘which’ because the former actually prints what your shell thinks (and hence will run), while which is a completely separate programme (it uses ‘the same rules as bash’, but…)
<nckx>That aside. It's clear ~/.config/guix/current is missing from your $PATH, right?
<slimjim>/usr/local/bin/guix -> /var/guix/profiles/per-user/root/current-guix/bin/guix
<nckx>That's all correct.
<nckx>But the pulled guix should ‘mask’ all that.
<nckx>By being first in $PATH.
<slimjim>yeah I have ~/.guix-profile/{bin,sbin} in PATH
<nckx>But not ~/.config/guix/current.
***catonano_ is now known as catonano
<slimjim>I source $GUIX_PROFILE/etc/profile
<slimjim>which is the only thing that modifies my PATH to add guix stuff
*nckx reading (guix)Binary Installation, since they use only Guix System…
<slimjim>I ran
<slimjim>which was the recommended way in the manual
<nckx>I'm waiting for someone else's foreign Guix to boot so I can SSH into it to see how things are done there.
<nckx>Just a normal Monday night.
<slimjim>hmm, seems like the install script creates /etc/profile.d/
<slimjim>maybe I just need to source that from my ~/.profile or .bashrc
<slimjim>as those scripts do not seem to have been run automatically
<slimjim>maybe I need to log out and back in
<nckx>slimjim: I'm reading etc/
<nckx>and am wondering if /etc/profile.d/ is not being sourced on your system.
<nckx>Oh 🙂
<nckx>slimjim: Yes, seems like a plan.
<nckx> /etc/profile.d should be sourced from your distro's default /etc/profile.
<slimjim>yeah this is all fresh, I haven't logged out since first running the installer and starting to play around with things
<nckx>I wouldn't add it to your personal dotfiles without checking that first.
<slimjim>at any rate it does NOT seem to be sourced when I just open up a new terminal
<nckx>Good, that would be correct.
<nckx>The installer can't source it for you either but it should print a warning.
<slimjim>nckx: that did the trick :)
<slimjim>and now 'singularity help' works as expected
<slimjim>thanks so much for the help!
<slimjim>now for my actual potential bug with guix pack -f singularity, I'll have to try to repro the issue with singularity 2.6.1 installed from source
<slimjim>but I gotta run for tonight, thanks for all the help
<slimjim>pack -f squashfs, that is
<nckx>slimjim: Same, bed time here. Good night!
<slimjim>hey so after installing the guix binary distribution on ubuntu 18.04 x86_64, things were working ok till I rebooted my system. Now, whenever I try to run guix commands like guix install or guix pull, I get error: failed to connect to `/var/guix/daemon-socket/socket': Connection refused
<slimjim>I had just done a guix pull prior to rebooting, and guix describe (which *does* still work) says I'm on commit 338f5428d6ca1a76a80e8378650d8b8b5e0600d4
<slimjim>I also can no longer run commands like xterm, tracert (possibly others I think the common theme is they use python3), they instantly crash with a Python error AttributeError: module 'enum' has no attribute 'IntFlag'
<slimjim>I think the issue is I had done a guix install of python2 but not python (python3)
<slimjim>but now I can't run guix install to get python 3
<slimjim>so my system is pretty broken
<branjam>On Ubuntu 20.04 LTS x86_64 I had to manually start the guix daemon with "sudo systemctl start guix-daemon" after restarting.
<slimjim>yeah, I noticed that too
<slimjim>sudo systemctl start guix-daemon
<slimjim>and also sudo systemctl enable guix-daemon
<slimjim>the 'enable' step creates a symlink /etc/systemd/system/ → /etc/systemd/system/guix-daemon.service
<slimjim>which wasn't there before
<slimjim>even though it looks like the script is supposed to run that command
<slimjim>but apparently it didn't?
<branjam>I've noticed the same thing. But my bash-fu isn't strong enough to figure out why it doesn't seem to work like I expect
<branjam>Ironically, I'm trying to run guix system [vm|disk]-image to avoid using systemd, but it wasn't meant to be I guess.
***terpri__ is now known as terpri
<Kimapr>is there a package that contains in guix?
<Kimapr>nvm, found it in gcc-toolchain
<slimjim>ugh. When I install both the 'python' (python3) and python2 packages, my $GUIX_PROFILE/etc/profile has two lines for PYTHONPATH, one that sets it to a python 3.8 path, and the next line does the same thing but adds a python2.7 path
<slimjim>so any time I launch a script that uses python3 (e.g. gnome-terminal)
<apteryx>slimjim: right, Pythons are not to be mixed in the same Guix profile
<slimjim>well I didn't know that and it didn't warn me and my system has been unsuable till I tracked this down... I can't even launch my defaul terminal becaus gnome-terminal is python3 but it was getting invoked with a python2 PYTHONPATH
<slimjim>and actually this was a problem without even insalling python3
<slimjim>b/c the act of doing 'guix install python' put PYTHONPATH=... in my profile that points to a python2.7 directory
<slimjim>and the guix binary installation creates /etc/profiles.d/ which sources the profile in every login shell
<slimjim>so all sorts of default things on the system (like my temrinal...) were broken
<slimjim>b/c ubuntu 18.04 uses python3 by default for a lot of things
<apteryx>that's bad, but why was there a python2 in PYTHONPATH?
<slimjim>the act of 'guix install python' adds the following to my profile
<slimjim>export PYTHONPATH="${GUIX_PROFILE:-/gnu/store/bjkgdznbrxb52bh51rz8hn3n8sprbwjm-profile}/lib/python2.7/site-packages${PYTHONPATH:+:}$PYTHONPATH"
<slimjim>to $GUIX_PROFILE/etc/profile, I should say
<slimjim>which is sourced unconditionally by the /etc/profiles.d/ that the binary installer creates
<apteryx>'python' in Guix is at version 3.8.2
<slimjim>sorry, 'guix install python2' added that line
<apteryx>A warning would be good indeed!
<apteryx>but it would apply to many things so may be not so easy to implement
<slimjim>so it's infeasible to have both python2 and python3 in the same profile, b/c the system relies on setting PYTHONPATH in your profile and it can only point to one or the other?
<apteryx>slimjim: yes; given there's no standard directories to look up libraries like on other systems, PYTHONPATH is used, but that isn't versioned so using more than one version of Python is bound to cause issues.
<slimjim>I'm new to all of this so no idea how much work this would be... but would it be feasible to use a GUIX_PYTHONPATH variable that the guix-provided python interpreters understood? Similar to what you have to do for GUIX_LOCPATH ?
<slimjim>one of the main things that's attracted me to guix was the ability to have multiple versions of different libs/dependencies all at the same time without them interfering
<apteryx>slimjim: we could patch the to do some custom things, perhaps. It was discussed in the past.
<apteryx>Nobody got to actually do it, perhaps because using a different profile is less work for the same result ;-)
<apteryx>but I also think it'd be valuable to be able to have multiple versions of things in the same profile, so you are welcome to give it some thoughts!
<slimjim>not sure if this is an issue on Guix System or not, but when trying to use on ubuntu, there is definitely a need to run different tools that may use different python versions
<slimjim>like things in the gui rely on python under the hood
<slimjim>I couldn't even launch a terminal to SWITCH my guix profile after first logging on
<slimjim>I had to switch down to a virtual console to do it
<apteryx>tools which are scripts don't need to propagate python2 in the system or user profile as they can be simply wrapped in a script that sets PYTHONPATH locally.
<apteryx>So in practice it isn't a too serious an issue, I think.
<slimjim>seems like the only safe way to do this on a foreign distro is to not have EITHER version of python in my default profile
<slimjim>to make sure PYTHONPATH is not being set in my guix profile at all
<apteryx>right, exposing the Guix variables on a foreign distro is often problematic
<slimjim>b/c I still need to use system utilities written in both 2 and 3
<apteryx>I've had my hairs pulled once after trying to augment C system libraries of a foreign distro with those of Guix :-)
<apteryx>That's the reason I've migrated all my machines to Guix Systems
<apteryx>GUIX_PYTHONPATH would be better in that regard (not messing up a foreign distro's Python installation).
<slimjim>it's unfortunate that PYTHON3 didn't create a specific PYTHON3PATH variable that would be preferred if present
<slimjim>do you think, since python-based scripts are so common all over the place, that it would be worth mentioning this in the Installation > Application Setup section of the manual?
<slimjim>I was certainly not expecting 'guix install python2' to break my system
<apteryx>slimjim: A note in the manual sure would be welcome, to invite users of software with such limitation to use multiple profiles
<slimjim>would I need to submit FSF copyright papers in order to contribute an update to the manual?
<apteryx>nope, Guix doesn't assign copyright to the FSF. Each contributor retain their copyright.
<apteryx>slimjim: be careful where the note is placed, depending on its content. There's a section covering foreign systems, another one covering Guix System IIRC.
<slimjim>yeah, the "Application Setup" section says it covers extra setup steps for foreign distros
<slimjim>which I already found quite helpful
<slimjim>for understanding things like locales and the name service cache daemon
<slimjim>is it possible to 'tack on' an extra profile or append them? What I've done so far was create two new profiles just for python2 and python3, with guix install -p ~/my-guix-profiles/python2 python2; guix install -p ~/my-guix-profiles/python3 python
<slimjim>so I keep them out of my main profile
<slimjim>then from my main profile I was hoping to be able to then source ~/my-guix-profiles/python2/etc/profile or the python3 variant as needed to add the extra version of python to my path
<slimjim>and that worked to setup PYTHONPATH appropriately
<slimjim>but it looks like the bits in the etc/profile scripts that modify your PATH do so like
<slimjim>export PATH="${GUIX_PROFILE:-/gnu/store/1b33ynasx76r6dz909x6z2l45491xc5d-profile}/bin${PATH:+:}$PATH"
<slimjim>which means if I already have a GUIX_PROFILE variable devined, it will just use that
<slimjim>which doesn't have python in it
<slimjim>I was hoping to not have to copy all the other applications from my main profile into both the python2 and python3 profiles
<apteryx>slimjim: it should work by just sourcing their etc/profile files
<apteryx>it'll essentially combine the profiles
<apteryx>GUIX_PROFILE is not set by Guix, so if you haven't set it, it won't interfere
<slimjim>but the export PATH="${GUIX_PROFILE:-/gnu/store/1b33ynasx76r6dz909x6z2l45491xc5d-profile}/bin${PATH:+:}$PATH" line only adds the long bit with /gnu/store if GUIX_PROFILE doesn't already exist
<slimjim>so because I'm sourceing it from a shell in which I already have GUIX_PROFILE defined (beccause it's my main profile), sourceing the 2nd profile doesn't modify PATH
<slimjim>it just prepends my existing GUIX_PROFILE/bin a second time
<apteryx>I see. Is it really necessary to define GUIX_PROFILE in the first place on a foreign distro?
<slimjim>the sript recommended on the first page of the manual does that for you...
<slimjim>it creates /etc/profiles.d/
<slimjim>which defines and exports GUIX_PROFILE
<apteryx>so then before sourcing your other profiles you'd have to GUIX_PROFILE= . /some/path/profile/etc
<apteryx>e.g. unset it
<apteryx>but I'm not sure I see what the goals of GUIX_PROFILE are
<slimjim>it seems to be used all over the place
<slimjim>lots of scripts reference it
<apteryx>it's only mentionned twice in the manual, where the user is invited to copy paste some commands
<apteryx>Its purpose is not explained
<slimjim>and every generated profile has a comment at the top of it that says "you may want to define the GUIX_PROFILE environtment variable to point to the 'visible' name of thie profile
<slimjim>so it's highly suggested
<slimjim>literally every profile generated has a comment encouraging you to set that variable
<slimjim>and the installation script sets it unconditionally to $HOME/.guix-profile in /etc/profiles.d/
<slimjim>so if you just run the highly-recommended installation script you don't even get a choice in the matter
<raghavgururajan>nckx: Yep! Gonna try building on bayfront.
<apteryx>you can't still unset it before soucing other profiles, but yeah, I get your point, that's also note worthy
<slimjim>the very first page of the installation section in the manual suggests downloading and running it as root
<raghavgururajan>NieDzejkob: Thanks!
<slimjim>apteryx: I got what I wanted with the following bash shell function:
<slimjim> GUIX_PROFILE=
<slimjim> source $HOME/my-guix-profiles/python2/etc/profile
<slimjim> GUIX_PROFILE=$HOME/.guix-profile
<slimjim>and a similar p3
<mmalter>hmmm i might have a patch for guix-install. Where should I send it?
<raghavgururajan>efraim: Thanks!
<slimjim>so I think that gets me what I want
<slimjim>and avoids having either python in my default profile which gets sourced at login
<mmalter>apteryx: Thx!
<slimjim>apteryx: thanks for your help, gonna reboot my system and see if everything works now
<raghavgururajan>NieDzejkob, I did `guix environment -P ~/.guix-env guix --pure --ad-hoc emacs-minimal` and got "guix environment: error: '--link-profile' cannot be used without '--container'".
<raghavgururajan>-CP did not work either.
<raghavgururajan>Folks! What is the correct command to create GC root for a guix environment?
<Kimapr>> ‘guix environment’ defines the ‘GUIX_ENVIRONMENT’ variable in the
<Kimapr>shell it spawns; its value is the file name of the profile of this
<Kimapr>you can link $GUIX_ENVIRONMENT to your user profiles dir in gcroots
<Kimapr>something like /var/guix/gcroots/profiles/per-user/%USER
<Kimapr>i don't know how correct that is though
<Kimapr>raghavgururajan: ^1-6 (forgot to mention your name)
<terpri>raghavgururajan, guix environment --root=$FILENAME, i believe, and then $FILENAME should be registered as a gc root
<raghavgururajan>Kimapr: I see.
<raghavgururajan>terpri, Kimapr: Can I use ~/.guix-profile ?
<terpri>raghavgururajan, no, i think that *is* a guix profile, i believe you'd want a separate directory (i use ~/guixroots, maybe there's a canonical location i don't know of)
<raghavgururajan>terpri, Kimapr: I did `guix environment --root=~/.guix-env guix --pure --ad-hoc emacs-minimal` and it works \o/
<raghavgururajan>building profile with 55 packages...
<raghavgururajan>guix environment: error: canonicalize-path: No such file or directory: "~"
<raghavgururajan>terpri, Kimapr ^
<terpri>try $HOME instead of ~ maybe
<terpri>(zsh has an option to expand ~ after equals signs, bash may have something similar)
<raghavgururajan>Btw, I could use --user=username right? Since users profile is already registered as gc root?
<terpri>i don't think that's relevant unless you're using containers
<raghavgururajan>Ah I see.
<raghavgururajan>$HOME works \o/
<efraim>debian figured out how to build glibc-2.31 on powerpc
<efraim>I forgot how long glibc takes to build
<efraim>I'll have to try borrowing some of their patches. At least that part I can do on bayfront
<raghavgururajan>Folks! what is the `git push --force-with-lease` equivalent for `git pull`?
<ss2`>heya, I'm trying to set up offloading, but `guix offload status' quits saying `faile to connect to host: No route to host'.
<efraim>what does 'force-with-lease' do?
<ss2`>though I can ssh into the host.
<NieDzejkob>efraim: force if remote has hash passed by user
<NieDzejkob>raghavgururajan: why do you want to do that?
<NieDzejkob>you could do something like git fetch && git merge commit-id, I guess?
<NieDzejkob>or if you want --force...
<NieDzejkob>git reset --keep commit-id
<raghavgururajan>efraim: Whenever I do `git rebase -i` on my local branch and then push it to remote branch, I had to push with that option. Else, I get error.
<raghavgururajan>Now, the remote branch has been rebased, When I do `git pull`, I get merge errors.
<efraim>'git pull' is 'git fetch && git merge', you could do 'git pull --rebase' which would be 'git fetch && git rebase'
<raghavgururajan>I tried --rebase too.
<efraim>I guess if you want to ditch your local files and take upstream then 'git pull --force' or 'git fetch && git checkout origin/master' or whatever-the-branch-is-called might work
<raghavgururajan>Just a sec. Let me explain in detail.
<raghavgururajan>I have a local branch "temp". I usually push my changes to remote branch "temp" at I have also cloned this remote branch at bayfront.
<raghavgururajan>Now: I modified my local "temp" branch via `git rebase HEAD~N --interactive`. I pushed my changes to remote branch "temp" by doing `git push disroot --force-with-lease`. Now at bayfront, when I do `git pull --rebase`, I get conflict errors.
<raghavgururajan>I do not have any local changes on bayfront. I just want to pull *fresh* copy of the branch from remote.
<NieDzejkob>I think git pull --force is what you want
<efraim>so on bayfront I'd run 'git fetch; git reset --hard disroot/temp'
<raghavgururajan>Surprisingly `git pull --force` also gave conflict errors.
<raghavgururajan>efraim, on bayfront, the remote is called origin. The remote is named disroot only on my x200t. So I will try `git fetch; git reset --hard origin/temp` now.
<raghavgururajan>efraim, NieDzejkob: --rebase works. I forgot to do git pull --abort after first attempt.
<efraim>glad it worked out
<efraim>'git status' often helps, especially if it turns out you're in the middle of an operation :)
*efraim runs out to the store
<redick>Hello! So I tried out guix on my debian laptop and enjoyed it so much that I'm going to put the full SD on my workstation. Thank you all!
<redick>Is there a handy to remove it from my laptop? I didn't see one so I'm starting to modify the to take a '--uninstall' param.
<raghavgururajan>efraim: How to pull when there is not upstream set. For example, I created a new branch temp. When I do `git pull disroot/temp`, I get "fatal: 'disroot/temp' does not appear to be a git repository".
<leoprikler>git pull disroot temp?
***nikita_ is now known as nikita`
<nikita`>you have to set an upstream
<nikita`>or you git fetch --all
<nikita`>or without --all
<nikita`>the man page of git-pull is rather awful at first, but does cover this
<efraim>I also use 'git remote -vv' to see all the different remotes I've set up and some details about them
*efraim just got back
<nckx>Morning all.
<Kimapr>almost evening in kimapr lands
<ss2``>how do I get udisks to mount ntfs partitions? I have install ntfs-3g, but udisksctl and thunar fail to mount it.
<ss2``>Mounting directly with ntfs-3g works though.
<nckx>ss2``: Did you ‘install’ it in your system profile (operating-system's packages field)?
<ss2``>nope, only direclty.. So do I need to put it into my config.scm?
<nckx>Yep. See ‘udisks-service’ in (guix)Desktop Services.
<raghavgururajan>efraim: Gotcha!
<raghavgururajan>nckx: Morning
<raghavgururajan>nckx: Bayfront works awesome now.
*raghavgururajan dances
<raghavgururajan>leoprikler, nikita` : `git remote -v` shows "disroot".
<ss2``>right, so what is the difference then between putting a package into the config and installing it manually?
<ss2``>got it working thouhg.
<raghavgururajan>leoprikler, nikita`: When I did `git pull` it worked.
<raghavgururajan>I will try `git pull disroot temp`.
<efraim>I don't know what debian does but glibc is still building...
<efraim>2.5 hours so far? I think
<raghavgururajan>leoprikler: `git pull disroot temp` works. But fails to fetch as I have not setup my ssh key on bayfront.
<mfg>Hi, where or how is linux-libre-module-builder built? i can't find it in the source :(
<nckx>mfg: (guix build-system linux-module).
<mfg>thank you :)
<nckx>ss2``: It makes the packages immediately available to all users, and installs them into a single well-known system-wide directory (/run/current-system) instead of $HOME. Guix's udisks is patched to search the former but not the latter. I don't know if that's for security raisins or just because it was easier.
<ss2``>so that would also apply to gparted? I installed it early on as as user, realising that that would fail, then as root, but sudo won't find the binary.
<nckx>It wouldn't make much sense for a system service (which udisks seems to be? based on a quick skim of the docs) to depend on a user's packages. Since mount is setuid and calls the helpers as root it would probably be unsafe to boot.
<nckx>ss2``: No, ‘guix install gparted && sudo gparted’ is the way to go there.
<nckx>Root is just another user; root's packages are not in your $PATH; your sudo won't find them by default.
<bdju> after a reboot I'm stuck in early guile repl with everything failing
<bdju>may have happened also a month or so ago and I just booted an old generation and updated it. Any ideas?
<efraim>the only path we can be sure of is /run/setuid-programs:/run/current-system/profile/{s,}bin
<ss2``>okay, weird. I installed gparted as user, but then it would emmediatly crash while loading with sudo.
*efraim loves *security raisins*
<nckx>ss2``: Oh, that's just a boring old bug then.
<ss2``>It crashes a segmentation fault and $BASE_CMD.
<ss2``>found the bug report.
<nckx>Thanks for reporting that. I find an old bug: . Surely gparted can't have been broken all this time…
*nckx tries.
<nckx>ss2``: I can't reproduce any crash with just ‘guix install gparted && sudo gparted’. You're running Guix System, rite?
<nckx>It's defaulted to sudo = sudo -E for a long while :-/
<ss2``>yes, and gparted will load with sudo -E.
<ss2``>It's a fresh install too.
<nckx>Something must be different about my sudo set-up and the default.
<nckx>And here I've been merrily using & updating a ‘broken’ gparted.
<nckx>ss2``: I'll just revise my above advice to ‘guix install gparted && sudo -E gparted’. A bit underwhelming, sorry.
<ss2``>no worries.
<ss2``>so then if I'd put more packages into the config.scm, while still having them installed manually, and locally, what does this mean for the system?
<NieDzejkob>ss2``: it means you potentially have two different versions installed, and which is being used depends on your $PATH
<ss2``>cool, how do I list all packages that where installed through config.scm?
<nckx>It's like having both /usr/local/bin/foo and /usr/bin/foo on a traditional distro. Nothing evil will happen, but some edge cases might call a different (version of) foo than you expected.
<nckx>ss2``: guix package -p /run/current-system/profile -I
<nckx>Identical to: guix package --profile=/run/current-system/profile --list-installed
<ss2``>right, so querying whith guix package -I will only look at my current profile.
<nckx>By default yes.
<nckx>efraim: You regularly update vim. How do you build it? It never passes its test suite here. I've tried obvious things like -c1 to no avail.
<nckx>Here = X230T with 16GiB of RAM if it matters, but I don't see how.
<efraim>it's a bit of a pain for sure
***PotentialUser-62 is now known as rendaw
<efraim>I start with --with-commit=vim=v8.2.XXXX until I can fix different bugs that pop up, then I change the actual definition to the target version and I test it on my machine and my pine64
<nckx>I ran ‘until guix build …; …’ overnight out of desperation but it didn't help.
<efraim>my machine = E5400 with 4GB of ram
<ss2``>where, or how do you source git-completion?
<efraim>I also sometimes test it on one of pjotr's machines and on bayfront while I'm looking for a good commit
<efraim>I'd skip the tests but half the time it seems to be an actual issue. At least it builds quickly
<rendaw>Hello! `Attempted to kill init!` Kernel Panic with a minimal fragment of a backtrace ending with `49:6 1 (open-server-socket` in `shepherd.scm`. Looks like it's trying to do `(bind sock address)`? I assume there's an exception in the shepherd code and init dies
<rendaw>It's a pretty minimal system (in hopes of debugging). Only services are static-networking, openssh, ntp, and %base-services
<nckx>efraim: Oh, OK. I thought just I wasn't trying hard enough since most failing tests mumble something about ‘flaky’. But it's just good & bad commits. Good to know.
<rendaw>Only odd point I can think is I only have serial, no display so bootloader + kernel args are set to serial & ttyS0
<rendaw>Anyone have an idea what might be going wrong here?
<nckx>ss2``: You don't manually. Installing bash-completion should load it (and everything else) for you. I have it in my system packages; don't know if it matters.
<efraim>'guix environment --ad-hoc gparted -- /run/setuid-programs/sudo gparted' failed for me with a seg fault
<nckx>bdju: Does a previous generation boot?
<nckx>I've previously managed to build myself an initrd that was missing the CP437 module, which is needed to mount vfat (EFI) partitions, which caused my boot to fail. I don't remember the exact error message. If you can boot an older generation, compare its dmesg to your screenshot to see which suspicious messages are new and which ‘harmless’. The ACPI one looks scary but maybe your kernel's always printed that, who knows.
<nckx>bdju: ☝
<bdju>I'll try to boot a previous generation and compare after my shower, thanks for the tips
<nckx>I can reproduce it with ‘sudo XDG_DATA_DIRS= gparted’. So does ‘sudo XDG_DATA_DIRS="$XDG_DATA_DIRS" gparted’ suffice?
<ss2``>nckx: yes
<mmalter>Is gnu
<mmalter>My bad...
<mmalter>seemed highly philosophical though
<efraim>can I override a variable using set! or define! or something like that?
<NieDzejkob>are you asking about technical possibility, or policy?
<efraim>technical possibility
<NieDzejkob>I don't see why set! wouldn't work, then?
<efraim>I'd rather modify the part I need in an external file than copy the configuration whole-sale to make the change
<efraim>so (set! (@@ (gnu services foo) bar-service) ...)
<NieDzejkob>you'll need to be wary of the evaluation order wrt the consumers of bar-service, and declarative modules might screw things up, but that's the general idea
<davidl>whats the current url to the build farm web interface - seems like or doesnt work?
<nckx>davidl: The latter.
<nckx>I've made it work for the next 3 minutes; hurry now.
<bdju>nckx: tried all down to gen 40 so far with no luck. if it's the same problem as a month ago I'll have to go back over 30 days
<davidl>nckx: I wanted to see if you are building anything for power9
<nckx>davidl: ☝
<nckx>No POWER9 support on master and no build machines hooked up yet.
<davidl>nckx: ok. Is it planned for the future, any time estimate?
<nckx>‘When it's ready.’
<nckx>bdju: So you hadn't rebooted since 21 June? Or do you mean those generations used to work but now don't?
<nckx>davidl: Definitely planned.
<bdju>hadn't rebooted in 33 days or so, but also I have had a similar issue before and jush booted an old gen and updated without "fixing" it
<davidl>@nckx: thats nice to hear. I was hoping Guix wouldn't give up on the idea!
<nckx>davidl: If you're interested in helping out ping dftxbs3e, jonsger.
<mfg>does anyone know nix? what is guix's equivalent of pkgs.runtimeShell?
<luhux>What software combination do you use at Guix System to operate mail?
<luhux>I am looking for an easy-to-configure mail client, is there any recommendation?
<nckx>‘bash’ 😛 (Sorry.) You can set a user's shell as part of the user-account record. runtimeShell seems to do more than that, which we definitely don't (want to?) support.
<nckx>mfg: ☝
<davidl>@nckx: I wish I had the knowledge and thetime to spare, but not currently :/
<nckx>luhux: I run a mail server using opensmtpd + dovecot + dkimproxy. But configuration's all manual.
<mfg>nckx: okay i see :)
<bdju>nckx: skipped down to gen 30 from 2020-06-04 and finally got to a tty with login prompt
<davidl>luhux: check the email archive for "server mail setup?", here's someone's config:
<roptat>help, I've updated keepassxc, and now there's no icon showing anymore :/
<nckx>mfg: It's been years since I've used NixOS and I don't remember that attribute. Looking at <>, it really seems to change the shell for… everything? Is that true?
<luhux>nckx, thanks.
<mfg>tbh i have never used nixos :D i am just looking at some pkg definitions and asked myself if this variable is substitutable with /bin/sh or not :DD
<luhux>davidl, thanks.
<nckx>luhux, davidl: That's roptat's by the way.
<roptat>yes, that's mine. If you have any question feel free to ask!
<davidl>roptat: no question, but I have to say it looks awesome :-P
<bdju>does dmesg have any sensitive info or can I put the whole thing on a paste site?
<nckx>mfg: You can change (or even remove, with some annoyances) /bin/sh in your operating-system configuration, but I'd say that any Guix service that actually uses it is buggy (or working around an upstream limitation). Services should use /gnu/store/<hard-coded-sh> like everything else.
<nckx>But you could make /bin/sh point to fish and break all your scripts, sure.
<nckx>bdju: Depends on how paranoid you are. Some people claim memory addresses are sensitive. Or which hardware you use. Eh. But hey, maybe you are on the run from the government and use a very unusual mouse 🤷
<mfg>nckx: okay, i shouldn't use /bin/sh then. Let's see if my system still works when i drop it from my config XD
<bdju>hm well it's probably fine then I guess
<nckx>But sharing dmesgs just for informational purposes (not because you had trouble, just to document hardware) used to be very common.
<nckx>I think so…
<bdju>nckx: here is my dmesg on the gen that actually booted fine.
<nckx>bdju: OK, the 3 ‘ACPI Error: Needed type …’ lines are already there, so that's not what broke.
<bdju>ah yeah I do seem them. they're in red now. I wonder what that's about
<nckx>The CP437 one isn't, assuming that would be logged in dmesg.
<nckx>bdju: Just message priorities, the ‘dmesg’ command uses fancy colours, the kernel (when booting etc.) does not.
<nckx>mfg: Your system will still boot but it won't be fun to use, too much still assumes /bin/sh. I gave up and restored mine after a week or less 😛
<brown121407>Is it normal to not be able to download PDFs from Google Drive on IceCat on Guix? I mean I know Google Drive is Bad™ but is it THAT bad?
<NieDzejkob>idk, I disabled all the extensions that come with icecat by default and it works for me
<bdju>nckx: anything I should do to try to diagnose this issue before I just update again?
<mfg>where should i add package specific udev rules? should those be a separate package or is it sufficient to create etc/udev/rules/rule.rules in the package installation phase?
<leoprikler>I think there's a udev-service-type
<xoxoboii>hello, where i can see list of options like in nixos?
<brown121407>NieDzejkob: weird... I have them all disabled too.
<roptat>xoxoboii, what do you mean? guix --help?
<nckx>bdju: No idea. CP437 is the only message that's not in your good dmesg. But CONFIG_NLS_CODEPAGE_437=y (built-in) on Guix, so it's not a missing module.
<xoxoboii>roptat: like
<brown121407>NieDzejkob: I also get "There were some problems loading your apps" on basically every Google Drive page.
<nckx>mfg: The latter, in the package itself. Random example: sane-backends-minimal, although your package may take a handy --udevdir or whatever #:configure-flag.
<mfg>i will look at that example
<nckx>Not lib, not etc.
<nckx>*Note lib, not etc.
<nckx>Big difference.
<mfg>ah okay thx :)
<roptat>xoxoboii, I don't think we have anything like that
<xoxoboii>roptat: ok, thx
<roptat>I mean, we don't have "options"
<roptat>or I just don't understand what they are (I'm not a Nix user)
<xoxoboii>roptat: how i can know other settings for openssh (like openssh port xxx for example) for other services and applications?
<roptat>there's the manual:
<nckx>bdju: I've used the following horrible horrible patch to ‘debug’ mount failures in the past. Guix is way too quiet about which mount fails; ‘file-systems’ is all of them, gee thanks.
<roptat>it lists all the options of the openssh-configuration type, with some examples
<bdju>nckx: I'm not sure how to use this... although if the problem is related to mounting, I believe sometime after the date I rolled back to I added in a second drive that uses luks. maybe something about how it's configured to be mounted is wrong
<bdju>nckx: here is my config.scm
<nckx>bdju: Eh, it's not very pleasant, you'd build guix from source and sudo ./pre-inst-env guix system reconfigure. Is there a smaller set of mounts you could get away with? Comment out all the non-essential ones, reconfigure, and reboot?
<bdju>yeah, I can comment out the second drive I suppose
<nckx>bdju: You're not using a custom kernel configuration or anything, right? Guix System is very picky about kernel file systems (cgroups etc.) and won't even boot if they aren't supported.
<nckx>bdju: OK.
<bdju>I don't think I'm using anything custom with the kernel
<nckx>Then you're not 🙂
<bdju>nckx: all good after commenting out the second drive and rebooting!
<nckx>Ugh. IceCat now pops up a new (to me) and absolutely horrible tab switching window/overlay/thing when I try to use C-tab. Does anyone know how to get rid of it? I skimmed about:config but don't see anything obvious.
<nckx>This thing is unusable.
<bdju>I'm not seeing that C-tab thing on 68.10.0
<nckx>bdju: Yay (kind of)!
<nckx>bdju: …tf? This is 68.10.0(esr) too.
<bdju>I'm on sway (wayland) if that matters, but I'm really not sure if it does matter
<nckx>I'm on i3, and I'm told sway is the i3 of Wayland. But no idea.
<nckx>Found it:
<nckx>Because of course the option to pop up a new window is ‘recentlyUsedOrder’, which used to be completely unrelated.
<nckx>bdju: You said your second drive uses LUKS, but there's no indication of that in your configuration.
<bdju>ah I do have that box unticked in icecat so that checks out
<bdju>nckx: I thought I had to manually unlock the thing but then just do mount -a with it in my config. how should it look?
<nckx>A little something… like this:
<bdju>oh jeez I have nothing like that
<bdju>I don't even have a mapped-devices
<nckx>That's from a headless server, set up years ago, never touched since, hence the comment, because why break it to find out 😉
<nckx>Unless best practicez have changed it's still needed AFAIK.
<nckx>If there are encrypted or RAID partitions, make sure to add ‘mapped-devices’ field to describe them (*note Mapped Devices::). quoth the manual.
<bdju>I must confess I look at the manual for a bare minimum amount of time and often I don't fully grasp the info there
<bdju>but I don't recall seeing that line at all, must not have read that section
<bdju>can I use a UUID instead of a drive label? or is that not advised?
<bdju>for the mapped-device section I mean
<bdju>if source is a uuid do I just paste it in or do I have to write "uuid" outside the quotes? and what exactly do I put in the target section? seems to be different from the mount-point
<bdju>oh I have a guess
<NieDzejkob>nckx: I use C-PgUp and C-PgDown to switch through the tabs in the order they are in the tab bar
<bdju>argh, everything I put in the file-system device section is getting rejected
<nckx>NieDzejkob: Thanks, but I am old, I do not wish to learn new things 😛 (or at least switch hands to do so)
<nckx>bdju: AIUI ‘uuid’ is a file system property and can't be read before the LUKS container is unlocked, so that won't work. I don't know if we support (GPT) partuuids now.
<nckx>I just use /dev/sdx but indeed not ideal.
<bdju>well, seems that my /dev/sdb1 has a different UUID than the actual mounted thing, so I thought it would be fine
<bdju>but I'll try just the drive itself
<nckx>But can Guix read that kind of UUID, is the question.
<nckx>Just because something shows up in /dev/disk/by-foo doesn't mean Guix supports it. We don't use udev/blkid at all when booting, which has dis- and advantages.
<bdju>so, I changed from uuid to drive id or whatever and my error is the same. guess that wasn't the problem
<nckx>bdju: If you're really stuck (‘uuid outside the quotes’ sounds like you're just guessing now 🙂) paste your best effort, and the error you get.
<bdju>nckx: here's what I have, and the error is "/etc/config.scm:75:11: error: device '/dev/mapper/sidecar' not found: No such file or directory"
<NieDzejkob>bdju: does /dev/mapper/sidecar exist when you're reconfiguring?
<nckx>bdju: At reconfigure time? That's weird.
<bdju>NieDzejkob: no
<bdju>I thought that it would exist because of the reconfigure
<nckx>luksOpen/mount it manually and try again, I guess.
<NieDzejkob>yeah ^
<nckx>luksOpen is deprecated but whatever it's called now.
<bdju>no error this time, it's doing something
<nckx>Yeah, but the subcommand. Doesn't matter. I'm sure luksOpen will work for years to come.
<bdju>it downloaded cryptsetup-static-2.3.3 for some reason
<nckx>Not sure if bug but feels like bug.
<nckx>Annoying gotcha at best.
<nckx>Of course I've never reconfigured without a / so I never noticed this.
<bdju>`cryptsetup open --type luks` is what I used (+ drive and point to map to)
<nckx>Ah, that's it. Thanks.
<nckx>Sorry you had to jump through all these hoops.
<bdju>will it be okay in the future or do I have to always do part of it manually?
<nckx>I just remembered there's a --disable-checks (or so) option to system reconfigure, that probably (or should have) ignored the error.
<nckx>bdju: As long as that file system is mounted it will be ‘okay’.
<nckx>'t Was --skip-checks.
<bdju>thanks for all the help
<nckx>I won't report a bug for this but feel free to. It could have gone smoother.
<blendergeek>So, I have spent the last day or two building Nextcloud Desktop for GNU Guix. I finally get it build, delete the broken Unit Tests and install it. When I go to run it, I get the following error:
<blendergeek>2020-07-14 12:12:25:666 [ fatal default ]: Could not find QtWebEngineProcess
<blendergeek>Any ideas here?
<ryanprior>blendergeek: thanks for working on Nextcloud Desktop! I've thought about doing that myself.
<ryanprior>Have you tried running it under strace to see what specifically it's looking for?
<blendergeek>No. I had not. I will attempt that and see what I find.
<blendergeek>Okay. I believe the relevant lines here would be: access("/gnu/store/34g108krz5791jdydq1mpizs50jgcpf0-qtbase-5.14.2/lib", F_OK) = 0
<blendergeek>access("/gnu/store/34g108krz5791jdydq1mpizs50jgcpf0-qtbase-5.14.2/lib/qt5/libexec/QtWebEngineProcess", F_OK) = -1 ENOENT (No such file or directory)
<blendergeek>Wait, I had the wrong two lines. These are the relevant ones:
<blendergeek>access("/gnu/store/34g108krz5791jdydq1mpizs50jgcpf0-qtbase-5.14.2/lib/qt5/libexec/QtWebEngineProcess", F_OK) = -1 ENOENT (No such file or directory)
<blendergeek>access("/gnu/store/wx2fwf7k0y4sidsyi6nr48hzccvj5kfx-nextcloud-client-2.6.5/bin/QtWebEngineProcess", F_OK) = -1 ENOENT (No such file or directory)
<blendergeek>And after poking around my system, I find that while there is no such thing as /gnu/store/<hash>-qtbase-5.14.2/lib/qt5/libexec/QtWebEngineProcess, there is a file called /gnu/store/<hash>-qtwebengine-5.14.2/lib/qt5/libexec/QtWebEngineProcess.
<blendergeek>So, it seems that Nextcloud is looking in the wrong spot for QTWebEngineProcess.
<roptat>blendergeek, you might want to specify QTWEBENGINEPROCESS_PATH
<blendergeek>roptat: It launched successfully when I manually set QTWEBENGINEPROCESS_PATH. Is there a way I can do that automatically?
<chrislck>quick question: If I call "guix environment --ad-hoc guile-next", CMake pkg_check_modules can't find it. how to help it find guile-next?
<roptat>blendergeek, with wrap-program
<roptat>propagating qtwebengine might also work, but that's not a good solution
<blendergeek>I tried propagating qtwebengine and that didn't work
<blendergeek>I will now attempt to try wrap-program
<blendergeek>I now realize that I do not know what 'wrap-program' is. My searching on the internet turned up nothing useful. What is it?
<nckx>blendergeek: A procedure in (guix build utils) that replaces your binary with a shell script that sets/amends some environment variables, then launches the real binary.
<nckx>Many examples in gnu/packages.
<nckx>Can't you hard-code QTWEBENGINEPROCESS_PATH at build time though?
<blendergeek>I'm a bit of a noob here. If i do hard-code it, would I be pinning Nextcloud to a specific build of QtWebEngine?
<raghavgururajan>nckx: o/
<roptat>blendergeek, yes, to the build that was used to build nextcloudengine
<nckx>blendergeek: Yes. That would be ideal.
<nckx>Hullo raghavgururajan.
<raghavgururajan>When I do `git pull --rebase`, I get "fatal: unable to find remote helper for 'https'".
<raghavgururajan>I never happened before.
<nckx>raghavgururajan: Is this on bayfront?
<nckx>raghavgururajan: What is the output of guix package --list-installed=git?
<raghavgururajan>nckx: No my x200t.
<nckx>I think this can happen when you install git:send-email into a profile but not git(:out) itself.
<raghavgururajan>That command worked on bayfornt
<raghavgururajan>git 2.27.0 gui /gnu/store/53f48961xz5nwv7asq1kd8k57j2ibyvl-git-2.27.0-gui
<nckx>I.e. if git is provided by your system profile & git:send-email by your user one.
<nckx>Is that all? Maybe it's the same for :gui.
<raghavgururajan>The git:out is in my system profile.
<nckx>Try ‘guix install git’.
<nckx>Sounds like the same problem.
<nckx>Or uninstall :gui.
<raghavgururajan>Ah I see.
<raghavgururajan>I will remove :gui
<raghavgururajan>Btw, `git pull disroot temp` worked, as I have ssh setup on my x200t.
<nckx>Hah, it's even documented (but not fixed):
<raghavgururajan>I see.
<nckx>But the issue is much older than that.
<nckx>raghavgururajan: Did removing :gui help?
<raghavgururajan>nckx: I wanted to ask you this. To prevent GC from removing references to the pre-inst-env, I bootstrapped via `guix environment --root=$HOME/.guix-env guix --pure --ad-hoc emacs-minimal`. Now, how do I prevent GC from removing the substitutes that I build via `./pre-inst-env guix build foobar`?
<raghavgururajan>nckx: Yep! it works now.
<nckx>raghavgururajan: You can use --root=$HOME/meaningful/gc/root/name/of/your/choosing/but/ideally/not/this/long.
<raghavgururajan>For guix build or guix env?
<nckx>Then the GC'or won't remove any part of the built graph until you remove that magic file.
<nckx>raghavgururajan: Either.
<raghavgururajan>Should it be a dir or file?
<nckx>It will create a symlink with that name.
<raghavgururajan>I don't know what guix understood from --root=$HOME/.guix-env
<raghavgururajan>Ah I see.
<nckx>--root=$HOME/.guix-env just means: create a new file, ~/.guix-env, that will protect the result of this guix command until I manually ‘rm $HOME/.guix-env’.
<nckx>The name can be whatever you want, .guix-env was probably just an example someone gave you(?), ideally you'll choose a more meaningful name for long-lived roots.
<raghavgururajan>Can I create that file under ~/.guix-profiles/foo? or I should not touch .guix-profiles?
<nckx>I wouldn't. I'd use ~/.config/guix/roots or something.
<raghavgururajan>Yeah, an example someone gave.
<nckx>Nah, ~/.guix-profile is a symlink, so don't use that.
<raghavgururajan>I am doing ~/.config/guix/gcroots/foobar, similar to /var/guix/gcroots/foobar
<raghavgururajan>nckx: Is that ^ better?
<nckx>The important thing is that you can keep track of things.
<nckx>When you urgently need to free space, you don't want to hunt for forgotten links in /var/guix, ls ~/.config/guix/gcroots is much easier 🙂
<raghavgururajan>Btw, I fixed the gtk-doc and woff2 issues that we faced when you first built wpewebkit a while ago.
<nckx>I'm happy to hear that.
<raghavgururajan>Also, it didn't require a flag to disable ccache. Just removing ccache native-input auto-disabled it.
<nckx>I hope direct bayfront access will increase your productivity even further.
<raghavgururajan>Yep, Yep! Bayfront works awesome now.
<nckx>(Why did you ever add it? Because the docs told you to?)
<raghavgururajan>I saw ccache not found during configure phase.
<raghavgururajan>At that time, I did not know what ccahe is and what it does.
<nckx>That's completely understandable.
<nckx>You need to be familiar with both ccache and Guix to think ‘hm, that's not right’.
<nckx>Or at best pointless.
<efraim>I tried that once with qtbase, actually slowed down the build because nothing was cached
<nckx>Any speed-up would imply the package is building identical things with identical options twice, and could presumably just be fixed not to do that.
<blendergeek>So. I solved my issue and it works now.
<blendergeek>I had to remove a few lines that had been carried over from ownCloud but were no longer necessary.
***reza_ is now known as ramajd
<blendergeek>Now, how do I add Nextcloud Desktop to the main repo?
<nckx>blendergeek: You send a patch adding it to (say) gnu/packages/nextcloud.scm to guix-patches at gnu dot org.
<hendursaga>My computer keeps on suspending after some minutes of idleness. I set it up as a server so I'd rather not it suspend unless I tell it to. I assume it's some sort of elogind issue? What do I modify?
<nckx>If you create a new file you also need to register that in gnu/; where is quite clear.
<nckx>blendergeek: ☝
<blendergeek>nckx: Okay, thank you. I'll try to do that!
<nckx>blendergeek: And read of course 🙂
<nckx>I know it's a lot. Don't be intimidated. Do your best. Then send.
<ramajd>Hi, can anyone help me on shepherd service definition? the service that I had defined runs by a specific user with special permissions assigned to it using supplementary groups. my problem is that only permissions which is added to the primary group will be applied to the user, and service can't access to files that their supplementary groups has access to.
<hendursaga>I think I'll just set IdleActionSec to some higher number and see if that changes anything. Oh, and I'm using XFCE.
<nckx>hendursaga: idle-action-seconds is set to 30 minutes by default, could that be it?
<nckx>When you said ‘server’ I assumed no X or at least DE.
<lfam>What creates '/etc/ssl/certs/ca-certificates.crt' on Guix System?
<lfam>I see ca-certificate-bundle in (guix profiles)
<roptat>lfam, I think it's activate-etc in (gnu build activation)
<lfam>Right, that makes sense. The profile builder creates the file, and then activate-etc makes it available in the well-known location
<lfam>I'm trying to find a solution for <> that will work automatically on foreign distros too
<lfam>I guess that installing nss-certs alongside Transmission should make it possible to use a search-path
<hendursaga>nckx: Well, mostly a server, but yes, not headless. It could be that, I haven't clocked it yet, but it seems like half an hour is the pattern, yes.
<nckx>Weird. I have ‘(service elogind-service-type)’ but my system works fine.
<pkill9>hendursaga: i think xfce is suspending the system, elogind doesn't suspend it on idle for me
<pkill9>check the power management settings on xfce
<pkill9>`info guix` shows that idle-action is set to 'ignore', so nothing will happen after that time anyway
<pkill9>set by default*
<hendursaga>Hmmm. OK. That makes sense.
<hendursaga>Except not. My XFCE power management settings only have something for turning off the display. It's already set to not suspend ever.
<cbaines>Oh dear, Cuirass is down again on berlin
<pkill9>hendursaga: which login manager are you using? maybe that's doing it?
<pkill9>if you can, maybe trying exiting xfce and seeing if it suspends
<pkill9>suspends on idle*
<pkill9>and if you can shutdown the login manager, that too
<pkill9>i think if you're using login manager, you can shutdown it down by stopping the service, can't remember which service it is
<pkill9>hmm ooking at the settings it doesn't appear any of the login managers will suspend the system on idle
<hendursaga>pkill9: Wouldn't it be elogind? It wouldn't/shouldn't be that doing it.
<pkill9>oh, i mean the display manager
<pkill9>i called it login manager because it's the screen where you login
<hendursaga>pkill9: GDM?
<raghavgururajan>nckx: Do you know of any quick and easy way to share files between my device and bayfront?
<apteryx>raghavgururajan: scp?
<nckx>raghavgururajan: The easiest is scp. scp /local/thing
<nckx>It also works the other way 'round.
<nckx>It's basic (and very slow with huge numbers of files) but does the job well.
*raghavgururajan wonders what scp is. O.o >.<
<nckx>s(sh) c(o)p(y).
<nckx>Well, s(ecure), probably.
<nckx>It just uses ssh under the hood.
<nckx>A step up is sshfs, which allows you to mount a remote directory on your local machine without bothering with NFS. Then you can just use plain old cp 🙂
<nckx>Or rsync, but I wouldn't bother with it here.
*nckx AFK.
<raghavgururajan>Is scp part of something or separate package?
<lfam>I would always recommend rsync. Tutorials make it look complicated but I don't think it's more complicated than scp
<lfam>rsync --recursive my-directory lfam@bayfront:/tmp
<lfam>That will copy my-directory to the /tmp directory of bayfront
<lfam>raghavgururajan: scp is part of the openssh package
<raghavgururajan>lfam: Thanks!
<lfam>Both scp and rsync use ssh to handle authentication, so you'll need a working ssh configuration no matter which you choose
<mbakke>apteryx: can you take care of the inkscape update on 'staging'?
<apteryx>mbakke: we still have to fix a test failure on one of its dependencies on non x86 machines?
<apteryx>(do we)
<mbakke>oh, not sure
<mbakke>I guess we'll find out when the branch starts :-)
<apteryx>right! I'll try to tackle it, sure! Probably during the weekend
<mbakke>cool :-)
<mbakke>I checked on Berlin now, plotutils fails on i686 and lib2geom on aarch64
<apteryx>ah, so this is the one.
<apteryx>I thought i had fixed lib2geom... :-/
<apteryx>it seems lib2geom has issues on other arch with float/double precision expectations.
<rain1>I recommend using sftp rather than scp
<NieDzejkob>inkscape has staging-level dependents!?
<NieDzejkob>no it doesn't. I don't see why it's a thing to be updated on staging, then
<NieDzejkob>anyway, on the topic of staging - there'll be a new version of rust in two days, I'll be bumping the rust variable then
<mbakke>NieDzejkob: check 'inkscape@0.92' :-)
<mbakke>also, awesome wrt rust
<mbakke>I noticed some TODO(rust rebuild) a while back, maybe fix those too? :-)
***terpri__ is now known as terpri
<NieDzejkob>hmm, I wonder whether a new mrustc would be ready this staging...
<raghavgururajan>What is evl/evl-system?
<raghavgururajan>A package require it as a dependency. But no idea what it is.
<NieDzejkob>raghavgururajan: what package?
<raghavgururajan>For evl support
<nckx> ?
<raghavgururajan>nckx: Thanks! That might be it.
<davidl>Is anyone maintaining or testing the digital-ocean-environment type? I can see that guix-binary 1.0.1 and guile-2.2 strings are hardcoded in
<nckx>raghavgururajan: Put a kernel in your kernel to RT harder. This does not seem relevant to Guix at this time.
<raghavgururajan>Might be just libevl is required.
<nckx>Are you sure it's required?
<raghavgururajan>For a feature
<nckx>That requires a custom kernel.
<raghavgururajan>I could just disable it.
<nckx>Fork, even, it seems.
<nckx>I suggest doing so for now.
<raghavgururajan>option('evl', description: 'Enable EVL support spa plugin integration',
<nckx>raghavgururajan: If you can decypher that without a lot of help you're more clever than I am.
<raghavgururajan>nckx: xD I disabled it for now.
***sneek_ is now known as sneek
<alextee[m]><raghavgururajan "option('evl', description"> lol
<raghavgururajan>alextee[m], What's that?
<alextee[m]>the description
<alextee[m]>🤷‍♀️ i have no idea what that description means beyond "enable"
<blendergeek>I'm writing a patch with one new package (nextcloud), does that go directly on master?
<NieDzejkob>staging and core-updates are for modifications to packages deep enough in the dependency graph to cause a rebuild of a significant portion of the repository
<blendergeek>Okay. Makes sense.
<wdkrnls>I'd like to setup a VNC server on my desktop. I see that Tiger VNC is available as a package, not a service. Can this be easily setup with simple-service? Has anyone tried using it?