<kreyren>afaik it means that its running latest commits when they are available or?
<str1ngs>functional has the most benefits. in that given the same inputs, you will get the same outputs. gentoo is better for cases where you want to effect the whole system with certain use flags and options.
<kreyren>so it doesn't have option to compile source based on provided options/useflags ?
<str1ngs>guix at this time does not. and the reality is use flags would introduce more rebuilds and less substitutes. aka binary downloads.
<kreyren>true, but rebuilds are expected for said scenario or do you have a better way to configure source from user-end ?
<kreyren>i like to optimize/build the system for said hardware
<nckx>If by ‘optimize’ you mean build the system with the coolest compiler/linker flags, this is also not something that Guix will give you. (It's possible, but you'll be very much on your own and so will your poor CPU building packages all day.)
<str1ngs>most of the optimizations are not worth it. 100% more work for 10% gain. you get the idea. :P
<kreyren>i'm used to beeing on my own in terms of distro setup compiler, linker, kernel + MuQSS patches and others and specifying what to build per package is what i currently have is there anything that i would gain by switching on guix?
<kreyren>Re: 100% more work for 10% gain. -- it's worth it for me to spent a month to gain 0,001% more :p
<str1ngs>kreyren: guix is pretty flexible yet. you would gain in that what ever you modify witll be repeatable every time. and will distribute to like machines easily
<str1ngs>kreyren: there maybe a logical fallacy in that argument. though if you enjoy it. I hear you :)
<nckx>‘Repeatable’ as str1ngs says is really the killer feature for me, and the fact that your entire system becomes a data structure for a very powerful programming language (Guile) with a powerful library (Guix, even though it's far from complete).
<kreyren>> you would gain in that what ever you modify witll be repeatable every time. -- Can you elaborate? for example on gentoo ` [ebuild R ] sys-devel/gcc-9.1.0-r1:9.1.0::gentoo USE="cxx fortran lto (multilib) nls nptl openmp pch (pie) sanitize ssp vtv (-altivec) -d -debug -doc (-fixed-point) -go -graphite (-hardened) (-jit) (-libssp) -objc -objc++ -objc-gc -pgo -systemtap -test -vanilla"` i have the ability to cherrypick what i
<kreyren>expect from gcc to be compiler for.. Can i do something simmilar on guix ? For me generally the more i can alter the result of compilation the better
<str1ngs>personally I like the repeatable builds in that I know any binary substitute I'm installing has high degree of validation. such that I don't have to always build everything myself. I don't have much time to focus on those things.
<nckx>I switched from a heavily customised Exherbo system in which I'd invested many years because it always felt like I was just about managing to prod my system in the right direction, most of the time, but there was always that feeling of shifting sands. It's hard to describe. With Guix, I write the code, I lock things down, they stay down. And if something (an upstream update or so) does affect it in an unexpected way, it's a very reproducible, repeatable way.
<str1ngs>on and dont forget guix has atomic roll backs
<nckx>Looking back, I was building a kind of proto-Nix/Guix on top of Gentoo/Exherbo… in bash.
<str1ngs>kreyren: you can return your system or user profile to an exact point
<nckx>kreyren: In that gcc examples you're pinning a handful of features, there is *a lot* sliding around underneath them. You have no direct control over which libraries that gcc links to unless you rebuild the world every time. Two Gentoo systems with the exact same configuration will drift apart very quickly unless you run the exact same commands at the exact same time on both.
<str1ngs>also guix has per user profiles and rootless package management
<kreyren>interesting tbh i'm not sure abour what 1/4 of the info provided means but it seems worth it to experiment with it..
<str1ngs>my only personal draw back with guix is program wrappers and environment variable runtime dependency. but that a hard technical problem to solve in the context of what guix provides
<str1ngs>kreyren: you can use guix on gentoo or any distro really
<str1ngs>within the running distro. it will not effect the current system
<nckx>str1ngs mentioned containers, but I'd also like to point out ‘guix environment’, which is like a virtualenv for anything on your system (or so I've been told by people who actually know what virtualenv is).
<str1ngs>do we get a commission on these sales? :P
<kreyren>i usually use franken configuration alike http://ix.io/1PEJ assuming that you are familiar with gentoo which is discouraged and devs refuse to help me with anything would that be different here assuming that i prefer to be part of development of distro that i'm using?
<nckx>So you can set up a Guix environment with GCC-5 and Qt-4 if you feel masochistic, and develop some horrible thing in that, while not affecting the rest of your system (so it's not like global ‘alternatives’ systems like Exherbo has and I'm sure Gentoo does too).
<kreyren>so it's able to sandbox environment to be independant from live system?
<str1ngs>I stopped using gentoo the second there release engineering team refused to release the sources for there live cd
<str1ngs>kreyren: yes guix only uses two unique system paths /gnu and /var/guix and some system configuration state in /etc
<nckx>kreyren: That would involve containers (standard warning: Linux containers are not a security feature), and might be incomplete, but yes. And what's missing you can contribute back ;-)
<str1ngs>yes, at the time the released it they would not release the source for creating the CD. which was my primary concern since I wanted to modify and rebuild it
<nckx>kreyren: So a lot of what you do in that file you could do in Guix, some of it you can't because it's much better designed (packages aren't pooped out in random languages just because $LANG happened to be set at the moment, builds are properly isolated), and a lot of it you can't just toggle with ‘flags’ because we don't have them.
<nckx>I don't think either GentooZerbo nor GuiNix benefit from a direct ’feature’ comparison. They are too different in scope and in worldview.
<str1ngs>they other issues with gentoo, it just seemed redundant everyone is building the same thing over and over again. I mean customization is nice. but I think binary distributions are more efficient at the end of the day.
<str1ngs>guix seems to find a nice middle ground between build and binaries
<CodeSections>Hi all. I am about to purchase a new laptop and am planing to install Guix on it. I'm wondering if anyone can tell me if I'll run into hardware compatibility issues before I place my order. The laptop I'm looking at is a Thinkpad T490 with a Intel Core i7-8565U CPU and Intel 9560 802.11AC wireless card
<jwgarber[m]>CodeSections: that WiFi card requires non free firmware (as do all ac cards), so it won't work out of the box
<OriansJ>CodeSections: well wifi might be an issue (but there are work arounds for that) and provided it is Intel or AMD graphics you should be fine with graphics (nVidia is a different story) and those are generally the only problem areas these days
<mfg>Hi, so i tried running the extended version of hugo on guix. it has external dependencies to libstdc++.so.6 and libgcc_s.so.1 which are not found. gcc-toolchain is installed. What am i missing here? which package contains those libs?
***emyles` is now known as emyles
<lukas74824>While reading the docs, I wonder if I can use Wayland and how
<quiliro>sorry....the only thing you can do with a machine that does not have a free networking device is install the system from another pc by removing the disk or install on this pc by getting a networking device that respects you
<quiliro>if you coy the usb (with dd) on the hard disk you would not have a way to install anything without copying all the extra software installation software...which is possible but i have not done it
<quiliro>if you copy the usb (with dd) on the hard disk, you would not have a way to install anything without copying all the extra software installation software...which is possible but i have not done it
<xavierm02>So I've been trying to use LyX and there's a lot of dependencies missing, which lead to it working but some optionsnot being available.
<xavierm02>I'm converging towards a solution but it's painfully slow because everytime, I have to add whatever was missing to propagated-inputs, compile LyX, and then see what's the next thing missing.
<xavierm02>Is there some way I could avoid recompiling it?
<ryanprior>xavierm02: does it have a configure script? If so, that might have a big list of optional dependencies that it searches for and informs about their availability.
<Minall>Hello guix!, I see that the package definition on the driver xf86-video-openchrome is of course, downloading the package from a source, but the version gets specified there, in this case the latter one, 0.6.0, my question is, when for example, the package gets an update, guix updates it immediatly?
<Minall>And why is the package downloaded on a .tar.bz2, instead of .tar.gz, I don't have this clear, what is the difference between these two?
<roptat>I have a question on substitution. If a derivation is marked as #:substitutable #f, does it mean my guix will not try to look for it at a substitute server, that no substitute server will ever propose it, or both?
<trzcdev>Looking a little more at the documentation on guix package, I see that there are three notions of "input". These are 1) inputs, 2) native-inputs and 3) propogated-inputs. It seems like inputs can be categorized as native and propogated. Native are used only during build-time and exist only for that part of the packaging process. After the build step is complete, they are removed from the environment? Inputs exist during build and
<trzcdev>beyond. But propogated-inputs are used only during run-time as "helpers" and are "linked" together so that if the parent dependency is removed, the propogated-inputs are removed as well. Is my understanding sound?
<nullix>trying to run a binary file here: ./Godot_v3.0.6-stable_x11.64
<nullix>bash: ./Godot_v3.0.6-stable_x11.64: No such file or directory
<str1ngs>also . $ file ./binary may show the dynamic linker
<lispmacs>Hi, I installed guix on another one of my Debian 9 x86_64 systems, and did a guix pull && guix package -u. I'm confused as to why it is building pioneer package from source if I can see one built at guix.gnu.org already
<lispmacs>str1ngs: package listed online didn't list a guix hash req or anything
<jfred>Hey there - so I'm trying to build a Guix rootfs with 'guix system init', but the resulting FS tree seems to be missing /etc/passwd and /etc/shadow... is there something that runs on first boot that populates these? And if so, is there any way to pre-populate those files before initial boot?
<lispmacs>str1ngs: I'm not saying guix is wrong, just trying to figure out where I went wrong. Seem frustrating to have to build package for 4 hours if substitute is available for same version and architecture
<nullix>./Godot_v3.0.6-stable_x11.64: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=1976e4d0ae8152e9e73d69f4af7b62c4e91e4fe9, not stripped
<apfel>xavierm02: in the link i posted you can see my definition. I want to add a service to the %installation-services, but i get this error described in the link as well.
<mbakke>xavierm02: Debian uses slightly different package names (i.e. libfoo1-dev), which may not translate very well to the guix names. It does not sound insurmountable, though (but is it worth it?) :-)
<mbakke>apfel: Feel free to submit a patch that exports %installation-services :-)
<mbakke>In the mean time, you can use '(@@ (gnu system install) %installation-services)'
<adfeno>Re: using GDB from Guix to debug Minetest from Guix: Installing gcc-toolchain:out and gcc-toolchain:debug and sourcing $GUIX_PROFILE/etc/profile didn't help.
<adfeno>Not sourcing, but using the dot (".", like ". path")
<mbakke>adfeno: what is the problem with running minetest through gdb?
<adfeno>`gdb minetest' tells me "(No debugging symbols found in minetest)"
<apfel>hm, the created image is 2.9 GB large, i am wondering why, i only added the agetty service
<kori>can guix do the INFINITE TOWER OF OPERATING SYSTEMS yet?
<adfeno>mbakke: Re: Debugging with GDB: I run the program once inside GDB, then exited the program normaly, set "break -function name" and it asked if I wanted to leave it pending for next program run, so I said yes, and run again.
<adfeno>mbakke: but `info breakpoints' still shows it as pending
<adfeno>s/leave it pending for next program run/leaving its discovery pending for the next "library" load/
<mbakke>adfeno: oh, I probably mis-remembered then, sorry for the confusion
<mbakke>adfeno: You can create a CMake debug build from the minetest source tree "manually" by running `mkdir debug-build ; cd debug-build; cmake -DCMAKE_BUILD_TYPE=Debug ..` after entering a `guix environment minetest`.
<mbakke>adfeno: You would need to unpack the minetest sources and enter that directory first, of course.
<mbakke>adfeno: Another hack is to add #:build-type "Debug" to the package definition, build it with --keep-failed and then cancel it before it finishes installing...
<mbakke>Then you can enter "/tmp/guix-build-minetest-5.0.1-0/build" and run it from there.
<adfeno>How to list all the paths of the runtime outputs of a specific package?
<nckx>sneek: later tell trzcdev: 'guix environment hello' makes all inputs (=dependencies) of the hello package available in the environment. It does not make hello itself available: you get an environment for *building* hello.
<nckx>Marlin1113: You can probably hack around this 'limitation' (it's really an important feature) by cloning the repository on the 'host' side instead of having the daemon do it, but I can't tell you how to do that off the top of my head & am not convinced it's a good idea.
<adfeno>Re: Getting the path of the build input: … like what (assoc-ref %build-inputs "dependency") does but in this case I'm inside an environment and want to know where that dependency is.
<nckx>adfeno: Environments are intended mainly to bring all your inputs into a single profile ($GUIX_ENVIRONMENT), so for example *all* headers are in ls $GUIX_ENVIRONMENT/include, you're not really expected to chase down separate output paths like that. What are you trying to do?