<NicholasvonKlitz>Asking once more because I'm still stuck on the same issue :) Anyone know how to get rust-src on Guix? I'm trying to use rust-analyzer but it depends on rust-src (source code of the rustc compiler). I can't seem to find any information about how to obtain rust-src. Usually its done with rustup. Or are there any other resources for developing with Rust on Guix?
*GNUtoo doesn't really understand the question, rust-analyzer seems to already be in guix, and guix build --source can get the source code of a package but that's probably not what you meant
<GNUtoo>If it's for packaging some source code in Android there is a definition for some source code that is then reused in several packages
<vagrantc>and then, apparently, it may even be almost a non-issue, if it's not actually embedding any openssl code in most of the cases (only using openssl transitiveily during the build, which doesn't actually trigger the licensing discrepancies)
<robin>NicholasvonKlitz, why can't rust-analyzer just use, well, a copy of the rust source code, as other people have suggested? does rust-analyzer need access to the source at build time or something to work properly?
<robin>(caveat: i've only used rust very minimally in the context of firefox hacking, and don't know what rust-analyzer does, for example, though i'm familiar with rustup)
<robin>NicholasvonKlitz, if it *does* need the rust source at build time that's (probably) easy to fix in the package definition
<robin>if it just needs a copy of the source at runtime, that's easy to get via "guix build --source rust", as GNUtoo suggested
<robin>(though you may have to copy/unpack it out of /gnu/store since it's read-only there)
<NicholasvonKlitz>thanks robin and GNUtoo I was unaware of `guix build --source`. I will give it a try, but from my understanding that should be exactly what I'm looking for. rust-analyzer just needs a path to rustc source code at run time for code suggestions and auto completion.
<robin>is rust-analyzer *useful* without the rustc source? if not, that's a bug; or we might want two packages, one with the rustc code and one without, if rust-analyzer still has useful functionality without the source
<the_tubular>There's something eating a LOT of my ram, and I can't find it, with ps -aux and on top, what should I do ?
<jackhill>ss2: great, sorry I was away and missed out on some of your adventure. Yeah, I think my use just happened to be on a happy path. I've added exploring other configurations to my list of things to try!
<apteryx>the_tubular: are you sure it's not just the kernel Linux's caching?
<tom119>Hi. I'm considering migrating from NixOS to Guix. I'm trialling Guix System via the VM image. Stupid question... but where is the config.scm within the VM image? I figured /etc/config.scm but it's not there.
<tom119>I could just write a config.scm and reconfigure, but since I'm new to Guix System I'd rather start with a config.scm that I know already works for the VM I'm in.
<tissevert>I'm trying to reuse an old system configuration I had made for a laptop to build a system for a VM and I'm really curious what guix will make of these particular (device …) entries in the (file-systems …) which won't exist inside qemu
<tissevert>also I was wondering: more generally, is there a way to separate hardware concerns from the part of the configuration we really choose and isn't auto-generated ?
<tissevert>not a big fan of nix, but I've seen "imports = [ ./hardware-configuration.nix ]" in nix configuration and that's that: leave nix handle those details, and have the rest of the config be entirely portable from one machine to another
<jpoiret>there might be some people doing that but they haven't told anyone
<tissevert>I have already put my package list in a separate file because it's longish and I don't want that in the middle of my user definition and all
<tissevert>but to really install somewhere, that means I'd still have to generate a configuration from scratch to get the hardware parts, then add a (load "packages.scm"), then fix minor stuff about the use, keyboard, etc.
<jpoiret>erm, packages in the operating-system definition should really be system packages, ie things necessary to have a running system and packages which should *really* be available globally
<Olivetree>Anyone know anything about this? Should I open a bug report? I'm getting an exception when trying to install nss-certs: Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'
<lilyp>that's probably you missing glibc-[utf8-]locales
<Olivetree>Also thought about it, but I have them, and the warning doesn't even show up anymore
<florhizome[m]><jpoiret> "(i just hate how noweb works..." <- What do you prefer for noweb options? so far I only saw org for it...
<jpoiret>just web in general then aha, i've tried bending it in unspoken ways to do things that'd be pretty easy with an actual language like guile
<fa>Hello all. Can you please tell me how to run a program with internet access in guix, like the 'Firetools' program. I use guix as a package manager
<florhizome[m]><jpoiret> "just web in general then aha, i..." <- Couldn’t you do that in elisp?
<fa>I have not found a programme (guix search....?) that is the same as Firetools ?
<fa>also there is no very IMPORTANT programme on your website such as ZULUCRYPT !!For example, the Trisquel repository has it, but it is an older version
<nckx>Hi fa. You can generally get help if you get stuck packaging something (I can't promise that firejail will be easy, ZuluCrypt is probably a better one to start with) here or on the help-guix at gnu.org mailing list.
<fa>Thanks for your reply. Can you please tell me how to build this package by yourself?
<mbakke>voroskoi: it puts restrictions on use, so I doubt it
<mbakke>"[you may] use the Software, or your Modifications, only as part of Your Application, but not in connection with any Database Product that is distributed or otherwise made available by any third party"
<jpoiret>sorry about the date for the second mail, i'm running c-u-f and my timezone is wrong, forgot to fix it for the second email
<jpoiret>my other patch about enabling wayland support in GDM was actually pushed to core-updates-frozen so i thought that these kinds of "rewrite that deprecate something" were c-u-f material
<nckx>jpoiret: I would never look at the date at all so your secret's safe with me.
<jpoiret>in my icedove they're ordered incorrectly so that might mess things up for some people
<nckx>jpoiret: No, its purely about the number of packages that need to be rebuilt. The ‘physical’ work that, e.g., people who don't use CI.guix will have to perform on their X200s.
<jpoiret>wigust: but it sources the profile's /etc/profile, not the distro's global one, and it is already in charge of setting up the needed env variables. it seems like an undocumented edge-case or just simply profile's /etc/profile not doing its job
<nckx>Big conceptual changes deserve more review but staging/c-u are not review branches. Commits, once there, don't receive extra scrutiny before they end up in master.
<jpoiret>nckx: oh yes. i roughly wrote the bulk of this patch ~this wednesday but it took me 3 days to update c-u-f beforehand since the big rebuild
<jpoiret>although i need some c-u-f stuff so all is well, didn't build all of that for naught
<nckx>Yeah… Severe CI underutilisation doesn't help. I think you were here when I mentioned how idle sit the build nodes.
<jpoiret>i'd love to help but i don't know the intricacies of the CI system yet (not even the internals of guix that well) so i'll just keep on with simple rewrites for now
<jpoiret>GNUtoo good luck packaging go programs The Proper Way™
<jpoiret>i tried doing that myself for something else and was driven into despair
<nckx>jpoiret: <i'd love to help> Same, but I've been spreading myself criminally thin as is, and ‘not diving into the Cuirass codebase’ is part of my court-ordered therapy…
<jpoiret>nckx: should i send a follow-up email? i forgot to add my own configuration's example in the cover letter as well so it's not just useless noise (how do you do code snippets again so that they show up nicely on issues.guix.gnu.org?)
<nckx>You did a fine job in documenting it so I don't think anyone will need an example. You're free to send a follow-up mail but unless you've changed the patch itself or the commit message (which don't include examples in Guix), don't include it.
<nckx>Needing an example would be a red flag, but again, your docs look great.
<nckx>I'm just waiting for ‘guix pull’ to finish to reboot with my box with NuSwap…
<wigust>jpoiret: Ah, wrong reading sorry. Could you send a mail to firstname.lastname@example.org describing the issue with sourcing shell scripts, please? So we could keep an eye on this.
<jpoiret>wigust: i'll finish reading the source to see if understand most of it, and i'll do that if I still don't see why!
<jpoiret>(on my system at least my default profile does set those env vars)
<roptat>arg, getting a 502 (Bad gateway) from savannah :/
<florhizome[m]>I currently do (modify services %desktop-services..) with a bunch of stuff before the os, and then in services I have an (append ...(list....%desktop-services))) with the other services I add/configure. None of the examples I saw does it that way.
<Olivetree>No. But it's not in .guix-profile/etc/profile either. Only LIBRARY_PATH
<ison>Olivetree: When working on rust I run cargo in an environment. Something like "guix environment --ad-hoc rust rust:cargo gcc-toolchain pkg-config"
<Olivetree>Still need to learn to work on that environment thing. Wouldn't that be for my personal projects? This is for a package installation. I also tried to use guix import, but failed.
<ison>Does the package have pkg-config? I think cargo needs it to locate things
<lilyp>I'd assume the package can't find libgcc_s because of weird assumptions on the package's side about traditional distros
<lilyp>they might even hand you some binary that you need to patchelf on your own
<Olivetree>If that were the case it'd probably work, as I have libgcc_s in /usr/lib/ from my distro
<Olivetree>Got one step further.. needed to `guix install rust rust:cargo`
<Olivetree>I didn't want rust to be managed by guix because of rustup
<Olivetree>So I guess I should really learn about environments, since mixing guix with my distro is likely to break things
<Olivetree>Hmmm.... how do I install something akin to openssl-dev?
<lilyp>we don't have -dev things, you might need :lib sometimes, but that's it
<lilyp>(or :include for the ~20 packages that actually have it)
<Olivetree>then how do I fix this? run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'openssl\' found
<Olivetree>I have + openssl 1.1.1j out /gnu/store/jfs1nf7zyqgiy9zmcg2aj95ify9phw3v-openssl-1.1.1l
<Olivetree>Also, if I run cargo install starship after `guix environment --ad-hoc rust rust:cargo gcc-toolchain pkg-config` I don't get the libgcc_s error, but if I install those packages in my profile and run cargo install I still get the libgcc_s missing error
<Olivetree>Alright! I was able to install it in the environment but in a very twisted way: I sourced PKG_CONFIG_PATH that was in .guix-profile/etc/profile
<Olivetree>I guess it all comes back to env vars missing.. thanks for the environment tip!
<lilyp>So first things first, everything that sounds like "install" is (at least to me personally) an instant yikes
<lilyp>Second, your environment didn't have openssl, so you'd have to add that to it.
<Olivetree>It is. But nouveau is not enough for my light gaming
<florhizome[m]>Ok i got the services fixed. I did what i described earlier (defined an own Desktop Services variable) like daviwil. But i probably also had the delete gdm in the wrong place.
<florhizome[m]>Now the Installation is running because i have two differing wayland-protocols versions in the profile ... I'm trying to Install wayfire with this but Network-Manager-Applet over gtk needs the lower version ... probably best to leave those experiments Out for now...
<drakonis>they're expensive because it keeps going out of stock for crypto usage
<Olivetree>GNU Taler is nice, but it doesn't help to evade taxes, fight inflation, nor can it be speculative. I have no clue about its decentralization/democratization level (not saying these are all good)
<lilyp>how would crypto bucks even "fight inflation"?
<drakonis>florhizome[m]: i don't remember right now but there's a function you apply to the default list, it is documented
<lilyp>IIRC nm-applet shouldn't even be a "default package" by any stretch
<lilyp>it's probably added by something else e.g. network-manager-service-type
<lilyp>people don't understand M-C-M' after more than 100 years
<Olivetree>I don't have a problem with things changing prices, be it increasing or decreasing. I have a problem with money printing and given to banks, which is basically stealing from everyone else by effect of dilution
<Olivetree>lilyp: disagree. currency is needed. If I have a cow and want to buy vegetables, I don't want to give the whole cow for a few vegetables, or a lot of them which will rot. we need currency. But central currencies are poisonous, and the way I see it, proper crypto currencies are our best bet so far to get rid of them and possible facebook dollars to
<lilyp>Ah well, it's only the environment, we can spawn another for free using crypto.
<mitchell>we can all retreat into our virtual reality headsets and take our nutrients through iv
<dstolfa>lilyp: wait, so you mean crypto currency isn't actually currency and just has imaginary value that is used as a money laundering front for the rich, as well as a way to scam people out of their hard earned money by manipulating the value and taxation when they try to convert back to something like dollars? (:
<mitchell>In captialism there can be no democracy. The people with the money buy the politicians. the politicians decide how to run elections. Electronic voting using proprietary software is used and no vote can be actually verified.
<mitchell>Whens the last time congress did anything that helped anyone
<singpolyma>vivien: not just in democracy even. Every government is free to make good policy if they want to. I think we've seen decades of evidence that most governments have little interest in good ecologic policy
<Olivetree>dhruvin: proof of stake is good for environment but terribly unfair for society as those with power keep gaining more power than those with less. the cycle continues. proof of work still allows for that but at least there are physical limits.
<florhizome[m]>Interestingly, neither gtk nor nm applet declare a fixed dependency on wayland protocols 🤔
<singpolyma>Power gets more power is sort of how everything works unless you design super hard against it :P
<singpolyma>Stateless society, as hackers we could call it "functional society" heh, heh
<lilyp>I think most communists would now call the "lower phase of communism" which still requires a state "socialism"
<Olivetree>And it will remain a utopia as it is impossible. Not with free will and all
<florhizome[m]>What you are saying is we have state, and you can't Imagine without it.
<lilyp>You can have a free will and still live in a communist society.
<florhizome[m]>@lilyp we are getting too much into old orthodox concepts lol
<lilyp>It's probably easier for most than in in most present or past societies too.
<Olivetree>Hmm... if everyone's free will is according to that, then yes, you can have stateless communism, otherwise someone needs to maintain order. that would be the state (sorry for not being technically accurate)
<dhruvin>Olivetree: Sorry, I am unable to see how PoS can become unfair for society.
<mitchell>Not to get to deep into political theory on the guix channel. But when people write about communism being "stateless" it is because marxist/leninists view the state as a requirement to resolve class contradictions. As long as you have classes in society there are contradictions between them. Lenin went on to write about how even after the revolution occurs there are still classes in society, only the role of power has swapped. Because
<mitchell>the classes still exist, the state must continue to exist. He viewed the role of the vanguard party to oversee the transition from private ownership of the means of production to public ownership. This is already no longer capitalism (as defined by the marxists) because the mode of production is no longer "for profit".
<florhizome[m]>Olivetree: Any abstract construct is a Utopia and will remain one, until it is abolished.
<mitchell>As you resolve the class contraditions, you need the state less and less
<mitchell>Of course the anarchists have a totally different take
<pushcx>Does anyone have a recent writeup on doing haskell in guix? I can find some mentions and questions but it doesn't look like there's success stories?
<florhizome[m]>Anarchism is much cooler anyways. Not so ridden with orthodoxy.
<dhruvin>Olivetree: I get the "rich getting richer part of it", and I get that it is bad. But IIUC, validators/minters have no power other than to validate a transaction/block.
<lilyp>wait, there's at least one step between thinking something up and abolishing that would make more sense in this sentence
<mitchell>I view anarchism as very utopian. But I like the spirit of it
<florhizome[m]>If you read much marxist stuff, which is mostly deprecated slander, that might happen ^^
<mitchell>I try to read a lot of stuff. The marxist stuff is generally better researched and more persuassive in my opinion.
<lilyp>Well, there are some things that anarchists typically can't explain, which this "deprecated slander" pointed out.
<mitchell>A lot of it written by people who have actually liberated themselves from imperialism
<florhizome[m]>Most people seem to learn leftist history through Marx and Lenin which means a Viewpoint which was enforced through Lenin
<lilyp>Like how anarchists would deal with counter-revolutions or foreign invasion sans the crumbling in less than a decade.
<jpoiret>this is quite annoying though to say the least
<reza[m]>pushcx: I started down this road and made good progress, maybe I find time to publish at least a sample project with a README
<jpoiret>so libraries using pkg-conf are allowed to use headers from libraries they're *not* including with pkg-conf through transitive Requires.private? not very cool
<pushcx>reza[m]: I'd love to see that, please ping me if you do. :)
<GNUtoo>Hi, I've the following warnings when running 'guix system reconfigure /path/to/system.scm': "guix system: warning: cannot determine provenance for current system", "guix system: warning: cannot determine provenance of GNU Guix", and when running twice guix system reconfigure it also tries to recompile again a 3 or 4 packages (like gdm for instance), is there an easy way to fix it?
<singpolyma>I found many if the Haskell packages in guix itself fairly readable
<jpoiret>hmmmm, no i understand, lib B headers would still need to find lib C headers at compile time of app A for example
<GNUtoo>I've tried adding --save-provenance but that didn't solve it. It may be because this Guix system was made with guix from Parabola and then booted, and when that was done I didn't add --save-provenance.
<florhizome[m]>I would bei rooting for something like a desktop environment profile btw. And a generic Desktop Environment service. Desktop environments install a lot of Interdependent packages that screw other Desktop environments or user packages. This is also not very transparent; the packages that xfce installs are sort of mangled in a metapackage.
<GNUtoo>ok, the hour looks wrong as I did guix reconfigure several times and later than 00:15:22
<jpoiret>florhizome: you could just not use the default DE packages and install the ones you want though
*GNUtoo will retry that commnad right after a new (and long) guix system reconfigure
<Olivetree>Not exactly guix specific, but since guix requires relogins so often
<florhizome[m]><jpoiret> "florhizome: you could just not..." <- It would be an unecessary hassle, though. Let's say i just want to remove one package from xfce and add some cool panel Plugins. If it had an own profile, like guix home has one, that would be a sleepwalk.
<jpoiret>DEs are installed system-wide (most of the time), and i don't think enabling non-declarative system definitions would help with guix reproducibility
<Olivetree>I have no DM, only dwm. If I kill it I lose all my windows and the other X11 session I have running on another graphics card loses image and needs restarting as well
<lilyp>ah, but which dwm would that while loop use?
<jpoiret>with some work (i plan to also do that) we could possibly manage current profiles inside some "session" (ie agetty or X11 or Wayland) without having to restart the session itself, because it's a bother
<Olivetree>but even if I had an DM/DE I would lose my current progress logging out, right?
<singpolyma>Could have a while loop re-source the profile and hash dwm
<florhizome[m]>Also the point is about separating those DE inherent packages, since they often cause pain. Making a Profile for each WM/DE would make sense anyways.
<jpoiret>you could save your env variables on the first run, and then reset to those then source the new profile each time
<jpoiret>another thing i've been thinking about is closer integration of profiles, now that we have guix home: you don't need most things to be in the profile, only in the store. You could then selectively start programs with some profiles if you wanted to (eg for a terminal)
<Olivetree>Is guix home useful in a non GuixSD? I skimmed the docs but felt useless. Maybe I read it wrong