<darth-cheney>Hey gang, newbie here still trying to wrap my head around some things
<darth-cheney>When using something like guix environment with node or python, is the expectation that the packages we would have installed with pip/npm are now in guix instead?
<raghavgururajan>derivates: `(device (file-system-label "label"))` VS `(device (uuid "1234-ABCD" 'ext4))`
<raghavgururajan>derivates: You may or may not need `(dependencies mapped-devices))`.
<darth-cheney>My typical dev flow is to use something called nodeenv (basically virtualenv for node) which allows me to do things like install npm packages "globally"but really they are limited to the ephemeral nodeenv directory
<derivates>raghavgururajan: im following exactly the same steps as the manual
<jackhill>nothingmuch: in that case, I think the only thing to worry about is that you may have symlinks referencing store items that don't exist (e.g. if you had just run guix pull before the rollback). If you run into that, I think you should just be able to ask guix to make them again and all should be happy.
<apteryx>nckx: dmitri.tobias.gr port 2223 seems unreachable
***bkv is now known as bqv
***lukedashjr is now known as luke-jr
<apteryx>our fleet of offload machines is not exactly reliable :-/. The overdrive1 keeps returning #f or some EOF. SSH access seems OK.
<apteryx>nckx: I've commented out dmitri.tobias.gr for now in machines.scm
<sss>hi all, i know guix does provide tools to create environment for development, how to properly use it, i need some entry points. i need to create environment with set of packages and tools included for development of cmake based project
<abcdw>yoctocell: Thank you for the tip, but why it appeared today? Yesterday it was working fine.
<abcdw>As a quick solution, I'll just repost the message here.
<yoctocell>abcdw: Hmm, I dunno. It only works for me if I use SASL
<abcdw> civodul, leoprikler, wingo: I found the place, which cause the problem I mentioned yesterday, found how to workaround it, but stil not know why it happens. The same code works differently with tracing and without, moreover it works differently if evaulaute forms one by one or the whole buffer at once and most interesting it works differently if I wrap the first argument of map into lambda. Very simple version of code to reproduce:
<abcdw>wingo: Wait a second, when I copy the code from pastebin it output correct behavior for me too, it's unexpected. Give me a minute to investigate.
<sss>xwx: try steam-run, you can install nix on guix host, and install steam-run in nix, guix does not have such package yet and i think it will not be added into official guix channel due to licenses issue
<leoprikler>itch sells proprietary stuff pretty hard as well, just because it's indie doesn't mean it's good :)
<leoprikler>(It does mean you don't get AAA "live services" tho.)
<sss>it's generally just FHS emulation with set of common libraries from ubuntu-like system
<sss>from my point of view it's best bug-for-bug approach in such case
<lisbeths>I just think it's contradictory that I can't get help running nonfree drivers yet someone can get help running proprietary games
<lisbeths>it should be limited to tux racer if I am not allowed to install it in my real hardware
<leoprikler>Yeah, we actually have a policy in place, that should prohibit both.
<leoprikler>Not that such tricks are all impossible in Guix, but we ought not to encourage them.
<sss>lisbeths: as for today, for me, guix is not ready to run as host os, but i really like it as package manager, but i am also do not use proprietary drivers, using yellow cards in linux is generally bad idea, just stick with intel or amd
<sss>lisbeths: as for installation of proprietary drivers, i belive nonguix channel have such thing, but not tested myself
<lisbeths>I abandoned guix for like 2 years becuase there wasn't a nonguix channel when I started
<leoprikler>Ahem, please stop distributing nonfree software through IRC.
<sss>lisbeths: guix is still young project, and nix-invented package management approach is still young too, so it's ok to have a lot of problems with it
<sss>leoprikler: it's just source code example, for reading ), and not software distribution
<lisbeths>some of us are itching for a lisp machine not just for an immutable package manager
<sss>leoprikler: shell script text, is it forbidden ?, in this case i am sorry
<abcdw>wingo: can you do M-x run-guile C-c C-k on this file? I tried right now: rm ~/.cache/guile and guile tmp.scm -> Correct, after that evaluated the same code with geiser in emacs and it produced Wrong, after that guile tmp.scm also producec Wrong behavior.
<leoprikler>You still shouldn't advertise it on IRC. The NixOS description for it comes with the clear disclaimer, that it is nonfree.
<sss>lisbeths: for now i just do not know much about lisp, so can't appreciate it properly, but guix and nix approach to package management is really big thing
<lisbeths>people who can afford a libre wifi dongle are privelaged. I am poor and I need a nonlibre kernel
<sss>leoprikler: ok, understood, but it's the only way to solve task
<lisbeths>I teach poor romaninan children how to code as well they cant go order some $20 wifi dongle they have to fend with what hardware they can find or often steal
<leoprikler>Well, I'm privileged in the sense, that I don't need a Wifi dongle.
<wingo>abcdw: i can repro if i "guild compile -O3 foo.scm"
<xwx>sss: The itch io client is under MIT. So it can be added to guix right ?
<leoprikler>not quite, it encourages non-free software and thus is not FSDG-compliant
<abcdw>wingo: Oh, thank you!) I started suspecting that I'm loosing my mind)
<lisbeths>I make minimum wage I can not afford any hardware except scraps that I get often which do not support libre kernel
<lisbeths>we would all like to be running purely libre hardware on riscv but this is not heaven
<leoprikler>I myself own hardware that doesn't function with linux-libre.
<sss>xwx: i think yes, but it will most probably won't work because of most app's is for FHS based system
<lisbeths>most of you who can afford open hardware that supports a libre kernel in fact make that money by writing proprietary software which is decietful
<leoprikler>But still, there are rules in this place against encouraging such methods. You will find them on your own with the search engine of your choice.
<leoprikler>I think most of us frequenting #guix try to write as much free software as capitalism permits.
<abcdw>leoprikler: the original code was much bigger and did some miningful things, I just crated a separate file to make a smallest possible example, which demonstrates the issue. BTW, what was about map and for-each?
<lisbeths>telling people to run it in a virtual machine is just a nonfree kernel with extra steps
<leoprikler>If they're forced into a job, that doesn't allow them to, then that's unfortunate, but they don't get to advertise the produce of their job here.
<lisbeths>I could be making 90 thousand dollars a year writing proprietary code and I refuse
<lisbeths>instead I work at a gas station part time so I have free time to teach poor kids how to code linux
<lisbeths>last summer I taught 5 kids how to use linux
<leoprikler>Where do we tell people to use virtual machines?
<jlicht>abcdw: really no rush implied, if you find some time to look at it in a month I would still be super happy
<tissevert>the whole point of guix is to get reproducible package management
<PotentialUser-60>rekado_: Unfortunately, many apps are not packaged in Guix, and the update process is very slow!
<abcdw>jlicht: cool, added a task to my backlog, will let you know when I finish with it)
<jlicht>PotentialUser-60: We are always looking for help, and depending on the specific piece of (free) software you are looking for, there might be alternatives for getting it running on a guix system
<Noclip>Compilation fails with "./configure: No such file or directory". What do I need to do?
<tissevert>plus, it's surprisingly easy to get things working quick'n'dirty when you really need something in a hurry (I've done that too much) and you learn a lot in the process ! : )
<tissevert>Noclip: disable the 'configure phase in your arguments to gnu-build-system
<tissevert>honestly it was a long shot, I have no idea what you're trying to actually do, but it sounded like an issue I had with a trivial package of mine with only a Makefile and no autoconf / automake anything and so no configure script to call
<tissevert>by the way: so I have this only «PREFIX» parameter to pass and I just have no idea what's the «proper» way to do it
<tissevert>so far I've just added #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) and disabled all relevant build phases : 'configure, 'build, 'check…
<tissevert>I understand that writing a configure.ac could be the way to go but it seems awfully complicated and after reading about it for several hours yesterday afternoon I still have no idea how to wire a simple --prefix into the Makefile ^^
<rekado_>I think it’s funny that Guix offers more than 17k packages and *still* it’s never enough.
<Noclip>The compilation failed now at another point so I guess the .configure issue is fixed now. Eventually I forgot a dependency.
<Noclip>Guix package building is secure and shouldn't be able to corrupt my host OS, right?
<cbaines>civodul, right, I see the issue. I wouldn't be sure what would happen when reading responses, but I guess it must break cleanly
<abcdw>curious_one[m]: I don't have any foreign distros to play with, so can't try it myself. I'll try it on Debian someday, but not today. You can wait for zimoun, he probably knows how to deal with it.
<abcdw>leoprikler: Technically it possible, but semantically doesn't seem to be correct. Anyway, even if we do not consider downsides of gexps here, what benifits would we get from using them for sway-config?
<tissevert>woow configure.ac and all the stuff seems pretty unusable ^^ I'm gonna stick with a nice homemade configure script : )
<abcdw>BTW, to make the discussion more constructive and detailed, we can go to rde-devel mailing list, I will post the patch for review soon, you can add your thoughts here.
<leoprikler>abcdw: the benefit would be, that you could write something like (config (include #~(file-append sway "/etc/...")))
<leoprikler>then again, I don't 100% understand your config options, so I may just be confused by what you're doing here
<abcdw>Did you mean (config #~(list (include #$(file-append sway "/etc/...")))) ?
<abcdw>leoprikler: you can just place gexps inside if you want: ,#~(gexp-stuff-here)
<leoprikler>yeah, but doing so looks more like a hack than anything else
<abcdw>leoprikler: I'm not very expirienced guix dev, but looks okeish to me. Also, it's quite a rare case (at least I think so), when you need a full-fledged gexp inside the config, in most cases file-like objects are more than enough.
<abcdw>jlicht: I do not know too much about GUIX_EXTENSIONS_PATH, so I can't answer to your question yet)
<jlicht>abcdw: put another way, if "some person" would hand you a patch that would do exactly that, would it be considered for inclusion?
<jlicht>provided it doesn't break unrelated parts of the code or lead to a massive refactoring effort, of course
<apteryx>civodul: I feel we're very close to have all the artifacts of a first RC ready, but I'm struggling with offloading to overdrive1: Throw to key `match-error' with args `("match" "no matching pattern" #<eof>)'.
<apteryx>ah, the tunnel fell again. I'll restart it with autossh
<dante>I am using gnu guix as a package manager on top of trisquel... and I have noticed a few strange things. Installing libvirt-glib and/or gnucash from guix caused the user to end up in a login loop
<balance>Hello! Please help with next issue, want to build litecoin-core, using scm file, first step is "wget https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/finance.scm" and add similar to bitcoin-core-0.21 strings (add link to tar.gz file, calculate hash, add calculated hash etc.) with litecoin-core-0.18. But when i do "guix package -i litecoin-core-0.18 -f finance.scm" i see error: "guix package: error: cannot install non-package o
<balance>bject: #<unspecified>". Discovered that this is not a problem with litecoin-core strings... when try to install bitcoin-core from original finance.scm file have the same error.
<apteryx>civodul: about the hard dependency on guile-lib; that's because of not using autoload correct? Which I had to do to be able to use the %strict-tokenizer? globally to #true. That's not the only way, but the most convenient (we could bind it every place we call html->sxml, or use the strict? keyword there)
<civodul>apteryx: yes, that's what i did: use #:strict? #t
<rekado_>(just noticed that wrap-script is a little broken; I remember a bug report about this…)
<tissevert>thank you very much, I think that answers my questions
<tissevert>so, inputs for all normal runtime dependencies that are used through compiled code, propagated-inputs for scripts where the dependency is merely text in the middle of text and hard to determine whether it gets executed or not (halting problem, how cruel thou art) ?
<balance>rekado_: thank you for help, will test it
<pineapples>I need your second opinion, Guix. I'd like to package a FLOSS python library, but there's a twist: from what I've gathered, it's exclusively used in Valve Software's nonfree video games, and their digital game store frontend, Steam, which is also nonfree. My question is as follows: do you think that this python library suitable for inclusion in our package tree, or not?
<leoprikler>Just because it's hitherto only used by Steam doesn't mean it's worth less per se. If it requires Steam on the other hand…
<pineapples>To be more specific, it's a module for (de)serilization to and from their in-house VDF file format, which these nonfree softwares use to store some metadata
<rekado_>pineapples: I assume that it *can* be used in other contexts and its purpose by itself is not to further proprietary software. Given that it is free software I’d say there’s no FSDG conflict.
<rekado_>sounds like a perfectly fine thing to add to the package collection.
<yoctocell>Is anybody running xinit/startx? When I run `startx', I get an error about X not being found "xinit: unable to run server "/gnu/store/s1b6sva8zi9ng54wb70d4z4pj5ywr1sx-xinit-1.4.1/bin/X": No such file or directory". But `readlink $(which X)' gives me "/gnu/store/a89ch18dfcjwrxbi35cbybjv9d6f9gwf-xorg-server-1.20.10/bin/X"
<roptat>I don't really know what's going on, but I guess "it's complicated" :)
<balance>just installed guix on i686 but guix pull doesn`t work, when trying to "guix pull" a error occurs: "guix pull: error: Git error: the SSL certificate is invalid". Installed git nss-certs... How to solve this?
<bone-baboon>civodul: In regards to the stress test you shared for bug#47927. I put that snippet in a shell script, made it executable and ran it. It has no output, finishes very fast and `echo $?` outputs 0.
<zzappie>bone-baboon: try using guix environment guix
<zzappie>it will ensure that things that are needed for development are in your env
<zzappie>Contributing section of the manual describes it in more detail
<zzappie>don't forget to pass --localstatedir to ./configure
<zzappie>I was playing with (guix marionete) and system test yesterday. It didn't occur to me at first that system tests are essentially derivations and only (marionete-eval ...) parts are evaluated in vm.
<zzappie>This actually means that you could have several marionettes in one test and connect then via quemu net socket interface backend or something like that
<zzappie>Anyone knows wether it already has been done in guix?
<lfam>Not every decision is made by the source of money
<bone-baboon>lfam: Maybe adding a NTP check box (at the same point as the nss-certs) which is enable by default but can be disable. The issues is when a computers date and time are not correct. Seems to happen with i686 computers.
<pineapples>I was in the middle of debugging `seatd' when I discovered that sysrq+k kills some of system proccesses, such as dbus-daemon and syslogd, even though they don't hold TTY fds. Could someone confirm?
***priyanshu is now known as pri
***pri is now known as Guest45995
<lfam>I'm looking at the installer now. I guess I'm not sure how you can use it in a way that leads to NTP being omitted
***Guest45995 is now known as prirai
<lfam>I see, if you don't select any graphical environments, then NTP is not there
<lfam>I'm going to see about changing that. It's extremely unusual that somebody would want there clock to be incorrect
<bone-baboon>lfam: Yes it is when no graphical environment is selected. However I think it should still be presented to the user so they can deselect it if they do not want it. I do not have it on any of my systems.
<nckx>It's time to bust out ‘...and that's the best kind of correct’ again, because... well, it's true. openntpd just keeps your clock set. It doesn't synchronise your home lab to the atomic clock you bought on eBay. Both are valid use cases.
<lfam>Sure, it's "good enough" for many use cases, but why choose something is categorically worse at the job
<nckx>Doubly so for chrony, which I packaged and use on all my machines but is just objectively overkill. Anyway.
<nckx>This is not a discussion that will end in a result.
<lfam>I recommend doing that, and I also recommend experimenting by running `env` within the environment to see what has actually been done
<lfam>Your questions are a little imprecise, so I'm not sure exactly how to answer them
<lfam>Basically, a simple invocation of `guix environment foo` creates a development environment for foo. It's ephemeral and uses environment variables to achieve its goal
<lfam>`guix environment --ad-hoc foo` makes foo itself available in an ephemeral environment
<lfam>When we say that the environment is ephemeral, that means that the environment is created by launching a new interactive shell with some environment variables set
<lfam>As soon as you quit the shell, the environment is lost. However, the work required to create the environment is cached in /gnu/store, so the next time you try to use the same command, it may launch more quickly
<lfam>I hope that helps, and please ask more questions
<darth-cheney>lfam: Thanks. Sorry for being unclear. I'm trying to determine how I could use an ad-hoc (preferably container-ed) guix environment within emacs without having to use a bash shell
<lfam>Gotcha. I'll leave that question to the Emacs users :)
<yoctocell>Is there a way to refer to the output path of a package in the `#:configure-flags' argument? Something like `(#:configure-flags ,(list (string-append "--with-xserver=" "/gnu/store/...-xorg-server" "/bin/X")))), but I want the /gnu/store/... path to be inserted automatically somehow.
*nckx apologises for defending ‘recent btrfs’ as a usable file system in this channel a few weeks ago. It is a broken toy. Use ext4 until something replaces both.
<apteryx>nckx: Was the system unrecoverable even after managing to free some space?
<nckx>apteryx: I couldn't free any space because there's no way to remount rw, the accepted answer on-line is ‘reboot’ (although I welcome alternatives if you've found any!), and the (remote) machine never returned from that adventure.
<apteryx>ah, OK, so you don't have physical access to the machine
<jackhill>lfam: nckx: thanks, yeah, I think if I had to multiple things in that dir with-directory-excursion would look more attractive. If the directory changes, this will fail the build, so it won't go unnoticed.
<jackhill>Now to decide if a comment is nessisary for why I'm duing this substitution. The phase name is "reference-nvim" and its purpose is to patch in a absolute reference to a dependency
<nckx>apteryx: I did have that open, also ‘First, unmount your filesystem. We cannot operate on a read-only filesystem.’ However, I really appreciate how everyone's so supportive. Now that the RedVision has subsided I consider mine a bit of a low-effort rant.
<chikamungus>I had difficulty installing guix system with an encrypted filesystem... I could enter the password the first time but the second time, my laptop keyboard wasn't functional - it seems to be a usb keyboard!
<nckx>It was pent-up energy after staring & thinking for half an hour in mild panic, for sure. I have backups, but they will take days to restore.
<chikamungus>I tried adding a few relevent kernel modules at boot but nothing worked for me. I ended up reinstalling with an unencrypted fs but if anyone has any good ideas about what i could have done, I'd be interested. I have had about 10 years away from linux so go easy with me!
<jackhill>ok, I think I'm done tweaking things now. Sorry about forgetting in-reply-to for git-send-email and breaking threads for folks.
<jackhill>chikamungus: I don't have any good advice for you, sadly. I've experienced the oposit problem (where grub didn't activate my usb keyboard (if it was plugged into an exteral hub instead of directly), but linux would)
<jackhill>perhaps I should submit that patch to guix-patches. Not sure I'm so happy about all the substitutions, but I don't think it provides another way :/
<Noclip>jackhill: Yes, I'm working on it and at the same time learning guix packaging.
<Noclip>jackhill: Is your package definition working? (You said you got distracted so I assume it's not?!)
<jackhill>Noclip: awesome, worthy exersize. I'm going to submit my patch to the patch tracker, and perhaps we can collaborate there. Unfortunately, I found bees to be a bit more fiddly than other software since it doesn't have a good way to inject a lot of things autotools configure would take care of.
<jackhill>Noclip: it builds and all the files look good, and it can find its libraries, but I haven't run it against a filesystem yet. I was going to do that via a proper Guix service, but I didn't yet know enough about services then.
<bone-baboon>lfam: I included all the errors I had in the bug report for bug#47964. I have just done another pull and am trying to do a reconfigure. webkitgtk is being built right now. For this reconfigure that is building it I did not specify cores or jobs.
<Noclip>jackhill: Your definition is already much much longer than mine but mine still fails on installing.
<lfam>How much memory does your computer have, bone-baboon?
<jackhill>Noclip: well, maybe mine could be made shorter, or perhaps you can get inspiration from mine of how to fix the problem in yours. I'm not attatched to mine, so if you come up with a better version :)
<bone-baboon>lfam: On the computer building webkitgtk 8GiB installed but `free` says something less than that as total available.
<Noclip>jackhill: However as I also had issues with util-linux and the uuid the main developer of bees (Zygo) made some patches today and removed the dependency on util-linux. According to Zygo util-linux isn't used in bees since a long time but the compilation process still referenced it as dependency ...
<bone-baboon>I have the full log but it was too big to email how would you like me to send it?
<lfam>Is it too large even when compressed with xz?
<pkill9>i like that guix environments are just stored as guix profiles
<jackhill>Noclip: some comments: look what I did with "CC=" ,(cc-for-target). That helps us for cross-compiling. Also, we try to package released versions of software in Guix. Hopefully there'll be a 0.6.6 release soon :)
<Noclip>How do I add a new line with "check:" to the end of "Makefile"?
<lfam>Adding a new make target to work around the problem is not what we'd prefer
<bone-baboon>lfam: Compressed the build log for webkitgtk with `lzip --best`. I have emailed it.
<Noclip><jackhill "Noclip: some comments: look what"> This is my first self made package definition and my main goal with it was to get it at least working. Making it as clean as possible and then adding it as pull request to the repo wasn't my goal at all.
<Noclip>I did however plan to share it here so that someone who has a bit more experience and knows how to make clean guix package definitions could clean up my definition and then add it to the repo.
<Noclip><jackhill "Noclip: for bees, the checks can"> I think that did something different than my quick and dirty solution. It was a fraction of a second slower and threw much more log information to the console.