IRC channel logs

2022-08-27.log

back to list of logs

<Cairn>two: My favorite method is setting `GUIX_PACKAGE_PATH`
<Cairn>I put all my experimental packages in a directory for package development, and I run `export GUIX_PACKAGE_PATH=~/packages`
<Cairn>And then when I'm setting them up in the Guix git repo for sending patches, I just export that path instead. =)
<two[m]>thank you
<two[m]>how do you make it visible?
*two[m] uploaded an image: (52KiB) < https://libera.ems.host/_matrix/media/r0/download/pub.solar/QuwetyzWANEtVAVJVqEPJBFK/treesitter.scm.png >
<two[m]>i have a module
<two[m]>$ guix show -L ~/Код/pkgs rust-tree-sitter-cli
<two[m]>guix show: warning: unknown keyword or bad argument
<two[m]>guix show: error: rust-tree-sitter-cli: package not found
<two[m]>$ GUIX_PACKAGE_PATH=~/Код/pkgs guix show rust-tree-sitter-cli
<two[m]>guix show: warning: unknown keyword or bad argument
<two[m]>guix show: error: rust-tree-sitter-cli: package not found
<unmatched-paren>can you please paste the whole treesitter.scm into paste.debian.net?
<unmatched-paren>also, tree-sitter-cli is packaged here:https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/tree-sitter.scm
<two[m]>unmatched-paren: that's not guix...
<unmatched-paren>I know, but you can use this instead of repeating the work :)
<two[m]>woah
<two[m]>unknown keyword or bad argument was inside the file
<two[m]>a duplicate #:use-module
<two[m]>i remember there being a command to cat logs
<two[m]>it isn't guix log..
<two[m]>nothing in gnome logs too
<jab>unmatched-paren: I see that you disable Xwayland...
<jab>do you use emacs?
<unmatched-paren>jab: I use it with pgtk, which supports wayland
<unmatched-paren>specifically emacs-next-pgtk
<unmatched-paren>I also use it with evil :)
<Luk6655>Is there some quick way to set console mode text size to something bigger on a high dpi 4k resolution display?
<atka>setfont?
<atka>just choose a larger size
<Luk6655>Thanks, I forgot there is a tool for that, I guess I'll find out soon if it works in the live ISO :-)
<atka>yeah it should, you just have to know the font name
<atka>should be something like setfont lat9w-16 the 16 being the size
<atka>bump it up to 24 or whatever
<Luk6655>16 seems the biggest available
<Luk6655>By default in the store that comes when installing, I'll try to find something bigger I can download online
<atka>that was just an example
<jab>unmatched-paren: I use evil too.
<Luk6655>I checked the folder the fonts are kept, they come in 8,10,12 and 16 sizes
<jab>actually I use doom emacs
<Luk6655>There is also - h, but this only sets line spacing
<atka>Luk6655: ok, np, terminus comes in larger sizes
<unmatched-paren>jab: heretic!! :)
<unmatched-paren>although, I'm a heretic too for using evil at all...
<Luk6655>I don't think I have terminus, however there is one called LatGrkCyr-12x22
<Luk6655>I may try that
<Luk6655>Much better...
<Luk6655>Still a bit small, but at least no need for a magnifying glass :-)
<Luk6655>solar24x32 is pretty good
<unmatched-paren> https://issues.guix.gnu.org/55903 <- is there anyone who could kindly review aerc? :)
<Luk6655>What is the default location of the config.scm?
<unmatched-paren>Luk6655: /etc/config.scm?
<atka>I put mine int ~/.config/guix/
<unmatched-paren>i put mine at ~/conf/system.scm
<Luk6655>Ok, I see some in /etc/configuration
<Luk6655>I'm trying to follow a slightly outdated guide ;-)
<jab>unmatched-paren: I tried maintaining my own emacs.d...I gave up
<unmatched-paren>I just stuff a bunch of things in emacs.el, no directory needed :)
<atka>Luk6655: what are you trying to do?
<unmatched-paren> https://git.sr.ht/~unmatched-paren/conf/tree/root/item/emacs.el
<Luk6655>atka: install using nonguix channel
<Luk6655>From this guide https://wiki.systemcrafters.cc/guix/nonguix-installation-guide#booting
<unmatched-paren>Luk6655: there is no nonguix channel :) (you're not allowed to talk about it in this channel, GNU rules :/)
<atka>Luk6655: if you want support for that, go to systemcrafters irc on libera
<unmatched-paren>s/GNU rules/ridiculous GNU rules/
<Luk6655>I need no support for the nonguix stuff, I'm basically doing a shell install
<atka>Luk6655: if you're using their guide and their image I suggest you ask them for support
<oriansj>unmatched-paren: I noticed your https://git.sr.ht/~unmatched-paren/conf/tree/root/item/bash_profile and you might find this useful: https://paste.debian.net/1251800/
<Luk6655>Sure, I thought what I would ask was generic enough, no probs
<Luk6655>Such as setting the font etc
<unmatched-paren>oriansj: Nice! Now, I wonder if we could create a home-ssh-agent-service-type with this...
<unmatched-paren>Probably not, since for some ridiculous reason ssh-agent doesn't use a pidfile.
<oriansj>unmatched-paren: or it is just in a different location
<unmatched-paren>?
*unmatched-paren away
<oriansj>unmatched-paren: the command: ssh-agent -s always creates a file but you can specify it with: -a bind_address but The default is $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
<jab>sneek: later tell unmatched-paren I found an error in his emacs.el: (add-hook 'scheem-mode-hook 'paredit-mode)
<sneek>Okay.
<mroh>jab: emacs should maintain your emacs.d, no?
<jab>mroh: I suppose you are suggesting that I use customize more.
<jab>fair point.
<raghavgururajan>Hello Guix!
<ryuslash>raghavgururajan: \o/
<raghavgururajan>We all guixers should go a camping together someday. ;-)
<raghavgururajan>*go for a
<lilyp>unmatched-paren: I'd advise against calling our rules ridiculuous – while you might not agree about being adamant on freedom, you should at least respect our choice to do so
***cedb is now known as yeet
<vivien>I strongly support not having any proprietary software in guix.
<vivien>And also trying and pushing people to use an USB wifi antenna instead of installing said proprietary software.
<unmatched-paren>lilyp: Yeah, sorry, that was too harsh :)
<sneek>unmatched-paren, you have 1 message!
<sneek>unmatched-paren, jab says: I found an error in his emacs.el: (add-hook 'scheem-mode-hook 'paredit-mode)
<unmatched-paren>jab: nice catch :)
<unmatched-paren>I did think that rule was applied for all GNU projects, I didn't realize Guix had it by choice.
<unmatched-paren>vivien: indeed! what I don't agree with is forbidding the discussion of other (unfortunate) choices if USB dongle isn't an option
<unmatched-paren>certainly we should encourage the use of free software whereever possible, and keep nonfree software out of the base guix package distribution
<unmatched-paren>but if someone actually does need to use nonfree software, I do think we should be allowed to point them in the right direction.
<unmatched-paren>It's not really a big deal anyway, you can just DM the person asking for support.
<unmatched-paren>Hmm, is this a bug?:
<unmatched-paren>#~`((foo . ,bar))
<unmatched-paren>creates a builder `((foo unquote bar))
<vivien>#~' and #~` are weird
<vivien>I don’t understand what they do
<unmatched-paren>#~'(...) is just a gexped literal form...
<vivien>But the dot thing is definitely the weirdest
<vivien>Also no
<unmatched-paren>Oh?
<unmatched-paren>Is there actually a special case?
<vivien>Because `((foo . ,bar)) is literally (quasiquote ((foo . (unquote bar))))
<vivien>So it makes sense that it becomes (quasiquote ((foo unquote bar))) if you look at it as a list
<unmatched-paren>yes
<vivien>That’s why I have all those #$(string->symbol "unquote") in my code (please don’t juge me)
<mroh>aha, emacs-geiser 0.24 has "Removed explicit company backend" in the changelog, that's why I get "guix-start-repl-maybe: Symbol’s value as variable is void: geiser-repl-company-p" in emacs-guix. Maybe, we need emacs-geiser-0.23 for emacs-guix?!
<Luk6655>I can't seem to find an answer to this in the system guide. Is there a way to configure bootloader (uefi) to add guix's entries to whatever is already configured in the efi system partition?
<Luk6655>I already have two oses booting from the efi system partition on the first drive. I would like to add guix boot ideally without touching those two other entries.
<Luk6655>Alternatively, is there a way to generate guix bootloader configuration from an existing efi system partition?
<Luk6655>BTW, this is running official ISO, not one I mentioned before. I decided to try the official one first after some issues with the image from the link I posted earlier.
***Guest9770 is now known as yeet
***yeet is now known as Guest7917
***Guest7917 is now known as cedb
<unmatched-paren>anyone know the best way to test system services from ./pre-inst-env?
<unmatched-paren>./pre-inst-env sudo guix system reconfigure => no code for (guix ui)
<unmatched-paren>sudo ./pre-inst-env guix system reconfigure => no code for (gcrypt hash)
***Dynom_ is now known as Guest7158
<vivien>unmatched-paren, well I guess you have to build from scratch as root
<unmatched-paren>vivien: Hmm, `sudo make`?
<unmatched-paren>I think I'll just add `(primitive-load "files/that/i/changed")` to system.scm temporarily :)
<vivien>Otherwise, maybe if you do without the sudo, and get something like "building /gnu/store/xxx-switch-to-system.scm.drv...", then do sudo guix (the old one) build -f ….drv, then it might work
<vivien>More than that
<vivien>You need to make clean first, and maybe even start from a fresh checkout
<unmatched-paren>Okay, definitely not doing that :)
<vivien>Another option is to define a virtual machine
<vivien>You don’t need sudo for that.
<unmatched-paren>or use `guix system container` maybe?
<unmatched-paren>does that need sudo?
<vivien>I bet it does not
<andrzejku>hello
<andrzejku>I just created my own package and trying to follow steps
<andrzejku>to run guix from guix repository
<andrzejku>possibly undefined macro: GUILE_PKG << what the package is missing to perfrom this?
<andrzejku>it is some autoconf macro
<andrzejku>but I do not know where it is defined
<unmatched-paren>are you doing it inside `guix shell -D guix`?
<vivien>Probably you need to install guile
<unmatched-paren>yeah
<vivien>If you’re not doing the guix shell -D guix thing
<andrzejku>I created my own manifest
<vivien>And also once it’s done re-run bootstrap
<andrzejku>:P
<andrzejku>ok
<andrzejku>I got it
<andrzejku>I tried to create my own manifest but yeah
<andrzejku>forgot about this -D thing
<unmatched-paren>well, if you don't have guile, you probably don't have guile-json, guile-gcrypt, guile-git, guile-zlib, guile-zstd, guile-ssh, guile-lzlib, guile-lzma, guile-sqlite3, guile-lib, or guile-avahi either :)
<unmatched-paren>so it's best to use guix shell -D guix
<andrzejku>I have guile
<andrzejku>but not development packages
<vivien>You need a package that provides /usr/share/aclocal/guile.m4 :)
<andrzejku>thanks it is running
<vivien>andrzejku, if you have a document that says to run "guix environment guix" (with "environment" and no "-D"), then it’s out of date.
<unmatched-paren>Use https://guix.gnu.org/manual/devel/en instead of https://guix.gnu.org/manual/en
<vivien>It’s a very sorry situation that the manual version is so out of date
<vivien>(the default manual version)
<andrzejku>nah nah
<andrzejku>I read it
<andrzejku>it is fine
<andrzejku>now I got a differentprbolem
<andrzejku>./pre-inst-env guix package -A mypackage doesn't work
<andrzejku>is there any registry of packages which I have to reload?
<unmatched-paren>how does it not work?
<unmatched-paren>what's the error?
<andrzejku>just it couldn't find my package
<andrzejku>but the package above was found
<andrzejku>I mean I added new (define-public mypackage (package etc.
<andrzejku>maybe this guix-daemon is needed?
<unmatched-paren>this should work...
<unmatched-paren>hm, have you run ./bootstrap and all that?
<andrzejku>yes
<andrzejku>well time to post my package to pastebin ;d
<andrzejku>wait a moment
<unmatched-paren>paste.debian.net ;)
<andrzejku> http://paste.debian.net/1251817/
<andrzejku>this I added at the end of elf.scm
<unmatched-paren>s/gpl2/license:gpl2/
<unmatched-paren>s/'chrpath'/@code{chrpath}/
<unmatched-paren>s/in ELF/of ELF/
<unmatched-paren>I think the first change might fix it
<unmatched-paren>The others are stylistic recommendations :)
<andrzejku>ok
<unmatched-paren>Also, move the home-page above synopsis. That's the convention, usually -- home-page, synopsis, description, license.
<andrzejku>what's @code{charpath}?
<andrzejku>@code{} means
<unmatched-paren>Guix descriptions support texinfo markup
<andrzejku>ok
<unmatched-paren>@code{...} is the texinfo for anything you'd surround with `...` in, say, markdown
<unmatched-paren>it renders to `...'
<unmatched-paren>though i think an alternative client could choose to render it differently
<unmatched-paren>(e.g. a GUI client could change the background to look like code snippets rendered by sr.ht or GitHub)
<andrzejku>unmatched-paren: regarding convention -- home-page, synopsis etc. I used this link https://guix.gnu.org/en/cookbook/en/guix-cookbook.html#Packaging-Tutorial
<andrzejku>probably mistake there
<unmatched-paren>I guess so
<andrzejku>hmm stil not
<andrzejku>(license license:gpl2)
<Luk6655>When installing guix using the isp on an existing system with an efi system partition do I need to provide a mount point for it? For example /boot/efi
<andrzejku> http://paste.debian.net/1251819/
<Luk6655>ISO not isp
<rekado_>unmatched-paren: the text is rendered differently on https://hpc.guix.info/browse
<unmatched-paren>andrzejku: sorry, i'm stumped :/
<andrzejku>unmatched-paren: ./pre-inst-env guile -c '(use-modules (gnu packages chrpath))'
<unmatched-paren>rekado_: Ah, yeah, that makes sense :)
<andrzejku>is it the command to check errors?
<unmatched-paren>no
<unmatched-paren>guix shell -D guix -- make -j$(nproc) # should flag anything immediately suspicious i guess
<andrzejku> https://guix.gnu.org/manual/devel/en/guix.html#Running-Guix-Before-It-Is-Installed
<andrzejku>it was said that it is
<andrzejku>to find any syntax error
<unmatched-paren>Oh, huh
<unmatched-paren>I hadn't read that part :)
<andrzejku> http://paste.debian.net/1251820/
<andrzejku>this is actually intresting
<andrzejku>while compiling elf.scm
<unmatched-paren>That's strange; you didn't use gexps
<unmatched-paren>anyway, import (guix gexp) and it should work
<unmatched-paren>wait, this is download.scm that fails
<unmatched-paren>????
<unmatched-paren>could you put guix/download.scm on paste.debian.net please?
<andrzejku>look at this
<andrzejku> #:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+))
<andrzejku>maybe that's a problem
<unmatched-paren>ahh
<andrzejku>it uses selectively
<unmatched-paren>you'll want to add gpl2 to that
<andrzejku>yep
<andrzejku>;D
<unmatched-paren>ideally, it would use #:prefix license: instead
<unmatched-paren>which is used by most modules
<unmatched-paren>the reason we don't just import it is that some of the names clash with packages
<andrzejku>ehh I am still not guile expert
<unmatched-paren>e.g. expat license and the expat xml parser
<unmatched-paren>but it'd be a pain to change all the packages to license: form, so just use select for now
<andrzejku>ok
<andrzejku>well still not :/
<unmatched-paren>:(
<andrzejku>intresting that it works perfectly from file
<andrzejku>but here it is a problem
<Luk6655>Can anyone here share a working dual boot configuration for guix bootloader?
<vivien>I’m not sure that’s something you configure; usually grub detects it without you doing anything.
<Luk6655>That would be good. I wouldn't want to find out it's not how it works when it overwrites all my existing boot entries.
<Luk6655>So I'm looking for a confirmation
<Luk6655>I know all other distros I used in the past always detected other boot entries and just added themselves, but I don't know if this is grub or those distros code that does that.
<andrzejku>unmatched-paren: I got something
<andrzejku>I modified the license of patchelf above
<andrzejku>and tried to run
<andrzejku>./pre-inst-env guix package --show=patchelf
<andrzejku>and it still shows gpl3
<andrzejku>I think there is some cache
<unmatched-paren>Ah
<andrzejku>it doesn't really parse the file
<unmatched-paren>Hmm, you run `make -j$(nproc)`?
<andrzejku>no
<andrzejku>I use this pre-inst-env
<unmatched-paren>okay, do that
<unmatched-paren>it will build the guile object code
<unmatched-paren>for the vm
<andrzejku>emm I have to run it in directory
<unmatched-paren>which will probably be used
<andrzejku>?
<andrzejku>in guix
<unmatched-paren>just in the root of the guix source directory
<unmatched-paren>after `./configure --localstatedir=/var` of course :)
<andrzejku>yes I did it
<andrzejku>intresting which files it is using if those go
<andrzejku>are not build
<unmatched-paren>hmm
<andrzejku>holly shit
<unmatched-paren>oh?
<andrzejku>it was in instruction :D
<andrzejku>that I have to build it
<andrzejku>omg
<unmatched-paren>wdym?
<andrzejku>so does it mean that I have to build every change?
<unmatched-paren>no
<unmatched-paren>but it'll be faster if you do
<andrzejku>ok
<unmatched-paren>like, way faster
<andrzejku>but for some reason it doesn't work without building right?
<unmatched-paren>the guile interpreter is significantly slower than the compiler
<andrzejku>or initial build do something more
<unmatched-paren>i'm not sure
<andrzejku>ok
<unmatched-paren>sorry :)
<andrzejku>unmatched-paren: finally it works
<andrzejku>I created patch and send
<unmatched-paren>nice :)
<unmatched-paren>the best way to send patches is to follow https://paste.sr.ht/~unmatched-paren/9114b1fa3d2088c7c71307dcae0d9e2b3620eb0c
<unmatched-paren>andrzejku: ^
<nckx>Luk6655: I can confirm that Guix does *not* do any auto-detection of other operating systems/distribution. I don't think it can do so on request either. There is a limited interface to define custom entries.
<andrzejku>unmatched-paren: can I send without send-email?
<unmatched-paren>andrzejku: You shouldn't.
<andrzejku>I have no email address which can be configured locally
<andrzejku>=/
<unmatched-paren>what do you mean by that?
<andrzejku>I mean my mail box can be used only via web interface
<unmatched-paren>wtf
<vivien>send-email is very inconvenient
<unmatched-paren>what kind of mail provider
<andrzejku>tutanota
<unmatched-paren>oh, right. THAT mail provider. :)
<andrzejku>it is for security reasons
<unmatched-paren>"security reasons"
<andrzejku>so I just added it as patch
<andrzejku>and send
<vivien>I usually send patches as attachments, and people usually don’t complain
<andrzejku>yes
<andrzejku>attachment
<andrzejku>well will see
<andrzejku>it is checked manually? right
<unmatched-paren>vivien: in what way is it inconvenient?
<unmatched-paren>andrzejku: according to useplaintext.email: > Notice: Use of IMAP and SMTP, open standards for email clients, is not possible with Tutanota. This is not acceptable behavior for an email provider and use of Tutanota is strongly recommended against for this reason. Tutanota's stated reasons for not supporting these protocols are lies and you would be well served by closing your account there.
<vivien>Well you can’t use your web client to send the mail, so you have to configure the SMTP endpoint, which is not great, and then you can’t store the password in a secure way. Also, it doesn’t put the mail in an archive folder and you can’t sign it.
<andrzejku>unmatched-paren: really?
<andrzejku>I have to go
<unmatched-paren>I'm not certain whether they are lies (not too familiar with email standards) but it seems incredibly dubious that lack of support for smtp and imap improves security
<andrzejku>but maybe I will ask you later :P
<unmatched-paren>andrzejku: bye \o
<andrzejku>have a nice day!
<unmatched-paren>:0
<unmatched-paren>i meant to type :)
<unmatched-paren>vivien: Fair enough.
<vivien>and also you can’t preview the email which gives me a lot of anxiety
<unmatched-paren>vivien: you can use -a to look at it
<unmatched-paren>or format-patch and open the patch in your editor
<unmatched-paren>the password thing is annoying, yeah
<unmatched-paren>andrzejku: ProtonMail also doesn't support smtp/imap but they do have a bridge at least
<unmatched-paren>but tutanota is complete vendor lock-in
<unmatched-paren>And, to be honest, I'd rather use an insecure open standard than a secure proprietary protocol, but that's just my own personal priorities :) you might have different priorities
*unmatched-paren trying to bootstrap fennel
*unmatched-paren getting lots of weird errors from the 0.7.0 compiler
<vivien>format-patch is really great, the only thing is I send the result myself :)
<unmatched-paren>Ahh.
<rekado_>VesselWave: I pushed my progress to the branch “rekados-rust-queue”. I’m building it on ci.guix.gnu.org: https://ci.guix.gnu.org/jobset/rekados-rust-queue
<rekado_>this does *not* include the upgrade of rust-generator.
***dgcampea-2 is now known as dgcampea
<abralek>pulling guix on arm is failing with 'Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS'
<abralek>I tried to add some more environment variables to the drv and build it, but seems like it vars are not getting there (
<abralek>I am using binfmt_misc and also tried to ammend it here /proc/sys/fs/binfmt_misc, but seems like due to chroot, it cannot find proper guile for the build
<clever>abralek: there is a special flag when setting up binfmt_misc, that will make the kernel open the given binary once when setup, and then never close it
<clever>and it then runs the interpreter (guile in this case?) by file handle, so chroots dont matter
<clever>but dynamic libraries then become a problem, so it should be a static binary
<abralek>clever: Are you talking about F flag? In my case I just created a simple shell wrapper. I would like to add QEMU_STACK_SIZE variable and increase the size.
<clever>thats probably it, and yeah, it wouldnt work with a shell script in the way
<abralek>Better use guile binary and setup environment using scheme?
<clever>probably
<abralek>clever: Thanks. I will try
<antipode>samba is out-of-date, I'll give updating a try
<mbakke>maximed: samba only gained support for kerberos 1.20 in 4.17, which is not yet released ... I have a patch in my local branch to build with Kerberos 1.19, can push it if you like.
<mbakke>antipode: are you maximed..? I responded to the bug report before reading the chat :P
<antipode>mbakke: Yes, I changed nicks
<antipode>It will have to be updated on master too though, for other reasons
<antipode>Apparently there are some security fixes in the latest 4.16.X
<antipode>I haven't received the reply yet.
<mbakke>antipode: I just responded here, sorry ... I'll defer pushing the core-updates patch until after the upate to reduce merge conflicts
<mbakke>in unrelated news, I'll send in patches for switching to GCC 11 and Python 3.10 later today
<Luk6655>So I installed latest guix and I have this interesting color scheme that looks pretty "wrong" this is on nVidia rtx hw. Did anyone see this before? https://ibb.co/sVjPnMT
<antipode>The "./configure --localstatedir=/var && make" will take a while (my normal guix git checkout is for core-updates) but once it's done I'll try updating it to latest 4.16.X on master
<rekado_>I don’t understand the results here: https://ci.guix.gnu.org/eval/576848?status=failed
<rekado_>or maybe I do.
<rekado_>it’s so hard to know what’s happening with our rust packages
<rekado_>not having “guix refresh -l” for rust packages makes updating any of them really challenging
<antipode>I have sent a small update on antioxidant to guix-devel
<rekado_>antipode: I’m looking forward to seeing this new build system merged! It’s looking great so far.
<mbakke>rekado_: I use 'librsvg' as a litmus test ... if it's unchanged, it's good for 'master' :P
<mbakke>antipode: re: './configure && make' etc; one convenient feature of git is "worktrees" which lets you check out different branches at different file system locations ... then you don't have to switch and recompile all the time :-)
<antipode>Yes, I've made a separate worktree for core-updates, the ./configure && make happens in the worktree
<mbakke>oh, right
<nikola`>mbakke: worktrees seem pretty useful, but for some reason I can't pull from origin into then
<nikola`>Git says everything is fine, but the changes to happen
<Luk6655>Does one need to restart after running guix reconfigure? (after adding nss)
<antipode>nss = network service switch (etc/hosts and maybe LDAP and such), or nss-certs?
<Luk6655>Nss-certs
<antipode>Probably, though logging in and out might suffice
<antipode>(to get $SSL_CERT_DIR and $SSL_CERT_FILE)
<Luk6655>Ok, thanks
<antipode>(environment variables are per-process and inherited downwards (e.g. when the login manager starts a graphical environment in which the user starts a browser or a shell), they aren't a global thing)
<banananananana>Does anybody know how to change the audio from command line on guix? I tried the pactl and amixer commands but they say command not found. Is there a different default command to change audio from the terminal in guix, or do I need to install a package?
<antipode>You can install pactl or the amixer commands
<antipode>(at least, I'd assume so)
<antipode>I don't know to which package they belong.
<antipode>Once the appropriate package is installed, they should be available.
<antipode>Guix doesn't have its own audio manipulation commands, it just reuses upstream things.
<Luk6655>After running guix reconfigure guix seems to sit on "substitute:" for a while. Does anyone know what is it doing? (cpu is practically 0%)
<antipode>Luk6655:
<antipode>I assume asking for substitutes.
<Luk6655>So is it expecting an answer?
<Luk6655>I did press enter once
<antipode>First it tries to determine for what things substitutes are available (which is an interactive process), only afterwards it actually builds.
<antipode>It is expecting an answer, but not from you, but from the substitute server (probably ci.guix.gnu.org)
<antipode>If there are lots of new things to build or download, this could take a while, though I don't have any exact duration.
<Luk6655>I see, hmm, it was downloading quite a bit of stuff that went pretty fast. It is just now that it appears "stuck"
***titan-c is now known as clumsy
<Luk6655>So is this some processing that happens on the remote end?
<antipode>On both ends, it's partially an interactive process.
<antipode>I expect it's more round-trips than processing, though there is some processing ('baking of nars' or such, though I don't know if that would temporarily block things).
<Luk6655>Shouldn't it be using at least few % of the cpu?
<Luk6655>I can't see any activity
<antipode>It's an interactive process -- at first, it downloads narinfos (which are quite small, so very few cpu, I suppose it might be < 1%), and based on the result thereof it could download more narinfos.
<antipode>in-between, it needs to wait for a response by the server (which is 0% CPU).
<antipode>I suppose it's possible it's actually stuck, but the information given so far appears consistent with just downloading a lot of narinfos.
<antipode>Anyway, as long as it's still in the substituting/downloading (and not actually reconfiguring yet), you can interrupt and retry.
<Luk6655>Ok, I guess I'll just leave it for a while. I wish there was tcpdump on the base install so I could at least see what is it doing network wise.
<antipode>IIUC, narinfos are cached locally, so you shouldn't lose much process.
<Luk6655>Aaand it crashed...
<antipode>Luk6655: what's the error message (paste.debian.net)?
<antipode>(with context)
<Luk6655>Bin/guix substitute died unexpectedly
<antipode>Context.
<Luk6655>Can't paste from the console, but I'll take a picture
<antipode>Do I understand correctly that you already have installed Guix System?
<Luk6655>Yes
<Luk6655> https://ibb.co/gdC45kr
<Luk6655>I just installed
<antipode>If so, I recommend working in a graphical environment, then you can copy-paste any errors.
<Luk6655>I can't work in the GUI due to graphics issue
<Luk6655>I have a nVidia card and everything is red
<Luk6655>Also extremely choppy
<Luk6655>So I'm using the console for the time being, however the picture should be very clear
<banananananana>There is a daemon called gpm that will give you a mouse in the terminal.
<antipode>That error is a known bug in ... Guile? Guix? the GNUtls bindings? It's a transient one, you can retry.
<Luk6655>Ok, I'll do that, thanks :-)
<antipode> https://issues.guix.gnu.org/56005
<antipode>There are some starts to making the debugging easier, but the cause remains unknown.
<Luk6655>When it is retried is it continuing downloading from where it crashed (roughly) or does it restart BTW?
<antipode>The premise is false.
<antipode>Anything that's completely downloaded, remains completely downloaded.
<Luk6655>That's fine
<Luk6655>Also, there is something else I wanted to ask. When I install a package as root with guix package is it being added to the system config?
<banananananana>no it is not
<antipode>If the relevant /gnu/store item already exists, then Guix won't call the substitution code on it in the first place -- there is no 'incomplete progress tracking or such'.
<banananananana>root has its own user profile so it is added to that rather than the system config.
<Luk6655>I see
<antipode>Luk6655: To elaborate on banananananana, from Guix perspective, 'root' is merely yet another user, it's not special aside from 'root' can open everything even if it's owned by someone else, but that's not a Guix thing
*abralek sighs
<Luk6655>Yes, that's understandable
<abralek>With the following wrapper https://paste.debian.net/1251847/ for binfmt I still cannot make guix-daemon work
<antipode>Luk6655: on tcpdump not being available in the base install:
<abralek>getting no such file or directory (https://paste.debian.net/1251848/)
<antipode>you can pause the 'guix system reconfigure' (control-Z), then do "guix shell [the package that has tcpdump] -- [the relevant command]" to temporarily get access to tcpdump
<Luk6655>Good to know, I'll do that next time
<Luk6655>How big would be the local substitute server? (also could it use a local folder rather than a network)
<antipode>IIUC, by default it takes no space at all. However, when other computers access your substitute server, "guix publish" will 'bake' nars to 'serve' them, with takes disk space -- the more different things are downloaded from your substitute server, how more disk space is required.
<antipode>A server without a network seems a contradiction to me.
<antipode>If it is a local directory (= folder), then it's by definition only available locally, so only your local computer would have access to it.
<Luk6655>What I mean is that I have a bunch of large hdds in a mirror I share between few Linux distros. Could I put a substitute store there? On local hard drives rather than on the network? Or is a server needed?
<Luk6655>Then I'll have vm's with access to same storage etv
<Luk6655>Etc
<antipode>I'm not familiar with that model, but Guix supports having VMs that share your store.
<antipode>In fact, IIUC, if you use "guix system vm", then the VM will read from your /gnu/store instead of making a local copy.
<Luk6655>Ok, I may need to look at the source for an answer.
<antipode>Luk6655: You can add HTTP urls to --substitute-urls, I assume you can add file:// URLS too.
<Luk6655>That would be good
<antipode>So, it's possible, though I think that is currently only used by tests.
<antipode>Still, you will have to populate that local directory first.
<antipode>I don't think any tools exist for that currently.
<antipode>I recommend using "guix system vm", IIUC it automatically shares the store, so you don't have to keep track of any additional hdds
<Luk6655>Also, just before I run guix reconfigure I added a channel (for root), but nothing from the channel was configured in the system config. Then when I run guix reconfigure it took quite a while. It this because of the extra channel perhaps? Or is it irrelevant if no packages or anything else was selected from the new channel (guix pull wasn run)
<apteryx>sneek: later tell muradm I have a locally polished version of your patch that I'm about to push
<sneek>Okay.
<apteryx>sneek: later tell muradm probably tomorrow when I have a bit of time, after I had an extra bit to the documentation
<sneek>Okay.
<apteryx>(about fail2ban)
<antipode>Luk6655: since recently, the Guix that is installed (for daemon purposes) corresponds to the Guix (maybe including channels) you built with.
<antipode>However, there is not enough information to tell if this hypothesis is actually the cause of 'it took quite a while'.
<antipode>If you look at the output of "guix system reconfigure", it wil tell what it is building.
<Luk6655>It seemed to download every single Linux package I know a name of
<Luk6655>Perhaps this was a first update after system install?
<antipode>If it was the first update, that sounds likely.
<antipode>I do not know if it was the first update, that's only something you can known.
<Luk6655>Ok, sorry for a barrage of questions, but after this first reconfigure I have term-console service that failed to start. Where would I look for its startup log?
<antipode>Luk6655: There is no guarantee that there is a log.
<antipode>Not everything has a log.
<antipode>If there is a log, likely it is in /var/log.
<antipode>Lots of logs are put there.
<Luk6655>Seems I haven't got /bin/ls now...
<antipode>Try 'ls' instead of /bin/ls
<Luk6655>That's what I meant
<antipode>Guix doesn't put binaries in /bin/ls.
<banananananana>That is normal.
<antipode>* /bin
<Luk6655>What I mean is that I type ls press enter and I get command not found
<Luk6655>As root
<antipode>Luks6655: what does "echo $PATH" say?
<Luk6655>I did log out and back in after reconfigure
<antipode>Also, I'm wondering, what did you put in the 'packages' field of your system configuration?
<antipode>'ls' is part of 'coreutils', which is part of the list %base-packages.
<antipode>If you changed 'packages' and did not put 'coreutils' or '%base-packages' in it, that might be the cause.
<Luk6655>Path comes up as /run/setuid-programs:/root/. Conf/guix/current/bin
<antipode>I would have expected /run/current-system/profile/bin there.
<antipode>What does "guix shell coreutils -- ls /run/current-system/profile/bin/" say?
<Luk6655>Yes that's there
<antipode>Luks6655: But I asked for $PATH, and you wrote run/setuid-programs:/root/.conf/guix/current/bin
<Luk6655>That's my config https://git.sr.ht/~benoit/dotfiles/blame/9ce5cc4ea668944fb5cf75b66496182dd7373000/system/milhouse.scm
<Luk6655>Yes, I haven't wrote the entire one, sorry typing on a mobile phone is not ideal when you can run only console
<Luk6655>Now I can't even cat the config file, good I pasted it to pastebin before
<antipode>Luks6655: "guix shell" can be useful
<Luk6655>Wait, that's not my config
<Luk6655>Wrong link
<antipode>You can temporarily get access to coreutils (and as such, cat and ls and such) with "guix shell coreutils"
<antipode>"guix shell coreutils -- ls ."
<Luk6655>This is my config http://Www.pastebin.com/mVSR3wwH
<Luk6655>So did I make a mistake in (packages append?) thanks for the guix shell coreutils tip
<antipode>Luks6655: it's asking for ads, I recommend paste.debian.net, it's ad-free
<antipode>Problem solved?
<Luk6655>Well, I use adblock on mobile so I don't see it, here it is http://paste.debian.net/1251851/
<Luk6655>Is there a way to get a text editor the same way as guix shell coreutils?
<Luk6655>antipode: not solved, unfortunately, I suspect a typo around line 18, could someone have a look please?
<Luk6655>Probably instead of adding a package I ended up replacing all packages with nss-certs
<antipode>line 30--33
<antipode>The time zone on line 18 looks OK to me.
<antipode>Add %base-packages to the 'append'
<Luk6655>The name service switch?
<antipode>No.
<antipode>Line 30-33.
<antipode>The name service switch is on line 34.
<antipode>It's the 'packages' field that the %base-packages must be added to, not name-service-switch.
<Luk6655> antipode : At which bracket level should I add it?
<antipode>To 'append'.
<antipode>Add it to 'append'.
<antipode>Before or after the (list nss-certs), doesn't matter.
<Luk6655>Outside off (list nss-certs) or next to nss-certs?
<Luk6655>Ok
<antipode>Add it to 'append', not to 'list'.
<Luk6655>Like this? http://paste.debian.net/1251852/
<antipode>Yes, that's it.
<Luk6655>Ok, cool, so now I just need to get a text editor working
<Luk6655>Is there some way to get nano etc similar to guix shell coreutils?
<Luk6655>I think I've got it, I run guix shell vim and it's downloading vim
<Luk6655>So now the next interesting thing will be, will it have all my packages I wiped cached, or will it have to redownload all of them again...
<Luk6655>109mb will be downloaded (for a starts) that's my answer
<Luk6655>Thanks for help
<bananananananana>I figured out my prolem, I fixed it by installing the pulseaudio package with guix system reconfigure and now I can use pactl.
<Luk6655>I wonder, wouldn't it be faster to revert to previous configuration rather than running guix system reconfigure on fixed config? Is this possible?
<Luk6655>My understanding was that guix has a feature like that, is this correct?
<bananananananana>I think sudo guix system rollback will do that
<bananananananana>*roll-back
<Luk6655>I already started reconfigure so this is for my future benefit
<Luk6655>I'll just leave it running (unless something happens that it breaks etc)
<Luk6655>It must have cached a lot of stuff, because it is done already.
<Luk6655>Ah... Another issue, now guix pull doesn't work. Now I don't have any extra channels but I get this paste.debian.net/1251854/
<rekado_>Luk6655: this means you’re using an older Guix with a newer manifest
<rekado_>(a manifest generated with a newer version of Guix)
<rekado_>can you tell us what “type guix” says?
<Luk6655>I have manifest version 4
<rekado_>yes, I’m aware. That’s generated by a pretty recent version of Guix.
<rekado_>but what does “type guix” say about the Guix you’re using?
<Luk6655> https://www.irccloud.com/pastebin/BNvyfJs6
<Luk6655>That's not what I wanted to post
<Luk6655>Type guix says: guix is /run/current-system/profile/bin/guix
<rekado_>does ~/.config/guix/current/bin/guix exist?
<Luk6655>No, the current folder is empty
<rekado_>uhm, that’s unexpected
<Luk6655>Current is a symlink to /var/guix/profiles/per-user/root/current-guix
<rekado_>are you the root user?
<Luk6655>Yes
<Luk6655>Last bit of that path that exists is per-user/root
<Luk6655>Then there are few files thee named guix-profile guix-profile-1-link
<Luk6655>And guix-profile.lock
<Luk6655>Can I delete that manifest file, will it allow me to update guix to latest?
<Luk6655>Then I can recreate the manifest
<antipode>mbakke: I've sent a patch for samba
<rekado_>Luk6655: I’m not following. What manifest file?
<rekado_>it’s trying to read the manifest of an existing profile, yet you say that there is no profile there.
<rekado_>so where would that manifest file come from?
<rekado_>Guix builds a manifest file when it builds a profile.
<Luk6655>I'm saying there is no guix binary
<Luk6655>The manifest is there
<rekado_>that doesn’t make sense
<Luk6655>The manifest is in /root/.guix-profile/manifest
<rekado_>that’s not what this is about
<rekado_>“guix pull” operates on the current-guix profile only
<Luk6655>So is it reinstall time, or am I likely to hit the exact same spot? I guess, the question is: is this caused by removing and reinstalling all those packages, or some bug
<rekado_>do you have more output than just the backtrace?
<Luk6655>No, it just repeats the back trace if I run guix pull
<rekado_>a reinstall is generally not a useful impulse when using Guix.
<rekado_>I guess it would help to know what file it fails to read.
<Luk6655>Maybe it will work enough to install strace
<Luk6655>No, it fails with exact sme error when I run guix install strace
<rekado_>that’s different, though, because that would operate on /root/.guix-profile
<rekado_>you should be able to install to a new profile with “guix package -p /some/where -i strace”
<Luk6655>Was I supposed to run it as root? It displays the same backtrace
<Luk6655>I created a folder under /root called /root/other
<Luk6655>And I run guix package -p /root/other -i strace
<Luk6655>Same error
<Luk6655>Perhaps a rollback would help? It is either a bug in which case lots of people should've seen it already, or my install is messed up...
<Luk6655>If the latter I think I'll just format drives and reinstall. I know it might seem "counterproductive", but if this is a broken install there is no point investing any more time in it
<Luk6655>If its a bug (it repeats itself) I'll let people know here
<rekado_>your /gnu/store should still contain a “compatible” variant of guix that can in fact read the manifest.
<rekado_>how you ended up with an older version of Guix that cannot read the manifest files that it produced: no idea
<rekado_>we’re missing a lot of information here
<Luk6655>Well, the total info is I installed from scratch using desktop template
<Luk6655>I didn't select nss-certs during the install
<Luk6655>I ommited base-packages when I then added nss-certs to system config
<Luk6655>As a result all packages got wiped
<Luk6655>I added %base-packages and I run guix reconfigure again
<rekado_>okay
<Luk6655>Presto here I am in this moment :-)
<rekado_>got it
<rekado_>I missed that bit of info
<Luk6655>No worries, I'm about to reinstall it with nss-cert this time
<rekado_>your old system is still there
<rekado_>you should be able to reboot into the previous system
<Luk6655>Ok, how?
<Luk6655>Via a grub menu?
<rekado_>reboot and select the old system in grub
<Luk6655>Ok, I'll try that
<rekado_>good luck!
<Luk6655>However, this has to be one prior to last
<rekado_>any system you reconfigure gets a record in grub
<Luk6655>Because the one previous to current is missing all the packages
<Luk6655>Yes, I see this
<Luk6655>I did boot the very first one. So now the key question is, will problem reappear when I reconfigure my latest config (with nss-certs)
<Luk6655>Just to confirm, the reconfigure command is: guix system reconfigure path/to/config.scm is this right?
<Luk6655>It seemed to have run through this reconfigure quite quickly
<Luk6655>And this time pull works afterwards
<rekado_>good
<rekado_>it’s faster because almost everything exists in /gnu/store
<rekado_>it’s a big cache after all
<KarlJoad>I'm trying to package a bash script file for myself, which will eventually turn into a guile script. It needs a flag for where the config file is. When I build the script, I get the error "reference to invalid output out" from the script, with nothing more useful. Package: https://github.com/KarlJoad/synnax/blob/sysadmin/cuirass-email/synnax/sysadmin/cuirass-mailer.scm
<KarlJoad>If I remove the script-builder & config from the inputs field, (with a trivial-build-system that does nothing) then the package builds properly. Am I missing something obvious?
<KarlJoad>I have also checked, and the config package can be built correctly, and the builder for the script correctly references the built config file. So it is something in the way the script's package is defined that is causing the error. I am just not sure where.
<rekado_>KarlJoad: you need to add (outputs '("out"))
<rekado_>(I’m guessing)
<rekado_>I also suggest looking at the generated derivation.
<Luk6655>BTW, let's say I rolled back and moved forward from there. Do I need to remember to delete unnecessary roll back points?
<Luk6655>Or, can I, if I wanted to? Just to declutter the grub menu for future use.
<rekado_>you can (and probably should) remove the broken systems
<rekado_>guix system delete-generations
<Luk6655>Thanks
<KarlJoad>rekado_: I have been looking at the derivation for the script package. It only references msmtp, guile, and the output of the config derivation (which is what I think I want). To which package would I add that outputs list?
<KarlJoad>rekado_: The script derivation, https://0x0.st/o9Fx.sh.drv
<KarlJoad>So I have narrowed down my issue slightly. The script package's derivation file lacks an "out" output. But I am unsure why. The configuration package does have it, so maybe I am doing something wrong in the script package?
<lilyp>unmatched-paren: Being a GNU project is a choice (an overall positive one for society at that)
<antipode>Has someone looked into making waf-build-system support cross-compilation in the past?
<jab>hey guix!
<two[m]>hi
<two[m]>what is "package: invalid field specifier"?
<antipode>An error message.
<antipode>Resolving it requires context.
<antipode>You probably put multiple things inside a single field, or zero things inside a single field.
<antipode>But only a single thing is allowed (sometimes this single thing is a single list consisting of multiple objects)
<KarlJoad>How can a derivation for a builder have an empty output list?
<antipode> If you add #:outputs '() to gexp->derivation.
<antipode>Usually it's at least one output, but nothing is stopping zero outputs.
<antipode>* correction, if you never use an output in the G-exp of gexp->derivation
<antipode>Make sure you are actually using #$output somewhere in your G-exp.
<KarlJoad>antipode: This is happening from a package definition. I am using (assoc-ref %outputs "out") in the builder. https://github.com/KarlJoad/synnax/blob/sysadmin/cuirass-email/synnax/sysadmin/cuirass-mailer.scm
<antipode>You are not using #$output.
<antipode>Try using #$output.
<two[m]>why is it (field) then if #:field is commonly used
<antipode>#:field is used for procedures in Guix, but not for records.
<antipode>Remember, records in Guix can be delayed or thunked, so the constructor cannot be a procedure.
<two[m]>is #: unavailable in macros?
<antipode>Technically, it isn't.
<antipode>You can match for keyword arguments in macros.
<antipode>It's just rather unconventional.
<antipode>The only one that could authoritively answer the question 'why (field ...) instead of #:field ...’ would probably be the original author of (guix records), which is Ludovic Courtès
<antipode>(nick: civodul, though IIUC currently not active on Guix)
<antipode>(I have used #:... in the past in macros)
<mroh>KarlJoad: try adding (package ... (outputs '("out")))
<KarlJoad>mroh: Adding `(outputs '("out"))` to the script package does nothing. The builder derivation hash remains the same and the error is the same.
<rekado_>KarlJoad: you need to actually use #$output in the builder
<KE0VVT>Does Guix support GNOME Builder?
<unmatched-paren>KE0VVT: Sure... `guix install gnome-builder`
<KarlJoad>rekado_: Does (assoc-ref %outputs "out") not do the same thing?
<AlbertoBalsalm>Hello, after having my Arch installation broken again after simply upgrading packages (thankfully I've managed to fix it), I said that was the last straw and I've been eyeing Guix for a while as an avid lisper. I tried to install it using the graphical installation wizard but it is unable to find my network driver and it fails a couple of steps
<AlbertoBalsalm>later (as I imagine because of lack of network, the error message is weird guile stack trace).
<AlbertoBalsalm>This is my network device:
<AlbertoBalsalm>```
<AlbertoBalsalm>*-network
<AlbertoBalsalm>       description: Wireless interface
<AlbertoBalsalm>       product: Comet Lake PCH-LP CNVi WiFi
<AlbertoBalsalm>       vendor: Intel Corporation
<AlbertoBalsalm>       physical id: 14.3
<AlbertoBalsalm>       bus info: pci@0000:00:14.3
<AlbertoBalsalm>       logical name: wlp0s20f3
<AlbertoBalsalm>       version: 00
<AlbertoBalsalm>       serial: 5c:80:b6:c5:39:b5
<AlbertoBalsalm>       width: 64 bits
<AlbertoBalsalm>       clock: 33MHz
<AlbertoBalsalm>```
<AlbertoBalsalm>is there a way that I can install full GNU Guix system with that network device?
<AlbertoBalsalm>Maybe it's possible through the terminal installation
<unmatched-paren>AlbertoBalsalm: aaa, could you please put large code blocks on paste.debian.net? thanks :)
<unmatched-paren>You have an iwlwifi card
<unmatched-paren>unsupported by linux-libre
<AlbertoBalsalm> https://paste.debian.net/1251878/
<AlbertoBalsalm>I know there's ways to go with the full linux kernel but from what I've seen I'll still need internet access to add the nonguix channel and install the plain linux kernel from there
<leet97701>Hi. I think I have really made a mess of guix, so I'm wondering how to start fresh. Should I uninstall guix (and if so, how)? I ultimately want to remove any packages from my Ubuntu system that are available in guix, then have guix manage them exclusively. Does that make any sense?
<rekado_>leet97701: what did you do to make a mess?
<unmatched-paren>leet97701: What's wrong with your installation?
<rekado_>KarlJoad: that’s not a g-expression
<KarlJoad>rekado_: Fair enough. I managed to make it "work" with program-file instead of computed-file. I am still not sure what the difference is.
<pkill9>whoever invented envrionment variables is a god among gods
<rekado_>pkill9: the cause and solution of many a computing problem.
<leet97701>For one example, I have two copies of guile: 3.0.7 (in /usr/bin), and 3.0.8 (in the guix profile). I'm having trouble making guile GUI examples run due to some kind of conflict with Gtk. Etc., etc. I'd like to get to a clean state.
<rekado_>leet97701: ah, I remember
<rekado_>have you seen my email about guile-gi / g-golf?
<rekado_>I wasn’t able to get g-golf to work either, but guile-gi worked fine for me.