<lfam>Or am I thinking of things in the wrong way? <vagrantc>lfam: it still requires reviewing the results, but yeah, either take the defaults, or if you don't want the defaults, you set an override <podiki[m]>seeing another core-updates-frozen issue (I think), but via flatpak <podiki[m]>leading me to notice our p11-kit package is out of date <podiki[m]>newer version adds distrust_after support (an API change I think) <podiki[m]>I'll check if it builds with a simple version/hash update, would a version bump make it to core-updates-frozen still? it has a ton of dependents, so would be good to do with the other world rebuilding changes <char>Is there any special procedure for updating important packages like sbcl (Steel Bank Common Lisp)? I just updated the version locally, and it builds and runs just fine. <robin>(the ones used more than 10 times are: out, doc, debug, static, lib, cargo, bin, python, and jdk; then there are a dozen or so used by 2-9 packages, and a bunch of unique ones) <lfam>char: It's good to test that packages that use SBCL still build and work <lfam>Basically, we batch changes that cause many packages to be rebuilt <awb99>can someone tell me how I can install i3 window manager to a running guix? I tried adding more than one windowmanager on initial install, but that would fail. so I want to do that now. <dthompson>anyone ever get an error like "corrupt input while restoring archive from #<closed: file 7f3cd65a9e00>" when using guix deploy? <dthompson>I suspect it may be due to not having updated the remote system in quite some time, but I haven't been able to get much additional information to use for debugging. <jgart>those without commit access are welcome to review also, of course <jgart>It's a notmuch client written in mercury. It's currently packaged for gentoo, alpine, nix, and aur. But not guix ;) <singpolyma>Hi all. I'm wokring on packaging some Haskell libraries, notably hedis (redis client) and running into a strange issue. If I run guix build it hangs forever trying to run the tests, but if I run guix build -K ghc-hedis and then ^C then hanging tests, guix environment hedis and cd to the /tmp dir, then run runhaskell Setup.hs test it works fine. Trying to think what could be different in the way guix <vagrantc>singpolyma: do any of the tests call out to the network? <singpolyma>vagrantc: oh, aha! Yes, it seems one of the suites expects redis to be running on localhost + default port <iskarian>singpolyma, if you don't use `guix environment --pure --ad-hoc bash -- bash; . environment-variables' or similar, you'll still have stuff from your current profile available <vagrantc>singpolyma: so either disable that test, or start a redis from the test environment ... i think. :) <singpolyma>Yeah, I will just run only the doctests for now I think <jgart>Hi singpolyma, do you have the haskell libraries you're working on up somewhere? <singpolyma>jgart: not yet, I will prep patches for them soon just need to eyeball them and probably write some descriptions now that they all build <singpolyma>curious, when I use guix environment --pure -L. my-project I can't find a way to actually build it in there. Always get Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with Cabal. Use the flag --package-db to specify a package database (it can be used multiple times). <singpolyma>but the haskell-build-system was using runhaskell Setup.hs configure for sure itself... <jgart>singpolyma, any chance you'll package cheogram? <singpolyma>jgart: I am working on cheogram-sip right now first, but yes, I will package at least all the dependencies for cheogram <iskarian>singpolyma, did you copy all the flags from haskell-build-system as well? <iskarian>(I usually look at the build log to see the actual command executed and just copy that) <singpolyma>We want to use guix to deploy on our next server (not system, just guix packages on debian) <jgart>why not implement a jmp-service-type <jgart>but guix packages on debian would be an awesome first step. That would be great, nonetheless <singpolyma>Well, I have to get everthing at least compiling first. Then we can talk about how crazy we want to get ;) Mostly looking to use profiles on the server to give ourselves auditing and rollback features on a per-app basis. vs my current cheogram + cheogram.old system ;) <jgart>If you get it all working with guix it will be development/installation bliss compared to doing it the usual way I bet <singpolyma>iskarian: yeah, it looks like haskell-build-system creates a package-db directory in /tmp during the build and uses that, maybe doesn't set the env var that the environment does. Would be nice if I could hack on the project in an environment thought without bending over backwards <iskarian>oh, singpolyma, after the guix environment command, did you source "environment-variables"? <singpolyma>iskarian: hmm, I think I've not communicated clearly. I'm not trying to build from my haskell-build-system /tmp folder now. guix build does that for me now ok. I'm just trying to figure out a workflow for using guix environment to hack on the project itself using the packaging metadata I have now written for being able to invoke guix environment <jgart>It'd be awesome to hack together a purescript-build-system using spago at some point. I bet it would be nicer than using easy-purescript-nix <iskarian>Ah, you mean how to edit the code, then test-build it the same way guix would? <jgart>singpolyma, I want to be able to just do the following: <jgart>guix environment --ad-hoc purescript purescript spago purescript-prelude purescript-halogen -- spago repl <singpolyma>iskarian: I mean, maybe? I just want to be able to build it at all, running any of the normal haskell build commands just gives me an error because of this env var guix has set <singpolyma>I can unset the env var, but then it can't find any packages of course <iskarian>Hmmm, I would just always let Guix build it, by using --with-source or similar just using local-file for the package's source field, and use -K so if it fails I can inspect it. <iskarian>But I don't think that's what you're looking for? <singpolyma>That's not as nice when I'm hacking on the project because guix build isn't incremental <singpolyma>so it would be a rebuild from scratch on every edit that way <iskarian>You could write a custom .scm file that pulls phases from haskell-build-system, then run that? ***califax| is now known as califax
<podiki[m]>singpolyma: yes you need to unset that variable of the package path if you are building something outside of guix (I do that for my xmonad build script) <singpolyma>podiki[m]: what do I then set to replace it so cabal can find the packages, though? <podiki[m]>not entirely sure what you mean (or what cabal does), but you want that unset and cabal will handle it from your project file I think <podiki[m]>if you mean find the guix haskell packages, then...let me see <singpolyma>and that doesn't re-build the dependencies again? <podiki[m]>ah, I let cabal handle all of it in this case, but my haskell guix profile has the external deps needed (libraries) <podiki[m]>yes it will build it, but in cabal's system, and will only rebuild as necessary. so that is separate from guix in a way <singpolyma>Right, so just not using guix for the haskell libraries in that case <podiki[m]>if you want to do it within guix's system more (if I understand what you want), then I would look at replicating what the haskell-build-system does (but that doesn't run cabal) <singpolyma>Which is what I do now, so I can keep doing that of course <podiki[m]>yeah, I'm using some git checkouts and local code <podiki[m]>alternatively would be to make a guix package that does this (e.g. my custom xmonad package), but I haven't tried <nckx>bcachefs master just grew snapshots, and Guix's might be the first bcachefs-tools package to support them đ *nckx checked the AUR, yes. <singpolyma>For sure, just for example in a ruby project packaged for guix I can guix environment -L. my-project and then using ruby and irb and all normal tooling inside uses the ruby gems from the guix store and doesn't need to download anything <podiki[m]>but I think looking at the haskell's build system in guix will let you know how guix does it if you want to build in a guix environment setup <singpolyma>but maybe there is no equivalent haskell workflow possible yet <podiki[m]>I think it should be, whether or not it is so easy to figure out right now I don't know <podiki[m]>sounds like you want a `guix environment haskell` hacking setup. would be nice to figure out! <nckx>Will they BUG() your kernel? Possibly. Did they pass xfstests? Yes. *nckx is building theirs now. <nckx>Nah, not enough $features yet. <nckx>I mean, features I don't care about myself, so I'm perfectly happy. <drakonis>maybe i should build a kernel with bcachefs enabled and run that? <drakonis>i have btrfs but i'm willing to go hog wild with bcachefs <nckx>I'm pretty sure it doesn't. <drakonis>i want casefolding for a very specific use case <drakonis>running software that assumes my filesystem is case insensitive *nckx thinks âsurely there's a FUSE for thatâ. <drakonis>i looked up and the weirdest FUSE i found was one that let me use regex on my filesystem <drakonis>clowniest shit i've ever seen, i love it <nckx>Why do I find case folding morally repugnant and cheer regex file systems. <drakonis>casefolding is something that requires embedding unicode into a filesystem :V <nckx>Embedding unicode into a file system how? <drakonis>casefolding on ext4 is something you have to optionally toggle on a per directory level <nckx>Oh, OK, embedded in that sense. I really thought it would be a mount option. <nckx>But nope. It's a âthis directory has brain-{dead,melting} semantics nowâ bit. Okay⊠<drakonis>its basically "all of your writes will be redirected to a file that has the exact same name but with different casing" <drakonis>nckx: i should prepare some of my package patches <nckx>Atone for your sins against unix. <podiki[m]>I too have some new packages to send, and surely have committed sins to atone for <podiki[m]>and thus we must continue the work of making guix better, the never ending road to salvation <drakonis>the road to hell is paved with good intentions. <nckx>And the friends we make along the way! <iskarian>Hey all y'all working on packaging: I know it's a pain to do it, but can y'all take an extra minute to make descriptions a little more consistent/descriptive (and sometimes more concise)? (see "Synopses and Descriptions" in the manual) <3 <podiki[m]>will do iskarian, and is perhaps one reason I haven't submitted yet, I know I have to look over those ;-) <iskarian>Good package descriptions make a huge difference to users using `guix search' <podiki[m]>I also thought I would include some usage hints for guix (e.g. if you need to include the package in system for some functionality or something with udev/dbus rules) <podiki[m]>because I find that lacking in some packages where it isn't clear something on the guix-side for usage <drakonis>i have a laundry list of features i want to include on guix <podiki[m]>(e.g. I like some Arch packages that tell you where the config file template is, or something you need to make it work in some way) <nckx>drakonis: What kind of patches are you sitting on? <drakonis>oh, its mainly patches for gzdoom and quakespasm plus some updates to r packages <drakonis>since i had finally gotten it to function properly <drakonis>but didnt submit because i was trying to get a working mailbox, now that's solved, i can finally send them through <drakonis>i only have a specific bug i have to deal with, which is getting getting fluidsynth to work again, timidity++ works though <drakonis>gotta get the sound backends working properly <drakonis>i'm getting increasingly comfortable with using guix for everything now <RRRRedEye[m]>could guix use another place to build? it fail to build icedtea, it tell (No space left on device) <jlicht>Silly/lazy question, but are folks using wayland (e.g. sway) + pipewire on guix system? I'd really to see a system config that allows me to hit the ground running, so to speak <civodul>to hit the ground running... wouldn't that hurt? *civodul uses Xorg, waiting for EXWM to be ported to Wayland <robin>jlicht, my impression is that a lot of people use xorg, but wayland appears to be available and sway is packaged already <robin>pipewire is packaged but i don't believe it's integrated with anything else yet (system services, etc.) <soheil>Is this config ok to install Nvidia? <soheil>(I need a non-free settings for temporary workâŠ) <soheil>After the "reconfigure" command, the computer stops while building "webkitgtk" and there is no other way but to kill the computer! <civodul>soheil: hi! as you might have seen when you logged in, non-free software is off-topic <civodul>you can join maybe the nonguix channel for this <civodul>however, we're happy to help you with other Guix issues you may have :-) <robin>yes, you'll probably need a non-libre kernel for the presumably-proprietary drivers (which you can DIY in config.scm or i believe nonguix has packages; you'd want to add a channel for the latter) <Soheil[m]>civodul: Sorry, I do not intend to advertise non-free; As I said, this is only for temporary work. Can you help? This problem starts with webkitgtk, so it is related to free :) <robin>oh wait, i missed the beginning of the file <robin>yeah, if it's broken you'll probably need help from the nonguix project <robin>Soheil[m], the computer freezing is odd though. that started happening to me after my cpu heatsink fan died... <Soheil[m]> * civodul: Sorry, I do not intend to advertise non-free; As I said, this is only for temporary work. Can you help? This problem starts with webkitgtk, so it is related to free :) <robin>Soheil[m], it might be worth trying e.g. the '--cores' option with build commands to reduce resource consumption <robin>you can also offload builds to a more powerful machine if that's an option <PurpleSym>rekado_: Iâd like to do a non-fast-forward push to wip-haskell, but itâs rejected. Is that branch âprotectedâ? <rekado_>you can delete the branch and then push anew <rekado_>I think thatâs the case for all branches. <attila_lendvai>what idiom shall i use if i want a return-from from a block, or the entire define-function? <vivien>Do you mean like call-with-escape-continuation? <attila_lendvai>vivien, yes, return-from can be implemented with call/cc, but i'm looking for an idiom that is more straightforward. but i'll just use a tree of and's... the test system is stupid enough not to bother with this. if i'd invest more into this then i should just port over my hu.dwim.stefil lib from CL. <dthompson>has anyone else had difficulty with guix deploy lately? I believe I have a client-side issue that I haven't had determined the root cause for: error: corrupt input while restoring archive from #<closed: file 7f148a8b5e00> <attila_lendvai>vivien, sorry, i misread you. yeah, that is rather simple, but still one too many lambda's for my taste. i made a note of it, though, thanks! <attila_lendvai>vivien, yep, that's something like what i was looking for, thanks! <efraim>sneek: later tell Soheil[m] I'm in and out all day, I'm on my phone now. You'll get better support from the main Guix channel for making sure you have all the substitute servers enabled <robin>attila_lendvai, oh, re: you mentioning manifests: iiuc they're effectively lists of packages, so that you can put it in a file and version-control it or whatnot, vs. imperatively building up a profile with a series of install, etc. commands. they're not very clearly documented atm <robin>the --manifest help in (info "(guix)Invoking guix package") is probably the most useful explanation in the manual right now <robin>i don't entirely understand why it's all that useful to prioritize manifests over the old methods, or possibly to even deprecate --file etc., personally <robin>although i can see why they're useful at times; i've used them with 'guix environment' to work on software with long, constantly-changing build deps, like browsers for example <robin>but with build -f for example...it's just require extra boilerplate, changing '(define-public my-package ...) my-package' to '(define-public my-package ...) (packages->manifest my-package))' iiuc <robin>also one can generate a manifest from a profile with 'guix package --export-manifest' <robin>which is maybe the best of both worlds (for some users) *attila_lendvai is making notes <PurpleSym>civodul: I donât see a good reason to keep two loaders :/ <moshy>hi guix. It seems the 'clear' command is missing from the system, which package is needed to access it? <lilyp>you can clear the screen with C-l <lilyp>but if you must know, ncurses <moshy>even better, thanks for the hint <civodul>PurpleSym: ah sorry, i guess i didn't pay close attention to the patches; so the conclusion is that we can drop this one? <PurpleSym>civodul: Yes, if darktable is working on core-updates-frozen after your merge. <civodul>PurpleSym: ah ok, so someone will have to confirm <lfam>Yesterday there was talk of pushing some changes to core-updates-frozen that would rebuild everything <lfam>We should coordinate this, right? Since the changes are not all part of the same patch series <Librecat>yes finally someone online in a libre distro chat room <lfam>The latter two are not really "rebuilding the world" but they both affect Rust, which is huge <roptat>I think rust affects quite a lot of packages now on core-updates <roptat>I don't remember exactly, but I think one of the graphics libraries now require it <lfam>It's a huge dependency graph so we might as well be synonymous with "the world" <Librecat>librsvg required by anything that needs svg which is adwaita-icon-theme <roptat>it depends which time of day, and 2 minutes delay is not that much ^^' <Librecat>anyway in 2025 we will reach a solar maximum which is a peak of cosmic rays that happens every 100 years i learned this from the 17th trending video on youtube normally i dont watch trend videos but i trust this person about correct information since its an information focused channel and i think the reason it isnt number 1 trending is because its in turkish <roptat>it's not irc, but just, we also do other stuff at the same time <Librecat>i think M$ Crapple and alike will start buying a bunch of radiation shielding to prevent their hdd's from being erased <Librecat>imagine if all propritary software gets lost <roptat>my understanding is that it won't affect anything, since cosmic rays mostly don't come from the sun anyway (there is no noticeable change during a solar eclipse for instance) <Librecat>imagine if someone bootstraps gnu/linux from a handmade extremely slow risc-v cpu to a libreboot desktop and that is the only thing that people can use <Librecat>roptat: yeah but solar radiation was relatively low since 1990 <Librecat>and its gonna do its once every 100 year peak in 2025 ***ec is now known as tjl
<roptat>I doubt even a *10 increase would change anything for us ***tjl is now known as tlj
<Librecat>so we would lose 1 bit on 1 in 1000 hard drives and maybe lose power for 3 days and thats it <Librecat>roptat: the same video says telegraph lines started smoking in the previous solar maximum <roptat>yeah, but that's not cosmic rays <Librecat>also sorry for getting over hyped maybe will do some reading before commenting on this <Librecat>also i have been thinking about bootstrapping gnu/linux from nothing ever since the pandemic <lfam>I guess it's one of those things we are just going to cross our fingers about <roptat>bootstrapping is extremely interesting, even when there's no global catastrophe :) <roptat>disaster* (maybe a better word?) <Librecat>yeah right how do we make the first copy of binutils when all of them dissapear <slyfox>if you have source lying around you would probably have a binary too <Librecat>binaries are 1) architectue 2) kernel headers 3) libc 4) bootstrap dependant ***tlj is now known as tjl
<Librecat>thats why everybody avoids asm when they can <Librecat>and try to move low level code to C and Rust <radvendii>I'm trying to add a really simple phase that just prints out the files in a certain directory for debugging purposes, but I'm very new to guile scheme. Is there a good place to look for all the commands you can run from a phase? <Librecat>has someone bootstrapped a libreboot pc beforr <Librecat>like trying to use as few binares as possible <nckx>Honestly, radvendii, if you're using anything but the trivial- or copy-build-systems, (invoke "ls" "-l" ["-R" etc.]) is probably the easiest to type and remember if it's just for debugging. <Librecat>something like 1) build LFS 2) build the Coreboot dependencies 3) build libreboot and flash 4) build a truly free distro using the LFS 5) install the built iso <radvendii>ooh excellent. Secretly I really wanted to just write shell commands, but I didn't want to seem uncultured :P <Librecat>maybe i will try it someday IF i can find a libreboot compatible motherboard somehow <nckx>radvendii: If that's just too ugly to contemplate, you can (pk (find-files "." REGEX)) too âș <Librecat>how likely is a motherboard from 2008 being thrown out into the trash by small computer shops as "scrap" <nckx>Who does such unmentionables. <nckx>Sell them on eBay to loons like me, people. <radvendii>nckx `pk` is for printing? How would I have found that on my own? Is there documentation of commonly-useful ones? I don't even know if that's general scheme or specific to guix <Librecat>nckx: people that dont even know that ubuntu is a thing when the motherboard breaks or idk becomes too slow for windows 10 or starts lacking the cpu instructions to run modern apps? <nckx>radvendii: It's Guile. I don't actually know if/where it's documented in the Guile manual⊠(a search for \bpk\b finds exactly one example with no explanation). <Librecat>like most people who can afford a cheap modern pc wouldnt care about a 2008 model pc <nckx>radvendii: It stands for âpeekâ [and return, so you can just replace VARIABLE with (pk VARIABLE) in an expression and it will still work]. <nckx>Or even (pk "My random debugging comment" VARIABLE) which will return only VARIABLE. <Librecat>nckx: so imo most computer repair shops will either donate it to a charity or just throw it out <radvendii>okay. well i'm glad people here are friendly at least :) I feel bad asking so many basic questions, and i very much appreciate the help <nckx>I guess it pays to get to know your local computer shop even if you don't buy computers in shops. Rubbish costs money; some places are happy to give you theirs for free. <slyfox>i think it's a great place to ask <nckx>(Just don't mention storage or customer files.) <Librecat>radvendii: well dont be afraid someone will answer <nckx>radvendii: Please don't feel bad and just ask, that's what this place is for. <nckx>Conversely not getting an answer doesn't mean people are consciously ignoring you or think you made a faux pas. People do all kinds of other things while on IRC. <Librecat>nckx: my strategy for obtaining one of the 2 libreboot motherboards is to ask every small computer shop i can find in cities and towns i go to regularly for them <Librecat>radvendii: its like a giant discord server <nckx>I wish I knew of any decent PC repair places near here. It's all âsmart-phone repairâ now :-/ <Librecat>nckx: it doesnt have to be a decent shop just buy one of the 2 motherboards and try to repair it <Librecat>i learned to troubleshoot a desktop and replace any faulty parts myself <Librecat>nckx: i also happened to have a pi3 lying around so lucky me <radvendii>yeah, i've used IRC extensively in the past. It's just been a while since I've been this much of a noob with something <Librecat>the people saying rtfm and "this distro isnt for you go use ubuntu" they dont understand the fact that some people dont have the background to understanding documentation <Librecat>you can even ask which folder do i put in ~/.themes <Librecat>the answer is the folder that contains index.theme <noisytoot[m]>If I add (hosts-file (local-file "/etc/hosts")) to config.scm, will changes to /etc/hosts persist when I reboot? <Librecat>well dont know about guix or nixos just came here to chat <roptat>noisytoot[m], you might have a problem if you do that: that /etc/hosts will get replaced with a symlink to the store after you reconfigure <roptat>so you'll lose the content of the file (though it will be saved to the store), and you won't be able to change its content <roptat>you could have something like (hosts-file (local-file "/etc/hosts.orig")), so you can modify /etc/hosts.orig and reconfigure to apply the contents <Librecat>arent you happy with the current translations <roptat>mh? there is a turkish translation? <roptat>I can only see translation of the website <roptat>oh, I'm talking about translations of guix itself <roptat>if you have some free time and you want to help :) <attila_lendvai>git-authenticate: is anyone here familiar with it? authenticate-repository acts like it can be called with any start commit, but in fact it's only ever called with channel-intro-commit and channel-intro-signer. am i right assuming this? the reason i'm asking is that (null? authenticated-commits) is not a valid condition to decide whether it's an channel-intro commit or not. <Librecat>well i need to know how guix works really well to do decent translations and i am not intrested in learning guix since i need nonfree software and i havent been sold on guix package management due to inode exhaustion and the libc being located in store preventing me from running tarballs or appimages <attila_lendvai>i have an extensive test case for it not, but fixing it is becoming somewhat more involved than i planned <Librecat>i dont wanna write a package for everything <Librecat>i just wanna configure make make install anything missing or nonfree <roptat>I find it fairly easy, but I can understand <Librecat>i wanna stop distrohopping and challenge myself to see how long can i keep gentoo running on my main computer <Librecat>i wanna not reinstall that gentoo for atleast a year <nckx>The nice thing is that using Guix isn't mandatory (yet) in most countries. But note that the {extra-,}special-files-service-types are a thing and make it easy to put select things into a global /lib if you really want to. (âSelectâ, because it does become a mess if you want fifty.) <roptat>well, you can still install guix on top of any other distro <nckx>But isn't that why people install GentooâŠ? đ€ <Librecat>well gentoo gets harder to keep running as /etc/portage gets more and more clogged up with old entries and also i believe that fixing build failures will teach me about something <nckx>It will certainly do that. <Librecat>nckx: well when distrohoppers encounter a problem they cant fix easily they hop away from the problem <Librecat>so they dont learn how to solve that trick question until they run into it a couple of times and finally decide to fix it <nckx>That sounds like a strategy that hits a dead end after a month, at most a year. <Librecat>and i think the previous one was 1 or 2 old until i borked it trying to extract a raspberry pi image to /mnt extracting arm64 alpine linux to an x86 gentoo root <Librecat>anyway thank you rms for giving birth to gnu/linux *slyfox deleted 10 years old gentoo today <stikonas>what are you doing with your gentoo if after 3 months it gets borked... <jpoiret>was guix-home merged recently? i just saw guix-home while guix pulling <sneek>Welcome back jpoiret, you have 1 message! <sneek>jpoiret, iskarian says: re: finding guile bindings, I'll often just search the guile manual, the guile source code, and/or the guix source code. Geiser seems to think about half of everything is "define"... <jpoiret>alright, disregard that, there is a news entry about it <yoctocell>PurpleSym: It has been a few hours, but CI has only built one package on wip-haskell. Is this expected? <jackhill>What do we do with the versioned namspaces for go packages? The go importer suggested that I package go-github-com-russross-blackfriday-v2 but we alreay have the same package without the v2, alhtough it looks like a v2 version anyway? <awb99>does someone know how I can add an application launcher to guix running i3 wm ? <ruffni>awb99 what do you mean by "application launcher"? do you just want to launch something after logging in? <awb99>I only can add new terminal windows to the i3 config. <awb99>and I ideally would like to have some kind of launcher, where I can start m apps. <nckx>(e.g.) bindsym $mod+Escape exec --no-startup-id dmenu ? <nckx>What do you mean you can only add new terminal windows to the config? <awb99>WINDOW + ENTER = add a new terminal window. <nckx>But why can't you add other commands? <awb99>I will try to add this config. <nckx>awb99: Install dmenu and try adding that line. <dstolfa>Librecat: we may be a bit biased here, though *dstolfa double checks... yep this is #guix <awb99>would I still keep my ~/.config/i3/config <awb99>or will guix somehow make changes to this config file? <nckx>(I'm not biased, I have the opposite problem: I never recommend anything [restaurants, music, âŠ] to people because I feel 100% responsible for their subsequent enjoyment or worse, lack. It is a stupid reflex.) <Librecat>nckx: lol mee too i have a hard time recommending something to someone <ruffni>Librecat: working together on a big one instead of re-installing gentoo every x months ;) <slyfox>also reinstalling guix is a lot faster than gentoo :) <Librecat>yeah hyperbola felt instant next to gentoo <Librecat>no compiling just install install install <Librecat>it takes you more time to remember the package names than to have the packages install <nckx>However, the guix command itself is no speed racer. It's been too long since I've used Gentoo but I can't imagine non-build commands taking longer than Guix does. <nckx>And I'm just talking about âguix pullâ, the equivalent of âcave syncâ or âemerge --syncâ(?), not âbuilding libreofficeâ. <Librecat>i think the reason i like gentoo is because of their untold "simple but really effective" philosophy <nckx>So if that annoys you, eh, it will annoy you. <Librecat>guix pull takes forever with very little output <Librecat>its so simple to make a gentoo package i *think* you can just give it a source tarball link and <dstolfa>sounds like your regular guix package <Librecat>the defaults should give you a default build of the package <slyfox>the trick is to get depends right :) <civodul>wigust: hey! what's up with the Guix Home merge? <civodul>i don't think we were quite ready yet <Librecat>maybe because gentoo is waaaay more popular <Librecat>also unlike arch gentoo is a stable distro closer to debian <dstolfa>ultimately what stops me from running gentoo is just how much power is used on compiling things myself that i don't need to compile <Librecat>i wouldnt have liked gentoo if i didnt have really powerful pc's <dstolfa>i have clusters with multiple 32-core machines and 256 gigs of RAM in them, i could build things myself, but i just prefer not to do it unless i absolutely need to (i've modified the kernel and libc and i broke the KBI/ABI and now i just need to rebuild things myself) <dstolfa>i personally find it irresponsible to waste power on something i don't need to <Librecat>lol for a long time i thought i made the fastest gnulinux with gentoo until i tried freebsd yesterday and it was a little faster than that <ruffni>Librecat: well.. that's not exactly a gnulinux ;) <slyfox>yeah, you need to disable quite a bit of hardening in default distros nowadays <dstolfa>there are some niche cases where freebsd will be much more reliable and outperform linux the kernel <dstolfa>but the same is true the other way around <dstolfa>e.g. if you want to do zero copy static content serving with the fastest disk -> NIC path with long uptimes, freebsd is probably your best choice today <dstolfa>whereas if your goal is a HPC, maybe GNU/Linux is the better potion <Librecat>another reason i like gentoo is how advanced it can get like with some effort you can even get portage to make you an embedded rootfs <Librecat>i have seen a presentation about guix as an embedded system and its even more impressive <Librecat>i wonder what would happen if guix and portage merged <slyfox>guix is probably more straightforward at that due to precise build and runtime dependencies. <nckx>That's all possible (and in certain respects, you can go much deeper) with Guix, but you're probably much more on your own. No pasting commands from wikis and a lot more writing your own code. ***batkinson is now known as gorjusborg
<Librecat>i wonder what would happen if we could take guix and made it use ebuilds <Librecat>and have it cross compile a reproducible rootfs <Librecat>also ebuilds have dependencies too runtime buildtime and regular dependencies <Librecat>so thats what seperates guix and gentoo guix is more for daily use while gentoo is more for unusual stuff <Librecat>i hope there is a gentoo based truly free distro one day <dstolfa>Librecat: you can make gentoo use linux-libre and reject any non-free license <yoctocell>I feel like it at least one or two people should have a look on the code and docs before merging <civodul>yoctocell: yes, apparently wigust hit the merge button, which is didn't expect just yet <civodul>and now we have an incentive to all work on it i guess :-) <vivien>The online manual doesnât have a section about guix home yet, I think <roptat>vivien, it takes time to rebuild the manual, but it will be there in a few hours probably <vivien>Iâm waiting to know if I can use it to do my backups <roptat>if you've pulled, you can use the local manual <vivien>But the best info viewer is a web browser on the generated HTML ^^ <vivien>I think what makes the biggest difference is that the info viewer (or emacs) use a monospace font, which is generally terrible to read things <vivien>(I need to amend my take, reading monospace code is OK but reading documentation is better in non-monospace font) <vivien>Do you know if itâs possible to use non-monospace for the info mode? <vivien>Iâve never touched this subject with emacs <muradm>any one had to deal with libiidp11.so? i have a security dongle which i can't make working under guix and worse guix with java ***mark__ is now known as mjw
<drakonis>muradm: does it work with other distributions? <muradm>drakonis: trying to remember it now, how it was on arch <muradm>worst case will have to make hands dirty with backups crawling <muradm>seems like it was safenet auth client <muradm>LD_LIBRARY_PATH=./lib ldd ./lib/libeToken.so.9 | grep "not found" | wc -l => 18 ... ugh.. that will painful.. :) <awb99>flatpak run com.visualstudio.code <awb99>is there a way to add this command so I can start it as an application ? <podiki[m]>awb99: flatpak creates desktop files, but you may need to add it to your xdg_data_dirs <muradm>libstdc++.so.6 was not in gcc-toolchain? <podiki[m]>flatpak has an /etc/profile.d script to do this that you can source, or it should warn you in a terminal about what directory to add <podiki[m]>but the desktop files include a store link to flatpak, so we should fix that (otherwise will break on flatpak updates, unless it automatically rewrites it?) <podiki[m]>(also, you probably want to do everything as flatpak --user) <awb99>thanks podiki! how can I add flatpak desktop files to xdg_data_dirs ? <roptat>awb99, probably, export the right directory in $XDG_DATA_DIRS in your ~/.bash_profile <berkowski>is there a way to have guix build somewhere else besides /tmp ? <roptat>you can set $TMPDIR for the daemon <roptat>if you're on a foreign distro, you can set it in /etc/systemd/system/guix-daemon.service <berkowski>yeah, that's exactly it. Working w/ silverblue. Been having decent success for the last few months until something needed openjdk. <PurpleSym>yoctocell: The CI is in a terrible state right now. So many missing essential packages that it almost does not make sense to build anything⊠<berkowski>roptat: Setting TMPDIR in guix-daemon.service is creating the build directory where I want it now, but the build process itself is still using /tmp. For example, trying to build classpath, in ~/build/guix-build-classpath-0.99.drv-0/environment-varaibles I see entries like: export TEMP="/tmp/guix-build-classpath-0.99.drv-0" <berkowski>and then I get configure errors because it looks for files that don't exist <roptat>berkowski, guix build uses a separate namespace in which $TMPDIR becomes /tmp, so we can ensure reproducibility (even if you choose a different /tmp, the result is not affected by that choice) <roptat>but if you're trying to continue the build from outside, it might become an issue <radvendii>How does guix deal with cyclic dependencies among go modules? For example, github.com/google/protobuf depends on google.golang.org/protobuf and vice versa <radvendii>when I use `guix import go -r` this creates a cyclic dependency that makes guix run out of memory <berkowski>roptat: oh, ok. No, haven't tried continuing the build yet. This failure with TMPDIR set for the daemon is new so I just started poking at it. Before the build was failing just due to running out of space. I must not be reading this new error correctly. <radvendii>I guess it would help if packages were imported at the package level not the module level, since packages can't have cyclic dependencies but modules can? <podiki[m]>awb99: I'm not at my guix with flatpak computer, but it usually outputs what directory if you try to run something from the terminal and it doesn't see it in xdg_data_dirs <podiki[m]>or look in the flatpak store directory for the script it puts in /etc/profile.d (which you can just source in your profile, which I do) <berkowski>roptat: for closure's sake, the build volume wasn't mounted with exec permission. Changed that and things seem to be chugging along. Thanks for your help <radvendii>Aha, I'm gathering that's what `#:import-path` vs `#:unpack-path` is for <podiki[m]>yeah, I want to try out guix home soon too (but now I'm on core-updates-frozen...) <dhruvin`>I can finally use emacs to configure guix (home) that configures the emacs running inside guix (system). :) <sneek>dhruvin`, you have 2 messages! <yoctocell>I am getting "*** No rule to make target 'etc/guix-gc.timer', needed by 'all-am'. Stop." when running `make clean && make', any ideas? <roptat>yoctocell, I don't think it should be removed by make clean, but maybe it was? Can you recreate it with "git checkout etc/guix-gc.timer"? ***betelgeuse8 is now known as betelgeuse
<civodul>muradm: it sets up the search path so that the Guix modules can be found *nckx misread libiidp11.so as libpdp11.so and had an immediate visceral I MUST PACKAGE THIS reaction before they could even think. <muradm>actually i made small script, but i can't run it successfully with #!/usr/bin/env -S guix repl -- !# <muradm>so i turned to plain guile with #!/usr/bin/env -S guile --no-auto-compile -e main -s <muradm>because there is no "-e" option, impossible to identify script path, and hard to pass arguments <muradm>when using guile in /usr/bin/env, all works good, but i get invalid values from (run-with-store (open-connection) ...) <muradm>so now i'm trying to understand what i need to set in plain guile, to make (guix store) work correctly <muradm>to run legacy jar files in ad-hoc manner <muradm>this works with guix repl, but then i have to hardcode args, because i can't pass them reasonably <muradm>and does not work with plain guile, probably due to search path you mentioned <muradm>comparing %load-path from guile and guix repl there is only guix-module-union missing <radvendii>when i define a phase i get an `arguments` argument. Is that an association list? <Guest33>Hi, I am trying to use GNU Cuirass for CI of a personal project. As I am defining a Package module to fetch and build, I am using the git-fetch function. Looks like this requires an sha256 hash of the git repository for a specific commit. And the documentation says that I should find it by running guix hash <Guest33>I am not sure how that is practical to do for a CI system :-/ .. I am confused .. any help? <nckx>radvendii: They are ice-9 optargs which you're expected to handle with (lambda* (#:key foo bar #:allow-other-keys) âŠ), see the Guile manual. I don't even know if they're implemented as alists but I didn't think so. <civodul>Guest33: hi! currently Cuirass is meant to be used for packages defined in a channel <civodul>it's not directly usable as a generic CI system <Guest33>Ok, this is what I was starting to think. So should I be looking into writing a channel for my project(s)? <civodul>well, you could do that by making your project look like a channel to Cuirass, defining a single package <Guest33>so it isn't necessarily like Hydra then? <civodul>yeah, there are similarities and differences <Guest33>yes, ok, I will give that a try. And this would not require computing a guix hash all the time then? <civodul>right, you'd add a .guix-channel file in your project and module file somewhere containing the package definition, with (local-file "..") as its source or something like that <civodul>but i've never actually tried it so... <civodul>(i'm interested in the use case anyhow!) <Guest33>ok. Am I just crazy to think that this whole reproducible-build is a good idea for personal projects? Do warn me if you see any obvious pitfalls in doing so <Guest33>they aren't just personal projects actually, I do collaborate with them <Guest33>I will poke around a little more. I am a bit tired of gitlab and it's CI and was looking into alternatives, and ran into this. <roptat>Guest33, for my own projects, I usually have a guix.scm with "(source (git-checkout (url (dirname (current-filename)))))" in the package's recipe <roptat>it might be less error-prone than local-file <nckx>Guest33: I haven't tried it myself, but builds.sr.ht *just* grew very early Guix support. <nckx>It may work! It may not. It will probably do something inbetween. <roptat>although, I just don't have any CI, so haven't tried that with cuirass <Guest33>@roptat .. So now with guix.scm in there, how would you tie that into cuirass? <roptat>I think just follow ludo's advice, make it look like a channel <roptat>I just use it as a nice way to get dependencies and try the package with "guix build -f guix.scm" or "guix environment -l guix.scm" <Guest33>Ok, will try that and report back .. maybe with another name :) .. using the webchat <roptat>Guest33, also, maybe replace (dirname (current-filename)) with the url of your repo <vivien>For my project, I have 2 git repos: the main git repo, and a channel git repo. The main git repo has an update hook that computes the commit ID and hash of the latest commit of master, and updates the channel repo. This lets me have a channel that always have the latest master commit, while still letting me rebase the main repository. <vivien>(also I have a ci.scm file in the main repo that the update hook builds in the sense of guix build before accepting the commit) <attila_lendvai>vivien, if it's public, can you please post a link to that setup for copying it? <civodul>sneek later tell wigust there are several unbound variable warnings under gnu/home-services <vivien>I donât know if it can be useful to anyone, though ^^ <civodul>having to change the source hash is inconvenient though :-) <vivien>Version 2.0 of the whole CI mess on my package will be such that Iâm computing the hash and commit in a local hook before pushing, and I wonât have to update the hash server-side, just check it. <sneek>wigust, civodul says: there are several unbound variable warnings under gnu/home-services <wigust>civodul: apologies for the rush with merge, i thought it was ready <wigust>civodul: I sended a bug report. Some variables come from non-existing in Guix file, but existing in rde project. <yoctocell>attila_lendvai: any progress on the idris2 bootstrap? I am trying to bootstrap idris2 0.5.1 from 0.4.0, but the tests hang <yoctocell>However, bootstrapping idris2 0.5.1 from the included chez files works just fine <attila_lendvai>yoctocell, yep, it's working, but i haven't submitted it yet. needs a bit more cleanup, mostly to be able to chain-bootstrap and shortcut-bootstrap it. <attila_lendvai>normal guix and CI shouldn't bootstrap it from GHC, but i want to add a user callable function that can compare the two <yoctocell>attila_lendvai: great, looking forward to the patches :-) <civodul>at least now we have an incentive to address these things real quick :-) <civodul>thing is, we don't want to make false promises to users regarding API stability <civodul>at this point, we can already tell it's prolly going to change significantly, starting with the module names <civodul>yoctocell raised other points in that thread <nckx>I could add a note to the manual to that effect, that it's a âtechnology previewâ with no guarantees? <nckx>Or someone else can smuggle it in with the next update âș <civodul>nckx: there's already a note in the manual, so we're good on that front <quidnunc>Does anyone known how to configure guix from the Ubuntu package? The current-guix path in /var/guix/profiles doesn't seem to contain packages I've installed using guix install <lilyp>quidnunc: current-guix is for `guix pull' <lilyp>thee profile `guix package' uses should be symlinked to ~/.guix-profile <lilyp>(`guix install` is shorthand for `guix package -i`) <quidnunc>lilyp: Thanks, I'm new to guix, are you saying .guix-profile should be the source or destination of the symlink (and what is the other end?) <lilyp>the destination, it links to somewhere in /var/guix/profiles/per-user/$USER/, which links to somewhere in /gnu/store <lilyp>you shouldn't need to take care of those symlinks on your own, though