<rekado_>apteryx: actually, lvtk was updated to version 2! This can’t work. It’s a completely different API. We should fix that by adding lvtk-1 and renaming this to lvtk-2 <Guest11>i have issues with emacs-guix: when i M-x guix ENTER p n it is "Starting Guix REPL ... [3 times], then i get "Symbol’s value as variable is void: geiser-repl-company-p". when i repeat that step it says: Starting Guix REPL ... [2 times]" and finally: "geiser-repl--wait-for-prompt: No prompt found!" do i need to configure company-mode in a certain <Guest11>way? does anyone here have some example config somewhere online i could take a look at? <rekado_>Guest11: can you tell us more about how you installed it? <rekado_>geiser-repl-company-p i defined in geiser-repl.el <Guest11>it's part of my home config; in my .emacs there's the line "(guix-emacs-autoload-packages)" <rekado_>what about M-x find-library RET geiser-repl <rekado_>does that jump to a file at /gnu/store…-emacs-geiser… ? <Guest11>huh, no. it jumps to my old elpa dir. does emacs load everything from ~/.emacs.d automatically? <rekado_>Guest11: I don’t know. But this seems to be the problem. Can you remove it or move it out of the way? <rekado_>have you perhaps pushed .emacs.d/lisp onto the load-path? <rekado_>“(elisp)Library Search” is all about where Emacs looks for libraries <Guest11>anyways, removing .emacs.d/elpa fixed the issue :) thanks rekado_! ***attila_lendvai_ is now known as attila_lendvai
<attila_lendvai>i'm running some tests, and all i get in the logs is: "shepherd[1]: Service marionette (PID 271) exited with 1." any hints on how to debug this? i see no output anywhere else... :( <desk_lamp>Not having a lot of luck with the documentation. <jab>desk_lamp: if you figure out how to use it let me know! <jab>I'd love to turn my blog into a 9 articles free. 1 article you pay to see. <jab>and I think you need a server for that. <desk_lamp>jab You could do it on the client if you want. It'd be easy to get around, but requiring authentication might be heavy-handed. <jab>desk_lamp: are you saying a static website could have a login authentication method? ***daviid` is now known as daviid
<apteryx>rekado: thanks for taking care of it ***alex__ is now known as alexdesiqueira
<PotentialUser-14>Hello. I am trying to ship a python/tkinter application as docker container built with guix pack. I propagate the $DISPLAY variable, but the app starts to fail _tkinter.TclError: couldn't connect to display ":0". Has anyone tried this yet and give me a hint, what I am doing wrong? <jpoiret>you'll need to share /tmp/.X11-unix/ with the container <jpoiret>DISPLAY=:0 only tells the application which socket to connect to, but the sockets must be accessible <fnstudio>hi, i'm using 'guix import texlive' to try and define a texlive package; at some point in the output i get 'simple-texlive-package' but i'm not sure where this comes from in terms of modules to be imported <fnstudio>i tried with '#:use-module (gnu packages tex)' but that doesn't seem to make guix happy <fnstudio>guix unhappy = 'error: simple-texlive-package: unbound variable' <Franciman>hi, I am installing guix, but when I boot the install system i get an error saying: <fnstudio>(could it be because 'simple-texlive-package' is not exported/exposed by 'gnu packages tex') <fnstudio>ok, i copy and pasted(*) the entire 'simple-texlive-package' definition in my custom code (instead of importing it) and it "works" <fnstudio>"works" means that the package definition is parsed correctly when i do a 'guix search --load-path=... package-name' <fnstudio>'guix install --load-path=... package-name' fails for reasons that i'm currently investigating <Franciman>oh solved. I was using the wrong usb port apparently loool <fnstudio>the build phase goes well, apparently, but install fails with a 'wrong-type-arg "string-append" "Wrong type (expecting ~A): ~S" ("string" #f) (#f)' <rekado>fnstudio: yes, it’s not exported. It is not a public API because it’s ugly and in need of revision. ***stikonas_ is now known as stikonas
<fnstudio>rekado: which might be related to my 'guix install' failure? it looks like a string-append fails because something is not where it's supposed to be in the upstream package... <rekado>I’d need to see the package definition for that <fnstudio>of course (it's basically what i get from 'guix import texlive mdframed') ***wielaard is now known as mjw
***Dynom_ is now known as Guest4238
<fnstudio>ok, it was just a matter of adding '#:trivial? #t' as an argument to simple-texlive-package - hopefully, unless i silently broke the package by doing that :) <rolodex>Hiya. I've been using guix for a couple of years on a foreign distro without manifests, installing a couple of dozen packages through it, and I decided this morning to start with manifests. I could do with a bit of help. I ran `guix package --export-manifest > manifest.scm`, and then extracted packages into their own. I started with a games <rolodex>manifest, with frozen-bobble in it, to test. I ran `guix package --manifest=games.scm` and it installed frozen bobble, which I wasn't expecting it to as I already have it on my system. Ok, whatever, but the real issue is that now with `guix package --list-installed` the only package it lists is Frozen Bobble, and not ones I need for work (emacs, <rolodex>etc). I've already created an emacs.scm manifest so I guess I could just install that, but I feel like I'm misunderstanding something? Is there no way I could carry on using the packages which are already on my system somehow? <rolodex>Scratch this, running guix package on my emacs.scm seems to have fixed things, and used the packages already on my system. :) <rekado>“guix package --manifest” will install *only* the packages listed in the manifest to the default profile <rekado>if the manifest only contains frozen bubble then that’s what you get <rekado>use separate profiles if you watn to use separate manifests <rolodex>Right, that makes sense. Hence why why running guix package --manifest with another manifest has again wiped emacs? <Franciman>when a package usually puts a file in /etc/, where do i find the file in guix? <rekado>rolodex: use “-p /somewhere/else -m emacs.scm” to install all the emacs stuff somewhere else <rekado>you can load the profile at that other location with “guix shell”, or you could source its etc/profile file to augment the env vars <jpoiret>Franciman: under $(guix build thepackagename)/etc <Franciman>I get: XDG_RUNTIME_DIR is not set in the environment <rolodex>Thanks rekado. Sorry for all these questions, I really want to get onboard with guix propperly and be a contributing member but I'm still climbing the learning curve. <rolodex>Looking at the cookbook, I had understood that I should create a separate profile for each manifest. ie, a games profile, an emacs profile, a terminal profile, a krita profile, etc. Is that correct? <rolodex>So I would have a file structure like .guix-extra-profiles/games/games and .guix-extra-profiles/emacs/emacs, and store my manifests in, like .guix-extra-profiles/emacs/manifest.scm <jpoiret>Franciman: do you use %desktop-services? (if you're on guix system) <jpoiret>eg. do you have a DM like GDM or SDDM? <jpoiret>these usually set the XDG dirs on login, but if you're manually launching via the shell you'll need to set them manually <GNUtoo>hi, how do I use something like (assoc-ref %outputs "out") in an build or install function? <GNUtoo>It says it's not a string, so I guess I need to make it a string but ,@(assoc-ref %outputs "out") also fails <GNUtoo>For the string the error is: Wrong type (expecting string): (string-append "LDFLAGS=-lssl -lcrypto -L . -Wl,-rpath=" (quote (assoc-ref %outputs "out")) "/lib") <ss2>Gnome's sushi is still failing to build. <ss2>There was a fix just recently, but the source url is a 404. <unmatched-paren>What uses does the actual `guix` package in gnu/packages/package-management.scm have, other than as an input to gwl, guix-modules, et cetera? <unmatched-paren>I see it's used by <guix-configuration> and other things in gnu/services/base.scm. <GNUtoo>unmatched-paren: I'll pastebin that <GNUtoo>here it says "error: %outputs: unbound variable" *GNUtoo tries with outputs instead *GNUtoo will make 1 more test <apteryx>ss2: fixed sushi's URI. sorry for the breakage! <GNUtoo>ok, for #:make-flags, they are not arguments to arguments, they are use in build/install functions, should I still gexp them? <ss2>apteryx: no worries! <unmatched-paren>just change your arguments to gexp style and use #$output to get the outputs <GNUtoo>Thanks to your explanation above I can now grep for that and look at examples, before I was confused and I didn't think that part could be gexped <unmatched-paren>(list #:foo #~(...) #:bar #~(...)) is the de facto standard style now <GNUtoo>Using gexp should also make it more clear in my head because understanding what it's supposed to do behind without gexp is messy in my head <unmatched-paren>Maybe I should try writing a `guix style` formatter that converts arguments to the gexp style <GNUtoo>Can guix style work on a guix.scm file? <GNUtoo>maybe with "-e, --expression=EXPR" <unmatched-paren>actually, i think the file needs to be a module in the load path (or an expression, yeah) *GNUtoo should probably add some --file= to it <GNUtoo>(My main use of Guix is some guix.scm files to maintain libraries) <pashencija[m]>How to launch shell (like bash) from guix repl in initrd? I need to debug something and I'm afraid I cannot do it in scheme <GNUtoo>There is bournish but it's extremely limited <GNUtoo>in the default config in the initramfs it doesn't have PATH I think <pashencija[m]>I loaded all the kernel modules that I found relevant. I hoped that doing something inside repl may help *GNUtoo did that long time ago and it was painful, I hope you can somehow ship bash and run it easily <GNUtoo>I did it on real hardware without serial port so without copy/paste... <GNUtoo>,bournish gives you a very limited shell, so if you can ship bash in a known location + some scripts, you can probably manage to do it better than I did <GNUtoo>Maybe the manual has infos on that <GNUtoo>when it fails you've got a scheme shell <GNUtoo>you can use ,bournish in it if I recall well <GNUtoo>it prints it on the screen anyway <GNUtoo>apparently it can start a repl with gnu.repl <GNUtoo>it doesn't have find for instance <GNUtoo>it would be better if more experienced people could step in here as I just used it to debug stuff, and I probably didn't do it in the most efficient way <GNUtoo>you're trying to understand which modules are lacking? <GNUtoo>pashencija[m]: if so there might be other ways to get it to boot without having to deal with this initramfs shell <GNUtoo>for instance looking at linux logs and reading drivers can be more simple <GNUtoo>And if it's not hardware specific you might get more luck by copy-pasting and adapting parts working configs <pashencija[m]><GNUtoo> "you're trying to understand..." <- I hope it's about modules. Not sure <pashencija[m]>GNUtoo: I have done that. There seems to be no modules outside of buildins required to get emmc to work <GNUtoo>dmesg prints if the eMMC is found <pashencija[m]>GNUtoo: It's indeed hardware-specific. I have the same image for different boards <GNUtoo>and you've got that through the serial port <GNUtoo>You need to pass it something like loglevel=8 to get that <GNUtoo>Here's an example: (kernel-arguments (append (list "iomem=relaxed" "modprobe.blacklist=pcspkr" "quiet"))) <GNUtoo>kernel-arguments is an argument of (operating-system [...]) <GNUtoo>Adding loglevel=8 or ignore_loglevel or something similar should get you all the logs on the serial port <darosior>Hi everyone. I'm trying to install Guix on a RockPro64 using `guix system init` (as i've seen advized on some ML threads for similar SBC, and the ARM board blog post) on the eMMC. I'm a bit confused as to the course of events there. The configuration needs to specify u-boot, but `guix system init` is called on a partition created beforehand. But <darosior>Could anyone shed some more lights on what `guix system init` will do, especially with u-boot, so i can better understand what i'm doing here? :) <darosior>Or if anyone had prior experience on installing Guix on a RockPro64, pointers would be much appreciated <GNUtoo>Then you can verify it by looking at the kernel log which should have: "Kernel command line: [the kernel command line used]" <GNUtoo>Then you can see things like that: "mmcblk2: mmc2:0001 <model number> 8.0 GiB" <GNUtoo>And you can see it mounting the rootfs or not, etc <GNUtoo>And you can see if it loads the mmc driver it's supposed to load too <GNUtoo>To find that you need to either know your hardware (by booting a live installer for instance) <GNUtoo>for the device tree you find the node for the emmc, look at the compatible string and grep for that in linux source code (usually in drivers/mmc) <GNUtoo>That'll find the driver and you can usually find the module name with that <GNUtoo>#define DRIVER_NAME "omap_hsmmc" <GNUtoo>DRIVER_NAME often matches the module name <GNUtoo>And sometimes there are guix configs that already exist for your computer, that have the right modules for the eMMC <GNUtoo>in gnu/system/examples/ there are examples for some computers (beaglebone black for instance) <GNUtoo>The advantage of that approach is that you only need to read what's on the boot log that you get through the serial port <GNUtoo>It works less well when you don't have that boot log though <GNUtoo>darosior: guix system init will not be able to install the bootloader on the block device, but you can use guix system image instead <GNUtoo>Then you need to use dd to install the image on a microSD for instance <GNUtoo>I think so, and you also need to specific it somehow through -t in guix system image <GNUtoo>guix system image --list-image-types <GNUtoo>This has rock64-raw for instance <GNUtoo>rock64-raw probably also adds some modules and so on to make sure it boots fine <GNUtoo>The manual also probably has more up to date examples <GNUtoo>Note that you could have to install the image in 2 steps, because if you do it from an x86 computer, that computer might not be able to build all packages that exist for ARM, but it usually works fine for basic images <GNUtoo>(gdm for instance will probably not work because somewhere in its dependencies there are software that use build system don't support cross compilation yet) <rolodex>Hi all, I started playing with with using manifest files (see 11:09:29 GMT), but i'm running into all kinds of issues, such as mu4e not running and other errors in emacs. I don't have time roll my sleeves up right now. Is there a way to just revert to the default non-manifest setup I was running before? <char[m]>Greetings guix! what is the proper way to have the bluetooth-service, but have it disabled until turned on? I have tried (auto-enable? #f) and sudo herd disable bluetooth. <civodul>rolodex: hi! you can always run "guix package --rollback" to get back to the previous generations <civodul>char[m]: hi! i think you need to have an instance of bluetooth-service-type in the 'services' field of your OS <rolodex>Oh it's just been creating new generations, doh! Thank you civodul! <char[m]>civodul: yes I have this: (service bluetooth-service-type <char[m]> (bluetooth-configuration (auto-enable? #f))). bluetooth works just fine. I want it to be disabled until I turn it on though. <GNUtoo>rolodex: if before you installed packages with guix package -i you could look at guix package --list-generations <GNUtoo>ah it was already answered sorry <zakkex>I'm trying to install telegram-desktop and it's confusing me. Guix weather telegram-desktop says that substitutes are available but when I try to install it with guix install, guix tries to compile it instead of using a substitute. (the local build also fails) <GNUtoo>Hmmm I still can't make it work somehow <GNUtoo>I'm trying to access output in a build function <GNUtoo>and I've that: Wrong type (expecting string): (string-append "LDFLAGS=" "-Wl,-rpath=" ((@ (guile) getenv) "out") " " "-lssl -lcrypto -L .") <GNUtoo>I understand that at the end of the build functions should be evaluated at build time <GNUtoo>As I understand the modify-phases code should run at build time, right? because it's gexped (#~) <apteryx>civodul: gexps can't be used on any argument, can they? <GNUtoo>In that case why would simply "output" not work (it also fails if I replace $#output by output) <apteryx>I just tried for #:scon-flags of the scon-build-system, and got /gnu/store/dfc9n04l176vj4xca5ymb22s9rq3x55w-mapnik-3.1.0-builder:1:4354: Unknown # object: "#<" <GNUtoo>hmm I also get "Wrong type (expecting string): (string-append "LDFLAGS=" "-Wl,-rpath=" ((@ (guile) getenv) "out") " " "-lssl -lcrypto -L .")" with outputs instead <apteryx>arg; %build-inputs is also unbound for some reason <GNUtoo>zakkex: maybe substitutes are available for its dependencies <apteryx>nevermind, %build-inputs *is* bound at least <zakkex>GNUtoo: weather says that 100% (1/1) of substitutes are available, I would think that means the entire package, not just dependencies <GNUtoo>ok, I'm not sure how it works but when installing packages there are often multiple phases, like at some point it install stuff and their dependencies, and then it tries again... <char[m]>I thought setting auto-enable? to #f would make bluetooth not turn on unless I turn it on <zakkex>my best guess (with very little knowledge of guix to base it on) is that some dependency has been updated after the substitute was built and the ci server claims to have a substitute, but when installing the package guix computes a different derivation (due to the newer dependency) and doesn't see the substitute as a valid one. No idea if this is <zakkex>actually the case (or even possible) <two[m]>is it possible to install 1 output of a package? <vivien>For now I give up on building bash for mingw, but maybe packaging cygwin and building bash with it would work? <two[m]>it seems doc outputs only include man pages for commands <gnucode>so I guess I've got my dell optiplex 7020. I don't have time to install guix system, but I will be installing it soon! <sneek>gnucode, you have 1 message! <sneek>gnucode, nckx says: I didn't actually disagree, but 'a [simple] list of strings/gexps' wasn't what I took from your earlier paste. <gnucode>nckx: gotcha. I see that you did not disagree. I think I still may be trying to "perfect" the opensmtpd service a little too much. :) <GNUtoo>vivien: did you look if msys2 used cygwin? <GNUtoo>hmmm #$output works outside of ((assoc-ref %standard-phases 'build) #:make-flags (append make-flags <some expression with $#output)) <GNUtoo>I was assuming they didn't use cygwin for everything <GNUtoo>so maybe some software depends on cygwin and some don't <two[m]>what is the equivalent of debian -doc packages? <GNUtoo>two[m]: the packages are usually not splitted for the documentation <GNUtoo>(pk '((string-append #$output "/foo"))) => (((string-append ((@ (guile) getenv) "out") "/foo"))) <GNUtoo>(pk (string-append #$output "/foo")) => ("/gnu/store/g86qmbcmr77xpl6rrpqy5nf2scqwgy9c-libsamsung-ipc-gcc-android-0.0-HEAD.b4c12e2/foo") <GNUtoo>So apparently I can't add $#output in a list? *GNUtoo doesn't understand why I needed to unquote #$output but it seems to work fine now <GNUtoo>The expression is quoted + gexped? <GNUtoo>Then guix unquote it and then ungexp it? <unmatched-paren>you should probably try to convert quoting to lists to avoid confusion with gexps <GNUtoo>Ah I start to understand now, so output is only available when building the package definition, so I need to unquote it to make it ungexped, and then when building the package we have its value <GNUtoo>Something I often struggle with is to understand what part of the code is evaluated when, for instance here I didn't know if output was available when building the package definition or when running its code <GNUtoo>Now since that works I can deduce that output is only available when it's building the package definition <stampirl>can anyone help me with docker and docker-compose. When I run docker-compose up I get this error `ERROR: for phpmyadmin Cannot start service phpmyadmin: Unknown runtime specified /gnu/store/ykaxhb1aiv2k3svdb80l5sqqzg5j62dp-runc-1.1.1/sbin/runc` <stampirl>last time I was using docker it was running perfectly <GNUtoo>indeed what I struggle more with is not the actual mechanism but what's around it, like the principle is easy enough to understand but then you add code in existing code <GNUtoo>So you don't know how (package [...] ) is evaluated for instance <unmatched-paren>and what #$ does is allow you to access things that _have_ been built <GNUtoo>for instance if I controlled everything and I had to gexp and ungexp things would be clear <GNUtoo>but some stuff is done behind my back <GNUtoo>so that makes it harder to understand what guix expects in what place <unmatched-paren>and ungexping `output` allows you to basically retrieve the path that is *going* to be built <GNUtoo>like for instance if I take (name "some-package-name") it works because I just copy other packages do, but I've no idea if that's evaluated immediately, compiled, gexped, ungexped, etc behind the scenes <GNUtoo>so if there is a function that takes something quoted I know I need to quote it <GNUtoo>(Since there is some effort to make Guix easier I just wanted to share how I saw things in the hope that it could help) <unmatched-paren>it's treated as a literal sexp and processed by `package` which presumably is a macro that's automatically generated by define-record-type* <GNUtoo>ohh ok, so I should look at (package at some point <unmatched-paren>(because afaics a macro is just a procedure that allows you to treat the arguments as raw syntax instead of evaluating them) <GNUtoo>That starts to explain things, so I guess that by default it treats build functions as s expressions too... <unmatched-paren>GNUtoo: package is processed on the... client-side? As opposed to build-side. <GNUtoo>So with gexp you're then more in control and things are more clear <unmatched-paren>GNUtoo: if foo is a procedure, (foo (+ 6 5)) is equivalent to (foo 11) <unmatched-paren>but if it's a macro, (foo (+ 6 5)) is basically like calling a procedure with (foo '(+ 6 5)) <unmatched-paren>if you do define-macro instead of define-syntax, this becomes obvious: <unmatched-paren>that quoted sexp gets the sexp x spliced into it, and then it gets treated as code <stampirl>unmatched-paren: docker-compose down seems to fix it <unmatched-paren>perhaps the update broke runc? (no idea what runc is, and i've never used docker) <unmatched-paren>GNUtoo: I *think* in principle it should be the case that nothing outside a gexp is used on the build sidu <GNUtoo>That was mentioned in the new syntax for dependencies if I recall well <stampirl>unmatched-paren: don't know too, I use it for webdev so I can separate stuff, but it gives me a lot of headache. Is there some replacement for docker more aligned with guix, maybe I should move to guix vm with my projects <jetomit>unmatched-paren: this was a nice lecture, thanks! :) <drakonis>its main claim to glory is using modern container libraries <stampirl>I was going to switch to podman, but can't find any documentation how to install on guix <unmatched-paren>GNUtoo: I guess gexps were added when the developers realized that we needed a clean build side/client side seperation <unmatched-paren>jetomit: Take it with a bowlfull of salt; many of these things predate my usage of guix <two[m]>there isn't any documentation in the ghc package *GNUtoo should probably have looked at the paper instead of the manual <GNUtoo>(without the implementation details it is hard for me to understand things) <GNUtoo>Basically I need the level under to understand the level on top, many people probably can manage without that but I'd have a hard time without <GNUtoo>The issue with "I'll explain later" is that in a lot of case knowledge has dependency loops <GNUtoo>A depends on B which depends on A <apteryx>interesting, 'make check TESTS=tests/challenge.scm' has the differing-files test fail with: (different-files ("/bin/guile" "/lib/guile/2.0/ccache/ice-9/session.go" "/lib/guile/2.0/ccache/texinfo.go")) (the list should contain just "/bin/guile") *apteryx rm -rf test-tmp away <apteryx>hmm, the tests/elm.scm test suite causes multiple PASS to appear in the output for the same file <jonsger[m]>uff booking hotels in Paris without credit card seems to be hard (for the Guix days)... <GNUtoo>jonsger[m]: Another way would be to find hosts in Paris <GNUtoo>Though that's probably hard to do if you never meet people in person <jonsger[m]>I met some Guix folks in person before. I even can remember who is from France, but not who is from Paris :P <GNUtoo>I'm from Paris but I only meet 1 person working on Guix <GNUtoo>So if there is some link where people organize for hosting I could try to promote it around me <GNUtoo>(Where I live is a bit hostile, like there is no extra bed etc, so it's not the best place to be hosted at) <vivien>I’m in Reims so not that far away but not that close either <GNUtoo>(Though it's well setup for working) <jonsger[m]>I booked the hotel a bit outside, yet on a metro ligne going directly to the Sorbonne campus. So neither hotel nor train is expensive, at least as I earn some money nowadays :) <pashencija[m]>FYI: it was an issue with device tree that caused emmc not to work. Thank you for your help! *GNUtoo wonder what issue though <apteryx>is 'make check TESTS=tests/guix-home.sh' passing for others? <apteryx>something to do with: guix home: error: mkdir: Permission denied ***rgherdt_ is now known as rgherdt
<jonsger[m]>apteryx: passes here, but I had to make clean-go before and bootstrap afterwards... <rekado>apteryx: passes here on commit 82e7e05deaf22de3f3b6179b8806d2bf134b2fed <apteryx>ah, yes, I had forgotten I had 'ln -sf /bin/sh $(guix build dash)/bin/dash' to test something, thank you :-) ***mark_ is now known as mjw
*roptat worked a bit more on the French translation, 850 strings left :) *jonsger[m] tries pulling from staging :) <jonsger[m]>mbakke efraim could we merge master into staging? <jonsger[m]>staging seems to be helpful for firefox/icecat/icedove 102 ESR... <apteryx>can make-systemd-service be used to synchronize Shepherd services between themselves? E.g., chaining them <apteryx>e.g., suppose service B *requires* service A to be up and running before it runs itself, would service B reaching to service A's socket cause Shepherd to start A so that it can answer to B without B failing? <apteryx>civodul: perhaps a question of interest ^