IRC channel logs

2021-02-02.log

back to list of logs

<roptat>I finally managed to add an equivalent to "ip l add v0p0 type veth peer v0p1" (creating a veth pair), which will be useful for container networking :)
<roptat>the info about the kind of message that needs to be sent is really hard to find
<roptat>I'm missing the delete operation on links, then I'll consider (ip link) to be complete, and I'll start creating an (ip addr) module
<sturm>In case it's useful to anyone I've noticed that recently my the PostgreSQL socket directory has moved from /tmp to /var/run/postgres, so to connect to a local database via unix socket, I now need to run `psql -h /var/run/postgresql`
<lfam>sturm: I'd guess it's from this commit: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=6c0679215f4ffa534c1eb2e8c8a6e043a0c993fe
<pkill9>a while back I wanted a simple daemon manager for running stuff as user, i forgot you can run shepherd as user, and the config file is really simple lol
<lfam>I also noticed this workaround in the Guix test suite: 6c0679215f4ffa534c1eb2e8c8a6e043a0c993fe
<sturm>Hmm, looks like the docs don't match the code - docs say /var/run/postgresql. Only problem with the new location is that `psql` and `createdb` and such don't expect it, so you have to specify it explicitly
<sturm>Thanks lfam, that's useful
<roptat>link-del was surprisingly easy to implement, so (ip link) is complete enough :)
<vagrantc>how long will guix likely carry guile-2.2 ?
<vagrantc>just noticed that guile2.2-bytestructures fails to build (on Debian too) against guile-2.2: https://github.com/TaylanUB/scheme-bytestructures/issues/42
<rekado>cbaines: re https://issues.guix.gnu.org/46212 — is there anything we can do to fix this for these substitutes? Will they be generated fine if we delete them?
<yjftsjthsd>I'm trying to make myself a channel for personal use/testing. I have my-hello.scm which is basically just the sample GNU Hello module from the docs, and placed it in a a git repo, then passed in the channel as a file:// url. This *looks* all right to me, but when I `guix pull` it (eventually) gives me `(exception misc-error (value #f) (value "no
<yjftsjthsd>code for module ~S") (value ((my-hello))) (value #f))`. I'm running guix in docker for the moment (safe way to dip my toes in) but that seems to be fine. I've put a transcript at https://gitlab.com/-/snippets/2069076 if anyone is willing to take a look and tell me what I'm doing wrong?
<pkill9>does anyone get this error when starting waybar on sway: Gdk-Message: 00:14:51.006: Error 30 (Read-only file system) dispatching to Wayland display.
<roptat>yjftsjthsd, if you put my-hello.scm at the root of your git repo, make sure the declare-module form says (my-hello), not (gnu packages hello) or something like that
<yjftsjthsd>I've got `(define-public my-hello (package (name "my-hello") [snip]`
<yjftsjthsd>if that's what you mean
<yjftsjthsd>I tried renaming it so the file was my-hello.scm (used to be something else) to match but that wasn't it
***knecht is now known as Schroedinger50PC
<yjftsjthsd>Oh, and I put `my-hello` on its own line at the end of the file
<yjftsjthsd>I *think* that having define-public and then the module at the end of the file like that is supposed to be the most flexible form (so you can guix package --install-from-file it *and* put it in a channel)
<yjftsjthsd>Oh, on which note - I *can* successfully `guix package --install-from-file=/testing/my-hello.scm`, so I think the module is okay and it's something with the channel that I'm doing wrong
<Schroedinger50PC>Is it possible to change the default shell used by the root account? I tried it like so:
<Schroedinger50PC>(user-account (name "root")
<Schroedinger50PC>(group "root")
<Schroedinger50PC>(shell (file-append gash "/bin/gash")))
<Schroedinger50PC>but this is just creating a second entry for root in /etc/passwd, however there is still one line using bash present. Manually deleting this line gives the desired result but doing so does not seem like a good solution.
***knecht is now known as Schroedinger50PC
<lfam>yjftsjthsd: Does my-hello.scm have a (define-module) field?
<lfam>Schroedinger50PC: You may need to replace the root user from %base-user-accounts
<yjftsjthsd>No, it doesn't (it's almost exactly from https://guix.gnu.org/cookbook/en/html_node/A-_0060_0060Hello-World_0027_0027-package.html - exact contents are at https://gitlab.com/-/snippets/2069076#LC17).
<yjftsjthsd>Okay, I found https://guix.gnu.org/manual/en/html_node/Defining-Packages.html that sorta talks about this - do I just need a `(define-module (gnu packages my-hello)`? Or does that define my-hello into the gnu namespace (seems wrong)?
<lfam>This is what roptat was referring to
<lfam>"if you put my-hello.scm at the root of your git repo, make sure the declare-module form says (my-hello), not (gnu packages hello) or something like that"
<lfam>The so-called module path should correspond to the filesystem path
<lfam>(gnu packages my-hello) would correspond to 'gnu/packages/my-hello.scm'
<lfam>Do you could try (define-module (my-hello) ...)
<lfam>I mean, "So you could try ..."
<yjftsjthsd>Sweet, let me try that
<roptat>ah define-module, not declare-module ^^'
<lfam>Tricky
<yjftsjthsd>Okay, so I took literally the example from https://guix.gnu.org/manual/en/html_node/Defining-Packages.html but replaced `(define-module (gnu packages hello)` with `(define-module hello` and stuck that in the root of my git repo as hello.scm and it still fails - albeit this time with a new error - `(exception syntax-error (value #f) (value "source
<yjftsjthsd>expression failed to match any pattern") (value ((line . 0) (column . 0) (filename . "/gnu/store/h6kfgnd9yy8sk7z2sv8fi81mrc3sq5np-testing-127bc80/hello.scm"))) (value (define-module hello #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix licenses) #:use-module (gnu packages gawk)))
<yjftsjthsd>(value #f))`
<roptat>should be `(define-module (hello`
<roptat>er, `(define-module (hello)`
<roptat>you need the parenthesis
<yjftsjthsd>That was my next thought; using `(define-module (hello)` gives me `(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (channel)) (value #f))`
<yjftsjthsd>Does it need to be moved to a subdirectory? testing/hello/hello.scm?
<roptat>if it's in a subdirectory like that, the module name becomes (testing hello hello)
<yjftsjthsd>testing is the git root
<roptat>then (hello hello)
<roptat>but I don't think you need a subdirectory
<yjftsjthsd>okay
<yjftsjthsd>I mean, I prefer to drop it in the git root and call it (hello)
<roptat>that should be enough
<roptat>do you use a variable or function named `channel` in hello.scm?
<yjftsjthsd>nope
<roptat>or, do you have any other .scm file in your git repository?
<yjftsjthsd>oooh
<yjftsjthsd>I'm going to be so mad if that's it
<roptat>guix interprets every .scm file as a module for the channel
<roptat>so if there's any .scm file that's not a proper module, you can get an error
*yjftsjthsd bangs head against desk
<yjftsjthsd>You know, I wondered about that waaaaay back
<yjftsjthsd>but I tried removing the other file and still got an error
<yjftsjthsd>okay, okay
<yjftsjthsd>I have a working minimal example now, I can iterate from here
<yjftsjthsd>Thank you so much for your help
<roptat>a stray channels.scm? :D
<yjftsjthsd>exactly
<roptat>it doesn't need to have the .scm extension if you want to keep it around
<yjftsjthsd>It was so easy.... "oh, well I'll just map a single directory into the docker container with all the files I need", "Oh, I can just put everything in one repo together"...
<yjftsjthsd>thanks, I'll bear that in mind
***iyzsong-- is now known as iyzsong-w
<argylelabcoat>Is it possible to have a "package" that doesn't have any sources? It's generated via scheme? I want to include a script in a "guix pack" but I don't see a way to include arbitrary derivations into a manifest
<raghavgururajan>Folks, is it possible to mention two build-systems in a package definition, directly at (build-system, instead of #:modules and #:imported-modules stuff?
<lfam>argylelabcoat: Not sure exactly what you mean, but it's possible to do (source #f)
<lfam>The gnome package is like that: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gnome.scm?id=5b5915560e5cbd546c005a950515f6d293442a28#n9046
<lfam>raghavgururajan: No... not yet ;)
<argylelabcoat>lfam: thanks for the reply, I'm trying to create a shepherd launch script for a `guix pack`
<argylelabcoat>my service definitions work fine in a `guix system` but I'd like to be able to deploy to a foreign system with `guix pack` as well
<lfam>Hm
<lfam>Would the pack also include the shepherd itself, or would that be expected to already be running?
<argylelabcoat>yes
<argylelabcoat>it would include shepherd
<argylelabcoat>so I've got the mosquitto mqtt broker as a service, for example. If I `(gexp->file (gexp (service mosquitto-service-type)))` on the repl with monad-repl, I get what looks like a promising result
<raghavgururajan>lfam: I see. I was unable to use arguments key-words from two different build systems at the same time. Like using #:configure-flags (from gnu) and #:install-plan (from copy).
<lfam>argylelabcoat: It sounds like you're on your way. I think I don't have any knowledge about this that you don't :)
<lfam>If you get stuck, please ask again (European daytime is the most active). Or on <help-guix@gnu.org>
<argylelabcoat>lfam: Thanks, I'm picking away at it, I don't really understand everything about how guix is building out the files for containers/etc
<argylelabcoat>I'm hoping that by fighting these crazy fights, I pick up some more useful knowledge
<lfam>raghavgururajan: Hm, I'm sure it's possible, but I don't remember off-hand how to do it
<raghavgururajan>I see.
<raghavgururajan>I mean no worries!
*raghavgururajan is tired
<argylelabcoat>raghavgururajan: I've just been adding/replacing phases to manipulate gnu-build-system to suit me when one method isn't enough
<raghavgururajan>argylelabcoat: I see. Yeah, I am able to do stuff inside #:phases. But unable to use #:key-word from two different build systems.
<raghavgururajan>UNRELATED: Any commiters available to push #45889? :-)
***iyzsong-- is now known as iyzsong-w
<zjgkkn[m]>Hi! Is there a 32 bit substitute server with the ungoogled-chromium on it?
<zjgkkn[m]>Tried to compile it, took 2 days and failed with an error.
<lfam>zjgkkn[m]: 32-bit Intel compatible? Or 32-bit ARM?
<zjgkkn[m]>lfam: i686 intel.
<timmydo>i'm trying to create my own channel but when i try to pull from it, I get the error: guix pull: error: commit 263ba5b6c14343040c138cb570915e394e428e3e not signed by an authorized key: 4334 F13E FD13 BC4D 7F5E 69B6 1CA2 7EA5 0709 6538. but according to git show and guix git authenticate, i think i signed the commit correctly? is there an easy way to debug?
***amfl_ is now known as amfl
***hji- is now known as hji
<timmydo>figured that out... but then i see guix/build/union.scm:144:11: union-build: collision between file and directories ((files ("/gnu/store/vsjhgckvgsyhmw5f84w92k7vkfrhxm68-timmy-packages/share/guile/site/3.0")) (dirs ("/gnu/store/0vxp0lgnw2r7zzf7b5s7mdj5v711b33a-guix-796c9b0bf/share/guile/site/3.0")))
<ryanprior>zjgkkn: there's a substitute available for ungoogled-chromium from Guix 5ecc09551b0394e59406ef7898bc084236d84c97
<ryanprior>You can install it by running: guix time-machine --commit=5ecc09551b0394e59406ef7898bc084236d84c97 -- package -i ungoogled-chromium
<ryanprior>It would be nice to be able to query the substitute server and say "what's the most recent Guix has that has substitutes for this list of packages" and get back a hash like that.
<ryanprior>But anyhow yeah don't try to build ungoogled-chromium imo, not worth, it's a bear
<cbaines>rekado_, regarding https://issues.guix.gnu.org/46212 , maybe it's worth deleting the store items with an invalid size from ci.guix.gnu.org, that might at least get rid of the bad data
<cbaines>guile-ssh fails to build on core-updates because m4/guile.m4 and the rest of the source files are read only
<cbaines>does anyone know if this is a known issue?
***apteryx is now known as Guest58390
***apteryx_ is now known as apteryx
<mothacehe>hey guix!
<pkill9>i don't get this, my guix daemon already has ci.guix.gnu.org in substitute urls looking at the process, yet i've had to add it on the command line for it to work
<pkill9>maybe it doesn't handle failed downloads
<pkill9>i.e. skip to next available substitute url
<mothacehe>pkill9: strange, having it at the daemon level should be enough afaik
<zjgkkn[m]>ryanprior: Thank you!
<pkill9>mothacehe: i think it doesn't handle failed redirects
<pkill9>so if it fails to connect at all, it will move onto the next substitute, but if it successfully connects but the server just redirects, then guix just errors instead of declaring it a failed download
<pkill9>finally got reconfiguring working :) i just stopped guix-daemon and ran it with different flags with substitute urls in different order
<mothacehe>oh probably related to https://issues.guix.gnu.org/45174 then
<pkill9>yep
<pkill9>could it be possible to only roll back specific packages in a guix profile?
<civodul>Hello Guix!
<mothacehe>hey civodul!
<PotentialUser-16>Hi everyone, I think I'm stupid, installing emacs and emacs-guix is not sufficient to have M-x workin in emacs. Am i missing some other package?
<pkill9>hey civodul
*pkill9 needs to set up garbage collection cronjob
<civodul>PotentialUser-16: you mean M-x guix specifically?
<civodul>hey mothacehe! the new build history + weather features are awesome!
<mothacehe>thanks civodul :)
<mothacehe>the weather status is also a nice building brick for RSS and email events
***user___ is now known as wonko_the_sane
***knecht is now known as Schroedinger50PC
<PotentialUser-16>@civodul yes exactly
<PotentialUser-42>hi all, Somebody know how to install whis on guix?
<civodul>PotentialUser-16: so what does M-x guix return?
<civodul>PotentialUser-42: hi! i don't know what "whis" is, but see "guix search" and "guix install"
<PotentialUser-42>I installed xbindkeys that require it, but I did't on guix search
<civodul>mothacehe: yup, and Mastodon via Guile-Mastodon? :-)
<mothacehe>ohhh terrific idea :)
<PotentialUser-42>Sorry, I mean "wish" https://www.tutorialspoint.com/unix_commands/wish.htm
<PotentialUser-42>This is the output: https://paste.debian.net/1183689
<PotentialUser-42>any solution?
<PotentialUser-42>It isn't a dependency problem?
<civodul>PotentialUser-42: looks like it, indeed! "wish" is in the "tk" package
<civodul>could you report the issue by email to bug-guix@gnu.org?
<PotentialUser-42>civodul: Any guide?
<civodul>PotentialUser-42: report the problem you encountered, with a way to reproduce it, and that should be enough
<PotentialUser-42>Or is just a email where i report it? whit the Object as Title of the
<PotentialUser-42>issues
<civodul>the email subject should summarize the issue
<civodul>like "Undeclared xbindkeys dependency on Tk"
<PotentialUser-42>Thanks, ready for my first bug report, sounds professional...
<civodul>heh, thank you PotentialUser-42 :-)
<PotentialUser-42>civodul: Do you know some guide to send a patch directy on some issues platform of guix?
<civodul>PotentialUser-42: for patches, see https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html
<civodul>interaction happens primarily by email, but "issues" can be browsed at https://issues.guix.gnu.org/
<PotentialUser-16>@civodul, M-x guix returns nothing. Nothing happens, no noticeable feedback in emacs in in the standard output of the terminal I started emacs from
<PotentialUser-16>@civodul, M-x guix returns nothing. Nothing happens, no noticeable feedback in emacs or in the standard output of the terminal I started emacs from
<civodul>PotentialUser-16: not even an error message?
<PotentialUser-16>None that I can see. I think I'm missing some other package, from reading https://issues.guix.gnu.org/45781. Maybe I should install emacs-geiser and guix-emacs-autoload-packages?
<davidl>Hi, I need my mysql user to have a couple programs in it's path when starting the mysql service - whats the correct (or quickets, or any) way to achieve this?
<PotentialUser-16>civodul oops, it's working
<PotentialUser-16>no idea, maybe i was too tired yesterday!
<PotentialUser-16>I'm not used to emacs, and failed to notice *guix-popup* in the lower half
<PotentialUser-16>forget I was ever here
<PotentialUser-16>:)
<davidl>I tried adding some of the things my mysql user needs in /usr/bin /bin /usr/sbin, but it can't find it. How can I solve that?
<PotentialUser-42>civodul: how you discover that wish is a tk package?
<pkill9>mothacehe, civodul: what are the new build history and weather features?
<mothacehe>pkill9: those are new Cuirass features, I wrote a few line about them here: https://fosstodon.org/web/statuses/105657317738604435
<marusich>Is Guix still building most of its packages using GCC 7.5.0? Looks like the %final-inputs use gcc 7 even on core-updates.
<civodul>marusich: NieDzejkob and then mbakke looked at upgrading it on core-updates
<civodul>not sure what the status is
<marusich>They were asking in #talos-workstation, and I didn't want to give misinformation. FWIW the final inputs are still gcc 7.5.0 on core-updates.
<mbakke>I got stuck in a deep Tex Live hole, but will try and dig myself out over the coming weeks...
<civodul>mbakke: hey, sounds scary :-)
<civodul>apteryx did some texlive things recently, maybe they can take you out?
<mbakke>civodul: I would not mind getting some input from apteryx, I think I'll ask to do a video hacking session :-)
<mbakke>I haven't had any time for Guix lately, but my almanac looks better for February :P
<Schroedinger50PC>The manual states that the root account definition is not included in %base-user-accounts. Can someone point me to where the definition for the root account is specified in the Guix source?
<civodul>mbakke: heh good, it's great to have you here anyway :-)
<civodul>will you be "at" FOSDEM?
<civodul>Schroedinger50PC: see '%root-account' in (gnu system)
<mbakke>oh, FOSDEM is this weekend?
<civodul>yes!
<mbakke>civodul: I had not planned for it, but will try to watch the most interesting talks. Thanks for the reminder. :-)
<civodul>and there's an extra Guix day on Monday
<civodul>as usual, but differently
<setpill>Hi all, I'm trying to make a build script based on guix CI-friendly.
<setpill>Is there a way to tell guix not to output progress bars etc?
<civodul>hi setpill
<civodul>setpill: it won't output progress bars when stdout is not a tty
<setpill>Apparently it will 😅
<civodul>well, stderr then
<civodul>it's been fixed quite recently actually
<setpill>Ah. The build script in question does use guix time-machine to ensure reproducability
<civodul>ah, that could be the issue
<setpill>So if it's been fixed recently that could explain it
<civodul>yeah
<setpill>Alright, will consider it something that will hopefully sort itself out eventually
<civodul> https://issues.guix.gnu.org/44985
<civodul>was fixed in December
<pkill9>cool i'll check out fosdem
<zimoun>hi!
<zimoun>On 2 different machines, with the same Guix commit, I get 2 different config.scm-builder with (define-public %sysconfdir "/usr/local/etc") or (define-public %sysconfdir "/etc"). What should be wrong? How can I fix it?
<civodul>zimoun: hi! probably you built Guix from source on one of them with --sysconfdir=/usr/local/etc (the default)
<zimoun>I am sure to have install Guix via the install script on foreign distro
<zimoun>then I use regular “guix pull“
<zimoun>civodul: thanks, I thought ‘guix pull -C channels.scm’ give the same Guix on all the machine. I do not have that and I miss why.
<lapin>hi i need help to solve a docker image warning
<lapin>;;; WARNING: loading compiled file /gnu/store/08da6i38fzn9g36gyq443k03f84nk8rk-module-import-compiled/guix/build/utils.go failed:
<lapin>;;; In procedure load-thunk-from-memory: incompatible bytecode kind
<civodul>zimoun: that's true, except for configuration: the new (guix config) preserves the settings of the existing one
<civodul>hi lapin! what command gives you that warning?
<lapin>i build a docker-image with guix system
<lapin>i load it with docker load -i MYIMG
<zimoun>civodul: thanks. And what is the easy fix to have %sysconfdir set to /etc?
<civodul>lapin: ok, and what command gives you that warning?
<lapin> http://pastebin.fr/83795
<civodul>zimoun: it depends on what you did, but "./configure --sysconfdir=/etc && ./pre-inst-env guix pull" should do
<lapin>this one
<lapin>when i run it
*zimoun is trying civodul tips
<civodul>lapin: and how did you generate that image? from this paste we can't see what's running inside the image
<lapin> http://pastebin.fr/83796
<lapin>guix system docker-image config.scm
<lapin>yep bu inside the docker image no path to /gnu/store/08da6i38fzn9g36gyq443k03f84nk8rk-module-import-compiled/guix/build/utils.go
<lapin>i can only get access to this image over my guix host system
<lapin>binaries
<zimoun>civodul: maybe it is worth to document it in the manual. As for localstatedir=/var/. WDYT?
<lapin>sorry i can access to this file
<lapin>someone get the same error .
<lapin>?
<civodul>i'm not entirely sure how to reproduce it
<civodul>just "system docker-image" and then load the "docker load -i" + "docker run" and that's where you'd see those messages?
<civodul>actually, could you email the necessary steps to reproduce to bug-guix@gnu.org? :-)
<civodul>zimoun: dunno; i'm not fond of it, because it's regular configury, which is already documented elsewhere
***atw` is now known as atw
<setpill>I am trying to run guix in a docker container, in order to use it in gitlab pipelines. So the goal is to have it run without requiring --cap-add or --privileged.
<setpill>However, as it is right now, this gets me "error: cloning builder process: Operation not permitted"
<setpill>Is there a known way to configure guix so that it doesn't need to run privileged?
<civodul>setpill: unfortunately that's not possible yet
<setpill>I see. Does an inventarization exist of what parts currently require which capabilities? A downstream attempt has been made in https://github.com/fanquake/core-review/issues/5 but it's clearly not the full picture.
<civodul>setpill: thinking about it, this can be addressed by resorting to user namespaces
<civodul>it could even work as non-root when unprivileged user namespaces are enabled
<zimoun>civodul: I have never changed --sysconfigdir, even building from source.
<davidl>How do you add environment variables when starting programs with make-forkexec-constructor?
<setpill>civodul: would that address all the issues in the link? e.g. `--cap-add=NET_ADMIN` as well?
<civodul>setpill: you could try running it with --disable-chroot
<civodul>FOSDEM! https://guix.gnu.org/en/blog/2021/meet-guix-at-fosdem-2021/
***ChanServ sets mode: +o civodul
***civodul changes topic to 'GNU Guix | get Guix at https://guix.gnu.org | videos: https://guix.gnu.org/blog/tags/talks/ | bugs & patches: https://issues.guix.gnu.org | paste: https://paste.debian.net | Guix in high-performance computing: https://hpc.guix.info | FOSDEM: https://guix.gnu.org/en/blog/2021/meet-guix-at-fosdem-2021/ | This channel's logged: https://logs.guix.gnu.org'
***ChanServ sets mode: -o civodul
<roptat>mh... I get a lot of warnings with ./pre-inst-env
<zimoun>civodul: aboout sysconfig, build from source then pull and then pack works. \o/ Thanks! It is a bit mysterious to me how I ended up with this but anyway!
<roptat>incompatible bytecode version, then talking about how ~/.config/guix/current/... is incompatible
<roptat>maybe clean-go and a rebuild will solve that
<gnutec>Hey there! I update my guix system to kernel 5.10.11 and everything work and finish. When I reboot, the system show "search media presence... no media present" and go to setup. What I do?
***knecht is now known as Schroedinger50PC
<gnutec>Anyone?
<civodul>gnutec: hi! no idea; it could mean that the bootloader was wiped, but i'm not sure how this could happen
<mhj[m]>I suppose you could get the usb/cd or whatever you used to install guix, boot into it, go to the prompt, mount the volume you installed it to and check the logs from it. After checking the logs, I dunno what else to do then other than get a external hard drive, backup everything and reinstall?
<gnutec>mhj[m], I don't want to reinstall guix system. I get in to the grub in my guix pen drive and trying a manual boot to HDD but I was back to grub after the "normal" command.
<gnutec>I think there is a option in Trisquel grub to boot to HDD. Now is not avable. Maybe my HDD is broken some how the start is not working but I have access to my data.
<gnutec>I need to be sure if my hard drive is good.
<joshuaBPMan> gnutec: You can actually use the usb installer image, boot into the manual installation, mount your hard drive, and then examine the filesystem. You could see if your data is still there.
<joshuaBPMan>Then you would use another usb stick, copy the relevant data that you need onto it.
<joshuaBPMan>Then you could either re-install or try to re-install grub.
<joshuaBPMan>Best of luck!
<gnutec>joshuaBPMan, I do that. My data still there. I just wanna know how to reinstall grub with my guix install pen drive or just boot to the system.
<gnutec>joshuaBPMan, the tutorial I find out in internet doesn't work with guix install pendrive. It's outdate I think.
<joshuaBPMan>gnutec: This wiki has a lot of information about how to do about doing that I believe...https://wiki.archlinux.org/index.php/GRUB
<joshuaBPMan>Sorry that it's information overload.
<joshuaBPMan>gnutec: You could also try this: https://www.supergrubdisk.org/
<joshuaBPMan>best of luck!
<joshuaBPMan>honestly, I've always just re-installed. I found that to be the easiest option. I could never figure out how to do it the other ways.
<apteryx>gnutec: to reinstall GRUB on a Guix system, you would need to 'guix system reconfigure' it.
<apteryx>There may be away to tell GRUB to manually boot using the config from your Guix Sysem, which should be kept in the /boot directory.
<apteryx>if you manage to do so, then reconfigure your system after it booted.
<apteryx>else you could also try the chroot attempt. I've done that once using some information found on the guix-devel mailing list archives.
<gnutec>apteryx, I can't access the system at all. I need to do with my pendrive with guix system installation.
<apteryx>Right; I was thinking while experimenting from the GRUB loaded from your pendrive.
<gnutec>apteryx, Can I use "guix system reconfigure" in my pendrive guix system installation? How?
<joshuaBPMan>gnutec: https://lists.nongnu.org/archive/html/help-guix/2018-02/msg00089.html
<apteryx>gnutec: Hmm, I don't have a clear picture in my mind but you'd probably at least need to chroot to your guix system installation drive.
<apteryx>(to use guix system reconfigure). It's going to expect paths such as /var/guix, /gnu/store and such to be present, as well as Guix on your PATH, etc.
<apteryx>joshuaBPMan: thanks, I think it was this one I used
<apteryx>We should enshrine that info in the cookbook
<joshuaBPMan>apteryx: I just added that to my TODO list. Though it'll take me a while to get to it. :)
<morgansmith>is there a way to use package transformations to build something from the git HEAD? I used to be able to do it by specifying git-branch and git-url but I guess that oversight got patched :P
<joshuaBPMan>apteryx: I also want to add to the guile hacker handbook how to get a trivial guile program setup with autotools.
<apteryx>Sounds like a useful addition
<joshuaBPMan>apteryx: Yeah. Someone actually linked to a guide here...I've since lost that link...
<gnutec>joshuaBPMan, Ok!
<gnutec>I'll try it and return.
<bavier[m]>morgansmith: there's a new `--with-latest` transformation option.
<morgansmith>bavier[m]: I think that looks for tags or something right? I specifically want HEAD
<bavier[m]>the `--with-git-url=package=url` option also uses the latest commit at the given url
<morgansmith>That's what I used to do but I think they fixed that so it now uses the proper commit
<morgansmith>the --with-commit accepts tags and sha's. I think the nice solution might be to add HEAD as an accepted value
<roptat>you could use --with-branch=master
<morgansmith>roptat: that also doesn't work. But I'm pretty sure that used to work
<civodul>morgansmith: --with-branch=PKG=master does what you want
<civodul>i happily tested "guix build emacs-next --with-branch=emacs-next=master" after applying your patch the other day :-)
<morgansmith>oh!! no you guys are correct. This one is on me. The project switched their main branch from master to main but master isn't updated anymore so I though it was grabbing the commit from that last tag
<morgansmith>is there a way to --with-branch but just get the default branch?
<gnutec>joshuaBPMan, Yeh! I got it. But I need internet conection to run "guix system init /etc/config.scm /". But I access the chroot. o/ "sh-5.0#". Can I run grub install from here?
<morgansmith>so doing --with-git-url, I get the commit from the HEAD of master, which is not correct as it usually defaults to the HEAD of main. Do we hardcode master anywhere? I think that might be my issue
<apfel>hi there, i try to package c2ffi, i am fighting with cmake and the generated rpath. Somehow the rpath always points ONLY to the output
<joshuaBPMan>gnutec: I've never actually re-installed via a chroot before. :( I think you should be able to give that a try.
<apfel>lib directory, but nothing else, https://paste.debian.net/hidden/55852abb/
<joshuaBPMan>assuming you have mounted your partitions in the chroot, you should be able to give it a shot.
<joshuaBPMan>:)
<joshuaBPMan>if it works out well, you might consider writing up instructions and including them in the cookbook.
<joshuaBPMan>I've got some videos to show you how to do that here: https://video.hardlimit.com/accounts/joshua_branson/video-channels
<paulj>Afternoon all - I have created a local copy of the dwm repository, so I can make configuration changes for myself. Everything is working as expected, but I would like to instruct the build to use a particular branch. Is there a way to do this in the package definition (as opposed to a command line option)?
<gnutec>joshuaBPMan, the "sh-5.0#" show "command not found". :S
<morgansmith>paulj: check the info page 8.3 defining package variants. I think that's what you want
<gnutec>joshuaBPMan, I can try it again the "guix system init" when I buy more mobile data. But now, I have no money. :P
<paulj>...thanks @morgansmith - I'll go and have a look...
<apfel>or in other words, other cmake packages do not seem to prep their own rpath when using cmake. They also never explicitly use gcc-toolchain as an input, but in the end the rpath of the binary contains the gcc-toolchain "/lib/" path which allows for name resolution of, for example libgcc_s. I am a bit lost, where does this rpath come from or how to i find out
<paulj>I think that is more complex than I need. The reason I wanted to use a different branch was to enable the original code to be imported into the master branch from time to time, then merged into my branch. I guess I could go the other way - have the original code merged into a separate branch, and keep my code in the master branch. I assume this is built by default?
<paulj>@joshuaBPMan - I have just had a look at your video channel. What a fantastic resource - thanks for sharing these. I think I need to do some more studying!
<morgansmith>paulj: Sorry, how do you actually want to install it? I assumed since you said you didn't want commandline options you where using a manifest. Now I'm getting the idea that you want to define a package (like paulj-dwm) and have that installed in your profile?
<paulj>I created a channel with the packages defined for dwm, st, dmenu and slock - exactly as you expect (paulj-dwm). The channel definition has a package file for each of these packages, and they point to a git repo which is a clone of the original suckless repos.
<paulj>I then include the definitions in the system configuration - mainly so I get dwm in the window manager options. This works, but I am thinking about how I incorporate future code changes in the upstream repo. If my approach is not correct, I am happy to be told so!
<morgansmith>so are you asking how to make a package that inherits another package or are you asking how to make an origin that specifies a git branch? Sorry, I'm not sure how familiar you are with the package system :P
<paulj>Ideally I want to include the packages in a user manifest, but I am not yet sure how to make sure this is picked up by slim
<paulj>My packages inherits the standard packages:
<paulj>(define-module (paulj packages paulj-dwm)
<paulj> #:use-module (gnu packages suckless)
<paulj> #:use-module (guix git-download)
<paulj> #:use-module (guix packages)
<paulj> #:use-module (paulj packages))
<paulj>
<paulj>(define-public paulj-dwm
<paulj> (package
<paulj> (inherit dwm)
<paulj> (name "paulj-dwm")
<morgansmith> https://paste.debian.net is how you should share code :P
<paulj> (source
<paulj> (origin
<paulj> (method git-fetch)
<paulj> (uri (git-reference
<paulj> (url "https://github.com/paul-jewell/paulj-dwm.git")
<paulj> (commit "61bb8b2241d4db08bea4261c82e27cd9797099e7")))
<paulj> (sha256
<paulj> (base32 "1j3vly8dln35vnwnwwlaa8ql9fmnlmrv43jcyc8dbfhfxiw6f34l"))))
<paulj> (home-page "https://github.com/paul-jewell/paulj-dwm")
<paulj> (synopsis "paulj version of dwm")))
<paulj>
<paulj>Oops - sorry!
<morgansmith>sorry, I still don't see the issue you're trying to solve. If you specify a commit then you should be good right? That commit can be on any branch
<paulj>Aha! So maybe my misunderstanding. The commit defines the branch, not just the whole repo. Thank you.
<paulj>I though I had to find a way to define which branch should be built.
<paulj>I have been using linux since 1995, but these last few weeks with guix have certainly pushed the boundaries of my understanding (in a good way)!
<morgansmith>the commit defines a specific change at a certain point. By specifying the commit you tell guix to build it after that change. Each commit has a unique reference. So you can specify the commit using only a single number regardless of branch
<paulj>Fantastic. So I can achieve exactly what I want - thank you.
<argylelabcoat>When building a `guix pack` with cross-compilation, I'm getting gcc and other compilers included, but not including any compilers in my manifest. Is there somewhere I can look on how to troubleshoot this?
<NieDzejkob>argylelabcoat: run guix size on the items you actually include and check whether the compilers get listed there
<NieDzejkob>also, is it gcc itself or gcc-lib?
<argylelabcoat>NieDzejkob: both... also the cross variants
*NieDzejkob thinks this is a bug in guix
<NieDzejkob>send a note to bug-guix@gnu.org
<argylelabcoat>hm, the worst are the Go binaries I build with Makefiles
<argylelabcoat>the go compiler is getting included in `guix size`
<argylelabcoat>as is bash-static and bash-minimal
<argylelabcoat>and gcc-7.5.0
<argylelabcoat>I'm including go as a native input: (native-inputs `(("go", go)))
<argylelabcoat>why would a binary need the compiler?
<joshuaBPMan>paulj: Thanks! I find myself learning lots! It was really scary in the beginning. Who am I to be uploading how-to-do-this kinds of videos? Almost every video I start, I am thinking, "Ok, I have no idea how to do this...let's find out how." Apparently Teddy Rooselvelt said that, "Confidence is telling someone you can do something, then you go learn how to do it."
<paulj>joshuaBPMan: I am sure making videos is an excellent way to really make sure you understand something!
<raghavgururajan>Hello Guix!
<argylelabcoat>So if `guix size` is showing a bunch of superflous packages, what can I do to better understand how they are getting included as dependencies?
<argylelabcoat>the package in question is a static binary, so there should be *not* dependencies
<argylelabcoat>I've tried `guix graph` but it doesn't explain why a `native-input` is a runtime dep
<cbaines>argylelabcoat, guix size looks at references, so look at where the references are
<cbaines>one approach is to use grep to search for the hash part of the referenced store item
<argylelabcoat>cbaines, what would I do to communicate to guix that I don't need compilers as runtime deps?
<cbaines>argylelabcoat, that's simple, don't reference compilers in the outputs
<argylelabcoat>cbaines, the output is a single binary
<argylelabcoat>statically linked
<argylelabcoat>I don't really know why it would be referenced
<cbaines>that's where looking for the references comes in
<cbaines>in which files are the references?
<argylelabcoat>cbaines: sorry, I'm trying to follow. The references? I am outputting a single binary to ${PREFIX}/bin/caddy built in a makefile with a target that executes `go build $(GOFLAGS) -mod vendor -o ${PREFIX}/bin/caddy`
<argylelabcoat>GOFLAGS has pieces of the target triplet assigned to GOOS and GOARCH
<argylelabcoat>so that those can come in via the Guix cross-compile system
<cbaines>argylelabcoat, right, do does the binary include the store path to the Go compiler, grep can tell you if it does?
<cbaines>I think this is a known behaviour of the Go compiler, the Guix go-build-system usually strips the references inserted by the compiler, to avoid exactly the behaviour you describe https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/go-build-system.scm#n301
<argylelabcoat>cbaines: I see what you mean, it does do some dumb stuff
<argylelabcoat>cbaines: thanks
<cbaines>you're welcome
<cbaines>I don't know what build system you're using currently, but you might be able to switch to the Go build system, or use that phase to avoid this issue
<argylelabcoat>cbaines: I am using Go Modules, so I can't use the Guix Go Build system, but the `-trimpath` flag resolves this issue for me
<argylelabcoat>cbaines: Lack of Go Mod support in Guix Go Build System basically has me using a Makefile full of `go build` lines
<argylelabcoat>out of curiosity, when I do a `guix pack -R --target=arm-linux-gnueabi`, I receive a `guix pack: error: cross-compilation not implemented here;` but only if I am using the `-R` flag, is there something I can do to fix this? Or is this a limitation of the cross-compile of packs?
<morgansmith>hey since we're talking about arm stuff, can someone look at my arm-none-eabi patch? It's been up since november 30th but hasn't gotten any attention. https://issues.guix.gnu.org/44750
<argylelabcoat>morgansmith: that's handy looking, I was curious if anyone was using guix for embedded outside of embedded-linux (my current hell)
<morgansmith>I work in embedded but haven't really been able to do anything on guix yet. I packaged mspdebug and found that issue but there's more work I gotta do before I can actually get stuff done :/
<apteryx>mbakke 'tlmgr show pkg' might save you on core-updates
<apteryx>it's a handy way to find what a package texlive package should install, from the texlive.pdb database archive
<apteryx>also, there's a new texlive-updmap.cfg that composes better than the previous texlive-union.
<apteryx>hopefully your deep texlive hole won't be much worst than the docbook-utils one ;-)
<roptat>arg, I'm trying to build the ocaml bindings for z3 since this morning, and it failed again
<roptat>this time though, everything seems to be working well, but libraries that are installed in the ocaml site-lib directory are missing something from their RUNPATH, so they cannot find libz3.so
<civodul>roptat: probably you need to tweak their build system to pass -runpath=/path/to/z3 to the linker, somehow
<roptat>which is hard, because the makefile is generated by a python script
<civodul>ah
<roptat>I already had to look at it to make it install to the correct directory, and not to ocaml's store path
<roptat>but yeah, you're right, I need to find where I should do that
<apteryx>ryanprior: about trusting trust and intermediate bootstrap artifacts; thanks for your response, it makes sense.
<roptat>so, -runpath is passed to the linker, right?
<civodul>yes, it's a linker option
<civodul>er, -rpath
<civodul>often the linker is invoked by gcc, in which case you pass -Wl,-rpath=/foo to gcc
<civodul>which in turn passed -rpath=/foo to ld
<civodul>*passes
<roptat>well, this time it's passed through ocamlopt
<roptat>so I think it should be -cclib -rpath=/foo
<raingloom>( is sneek retired? i wanted to ping morgansmith about ARM stuff. )
<lispmacs[work]>where is sneek?
<pkill9>i did a reconfigure and now my laptop doesn't suspend on lid close, but it does suspend when i run `loginctl suspend`
<roptat>pkill9, the behavior changed since quite some time now. It won't suspend on lid close if it's plugged in
<roptat>but it should still suspend when unplugged
<lfam>sneek is not retired! Maybe just sleeping a little more than usual... like many of us during the pandemic
<lfam>argylelabcoat: The issues with Go modules are definitely on Guix's TODO list... it just needs to be matched up with a "WILLDO" candidate ;)
<lfam>Our go-build-system predates Go modules
<argylelabcoat>lfam: no worries, I'd be happy to help out when I'm not under so much pressure to get things done here at the office
<argylelabcoat>lfam: I've got to get this guix stuff working for our SOM so that I can have a normal life again
<roptat>I passed an additional LDFLAGS, hopefully it'll do the trick
<roptat>seems to be used by the ocaml module of the python scripts, to pass some -cclib arguments to the compiler
<argylelabcoat>my current issues have boiled down to our current Yocto build's "chroot" not behaving as expected, and thus making use of my .tgz from `guix pack` difficult. But that's not a guix related issue methinks
<lfam>Hm, yeah I dunno!
<argylelabcoat>I'll just have to somehow dig up hours to port us to GuixSD or something
<lfam>There is a recent swell of interest in Guix / Go, so I'm optimistic about that
<argylelabcoat>get our hardware vendor's custom kernel building instead of linux-libre
<pkill9>ah thanks roptat, it does that for me
<Sharlatan>Holla ppl
<bavier[m]>\o
<Sharlatan>Does anyone have a momnet to take a look at this ld not found issue? http://paste.debian.net/1183765/
<roptat>is there a single verb that means "make opaque" in English?
<bavier[m]>I've seen the "crti.o not found" errors before, but I always forget how I've resolved.
<ngz`>roptat: obfuscate ?
<roptat>could it be a missing $LIBRARY_PATH
<roptat>(or is it LD_LIBRARY_PATH?)
<bavier[m]>or "obscure"
<Sharlatan>yep it could, I'm checking fpc package now a lot of extra magic
<Sharlatan>It probably needs some reduction in base binaries
<bavier[m]>Sharlatan: fpc hasn't seen a lot of use yet, so if you can fix any loose strings, that'd be great :)
<ngz`>It could be used in hedgewars to remove all Haskell dependencies, BTW.
<Sharlatan>I need FPC for -> lazarus -> skychart
<bavier[m]>indeed, that might be nice.
<Sharlatan>plplot still wating to be checked :) https://issues.guix.gnu.org/46160
<bavier[m]>fun
<ngz`>The synopsis deserves some humility.
<ngz`>:)
<Sharlatan>vague copy-pasta from the source site with my anotations :(
<ngz`>spurious space in the "commit" line <- ultimate nitpick
<bavier[m]>Sharlatan: do you do astronomy professionally, or hobby?
<Sharlatan>Volunteering to build some core missing astro soft for Portuguese astro
<Sharlatan>I've got some important widly used FOS software commonly used in Astronomy + this https://salsa.debian.org/debian-astro-team is something I'd like to pack
<roptat>gah, passing LDFLAGS fixed one of the two files
<roptat>but not the other
<roptat>and it doesn't seem to be a target of the Makefile, so it must be a byproduct of some rule...
<roptat>it's mentionned only once, in the install target
***ngz` is now known as ngz
<roptat>ah, for this one there's an option -dllpath for ocamlmklib
<roptat>and -cclib has a different meaning from -cclib for ocamlopt
***txgvnn is now known as Guest73762
<nikita`>re: https://bugs.gnunet.org/view.php?id=6611 , idk if hartmut is around, but i after taking a look at the guix package definition I'd look at the make time dependencies which it appears some them are not hard failures, I'd simply see if carrying awk and others on to the check environment is enough to solve the files from not existing
<nikita`>idk how recent the change to introduce awk etc to construct the correct perl/python etc lines was from myself, but it's been around maybe 2 years from what I remember, or maybe a year? so just noting a failure now is odd
<Melchizedek6309>New to Guix, just did an install with EXWM and the system boots into an Oh no! Something went wrong screen. Anybody know how to find an error message or something? Switching to a different VT works but im not familiar with Guix at all.
<ngz>bavier[m]: Actually this is not fpc or ghc in hedgewars, but fpc or clang. Not sure it is worth the trouble.
<ngz>and build fails.
<nikita`>actually nvm, hartmut can reply in the bugtracker. looking at it i also missed a comment and the release dist where yep i managed to not include it.
<bavier[m]>Sharlatan: cool!
<bavier[m]>ngz: oh... :/
<Sharlatan>bavier[m]: mh?
<bavier[m]>the work you're doing with astro software and packaging
<Sharlatan>ah :) thanks it always hard to find a good starting point for someone from scince, they plan to migrate a big broup of astronomers from windows
<Sharlatan>big group
<Sharlatan>plplot is a massive core software
<roptat>it worked!
<apteryx>Melchizedek6309: hello! I don't use exwm, so can't be of much help with this specifically, but in general, I recommend using one of the provided templates (if you haven't already) to have a smoother start.
<apteryx>once you have something that is 'known good', you can start experimenting with your config, and it's always easy to go back to it if somethings goes wrong.
<civodul>roptat: congrats :-)
<Melchizedek6309>apteryx: yeah that was one of the templates, thats why im quite confused, weirdly enough it seems that gnome wants to start but crashes immediatly
<roptat>so, I tried make clean-go and rebuilding, but using pre-inst-env always shows a lot of warnings
<roptat>still*
<roptat>loading compiled file /.../guix-repo/gnu/packages/xdisorg.go failed: incompatible bytecode version
<roptat>note: source file /.../guix-repo/... newer than compiled ~/.config/guix/current/...
<roptat>ok, rerunning ./configure actually fixed it, no recompilation needed
<valerii_leontiev>Hey guys. I tried to install guix to external drive but got error
*valerii_leontiev uploaded an image: IMG_20210202_234112_569.jpg (152KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/KAjnQzqMDMmkPHSLjwuQydoB/IMG_20210202_234112_569.jpg >
<valerii_leontiev>What do I do wrong?
<roptat>is /dev/sdc the installer media too maybe?
<roptat>other than that, I don't see what's the difference between external drive and internal drive, from the point of view of the installer
<roptat>reading the code, it looks like it's syncing the disk and waiting for at most 4 seconds before the end of operation
<roptat>maybe you just got unlucky and you should try again?
<valerii_leontiev>I've tried few times
<valerii_leontiev>Let me try again
<roptat>what if you run the command "sync" manually, from another tty?
<valerii_leontiev>So sdc it usb-drive is my installation-usb
<valerii_leontiev>It's strange
<valerii_leontiev>Target partition called sdb
<valerii_leontiev>Btw, I'm using ventoy installation-usb which worked everytime for me. Could it be a problem with guix?
<drakonis>not at all
<drakonis>works well
<valerii_leontiev>Hm. So I don't know what is a problem
<valerii_leontiev>Please let me know if someone can help
<valerii_leontiev>Additionally I cant abort installation and reboot pc. When i press "abort" it path to first installation step.
<valerii_leontiev>* Additionally I can't abort installation and reboot pc. When i press "abort" it path to first installation step.
<jonsger>mbakke: it seems that debian users start to adopt Guixes ungoogled-chromium instead of the debian native one :)
<lfam>!!
<lfam>What do you mean jonsger?
<jonsger>is it allowed to post reddit links here?
<lfam>Yes, of course :)
<lfam>You know, don't post a link to something nasty, but reddit contains a sorts of things
<lfam>All sorts of things
<jonsger> https://www.reddit.com/r/GUIX/comments/l9znxg/ungoogledchromium_880432410404e2679c_refuses_to/ :)
<lfam>Interesting!
<lfam>It makes me wonder, where the hell is my Chromium coming from on my Debian system? :)
<lfam>Hey cybersyn :) I saw your messages on #guile
<lfam>I'm wondering you noticed that we are having a kind of informal Guix videoconference on Monday?
<lfam> https://guix.gnu.org/en/blog/2021/meet-guix-at-fosdem-2021/
***amiloradovsky1 is now known as amiloradovsky
<argylelabcoat>lfam: that's cool, I'll try to tune in
<lfam>I think it might be an ideal way to start talking about the user experience of Guix
<lfam>Like, in a "live" conversation
<argylelabcoat>Anyone familiar with how guix does cross toolchains? I'm somehow doing something dumb and getting armv7 binaries to link against my x64 libgcc
<lfam>A lot of us have long ago internalized workarounds for ux bugs
<jonsger>lfam: you mean me with monday?
<argylelabcoat>neat, so Monday is a sort of meet/chat online
<lfam>jonsger: I was actually trying to send that message to cybersyn about their UX work
<PotentialUser-86>i generate image with guix system docker-image and this action take many hours
<lfam>But, it's a full day, mostly informal conversations
<PotentialUser-86>is it normal ?
<lfam>I've found that talking like that can get to the bottom of problems really quickly, when it might have taken days or weeks over email or IRC
<jonsger>lfam: +1
<jackhill>It says the event will be for 12 hours, but which 12?
<lfam>Heh, good question
<lfam>I'll have to get back to you on that ;)
*jackhill is in the USA so will probably be late to the party regardless.
<jackhill>lfam: thanks! While I'll probably be late, I don't want to be too late :)
<lfam>I think the goal is to have times that are possible for people in Europe, America, and at least East Asia
<lfam>We'll announce it more concretely soon
<jackhill>+1
<lfam>I'll make sure the exact times are in this channel topic
<lfam>PotentialUser-86: It's not supposed to be like that, but I think I remember other people reporting something similar
<lfam>I'm not sure what's up
<ss2>oh nice, some upcoming talks! Unfortunately my time is to limited, and I'd really love get to do more with Guix these days.
<ss2>Not even sure I'll manage to be a guest to the talks. :/
<lfam>That's okay ss2! There will be more
<lfam>Guix people will also be giving some presentations for virtual FOSDEM on Saturday and Sunday
<ss2>But there isn't a fixed road map yet?
<lfam>A road map for what?
<ss2>talks and presentations.
<lfam>The FOSDEM presentations are scheduled as described here: https://guix.gnu.org/en/blog/2021/meet-guix-at-fosdem-2021/
<lfam>The Guix Day (Monday) has some talks, not sure if they are scheduled. It's intended to be mostly more informal
<ss2>I'm seeing that too.
<lfam> https://libreplanet.org/wiki/Group:Guix/FOSDEM2021
<ss2>okay, will try to stick around.
<lfam>We like to keep it informal, it tends to help bring in some new faces :)