IRC channel logs


back to list of logs

<GNUtoo>is it possible to run guix-sd without an initramfs?
<tune>I'm following a packaging tutorial and trying to verify the hello package but it keeps telling me > gpg: Can't check signature: No public key
<tune>I've been at this for maybe a half hour now... I thought it meant I needed a public key, my friend is telling me I have to import one, but the guide doesn't show importing any keys
<rekado>tune: the installer does this and the manual mentions it too.
*rekado –> zzzZ
<tune>whatever meaning is there has been lost on me
<vagrantc>has one example
<tune>the wget part?
<tune>why is that not in this guide?
<vagrantc>not sure what exactly you're trying to do that's producing the error
<tune>gpg --verify /gnu/store/rzs8wba9ka7grrmgcpfyxvs58mly0sx6-hello-2.10.tar.gz.sig /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
<tune>after getting the sig file with guix download
<vagrantc>so, it's both good and bad that it doesn't tell you about how to fetch GPG keys ... the "good" part is at the time it was written, the recommended instructions would not work anymore ...
<vagrantc>the bad part is the keyserver network is broken and there aren't solid options for how to replace it...
<tune>the wget command doesn't work with the mirror:// url as far as I can tell
<vagrantc>so, you need to get the corresponding public key used to sign the tarball of the hello package ...
<vagrantc>yeah, that's not going to work, because that's a signature, not a public key
<tune>oh, right. I was mixing the stuff together
<vagrantc>gpg --locate-key
<vagrantc>*might* work, if they've set up WKD...
<vagrantc>and it's the current signer for your key
<vagrantc>er, for the tarball
<tune>no data
<vagrantc>not terribly surprising
<tune> I don't get how there's no public key but it's getting some sort of rsa key and creation date
<vagrantc>we're in an awkward point in time where the normal methods for fetching arbitrary keys are broken
<vagrantc>the signature contains information about which key signed it, but not the key itself
<vagrantc>you could also try gpg --keyserver --recv-key A9553245FDE9B739
<vagrantc>assuming they've uploaded and verified their key ...
<tune>I get no user id but that one thing was processed, and the verify command fails the same way after that
<vagrantc>oh yeah...
<vagrantc>gah. this is a frustrating point in time...
<tune>I was hoping to just go through the tutorial very carefully in hopes of getting a basic understanding of the packaging. I tried to make a package in a rush yesterday and got lost and confused
<tune>I guess if the example is just not great I can move along but it gives me a bad feeling
<vagrantc>it's nothing specific to guix ...
<vagrantc>if you had to verify anything else using openpgp signatures ... you'd have the same problem right now
<basdfewaf>hello! I'm using btrfs with my root partition on a subvolume "@". guix doesn't seem to be able to deal with this, and generates broken grub.cfg. to get the system to boot I need to prefix the kernel and initrd paths with "/@", and pass a root=... parameter to the kernel. how do I fix this?
<vagrantc>the short of it is the keyservers used to share public openpgp keys always had a vulnerability where anyone could upload anyone else's keys with signatures ... and someone proved how bad an idea that is by uploading prominent developers keys with tens of thousands of signatures ... and ... problems happened.
<vagrantc>or, that's at least one problem...
<tune>hm I see
<vagrantc>that's why the newer version of the guix manual instructs to download the key directly ... but hello may or may not have published the corresponding information
<vagrantc>and alternative methods to search for keys aren't yet developed
<vagrantc>or, aren't mature
<vagrantc>rough times.
<vagrantc>a more detailed explanation of the issue:
***scs is now known as Guest71617
***scs is now known as Guest51225
***scs is now known as Guest64289
<vagrantc>hrm. no video output booting 5.2.x on veyron-speedy...
*vagrantc vaguely recalls someone asking about this
***scs is now known as Guest81458
<nexgen>can GUIX distro be used without systemD ?
<vagrantc>Guix System doesn't use systemd
<vagrantc>it uses GNU Shepard
<vagrantc>if installing on a foreign distro, it's probably not hard to support whatever init system it's running
<nexgen>very good
<nexgen>at lest for there is no systemD
<nexgen>can I install and use openrc or sysv if installing from scratch?
<str1ngs>nexgen: guix system uses GNU shepherd for init
<nexgen>I see
<nexgen>can it be replaced by OpenRC?
<nexgen>if not replaceable then is there any comparison?
<nexgen>is it the same bloated as systemD?
<nexgen>I like simple things like sysv or openrc in important backbone things
<str1ngs>shepherd works well with guix because it uses scheme
<nexgen>but how much code there?
<nexgen>compared to systemD
<str1ngs>so it's much easier to configure the system declarative
<nexgen>how easy it is to fix it
***MinceR_ is now known as MinceR
<str1ngs>well for one, you have full system roll backs so yes you can always goto a known good state
<str1ngs>but guile scheme has a learning curve
<nexgen>may I know how soon your irc community grew up to 250 user?
<nexgen>I know some lisp things
<nexgen>learned it 20 years ago
<nexgen>is lisp helpful in a context of scheme?
<str1ngs>yes, there are differences but if you know some lisp it will help
<nexgen>though I can severe any programming language for a rare usage unless it is very specific like for CAD
<nexgen>*survive :)
<str1ngs>obviously you have not used haskell :P
<nexgen>I like rabbitmq
<nexgen>it seems to be written in haskel
<str1ngs>if you can write haskell, scheme is a breeze :P
<nexgen>did not try haskel
<nexgen>actually I do not any languages except C# and VisualBasic
<nexgen>do not like
<str1ngs>though there are many examples for basic configs. so getting started is not to hard
<nexgen>especially perl and python
<nexgen>any understandable language is ok for a rare short usage just to do a task
<nexgen>especially if your distro can help me test vms quickly
<nexgen>as NixOS can, I guess your can too
<str1ngs>guix can build declarative VM's and containers, as well as enviroments
<str1ngs>guix is more comparative to NixOS
<nexgen>NixOS bad for me because of its systemD
<nexgen>seems not secure and bloated
<nexgen>and unstable in some distros
<nexgen>is GUIX already out of research and beta?
<nexgen>Does anyone use it in production
<nexgen>can base be completely rebuilt from source?
<nexgen>is it reproducible too?
<dftxbs3e>I'm not use GNU Guix is production ready, should probably wait few versions for this
<dftxbs3e>Yes everything can be rebuilt from source, including the bootstrap binaries
<dftxbs3e>GNU Guix works quite well and stable but when I'm saying not production ready it's to say that you may find some bits missing for even some common use cases
<dftxbs3e>GNU Guix is stable but some packages are missing, or don't have tight enough integration, or lack services
<dftxbs3e>Also yes it is reproducible
<dftxbs3e>At least if anything isnt, that's a bug
<dftxbs3e>s/I'm not use/I'm not sure/g
<nexgen>Is it easy to flash and run it on ARM v7?
<dftxbs3e>I think so yes, though I don't run ARM so I wouldnt know
<nexgen>Can binaries be prepared on a faster X86 host?
<dftxbs3e>Yes they can, you can setup "offloading"
<dftxbs3e>Otherwise GNU Guix runs CI infrastructure which provides prebuilts
<nexgen>Does GUIX miss any NixOS feature?
<dftxbs3e>Offloading allows you to configure a separate machine (ssh credentials) so that it can compile packages on that machine instead
<nexgen>Is it a good idea to start playing with it in a GUIX pak man in Gentoo?
<dftxbs3e>I don't know about NixOS specially so I wouldnt know
<dftxbs3e>GNU Guix isnt thought of as a Nix clone
<dftxbs3e>Do whatever you want here
<nexgen>The main different seems to have everything is Scheme syntax and logic too
<nexgen>Actually I need to experiment just with not critical desktops for users
<nexgen>like browser
<nexgen>chat, etc.
<nexgen>is it hard to use binaries like Chrome?
<dftxbs3e>GNU Guix does not run proprietary software
<dftxbs3e>or firmware
<nexgen>I would like to use "ungoogled" chromium
<dftxbs3e>There is an ungoogled-chromium package, though I don't know how up to date it is
<nexgen>it does not generate any extra connections to CDNs except to the specified site on address bar
<nexgen>most likely less backdoors in it if any
<nexgen>a slightly old would be even better, very cool
<dftxbs3e>not really, even a version old chromium means public CVE is available
<nexgen>going to run GUIX in an OpenBSD vmm VM
<nexgen>as a guest
<nexgen>may be more secure
<nexgen>not sure of course
<nexgen>and package definition can be updated looking at earlier one, most likely not a lot of work anyway
<nexgen>for a newer ungoogled
<nexgen>there are some scripts to populate FSH for NixOS, would not they work on GUIX too?
<nexgen>to try binaries anyway
<nexgen>and may I know for how long the project has been sponsored as for now
<nexgen>it will indicate how long it will be alive at least
<nexgen>hopefully much more of course
<dftxbs3e>GNU Guix is fine in terms of funding AFAIK
<nexgen>and does this #guix channel uses to be more active like #openbsd or #nixos ?
<nexgen>it seems to be the first time I was able to see any activity here
<nexgen>are here mostly developers or users? how much developers you have now?
<dftxbs3e>You must have not been reading here for a while then
<nexgen>I did not know about GUIX even a week ago yet
<nexgen>Devuan user
<nexgen>then slightly Gentoo
<dftxbs3e> -- look at here for commit logs, only authorized users can commit
<dftxbs3e>jonsger: hi!
<nexgen>and Debian of course since 2006
<nexgen>your ideas look very innovative
<nexgen>I used to write some automation scripts for deb distros
<nexgen>generally preferred in ansible of course
<nexgen>and you do it all now
<nexgen>as a part of installation declaration/definition if I understand correctly
<dftxbs3e>jonsger: I built a container image to reproduce my GNU Guix powerpc64le-linux setup :-) it's at: -- source:
<dftxbs3e>nexgen: yes, it's very nice
<dftxbs3e>guix deploy is what allows you to do that for remote machines, but local system configuration always been like that
<nexgen>can your automation be partially done in other languages if needed by me later?
<nexgen>can someone do scripts in non scheme at least at deeper layer?
<nexgen>say headers and some small login like start/stop/pre/post in scheme and actual implementation in bash or C#
<dftxbs3e>yes you can but it's not desirable
<nexgen>at least for private packages to not disturb community
<nexgen>Do you have a forum like other distros?
<nexgen>at least planning to create it
<dftxbs3e>I don't think there is plans to create any forum
<dftxbs3e>There's the IRC here and the mailing list
<dftxbs3e>Which in my opinion, is sufficient
<dftxbs3e>Anything more fragments the community
<nexgen>so your community does want to grow yet for less advanced users
<nexgen>I guess you are still in a dev phase where a lot of users not desirable
<dftxbs3e>IRC and specially email are technologies that most people in the world know how to use
<nexgen>yes, do not like all these new watzup, etc.
<dftxbs3e>"I guess you are still in a dev phase where a lot of users not desirable" -- no, 1.0 is out
<jonsger>dftxbs3e: are you aware that openSUSE Tumbleweed has Guix 1.0.1 and all of its dependencies?
<nexgen>in the beginning of this year there were still many reports about instabilities
<dftxbs3e>jonsger: oh really? No I didnt
<dftxbs3e>nexgen: at that time, 1.0 wasnt out
<nexgen>you even build on librebooted server
<nexgen>very good
<nexgen>did you rebuild GCC from scratch by another compiler like TinyCC?
<nexgen>or may be some another better method was used to ensure GCC is trustworthy
<nexgen>something like
<nexgen>Can I have a very minimum text only system like Alpine?
<nexgen>no X, no DE
<nexgen>most unused packages purged
<nexgen>and can I rebuild used packages as i486?
<nexgen>to run them on old Pentium 1
<nexgen>can I integrated with a minipli grsec kernel built say on Gentoo?
<dftxbs3e>minipli grsec kernel is outdated
<dftxbs3e>"no X, no DE" yes
<dftxbs3e>"and can I rebuild used packages as i486?" yes
<dftxbs3e>"did you rebuild GCC from scratch by another compiler like TinyCC?" there is a full bootstrap path with mes
<nexgen>very good, thanks
<nexgen>it seems your distro is ideal like an ansible perfectionist dream
***scs is now known as Guest7032
<str1ngs>nexgen: the bare-bones.tmpl is pretty minimal
<nexgen>installing already without DE
<nexgen>can I apply this tmpl to installed system after installation completed?
<str1ngs>it's better to reconfigure with something close to what you started with. but both should reconfigure
<str1ngs>just keep as disks hostname on par
<nexgen>it builds even during installation
<nexgen>it is good of course
<nexgen>could I specify template when booted into installer?
<str1ngs>not sure with the installer. personally I just init with my config
<str1ngs>I don't even us a boot cd myself. just a foreign distro
<nexgen>it is done after installation completed?
<nexgen>booted in a VirtualBox and installing over host ZFS zvol
<nexgen>will play with it in chroot after installation and a few of config done
<str1ngs>does freebsd have libvirt?
<nexgen>I am very bad in BSD
<nexgen>but as long as I know there is a very old KVM generally not used now
<nexgen>FreeBSD has its own VM the same as in Illumos
<nexgen>and OpenBSD has another one vmm - unique OBSD thing
<nexgen>and regarding libvirt I do not know, sorry
<nexgen>FreeBSD current VM technology is called Bhyve
<nexgen>And OpenBSD will reject any package manager like GUIX
<nexgen>Can an old kernel be used like 2.6.x?
<jlicht>hi guix1
<nexgen>guix1 is a chat member?
<nexgen>new packages are installed fine, no problems
<efraim>redhat's 2.6.x kernel is supported, a mainline/deblobbed 2.6.x kernel are generally too old for Qt applications for example and are likely missing some of the features used by the daemon
<kmicu>( ^_^)/ jlicht
<jlicht>nexgen: I mistyped my ! as 1 because of a new keyboard that I am not used to yet
<nexgen>ah, its my installation phoned home :)
***scs is now known as Guest74994
<nexgen>please let me know, where build architecture is specified
<nexgen>like CCHOST=i486-pc-linux-gnu
<efraim>I'd go with gnu/packages/bootstrap.scm for the linker and gnu/packages/gcc.scm for the gcc flags
<nexgen>I am missing /gnu/packages directory
<nexgen>may be some package shall be install a config/perk applied?
<efraim>that's where it is in the source code for guix
<nexgen>cannot source be automatically downloaded and compiled as in gentoo?
<tune>what can I try besides "sudo herd restart ssh-daemon" if I can't ssh into my guix pc?
<tune>short of rebooting, I should say. I'm sure that would fix it, but what an annoying fix it would be
<tune>okay works by ip, just not hostname I guess
<tune>but it usually works by hostname
<dftxbs3e>nexgen: because GNU Guix is wholly reproducible, changing architecture to i486 means GNU Guix will recompile all packages, so you need to add a target for GNU Guix
<dftxbs3e>may I ask why you are needing i486?
<nexgen>I have an old i586 computer where I would like to try it
<nexgen>gentoo works fine
<nexgen>though with kernel 4.9.x
<tune>hm `sudo herd restart networking` didn't fix it either
<dftxbs3e>nexgen: I think you need to bootstrap a new architecture entirely. gnu/packages/make-bootstrap.scm allows you to create the bootstrap binaries, gnu/packages/bootstrap.scm is also used by gnu/packages/make-bootstrap.scm and then, gnu/packages/commencement.scm takes those bootstrap binaries to "grow" GNU Guix as a whole
<dftxbs3e>once you are inside GNU Guix, run `guix environment guix --ad-hoc git nss-certs` then `git clone` and then inside the "guix" folder, run `./bootstrap` (runs autoconf), then `./configure --localstatedir=/var` then `make -j$(nproc)`, then you can test your changes by prefixing `./pre-inst-env` to any command, e.g. `./pre-inst-env guix build hello`
<dftxbs3e>you don't need to recompile GNU Guix to test changes, scheme files newer than compiled objects will be interpreted instead
<dftxbs3e>I did that bootstrapping work here for another arch, see this commit:
<dftxbs3e>it should indicate you what needs changing
<dftxbs3e>to compile bootstrap binaries: guix build --target=i486-linux-gnu bootstrap-tarballs
<dftxbs3e>seems like it's called i586-linux gnu rather:
<dftxbs3e>so: guix build --target=i586-linux-gnu bootstrap-tarballs
<efraim>i586-linux-gnu is the Hurd
<efraim>nvm, i was wrong
<dftxbs3e>linux can't be hurd
<nexgen>thanks, I will try
<dftxbs3e>you may need to define a new one actually..
<dftxbs3e>at this location:
<dftxbs3e>i486-linux -- you should define it
<dftxbs3e>with whatever interpreter path it has
<nexgen>does a doc page exist which describe rebuilding ?
<dftxbs3e>this is covered as "porting to a new architecture"
<dftxbs3e>GNU Guix doesnt allow "just rebuilding"
<numerobis>Hi guix! Perhaps I should be RTFMed, but what is the proper way to add a user (in my case, nginx) to a group (nginx)?
<numerobis>I meant to the 'git' group.
<numerobis>dftxbs3e: Thanks, I am aware of that. The only thing is that the user 'nginx' is not declared explicitly in /etc/config.scm; it gets created for the 'cgit' service I think. So I'm afraid that, if I declare it manually with (user account ...), the other automatically created properties of the user will be somehow lost.
<dftxbs3e>numerobis: depending on what you're trying to solve, you could find your solution inside the cgit service configuration then
<dftxbs3e>if not, then I think this is part of the rough edges of GNU Guix
<dftxbs3e>I'm not an expert though
<numerobis>dftxbs3e: Thanks. My issue is that, at the moment, nginx does not seem to have read access to the 'project.list' file generated by gitolite. I guess I could still manually chmod it, but not ideal.
<dftxbs3e>numerobis: ask on
***scs is now known as Guest14482
<grumbel>How does one use clang++ in Guix (ontop of Ubuntu)? I am currently getting "ld: cannot find crt1.o: No such file or directory", which I assume means I have to add a few linker flags to point it to the right directory
<ngz>numerobis: It seems that you can set a user and a group for Gitolite to use. Have you tried that?
<ngz>See also umask parameter in gitolite-rc-file
<dftxbs3e>grumbel: did you install clang through GNU Guix?
<grumbel>dftxbs3e: yes
<dftxbs3e>grumbel: are you up to date? v1.0.1?
<dftxbs3e>guix pull / guix package -u
<reepca>gcc-5 fails to build in a test-env for some reason. I wonder if some more hard-coded "/gnu/store" patches were added?
<numerobis>naz; I was just reading about it. The thing is that the permissions of the project.list file are 600, so adding a group doesn't help. I also have umask set to 022, which should be fine for reading, but somehow this doesn't seem to have made a difference. I'll investigate.
<grumbel>dftxbs3e: should be up to date
<numerobis>naz: Update: I deleted the whole /var/lib/gitolite and reinstalled (guix system reconfigure ...) and now the permissions on project.list are expected. (Ie, there is read access for the group). I'll try adding 'nginx' to the group to see if that works .
<dftxbs3e>grumbel: from a quick look it seems that's a bug, compare `gcc -v test.c` / `clang -v test.c` outputs and see, I'd go see what gnu/packages/gcc.scm looks like to mirror changes over to clang in some way
<dftxbs3e>clang is in gnu/packages/llvm/scm
***zaab is now known as Zaab1t
<bgardner>rekado_: Regarding LDAP auth, that's weird that my config works while yours does not. Seems not guixy; let me know when you have a moment and I can provide more of my config.
<numerobis>naz,dftxbs3e: In the end I got it to work, but I had to set the umask to 022 (not idea) and manually chmod 755 the home directory of the user git (created by gitolite), i.e. /var/lib/gitolite.
<nixo_>Anybody can take a look at: ? It's to get back guix packages on repology. They want on official dump of the packages to json, like did before
<dftxbs3e>numerobis: does that survive reconfigure?
<rekado_>bgardner: I’d be very interested to see yours.
<rekado_>nixo_: it’s the same that Bernhard asked for a while ago
<nixo_>Is the packages on are the same maybe is possible to tell them to use instead
<rekado_>there’s an open bug about this.
<nixo_>rekado_: ups sorry I missed it
<rekado_>we want to use the same thing that’s on (namely hpcguix-web) and install it on, and ensure that it’s updated regularly.
<rekado_>we couldn’t do this back when we used the servers, because of CVS
<rekado_>(all website changes had to be checked into CVS, which isn’t feasible for auto-generated stuff)
<rekado_>now that the website is out of CVS we can finally implement this — but so far nobody has taken the time to make it happen.
<rekado_>the site configuration is accessible in the “maintenance” git repository on Savannah.
<nixo_>rekado_: thanks if I have time I can submit a patch
<numerobis>dftxbs3e: Ah no, it does not -- the permissions of /var/lib/gitolite get reset to 700. Hmm, kind of stuck now...
<ngz>Oooh, we got past 10k packages, and no party?
<rekado_>nixo_: great!
<rekado_>ngz: we haven’t stopped partying yet
<dftxbs3e>numerobis: you need to modify gitolite with additional parameters to do what you want
<numerobis>dftxbs3e: sounds like it, unless there is a mechanism for post-reconfigure hooks to do the 'chmod' part?
<dftxbs3e>numerobis: no that's not how GNU Guix works
<numerobis>dftxbs3e: Yes, I agree, that would be quite ugly.
***scs is now known as Guest47358
<numerobis>dftxbs3e: I see in the gitolite service definition that the user-account 'command' (or object, I don't know the correct terminology yet) is used internally. Considering that the permissions of the home directory cannot be passed to it, how would you go about modifying the service?
<numerobis>dftxbs3e: I wrapped the 'guix system reconfigure' command in a Makefile, with at the end of the recipe a chmod command. Very ugly, but a functional temporary solution for now. In any case, I've added some hacking of the gitolite service to my todo list, because repo-hooks can't be enabled with the current gitolite-rc interface. Thanks for your help
<bgardner>rekado_: Here you go, after careful review I've decided there are no secrets in my config so I'm pasting exactly as it is:
<rekado_>bgardner: thank you!
<bgardner>rekado_: My pleasure, please let me know if I can answer any questions.
<bricewge>Hello Guix.
<bricewge>When defining a package with `package-with-python2` how can I avoid some of the inputs to changed python version?
<xavierm02>pdflatex doesn't seem to find refstyle, even though it's in my guix profile. Any idea why?
<rekado_>xavierm02: what version of Guix do you use?
<Zaab1t>hey when I try to recompile xmonad it cannot find the Xmonad module:
<Zaab1t>this is quite frustrating because I cant reconfigure xmonad without compilling it :(
<nixo_>Where do I send a patch for the website? (git repo guix-artwork)
<bavier>Zaab1t: iirc this has been an issue for a while. The problem is that xmonad tries to rebuild itself in the current user's profile, which may not contain everything actually required to build xmonad.
<bavier>Zaab1t: until a better fix is prepared, you could instead create a custom xmonad guix package that contains your configuration
<rekado_>nixo_: just
<rekado_>nixo_: thanks!
<Zaab1t>bavier: I am completely new to guix. Can you help me create a custom package?
<nixo_>rekado: just sent, thanks!
<bavier>Zaab1t: possibly
<vagrantc>any rough ideas about the next release version? getting pretty close to be able to upload to Debian, especially with some changes in master
<vagrantc>suppose i can start with a git snapshot...
<reepca>hm, yeah, whether it uses chroot or not, any attempt at building gcc-5 within test-env fails with "x86_64-guix-linux-gnu-ld: cannot find -lstdc++", but it succeeds outside of test-env. Any idea why that would be?
<Zaab1t>bavier: I guess I start by copying the definition of `guix edit xmonad` to a new file?
<bavier>Zaab1t: that would be one way; using 'inherit' might be better long term.
<bavier>put that in a new scheme file "my-xmonad.scm" or similar
<bavier>and put a guile module definition at the top
<bavier>Zaab1t: then, I believe xmonad allows you to create a configuration file in the build tree -- I'm unclear on the specifics -- but you'll want to add a new phase that creates that configuration file to the package's arguments
<minall>Hello guix!
<Zaab1t>bavier: how do I check how that is done? Where can I read?
<Zaab1t>I have made my-xmonad.scm that inherits and nothing more
<Minall>Hello guix!
<nixo_>Hi :)
<Minall>nixo_: o/
<rekado_>bgardner: could you perhaps show me your /etc/pam.d files? I wonder if maybe the order in my files is wrong.
***scs is now known as Guest27383
<Zaab1t>bavier: think I should use package-input-rewritting?
<bavier>Zaab1t: I don't think that does what you need here
<quiliro>Minall: hola
<Zaab1t>bavier: I'm lost.
<bavier>Zaab1t: e.g.:
<bavier>oops, forgot a '(modify-phases phases ...)' in that
<ilikeheaps>Does guix on a foreign distro also have guix-daemon? How does one stop/start it?
<vagrantc>yes, would need to be started by whatever init system you're running
<vagrantc>there's an example config for systemd ... shouldn't be hard to adapt to something else
<ilikeheaps>Okay, thanks
<Zaab1t>bavier: I think it would actually be enough, if the build step ran `xmonad --recompile` after the ghc stuff. How would that look?
<bavier>Zaab1t: maybe add a phase before the 'install' phase that runs `xmonad --recompile`.
<bavier>Zaab1t: though I think xmonad does some "tricky" stuff with $HOMEDIR, i.e. I think the recompile'd xmonad is placed somewhere else that the "original" xmonad. (kinda like guix with 'guix pull')
***scs is now known as Guest20492
<PotentialUser-47>Hi, right place for some newbie questions here?
<PotentialUser-47>OK then: I want to install some more globally visible packages. Do I edit /etc/config.scm and then guix system reconfigure or should I guix package -i <pkg> -p <current system profile>?
<PotentialUser-47>Talking about guix system, Ishould have mentioned.
<ryanprior>How come when I run "guix search gtk" it doesn't show the package called "gtk"?
<jonsger>ryanprior: try guix package -A gtk, thats the better search :)
<ryanprior>Okay that's a little easier, thanks
<ryanprior>Still weird that it doesn't put the closest match first when it truncates packages
<PotentialUser-47>Next try: can I search for a package that would set a specific environment variable (XDG_RUNTIME_DIR in this case)?
<ryanprior>Ooh I love that concept of having an "apropos-by-environment-variables"
<ryanprior>Never heard of that being a thing but if it is, I might use it on occasion.
<ngz>PotentialUser-47: for globally available packages, I think it is common to add them to your system definition and reconfigure.
<PotentialUser-47>Ok, thx. If I edit config.scm, reconfigure, and later roll-back, is there a way to keep the config.scm in sync with my actual system automatically?
<PotentialUser-47>(Like generate a config.scm from the actual system e.g.)
<str1ngs>PotentialUser-47: yes you can local copy the config to /etc/config.scm or where you please
<str1ngs>PotentialUser-47: see vm-image.tmpl
<ngz>However, there is no automatic versioning of the initial config.scm.
<ngz>(or so I think)
<str1ngs>PotentialUser-47: and
<lfam>Argh... the annual key renewal exercise
<lfam>I'm going to make it biennial
*vagrantc tends towards ~19 months
<PotentialUser-47>str1ngs: after having learned scheme for 10 minutes now, this example seems to copy the right config.scm to /etc, thx.
<xavierm02>rekado_ the current one
<xavierm02>I just guix pull'ed and pdflatex still cant find refstyle
<str1ngs>PotentialUser-47: no worries
<rekado_>xavierm02: can you tell me what packages you installed?
***scs is now known as Guest17205
<ryanprior>How do yall calculate the base-32 sha256 checksum when you're creating or updating guix packages? Is there a standard command for that?
<rekado_>ryanprior: “guix hash”
<rekado_>bgardner: I’m thinking that maybe this LDAP/ActiveDirectory stuff isn’t working for me because in AD my shell is set up to be /bin/bash, which doesn’t exist on my Guix System.
<rekado_>xavierm02: I can’t find a Guix package named refstyle.
<ryanprior>rekado_: thanks, that great.
<ryanprior>I've got a package definition & I want to try it out, how do I take my scheme file and try to build it as a package?
<ryanprior>Here's my scheme file, I'd like to try to build & install this :O
<ryanprior>My first guix package, hopefully of many :) I'm excited, but I don't see what the next step is
<ryanprior>I've been looking at the packaging tutorial, which suggests "guix package --install-from-file=my-hello.scm"
<ryanprior>So I ran that (replacing the file with harvey.scm) and it succeeds (exit code 0) but there's no output, and "ls /gnu/store | grep -i harvey" provides no output, eg nothing was installed?
<vagrantc>if it's useful, figure out where it should go in gnu/packages/*.scm and submit it to ?
<vagrantc>oh, i see...
<xavierm02>rekado_ It's a latex package, and it's in the texmf package
*vagrantc hasn't used --install-from-file ever
<xavierm02>or rather the texlive-20180414 package
<ryanprior>vagrantc: I would love to submit it, but I want to check to make sure that it actually works. (I suspect that it doesn't, this is my first time trying to package anything for guix, I would be shocked if I nailed it on my first attempt)
<ryanprior>But I litereally don't know what to do with my .scm file to get guix to attempt to build it X.X
<vagrantc>i've mostly worked with the ./pre-inst-env method ... which is nicer in some ways
<xavierm02>Nevermind it works
<xavierm02>idk what changed
<ryanprior>I don't know what that method is, is it documented somewhere?
<xavierm02>probably the update did it but I had to reopen the terminal or something
<ryanprior>I'm not married to using --install-from-file, it's just what I tried since it was suggested in the packaging tutorial. I'm game to try whatever. :)
<vagrantc>ryanprior: i'll dig up the entry in the manual
<lfam>ryanprior: Try using this file:
<lfam>It's simplified for use with --install-from-file. They way you had written the package definition is the right way for integrating your package into the GNU Guix repo but not necessary or quite correct for the simple --install-from-file method
<lfam>I cribbed from our intro tutorial:
<pkill9>ryanprior: you need to put "harvey" at the bottom of your scm file, at the moment it just defines a variable but doesnt return something to evaluate
<lfam>If you ever run a `guix package` command are wondering if it installed anything, it's more correct to use `guix package --list-installed` than to look in /gnu/store, since that directory is more like a cache than a list of installed things
<lfam>I also recommend using '--verbosity=9' so you can see what it's doing (it will fail to compile)
<ryanprior>Okay, that's giving me something to work with at least :)
<lfam>I don't know the full answer but there are still a few missing dependencies :)
<lfam>I think it's no longer necessary to add the plain "harvey" line at the end, pkill9 and ryanprior. I guess it was a "user experience" bug that we fixed
<lfam>'--install-from-file' is mostly used by people trying Guix packaging for the first time so I figure it was unecessarily pedantic to require it for that audience
<pkill9>ah ok, nice
<xavierm02>How do I know which package added a texlive-union in my profile?
<rekado_>xavierm02: you can look at the “manifest” file that is installed into the profile.
<rekado_>xavierm02: the big texmf package contains *everything*; it’s not modular.
<rekado_>xavierm02: if you use the big texmf package you should also use the big texlive package.
<rekado_>the modular stuff won’t work with the monolithic texmf package.
<xavierm02>so now it works with pdflatex
<xavierm02>but when lyx uses pdflatex, it uses the one from its texlive-union, which doesn't have refstyle, while the one from texlive does
<xavierm02>(that's the normal lyx, not my modified version)
<bavier>was there someone here working on upgrading our idris package?
<rekado_>not me
<rekado_>xavierm02: shouldn’t lyx *prefer* the user’s TeX Live installation over whatever it had at build time?
<ryanprior>What do more experienced people use to test out their packages when they're working on them?
<rekado_>ryanprior: what do you mean by “test out”?
<rekado_>ryanprior: we usually make sure to run the test suite (if included) and then run the application itself.
<rekado_>for the kind of things I’m working on that’s usually sufficient.
<ryanprior>Well, you've got a new package definition you've just created, and you want to discover whether it builds or not.
<ryanprior>I don't mean test the application, I mean test the definition for correctness.
<rekado_>ryanprior: “guix lint”
<rekado_>to figure out if it builds or not we use “guix build”
<rekado_>I don’t use “guix build -f some-file.scm”; instead I work on the Guix sources in a git checkout.
<rekado_>then I use “./pre-inst-env guix build the-package”
<rekado_>once it builds I check for reproducibility with “./pre-inst-env guix build --no-grafts --check -K the-package”
<xavierm02>rekado_ that's what it's suppsoed to do
<xavierm02>lyx has a "reconfigure" button which makes it check for everything
<xavierm02>but it doesnt seem to work
<ryanprior>I get "guix lint: error: ./harvey.scm: unknown package" - know what that's about?
<ryanprior>Oh, guix lint doesn't seem to work with local files
<bgardner>rekado_: Sorry for slow response, one moment on the pam.d question
<lfam>ryanprior: Your next steps will be to set up a Guix development environment, following the steps here:
<lfam>Specifically the "Building from Git" and "Running Guix Before It Is Installed" sections
<lfam>This lets you integrate your package into the Guix source code and test it in a more complete way, including the linter
<rekado_>xavierm02: could you please file this as a bug by sending mail to We should track this and try to fix it.
<rekado_>bgardner: thank you for your help. There’s no rush.
<rekado_>I have this machine with its half-working LDAP support since more than a year now. It’s the machine where I packaged and played with nss-pam-ldapd originally.
<rekado_>I can “su” to my AD account but only when I set LD_LIBRARY_PATH. It’s odd that nscd doesn’t do the right thing here.
<bgardner>rekado_: nscd or nslcd?
<rekado_>…even though nscd has LD_LIBRARY_PATH set to include the pam module.
<rekado_>bgardner: nscd.
<rekado_>all name lookups should go through nscd.
<rekado_>configuring name-service-switch in the config to use “ldap” causes nscd to look up the NSS plugin, which it should find via LD_LIBRARY_PATH.
<bgardner>rekado_: I don't recall installing that yet, unless it came in as a dependency. It did for Debian (I have a mixed environment)
<rekado_>NSCD is always included in Guix System installations as far as I know.
<rekado_>I don’t know whether my /etc/pam.d/su looks suspicious or not. There is only one “password” record: password required sha512 shadow
<bgardner>rekado_: Gotcha. Did you want to see the links in /etc/pam.d or the content of one of them?
<rekado_>I suspect that a “password” record isn’t needed for ldap, because authentication happens off site.
<rekado_>bgardner: I’d like to see /etc/pam.d/su for example.
<rekado_>(the contents)
<rekado_>FWIW this is what my file looks like:
<bgardner>rekado_: Here is mine:
<bgardner>rekado_: Same, no?
<rekado_>yours differs in that elogind is required; but that’s okay
<rekado_>(it’s a headless machine without GUI)
<dongcarl>janneke: Hey janneke! Wondering if you could help me take a look at ? I see that you originally contributed the mingw changes. Also feel free to assign me any review!
<rekado_>very odd.
<rekado_>I think I’ll have to run strace on nscd or modify the service so that it logs more verbosely.
<rekado_>I guess that’s where the problem lies.
<ryanprior>How do I add my package to my local guix git tree so that `./pre-inst-env guix build <package>` can find it?
<ryanprior>I tried putting it in guix/gnu/packages and that didn't work.
<lfam>ryanprior: Did you re-run `make` after adding it?
<ryanprior>Oh nope
<lfam>For new packages you have to add them to 'gnu/' and then run `make`
<lfam>I mean, for new files
<lfam>ryanprior ^
<xavierm02>rekado_ done
<rekado_>thank you
<ryanprior>This all strikes me as kinda fragile, I'm kinda shocked that package definitions aren't just data like files or database entries, that it's all scheme code coupled into the build system.
<ryanprior>Anybody else get that sense or am I being obtuse?
<lfam>ryanprior: "It's all scheme" is one of the design goals of Guix. I don't know enough about the subject to judge it
<xavierm02>ryanprior: There are two phases of scheme execution. The first one generates full package descriptions, and the second one builds
<ryanprior>Like imagine if you had to fork bundler in order to contribute a gem? Or if you had to fork npm in order to contribute a node module?
<xavierm02>you kinda do for npm i think
<xavierm02>having it be code allows stuff like definining a package by "the union of those two other packages" or "this package, but with this thing replaced by that other thing"
<bavier>ryanprior: package definitions interact with other package definitions and guix modules, which are not set in stone enough to be able to separate them
<rekado_>package definitions aren’t just data. A big part of them is (like descriptions, home pages, etc), but for the parts that aren’t it’s really convenient to have a general purpose programming language to work with.
<rekado_>package definitions are written in an embedded domain specific language
<rekado_>so you have the choice of either freezing the API of that language or go with the flow.
<rekado_>the second option works fine for Linux, and it works fine for us as we don’t have to make releases of the DSL and worry about API versioning and all that.
<rekado_>don’t see it as “forking” Guix. It’s contribution to a part that grows together with other parts of Guix.
<rekado_>If you don’t want to contribute to Guix that’s fine as well; you can operate an independent channel.
<rekado_>it’s just that the existence of third party channels won’t keep us from making breaking changes when they benefit Guix.
<rekado_>so the best path to packages that will work with Guix is to contribute them to the package collection that is developed together with the rest of Guix.
<ryanprior>Now that I have harvey.scm in my guix tree, running `make` throws: "ice-9/eval.scm:293:34: no code for module (gnu packages harvey)"
<lfam>ryanprior: The file I gave you removed the part that defined the module. Did you put it back?
*rekado_ –> zzzZ
<ryanprior>lfam: no, but I just put it back and it still gives the same error.
<ryanprior>Let me post my current file
***scs is now known as Guest96681
<lfam>ryanprior: Remove the lines from 12 to 19. Put the '(define-public harvey (package ...))' part back. Add the file to 'gnu/' in the list of package module files. Run `make` and then do `./pre-inst-env guix build harvey` and it should work
<lfam>If you didn't do the whole `make` dance yet, this is how it goes: Do `guix environment guix` to set up an environment for developing Guix. Then do `./bootstrap && ./configure --localstatedir=/var && make`
<lfam>'/var' is the default value for the local state directory and it allows your development Guix to share the store with your installed Guix
<ryanprior>Yep that much I've done (except I didn't do `--localstatedir=/var`, so I guess I'll redo that part)
<lfam>It's a good idea to save time and disk space