<KarlJoad>I'm curious. How long does it take for patches to be reviewed, usually? <nckx>AwesomeAdam54321: Just FYI, that's like debugging someone not answering your call when they are lying dead. Or, er… something. Aaanyway: the issue is the segfault above it, not the broken pipe. <nckx>You could check dmesg to see what exactly segfaulted, but I don't know if it will be useful. <nckx>Definitely a bug worth reporting if you don't get answers here. <nckx>KarlJoad: Too long. If you don't get a response for more than a week, a friendly ping is fine. <mbkamble>Hi. I am using fish shell as my login shell. could someone guide me how to write the code for (home-environment ... (services ... (service home-fish-service-type ...))) so that the generated fish.config will source the $GUIX_EXTRA_PROFILES/<profile>/<profile>/etc/profile for all profiles under $GUIX_EXTRA_PROFILES? <mbkamble>I believe I will ned to use home-fish-extension, but I don't know how <tinybronca[m]>"So, no, systemd is not going to become a package manager, because ordinary distros won't have a package manager at all, except maybe Flatpak, or Snap or something similar. The new functionality, including managing installed kernels, is to facilitate A/B type dual-live-system partitions." <ahriman>snap is already reliant on systemd, so it may aswell count as the systemd package manager? XD <zamfofex>I’ve let Guile 3.0.7 build on the VM again, and it seems to fail during the tests. The log file in ‘/var/log/guix’ is entirely empty for some reason. <zamfofex>Now, it takes multiple hours to even get there, so I’m a bit hesitant to let it build again. <nckx>Good thing Guix is no ordinary distro! ***tremon is now known as tremon_
<ahriman>zamfofex: im building Guile 3.0.7 build in a 12 core 8GB-ram VM, it really is taking very long <zamfofex>ahriman: Are you using the Hurd too? Or are you running Guix on Linux on the VM? <zamfofex>Note that you might be able to speed things up by using the ‘--enable-kvm’ flag to QEMU if you haven’t already. <ahriman>my qemu command had `--enable-kvm -cpu host -smp 12` <ahriman>i'll leave this overnight, and if i dont forget i'll come back XD <KiranShila[m]>Am I missing some PAM configuration here? I have `pam-limits-entry` setup such that it creates `* - memlock unlimited` in `/etc/security/limits.conf`, but those setting are not being applied. `ulimit -a` shows that the memlock size is unchanged. <KiranShila[m]>Ah I see - pam_limits.so is only enabled in `login` in pam.d <zacchae[m]>If someone made a pull request for something like this, would guix even accept it? I searched the manual for "windows" and came up dry, so I'm wondering if there is some policy against doing something like this <lilyp>If only there was a package manager that could support more than two system generations... <ardon>Hi guys. I'm trying to spin up a server with Guix on a VPS, but after booting up the ISO and building the new system with `guix system reconfigure', it complains about `Out of memory: Killed process'. Is my best bet to include an `ssh-service' in the ISO and then invoke `guix deploy'? Or does anyone know what are the memory requirements of Guix? I'm currently trying it on a 1GB RAM cloud instance from Vultr <jpoiret>sneek, later tell civodul: do you think it'd be ok if we used (@@ (ice-9 popen) piped-process) like maximed suggested? i don't think it'd be worth it to reinvent the wheel, maybe propose exporting it upstream? <jpoiret>1gb is definitely not enough, i'd suggest using guix deploy from a local machine instead <efraim>ardon: unfortunately I'd suggest 2GB minimum <zamfofex>Hello, Guix! I’m trying to use a Hurd VM service to offload builds, but I keep getting an SSH error. ‘guix offload test’ tells me “Access denied for 'publickey'. Authentication that can continue: publickey,password”. I have some more info to share, just give me a moment. <jpoiret>what kind of key are you using? wasn't there some deprecation recently? <ardon>efraim, jpoiret: Thanks, I'd mostly use it with `guix deploy' though, so it was more about the initial installation of the system. I'll try and see if I can rebuild the VPS with an ISO that has an openssh service running <jpoiret>great! maybe it'd be worth to have a 'minimal VPS bootstrap ISO` <meo>ardon: you may want to turn on swap <meo>tldr dd if=/dev/zero of=/swap bs=1M count=2048 && mkswap /swap && swapon /swap <zamfofex>jpoiret: What deprecation are you talking about? <jpoiret>meo: you can use fallocate also to avoid having to fill it with zeroes <meo>jpoiret: oh nice i didnt even know its a thing <jpoiret>swap is almost always dirty anyways, the kernel doesn't need it zero-initialized <jpoiret>zamfofex: disregard that, you use ed25519 <zamfofex>It is strange because I can use ‘ssh’ and it works, but Guix can’t seem to. <pkill9>does anyone use guix on qubes os? <lilyp>zamfofex: Guix doesn't use your own SSH keys <zamfofex>lilyp: It uses root’s, right? But I was able to connect with ‘sudo ssh’ too. I also went as far as to add root’s public key to ‘/etc/childhurd/root/.ssh/authorized_keys’ to no avail. <zamfofex>At any rate, I need to be absent for a while now, but I’ll be back later! <rekado>for as long as I can remember, bash completion of Guix commands hasn’t worked for me. <rekado>I’ll type “guix package --manifest=<TAB>” in a shell in Emacs (M-x shell) and I get a REPL error. <rekado>it does seem to work in a Gnome terminal, so it must be something to do with my Emacs settings. <rekado>do you have any ideas on how to debug this? <blake2b>in guix we don't configure, we schematize :sunglasses-emoji: <unmatched-paren>So, someone in #hare recently noted that the leap-seconds.list file that Hare uses for timekeeping is not included in their distribution's tzdata. I checked, and we don't have it either. Would we be able to graft a new version of tzdata that includes leap-seconds.list? Or are grafts reserved for security updates only? <nckx>unmatched-paren: In tzdata's case you'd just update the main tzdata package whilst making sure tzdata-for-tests doesn't change. *jonsger[m] wasn't aware that combining 16:9 and 4:3 on Wayland (on Xorg I guess as well) behaves so badly... <nckx>So much nonsense in that convo. <nckx>rekado: That ‘Unknown object’ error is what I get when I do *anything* with guix in Emacs, including M-x guix-all-packages. As for completion, M-x shell doesn't use bash/readline's and must roll its own. For example it fails at completing ‘ls --’. <pashencija[m]>I want to have conditional arguments inside invoke. How do I do that? <unmatched-paren>maybe something like (invoke (apply string-append `("foo" "bar" ,@(if flag '("--flag" "10") '()))))? probably a simpler way <rekado>(apply invoke (your constructed list here)) <rekado>do what unmatched-paren wrote and build a list that’s either empty or contains your flags <nckx>The ,@ unmatched-paren used above is particularly significant. <nckx>Then there's system*, just to confuse you. <rekado>pashencija[m]: you can also use append if you don’t like to quasiquote and splice. <rekado>(apply invoke (append (list some args here) (if foo (list bar baz) ()))) <unmatched-paren>`,@` is like `,`, but it splices the list that it's given into the quoted list. So `(foo ,(list 32 12)) returns (list 'foo (list 32 12)), whereas `(foo ,@(list 32 12)) returns (list 'foo 32 12). <rekado>1) you wrote “@” instead of “,@”, and 2) you’re using “,@” outside of a quasiquoted expression <nckx>Anyway, the suggestion to use append if this confuses you to much right now is a good one. <unmatched-paren>I still don't understand why whoever invented unquote-splicing didn't think to add a regular splice. <unmatched-paren>(Its comments are #, not ;, in case you're thinking that that would just be a comment) <rekado>pashencija[m]: have you tried using append? <rekado>“apply” takes at least two arguments: a procedure to apply and a list of arguments. <nckx>unmatched-paren: That hurts my brain, but if Janet is a Lisp I guess they somehow made it work? <rekado>you use append to append several lists of arguments into one <nckx>Oh, it's inspired by Lisp, more like. <rekado>pashencija[m]: the mcopy thing is a separate expression <unmatched-paren>Well, it has macros and lisp-like syntax, but it doesn't have cons cells <unmatched-paren>Anyway... pashencija[m], you understand what quote, unquote, and quasiquote do? <nckx>pashencija[m]: Then your indentation is very misleading. <unmatched-paren>(Janet also has quoting etc, so it gets two out of three Lisp points :P) <nckx>unmatched-paren: Er, for one, how would you implement it? <nckx>Granted, I've given it all of 5 seconds thought because of your suggestion, you probably much more. <rekado>pashencija[m]: (quasiquote (hello world)) and (quote (hello world)) both result in a list containing two symbols: 'hello and 'world. <rekado>pashencija[m]: the difference is that inside of a quasiquote expression you can unquote to compute a value. <rekado>e.g: (quasiquote (hello world (unquote (symbol-append 'mama 'mia)))) <rekado>this computes (symbol-append 'mama 'mia) first and so you get '(hello world mamamia) <unmatched-paren>quasiquote, quote, and unquote all have special syntatic sugar: a quote '(), a backtick `() for qq, and a comma ,() for uq. <rekado>there’s also unquote-splicing, which has this syntax: ,@ <rekado>unquote-splicing is just like unquote, except that it “opens up” its list value and barfs it into the containing list <rekado>`(hello world ,@(list 'mama 'mia)) => '(hello world mama mia) <rekado>compare `(hello world ,(list 'mama 'mia)) => '(hello world (mama mia)) <rekado>these things can be used to build up lists with conditional content <rekado>such as your list of arguments, which depends on whether a flag is provided <vivien>I use quasi/unquote a lot to replace cons because it’s easier to understand <vivien>And you can put more things into the list <vivien>`(,thing1 ,@other-things ,a-last-thing) <rekado>pashencija[m]: your intention here is to build a list of arguments for “invoke”, and the exact appearance of that list depends on some other value <rekado>so you can either build this list by appending lists, or you can use quasiquotation <rekado>(apply invoke "ls" (append (list "-l") (if all? (list "-a") (list)))) <rekado>invoke does not take a list as an argument <unmatched-paren>apply takes a procedure and a list and uses the list as the arguments for the procedure <rekado>I encourage you to open a Guile REPL and try this <unmatched-paren>it's useful when we want to pass a list as the arguments to a function that takes any number of arguments <pashencija[m]>Can I do something like size-in-kib is done? What's the difference? <rekado>(list "-S" "1024") () —> (list "-S" "1024") '() <rekado>sorry, I don’t understand what you’re asking <rekado>I still encourage you to try building this up in a REPL <nckx>Open guile REPL, type () → error, type '() → happiness. It has nothing to do with ‘if’. <unmatched-paren>(...) is a procedure application; it expects to be fed a procedure. If you do not give it a procedure, it will not be happy. <rekado>personally, I’d move all the static arguments out of the list <rekado>apply takes *at least* two arguments, but it may take more as long as the last argument is a list. <rekado>(apply invoke "echo" "whatever" "I" (list "don't" "care")) <rekado>in your case this allows you to do without the “append” <rekado>almost, you’ve got unmatched parentheses <rekado>again, I strongly suggest you do all this in a REPL <pashencija[m]>I personally do not understand idea behind that 1024 sector size <unmatched-paren>pashencija[m]: btw, the matrix code blocks are a little annoying on IRC. Could you please use a pastebin-like site instead? <rekado>what’s the difference between a paste site and a link to a … matrix paste thing? <rekado>(to me it’s pretty much the same) <nckx>Here too. Apart from weird ``` noise. <nckx>Well, at least with a paste site, people don't usually hide their actualy message in it. Maybe that's what unmatched-paren means. <unmatched-paren>ah, i was thinking of the "full message at ..." thing. _that_ is a little annoying <nckx>But yes, it's not *that* far from using a pastebin. *nckx was also confusing code blocks with the ‘full message’ thing. <nckx>I thought I'd seen code blocks with prose. <unmatched-paren>I _think_ when you have a message _with_ a code block, it becomes a full message at ... <unmatched-paren>pashencija[m]: It's just that Scheme is quite different from most languages that you probably know. <unmatched-paren>I'm sure if someone learned Scheme first, they'd find C et al quite bizarre. <pashencija[m]>But if it's developed for typical PC users... I'm too stupid for one <unmatched-paren>Don't say that about yourself. You just need to learn incrementally :) <unmatched-paren>Everyone is stupid in terms of $THING if they haven't learned $THING. <nckx>‘Either GUIX is made for hackers or for typical PC users’ is a false dichotomy. I'm hardly a hacker on a good day. <unmatched-paren>(btw, you clearly aren't a "typical PC user". You're using Linux, silly :) <pashencija[m]>I cannot learn. It's already a month I'm with guix and I still have no idea how to produce correct images for my board <nckx>pashencija[m]: That's how I feel when I'm forced to write YAML configuration files, which everyone falsely claims is simpler. It's just a different language. <nckx>It's not harder, just new. <nckx>rekado: To finish an old topic: installing emacs-bash-completion gives sane completions for coreutils options etc., and doesn't crash with guix. <nckx>It's still working around a general bug with guix in emacs but hey. <unmatched-paren>Well, there you go. You're using Linux in a VM. Still impressive for someone who says they're a "typical PC user". <unmatched-paren>The fact that you even know what a VM is means you are not a "typical PC user". <nckx>furrymcgee: Throws exceptions rather than ‘quietly’ returning a status you have to tediously check across thousands of packages. <nckx>‘Users’ are a myth, and Guix doesn't drink that Kool-Aid. <nckx>There's a lot of work left to make Guix more user-friendly, but in a way that benefits equally all users, not ‘users’. Projects chasing the latter make poor ‘I'd never use this myself but my users are idiots’ decisions. <nckx>GNOME had this bad. I don't know if they still do. I hope not. <pashencija[m]>I mean it produces correct partitions that depend on esp flag <unmatched-paren>I doubt that will ever change; GNOME explicitly dumbs down their UIs to make them easier to comprehend <pashencija[m]>It's not as polished as some other environments, but worth trying <nckx>pashencija[m]: Sway. I use mostly GTK applications, but that's really coincidence, and not saying much since I use only 4 applications daily (Emacs, HexChat, Firefox, foot) :) <unmatched-paren>I've seen LXQt 0.9, and it seemed to be fatally unpolished. But I haven't seen 1.0, which is probably far better. <nckx>My mother uses XFCE though, so I'm a bit familiar with it. <pashencija[m]>Lubuntu maintainers, for example, manage to break unbreakable things in LXQt <pashencija[m]>Should I amend the commit and make a new patch or create a patch to apply on top of the previous one? <nckx>unmatched-paren: ‘Are you using a VM?’ was a genius argument. I have to remember that one. <nckx>It would cover most people I've heard describing themselves as average users. <nckx>Selection bias is a thing. <nckx>I almost sent genious but it sounded too sarcastic. <pashencija[m]>nckx: I suppose most Mac users use VMs to run Windows software :) <pashencija[m]>There's a lot of useful software not present on apple systems <pashencija[m]>So, do I send an all new patch or patch on top of the patch? <nckx>Use -v2 (or -v$whatever) if you use git send-email. <nckx>If you don't already know how to merge patches: git commit --amend, probably. <unmatched-paren>A "typical PC user" doesn't _really_ exist any more... obviously there are still windows users, but most people are on "smart" phones now. So to an extent, any PC user is somewhere above average. <nckx>unmatched-paren: Smart phones kind of make the myth a reality, although I'm undecided on how much of it is prejudice. Nobody develops telephone software on the telephone. The ‘thank you, based dev’ rift is strictly enforced. <nckx>unmatched-paren: I use termux. I use emacs in termux. I have edited bash scripts in termux. You do not write software in termux. 😛 <nckx>Unless you hate yourself. <nckx>Ah oui. L' Association Intercommunale pour le Démergement et l'Epuration des communes de la province de Liège. *nckx looks up AIDE better. <nckx>Even they say ‘browse and touch your code on the go’ in the opening sentence. <unmatched-paren>My concern is probably unfounded, but I have seen "guix uses up your disk a bit faster than other distros" mentioned here. <unmatched-paren>pashencija[m]: It also seems to me as if Macs are dwindling in popularity among average PC users. I have not seen a Mac in a long time, barring some workplaces that are clearly using them to look professional. <unmatched-paren>So even if you're using a Mac normally, you are not an average PC user! :P <pashencija[m]>unmatched-paren: It depends on the city and country. The times I lived in Moscow, I saw a looooot of macs around. <pashencija[m]>In Turkey, for example, I see only foreigners use it in Starbucks <nckx>unmatched-paren: Answer at will, but ~whereabouts~ are you? <furrymcgee>I guess multiline strings would improve usability, <furrymcgee>Line number two! This line starts with two spaces <nckx>Right, I think I knew that. <unmatched-paren>there are not many macs. They are an endangered species here, and I hope there nobody tries to reintroduce them. <nckx>furrymcgee: What's wrong with normal multiline strings? <nckx>That does not look readable to me, sorry. <nckx>pashencija[m]: It look horror-like. <nckx>Anyway, multi-line strings are as simple as pressing return halfway your string journey. Even if you don't want a newline in your string you can split strings using \ , I think. <nckx>So you want heredocs, not multi-line strings. Gotcha. Hm. If that's possible, I don't want to know. <nckx>unmatched-paren: I actually quite enjoy writing bash. To the detriment of my Guile prototyping skills. I stick with bash PoCs faaar too long. <nckx>Everything's a data structure if you pipe it to sed! <nckx>Well, you urged me not to last I checked. <unmatched-paren>"{ foo = 32, bar = \"baz\" }" what do you mean, why are there are these strings and awk scripts? <nckx>pashencija[m]: It gets better if you put the (normal) effort into learning it. I installed Guix System without understanding a single Scheme character. I copy-pasted my way into functional bliss. <pashencija[m]>It's alright for ESP partitions, but not for any fat* partition in general <nckx>We should definitely add that as a comment, or the next person will wonder the exact same thing (and possibly break things). <pashencija[m]>Also, forcing page size to 1024 invokes some bug in Raspberry PI firmware (stored in EEPROM) <maximed>The rust-cargo crate fails to build with antioxidant. <unmatched-paren>pashencija[m]: you are talking about ESP partitions, EEPROM, and Raspberry Pi firmware. I don't think an average PC user will understand those terms. <maximed>making it (rust-cargo) build with sounds like heresy (to both cargo and antioxidant) :p <unmatched-paren>pashencija[m]: The only part of Scheme that's really hard to get your head around is call-with-current-continuation. <maximed>(fwiw, in most situations call-with-current-continuation can be replaced with call-with-prompt + abort-to-prompt <maximed>Those are supposed to be easier to reason about. <maximed>Haven't compared any call-with-prompt+abort-to-prompt with call-with-current-continuation myself though, I always use the (delimited) call-with-prompt <unmatched-paren>maximed: i suppose call-with-prompt/abort-to-prompt are themselves implemented in terms of call-with-current-continuation? <jpoiret>i think it's the other way around yes <maximed>basically, there's probably one big call-with-prompt around everything else for implementing call-with-current-continuation? <jpoiret>hmmm i thought i saw that written somewhere in the manual but i can't find it <maximed>Apparently call-with-current-continuation is implemented as a 'primitive' <jpoiret>it took me some time to understand dynamic-wind though <jpoiret>non-local control flow really messes with functional programming <jpoiret>basically, (dynamic-wind pre thunk post) runs pre before the dynamic extent of thunk is entered and post after it is left, which means that for example if you abort to a prompt in thunk that goes outside of it, post will be run <unmatched-paren>i think scheme's biggest weakness is how it tries to be both simultaneously functional and imperative <jpoiret>this lets you clean up things when there's a non-local exit <maximed>FWIW I think that should be implemented with the exception system. <jpoiret>the exception system is implemented with a prompt <nckx>unmatched-paren: I don't really agree that it tries. It just is—or isn't, depending on your POV. Which unfortunately does translate to being neither, sometimes. <unmatched-paren>The second-biggest weakness imo is probably that it's dynamically typed. <maximed>unmatched-paren: There are systems that add static typing to Guile <nckx>Are we voting? 'cause that's my #1. *unmatched-paren rubs hands together >:) <maximed>I thought it was named Guile d-theme but I cannot find that <KarlJoad>Is there an IRC bouncer already packaged in Guix, like ZNC? <nckx>There's just no service yet. <KarlJoad>Ahh. Maybe another project for me, after I get email working... <nckx>Apart from that, I think many people here use ZNC on Guix Systems. <nckx>In particular, logs.guix.gnu.org does. <unmatched-paren>nckx: I find that dynamically typed languages have a place, so I'm happy to use them, but once they start being used for big projects like Guix they become rather annoying to work with <nckx>unmatched-paren: Sure. Much like being functional, the Scheme thing to do would be to leave it up to the programmer. Some won't like that (but then they like Haskell so who's truly sane here) but it's the Scheme way. *nckx has nothing against Haskell :) <maximed>FWIW, I'm not opposed to using a static type system in Guix *unmatched-paren likes Haskell O_o <maximed>though not something I'd volunteer to do myself. <KarlJoad>Getting static typing on top of the dynamic typing of Scheme seems... masochistic... *unmatched-paren prefers Caml to Haskell though. <nckx>unmatched-paren: I'm just not clever enough to. <zamfofex>I feel like it would be nice to have a better way to verify types at runtime at least. If you claim “the argument must be a list of numbers”, I don’t care that it might not be checked at build time, but it would be nice to have it fail early tight then and there instead of failing later. <nckx>pashencija[m] has been kicked from #guix (No.) <singpolyma>Guile can do any lang we add to it. It's not just scheme <nckx>unmatched-paren has been kicked from #guix (No.) <maximed>zamfofex: There was some thread on guix-devel about a contract system à la Racket some time ago <KarlJoad>Oh, helpful for sure! Still feels like a hurculean amount of work. <singpolyma>Getting a useful guix package in BF I have not tried and probably will not <maximed>unmatched-paren: Why not directly write Guix in Guile bytecode? <nckx>Odd. Mornington Crescent isn't in Guix yet. <singpolyma>pashencija[m]: not much out there that's useful. There's the manual and the source, hed <lilyp>but machine code won't run in the guile vm smh <lilyp>you also lose backwards compatibility that way <nckx>It runs fine on QEMU, lilyp. <rekado>nckx: thanks, emacs-bash-completion works! <vivien>Is it OK if I split a commit into multiple commits? 1 - update version and hash, 2 - add new dependencies? It means that the first commit is broken but they do less things. <unmatched-paren>pashencija[m]: there's currently a mostly-working elisp frontend and a half-finished js frontend iirc <wdkrnls>Dear Guix, are there info docs for git? Guix info docs reference them, but on my system it tells me that they don't exist. <nckx>vivien: No, each commit should result in a sane state whenever possible. <singpolyma>unmatched-paren: the js frontend is pretty finished afaict <unmatched-paren>pashencija[m]: i think the point of the elisp frontend was so emacs could eventually switch to guile as its backend instead of having its own JIT thing for elisp <wdkrnls>I don't see an info file in the git share folder. <singpolyma>unmatched-paren: there is an emacs build that does that even. And it works. But the emacs project did not agree <singpolyma>I don't think it exists for latest emacs version <lilyp>It did work at one point, but it's stuck in the past <rekado>re JS: Guix accepts package definitions written in JSON. Wouldn’t take much to support an arguments field with ECMAscript body. <lilyp>Though "work" should go in scare quotes, because it didn't even use plain guile. <singpolyma>I want to work towards a reusable core of bindings that work for js, Lua, python, etc <lilyp>I think we have to differentiate between Guix the package manager and Guix the channel here <lilyp>Guix the channel does not accept heretic languages. <pashencija[m]>I just released Tobias Geerinckx-Rice on email and nckx are the same person O_o ***jesopo is now known as jess
<lilyp>singpolyma: joke's on you, I wrote a visual novel in Elisp (on Guile) <singpolyma>I know what the differences are, but in the context of guix I feel like elisp and scheme would just be exactly the same <lilyp>hmm, guile modules sadly can't really do the scheme-1 vs scheme-2 divide <nckx>pashencija[m]: Just out of curiosity (it's not hidden at all, quite the opposite): how? <nckx>Ah, ancient graveyard of broken shit. <nckx>Ah, ancient graveyard of nothing at all. <nckx>Thanks for satisfying my curiosity. It's interesting that it's never the (to me) obvious /whois that does it. <wdkrnls>Anyway, I was hoping to get some guidance on how to ensure info and man documentation is always available from Emacs even if the profile isn't loaded. <wdkrnls>I load a shell script in my .bashrc to place all my profiles on the MANPATH and INFOPATH. <wdkrnls>But that doesn't seem to help Emacs actually find things. <wdkrnls>For example, I see that R provides a lot of texinfo documentation that doesn't show up at all. <maximed_>wdkrnls: Are you starting emacs from a shell? <pashencija[m]><nckx> "Thanks for satisfying my..." <- whois shows you're "@nckx:libera.chat" <lilyp>I'd be surprised if R documentation ever showed up outside of R. <wdkrnls>maximed_: Good question. I guess I'm starting it from shepherd. That might have something to do with it. <maximed_>If it isn't started from a shell (e.g. directly from the graphical environment), then .bashrc won't be loaded I think <nckx>pashencija[m]: Interesting. That's a Matrix limitation. <maximed_>wdkrnls: I don't think there is currently a mechanism for starting Emacs from Shepherd <maximed_>unless you wrote a service yourself to do that <wdkrnls>I suppose I can add that line to the wrapper script I'm using to start emacs instead. <maximed_>Though I think the solution here is to just load the profile <unmatched-paren>`/whois nckx` shows... uh, `"whois nckx": command "WHOIS" doesn't exist` :P <maximed_>Profile not loaded -> not added to $PATH, $INFOPATH, etc. <maximed_>Profile loaded -> stuff added to $PATH, $INFOPATH, etc. <wdkrnls>maximed_: I started using separate profiles because it took way too long to update my massive manifest on my ancient laptop. <maximed_>wdkrnls: You can load multiple separate profiles <maximed_>All their $PATH and $INFOPATH ... will be combined. <nckx>unmatched-paren: Y'all using some messed up clients, by which I mean anything that is not the supreme and perfect HexChat. /quote whois would probably work. <unmatched-paren>nckx: Well, I'm using a client which doesn't even have a release tag yet :P <nckx>That name gave me a bloody nose. <wdkrnls>maximed_: That does make a lot of sense to me. <nckx>unmatched-paren: Interesting concept, a bouncer-first client. <zamfofex>I’m still a bit stuck trying to offload builds to the Hurd VM I set up. Does anyone have that kind of thing set up? <wdkrnls>Sadly, I think I'm pretty much going to have to give up on using R directly from Guix for now until the community grows. Everything is available and works perfectly from debian, but there is just so much. <civodul>wdkrnls: re missing Info files in R, it's worth reporting a bug <sneek>civodul, you have 1 message! <sneek>civodul, jpoiret says: do you think it'd be ok if we used (@@ (ice-9 popen) piped-process) like maximed suggested? i don't think it'd be worth it to reinvent the wheel, maybe propose exporting it upstream? <civodul>jpoiret: using @@ on external software should be a last resort IMO <maximed_>civodul: The idea is to export it in Guile (the external software) <civodul>i'd rather work on a fix in Guile proper and use it once it's available <civodul>then we should check whether piped-process has a "nice" interface <maximed_>but it won't be available for a while yet to Guix, so while we wait for a new Guile release @@ could be used <civodul>it wasn't meant to be exported so far, because i think it was kinda special-purpose <civodul>maybe we could @@ as an interim solution, once we know there's something else coming next :-) <maximed_>jpoiret: On the new patches: each individual change seems reasonable, but I have no idea if the whole accidentally introduces new bugs <maximed_>I've some ideas for things that can break constructions like piped-process <jpoiret>i've done some tests with threading, ie (par-for-each ... (iota 1000)) with just open-pipe* to cat and it hangs with current guile head but not with the patches <jpoiret>what i'm wondering is how we should proceed to get this in asap for cuirass, if these hangs are still occuring <maximed>jpoiret: Maybe a test that sets 'current-error-port' to a port with fd 0 and make sures it ends up as fd 2 in the subprocess? <maximed>And a test that checks that nothing breaks when fd=0, fd=1 and fd=2 are unset in the parent process <maximed>And does the fd closing logic work if fds 0...1000 are allocated, then the fd limit is lowered to 200, then open-pipe* is used? <zamfofex>I’m planning to set up a substitute server for the Hurd. But first I need to figure out how to offload builds to a VM locally. <zamfofex>I hate to keep bringing this up, but I’m completely stuck, and it’s really frustrating to me. <maximed>If so, hurd-vm-service-type can be used. <maximed>Only requires adding hurd-vm-service-type to the system configuration. <maximed>zamfofex: What command are you running? <maximed>I just read that message and was about to ask to run the following message. <zamfofex>It feels like there is an issue with how Guix connects through SSH. <zamfofex>Running ‘ssh -vv ...’ says it connects using ‘none’ as the authentication, which I think is meant to differ from ‘publickey’ which Guix tries to use. <zamfofex>I wish I could debug this more carefully, but I don’t know what I’d need to do. <nckx>Maybe you already know this, but have you tried connecting with sudo -i youroffloaduser@ssh first, and accepting the host key? <anadon>nckx: Can I get an ETA for 54630 ? I'd like to avoid straying from origin/master, even if it ends up being just a little. Sorry to be a bother. I want it in so I can get the C++ runtime for the Antlr4 package in. <lilyp>anadon: Did you not receive my response to your patch? <lechner>unmatched-paren: About pkg-config in Linux PAM, Guix would need a newer PAM release. I built and use it locally without issues after just updating version and hashes. Is a diff to -patches the way to go? Thanks! http://ix.io/3YTI <anadon>lilyp: Nope! Like last time, some emails seem to have been just dropped. I'm reading it on the debbugs page now. <emacsomancer[m]><KarlJoad> "Is there an IRC bouncer already..." <- KarlJoad: Weechat? <anadon>Strange. Well, on to version 3 of the patch. Crud. <KarlJoad>maximed_, wdkrnls: There is not a shepherd service already defined for Emacs. You will have to write your own if you want that. ***Xenguy_ is now known as Xenguy
<anadon>lilyp: Response sent. Can you confirm receipt? IDK why emails are being dropped like they are, but so long as they are I'll try double checking in here. <anadon>I need to leave to do stuff. BBL <lechner>Hi, did someone else mention losing windows under X recently? <unmatched-paren>lechner: "pkg-config in Linux PAM" <- yeah, do a `git send-email --to guix-patches@gnu.org -a HEAD~`, assuming your commit is on HEAD :) <unmatched-paren>if your commit isn't HEAD then just check it out first. I've tried to do <commit>^ but it didn't behave like I expected. <maximed>unmatched-paren: that's only for a single patch <maximed>For a patch series, there's another process (documented in the manual) to avoid creating many bug ids <maximed>does anyone know why ix.io is blocked? <pashencija[m]>There's a function, that runs make-u-boot-package with special params and returns a directory in a store with uboot files(let's say `/gnu/store/ry78hc0jkpsp834ngcpl2mz52wjhj3jx-u-boot-rpi-4-2022.04/`) <pashencija[m]>There's a file `/gnu/store/ry78hc0jkpsp834ngcpl2mz52wjhj3jx-u-boot-rpi-4-2022.04/libexec/u-boot.bin` <pashencija[m]>I want to take that file in a gexp to store it in some directory (I run that gexp as partition initializer) <maximed>#~(copy-file #$(file-append (make-u-boot-package ...) "/libexec/u-boot.bin") "/the/destination)? <maximed>* #~(copy-file #$(file-append (make-u-boot-package ...) "/libexec/u-boot.bin") "/the/destination")? <maximed>Though you'll need copy-recursively instead <maximed>(requires importing (guix build utils)) <maximed>Because 'copy-file' only supports regular files, it doesn't support directories IIUC <maximed>or is the question about the importing? <nckx>Oh god. It's probably a hacking tool!!! (I'm on Proximus for the next hour or so, works fine here.) <pashencija[m]><maximed> "* #~(copy-file #$(file-append (..." <- `/home/pavel/factory/raspberry-pi.scm:108:65: Wrong type to apply: #<package u-boot-rpi-4@2022.04 gnu/packages/bootloaders.scm:665 36406790>` <maximed>pashencija: why are you putting a (... after the file-append? <maximed>pashencija: u-boot-rpi-4 is (probably) not a procedure <maximed>u-boot-binary lives inside the gexp, not outside the gexp <maximed>pashencija: What about #$uboot-binary? <maximed>I don't think you need #$uboot-binary anywhere, unless you'd like to replace file-append by string-append <maximed>just replace (u-boot-rpi-4) by u-boot-rpi-4 <maximed>Oops I read your original question wrong, copy-file will work there as u-boot.bin is a regular file, not a directory <maximed>(though copy-recursively should work too I guess) <pashencija[m]>`./guix/ui.scm:554:4: In procedure copy-file: No such file or directory: "tmp-root/u-boot.bin"` <maximed>Is (guix gexp) imported at the top of the file? <maximed>Also, maybe you need to ddo (mkdir-p root) before the (copy-recursively ...) <maximed>around the (use-modules ...) (mkdir-p ...) (copy-recursively ...) <maximed>So Guile thinks it needs to invoke the procedure (use-modules (guix build utils)) <maximed>but (use-modules (guix build utils)) isn't a procedure, it evaluated to #<unspecified> <ardon>I'm trying to invoke `guix deploy' on a VPS with a barebones Guix ISO and openssh-service enabled, but I get this error back when sending store items to the server "error: preallocating file of 170413 bytes: No space left on device". Is this a memory error or a storage one? It's a 1GB RAM 25GB SSD cloud instance. <ardon>^ Also, is this referring to my local system or the remote? <ardon>Ah ok, it's the storage space. Now I'm in sort of a dilemma though, the ISO's storage is too small to invoke `guix deploy' on the instance and reboot to a full Guix system, and the VPS' RAM is too limited to run `guix system reconfigure' on it. <maximed>(I don't know when tmpfs is used on Guix) <yewscion>Hi Guix, quick question: What is the canonical way of setting $CLASSPATH for java under Guix? I'm tempted to just export the variable in my .bashrc to point to my current profile, but that seems a bit clunky to me. Is there another way more canonical to Guix? <singpolyma>yewscion: some package hopefully has that as a search path. I would hope the Java/jre package? <nckx>sneek: later tell maximed (if they care) ix.io works fine here too (TN), but I'm a business customer with a reputation, soo... I'd send them an e-mail just to hear their excuse if it were blocked for me. <yewscion>singpolyma: I am looking through the source for such a package now. I have `icedtea:jdk`, icedtea:doc`, `ant`, and `maven` installed in my profile, though, and it is does not appear to be set (unless I've done something incorrectly). <yewscion>(FWIW, it is not listed in `~/.guix-home/profile/etc/profile` either.)