IRC channel logs

2021-07-15.log

back to list of logs

<marusich>the_tubular, you are calling the specification->package with two arguments: "nss-certs" and "zfs"
<marusich>The procedure expects just one argument.
<marusich>In other words, you can't pass multiple package specs to ti.
<the_tubular>How can I make so I can pass multiple args ?
<marusich>Well, you can't change the procedure, but there are ways to do what you want
<marusich>For example, try: (list (specification->package "nss-certs") (specification->package "nss-certs"))
<marusich>Or perhaps: Try (map specification->package '("nss-certs" "zfs"))
<marusich>You could define a new function that accepts multiple arguments and then calls specification->package multiple times to generate the list of packages, if you wanted.
<the_tubular>I'm trying the second one
<marusich>Yeah, that's what I'd do.
<the_tubular>error: packages: unbound variable
<the_tubular>hint: Did you forget a `use-modules' form?
<marusich>You may need to (use-modules (gnu packages)) first.
<marusich>The specification->package procedure is exported by the (gnu packages) module.
<marusich>I found it by running "git grep 'define.*specification->package'" in a Guix source checkout.
<the_tubular>I'll paste you my whole config, I think there's a few problem, give me a sec
<marusich>So, if you want to make yourself a little helper procedure, you could do: https://paste.debian.net/1204385/
<marusich>sure, np
<the_tubular>This is what I have right now : https://privatebin.net/?d83211d917593879#BoKEkZu6jTynGv6ogu89ys8CSoEoSvLYAJQP3JznNEA1
<the_tubular>I moved stuff around from the config.scm that the installer gave me, to help me a bit
<the_tubular>And that's about it
<marusich>What error are you getting?
<marusich>I see that the final append is wrong; you should not invoke (list (service openssh-service-type)
<marusich> (service network-manager-service-type))
<marusich> %base-services))
<marusich>Sorry, let me rewrite that. Basically, you should not invoke (append (list a b c) (list x y z) another-list)
<the_tubular> https://privatebin.net/?a808eb7265595ab3#Ghoc8XQUJ1bpTJ2aC3TKMLYTVEa3RLaaNtGtmhsPu82M
<the_tubular>This is the error I have right now
<marusich>OK, that seems like another problem
<marusich>The parentheses are wrong; it looks like you have one extra parenthesis at %base-file-systems)))
<marusich>Try deleting one, so you have %base-file-systems)) instead.
<the_tubular>Trying it
<marusich>As currently written, the packages and services portions are actually not included in the operating-system form.
<the_tubular>Still getting the same error
<marusich>Also, I think what I said about the list of services is wrong; so just ignore what I said there.
<marusich>Well, Guile thinks the form isn't right, so the question is what's wrong...
<the_tubular>I cheked one of my other config and it has guix-package as module
<marusich>Your use-modules form has a missing closing parenthesis.
<the_tubular>Right, nice find
<the_tubular>Let me try again
<the_tubular>Seems to have fixed it, here's the new error : (packages (append (map specification->package "nss-certs" "zfs")) %base-packages): invalid field specifier
<marusich>Yeah, I get that too...that's weird, becuase packages is supposedly a valid field?
<marusich>Ah, it was another wayward parenthesis.
<marusich>With these changes, it might work if you also use a valid UUID: https://paste.debian.net/1204389/
<the_tubular>This is what my other machine has : https://privatebin.net/?79a09d6376187d84#6a53eDhA8ch329NaX2MAWeDiurT5xQEVRRS5DtJ5EqdB
<the_tubular>I didn't make this ^^'
<marusich>The latest issue (invalid field specifier) occurred because the config was written as (packages (append (map specification->package "nss-certs" "zfs")) %base-packages), which is incorrect; it has the form (packages A B), where A is (append (map specification->package "nss-certs" "zfs")) and B is %base-packages, but you didn't really intend for that. You intended to write it as (packages (append A B)).
<marusich>Er...well...I misspoke again in the laste part of the sentence, but I hope you get the idea.
<marusich>When I said "you intended to write it as (packages (append A B))," I should have written: (packages (append X Y)), where X is (map specification->package "nss-certs" "zfs") and Y is %base-packages.
<marusich>Are you using a text editor that automatically balances your parentheses? If not, I highly recommend you give it a try.
<marusich>In Emacs, you can use Paredit to do that. It's indispensible when modifying Scheme code.
<dongcarl>Hi all, wondering how I can find out which derivation produced a store item?
<dongcarl>Also, is there a command to get information about a specific store item (identified by path)?
<marusich>dongcarl, guix gc --derivers
<dongcarl>marusich: thanks!
<marusich>guix gc is a good place to start looking depending on what you need. The daemon maintains a database with information; I'm sure there are scheme APIs in Guix for querying it
<dongcarl>marusich: Got it thank you!!
<the_tubular>marusich sorry just read your mesage, no I was trying to install a text editor
<the_tubular>vi is acting very weird
<the_tubular>I wanted to install "vis"
<the_tubular>I haven't drinked the emacs koolaid yet
<marusich>I'm sure vi or vim must have some sort of parentheses-balancing features.
<marusich>Anyway, I highly recommend you invest in doing that; it'll save you parentheses-related headaches.
<marusich>Even just being able to highlight the corresponding parentheses is helpful.
<marusich>I gotta run
<marusich>Good luck!
<marusich>Paredit in Emacs is great because you can easily cut and paste entire sexps, and it will automatically balance parentheses for you.
<marusich>You rarely have to think about the parentheses. You can just think about the syntactic forms you're moving around, which is nice.
<the_tubular>Thanks for the help, I'll try to figure it out :)
<KittyOwO[m]>yo
<KittyOwO[m]>nheko client on the default channel seems a bit outdated.
<dstolfa>KittyOwO[m]: that usually just means that nobody's actively using it. feel free to update it and send in a patch if you feel inclined to do so
<KittyOwO[m]>👍️ will look into doing that soon. Haven't done that before tbh but doesn't sound like it would be difficult lol
<lfam>KittyOwO[m]: Take a look at the manual chapter Contributing: https://guix.gnu.org/manual/devel/en/html_node/Contributing.html
<lfam>Especially the sections Building from Git, Running Guix Before It Is Installed, and Submitting Patches
<lfam>They will help teach you how to prepare a development environment, make and test your change, and then submit it
*dstolfa wants to get back on writing `guix bisect`
*dongcarl will be very happy if we get `guix bisect`
<MysteriousSilver>bisect? what will that be for?
<lfam>Debugging, basically
<MysteriousSilver>nice
<lfam>I think the idea is that it would be like `git bisect` but integrated into Guix. I've tried `git bisect` with Guix and it could definitely use some polishing
<dragestil>Question: if I use emacs under guix, does it make sense to write a manifest declaring packages to be installed from elpa?
<char>Are there any examples of electron apps packaged for guix?
<podiki[m]>...I don't think so? I hear the js dependency hell is, err, hell
***sneek_ is now known as sneek
<char>Isn't it only hell because of npm/yarn. Wouldn't it be much nicer if packaged with guix?
<podiki[m]>I have no idea what npm and yarn are like under the hood, but I do know I'd prefer anything in scheme :)
<wirez>imagine if aids got cancer
<char>so If i'm want to package en electron app, would it be suggested to use node-build-system, or make my own electron-build-system?
<wirez>im surprised guix doesn't have a better answer to electron
<wirez>some kinda scheme wrapper for web apps that integrates right into OS
<char>you would still need all the necessary javascript dependencies used by whatever app
<wirez>ya and couple it with a webview engine instance
<char>It seems like quite a bit more trouble than using the existing electron
<bagsbagsbags>Backtrace:
<bagsbagsbags>In ice-9/boot-9.scm:
<bagsbagsbags> 1736:10 1 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
<bagsbagsbags>In unknown file:
<bagsbagsbags> 0 (apply-smob/0 #<thunk 7f37d90c4d20>)
<bagsbagsbags>ERROR: In procedure apply-smob/0:
<bagsbagsbags>In procedure fport_write: Broken pipe
<bagsbagsbags>has anyone seen that error before?
<bagsbagsbags> https://paste.debian.net/1204415/
<bagsbagsbags>there's a paste
<bagsbagsbags>I got it when trying to run `guix system reconfigure /etc/config.scm`
<bagsbagsbags>could it be because I don't have nss-certs installed?
<bagsbagsbags>any help is greatly appreciated
<cossidini>might be helpful to paste config.scm as well
<lfam>char, wirez, podiki[m]: Report on NPM from a Guix perspective: <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01567.html>
<lfam>bagsbagsbags: I wish that error was more descriptive... hopefully somebody else has some ideas
<bagsbagsbags>lfam could it be because I'm running 1.2.0 and the iso is too old
<bagsbagsbags>?
<lfam>I couldn't say
<lfam>I'm not sure exactly *what* isn't working
<lfam>But, maybe it rings a bell for somebody
<bagsbagsbags>I spinned up a fresh vps from https://capsul.org/pricing with guix system
<bagsbagsbags>but they currently have 1.2.0 as the base image that gets installed
<bagsbagsbags>but 1.3.0 is out
<bagsbagsbags>maybe the starting commit for 1.2.0 is too old
<lfam>Interesting
<lfam>Did you just boot it for the first time? Or has it been in use for a while? Have you ever run `guix pull`?
<bagsbagsbags>the error occurs when I try to run `guix pull`
<bagsbagsbags>that's how I am able to reproduce the error
<lfam>Ah
<lfam>Try `guix pull --url=http://ci.guix.gnu.org`
<lfam>The difference is that it uses http instead of https
<bagsbagsbags>warning: pulled channel 'guix' from a mirror of https://git.savannah.gnu.org/git/guix.git, which might be stale
<bagsbagsbags>I get that too when running guix pull
<bagsbagsbags>let me try your suggestion, one sec
<bagsbagsbags>guix pull: error: Git error: unexpected http status code: 404
<lfam>Oh, my bad
<lfam>I gave you the wrong URL
<lfam>Thinko
<lfam>It should be http://git.savannah.gnu.org/git/guix.git'
<lfam>The idea is that it's the same URL as the default, but using http
<bagsbagsbags>ok it's doing its thing
<bagsbagsbags>building from 8d84a9e
<bagsbagsbags>oh ignore the very last msg
<lfam>The explanation is here (hard to choose which message to link to): <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46829#68>
<lfam>Basically, it's a combination of the pinned certs for `guix pull` expiring and not having nss-certs installed, which would have succeeded as a fallback
<lfam>And the TODO item that resulted: <https://bugs.gnu.org/49508>
<lfam>The use of https isn't part of the Guix security model, so it should be fine to use http
<lfam>Aside from the issue of eavesdropping
<bagsbagsbags>is nss-certs in the base packages?
<bagsbagsbags>I think I had tried installing it to my root user's default profile
<lfam>No, they aren't
<bagsbagsbags>I did a `guix install nss-certs` before running your suggestion
<lfam>For nss-certs to work "seamlessly" on Guix System, you'd want to add them to the list of packages in config.scm and reconfigure
<bagsbagsbags>hmm
<lfam>You could set it up like this based on the installation in root's profile: <https://guix.gnu.org/manual/en/html_node/X_002e509-Certificates.html>
<bagsbagsbags>I wonder if adding it to my profile influenced anything
<bagsbagsbags>I'll add it to my packages in config.scm then
<lfam>I don't think it does anything automatically when installed to a user's profile. I don't see the package definition setting any search paths
<bagsbagsbags>Is it possible to assign base profiles to users via config.scm?
<lfam>Hm, I'm not sure
<bagsbagsbags>like for example user-foo gets a ton of emacs-packages but user-bar gets just vim, tig, and ncurses programs, etc... as a base profile managed from config.scm
<lfam>Right
<bagsbagsbags>I think you probably understood what I meant without the elaboration
<lfam>Users can declare a manifest, but I'm not sure if the administrator can do it from config.scm. Maybe? Definitely if you want to write some Scheme code :)
<bagsbagsbags>does the current api allow for it?
<lfam>I'd be surprised if it doesn't, but I'm not familiar with the API
<bagsbagsbags>or is that something that we would have to add to the current api?
<lfam>I'd bet the API supports package manifests for users, but my guess if you'd have to make an abstraction to put in config.scm
<lfam>But, other people will know for sure
<lfam>I don't see anything about packages here: <https://guix.gnu.org/manual/en/html_node/User-Accounts.html>
<lfam>I think that one of the original ideas of Guix was that users could do unprivileged package management, free from the tyrant admins :)
<lfam>So I'm not sure if this use case has been implemented yet. No reason not to do it though
<bagsbagsbags>that's one way the feature could be abused but why not have both options on the table? :)
<bagsbagsbags>I think it could help with declarative automation
<lfam>Agreed
<bagsbagsbags>or creating custom isos with user profiles already stratified with particular package groups
<lfam>Yeah, it would be really useful
<bagsbagsbags>lfam have you tried creating a custom iso yet?
<lfam>Yeah
<bagsbagsbags>I tried but failed
<lfam>What went wrong?
<bagsbagsbags>I couldn't get it to boot from the usb on my laptop
<bagsbagsbags>have you tried creating an iso that you then burn to usb?
<bagsbagsbags>and then run on your laptop?
<lfam>Yeah, I've done it many times
<lfam>The main things are writing the proper config.scm and making sure that flashing the usb completes
<lfam>I had trouble where the flashing didn't complete before I pulled it out of the computer. Now I always run dd with "conv=fsync", which means "physically write output file data and metadata before finishing"
<bagsbagsbags>what do you mean by proper?
<lfam>Otherwise, dd might exit before the kernel finishes actually writing to the storage medium
<lfam>And, you think it's done and pull it out
<bagsbagsbags>ohh
<bagsbagsbags>does any config.scm work for creating custom isos?
<bagsbagsbags>that is, if it builds
<lfam>I think you still have to get the bootloader and file-systems parts right, including partitioning and making filesystems on the the usb stick
<lfam>Well, maybe not. Now that I write that it doesn't make sense
<lfam>I was thinking of installing to the stick
<lfam>I think it should more or less just work. If you aren't sure, you could try booting the ISO in QEMU: <https://guix.gnu.org/manual/en/html_node/Running-Guix-in-a-VM.html>
<bagsbagsbags>oh you mean for only running the custom iso from usb?
<bagsbagsbags>I'd like to install it to my ssd of my laptop
<bagsbagsbags>the same way I got it from https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso
<lfam>I would flash that installer iso to a usb stick and following these instructions: https://guix.gnu.org/manual/en/html_node/System-Installation.html
<bagsbagsbags>hmm, I'm looking to do something like this https://othacehe.org/the-guix-system-image-api.html
<bagsbagsbags>should I be using: uncompressed-iso9660
<bagsbagsbags>or iso9660
<bagsbagsbags>lfam: cyberia guix system capsul still gave me ERROR: In procedure apply-smob/0:
<bagsbagsbags>In procedure fport_write: Broken pipe
<bagsbagsbags>after your suggestion
<lfam>I would use iso9660
<lfam>You get that error from `guix pull`?
<bagsbagsbags>yup
<bagsbagsbags>from guix pull --url=...
<bagsbagsbags>the exact command I ran was `guix pull --url=http://git.savannah.gnu.org/git/guix.git`
<lfam>Dang, I thought it was working
<bagsbagsbags>I have an intuition that this would work if I was 1.3.0
<bagsbagsbags>maybe cyberia just needs to upgrade their isos for guix system
<bagsbagsbags>cyberia/capsul
<lfam>You could try pulling to some revision that isn't soooo far in the future compared to 1.2.0
<bagsbagsbags>how wouldI do that?
<lfam>`guix pull` takes a --commit argument
<lfam>So, basically, look at the Git repo and try a particular commit
<lfam>Like, maybe 5472fb2ca7 (gnu: guix: Update to 1.2.0-2.2c11cf1.)
<lfam>But yeah, they should update their iso
<bagsbagsbags>ok, I'm pulling from 5472fb2ca7
<bagsbagsbags>aborting update of channel 'guix' to commit 5472fb2ca73ff14cc7d5d0970503e6a15ad1d95d, which is not a descendant of f350df405fbcd5b9e27e6b6aa500da7f101f41e7
<bagsbagsbags>hint: Use `--allow-downgrades' to force this downgrade.
<bagsbagsbags>should I do what it says?
<bagsbagsbags>I ran exactly this before I got that error: `guix pull --commit=5472fb2ca7`
<bagsbagsbags>I'm trying c7a9d96051e23c728deae0974ba4aed994536705
<bagsbagsbags>just chose a random commit from the beginning of 2021
<bagsbagsbags>hmm same error:
<bagsbagsbags>aborting update of channel 'guix' to commit c7a9d96051e23c728deae0974ba4aed994536705, which is not a descendant of f350df405fbcd5b9e27e6b6aa500da7f101f41e7
***sneek_ is now known as sneek
<lfam>bagsbagsbags: What is `guix describe` say?
<lfam>I mean, what does it say
<lfam>Basically, the message is saying that you are currently on f350df405f, and that came after 5472fb2ca7, and are you sure you want to go backwards?
<bagsbagsbags>guix describe: error: failed to determine origin
<bagsbagsbags>hint: Perhaps this `guix' command was not obtained with `guix pull'? Its version string is 1.2.0rc2.
<lfam>There's more debugging to do, but it's getting late here
<lfam>I'm sure that someone else will chime in to help
<lfam>It does appear that you've already gone back in time, maybe by reconfiguring before ever pulling
<lfam>Not a great failure mode
<lfam>Sorry about that
<lfam>Something confusing is definitely going on
<lfam>By the way, f350df405fbcd5b9e27e6b6aa500da7f101f41e7 doesn't appear in my copy of the Guix master branch, although it does exist in the repo
<bagsbagsbags>hmmm
<bagsbagsbags>yeah, that's weird
<lfam>Did you reconfigure yet?
<bagsbagsbags>Yes, I tried reconfiguring without pulling because pulling was failing
<lfam>And it succeeded?
<bagsbagsbags>yup it did
<bagsbagsbags>I just changed my username and host name
<bagsbagsbags>and reconfigured
<lfam>I see
<lfam>Alright, I have to go. But I'm sure that someone else can get you moving
<lfam>Good luck!
<bagsbagsbags>and changed my timezone too
<bagsbagsbags>ok see ya
<paul_j>Good morning giux!
<paul_j>Quick question - if I install a package via a manifest, how can I remove it? When I use the command "guix remove <package>", I get the error message "error: package <package> not found in profile".
<paul_j>Do I just delete the package from the .guix-extra-profiles location?
<paul_j>...then do guix gc to remove the orphaned items in the store?
<paul_j>...answered my own question - yes.
<tissevert>hi guix
<avalenn>Why does "guix remove $package" triggers download of several MiB of substitutes ?
<bricewge>I've commented on #24083 2 days ago on issues.guix.gnu.org but it wasn't taken into account
<bricewge>It always seems unreliable to me to use mumi
<leoprikler>yeah, comments seem to be swallowed by the web interface and never spat out
<dstolfa>sneek: later tell lfam: my desktop is running at 20 degrees after that change instead of 40
<sneek>Okay.
<dstolfa>sneek: botsnack
<sneek>:)
***Kimapr9 is now known as Kimapr
<MysteriousSilver>Hello, where do I save trivial bash scripts (to be included in $PATH)?
<MysteriousSilver>like ~/.bin/ or something
<dstolfa>MysteriousSilver: i usually just put mine in ~/scripts and then have my ~/.bash_profile add it to the path (not ~/.bashrc, because that messes up `guix environment`)
<MysteriousSilver>ah okay
<MysteriousSilver>i was wondering if there was an option to specify it in system.scm
<MysteriousSilver>(as i previously used nixos)
<dstolfa>maybe there is... i don't really know :)
<dstolfa>i just do it the "simple" way
<MysteriousSilver>:)
<roptat>avalenn, when you "guix remove", you create a new profile with that package removed, but if you "guix pull"ed recently, it means that guix needs some new software to build the new profile, hence downloading substitutes
<avalenn>Is it something like build dependencies for the profile ?
<roptat>yes
<roptat>they're not really installed in the profile, but for instance it needs man-db to build the man page database
<dstolfa>what would be needed to fix some of the download speeds with guix?
<pkill9>dstolfa: if ypu mean substitutes downooad then i think thats serverside
<dstolfa>pkill9: yeah, i'm wondering what could be done on the infra side to make it a bit more consistent
<dstolfa>2MiB/s is a little slow by modern standards, especially when downloading texlive
<pkill9>it is already consistently limited to that speed ime, lol
<dstolfa>heh, i get 20-30MiB/s sometimes, usually late at night
<pkill9>ah yea maybe i do also actually
<jlicht>hey guix!
<MysteriousSilver>hello
<lfam>avalenn: Basically, because (I guess) you ran `guix pull` since the last time you did `guix install` or similar. So, the dependencies of "building a profile" had changed, and by removing a package from your profile, you need to build a new profile. Does that make sense?
<sneek>Welcome back lfam, you have 1 message!
<sneek>lfam, dstolfa says: my desktop is running at 20 degrees after that change instead of 40
<lfam>sneek: later tell dstolfa: I'm seeing improvements here too! Report more bugs :)
<sneek>Will do.
<avalenn>lfam: yes it makes sense, I just thought that by doing "guix pull" I already pulled what I needed for building profiles. It is more dynamic than I imagined.
<lfam>Although `guix pull` does build a profile, I think the dependencies of building a profile are somewhat dynamic, based on what's in the profile
<lfam>I can't point to anything specific, but that is basically what's going on with this counterintuitive behaviour of "uninstalling something requires downloading things"
<lfam>I have wondered if this specific case can be improved
<roptat>help, guix has been "building profile with 11 packages..." for 5 minutes now
<maximed>roptat: Sometimes it seems like it takes hours on my system (though I didn't measure)
<roptat>what could be the cause?
<maximed>roptat: Is this on a spinning disk?
<maximed>And have you seen this previously
<roptat>no it's the first time I see that, and it's an SSD
<maximed>I dunno, but I'll strace it
<roptat>although, I noticed also "guix environment" of that package is taking a long time and a lot of memory (I got a gc warning about allocating 16GB of memory!) although the package builds quickly
<maximed>maybe it does lots of 'stat' an 'read'
<maximed>Allocating 16GB seems bad
<roptat>so I changed that guix environment to "guix environment --ad-hoc <all the dependencies>" and it worked better, until it builds the profile
<lfam>What package is it?
<maximed>I wonder if some code does (find-files "dir")
<maximed>if "dir" has plenty of files, I would imagine it allocates quite some memory
<lfam>I did notice that "buiding profile" seemed to get slower lately
<maximed>checks
<roptat>it's an additional package I can't contribute because it lacks a license...
<lfam>I see
<roptat>ocaml code I need for research
<roptat>it depends only on free software, but we don't have them all yet in guix
<roptat>oh, it took 10 minutes, and it finished
<MysteriousSilver>cookbook is a bit confusing, how do i get familiar with scheme/guile?
<dstolfa>roptat: could it just be statically linking a heck of a lot of ocaml?
<sneek>dstolfa, you have 1 message!
<sneek>dstolfa, lfam says: I'm seeing improvements here too! Report more bugs :)
<dstolfa>lfam: \o/
<roptat>why statically linking?
<roptat>it's finished building all dependencies
<dstolfa>IIRC, ocaml is statically linked, is it not?
<roptat>it's not building packages
<dstolfa>hm, then i have no idea. was there any indication on what process was taking a while in top?
<roptat>"guile"
<dstolfa>so the bottleneck is somewhere in guix then i presume
<dstolfa>hrm
<roptat>maybe it's because there are propagated inputs, so the profile is actually bigger than advertised
<roptat>but 10 minutes is still a lot
<dstolfa>10 minutes sounds very excessive indeed
<dstolfa>does --verbosity=5 (or something along those lines) with `guix environment` help identify the issue?
<roptat>and I don't know how to strace it, because it's the build-side that's taking a lot of time (building /gnu/store/9zjbvx8iyyvckz18vb1j2fcl6qwxvw6c-profile.drv)
<lfam>You would `strace -f` the guix-daemon with the
<lfam>s/with the//
<lfam>And --verbosity might be useful too
<dstolfa>you can also `perf trace` if you don't want to deal with the overhead of strace
<lfam>Maybe also `guix processes` could help
<bdju>looks like the nheko package is a few months out of date
<ekaitz>bdju: there have been recent efforts to update it but I think they were stalled for a reason
<ekaitz>not sure
<iskarian>bdju, looks like there's a patch to update to 0.8 series at https://issues.guix.gnu.org/46012
<iskarian>oop, ninja'd
<roptat>mh, have slowed down recently? I see only 713 commits since my last guix pull, almost three weeks ago
<roptat>I would expect more, but maybe not... that's ~40 commits a day
<lfam>It's the summer holiday season
<roptat>ah, maybe that's it
<the_tubular>What's the difference between global config and manifest and profile ?
<the_tubular>I'm still all confused with this lol
<bdju>thanks ekaitz and iskarian for the info
<lispmacs[work]>the_tubular: a profile is basically a set of active packages you can see when you switch to it. Your default profile is the one you usually see, but you can make other ones
<lispmacs[work]>manifest file is a describe of packages which you could use to create a profile
<lispmacs[work]>experienced folks usually use manifest files, rather than just running "guix install <somepackage>" since manifest files allow a profile to be easily recreated, backed-up
<the_tubular>Yes that's what I'd like to do
<lispmacs[work]>the_tubular: the system as a whole has its own profile, which must be built using a system config file
<lispmacs[work]>by default located at /etc/config.scm
<the_tubular>Ok, that's pretty much what I though
<the_tubular>Let's say I want to install a simple package in a manifest file, how do i proceed ?
<the_tubular>Well I guess I could just check a manifest file
<the_tubular>But how do I "activate" a manifest file ?
<jlicht>the_tubular: either `guix environment -m <the-manifest>'
<lispmacs[work]>the_tubular: to get you started, create a manifest file. Try guix package --export-manifest
<lispmacs[work]>edit it to add more packages if desired
<lispmacs[work]>then jlicht's instructions tells you how to rebuild your profile using that manifest file
<the_tubular>Ohh, so the manifest file needs to have package that are included in the system config ?
<lispmacs[work]>the_tubular: negative
<lispmacs[work]>the_tubular: the manifest file is for your user profile
<the_tubular>What does guix package --export-manifest does then ?
<jlicht>or for ephemeral profiles, as I have shown (note `environment', not `package')
<the_tubular>It just takes what you guix installed and put it in a file ?
<lispmacs[work]>it figures out what packages are currently in your user profile and dumps them to a manifest file
<the_tubular>Gotcha!
<the_tubular>Let me try that
<the_tubular>so guix installed helloworld and guix package --export-manifest should give me a manifest file with helloworld correct ?
<jlicht>the_tubular: "export-manifest" is mostly used to get your current profile into a manifest. I doubt you'll need it more than the one time
<lispmacs[work]>the_tubular: correct
<the_tubular>Got it :)
<lispmacs[work]>yes, after first use you just edit it by hand
<the_tubular>And does it takes an argument like where to place the file ? Or it just defaults it to your home or something ?
<lispmacs[work]>the_tubular: it writes to standard output
<lispmacs[work]>so do guix package --export manifest >> some-file.scm
<the_tubular>Haa so just > to a file
<the_tubular>got it
*the_tubular is slowly learning
<lispmacs[work]>doing good
<lispmacs[work]>when you get a few manifests going for different computers you own, you might find it handy to keep them all in one git repository somewhere. that is what I do
<lispmacs[work]>in any case, probably create a directory ~/Manifests
<lispmacs[work]>where you can keep it
<the_tubular>Right, can they be kept in channels?
<lispmacs[work]>the_tubular: I'm not quite understanding your question
<the_tubular>Or are they 2 completly different things ?
<the_tubular>I mean channels are made to define pacakges right ?
<the_tubular>Could you also define your whole os trough a channel ?
<lispmacs[work]>the_tubular: a channel is the place where you package definitions are coming from, by default the latest guix pull
<lispmacs[work]>you can however, have multiple channels defined in a manifest
<lispmacs[work]>a cool feature allowing you to pull packages from different "time" snapshots in the guix continuum
<lispmacs[work]>you could have a channel also to pull from a non-guix repository
<the_tubular>Got it
<lispmacs[work]>by non-guix I mean unofficial
<lispmacs[work]>this handy feature is helpful when you want to grab some older version of a package, when something in the newer version is broken or not to your liking
<the_tubular>Also, can I get an ELI5 on https://lists.gnu.org/archive/html/guix-devel/2021-07/msg00004.html ?
<drakonis>its system management, but for your home
<the_tubular>I mean guix is for system management mostly right ?
<the_tubular>There's no system management in my home ?
<dstolfa>the_tubular: take `guix system reconfigure`, and translate to what you think it might do for your home directory
<dstolfa>so... dotfiles and the likes.
<the_tubular>But I thought the point of guix was to not have dotfiles and write those in your manifest ...?
<dstolfa>well, you can't write dotfiles into your manifest :)
<dstolfa>how would you put an init.el, .muttrc and .offlineimaprc into your manifest?
<lispmacs[work]>if you build a profile using guix package, that does not affect the "configuration" of your home directory
<lispmacs[work]>you cannot currently put those files in your manifest, no, not as far as I know
<lispmacs[work]>guix system has the ability to do that for system files, but not user files
<the_tubular>Got it. But you can mess with some settings inside your manifest right ?
<the_tubular>system files are the files inside /etc ?
<dstolfa>not necessarily, no
<dstolfa>a lot of them are in the store
<lispmacs[work]>the_tubular: right, and other things like boot files
<jlicht>guix home offers ways to more easily construct your dotfiles using guile, and also does everything to wire them to up to the expected locations in your actual $HOME
<lispmacs[work]>so, for example, `ls -lh /etc/static/pam.d` returns
<lispmacs[work]> /etc/static/pam.d -> /gnu/store/vrxsqiypa81nhm6z5c4c0lq6iga0i2qf-pam.d
<jlicht>that first part of that is already possible with vanilla guix, but annoying. The second part is something totally new :-)
<lispmacs[work]>but guix home is not integrated until the next release
<podiki[m]>Anyone use home with literate org files yet? Or is that redundant? Figure I'd do what I do now but tangle to the scheme files for home rather than use stow?
<dstolfa>does anyone know how `guix home` behaves on foreign distros?
<jlicht>dstolfa: it should work, once released, but you might run into some rough edges while doing so. My 2 cents: first get comfortable with guix.
<jlicht>that is not advice to anyone in particular, FYI
<dstolfa>jlicht: well i don't use it on a foreign distro, but i was wondering if the intent is for it to be fully functional on one, as `guix system` obviously won't work in that sense
<dongcarl>Hi Guix
<drakonis>hi
<ss2>hi
<dongcarl>I'm encountering a failure for `suspendable-ports.test` when building a guile derivation, is this known? https://paste.sr.ht/~dongcarl/0ea72f0842adc74eca00a3dabb6f05740ff6b354
<ss2>Could it be that substitute servers are throttled?
<ss2>I'm pulling max at 280 KiB/s.
<dstolfa>:( servers have been really bad today for me too
<rekado>ss2: no, they are not throttled
<ss2>okay, sorry, didn't want to make a wild claim. It is slightly faster now.
<rekado>in the past we found that connections from some ISPs are really slow, but we couldn’t figure out any problem on our end.
<rekado>our “hoster” is the the DFN
<dstolfa>rekado: i guess it's just routing :(
<dstolfa>short of having other mirrors, not much one can do i guess
*raghavgururajan peeps-in
<dongcarl>lfam: Hey, I think I'm encountering #48389... Do you have more insight/thoughts on what could be causing the problem?
<lfam>I don't think there is any insight yet
<the_tubular>Should stuff that always need sudo prviliege be put in the system config ?
<the_tubular>err root privilege *
<lfam>dongcarl: Especially considering the last message to that thread... it's not much of a solution
<dongcarl>lfam: Hmm I see, it's somewhat reproducible on my machine, so if posting logs/failed-dirs are helpful, I'd be happy to do that!
<lfam>dongcarl: I would compare your logs to the ones in that thread. If they are different, then send them
<lfam>What kind of machine are you using?
<dongcarl>I'm on an AMD Threadripper, Guix on Arch Linux, tmpfs mounted on /tmp
<dongcarl>Will post my info
<lfam>The build farm is also AMD (Epyc)
<lfam>I wouldn't be surprised if it only manifests on AMD. I've noticed that happens fairly often
<lfam>Like, with other bugs
<dongcarl>Oh really?
<dstolfa>unfortunately AMD is usually secondary for support on things, which isn't great but is also understandable
<dstolfa>even i've worked on things where "AMD doesn't really matter, just make it work well for intel"
<dstolfa>i always try to make it work well on AMD, though
<lfam>I don't think that AMD is doing anything wrong. It's just less tested
<lfam>Like, almost every laptop of the last decade is Intel
<dongcarl>lfam: Right
<dstolfa>yeah... what lfam said. it's a combination of AMD doing things a little different than intel and people not testing as much on AMD
<lfam>I think we need a way to reproduce the bug somewhat reliably, and then someone who is willing and able to spend some time debugging it
<the_tubular>Was my assumption correct ?
<lfam>the_tubular: It's up to you, really
<the_tubular>But stuff like docker always need root privileges though right ..?
<lfam>I don't know about docker, but you can still elevate privileges in the normal way on Guix System. For example with sudo
<lfam>The only stuff that has to go in config.scm are things that you want to be setuid, such as ping
<the_tubular>Ohh, that's good to know
<the_tubular>So I could put ducker in my manifest file, even though I need root privlege and just use sudo and that would work ?
<lispmacs[work]>yes
<lfam>Probably with `sudo -E`
<dongcarl>ducker :-)
<the_tubular>lol, my bad
<the_tubular>I'm getting tired ^^"