<shcv>filesystem sniffing doesn't seem like it would be that bad, but ZFS manages the file systems through separate userland tools; I'm not really sure how that would integrate with normal "mount" <shcv>e.g. pool import / export <shcv>I'm accustomed to loading a ZFS root filesystem via kernel parameters "dozfs root=pool/rootfs" or similar <nckx>It's not the same, but we support multi-device btrfs file systems with (at least used to) require user-space help. <nckx>It's certainly possible to include dozfs in the initrd and call it from Guile. *nckx hobbled by their complete lack of ZFS knowledge. I used it as my FreeBSD root partition but never any of the fancy features. It might as well have been a UFS 3. <apteryx>is the 20.0.X mesa a "LTS" variant compared to 20.1.X? <apteryx>I'm wondering whether it can be bumped to 20.1.8 on cu <nckx>apteryx: Users of 20.0 are encouraged to migrate to the 20.1 series in order to obtain future fixes. <bn_work>hi, is there really no search feature when searching for packages via the website?? <bn_work>nckx: thanks! any ideas on when Apache Cassandra + Zookeeper + Kafka might get added? <bn_work>and what does it take? can one just upload a package from each of the major Linux distros/flavors? <nckx>When somebody needs them, does the work to package them, and submits a patch to guix-patches at gnu.org 🙂 There's no ‘let's package X now’ team. <nckx>If you're familiar with ebuilds or PKGBUILDS: it's kind of like that. <nckx>Or Nix expressions of course. <nckx>But unlike Nix, we don't accept ‘download random zip file with jars/binaries and extract it, done’-style packages. Ours are built from source. <nckx>Java stuff like Cassandra is generally hard to actually build from source ☹ <bn_work>well, they use different build processes/tools, ex: ant, maven, ivy, etc. <shcv>yeah; it's amazing how hard it can be to build some things... <nckx>Oh, Nix doesn't even try, they just download random binaries. A bad sign... <bn_work>and they get packaged down to .jar files for execution in the JVM <Brendan[m]2>are they really not trying or are just using that temporarily until someone eventually does the work? <bn_work>so GUIX is really a source-based package management system? <nckx>I don't think so, but I don't understand the difference. <bn_work>are there java-based apps in GUIX package DB currently? <nckx>The package manager has nothing to do with it, we just have standards. <bn_work>nckx: well, you said GUIX requires source and doesn't like "download random zip file with jars/binaries and extract it, done" :) <nckx>Oops, no search term in URL, OK. <nckx>I just searched for ‘java’ ☝ <bn_work>nckx: VS binary-based would be artifacts that have already been precompiled <bn_work>which obviously saves time but may not be optimized for my exact platform <nckx>bn_work: Guix can do that just fine; there's nothing stopping you from writing a Guix package expression that downloads apache-cassandra-3.11-bin.tar.gz, extracts it to the store (wrapping the pre-compiled binaries so they work, like Nix does). But it wouldn't be accepted into our collection. <nckx>bn_work: In our case it's not about optimization (which is negligible to nonexistent, sorry Gentooheads) but about trust, hackability, and ‘practical’ software freedom: you can actually build the stuff, not just take someone's word for it while you download their blob. <bn_work>why do you need to wrap the pre-compiled binaries? <bn_work>yes, freedom is good but it takes time so when one is installing, so it's nice to have a binary option too <nckx>There is no global library (or binary or most other) directory in Guix or Nix; everything gets its own hard-to-guess subdirectory of /gnu/store. <nckx>bn_work: Our build farm builds all packages. Guix will transparently download all available binaries if you allow it. But they are built from source just the same. <Brendan[m]2>bn_work that is a different binary. guix downloads build binaries of packages defined from source via the substitutes server <Brendan[m]2>if a prebuilt binary is not available, it will automatically start building from source. <bn_work>so basically you'd prefer if java-based apps had each dependency packaged from scratch? <Brendan[m]2>bn_work Yeah, basically Guix is build on top of a small bootstrap of tools, like a small C compiler and guile and some other things. From that GCC is compiled and then all C programs can be compiled from source. When Another language is added, preferably we'd first ad a compiler from C for the compiler written in that language. For example Rust starts with mrustc, a compiler in C++ <Brendan[m]2>bn_work this is just about being meticulous and doing things properly. I think it would be fine to create a guix repository for such things build from bundles, but just temporarily until they are properly bootstrapped <roptat>bn_work, it took us 4 or 5 years to even get a maven build system :/ <bn_work>Brendan[m]2: I'm not knocking you from building from source <bn_work>just trying to understand how it works <Brendan[m]2>bn_work I have Nix also on my GuixSD system for installing signal-desktop <roptat>it's all about bootstrapping. We want to have actual freedom and be sure what we run corresponds to the source code it claims to come from <nalaginrut>it it possible to install guix package to a specified local directory? <bn_work>roptat: has that really been an issue though? <Brendan[m]2>nalaginrut the files are always in the store, however you could create a new profile that "installed" the packages via linking to a certain place <roptat>yeah, if you look at other package managers (esp. language package managers, like npm, pypi, etc), you'll find examples of malware that were uploaded as binaries <nalaginrut>Brendan[m]2: could you point me out the section in the doc? <roptat>nalaginrut, you can change the store's directory (change /gnu/store to something else), but you'll not be able to download substitutes anymore. But maybe you're talking about creating a new profile? there's "guix install blah -p /some/directory" <nalaginrut>there're many terms in guix, I even don't make it clear what is what <roptat>bn_work, but if nobody checks, how would you know? if you only get binaries, and never build them, how does anyone knows? <nalaginrut>roptat: I want to keep the default /gnu/store, but I want to use guix as a pkg-manager for my project either <nalaginrut>so I want to install specific packages to another place, like what npm does <roptat>so, you can use profiles, or environments (which are short-lived) <Brendan[m]2>Are there any notable differences in the way PAM configurations differ in Guix compared to other distributions? I tried copying a config from Arch but ended up with pam_acct_mgmt PERM_DENIED <bn_work>roptat: I thought pypi is all python source? <bn_work>how do you guys/GUIX handle all the distro differences? <Brendan[m]2>bn_work There are "build-systems" which include phases that make systematic modifications when building a package. For example there is a patch-shebags phase which looks for all instances of #!/bin/bash in scripts and converts them to absolute paths into the /gnu/store/... <bn_work>roptat: eh, bitcoin is a magnet for all sorts of malware entrypoints. PS: very cool GFX BTW! I wonder what he used? <nckx>Some standard Macintosh tool. <roptat>bn_work, what do you mean by "distro differences"? <roptat>do you mean "make vs maven vs setup.py" or "ubuntu vs arch vs gentoo"? <roptat>if the former, what Brendan[m]2 said. if the later, we just don't produce package for their package managers <roptat>everything in guix is independent from any other distro (it's all in separate directories, like /gnu/store, /var/guix, etc) and doesn't interfere with them <roptat>this comes at the cost of having to install its own dependencies (like the glibc that almost every package depends on) even though a version of it could be available in the host distro <bn_work>every distro has slightly different standards/conventions/installation locations and tools for managing x,y,z <roptat>we just don't care, all we need is a compatible kernel <roptat>I even installed guix on my Android ^^ <roptat>if you run "guix install hello" on a foreign distro, it installs hello and all of its dependencies in /gnu/store. the binaries are set so they can only find their libraries in the store too <roptat>so whatever your distro uses, guix binaries will just ignore them <roptat>that way we can ensure the binaries work exactly the same between distros, even though the distro might have different conventions or versions of libraries <roptat>no, but we don't allow non free software in our official repositories <roptat>you could create a package for a non free software, but that will not be accepted in our repo <roptat>Guix is about the freedom, even the freedom of packaging non free software, we just don't want to promote them or work for them, because that's against our ethics <roptat>but you could use all the tooling Guix provides to build your own packages, then we don't care if it's free or not :) <roptat>building from source, bootstrapping everything, making sure it's reproducible... is about the standard we have to accept packages in the official distribution, but guix itself (as a tool) will not limit you to that standard, you can make dirty packages from binaries if you want, and even distribute them on your own channel <ryanprior>A package I'm working on has a 6.2mb closure if I build a static binary and an 80mb closure if I let it link to dynamic libs. Is it reasonable to prefer the static build? <nckx>Probably not. Unless you're not planning to upstream this, in which case prefer what you like. ***catonano_ is now known as catonano
<bn_work>roptat: yeah, I was wondering along those lines. Interestingly enough, I was just having a discussion in another distro's channel about how when older releases of a distro become "unsupported" all of a sudden their package manager cease to function, ex: apt in Ubuntu (unless you update all the URLs to `archive` or so). To me, this is dangerous, I want to know that if I install a package I can always go a back and <bn_work>re-install even if the OS release goes "out-of-support" <nckx>Static builds sneak around grafts and are generally questionable outside of an initrd where size actually matters. <bn_work>the other thing, which I guess that video touched on, is I wonder if all these package management systems inevitably evolve into "dependency hell" <bn_work>I like the idea of a universal package manager for all *NIX (I'm assuming GUIX package isn't available for Windows? :) ) <nckx>glibc is currently a hard dependency. <bn_work>mainly because I'm not a big fan of Docker as they "cheat" to claim their "universal compatibility" <bn_work>ex: on Windows, they basically run everything in a Linux HyperV VM <nckx>(It's just ‘Guix’ by the way; it does not stand for GNU's Universal Installation eXpert.) <bn_work>which begs the question: why even run Windows? lol <ryanprior>Homebrew gives Windows, Mac, GNU/Linux hackers all a consistent interface to a large package ecosystem. That's very cool & I hold out hope that Guix could do the same, because Guix knows cool tricks that Homebrew does not. <nckx>Never heard of that programme; thanks. <ryanprior>I would not be disappointed if that required a "cheat" like Docker uses. Cheat to win =D <ryanprior>Brendan: I love that phrase, is that off the dome? <ryanprior>bn_work: it is not an acronym and afaik never was, just sounds cool. <bn_work>ryanprior: brew runs on Windows now? <ryanprior>bn_work: since Feb 2019 (Homebrew 2.0) Windows is officially supported *raghavgururajan peeps in <bn_work>ryanprior: I'm not a big fan of brew because by default it forces an update of all formula EVERY. time. you. run. brew. 😬 <ryanprior>Right, they call their substitutes "bottles" <ryanprior>They also support channels, which they call "casks" <bn_work>ryanprior: the main dev had a pretty hostile attitude to a bug reported that complained brew broke one's python install <nckx>Yeah, I'm just ignoring the cutesy names. <nckx>SourceMage did it better. <bn_work>ryanprior: looks like they're brewing $$$ in their eyes :) <ryanprior>The question of how to package Python is a highly contentious one. The Python community is nowhere near consensus; indeed, inventing new Python package systems has been a popular hobby lately. <bn_work>I prefer fink (for Mac OSX), it's been around for longer... even though it's not as popular now and all in perl. <ryanprior>A breaking change to the most popular Python package manager (pip) is coming in October and there will be much wailing and gnashing of teeth. <bn_work>unfortunately some packages are not in there, so I've resorted to using both now, but with brew... caveat emptor! <roptat>speaking of python, I found out that our python was ~2 times slower than a python from ubuntu <bn_work>I was thinking of going with Anaconda, which claims to package "anything" *raghavgururajan peeps out <nckx>raghavgururajan: Waiting for some{thing,one}? <roptat>from what I heard, anaconda makes a lot of unspecified assumptions about your system <roptat>I have similar problems with opam, where packages can use binaries from the host system, so some of them will try to use cc, whatever that links to, or use libraries from the system, and it's hard to control properly <ryanprior>Anaconda kinda manhandles your system. It's a beast, but invaluable for many workflows. <roptat>it makes it hard to have reproducible builds <ryanprior>Pain with Anaconda is one of the motivating factors in various universities funding Guix <roptat>wait, who funds Guix? I need that money ^^ <bn_work>it has some weird idiosyncrasies too which make me nervous, ex: <bn_work>> `environment location: /anaconda3/conda-bld/foo_1596603120855/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac` <bn_work>... is completely normal during the build process :joy: <ryanprior>I think Ludovic and Ricardo both get compensated for their maintenance work, and we've got a few Google-sponsored interns as well. Maybe some sponsored by Software Conservancy as well. <roptat>ok, I was hoping "various" meant more than two :) <roptat>also, the MDC and Inria are not universities <ryanprior>Oh please disregard then, I must have assumed ^^ <bn_work>are builds truly reproducible if they are compiled all from scratch? even things like Make make assumptions depending on the toolset and platform you are on, no? <roptat>they're research institutes, so you're very close still :) <roptat>bn_work, not necessarily, but we try very hard <ryanprior>bn_work: they are not guaranteed to be reproducible, but in practice they often are, and we have built automated tools to check for that. (But not prove it.) <roptat>I don't know what make does, but since we fully control the environment, there's no issue with it <nckx>bn_work: The toolset itself is reproducible (builds have access only to their ‘inputs’, not the system), few packages care about the platform if you mean the kernel. The few that do get patched or otherwise convinced not to try. <roptat>we have some tools to check for that: guix build --check (to rebuild on your machine) or guix challenge to compare local builds and builds from any number of build farms <bn_work>I mean like h/w diffs like little endian, big endian, floating point precision, etc. <roptat>that's the architecture, and we have different packages for each architecture <bn_work>when you start examining mem dumps that stuff starts to become relevant <roptat>we don't try to have binary reproducibility between arm and i686 :p <bn_work>ok, so different archs are reproducible within itself <nckx>You can't have two different identical files. <nckx>The aarch64 binary will never be indentical to the x86 one. <roptat>but a package built on the build farm for i686 or on your machine will be identical, except for a small portion of packages <bn_work>I mean it's a noble goal, I wonder how many bugs in the world are closed due to issues like this <bn_work>and if true reproducibility were achieved, how much it would cut down on mystery bug creep <nckx>bn_work: I'm confused. What did you expect ‘reproducibility’ to mean, then? <roptat>if you have reproducibility of the software and the environment, it's a lot easier to reproduce a bug, so I'd say indirectly, it could help with any bug :) <bn_work>roptat: assuming both machines are the same i686 h/w? <ryanprior>That would be a hell of a compilation target for Guix ^^ <roptat>assuming they have the same architecture of course <bn_work>nckx: given input always yields identical output? <roptat>but not necessarily the same hardware exactly <nckx>bn_work: OK. That's Guix's definition too. Over 90% of packages are reproducible, the rest just need to be fixed. <roptat>bn_work, also, in most cases, the non reproducibility is caused by a timestamp or filesystem ordering, and it's relatively easy to fix <nckx>bn_work: Assuming both machines are any (sane) i686 hardware. <nckx>If one machine is little endian and one isn't, or if one is aarch64 and the other x86, none of the inputs (=software packages) apart from the package's own source code will be the same, so neither will the output. <nckx>Or in English: on one the output will be an aarch64 binary, on the other, an x86 executable 😉 <bn_work>ryanprior: woah, Cosmo is pretty interesting... I assume that's strictly reserved for C development though? or could java be transpiled (?) to C? :) <roptat>technically, jvm bytecode runs on any system where a jvm is installed, so you don't really need that <roptat>but you could probably use it to build the C and C++ parts of the JVM? <bn_work>roptat: but you have to install JRE/JDK to get the JVM <apteryx>does 'guix refresh gnutls' seem to hang for someone else? <roptat>bn_work, yes, but you could build it <roptat>we have found a way to build the JDK from source, from gcc <bn_work>roptat: I thought you just said only parts can be built? <roptat>no, you build the parts that are written in C/C++ and use them to build the rest of the java platform <bn_work>I guess Java did start from C under the hood <bn_work>roptat: so what is the resulting binary? is it the same size? ie: a 200MB blob tacked on? :) <bn_work>I was just curious what a java app compiled via a JVM compiled via Cosmo would look like <apteryx>nckx: I'm trying to understand this comment of yours/grafts: ;; XXX Unversion openconnect's "gnutls" input when ungrafting. <apteryx>given gnutls is replaced (grafted) to 3.6.14 currently, can openconnect gnutls package be referred simply as ,gnutls ? <roptat>bn_work, a java app compiled via a Cosmo JVM would look exactly the same as the same app build with any other JVM, it would be JVM bytecode <roptat>probably identical too, unless there's a bug is cosmo or the compiler <nckx>apteryx: No, that has to wait until gnutls is ungrafted, i.e., core-updates is merged. <ryanprior>Cosmopolitan is intended to enable other ecosystems like c's to reach similar levels of run-anywhere ease, without needing any runtime like the JVM at all <ryanprior>So sure you could certainly compile a runtime (like the JVM, Guile, Python) using Cosmopolitan and distribute it to all platforms. <nckx>apteryx: Openconnect needs to build against the new gnutls or you'll get (hopefully!) an error. <roptat>also, regarding guix on windows: PE doesn't support RPATH like elf, so that's going to be difficult <ryanprior>But the point is, now you have the option of getting rid of the runtime without throwing out the run-anywhere convenience :) <roptat>apteryx, yes, it hangs there too <apteryx>seems it has to do with the graft on gnutls <roptat>apteryx, no, running strace on it, it seems to be hanging when giving some FTP command <roptat>[pid 4822] read(15, "250-More information on GnuTLS c"..., 4096) = 105 <nckx>apteryx: Well, a work-around could be to pass openconnect the old gnutls and simply patch out their test since we ‘know’ it'll be grafted, but that's icky. It also doesn't fix the real bug. <roptat>[pid 4822] write(15, "PASV\r\n", 6) = 6 <apteryx>nckx: ah, the problem is that the grafted gnutls version remains stuck at 3.6.12... I see. <apteryx>Can't we bump it to reflect the version of the graft? <roptat>that would change the package, and cause a world rebuild <nckx>The point of grafts is that you *build* with a vulnerable version, then swap in a patched (ABI-compatible) version later on. <nckx>Works fine unless a package (not unreasonably) does a build-time check for broken versions. <nckx>I'm sure my one-line comment in gnutls makes sense only to me. Most things I say do. Feel free to elongate it. <Brendan[m]2>The Perfect Setup describes how to setup Emacs for just one workspace, but if I'm using git workspaces, guix-load-path, geiser-guile-load-path etc are constant and do not change with the current project/workspace. if I switch to a core-updates workspace and try run-geiser and building something it will load from the wrong place. Is there a way to setup seemless hacking of multiple workspaces? <apteryx>Brendan[m]2: you'd need some home made lisp function to call that sets the geiser-guile-load-path and perhaps guix-directory (if using emacs-guix). <apteryx>or better yet, use directory variable that would automate this based on which project directory you're working from. <bdju>I just built icecat yesterday and now today's update has me doing it again... not my idea of a good time <bdju>any estimates on when there'll be a substitute for it? <apteryx>Brendan[m]2: see info '(emacs) Directory Variables' <apteryx>actually, let's solve this together, I'm tired of that too. <Brendan[m]2>I was thinking of cooking some kangaroo first since im hungry <nckx>bdju: Not any time soon, since berlin is idly choking on the big garbage collector lock. <Brendan[m]2>btw im on Doom Emacs. I also have started a project to entegrate that with guix, starting with straight.el Currently Dooms scheme extension conflicts with guix.el so i have that disabled unfortunately <apteryx>ah, was this the bug about Doom not playing well with our use of EMACSLOADPATH? <Brendan[m]2>looks like the guix project has its own .dir-locals.el <Brendan[m]2>probably different ill try get the error messages again ***terpri_ is now known as terpri
<bn_work>how is Guix bootstrapped? do you start with a formatted HD, hex0, and some formula? <nckx>bdju: But I get substitutes for IceCat just fine? <nckx>Guix e06eeaa4caa6181dc9f13e3f75b1d762669801b8. <bdju>I just did a pull like a couple minutes before posting hm <bdju>yeah I have that same hash <bdju>insane... it really is downloading it now <bdju>I wonder if I was just a hair too early <nckx>bdju: ci.guix is a bit weird. If you were one of the first to try, it would have denied your request whilst lzip-compressing (‘baking’) the data. After compression is complete, tasty substitutes are served to all. <Brendan[m]2>I painstakingly crafted a script using guix environment --pure to reproduce and isolate the bug... and then the bug goes away....... <nckx>guix build: error: all build users are currently in use; consider creating additional users and adding them to the `guixbuild' group <nckx>I thought that was fixed... <bdju>icecat is working again after my first reboot in 60+ days, so that's nice. pages load again <bdju>although I'd grown rather fond of qutebrowser by now. maybe I'll use a bit of both <xelxebar>bdju: If you like qutebrowser, you might also like nyxt <xelxebar>The latter is implemented in common lisp (sbcl) and is massively configurable. <xelxebar>I've used a whole range of minor browsers---uzbl, luakit, qutebrowser, etc.---and so far I've found nyxt to be the nicest for some combination of configurability, usability, and features. <apteryx>it knows to set the guix-directory variable to the root of the project, as long as you have that in the .dir-locals.el file of all of your guix checkouts. <Brendan[m]2>apteryx how does guix-directory differ from guix-load-path, guix-load-compiled-path and geiser-guile-load-path <apteryx>it just affects which packages are discovered by emacs-guix <Brendan[m]2>one thought is that this is all embeded in the guix git repo. if one switches to a different branch without this .dir-locals.el they'll be back to square one <apteryx>ideally this .dir-locals.el changes could find their way into Guix proper so you never need to be bothered with it <apteryx>OK, I got something for the geiser-guile-load-path. It's a bit more convoluted than I'd like. <apteryx>it needs to use the with-eval-after-load to not choke on undefined symbol, but after that bit is eval'd, it seems to stick around and run every time geiser-guile is loaded (M-x run-geiser). <apteryx>so we must clean the load-pah manually to prevent older entries from appearing at its start. ***iyzsong-- is now known as iyzsong-w
<apteryx>any directory containing "/guix" gets cleared from the load-path. That works well for my layout (~/src/guix, ~/src/guix-core-updates, etc.). <guix-vits>The extra-options is a field of agetty-service-type. *raghavgururajan packaged the latest version of Gajim and it looks so good :-D <elxbarbosa>hi, how can I fix the error [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] <apteryx>did you build them using GCC from the 'gcc-toolchain' ? <elxbarbosa>st: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=eea9173720220b1f4209a33ec63d5b8da3ad7a85, for GNU/Linux 3.2.0, not stripped <Brendan[m]2>Is there a libre software friendly system for making bug bounties and putting money on them? <raghavgururajan>Running an application inside --pure env, still uses my $HOME dir. How can I prevent it? <janneke>it is probably finding your $HOME through the environmnt, any of: set | grep =/home <janneke>raghavgururajan: it's a shell command that shows the environment variables that points to your home? <efraim>I normally use env, never seen set before <raghavgururajan>janneke: Ah, I use env. Anyway, is there a way to change that within pure-env? <efraim>I'd guess there's something that shouldn't be there in .bashrc or something <raghavgururajan>The applications I run inside pure-env are of different versions of applications that are in my user profile. So the applicatons I run inside pure-env, over-writes dot files. <bdju>xelxebar: I've got nyxt installed, but I still haven't used it much. it does seem very promising <g_bor[m]>I think it is time to review the Outreachy proposals for this round, and if anyone has to add anything, then please do. <g_bor[m]>1. Improve guix time machine, so that it is easier to find the commit where a given package version was available <dannym>raghavgururajan: I'd suggest to create a new user for these applications; everything else is a weird workaround. There's nothing that says that one human can have only one user <dannym>raghavgururajan: If you want weird workaround: guix environment -C *while you are in an empty directory* (so definitely not the homedir) would also work <g_bor[m]>Here are the comentor links for the proposals: *raghavgururajan has taken Zopiclone and may go out of consious soon <g_bor[m]>raghavgururajan: The idea is great, and came up multiple times. <g_bor[m]>I believe we have not enough time to make a good proposal for this round, but would be worth to note it on the ideas page. <efraim>does anyone have a snippet for icecat to open 'mailto' in mutt? <g_bor[m]>There is also a proposal from the previous two rounds, the guile netlink bindings. <raghavgururajan>dannym: Before I fell asleep, I thought you'll proably ask why all inputs in gajim-next are propagated. Once the typelib-wrap change in glib-gtk build-system at wip-desktop is merged to master, we can toggle the propagated-inputs to just inputs. <g_bor[m]>I was thinking about it, maybe we should reduce the scope to write a good epoll binding first. <g_bor[m]>In its current form it might be too much for an internship. <raghavgururajan>.me shou;d nor have talkenm the [ill so soon. gonna missin g inetreszgtinf conversationb <xelxebar>efraim: Regarding env and set, the former only shows/manipulates exported variables; it's an external command provided by coreutils. The latter is a shell builtin and will show all variables (and functions) defined in the current shell. <xelxebar>Also, set lets you munge shell attributes (like set -o errexit, set -o noclobber, etc.) as well as the shell position parameters (i.e. the arguments provided to the shell invocation). <xelxebar>Just for posterity, you can read all about set by invoking the bash help builtin: help set. ***iyzsong-- is now known as iyzsong-w
<efraim>Brendan[m]2: it's like string-append, but it takes a package [and optional output] instead of a string ***apteryx is now known as Guest29172
***apteryx_ is now known as apteryx
*raghavgururajan has ni enerty to repory and being semi-comdious. Other splease reportk.. <Brendan[m]2>efraim it seems to return a record type, not a string <rekado_>Brendan[m]2: it’s for use in G-exprs. <Brendan[m]2>ive seen it used in service definitions so i was trying to copy it to make paths <guix-vits>Worse thing about that spam, is that it isn't a GPL! No share, no copy, no midify! :) <Brendan[m]2>yes the fact the site wont work without all that javascript is kinda silly to post here ***iyzsong-- is now known as iyzsong-w
<guix-vits>g_bor[m]: I'm not an "underrepresented one" (there is enough baboos in IT), but have an proposal: the inferiors to expose not only the packages, but also variables. So one can use inferiors to, say (equal? %base-services inferiors-base-services), or so. <sneek>civodul, you have 1 message! <sneek>civodul, efraim says: fixing glibc 2.32 it turns out is easier than forcing 2.30 <Brendan[m]2>So..., I can use file-append in the (default ...) bit of a record type for a configuration, but if i create a modified configuration, the returns a configuration with a modified new field, I can't use file-append there. I don't really understand how the first instance ends up as builder side code <efraim>I ended up pushing another fix-it commit to core-updates and now I have working bootstrap binaries for powerpc-linux <efraim>still have to send a bug report upstream. <efraim>it really just leaves the allowed-references in binutils-final to figure out <Brendan[m]2>awesome, i just made use of #~ and #$ and it seems to be the right solution! <roelj>rekado_: I've built RStudio with Boost.Signals2 (so that it builds with later versions of Boost). <rekado_>roelj: did you also build with the new qtwebengine? <rekado_>I’d very much like to offer a new version of RStudio in the guix-bimsb channel <roelj>rekado_: The one that's in yesterday's "latest" Guix.. <rekado_>(I’m on parental leave, though, and work on RStudio smells awfully like real work.) <rekado_>can you share your package definition? Or send a patch for guix-bimsb, perhaps? <PurpleSym>And unbundling these is hard, because they essentially forked GWT and apply custom patches. <roelj>Interesting to see so many variants of rstudio :) <roelj>We should upstream at least one! ;) <PurpleSym>Would be nice, yes. But getting it into shape for guix-proper is not going to happen without some *massive* efforts. <roelj>Like unbundling the dependencies stated above? <PurpleSym>Afaik civodul suggested creating a shared channel for common scientific software a while ago. <PurpleSym>roelj: Yeah, not just these, but hidden inside the source tree are so many vendored libraries + precompiled JavaScript. <civodul>PurpleSym: yeah i think it'd be nice to have a channel for things like rstudio <civodul>it's free software, but very hard to build entirely from source due to JS <PurpleSym>Well, we’re using it in a product, which is funded for a few years, so I have to maintain the RStudio package anyway. <PurpleSym>Or do you suggest creating a channel specifically for RStudio, civodul ? <civodul>PurpleSym: ah no, not just for RStudio <civodul>i guess all i'm saying is that we should share efforts a bit better :-) <civodul>not sure what the right approach is concretely <civodul>it could be dubbing one of your channels as "the one" for this kind of big packages <civodul>and keeping topical/institutional packages for niche things <PurpleSym>Sure, I’m open to that. I can also move Jupyter/RStudio to a separate channel without branding. Like, guix-science in a different GitHub org or something like that. <roelj>PurpleSym: We seem to have quite some overlap; we also packages JupyterLab.. <civodul>i guess the three of you have to agree on a strategy because you have the big channels in this area <civodul>the one we have at work (guix-hpc) is more of a niche <efraim>I tried to package jupyterhub last year or so <rekado_>the gwt / gin stuff is needed to build the JavaScript web interface from the Java sources. <rekado_>it’s difficult to build from source, like many Java tools. <rekado_>civodul: I don’t mind merging my channel into whatever big channel we agree on <rekado_>I think guix-bimsb is one of the oldest public channels <roelj>I also don't mind merging our channel to whatever shared channel we agree upon. ***iyzsong-- is now known as iyzsong-w
<roelj>That would work. I'm also wondering if we could land GPU-related packages there, even though those are clearly non-free.. <PurpleSym>We’re probably not allowed to advertise it here (or in any GNU context) if we mix in non-free software? <Brendan[m]2>that would be a nuisance because then we wouldn't want to recommend the channel at all, so keep that stuff separate. <jlicht>can't you make a guix-science and guix-evil-science, where evil-science depdens on the former + blobs? <rekado_>who owns that organization and repository? <rekado_>if you want to, could you add me? My Github user name is also ‘rekado’. <rekado_>I wonder how best to collaborate on this without breaking things by accident on a regular basis. <PurpleSym>Yeah, I have set up GitHub Actions for my repo, which works quite well. <rekado_>for guix-past there is a convention to use package specifications in some cases (instead of variables) to insulate against Guix upstream changes (like moving package definitions) <PurpleSym>Hm, do these happen frequently? I have not encountered breakage because of that yet. <rekado_>we’ve just moved a whole bunch of R packages around <civodul>if i may, i'd recommend Source Hut or notabug.org or gitlab.com :-) <civodul>i think it'd be great to have a guix-science channel containing 100% free software <roelj>Can we not use the nongnu variant of savannah? <nckx>jonsger: I always forget that ‘Thunderbird’ includes an IRC client. Mad. Like a deliberate parody of Zawinski's law. <jonsger>nckx: and a pretty nice one, but they removed my beloved chat theme. The new one is step back :( But the matrix client is now finally working :P <rekado_>PurpleSym: not with Savannah, but with Gitlab we do. ***mmohammadi98126 is now known as mmohammadi9812
<civodul>if there's a commitment to follow the FSDG, we could discuss whether to do CI on ci.guix.gnu.org <rekado_>civodul: I also think that guix-science should only hold free software. <rekado_>CI on ci.guix.gnu.org would work, though I’m a little wary of using cuirass for that, because it doesn’t give us fine grain information prior to merging things. <rekado_>I’d like us to build first and merge upon completion <civodul>rekado_: agreed; it's true that the GitLab interface is pretty good for that.. <roptat>\o/ /gnu/store/gy3wa4d4lyirc5m5b3ddqqnw6v09nx24-groovy-3.0.5 <roptat>it'll need a little more work, because it's missing some new pieces, but I managed to build an almost complete version :) <PurpleSym>I don’t really care which hosting service we use for guix-science. GitHub’s just a proposal, since everyone’s there already. <efraim>hmm, the glibc folks basically asked for a reproducer for my bug with glibc and %bootstrap-guile <civodul>efraim: here begins the real work ;-) <librecat[m]><xelxebar "librecat: Error: success"> this is not a bug report error in finalization thread:sucess <jonsger>what do I need to do on a debian system with guix installed to have "herd" available? <civodul>jonsger: "herd" comes from the Shepherd <jonsger>I got it, I don't need this herd cowstore thingy <civodul>yeah the cow-store thing is very specific, nobody really "needs" it :-) ***mmohammadi98120 is now known as mmohammadi9812
<morgansmith>so I'm trying to run my server using Guix and I have the static-networking-service setup for ipv4, and I think my setup for ipv6 works, but I can't run both services at the same time because it doesn't want me to have two services on the same device. Any ideas? <guix-vits>morgansmith: If U try (service static-networking-service-type ..? <guix-vits>The description of static-networking-service says: "This procedure can be called several times, one for each network <guix-vits>interface of interest", so probably it can't set ip 4 and 6 at the same time (IDK). <morgansmith> (static-networking-service "eth0" ipv4) (static-networking-service "eth0" ipv6) <morgansmith>guix system: error: service 'networking-eth0' provided more than once <guix-vits>as static-networking-service says: "__one__ for each network interface of interest". So maybe static-...-type will work. <roptat>I think this will be expanded into two services for the same interface, no? <guix-vits>roptat: IDK how this -type behaves if "provision" field isn't specified. <morgansmith>guix system: error: service 'networking-eth0' provided more than once <morgansmith>isn't the error message I'm getting just about all my service names being identical? Couldn't I somehow just make their names different? <roptat>the name is a function of the interface, I'm not sure you can change that easily <jonsger>has someone experience installing Guix system on RAID? <morgansmith>guix-vits: great minds think alike. I had just set provisions to (provision '(networking-eth0-ipv4)). It builds but I don't know if it works <guix-vits>morgansmith: maybe one can set provision to 'networking-ipv4 and 'networking-ipv6. But, of course, it potentially will not work. <morgansmith>I gotta wait for my server to finish it's guix pull :'( <guix-vits>Please change to enp0s41e2e4. eth0 is a legacy. <morgansmith>ifconfig only shows eth0. I'm not sure I understand what is the significance of the interface name <joshuaBPMan>Hey #guix! I am about to submit a blog post to guix-devel. Isn't there another email address I could submit it to first? It's basically showing people how to set up a guix system server on a linode server. We have this guide in the cookbook, but it might be nice to put it on the blog as well. ***rekado_ is now known as rekado
<morgansmith>does anyone have some example server configs? I'm not looking for anything super specific right now, but I'm trying to self host a lot of stuff <morgansmith>eventually I'd even like to manage my own email server but I've tried like twice and failed both times (on other distros) :P maybe the power of guix will finally free my email? <rekado>it contains the server configurations for the build farms <roptat>it contains configuration for different types of machines, but services are mostly defined in the modules/config directory <joshuaBPMan>rekado_: Thanks, I just sent an email to the email list. <joshuaBPMan>morgansmith: let me see if I can find that example email config for you... <roptat>maybe I should stop using so many names on the internet, the people would recognize me ^^ <morgansmith>so the networking thing half worked. where are the logs for that put? <morgansmith>/var/log/httpd wasn't very helpful. I want to know why shepherd didn't like it :/ <roptat>there's /var/log/messages or shepherd.log <morgansmith>inet-pton: Bad address. How does it want an ipv6 address? <roptat>probably, it's not an address with a /64 <morgansmith>this is ipv6, the manual only shows me an ipv4 thing <roptat>well, it doesn't, it uses inet-pton AF_INET #$ip <roptat>for ipv6, it should be (inet-pton AF_INET6 #$ip) iirc <roptat>and then the configuration interface that's used is a bit old, I'm not sure it would actually work with IPv6 <roptat>you can still use my iproute2-service-type, but yeah <g_bor[m]>guix-vits: nice, pleas add it tto the ideas page for later <jlicht>roptat: finally moved _everything_ over to guix-home-manager. Life is good :) <g_bor[m]>As there was no objections I will mark the two current outreachy proposals as approved tomorrow morning. <civodul>can you remind me/us what they were? <g_bor[m]>we should create the 2021 ideas page, copy the 2020 one over, and add the new ideas. <g_bor[m]>we still have time if something comes up, deadline is extended until 29th <roptat>oh I should go back to my libnl bindings... I remember I was able to create interfaces and assign addresses to them from scheme, but I can't find the code anymore :/ <roptat>yeah, I was focused on the container use case, but simply assigning an IP at boot would already be a nice use case <roptat>it might be on the computer that's at my parent's house <g_bor[m]>Roptat: there is still the proposal from the last round. <g_bor[m]>Would you like to have that in this round? <g_bor[m]>I was thinking about it, but maybe with a reduced scope. <roptat>I won't be able to mentor this round, but next round should be ok <roptat>I'll see if I can do something this week-end <morgansmith>what's the term-auto service? It seems to be my only stopped service <civodul>morgansmith: yeah it's a service that's basically always stopped <civodul>i'm not sure why it's not a one-shot service instead <morgansmith>It looks like when creating an agetty-shepherd-service, it defaults to term-auto when the tty isn't given <nckx>What's up geekazoids. o/ <morgansmith>I made a server using guix and it's the easiest thing I've ever done <nckx>morgansmith: It's mainly for serial consoles that might need a log-in prompt. The regular (VT) ttys use mingetty instead. <morgansmith>as long as people know what it is, and they tell me it's not a bug, I'm happy :) <nckx>It's not a bug but civodul's right that it could be presented in a less misleading way. <nckx>morgansmith: Amen. After years of FreeBSD mail & Web & ‘misc crap’ servers, moving them all to Guix was the best decision I made. <joshuaBPMan>nckx: that's quite a testimony! How many years have you been running mail servers? <nckx>Since... 2011? Nothing at scale though. Personal & tiny businesses only. <nckx>Part of the usual good-with-puters student income stream 🙂 <joshuaBPMan>also, I'm using termite terminal...I get a weird error when I use guix environment. <joshuaBPMan>Essentially, in an environment "backspace" does delete characters, but it looks like it is adding a space. <joshuaBPMan>I might file a bug report unless someone things that I shouldn't <joshuaBPMan>guix-vits: I'll give that a try. Are you saying I should run `export TERM=linux` in the environment? <nckx>Backspace is cursed and shall never work perfectly on Linux. That's just how it is. It's almost certainly a subtle misconfiguration of $TERM or a missing terminfo, as guix-vits says. <joshuaBPMan>ok. So I'll remember that. Should I not file a bug report then? <guix-vits>joshuaBPMan: I'd same with kitty terminal emulator. <joshuaBPMan>Hey hey! It actually works now! Weird. It mot definitely did not before. <nckx>joshuaBPMan: No, unless you've added an unset/export TERM of your own somewhere. <nckx>Er, I mean yes, I mean ‘it's still a bug’, I mean. *nckx whatevers, goes to read today's mail. <joshuaBPMan>nckx: maybe I did. Well I'll check to see if I an export TERM of my own... <nckx>Don't ask them why, they don't remember, but it might be related 🤷 <nckx>(Here, combining both XXX *and* FIXME means ‘nope, definitely won't get fixed, ever’.) <nckx>Aside: is everyone [+civodul] OK with keeping the new recommended pastebin? I haven't had any problems via Tor, and I'm tired of changing the topic every fortnight that p.d.n goes down again. <rndd>i'm trying to use (service bluetooth-service-type) from desktop.scm <rndd>but i got this error: "no value specified for service of type 'bluetooth'" <rndd>maybe somebody had same issue? <nckx>rndd: Some services are missing default values. I'll fix it in a few minutes. For now, adding ‘(bluetooth-configuration)’ as a second argument should fix it. <nckx>And let me know if that still doesn't work, because then my assumption is wrong. <rndd>nckx: thanks, i will try it now <rndd>well my system rebuilding started <morgansmith>so when I install icecat in a profile that isn't my default, the fonts are messed up. And when I install pinentry in a profile that isn't my default, it doesn't work (pinentry is still in my path, but gpg doesn't like it). At the top of my .profile I have 'eval "$(guix package --search-paths=suffix --profile=...)"'. am I doing something wrong? Everything else (including my window manager) seems to work just fine from another profile <nckx>rndd: (service bluetooth-service-type) should now work after pulling. If not, please let me know. <rndd>nckx: so, build was successful. but the service is stoped and disabled by default <rndd>and it turns off after enabling and starting <nckx>Check your logs I guess. <rndd>nckx: Unable to get on D-Bus <nckx>My configuration has (auto-enable? #t), dunno if that's needed. <nckx>Now you know the problem. <rndd>could you explain, please <nckx>? I thought you told me. <nckx>Is ‘unable to get on D-Bus’ (or thereabouts) not the error? <nckx>rndd: Does ‘sudo herd status dbus-system’ show a started service? <nckx>If not, add (dbus-service) to your services. If yes, I don't know why my bluetooth-service connects to D-Bus just fine and yours doesn't. Probably time to report a bug then. <rndd>nckx: yes, it is started and enabled *nckx AFK for ~half an hour. <rndd>and bluetooth is bot blocked by rfkill <rndd>nckx: so, i restarted my host and now bluetooth service is working <rndd>i will pull and try new variant without value <rndd>nckx:thank you again ^_^ <nckx>rndd: Wonderful! And thank you for testing. <nckx>Holy fuck, I was not expecting... that... image 😳 <bavier[m]1>oh... typical game "assets aren't available" crap <rndd>bavier[m]1: why? open_morrovind also has no assets. not a real problem <rndd>bytheway, amnesia uses mock build system <nckx>‘Mock is a rpmbuild(8) wrapper. Mock tries to simplify some steps, which would otherwise be boring or complicated. Mock runs rpmbuild(8) in an isolated environment consisting of a minimal set of packages.’ <rndd>i do not understand game devs <roptat>isn't mock what they use to run make? <civodul>PotentialUser-83: no, it cannot be generated <civodul>hmm i don't see how this could happen <apteryx>perhaps check if your drive is faulty <PotentialUser-83>I was configuring xorg because im doing a minimal install, started the server with xinit and then forcefully rebooted because xorg didnt recognize my keyboard <apteryx>IIRC, you are the same person who had a faulty drive and a faulty memory in the last week or so, correct? <PotentialUser-83>Hmm no, last time i was here was because i had problems installing in a uefi pc but i worked around that <apteryx>PotentialUser-83: One place to start is to check the S.M.A.R.T. tests <apteryx>you'll want to read an the topic, I'm no expert. <PotentialUser-83>What is the name of its package on guix? I think i still can install things with sudo <apteryx>you should run tests from a live CD/USB <apteryx>there's no point wasting time reinstalling if your drive has problems <apteryx>you can run the guix installer image, and install smartmontools there <PotentialUser-83>Can i make a copy of my current packages so i dont have to download everything again? <morgansmith>so I'm in some hilarious inescapable loop right now. Adding certbot service to my server config means that http traffic is directed to https because certbot edited my nginx.conf. However, the nginx server can't start because it can't find the ssl certs it needs to support that redirection. But because nginx won't start, certbot can't use it to get me some ssl certs. How do? <Franciman>Is it discouraged to use guix on a foreign distro(debian) ? <morgansmith>It's not as stable sometimes. and I've found some odd bugs. But for the most part Guix works great on foreign distro's and is fully supported <morgansmith>I was on arch linux though, debian would likely have less bugs :P <Franciman>I wanted to try a non-free distro because I have a notebook, so some nonfree components <morgansmith>You could use the standard linux kernel from non-guix if you want. Just as a hold over until you buy better hardware of course ;) <rekado>morgansmith: you can use certbot in standalone mode <apteryx>Franciman: it's not discouraged to run Guix on foreign distributions. What is discouraged here is promoting non-free software. <Franciman>I was just explaining why I wanted to try it on a foreign distro <apteryx>I'm not saying you did. I just wanted to make it clear. <PotentialUser-84>So my disk passed the short test, i will try the long one but i doubt there is a problem <apteryx>PotentialUser-84: which file system are you using? If ext4, you could run fsck from that live USB <apteryx>if the short test passed, the drive is not known by its firmware to be failing <leoprikler>bavier[m]1: w.r.t. amnesia: is that even allowed under the terms of the GPL? <apteryx>that's quite strange. So /var/guix vanished by itself on a healthy drive? <leoprikler>IANAL, but IIRC a software package, that includes GPL'd source must as a whole be licensed under the GPL, no? <apteryx>leoprikler: to not release the artwork? Yeah, art is non-functional data <PotentialUser-84>I would re-install with no problems if i didnt have to download all of that again with my intermitent internet <jonsger>morgansmith: I'm trying for over half a year, with more or less success ^^ <leoprikler>Okay, so if I write a game using GPL'd code, as long as all *code* is GPL'd it doesn't matter what the non-functional data (art, music, etc.) is? <morgansmith>I mean we hate firefox appently because of the artwork I thought <apteryx>leoprikler: sorry, I was mistaken here, the non-functional data bit is a FSDG thing, not part of the GPL. <PotentialUser-84>Welp i will see if some wizard in the help mail list can help me, see yall <leoprikler>just asking because I'm about to release my own visual novel engine and the existence of renpy steers me towards using the LGPL for that <apteryx>ah, to entice a broader class of "users" ? Like Guile historically released as LGPL to better compete against tcl? <bavier[m]1>copyleft code is fine by me, but as a user, I just won't bother if I can't install everything and run the game in one go. Tracking down assets from some shady source is not something I want to do. <apteryx>I think you're supposed to buy the actual released game to get a copy of the assets. <apteryx>anyway, we're drifting off topic :-) ***ae is now known as Guest73603
<brettgilio>civodul: was stalking you on mastodon and thought perhaps you might be :) <civodul>PotentialUser-25: hi, no idea, you could ask on help-guix@gnu.org <morgansmith>PotentialUser-25: I believe the 770 needs a firmware blob. We don't ship that <brettgilio>I had a job interview today. it went very well :)! <mroh>PotentialUser-25: that file exist on my (guix) system w/ nouveau driver. Not sure, why it doesn't on yours. Maybe you need other kernel configs?! <PotentialUser-25>No, it works on Trisquel and Parabola (with reclocking support) without non-free firmware. <brettgilio>the Interviewer asked about my contributions to FOSS and they had heard of guix before. so that was cool <leoprikler>apteryx: mostly yes, but the bigger picture is, that I fear a particular lack of relevant assets under a GPL-compatible license making the library itself de facto useless <civodul>i had a job interview in the early days of Guix and mentioning it got the interviewer to chuckle <civodul>didn't get the job but in hindsight it's maybe not a bad thing <brettgilio>my interview is for a company that uses OCaml a lot, and is pretty active in free software. they don't use guix themselves, but they said they are aware of us from outreachy <nckx>morgansmith: Eek! We don't hate Firefox at all, nor its artwork, nor do we dislike, nor consider it non-free (others are free to, but they don't speak for Guix or GNU). Absolutely not. <civodul>brettgilio: nice; "OCaml company" suggests finance to me :-), but i guess there's not just that one company <brettgilio>nckx: Agreed. the reason for Icecat existing is more complex than free/non-free. bandali might be around to explain more <brettgilio>civodul: Nah it isn't Jane Street. I applied there last year and got turned down. <morgansmith>My bad. I thought it was something copyright related. <brettgilio>This company does SEO and Server optimization software stuff <brettgilio>being purposefully vague so others here don't steal it from me ha <nckx>morgansmith: No, but it's an unfortunate myth... Firefox has a few FSDG issues: it links users to an add-on ‘store’ that doesn't exclusively stock free software, and downloads a DRM component a bit too eagerly. That's patched out in IceCat. That, in turn, means the result can no longer be fairly labelled ‘Firefox’, because it's misrepresenting the product. That's basically all. Much simpler than the FUD tries to keep it. <nckx>‘FSDG issues’ aren't freedom issues, by the way, they're like an extra level of purity 😉 <morgansmith>oh ok. That makes sense. I assume the DRM thing is that netflix thingy. Thanks for letting me know :) <brettgilio>but things which can be concerning to the ethically minded <nckx>I think the euphemism they (the whatwg or what-ever) use is EME. <nckx>Encrypted Media Extensions IIRC? <nckx>HEAD the air-quotes! SEE the misdirection! <brettgilio>morgansmith: the DRM extension isn't just for Netfucks. but yes. <brettgilio>Many streaming platforms also utilize the widevine nastinesss <brettgilio>Anybody want to proof read some documentation for me completely unrelated to Guix or Scheme <nckx>Any other day (so if it can wait a day, shoot). <brettgilio>It can wait a day. :) want me to throw it to you in PM?