IRC channel logs

2019-05-30.log

back to list of logs

<dutchie>/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped
<roptat>dutchie, I don't have any more idea then...
<roptat>maybe unset LC_ALL if it's set
<dutchie>it isn't
<sebboh>Is there a common way to get `guix package -s whatever` to emit one line per match? Something akin to the output of `apt-cache search whatever`...
<dutchie>you can pipe it to `recsel -p name`
<sebboh>no results for `man recsel`, `which recsel`, nor `guix package -s recsel`.
<sebboh>gnu recutils?
<sebboh>recfiles? Is that the format of the output of guix package -s?
<dutchie>yeah, recutils
<sebboh>Thanks. I cautiously accept recutils as the one true structured data format that adheres to the unix philosopgy of composibility via pipes.
<sebboh>s/recutils/recfiles/
<sebboh>ok, I asked guix package to install rust. It appears to be downloading both [...]0lr7c0ff-rustc-1.33.0-src.tar.xz and [...]ksxgi-rustc-1.32.0-src.tar.gz ...Is it actually going to install more than one version of rust or what? Is this something peculiar to that package or something peculiar to guix?
<sebboh>(...Are these patch files, where none are complete in isolation?)
<dutchie> https://www.gnu.org/software/guix/blog/2018/bootstrapping-rust/
<sebboh>ah, just based on the keywords in that url I think I know where this is going. The rust compiler is written in rust eh? :)
<dutchie>indeed :)
<dutchie>Ideally there would be substitutes to save you from having to do all this
<sebboh>Does substitutes mean binaries in this context?
<dutchie>yes, so called because they "substitute" for you building them yourself
<dutchie>I suspect that because the Rust bootstrap is so involved, there are some timeout issues or something on the build server
<sebboh>oh.. hm, my system doesn't seem to have downloaded that whole chain back to mrustc... It must have found a substitute a few links back ... (Ok, at this point I am assuming this thing is quite clever.)
<sebboh>But if the algorithm is simply a recursive find-sub-or-build-locally... then that's exactly clever enough to build *part* of the rust chain described in the blog post.
<sebboh>ok while that is spinning... How does guix get source into itself? I see https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/emacs.scm?id=v1.0.1-114-g0dc8c9088f#n69 .. So, it starts with a tarball with some known hash. Then it applies patches--three of them in this case. ...(There seem to be more patches named emacs-*.patch in /gnu/packages/patches than just three. These are for previous versions of
<sebboh>emacs?)
<sebboh>ok then emacs.scm monkeys with the build. delete some elc files, etc. Fine; expected. This tramp patch goes here instead of in a .patch? Is the patch dynamic or something?
<sebboh>... so. %standard-phases ... Hm. I should do this over again with a different project. Anyway, it looks need. I guess a lot of people are traveling right now and not active in here. See you all later.
<sebboh>s/need/neat/
<b0f0>guix build: error: #<unspecified>: not something we can build
<b0f0>why ?
<str1ngs>I need to add a patch to a series @ guix-patches do I need to send the original patch or can I just email the next patch?
<michaelrose>would the fact that nix has packages for zfs make it relatively easy to set up guix on a zfs root?
<sebboh>michaelrose: the internet tells me that as of 1.0.1, the guix installer can create Btrfs filesystems. (If btrfs does not interest you, please pardon me.)
<michaelrose>btrfs is trash
<michaelrose>no offense to you personally
<sebboh>Ah, yes. As I said, please pardon me. I have seen that response before when somebody brings up btrfs in a zfs conversation. Fine. Maybe I'll feel that way too one day, if zfs appears in a kernel I use. :)
<michaelrose>ZFS very clearly isn't a derivative work of linux and at the same time probably will never be merged with the mainline kernel
<michaelrose>10 years from now btrfs will still suck, redhat will have introduced some multi layered monstrosity brought to you by the same morons who think your desktop should be powered by javascript and crash your entire session if a js addon fails
<ItsMarlin>Imba redhat
<sebboh>I don't know. I know that some major free software projects are successful *because of* (not despite) their hardline stance regarding licensing. This is not my area but I'll take their word for it.
<vagrantc>michaelrose: if you're going to be critical of something, please do try to be constructive and keep the tone in check
<michaelrose>sebboh, I'm not saying freedom and free software aren't important, I think they are, but can you name some? I'm not convinced linux is successful because of its license
<sebboh>coreutils.
<sebboh>grep. emacs.
<sebboh>glibc.
<sebboh>The very ground we walk upon. Stuff so ubuiquitous that we don't think of it much sometimes.
<michaelrose>vagrantc, performance of btrfs is terrible unless you disable cow, then can be upgraded to pretty meh. Features are not as good as zfs. Most importantly random data loss seems to suggest that it spent the decade? of its existence being substantially untrustworthy. It seems like such complex things can expand in scope and features but no degree of work added on to a bad project seems likely to turn something terrible
<michaelrose>into something good
<michaelrose>Its original parent company was oracle which is famous both for how litigious it is and how absolutely horrific the code it ships is
<vagrantc>yeah, it has a remarkably poor reputation, and yet quite some people use it productively.
*vagrantc shrugs
<sebboh>So just to be clear.. you're not interested in btrfs? :)
<michaelrose>windows me was pretty popular
<michaelrose>I cannot find any info whatsover and doing a guix install to zfs I was hoping to discover if this was because this was obviously a ridiculously hard thing for some reason
<michaelrose>I guess I shall just have to experiment
<sebboh>I'm not using it like, anywhere right now. I tried it out and liked some things about it then realized that the way my libvirt qemu whatever VMs kept their disk images was fundamentally not compatible with btrfs, so I switched to ext4 and stopped thinking about it.
<michaelrose>I'm using ext4 on manjaro on this laptop and I love the software selection but ext4 is clearly inferior as is manjaro
<michaelrose>funtoo on zfs is nice but a hassle and the desktop using this configuration is defunct and building on a dual core laptop is suck
<michaelrose>maybe nixos would be a better choice despite the crappy configuration language
<travankor>just wondering, anyone tried guix on guile 3.0 beta?
<brendyn>travankor: pretty sure it wouldn't work
<eric23>Icecat's tor button isn't working correctly. I had to set it manually in Icecat's networking preferences.
<jackhill>michaelrose: perhaps, but please refrain from insults on this channel. I happen to think that the fact that Nix has mutiple implementations (e.g. https://hackage.haskell.org/package/hnix) is neat.
<jackhill>Guix does work as a package manage on the NixOS foreign distro.
<eric23>should I report that emacs freezes when I open neomutt manpage with woman
<rekado_>sneek_: later tell b0f0 about “guix build: error: #<unspecified>”: you probably used “guix build -f” on a file that does not evaluate to a package value. Make sure the last value in the file is a package value, not a definition.
<sneek_>Okay.
<PotentialUser-47>Hello
<rekado_>eric23: yes, please. We can then try to determine if it’s a problem with our build or a problem in Emacs.
<PotentialUser-47>I have a question
<PotentialUser-47>How to install xfce on Guix?
<eric23>PotentialUser-47: I installed gnome using the graphical interface in the installer. I believe xfce was another option
<PotentialUser-47>is it safe to install Guix on my laptop?
*kmicu dissapointed to see so many ad-hominems in the backlog.
<rekado_>yeah, me too.
<efraim>Is guix system vm working for people? Mine keeps getting stuck at creating /etc/machine-id
<Chaekyung>the system vm image I downloaded seems to work fine
*eric23 wonders if there emacs users in #emacs
<eric23>maybe someone here knows how to set up incoming mail
<eric23>in rmail
<Chaekyung>what do you girls think of the ad campaign I decided to run the rest of the week https://linuxreviews.org/ ? too much?
<roptat>hi guix!
<mbakke>civodul: IIRC the Python bootstrap issue can be fixed by a configure flag, I'll have a look at it over the weekend.
<rekado_>I found a little problem in python-on-guile. I hope we can turn this into something usable soon.
<dutchie>is there an equivalent to --with-git-url I can specify in a manifest file?
<str1ngs>dutchie: for guix pull? or for a package?
<dutchie>for a packge
<dutchie>package
<str1ngs>I think the only way to do that with a manifest is to create a package that inherits the orginal
<recj>hi i'm running the installer. i currently have separate /home partition, so can i just install guixsd on / and keep the files if i don't format /home?
<recj>i tried, but when i assign / and /home it goes back to the beginning of installation
<dutchie>str1ngs: hmm, ok, that's a little annoying. maybe i'll open a thread on guix-devel or help-guix or something
<str1ngs>dutchie: how is it annoying?
<dutchie>i dunno, might be nice to have keyword args in specifications->manifest or something like that
<dutchie>(specifications->manifest (list "foo" ("bar" #:with-git-url "bar=https://example.com/bar.git")))
<Gamayun>efraim: I take it you've got kde-connect working? Is it just on wayland?
<efraim>Gamayun: its working for me, I'm using enlightenment on xorg
<str1ngs>dutchie: I can understand it being annoying if you have many packages you need to change the git url for .
<str1ngs>dutchie: also maybe packages->manifest is a better candidate for this? I think specifications->manifest only takes a list of strings?
<efraim>the binary is located at /var/guix/profiles/per-user/efraim/guix-profile/lib/libexec/kdeconnectd for me, I manage it with shepherd for my user
<dutchie>that could well be true
<str1ngs>dutchie: though this inspired a use case I had. http://dpaste.com/0TV7GA6 . and I think the local package scheme could be greatly simplified if url with modified scheme. but my scheme fu is not that good
<str1ngs>url was modified with scheme*
<dutchie>i hadn't used inherit much before, it's fairly straightforward. Can I append two manifests somehow, or do I just have to use packages->manifest for everything?
<dutchie>(i would try in a repl, but packages->manifest doesn't appear to be exported)
<str1ngs>you can use two lists, that append them together. and pass it to packages->manifest. or append in place with cons*
<dutchie>I meant to append (packages->manifest '(...)) and (specifications->manifest '(...))
<str1ngs>good question.
<g_bor[m]>Hello guix
<g_bor[m]>dutchie: iirc we have specification->package, so mapping the specifications->manifest with that, and then concatenating the two list, and then applying packages->manifest would work. Wdyt?
<dutchie>yeah, that'd work if i can't just concatenate the two manifests directly
<dutchie>I'll give it a try in a bit when I've finished some actual work
<Gamayun>efraim: Ah, it didn't occur to me to handle it with shepherd. You have a service definition handy? I do have a process, presumably started by kdeconnect-cli, and my phone picks the device up for pairing, but I get no confirmation on desktop.
<rvgn>Hello Guix!
<rvgn>To use a connected printer (wired or wireless) with my guix system, do I need "cups-pk-helper-service-type" or "cups-service-type" or both?
<efraim>Gamayun: I'll post it in a bit, I'm on my phone ATM
<Gamayun>efraim: Sure, thanks! :)
<zch>Hello, I'm planning on buying a thinkpad t420 with the intention of installing GuixSD on it, but I believe the wifi driver required would be nonfree, so I ask: What USB wifi dongles are well-supported on GuixSD? If anyone uses one, please let me know.
<civodul>hi zch
<civodul>you can take a look at https://www.gnu.org/software/guix/manual/en/html_node/Hardware-Considerations.html
<civodul>i use one from Technoethical
<zch>civodul: Are you in the U.S? How was the shipping? also, is it this?: https://tehnoetic.com/adapters/tehnoetic-wireless-adapter-gnu-linux-libre-tet-n150
<civodul>zch: yes it's this one; i'm in the EU, and shipping worked well
<bavier>zch: I've used a wifi dongle from ThinkPenguin with good success
<civodul>it's not great, probably because it has too small an antenna, but it's ok
<bavier>I've used both the TPE-N150USB and TPE-N150USBL
<zch>bavier: And both work without any non-free software?
<bavier>zch: right. I've used them with the Guix System for quite a while
<zch>I'll order from thinkpenguin then, since they're U.S based. I've never done over-seas shipping before and rather not deal with that.
<zch>thanks bavier, civodul.
<zch>appreciated
<bavier>zch: yw, good luck
<Marlin1113>guys
<Marlin1113>having some issues with a config file
<Marlin1113>do i need a use-module entry in order to use (users)?
<bavier>Marlin1113: s/guys/people/
<bavier>Marlin1113: is this "users" in an operating-system sense?
<Marlin1113>it says (users) is an unbound variable that requires a use-module
<Marlin1113>yes
<Marlin1113>the (users) entry
<bavier>Marlin1113: you need the (gnu) module loaded
<Marlin1113>i have it loaded i guess
<Marlin1113> http://dpaste.com/3WFHJ3J
<Marlin1113>here is the config
<bavier>Marlin1113: looks like a paren-nesting issue
<Marlin1113>wdym?
<bavier>I could be mistaken, but I think your operating-system form closes on line 55
<roptat>Marlin1113, remove one ")" at the end of line 55
<roptat>and add 1 or 2 more ")" at the end of the file
<cyris212>Is there a way to figure out which package provides a certain binary?
<Marlin[m]>okay
<cyris212>(I'm looking for the package that provides tput)
<roptat>cyris212, if you mean a binary that's installed in your system, you can readlink -f it, otherwise, it's not possible, but you can try to search for the binary name (guix search something)
<cyris212>roptat: I see, thx
<roptat>cyris212, it seems to be ncurses
<roptat>(I didn't use any trick to find it, just thought "hey, maybe it's ncurses" and ran "guix build ncurses" to confirm that the result contains a tput binary)
<dongcarl>Hey all, getting a build error here that says `ld: cannot find crt1.o: No such file or directory`, however, I do have `-L/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib` in my gcc invocation
<cyris212>Is there an easy way to start emacs as a service?
<sebboh>cyris212: is it acceptable to do that once, the first time you invoke emacs? Then the daemon keeps running ever after?
<cyris212>sebboh: I was hopping that there is a way through Shepherd
<sebboh>Well I got my first package build failure. How do I find out the cause? I'm 95% sure I ran out of ram... But I'd like to know how to confirm that. I see this line: `View build log at '/var/log/guix/drvs/qj/s2arjmgnx1d64xkxinpc8h3xzn6kl3-rust-1.30.1.drv.bz2'.` ..Ok, that decompresses to 3.5 megs. What am I looking for (with grep)?
<sebboh>cyris212: sure, I figured. I don't know. (I use the EDITOR='' + emacsclient trick. Works locally and doesn't matter what init I have.)
<roptat>sebboh, use bzless on that file, and go to the bottom with G
<roptat>then there should be a backtrace that you can ignore, and an actual error message just above
<sebboh>ah, bzless in addition to zless. noted. Well I have it decompressed now. Yes I see the backtrace..
<roptat>so maybe you can paste the last few lines (maybe 10 or 20) to paste.debian.net for instance?
<roptat>they should contain an error message (something more descriptive than make: *** error 2)
<sebboh>Maybe I just don't recognize the error message before. This is my first encounter with rust. (And I'm doing it on an OS I don't know yet 'cause I'm smrt! :) ) http://dpaste.com/1PXHZ6N (that's the last N lines of the log.)
<sebboh>s/ before//
<roptat>sorry I don't know about rust, and that error message is not very descriptive...
<sebboh>ok, so I did look in the right place. I'll ask some rust folks.
<sebboh>ok, how may I invoke the rust build with a --verbose flag?
<roptat>I don't know... You would have to modify the package description I thin
<roptat>it seems that rust was built at least on hydra, do you have substitutes available?
*roptat need to go afk
<sebboh>roptat: apparently subs aren't available for rust or something? It is in a grueling bootstrap situation..
<sebboh>Is hydra different from ci.guix.gnu.org?
<sebboh>That seems to be the only server my machine talks to during guix package operations. I think.
<vagrantc>hydra is the old(er) build farm, and ci.guix.gnu.org is backed by berlin.guixsd.org
<vagrantc>i'm not sure if both are enabled by default in /etc/guix/acl or not
<b0f0>what web browser serves best in guix / I am using luakit and the cpu & in htop goes to high for my taste.?
<sneek_>Welcome back b0f0, you have 1 message.
<sneek_>b0f0, rekado_ says: about “guix build: error: #<unspecified>”: you probably used “guix build -f” on a file that does not evaluate to a package value. Make sure the last value in the file is a package value, not a definition.
<roptat>sebboh, it's a separate build farm from berlin (ci.guix.gnu.org), so you have to authorize it before you can get substitutes from it
<roptat>see https://www.gnu.org/software/guix/manual/en/html_node/Substitute-Server-Authorization.html#Substitute-Server-Authorization
<roptat>then you can use --substitute-urls='https://hydra.gnu.org https://ci.guix.gnu.org' to use substitutes from both build farms
<sebboh>nice thank you, roptat!
<vagrantc>am i remembering this right ... to build from git ... "guix environment guix"
<vagrantc>followed by ...
<vagrantc>./bootstrap && ./configure --localstatedir=/var && make check
<vagrantc> ??
<vagrantc>or did i miss something?
<efraim>Gamayun: https://bpaste.net/show/74f55ca0888e
<roptat>vagrantc, "make" not "make check"
<roptat>unless you want to run the tests
<vagrantc>roptat: the manual says to run "make check"
<vagrantc>of course, i almost always get a small to moderate amount of test suite failures ... of which i neglect to report and suspect others don't or don't even test
<vagrantc>with commit add5ecfd68784e2e9596402a2bb0533d2fab6458 i'm getting failure to build ...
<sebboh>LFS has a good culture of reporting test results. For each package/version, they name at least the number of failures that you're likely to get.
<vagrantc>is there a command to output the recommended environment variables?
<sebboh>They also have some testsuite reporting mechanism.. posts your logs to some mailing list. ...Or maybe I'm just thinking of one of the GNU packages itself.
<roptat>vagrantc, --search-paths
<vagrantc>ERROR: In procedure scm-error:
<vagrantc>no binding `zip' to hide in module (gnu packages compression)
<roptat>or etc/profile in your profile directory (usually, ~/.guix-config/etc/profile)
<vagrantc> https://paste.debian.net/1085146/
<roptat>vagrantc, is it a fresh source?
<vagrantc>roptat: the SSL variables don't seem to be in /etc/profile, so i guess i need to arrange to export those myself?
<vagrantc>roptat: it's a git checkout that's been used over time
<roptat>yes, although installing nss-certs should be enough to have these variables I think
<roptat>try to run "make clean-go" first
<vagrantc>roptat: i've got nss-certs installed across many reboots and they're not in /etc/profile
<vagrantc>warning: stray .go files: ./gnu/tests/admin.go ./gnu/packages/conkeror.go ./gnu/packages/ldc.go ./guix/build/pul
<vagrantc>l.go ./guix/gcrypt.go ./guix/pk-crypto.go ./guix/hash.go
<vagrantc>hope that won't hurt too much
<Ozymandias42>evening. possibly a faq but I can't seem to find the answer by googling. I need to know how to create symlinks of installed binaries in guix and create certain folders in the system config file. is this easily possible?
<roptat>vagrantc, you can remove these .go files by hand
<roptat>they correspond to files that were compiled in the past, but for which there is no source anymore, so they are actually useless
<vagrantc>roptat: seems to be working better now, thanks!
<roptat>yw
<roptat>"make clean-go" is something I often have to run
<vagrantc>hmmm... sounds like something for the manual to mention
<roptat>Ozymandias42, you mean on guix system?
<Ozymandias42>yep
<roptat>there's a service for that... let me find it in the manual
<Ozymandias42>basically I need /sbin/init to be a symlink to shepherd and /usr and /etc/os-release to exist.
<roptat>special-file or something
<roptat>here: https://www.gnu.org/software/guix/manual/en/html_node/Base-Services.html#Base-Services
<Ozymandias42>I want to build a system.scm file to create a rootfs that can be run in systemd-nspawn or lxd without manually needing to adjust things
<Ozymandias42>thx. but I think I've read through there already?
<roptat>extra-special-file is what you want I think
<Ozymandias42>yep. I already needed to consult it to scrap mingetty in favor of agetty with console for it to work without spamming about missing /dev/ttys
<Ozymandias42>oh! okay. how would I use that to get a symlink to the shepherd binary? the path is generated when it's installed so I can't know the exact path when writing the config
<roptat>so if you want /etc/os-release you could add a service that would be (extra-special-file "/etc/os-release" (plain-file "os-release" "content of your file"))
<roptat>(plain-file is a procedure that produces a file-like object, as explained in https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html#index-file_002dlike-objects)
<roptat>for the shepherd, you need something similar to the example in the manual
<roptat>I think (extra-special-file "/bin/init" (file-append shepherd "/bin/shepherd"))
<Ozymandias42>okay. that's really helpful. seems I didn't read enough and not closely enough. Thx for the fast help! I'll try that right now.
<roptat>I've read the whole manual, so I'm good at pointing people to it now :p
<Ozymandias42>hope I'll get there too with time^^ It took me about a week to get everything I needed out of there to get it to run in systemd-nspawn for the first time. Having never touched scheme before didn't help either :D
<roptat>I totally understand, I've learned guile with guix :)
<efraim>Ozymandias42: here's a service for os-release http://issues.guix.info/issue/34154
<Ozymandias42>perfect! I was just about to write one myself. empty for now but that's awesome
<vagrantc>anyone know of a simple utility that can produce hashes like guix hash?
<vagrantc>without having the whole of guix bootstrapped?
<str1ngs>what algorithm does guix use for it's hash?
*vagrantc thought it was some sha256 variant
<vagrantc>also wonder about how it handles whole directory trees
<str1ngs>maybe you could use sha256sum in some way from coreutils. atleast it can sum single files.
<str1ngs>but I guess Guix does a sum of inputs, for directories it might walk the path and do a sum of all the files.
<kmicu>vagrantc: do you need only base32 sha256 hash of a file or do you want to pass path to a file or dir and get identical hash to what guix gives?
<roptat>for a single file, it's just its sha256 sum
<bavier>coreutil's sha256sum with display a checksum equivalent to 'guix hash --format=hexadecimal'
<bavier>s/with/will
<jonsger>hmpf, this bournish shell in guix grub is a little pain. No wildcards, no less. How can one use it?
<vagrantc>roptat: it's not in any sha256sum i know
<vagrantc>what i want is something i can run on a file or directory where i have my gpg web of trust properly bootstrapped so i can verify signed tarballs, git tags, etc. and then update the guix hashes in the packages on a guix system
<kmicu>There’s nix-hash if guix hash is no-go.
<vagrantc>it's just as unavailable
<Ozymandias42>I don't understand these `use-modules' form errors. It complains about one such error for the special-file-service-type line for the os-release file.
<roptat>vagrantc, it's base32-encoded, but in a special way I think
<vagrantc>1373bf6f30ba9b4404c044fb00c0509cbd851606264803faccbf881b1efb52bc /gnu/store/zbzm29f3vsqllv1xbg18l83ard1j5xp2-guile-ssh-0.11.3.tar.gz
<vagrantc>guix hash /gnu/store/zbzm29f3vsqllv1xbg18l83ard1j5xp2-guile-ssh-0.11.3.tar.gz
<vagrantc>1g2jzcg1p25zrkx06j160qb8bgcwa3001ys4q02496xs61pvywqk
<vagrantc>just looking to simplify my workflow ... now i end up just copying around the tarball, verifying the sha256sum of it locally where i've verified the gpg signature, and then making sure the sha256sum matches, and then run guix hash on it
<nckx>jonsger: GRUB? Has nothing to do with bournish… GRUB has more features :-p I hear there's a replacement on the way but forget what it's called.
<kmicu>vagrantc: that’s base-32 version.
<jonsger>nckx: oke, I have no clue what this bournish thing ist, but I was not able to see all devices under /dev, as I couldn't scroll, nor use wildcards nor less :(
<nckx>jonsger: I've found bournish to be useless, really.
<vagrantc>kmicu: and how to get from that to guix hash without guix?
<nckx>Nobody wants less in an initrd but wildcards are pretty crucial if your only hope of getting a usable system is running /gnu/store/*bash/bin/bash…
<nckx>**.
<civodul>vagrantc: it's sha256 with "nix-base32" encoding, see the help for "guix hash -f"
<kmicu>vagrantc: | base32
<jonsger>The thing is when booting the newly installed Guix system in this vm/cloud thing. It fails to find /dev/sda1, which is pretty strange
<vagrantc>kmicu: that produces an entirely different hash
<bavier>kmicu: not as simple as that
<vagrantc>or if there's a way to pass guix hash to convert between supported/preferred hashes
<Ozymandias42>got it. stupid typo I've overlooked
<nckx>jonsger: It's basically Guile pretending to speak a bit of Bourne…ish sh (hence the name), I think using reader macros, but it's very limited. I'd expect the VT to handle (some) scrolling though.
<kmicu>bavier: why not? base32 from coreutils gives 1g2jzcg1p25zrkx06j160qb8bgcwa3001ys4q02496xs61pvywqk
<mbakke>Is it possible to deploy an arbitrary gexp (not necessarily a package) to a profile via the command line?
<vagrantc>kmicu: i get three lines with capital letters ... so i'm not sure what you mean
<kmicu>Let me double check.
<nckx>kmicu: Because ‘Nix’ uses a different character set from ‘base32’.
*nckx isn't sure if it's as simple as ‘base32 | tr …’, though.
<vagrantc>it is in theory possible to turn a sha256sum into a nix-base32 without having the original data, though?
<kmicu>Yep, Eelco replaced some letters to avoid confusion but that’s trivial step to fix on CLI.
<vagrantc>so in theory ... now if we can just come up with practice :)
<nckx>vagrantc: I meant that literally running ‘tr’ on the output might suffice.
<sisyphe_>hi guix, when I tried to build a package definition which was working some months ago, it failed due to what I think is wrong boost version. How can I freeze the boost version used to build my package ?
<nckx>s/confusion/profanity/ 's what I was told.
<vagrantc>this sounds like more of a research project than i wanted to get into, i'll just keep coping files around, i guess.
*bavier wonders why we don't just use base16-encoded sha256 sums
<Marlin1113>hi guix
<Marlin1113>i'm back
<kmicu>Cuz Nix heritage is still there ;)
<Marlin1113>still having issues on the config. Now the users variable is recognized, but packages isn't
<nckx>bavier: Why?
<nckx>(Just curious.)
<nckx>More characters to say the same thing.
<vagrantc>can you specify the hash to use in a package definition?
<roptat>Marlin1113, can you share what you have now?
<jonsger> https://prnt.sc/nvl3oz so it seems like the /etc/mtab file is corrupt
<bavier>nckx: an additional 12 characters, but then we could avoid the non-standard nix encoding, and be able to verify checksums with coreutils tools
<str1ngs>it would be interesting if Guix could ues IPFS of gnunet hashes. would make distributing substitutes via P2P much easier.
<str1ngs>could use*
<kmicu>vagrantc: if you are a C programmer then you can have your tool in 5 minutes https://github.com/NixOS/nix/blob/master/src/libutil/hash.cc#L72
<str1ngs>IPFS is nice, because it is content addressable . and maybe gnunet could support that in someway as well.
<nckx>vagrantc: Something other than sha256? Or just another representation (cuz' they are ‘standard’ sha256 bytevectors under the hood, nothing Nix-specific.) The latter should be possible, but not out of the box.
<nckx>‘base32’ is just a syntax defined in (guix packages).
<bavier>vagrantc: it would be easy to define a 'base16' syntax that uses the procedures in (guix base16)
<jonsger>is /etc/mtab on Guix system usually empty?
<kmicu>(Ideally there should be no /etc at all only /gnu/store/hash)
<nckx>jonsger: No. /etc/mtab has been ‘deprecated’ since forever, in that it should always just be a symlink to /proc/self/mounts.
<nckx>str1ngs: I don't think tying our checksum format to whatever distribution method is suitable/fashionable/tenable at a given moment is the way forward, but that's since I'm still hoping GNUnet will overtake IPFS some day 😛
<Marlin1113>hey guix
<Marlin1113>how do i setup multiple layouts on the config file?
<nckx>jonsger: If it is empty (are you still in bournish?), it's because literally nothing is mounted. Which might be the case, I guess, if you end up at the REPL.
<jonsger>no, I'm in the rescue system and then /mnt/etc/mtab is empty, but for a reason. But I don't have an idea how to open a file in bournish
<vagrantc>i wanted to know if there was a trivial way to generate a hash on a system without guix/nix with standard utilities out of the box, but it sounds like the answer is no; it requires some work and not important enough for me to look into it further
*kmicu thinks there’s an alternative hash script somewhere in Nix community logs.
<kmicu>(Probably in Perl though x)
*jonsger is kind of lost now, as Guix doesn't mount /dev/sda1, the rescue system (debian) mounts it easily and fsck doesn't see any bad on the disk. And I can't mount custom ISOs :(
<nckx>jonsger: No error messages whatsoever before the bournish prompt? (Shift+PgUp?)
<kmicu>(NixOps supports Hetzner so a fix for Guix System must exist too.)
<jonsger>nckx: GC Warning: pthread_getattr_np or pthread_attr_getstack failed for main thread, GC Warning Couldn't read /proc/stat
<nckx>jonsger: Nah, that's irrelevant (and warnings anyway). I would expect some error about mounting file systems.
<nckx>That's what always precedes my descent into bournish.
<jonsger>nckx: no error message, at least until scrolling stops
*nckx gives up on stringing something together sha256sum, xxd, and tr based on guix/base32.scm. That's where the charsets are, anyway.
<nckx>jonsger: Oh. Odd.
<jonsger>grub only shows (hd0) (hd0,msdos1)
<nckx>But GRUB works fine, rite? I mean, it seems to boot your kernel with a valid initrd, or you wouldn't get a REPL at all.
<jonsger>yes
<nckx>jonsger: Is there anything ‘special’ about your drives? Not plain sata, …?
<jonsger>and the (hd0) is defenitly the system with /gnu/store one it
<jonsger>nckx: it's virtualized, I have no clue what it's excactly...
<kmicu>nckx: geez, that’s a lot of code to convert to base32 representation. (Almost everything from ’12 Ludo). Thank you civodul ʕノ•ᴥ•ʔノ ︵ λ𝛌𝚲𝝀
<nckx>Oh, hm. So it *could* be that you're missing modules to make Linux see /dev/sda at all.
<nckx>kmicu: Well, it's code for both directions, but yes. And here I am futzin' around with pipes like a primitive (and failing, too).
<kmicu>Nix’s C hash code looks shorter. I’m surprised.
*kmicu wonders whether offsets and ! are for optimization or b/c of quick translation from C.
<nckx>kmicu: Not quite, according to science™ (well, cloc): http://dpaste.com/0HWJM92
<nckx>Although it's closer that I expected.
<jgibbons[m]>Arduino has binary blobs. Does anyone know of a project that does to arduino what linux-libre does to linux?
*bavier would also like to know
<nckx>jonsger: Or conversely, Guix could have a *better* module set than your other GNU/Linux, and makes the drives available as /dev/vda instead of /dev/sda. 🤷
<nckx>(Meaning they are somewhat ‘accelerated’.)
<jonsger>no there is now /dev/vda at least not visible in bournish
<ItsMarlin>god
<ItsMarlin>my config is messed up
***nckx is now known as god
<god>ItsMarlin: ☹
<ItsMarlin>Why does it say "service xorg-server" is provided more than once? :(
***god is now known as nckx
<kmicu>jgibbons[m]: could you clarify? Maybe https://www.fsf.org/resources/hw/single-board-computers could help.
<nckx>ItsMarlin: [guess] Are you using %desktop-services and adding a (customised) xorg-service-type to it, instead of replacing the exisiting one?
<ItsMarlin>like slim-service-type?
<ItsMarlin>i am, but i removed gdm service
<jonsger>nckx: the whole experiment costs me 0,05 € :P
<nckx>jonsger: The bastards. Sic your lawyer on 'em. Which platform was this?
<jonsger>hetzner.cloud
<nckx>ItsMarlin: I'm not the one to help you with %desktop-services, really, but could you post your config?
<ItsMarlin>kay
<nckx>jonsger: I've been considering them myself. Good to know that installing Guix isn't the quick job it is elsewhere.
<rekado_>sisyphe_: you would need to create a variant of the boost package and use that instead.
<rekado_>sisyphe_: you can copy the old boost version from an older version of Guix.
*kmicu went to boost some guix toots on fediverse.
<Marlin1113>hey nckx
<Marlin1113> http://dpaste.com/250R4YD
<Marlin1113>here
<jonsger>kmicu: :)
<Ozymandias42>if I want to create an directory when my system.scm is run. shouldn't (mkdir "/usr") be sufficient and why doesn't it work?
<ItsMarlin>so, any ideas about the config saying xorg servicw is mentioned double?
<nckx>Marlin1113: Impatient? :-) All I can say is that your ‘remove’ doesn't actually remove anything, but that's just me mucking about in a REPL. According to the manual, it's correct…
<nckx>(length %desktop-services) → 38
<nckx>(length (remove (lambda (service) (eq? (service-kind service) gdm-service-type)) %desktop-services)) → 38
<nckx>???
<roptat>running the same thing in my "guix repl" returns 37
<nckx>Eh, whut.
<roptat>oh, I'm using remove from (srfi srfi-1) I think
<nckx>Aha!
<nckx>I was using (rnrs lists) from the pasted confy.
<kmicu>bavier: yep, not that simple. My ‘base32’ wasn’t from coreutils afterall. I’m sorry for my naughty behaviour 🙇
<nckx>ItsMarlin: Could you replace (rnrs lists) with (srfi srfi-1) and try again please.
<nckx>It works for me…
<roptat>(rnrs lists)'s remove seems to want an object to remove from the list, instead of a procedure
<Marlin1113>same issue
<Marlin1113>no, it works
<Marlin1113>yay
<Marlin1113>:D
<nckx>\o/
<kmicu>(Those Guile module names (rsfi, rnrs, ice-9, ice-t, srfi, …) must look very strange to newcomers.)
<nckx>Your configuration is now perfect and must never be touched again.
<nckx>kmicu: Yeah.
<nckx>Marlin1113: Out of curiousity, how did you arrive at that ‘wrong’ module?
<Ozymandias42>is there a way to create a folder via system.scm? it did seem simple but what I tried does not work
<Ozymandias42>I mean I could just copy the example that also creates an env symlink and get the folder for free but I'd like to only get the folder.
<nckx>Ozymandias42: As in directory? You'll have to write a service for that, if there isn't one ready-to-use.
<Ozymandias42>yeah as in directory
<roptat>it's a weird requirement... I don't know of any way to do that
<Ozymandias42>I want /usr to exist
<Ozymandias42>nothing more. just exist
<roptat>so you would have to create your own service that would work mostly like the special-file service
<Ozymandias42>so I have to look up how to write services and put that (mkdir "/usr") in there somehow?
<roptat>I think so
<Ozymandias42>why doesn't it work if I just put it above (operating-system) ?
<nckx>Ozymandias42: Yeah. I'm glad roptat suggested the same thing I was going to suggest, which is cargo-cult your own from special-files-service-type 😛
<roptat>:)
<Ozymandias42>cargo-cult?
<Ozymandias42>I have literally never touched scheme before and find the docs incredibly hard to read at times
<roptat> https://en.wikipedia.org/wiki/Cargo_cult
<nckx> https://en.wikipedia.org/wiki/Cargo_cult_programming
<nckx>Oh.
<nckx>Now with 47% more suffix.
<roptat>:)
<nckx>Ozymandias42: I have been there, oh pharao, and totes agree.
<Ozymandias42>not sure how to take that now. I do understand why I need /usr. What I don't understand is why it needs to be a service that will be run every time the system boots when once is enough
<roptat>Ozymandias42, I don't know, I was thinking that (mkdir "/usr") would just work
<Ozymandias42>strangely enough it complains about /etc/config-cli.scm already existing. that's my .scm file btw. and it has nothing to do with (mkdir "/usr") so no idea why that error pops up when I add it above operating-system
<roptat>if your use-case allows it, you could also just run the mkdir command in your system after your first boot
<Ozymandias42>that is exactly what I cannot do
<nckx>Ozymandias42: Big-picture: because Guix is not intended to trust random system state. It prefers to ensure it, in this case by running mkdir every time. Littler-picture: I too do not know why mkdir doesn't work. I don't know in which environment the file is first evaluated.
<Ozymandias42>it will not "boot" in systemd-nspawn without both /etc/os-release and /usr existing
*nckx → 😴
<roptat>I wonder if that (mkdir "/usr") is being evaluated outside of the target system, so it actually creates a /usr directory somewhere else
<Ozymandias42>manually creating usr is really no problem but it's one unnecessary extra step. another step would later be to refine the /sbin/init symlink that lxd requires (and systemd-nspawn can optionally make use of too) to not be a symlink to a script that also includes the --config /path/to/shepherd.conf part
<roptat>your current system probably already has a /usr, so that's maybe the error you get?
<Ozymandias42>..that might be. I'll try removing it and re-running guix system reconfigure to test it
<roptat>how do you use that config?
<jgibbons[m]><kmicu "jgibbons: could you clarify? May"> I would love to develop arduino sketches on guixsd but the source at https://github.com/arduino/Arduino/ has blo
<roptat>are you installing guix in its own directory?
<Ozymandias42>while in the vm with guix system reconfigure on other distros with init instead.
<Ozymandias42>it worked btw. removing /usr prior to running the command I mean
<roptat>mh... ok so that was the cause of the error message
<roptat>did (mkdir "/usr") create the directory as intended?
<Ozymandias42>I actually really like that .scm config system even if it's hard to get used too.
<Ozymandias42>one thing that get's in the way of outputting just the rootfs though is that kernel and initrd are required in it even if used with the container or init command instead of reconfigure
<Ozymandias42>it's one of the reasons I run a vm in the first place. it guarantees me an really completely setup base rootfs-tree that I can then simply copy and use in a container.
<jgibbons[m]><jgibbons[m] "I would love to develop arduino "> *blobs: pre-built jars, windows binaries, even hex files. Since guixsd is a free distro it must be conscious of such matters. It uses linux-libre because linux-libre gets rid of blobs. Is there a project to do that to the arduino ide?
<sisyphe_>@rekado_: thanks, I initially thought there was an other way to use an old package version but that will do
*roptat needs to sleep
<roptat>good night, see you tomorrow :)
<Ozymandias42>gn8 rotpat and thx for your help!
<kmicu>jgibbons[m]: I’m afraid there’s no equivalent of libre-linux for arduino-ide. (We can use Emacs for Arduino development though ;)
<sisyphe_>sisyphe
<sebboh>I hear that the emacs wiki has some pages about arduino dev via emails and some arduino-specific free-software utilities.
<sebboh>I tried `guix refresh` and got "X.509 certificate of 'web.cvs.savannah.gnu.org' could not be verified:"
<ItsMarlin>is gnome still a gnu project?
<ItsMarlin>some dudes saying it is, but afaik it isn't
<ItsMarlin>it's not even hosted on gnu.org
<bavier>ItsMarlin: there are several gnu projects not hosted on gnu.org
<ItsMarlin>I thought that official gnu packages were hosted on gnu.org
<kmicu>Like GNU Image Manipulation Program?
<ItsMarlin>also, gnome endorses so much proprietary stuff nowadays