IRC channel logs

2016-02-05.log

back to list of logs

<calher>Does tor and torsocks work at all?
<petter>hey, so i'm trying to update and got into trouble. Anyone have any tips for this, http://sprunge.us/QJjJ ?
<bavier>gnupg commit ee877c653bf
<calher>How do I downgrade the kernel? Do I login as root to remove the current version and install the older version?
<kristofer>calher: you should be able to select a previous generation by selecting it from the grub menu
<kristofer>it's not exactly a "roll-back" with the kernel
<kristofer>from my understanding*
<kristofer>how do ya'll keep your git clone organized? I have made some changes to certain packages that will be lost if I merge
<mark_weaver>calher: put (kernel linux-libre-4.1) in your OS configuration
<mark_weaver>and you'll need (use-package-modules linux) to import the 'linux-libre-4.1' binding
<mark_weaver>see section 7.2.2 ('operating-system' reference) in the Guix manual
<suitsmeveryfine>mark_weaver: Hi! I found a temporary solution to my touchpad issues: started using ratpoison :)
<mark_weaver>heh :)
<mark_weaver>I used ratpoison for a long time
<suitsmeveryfine>Not so easy with US keyboard layout though
<mark_weaver>my only regret is that some programs don't play well with it
<mark_weaver>I have a US keyboard layout. what's not easy about it?
<suitsmeveryfine>I have Swedish keyboard and I am used to that
<mark_weaver>kristofer: git stash is one way
<suitsmeveryfine>but I dont know how to switch to a different keymap
<mark_weaver>suitsmeveryfine: You should be able to use the 'setxkbmap' program to change the layout.
<mark_weaver>you'll need to install that package
<suitsmeveryfine>ok mark_weaver, I will look into that. Thanks
<bavier>does anyone have an account at bugs.gnupg.org?
<mark_weaver>I do this: setxkbmap -layout us -option ctrl:nocaps
<mthl>ctrl:swapcaps for the win!
<mark_weaver>if you make ~/.xsession an executable shell script (use 'chmod' to make it executable and make the first line "#!/bin/sh") then it will be run automatically when you log in graphically.
<mark_weaver>the last line of ~/.xsession should be: exec ratpoison
<mark_weaver>also, if you do this, the session you select from the login screen will have no effect. that file overrides your choice of session.
<mark_weaver>mthl: yeah, that's another option, but personally I have no need for caps lock.
<mark_weaver>I live in emacs anyway, and it has the M-u command to make things uppercase after I've typed them, for the rare cases when I need that.
<mthl>mark_weaver: For french with azerty keyboard it is useful to have a caps lock for É È À
<mthl>+ it confuses other people using your keyboard alot :)
<mark_weaver>fair enough :)
<mark_weaver>as long as you agree that the key to the left of your pinky should be control, I'm glad to know you :)
<mark_weaver>heh
<suitsmeveryfine>I was already using xmodmap for making caps lock another control, but I'll try the other program instead
<mthl>mark_weaver: when not using X do you have a trick to have the correct control?
<mark_weaver>mthl: I hacked together a little 'anti-caps-lock-service' for it
<mark_weaver>basically it does this, which is probably overkill: dumpkeys | grep Caps_Lock | sed s/Caps_Lock/Control/g | loadkeys
<mthl>I copy this :)
<mark_weaver>I'm *useless* on a keyboard with caps lock there. it slows my work down to a crawl.
<mthl>me too
<petter>don't need grep /and/ sed though
<mark_weaver>petter: yeah, I was lazy
<petter>could just drop the grep step, sed will match them as it is
<mark_weaver>and actually, it would suffice to just pipe a single line into loadkeys
<mark_weaver>petter: I want to delete all the lines that don't have it, but sed can surely do that.
<mark_weaver>I just don't use sed enough to remember.
<calher> /j #gaygeeks-asl
<mark_weaver>if someone wants to do a better job on this, I'd be glad, but here's what I have in my OS config:
<mark_weaver> http://paste.lisp.org/+6KJG
<petter>i was a bit quick there, but to lose grep, sed -n '/Caps_Lock/s//Control/p'
<mark_weaver>petter: great, thanks :)
<petter>or for funsies, sed '/Caps_Lock/!d; s//Control/'
<suitsmeveryfine>mark_weaver: this works great!
<mark_weaver>petter: does that handle more than one Caps_Lock on each line?
<petter>oh, no. need the 'g' flag for that
<petter>i should go to sleep, i can hardly see now :P
<petter>good night
<mark_weaver>petter: heh, sleep well!
<mark_weaver>and thanks for you contributions :)
<mark_weaver>*your
<petter>happy to help :)
<calher>mark_weaver: is that lisp.org link straight text?
<mark_weaver>suitsmeveryfine: did you set up the swedish keyboard layout?
<calher>mark_weaver: what's special about your os config?
<mark_weaver>calher: I don't understand your questions.
<mark_weaver>someone asked how to make the Caps Lock into a Control key outside of X on GuixSD, so I pasted the top of my OS config to show them how I do it.
<mark_weaver>what does "straight text" mean?
<suitsmeveryfine>mark_weaver: yes
<mark_weaver>suitsmeveryfine: excellent!
<calher>mark_weaver: if i wget that will i get the actual paste or will i get the stupid html wrapper that includes the paste?
<mark_weaver>calher: it's HTML but there's a "Raw Source" link on the page for getting just the raw text
<calher>ok
<calher>viewing these are a pain in a tty
<mark_weaver>calher: raw text link: http://paste.lisp.org/display/306556/raw
<mark_weaver>for lisp.org pastes, just add "/raw" as a suffix to get it
<mark_weaver>oh, but only for the longer URL, not the short one, I see.
<mark_weaver>nevermind
<suitsmeveryfine>mark_weaver: I also removed my initiral RAM definition and reconfigured after you had included all the modules I needed.
<mark_weaver>suitsmeveryfine: ah, good!
<suitsmeveryfine>Yes, it's very nice. I only hope including the modules won't be a problem for other users.
<mark_weaver>suitsmeveryfine: I doubt it
<mark_weaver>calher: fair enough, I can sympathize with sometimes wanting to avoid having to use a web browser.
<mark_weaver>over the years I've gone back and forth between using full blown desktops and going extremely minimal
<mark_weaver>although I don't know how I could get much done without at least a text-mode web browser like emacs-w3m in emacs.
<mark_weaver>or lynx
<calher>mark_weaver: I am in a TTY. Copying the link in Screen just to open it in links and then selecting the raw and then saving it into a file takes time.
<mark_weaver>calher: understood. when I'm pasting links specifically for you, I'll try to remember to give you raw links.
<calher>I'm not in this TTY by choice. I'm still stuck here, and I lost my copy of desktop.scm.
<mark_weaver>calher: http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/system/examples/desktop.tmpl
<kristofer>is gcc a valid package input
<kristofer>?
<mark_weaver>kristofer: it could be, but you should almost never need it, because it's an "implicit" input for our build systems (except trivial-build-system)
<suitsmeveryfine>top tells me I'm using just 20 MB of RAM, can this be right with hexchat and icecat open?
<mark_weaver>kristofer: what issue are you facing that raised this question>
<kristofer>vlc won't play dvd's, and I suspect it might be related to the version of libstdc++ I have
<mark_weaver>kristofer: last I checked, our vlc package was rather broken.
<paroneayea>hello #guix!
<mark_weaver>kristofer: what makes you think it has to do with libstdc++?
<mark_weaver>that's a very core library
<mark_weaver>hi paroneayea!
<kristofer>yeah, I've got it reading my dvd's now, but there's a regional error.. it's been suggested that using libstdc++>5 would eliminate that issue
<kristofer>what seems to fix the issue for vlc users in other distros (suse) was to update the libstdc++ package from 4.9.x to 5.x.x
<mark_weaver>kristofer: hmm, so you'll still be linking to a qt that was linked against libstdc++-4.9, and I suspect that would be bad.
<mark_weaver>so you might need to recompile a lot of stuff.
<mark_weaver>I'm not sure how best to handle that.
<mark_weaver>this is a question for civodul
<mark_weaver>or the ML
<paroneayea>hey mark_weaver, will you be at LP
<paroneayea>?
<mark_weaver>you could try adding gcc-5 and (make-libstdc++ gcc-5) as inputs to vlc, but I suspect that you'll need to recompile all the C++ stuff that vlc would be linked with.
<mark_weaver>paroneayea: yes!
<paroneayea>mark_weaver: :D
<paroneayea>it'll be nice to have you there for davexunit and I's talk, and to visit in general
<paroneayea>mark_weaver: I really enjoyed our last time of visiting
<mark_weaver>likewise!
<mark_weaver>sounds great :)
<paroneayea>:)
<kristofer>I have an unbound variable gcc-5
<mark_weaver>kristofer: gcc-5 is exported by the (gnu packages gcc) module. you need to add #:use-module (gnu packages gcc) to the top of the file you're in.
<calher>config.scm edited.
<kristofer>mark_weaver: thanks.
<calher>mark_weaver: I can't see the manual because GNU Info is not available.
<suismealsoveryfi>calher: install emacs
<calher>I do have Emacs installed.
<suismealsoveryfi>C-H i
<mark_weaver>calher: emacs has a built-in info reader
<suismealsoveryfi>C-S guix
<mark_weaver>it's the one most of us prefer
<mark_weaver>calher: if you want the plain 'info' reader, it's in the 'texinfo' package.
<calher>OK, got it in Emacs.
<kristofer>does this make sense? ("libstd++" (make-libstd++ gcc-5))
<calher>Is there a way to jump to a section number in Emacs Info?
<mark_weaver>kristofer: almost, but two mistakes: add "c" before the "++" in both places, and add a "," before the second "("
<mark_weaver>,x is an abbreviation for (unquote x) which is part of the quasiquotation mechanism.
<calher>Is this OK? https://transfer.sh/fZteX/new-config.scm
<mark_weaver>calher: '1' jumps to the first menu item, '2' to the second, etc.
<lfam>There are security updates for Kerberos on the ML for anyone who would like to test or push them. I didn't push since the patches are "cherry-picked" and I don't know how to test the functionality of Kerberos.
<mark_weaver>calher: there's an extra closing parenthesis on the line with "%desktop-services". that's the only problem I see with it.
<calher>s/)$// on L73
<calher>Now that I've written my new config.scm, how do I apply it?
<kristofer>mark_weaver: I'm pretty new to scheme. Thanks for the explanation
<mark_weaver>calher: as root, run "guix system reconfigure new-config.scm"
<calher>mark_weaver: Where should I store the config?
<calher>I just have it in my home dir right now.
<mark_weaver>calher: whenever you want.
<mark_weaver>one recommendation: at least keep a backup copy of a known working config.
<mark_weaver>even better, use a version control system to manage it
<calher>It gave me an error that I can't copy because root is on its own tty and screen is not in root's profile.
<calher>mark_weaver: How can I use a version control system if my time is in 1969?
<kristofer>screen is one of those applications you might want in global state
<calher>Added to (packages ...
<calher>mark_weaver: In fact, it kind of sucks that I've made all these changes outside my Bazaar directory, because now I'll have to add them manually when my time is fixed.
<mark_weaver>calher: you can set the time manually with the 'date' command as root.
<kristofer>somebody should make a repository of system configurations for varying purposes
<mark_weaver>e.g. something like: date 02042042 for Feb 4 at 20:42
<calher>mark_weaver: I need to set the year.
<mark_weaver>date --help | head
<mark_weaver>date 020420422016
<mark_weaver>
<mark_weaver>
<calher>[CC] == 21
<calher>21st century
<mark_weaver>calher: [CC] should be 20
<calher>but the 20th century is the 1900s
<mark_weaver>calher: CC is not the century in that sense of the word, and you are wasting my time again
<calher>okokok
<mark_weaver>and you can get a root shell within your existing screen by typing "su -"
<CompanionCube>or sudo -i :)
<mark_weaver>ACTION considers sudo to be a security hole
<mark_weaver>at least in its default configuration
<mark_weaver>I don't want to leave open a window of time where any other process running under my user ID to be able to run arbitrary root commands.
<mark_weaver>*is able
<Jookia>ACTION only uses sudo -i
<mark_weaver>actually, I don't use 'su' very often either. I usually log into root on a separate text console.
<mark_weaver>but I realize that sudo is extraordinarily popular, and I'm in the extreme minority here.
<Jookia>mark_weaver: Any comments on my libreboot? patch ;)
<mark_weaver>Jookia: so far I've only had time to skim it, but it seems well done to me. However, I'd like to see what civodul thinks of it.
<Jookia>mark_weaver: civodul says in the email they don't have a machine, and there are some minor changes to do with formatting
<mark_weaver>yeah, I noticed that your 'if' indentation is not according to our conventions.
<mark_weaver>but that's a minor point
<Jookia>mark_weaver: It was mentioned "It’s a bit annoying that we have to pass the ‘libreboot?’ parameter across functions." but I'm not sure exactly how I'd solve this
<calher>how do i check if tor service is running
<Jookia>mark_weaver: Or if it's in scope of my patch- it seems more a refactoring thing
<mark_weaver>calher: "herd status tor" as root
<mark_weaver>Jookia: so, I have a radically different approach in mind here
<Jookia>mark_weaver: Oh yeah? :D
<mark_weaver>Jookia: maybe, instead of 'libreboot?' being an option, we should just *always* install both grub.cfg and libreboot_grub.cfg, and instead arrange that if the grub-install fails, only a loud warning is issued and not a failure.
<nckx>Building gtk-doc on master returns: ‘configure: error: could not find DocBook XSL Stylesheets in XML catalog’
<mark_weaver>here's the thing: I *want* GRUB installed to my hard disk, even though I'm on Libreboot, because if my Libreboot machine dies, I'd like the option to take my drive and put it in another machine that might not have Libreboot.
<mark_weaver>and similarly, if someone initially installs on a non-Libreboot machine, they should be able to take the drive and put it in a Libreboot machine and boot it.
<mark_weaver>IMO anyway
<Jookia>mark_weaver: libreboot reads libreboot_grub.cfg AND grub.cfg so really making the install error non-fatal would be the most useful in your case
<mark_weaver>ACTION looks at the current libreboot grub.cfg
<mark_weaver>Jookia: ah, that changed since I last knew. initially, francis7 was resistant to looking for grub.cfg by default
<Jookia>Hmm
<mark_weaver>the reason is that technically it's somewhat incorrect to load a grub.cfg that was meant to work with a GRUB binary that the OS installed, because it will do things like try to load modules and so on.
<mark_weaver>and he wanted to avoid that.
<mark_weaver>which is a reasonable position.
<mark_weaver>the hope was that libreboot-friendly distros would install a libreboot_grub.cfg that was specifically meant to avoid doing those questionable things like loading modules.
<Jookia>I think changing an error to a warning that could be the difference between someone's machine not booting and them noticing it won't boot
<Jookia>is a pretty bad idea
<mark_weaver>yeah, that's a fair point :)
<mark_weaver>but the relevant question there is not whether one is running Libreboot -- I'm running Libreboot but because my /boot is unencrypted I have no problem installing GRUB.
<Jookia>Does grub-install fail on your system?
<mark_weaver>no, it succeeds
<mark_weaver>actually, I don't have encrypted disks at all
<Jookia>Yet? :P
<mark_weaver>I'd like to, but I haven't gotten around to it yet
<Jookia>So do you think the 'libreboot?' flag is perhaps a bit misleading?
<mark_weaver>(my security approach is to *always* carry my laptop with me, to ensure that no one can gain physical access to my machine with me knowing about it)
<mark_weaver>*without
<mark_weaver>(although I recognize that none of this is really fullproof, and the most likely way to break into my machine is via my web browser)
<Jookia>Or could it be documented a bit more to imply the use cases it's neccessary for
<mark_weaver>(I have another much simpler machine that is the sole repository of my private GPG key, for example)
<Jookia>The most likely way to break in to your machine is someone shouting 'get on the ground' and aiming a gun at you
<mark_weaver>well, in my case I suspect that's not how they'd go about it.
<mark_weaver>but in any case, I can't guard against that anyway. I can't stop someone from getting into my machine, I just want to *know* whether it happened.
<mark_weaver>or at least do my best to know.
<Jookia>Interesting
<mark_weaver>but how about someone aiming a gun at you and demanding your disk encryption password?
<mark_weaver>or maybe aiming a gun at one of your loved ones.
<Jookia>This is true- though I'd like to think the difference is they shoot you AFTER you give the password, not after they take your laptop
<mark_weaver>anyway, it's probably more efficient to obtain your disk password via surveillance
<mark_weaver>or by modifying your machine (if you don't carry with you everywhere) to install a keystroke logger or something.
<calher>mark_weaver: -bash: herd: command not found
<mark_weaver>but anyway, I spoke to someone else here today who isn't running Libreboot, but wants to use full disk encryption and wants to avoid installing GRUB on the hard disk. they will instead use GRUB installed on a USB stick.
<Jookia>mark_weaver: Can that already be done by changing the device?
<mark_weaver>calher: ah, your guix is from before the dmd -> shepherd transition. in that case: deco status tor
<mark_weaver>Jookia: not if /boot is encrypted
<Jookia>mark_weaver: What's the solution here then? ;)
<mark_weaver>I'm not sure, I'm thinking it out.
<mark_weaver>one possibility then would be to always install both grub.cfg and libreboot_grub.cfg, unconditionally, and still supporting the existing --no-grub flag.
<mark_weaver>and maybe if the device is some special value, then it also inhibits GRUB installation regardless.
<calher>Ugh, SSL doesn't work at all with my configs so I can't bzr launchpad-login foo
<Jookia>libreboot_grub.cfg isn't really needed unless we decide to do special stuff down the track- grub.cfg should be fine
<Jookia>--no-grub is a pain to pass every time you install :( Having device as some special value seems a bit weird- perhaps make it optional?
<Jookia>calher: Did you install the certificates
<mark_weaver>calher: most likely, you don't have 'nss-certs' in your 'packages'.
<calher>Jookia: No. I started with bare-bones because the manual said so.
<mark_weaver>we should probably add nss-certs to the bare-bones example config
<Jookia>calher: Have you fully read the manual? It answers a lot of these questions you're having about rollbacks too
<calher>Jookia: not fully, just enough to get a system running.
<Jookia>calher: You should certainly check it out first when you have a problem
<Jookia>Also does the manual say to use bare-bones?
<mark_weaver>yeah, I don't remember that. I might have suggested it here on irc though.
<petter>i think he refers to the draft
<calher>Jookia: Well, the install guide that isn't in the manual yet said to use it.
<Jookia>I havne't read the install guide
<petter>i'll refine that bit, i had the idea of doing a simple install first to get a system running. Then do a post-installation where desktop and such where added. But i don't think it's such a good idea
<mark_weaver>it didn't occur to me that people would want to be doing things like access external bazaar repos with SSL in between getting the bare-bones config installed and a nicer one.
<mark_weaver>it's just that I know from experience that when people make a mistake in their initial installation, it tends to be painful, whereas it's much cheaper to make mistakes with later "guix system reconfigure" operations because of our roll-back feature.
<Jookia>mark_weaver: I think the 'right' solution here is to change the 'device' data structure in some way to allow specifying intent- ie "(device ('libreboot)) "(device ('disk "/dev/sda"))" "(device ('none)"
<calher>mark_weaver: IDK, Bazaar seemed to demand SSL.
<mark_weaver>but I don't know, maybe it's better to instead recommend a basic desktop config with minimal changes made by the user, to minimize the probability of errors without forcing users to deal with text consoles.
<calher>mark_weaver: sorry about the bazaar thing; i kept my config.scm in there to track revisions
<Jookia>mark_weaver: Honestly it'd be nice if GuixSD came with GNOME or something by default
<mark_weaver>yeah, it was probably a mistake to suggest starting with the bare bones config. sorry about that.
<calher>and i made the mistake of not learning the bzr CLI before Bazaar Explorer. But Bazaar Explorer is so easy and convenient.
<petter>mark, personally i think a minimum-to-get-a-booting-system approach seems good, for the reasons you said. But there was resistance when i asked her previously
<petter>*here
<Jookia>bzr seems like such an odd choice for a vcs these days
<calher>(1) its version numbers are human-readable; (2) it's GNU.
<mark_weaver>petter: if the X server fails to start, in the overwhelming majority of cases, the text console will still be available and usable.
<vaeringjar>I might have come late to the conversation, but why not just use the emacs vc instead of bazaar?
<mark_weaver>so now I'm leaning toward providing a few example configs and suggesting that the user starts with one of those with a minimum of modifications.
<kristofer>Jookia: I like the idea of specifying the intentended boot type.. I struggled for a few days trying to get grub to efi boot with no luck.. there could be a setting for boot-style or something, mbr, efi, some others I'm unfamiliar with
<calher>Jookia: "Revert the repo to revision six bee eff zero one eight cee two"
<calher>vs
<calher>"Revert the repo to revision 38."
<mark_weaver>please, let's not get into a flame war about VCSs
<Jookia>yeah
<Jookia>everyone has tastes i just thought bzr was dead
<Jookia>mark_weaver: What do you think of kristofer's idea?
<calher>Jookia: Like every GNU project, it's stale and old and soon to die.
<mark_weaver>yeah, even Emacs switched to git, but let's not get into it here :)
<vaeringjar>sorry, don't really have a strong opinion about it. just wondering
<Jookia>mark_weaver: A 'platform' variable for GRUB that could change some stuff, this could also fix EFI boot maybe
<Jookia>mark_weaver: It'd also be useful if we ever (?) get u-boot + GRUB working
<mark_weaver>Jookia: sure, seems reasonable
<calher>root@leela ~# guix system reconfigure /home/cal/mark_weaver/new-config.scm
<calher>guix system: error: failed to load '/home/cal/mark_weaver/new-config.scm':
<calher>/home/cal/mark_weaver/new-config.scm:6:0: In procedure #<procedure 9f0ae60 ()>:
<calher>/home/cal/mark_weaver/new-config.scm:6:0: In procedure module-lookup: Unbound variable: linux-libre-4.1
<mark_weaver>and as for the plumbing, maybe the grub procedures that you felt the need to add 'libreboot?' plumbing through should instead pass down the grub-configuration itself.
<calher>Oops.
<mark_weaver>that might even allow some of the existing arguments to be removed, dunno.
<mark_weaver>calher: you need to import the (gnu packages linux) module
<mark_weaver>which can be done by adding 'linux' to the 'use-package-modules' macro call.
<mark_weaver>I'm not sure why your config is in a 'mark_weaver' directory, but whatever :)
<calher>What I did have was (use-package-modules admin xfce ratpoison certs linux)
<mark_weaver>calher: oh, I see, your guix is too old. you need to run "guix pull"
<mark_weaver>I only added the linux-libre-4.1 package recently.
<calher>OK, I'll guix pull as soon as root finishes installing curl.
<mark_weaver>note that "guix pull" pulls the latest guix from git, compiles it, and makes ~/.config/guix/latest a symlink pointing to it.
<calher>mark_weaver: What's bad about that?
<mark_weaver>so each user has their own version of guix
<calher>oh god why
<mark_weaver>which is good, I think, but also potentially confusing.
<mark_weaver>the reason is so that on a multiuser system, (1) you don't have to be root to update your package versions, and (2) root doesn't dictate what packages you use.
<calher>What if your employer wants to dictate what apps you can use?
<mark_weaver>actually, in my case, I made ~/.config/guix/latest a symlink to my built git checkout, and anyone can do that, and use their own customized version of guix.
<CompanionCube>Doesn't git have a tool to generate revision numbers?
<mark_weaver>calher: Guix is about user empowerment, and we have no interest in enabling your sysadmin to dictate what software you can run.
<mark_weaver>if you want that, you've come to the wrong place.
<calher>but wouldn't that conflict with computer owner rights?
<mark_weaver>now, if you want to simply things on your system, you can make ~root/.config/guix/latest be a symlink to ~USER/.config/guix/latest, or vice versa.
<mark_weaver>*simplify
<mark_weaver>in my case, I make both of those a symlink to my git checkout
<petter>mark_weaver: ok, doing a little thinking here... the primary reason for recommending bare-bones in the draft was that there had been quite a few reinstallations. And with bare-bones it's quicker to reinstall and less to go wrong. But these are current (past?) problems that will be ironed out. A installation manual should be based on things working as they should i think now.
<mark_weaver>calher: I'm interested in the rights of individuals, not the rights of "owners"
<mark_weaver>if you don't like it, use something else
<calher>Guix would be a nightmare for pubic schools.
<kristofer>mark_weaver: ^^ that's why I don't wear shoes! /s
<mark_weaver>calher: for any organization that wants to deprive the users of control, guix is not for them.
<kristofer>#guixsd is about to get philosphical
<calher>mark_weaver: I agree with the idea, by the way. I just know that a lot of people would hate it.
<mark_weaver>okay
<mark_weaver>calher: anyway, the thing to be careful of is that when you run "guix package" as your normal user, you'll be using ~USER/.config/guix/latest, and when you run "guix system reconfigure" as root, you'll be using ~root/.config/guix/latest
<mark_weaver>and that means that either you need to run "guix pull" as both root and your normal user, or else you'd better make one a symlink to the other.
<calher>ACTION guix pulls as root
<Jookia>I saw that same argument on Hacker News about that weirded locked down stuff- it's really weird. If you don't like it, don't use it
<calher>I like how I don't have to install things when other users want a program. They can just do it themselves.
<Jookia>Actually that applies to basically every GNU/Linux argument where there's an alternative- dont' use it
<Jookia>It's not like we need to merge projects or use one thing
<mark_weaver>I have to go afk for a while. happy hacking!
<Jookia>kristofer: How exactly did you get your system bootable again?
<Jookia>kristofer: How exactly did you get your system bootable again?
<kristofer>Jookia: https://lists.gnu.org/archive/html/help-guix/2016-02/msg00013.html
<kristofer>I used refind as the bootloader
<kristofer>the linux kernel has efi stub by default
<Jookia>kristofer: Does this require changing --platform in GRUB?
<kristofer>Jookia: I used the --no-grub, so grub isn't installed on my macbook
<kristofer>one could theoretically build the kernel with the paths built in and avoid a bootloader altogether
<kristofer>that kernel would have to be rebuilt with every system reconfiguration to update the paths to initrd and system/boot
<kristofer>I guess the hashes should always match in a prebuilt kernel..
<calher>One of my friends is uneasy with user freedom in GuixSD.
<Jookia>calher: WHy?
<Jookia>kristofer: Does refind look on drives for grub.cfgs or something similiar?
<Jookia>kristofer: Could you paste your refind.conf ?
<calher>Jookia: IDK.
<kristofer>Jookia: it definitely will! Grub as it is built on guix doesn't have support for gpt and must be installed on the MBR, which isn't really possible if you have an efi machine
<kristofer>that's why I load linux with rEFInd
<Jookia>kristofer: I'd be interested in getting it to work with a 'platform refind' config option
<kristofer>I'd love to participate!
<kristofer>rEFInd isn't gpl unfortunately
<kristofer>in order to make it seamless on mac hardware mactel-boot needs to be packaged for guix
<kristofer>it allows one to "bless" the bootloader
<myglc2>kristofer, petter: I got tripped up by the fact that grub doesn't support gpt in my install. petter, I think you should mention that the partion must be MBR in the new install notes
<Jookia>kristofer: So can you use free software to get a seamless boot to GRUB (or load a grub config) in mac?
<kristofer>like I said, I didn't use grub
<kristofer>grub-efi could be used
<Jookia>Have you messed around to get grub-efi?
<kristofer>I tinkered with it for awhile, and ultimately went with refind because it was easy
<Jookia>refind looks like it's kinda GRUBy
<petter>myglc2: Aha, I was not aware of this. Thanks for letting me know!
<petter>myglc2: i use GPT myself, but i don't use GRUB provided by GuixSD
<kristofer>petter: what grub package do you use?
<petter>Libreboot
<kristofer>if you have a macbook >2,1 you can libreboot the firmware with software I think
<kristofer>older macbooks require a hardware hack
<Jookia>i think it's only 2,1 or 1,1
<Jookia>how do you set up so file-systems depend on each other, or mapped-devices depend on mapped-devices
<calher>lol, it's getting heated in this pm
<Jookia>Guix wants to mount my /root before LUKS oddly enough
<Jookia>which isn't going so well
<petter>Jookia: can you show us your config?
<Jookia>petter: hang on, it might be because i don't have it as the same name
<mark_weaver>myglc2, petter: GuixSD works on GPT.
<Jookia>mark_weaver: Any idea how I could have GuixSD automatically copy /bin/true to /sbin/btrfs.fsck?
<calher>I think I'm just going to take the desktop sample and change it so that it has the bare minimum of my config (hostname, users, disks).
<calher>then add back ssh when desktop works
<CompanionCube>Jookia: you attempting to install on to btrfs?
<Jookia>CompanionCube: Yep
<CompanionCube>Please let me know if you do it
<CompanionCube>my desktop's only ext4 part is /boot
<Jookia>Do you run Guix with btrfs?
<CompanionCube>Jookia: the package manager only
<Jookia>Ah
<CompanionCube>over Arch
<calher>I'm glad I'm used to instability. It makes me comfortable to test stuff.
<Jookia>CompanionCube: how's that going
<mark_weaver>Jookia: make a package that installs that dummy btrfs.fsck, and add that package to the set of packages on the initramfs
<CompanionCube>Jookia: haven't had much time to poke at it recently
<mark_weaver>Jookia: but it might be simpler to just use this: http://article.gmane.org/gmane.comp.gnu.guix.devel/13164
<Jookia>mark_weaver: Alrighty- I might do that if I package btrfs-utils
<CompanionCube>but I installed texlive using guix and that works
<Jookia>mark_weaver: ooh someone did that
<Jookia>mark_weaver: is there a reason that isn't upstreamed
<nckx>Jookia: the submitter suffered a btrfs corruption right after submitting
<nckx>True story.
<CompanionCube>what kind of corruption
<mark_weaver>Jookia: also see civodul's response: http://thread.gmane.org/gmane.comp.gnu.guix.devel/13164
<mark_weaver>important notes in there
<nckx>CompanionCube: I forget; grep the channel logs, it was mentioned a few days ago.
<mark_weaver>Jookia: the reason it isn't upstreamed is because the patch was munged and had some issues, and the original submitter never responded
<mark_weaver>(although civodul gave his feedback the next day)
<mark_weaver>nckx: ah, okay. bummer
<nckx>I guess they didn't feel like resubmitting after that...
<Jookia>submitter submitted patch, then disappeared forever due to corruption bugs ;)
<calher>Playing Tetris while waiting for system to reconfigure.
<calher>I suck at Tetris.
<nckx>I'll probably try to submit an improved patch this week-end, but if Jookia[/anyone who didn't write their first line of Scheme a week ago] wants to beat me to it: please do.
<Jookia>nckx: I'll let you do that, I'll mainly probably be working on the fsck issue
<Jookia>mark_weaver: Would you object to socat being required by git-fetch?
<nckx>Do I need to create a doc output for man-pages? I'm guessing no.
<mark_weaver>Jookia: I don't understand what you're proposing, and I barely know what socat is.
<mark_weaver>nckx: no
<Jookia>mark_weaver: Hmm, I'll have to think more about this: git-fetch (the git fetcher for Guix) doesn't support proxies for git:// at the moment
<mark_weaver>oh, I see
<mark_weaver>Jookia: one complication is that any package that git-fetch needs, and any package needed to build the set of packages that git-fetch needs, cannot use git-fetch.
<mark_weaver>because that would lead to a circular dependency
<calher>It takes a while to reconfigure system.
<mark_weaver>so it really depends on how many new dependencies would be needed for git-fetch.
<Jookia>I'll see what I can do with netcat
<mark_weaver>calher: it depends on how much you need to build/download. most of the time, it's very fast.
<mark_weaver>Jookia: maybe we could convert many of our git:// sources to use http:// sources instead, assuming that the upstream git has an http source.
<calher>lol, guix doesn't have nethack
<Jookia>mark_weaver: That'd be a much better idea- unfortunately I don't think savannah has a git:// thing
<calher>mark_weaver: i guess the slow speed is to be expected if i'm adding a whole desktop
<mark_weaver>Jookia: look at the bottom of http://git.savannah.gnu.org/cgit/guix.git/
<Jookia>mark_weaver: Oh, nice! I'll see what I can do then
<mark_weaver>calher: and because our substitute server is woefully underpowered for what we need.
<mark_weaver>Jookia: changing those won't require rebuilds either.
<Jookia>Even better
<Jookia>I'm one package away from having Guix (package manager) compiled + runnable on my Novena
<mark_weaver>cool!
<calher>mark_weaver: if i had money i'd donate so that stuff works faster
<mark_weaver>it's okay, we have enough money to fix it, now we just have to build it.
<calher>i have 17 cents :P
<mark_weaver>we're building a Libreboot-based server for it
<calher>Nice!
<mark_weaver>which unfortunately are not available pre-built
<mark_weaver>or even spec'd
<mark_weaver>so we have to do that work ourselves, although we're not really skilled at such things.
<calher>putting together machines, or...?
<Jookia>It's exciting to live in times when we have machines without BIOS blobs
<calher>Yes, Jookia.
<mark_weaver>right
<calher>It's amazing that I have a decent laptop much more capable than a Lemote.
<calher>I'm attached to the ThinkPad design now.
<Jookia>I dunno, thinkpads are pretty creepy
<Jookia>I have one but I try to ignore the whole 'thinkpad' aspect
<calher>Jookia: I used to think that it's the black serial killer/white pedo van of laptops, but I've gotten over it.
<Jookia>uhh
<Jookia>No, it's more that 'Think' is a marketing term associated with Watson and IBM who were profiting off of war crimes
<calher>oh
<calher>what war crimes
<Jookia>If you haven't read 'IBM and the holocaust', it's a fantastic book
<mark_weaver>not just IBM, a whole bunch of US corporations.
<calher>so it's a HitlerPad?
<mark_weaver>but yeah
<Jookia>calher: They aided both 'sides' in the war
<mark_weaver>so did Ford
<mark_weaver>and a bunch of others.
<Jookia>:(
<calher>oh right, i knew about ford
<calher>so the thinkpad is the VW model 1 of laptops :P
<calher>classic look. strong, resiliant,
<mark_weaver>I have to go to sleep now. happy hacking
<Jookia>Night
<calher>gn
<calher>I should probably sleep, because it's 2236, but I want to see XFCE on this thing first.
<Jookia>it's 2016
<nckx>calher: pff, it's 05:39 here.
<Jookia>around this time last year it was 2015
<calher>it's 5776 actually, Jookia
<Jookia>calher: 5776?
<Jookia>what timezone are you in
<calher>(Good thing a Jew wrote Emacs so that the calendar has a Hebrew calendar in it.)
<Jookia>uhh
<calher>or did RMS write M-x calendar?
<calher>probably not
<Jookia>that kind of statement certainly makes me feel uncomfortable but i can't pinpoint why
<calher>but yeah, that hebrew calendar is nice
<calher>the hebrew year is 5776 Anno Mundi
<Jookia>we weren't talking about years
<calher>but Jookia said > it's 2016
<Jookia>20:16
<calher>but the minutes are 42, not 16
<Jookia>maybe my clock's off
<calher>maybe 20 min off yeah
<Jookia>the proper way of specifying time is with a colon, so its a big ambiguous
<Jookia>so ambiguous it tripped even the person specifying it without up :D
<calher>The US Army doesn't say it's necessary all the time.
<Jookia>I'm not in an army
<calher>Jookia: but i know from conext that you are either (1) incorrect or (2) making a funny joke about "I thought you were talking about years so i'm going to say the year"
<calher>so i continued the joke with 5776
<Jookia>i never joke about the time
<lfam>Interestingly, the wikipedia page for ISO8601 seems to update its examples periodically, and the current example is 2016-02-04T20:16:26+00:00
<lfam>So, perhaps it IS 20:16 o'clock ;)
<Jookia>wikipedia time protocol anyone?
<Jookia>I have a somewhat slow RTC and faulty time syncer so I wouldn't be surprised if it were out of sync
<lfam>It's about 30 minutes later than that, accounting for 1 hour time zone differences
<Jookia>what about timezones that give or take 30 minutes
<Jookia>no one ever talks about those
<Jookia>3 minutes ago it was 20:16 somewhere :)
<lfam>Indeed, in your location!
<calher>I tried to reconfigure system but it was expecting shepherd...
<Jookia>calher: that's no good
<calher>and i dont have shepherd because i installed from the installer image
<Jookia>seems like you're in a sticky situation
<calher>what happened -- https://transfer.sh/13vFew/typescript
<calher>wtf. i just did what the install instructions said.
<calher>how am i supposed to get shepherd?! the installer uses deco and there is no mentioning of 'updating' shepherd, if that's even possilbe
<calher>Jookia: how did *you* get shepherd? it sure as hell isn't on the install image
<Jookia>calher: I ran git update and re-installed
<calher>wtf is that
<Jookia>I haven't used the install image at all
<calher>that wasn't part of the instructions at all
<lfam>calher: Is this the first time you have tried to reconfigure since using `guix pull`?
<calher>yes
<calher>well, i did it twice in a row because it failed and i wanted to make sure it wsan't a network error
<lfam>I've seen it suggested a couple times to users who could not reboot after that to use the profile in /run/booted-system to reboot
<calher>i have not rebooted
<calher>because it obv didn't work when i did the reconfigure command
<lfam>That's the profile you booted with, vs /run/current-system which is the current system. The dmd -> shepherd transition had some sharp elbows
<lfam>If this is the problem you're experiencing, then the programs in /run/booted-system should be able to talk to dmd
<calher>i don't know anything about this stuff
<calher>all i know is that dmd is now called shepherd
<Jookia>calher: try running /run/booted-system/bin/guix reconfigure?
<calher>no such file or dir /run/booted-system/bin/guix
<Jookia>I'm out of ideas then
<lfam>calher: It's in /run/booted-system/bin
<lfam>mistake
<lfam>I mean, /run/booted-system/profile/bin. It's a profile just like any other
<calher>/run/booted-system/profile/bin/guix system reconfigure <file>?
<Jookia>yes, try that
<calher>Jookia: https://transfer.sh/GWpKl/typescript
<Jookia>*shrug*
<lfam>It would be easier if I didn't have to download a file to see the output of your command. Could you use a site that will show the contents in the browser?
<calher>I don't want to go back to Trisquel. Having two package managers sucks and having to install everything at the system level sucks.
<Jookia>I think the reason this is happening is because ludovic recently made services restart kind-of when you reconfigure
<calher>lfam: it does show the contents in the browser.
<Jookia>calher: not on my machine
<lfam>Not for me
<lfam>On up-to-date Iceweasel
<calher>Jookia: it should display in a stupid hipster little terminal-window thing!
<Jookia>it has nonfree JS
<Jookia>so librejs is blocking it
<calher>Jookia: the JS is free, !!
<Jookia>google analytics isn't free
<calher>Jookia: look at the source code. it's on a git repo.
<lfam>I'm not using librejs
<calher>Jookia: if you had kde, raw text would open in a text editor when you double click on it like it's supposed to
<lfam>How about paste.lisp.org?
<calher>I CANT CURL TO LISP>ORG
<Jookia>no need to yell
<calher>and the syntax for sprunge sucks
<calher>curl --upload-file foo http://transfer.sh/foo is the best syntax
<Jookia>all we're saying is it's annoying to download a file
<calher>and im stuck in a tty
<lfam>Okay, in that case I'll download it
<calher>fine. i'll make a friggin alias
<_`_>what's bad about “the syntax for sprunge”
<Jookia>if you're up for doing a manual compile you may be able to fix this
<Jookia>actually you probably won't need to do a manual compile- just installing your own guix
<lfam>Okay, calher, I looked at the error message and I don't know :) If it were me I'd reboot and try again.
<Jookia>lfam: what's happening is it's trying to run shepherd to start new services or whatever
<Jookia>calher has to download and use an older guix
<calher>**OLDER** guix?!
<Jookia>yes
<calher>from what i saw, my guix is already old as fuck, because it's using dmd
<Jookia>no need to swear man
<lfam>It's only about 1 week old :)
<Jookia>you'd need to use a 2-day old guix
<lfam>Anyways, the suggestion to some other users in this situation has been to reboot using the tools in /run/booted-system.
<calher>@_@
<Jookia>lfam: that was before the new shepherd integration
<lfam>Okay
<lfam>So, your
<lfam>So, you're saying that calher has a system that runs dmd, but is trying to reconfigure with the version of shepherd attempts to restart changes services during reconfiguration?
<Jookia>yes
<lfam>And doesn't have at all the intermediate version of shepherd?
<Jookia>it does, but it's not running - and the only way to start it would be to reboot in to a system defined using guix reconfigure ;)
<lfam>How about checking out the an appropriate Git commit and reconfiguring from that?
<Jookia>that's what i suggesting
<lfam>Hm, I could see how civodul wouldn't hit this problem. Can you suggest a commit?
<Jookia>98416109d571c5c8c643064e5e3365dde8abbe0b
<Jookia>in fact, you could just git clone guix and run 'git revert 240b57f0ca576708ebf6cfa0dfe2803fa9ff2323'
<Jookia>240b57 for short
<calher>idk what the cloneable uri is
<Jookia>'git clone git://git.savannah.gnu.org/guix.git'
<calher>installing git
<calher>ACTION tries not to get into a VCS war
<calher>Yay! Git's here!
<calher>Cloning into 'guix'...
<calher>Done.
<calher>cd guix
<Jookia>then run 'git revert 240b57'
<Jookia>then link /root/.guix-latest to the repo
<calher>ugh, it wants me to have git settings for root
<calher>wtf
<calher>root does not have an email address...
<Jookia>just set it to something garbage (without the --global flag)
<vaeringjar>my favourite: git config --local user.email danger@mountain.top
<vaeringjar>=)
<calher>Mind if I paste six lines?
<Jookia>what's it about
<calher>This.
<Jookia>can you summarize it
<calher>revert failed
<Jookia>okay, just run 'git checkout 984161'
<calher>error
<Jookia>whats the error
<calher>i was going to paste six lines so that this would be prevented...
<calher>error: Your local changes to the following files would be overwritten by checkout:
<Jookia>git reset --hard HEAD
<Jookia>then run git checkout
<efraim>you could stash them
<calher>up to date with origin master
<Jookia>calher: git checkout 984161
<calher>head is now at '
<Jookia>good
<Jookia>now link it
<calher>huh?
<Jookia>as root, make a symlink to it
<Jookia>rm /root/.guix-latest && ln -s /path/to/guix-git /root/.guix-latest
<calher>rm: cannot remove ‘/root/.guix-latest’: No such file or directory
<Jookia>ok then just link it
<calher>Linked.
<Jookia>now try guix reconfigure
<calher>Running.
<calher> http://sprunge.us/CUNK
<Jookia>is there a ~/.guix/latest thing?
<calher>what is a thing?
<Jookia>anything
<calher>There is ~/guix-latest/...
<calher>lots of junk in there
<Jookia>is there a ~/.guix/latest ?
<calher>There is no ~/.guix/. Did you mean ~/guix/?
<Jookia>no
<lfam>Probably ~/.config/guix
<Jookia>i don't have a guix system to check this on
<calher>/root/.config/guix/ exists.
<Jookia>ah, well rm /root/.config/guix/latest && ln -s /path/to/guix-git /root/.config/guix/latest
<lfam>Might want to check that the /path/to/guix-git exists before the rm ;)
<calher>Jookia: Done.
<Jookia>try reconfigure now
<calher>Whoa! Different stuff is happening! Semicolons everywhere!
<calher>Lots of compiling.
<Jookia>yeah, it'll do that
<calher>Updating subs.
<calher>Waiting.
<calher>Half-way done.
<calher>Almost done.
<calher>Done updating subs.
<Jookia>updating subs?
<Jookia>o
<calher>looks like it may have frozen on boost
<Jookia>gtg
<calher>wtf it is just hanging on this one sig check
<calher>im scared
<calher>it hasnt updated any percentages or transfer rates
<calher>aoeuaoeuaououaouoau it's just hanging
<calher>this download for boost is stalling on the reconfig
<calher>it's not moving. i'm scared.
<calher>i cant ^C it...
<calher>!!!
<calher>im nervous
<calher>Still nothing.
<cehteh>try ^Z
<cehteh>and dmesg .. any hardware problems?
<calher>cehteh: i did top and it's all red and stuff
<calher>i wish i could take a screenshot
<cehteh>colored top?
<calher>i do top and it's red/orange
<cehteh>anyway ^Z works sometimes when ^C doesnt
<calher>but ^Z just backgrounds it
<cehteh>then you can investigate the cause and maybe sigkill the process
<cehteh>yes
<calher>im in screen
<calher>i can pull up many terms
<cehteh>^z also stops it
<calher> 5376 root 20 0 4.3m 2.5m 100.0 0.1 43:42.56 R `- script
<calher> 5377 root 20 0 6.6m 4.4m 0.0 0.1 0:00.02 S `- bash
<calher> 5380 root 20 0 161.2m 140.5m 0.0 3.5 4:09.01 S `- .guix-real
<cehteh>script?
<cehteh>you record your session?
<calher>yes
<calher>i recorded it to paste results of this command i was doing earlier
<calher>^z does not work
<calher>!!!
<calher>tuhtoehuetohutoehuou
<cehteh>what happened?
<calher>^z does not do anything
<calher>still stalled
<calher>just sitting there not doing anything
<cehteh>i only see such problems on really hard errors .. b0rked kernel, hardware/disk problems
<cehteh>maybe ram error
<calher>stuck downloading boost
<cehteh>check dmesg
<cehteh>maybe the network driver is out for lunch
<calher> http://sprunge.us/RXeO
<calher>Voila, le dmesg.
<cehteh>looks ok
<cehteh>just kill -9 it and / or reboot :D
<calher>fml
<calher>cehteh: that screen is still frozen...
<calher>cehteh: ok killed
<rekado>the Galaxy platform is switching from its own custom bundling dependency resolver to using Conda.
<calher>log -- http://sprunge.us/TIGa
<calher>rekado: huh
<rekado>so for the new pipeline we develop we are supposed to provide Conda packages.
<rekado>bleh.
<calher>wtf this gotta do w/ guix
<rekado>oh calher...
<calher>my system is b0rkt right now
<calher>kinda angry
<calher>etttttttt
<calher>mark_weaver: http://sprunge.us/TIGa
<calher>i hate everything
<calher>i cant go to sleep with this nightmare
<calher>my sys is hnthhttttht
<calher>hbhbtbthbthbthbthbthbthbthb
<rekado>calher: I'm not sure what you want us to see on the paste you sent.
<rekado>(and I don't know the meaning of "hnthhttttht")
<calher>**That's what happened when i did /run/booted-system/profile/bin/guix system reconfigure /home/cal/mark_weaver/leela-desktop.scm **
<calher>seemed normal but then it hung on this one thing (boost) and it wouldn't progress in any way
<rekado>did you retry?
<rekado>it doesn't look like a guix problem.
<rekado>as far as guix is concerned it's just downloading a binary.
<rekado>if that freezes for some reason I'd look elsewhere for an explanation.
<calher>trying again...
<calher>what is SPURIOUS SIGPOLL
<civodul>Hello Guix!
<calher>u
<efraim>hi!
<Jookia>civodul: ping
<civodul>Jookia: pong!
<Jookia>civodul: I've thought a lot more about the Libreboot code and figured two things need to be done: GRUB code needs to be refactored enough to have the GRUB-specific stuff called from grub.scm. This will make it easier to add other bootloaders in future, but more importantly, means grub parameters aren't threaded around. Perhaps this is overboard? Secondly, libreboot? is the wrong flag- we need a 'platform' flag which could be 'none, 'libreboot, 'pc or even one
<civodul>Jookia: the 2nd point makes sense to me, and it's easily implemented
<civodul>my first reaction about the patch was that threading #:libreboot? around was indeed not so great
<civodul>but then i couldn't think of anything great
<civodul>the refactoring you suggest seems like a better way
<civodul>though maybe it'd be enough to pass the 'grub-configuration' object around?
<Jookia>civodul: It may have been easy to but that feels like something GRUB should do
<civodul>GRUB should do what?
<Jookia>I *may* be biased since I want to implement u-boot sometime and want to make the refactoring easier on later. GRUB should be handling its grub data in its own functions- like passing it what it needs once somewhere
<civodul>right, but we should not conflate the two problems i think
<civodul>i mean, a first step could be a patch along the lines of what you posted
<civodul>and a second step could be refactoring
<Jookia>This is true- the reason I'm refactoring is that I went to pass grub-configuration around but then it'd have to pass both it and grub.cfg, so it seemed like a better idea for grub.cfg to be generated by grub internally
<Jookia>If you're up for the code threading both grub.cfg and grub-configuration around, I can do that but it seems... odd
<civodul>instead of threading both grub.cfg and the grub-configuration, we could thread just the grub-configuration object and instantiate it only where needed
<civodul>i think this part of (guix scripts system) needs love
<civodul>there are several things that aren't nice
<civodul>efraim: did you have a chance to look at my package-with-python2 proposal?
<Jookia>civodul: hmm- i'll finish my light refactor and post it and also do a patch of your idea if that fails
<civodul>cool
<civodul>it's a tricky area because we don't have automated tests yet
<Jookia>yeah, so when i say 'light' i mean just moving functions around and doing some renaming
<fhmgufs>Oh no: http://hydra.gnu.org/build/962791/log tests/respawn.sh still failing. :(
<civodul>bah
<civodul>i think we are victims of unreliable signal delivery in Guile
<civodul>but that's a thorny issue
<Jookia>oh by the way, i posted a gdk-pixbuf patch that allows you to build gdk-pixbuf on systems with only 2G of RAM
<Jookia>#features
<fhmgufs>On my system 'guix build shepherd' works quit well. I tested it three times.
<Jookia>civodul: Oh also, did you get the bug that 'guix pull' now fails if you go from dmd to shepherd since it tries to start/stop services
<civodul>you mean 'guix system reconfigure'?
<civodul>obviously i didn't get the bug, but please do post the details on the list
<civodul>it's supposed to keep going if it can't talk to shepherd
<Jookia>calher got it pretty hard today, i don't have any details besides getting him to revert the patch may have helped
<civodul>calher: could you post the details of what happened?
<Jookia>log available at https://transfer.sh/GWpKl/typescript
<Jookia>i must sleep now, walking the dog at 5am is hard to do if i keep staying up to midngiht ;)
<civodul>bah, requires JS
<fhmgufs>Where can I access the test suite log for the failed test of shepherd?
<civodul>fhmgufs: on hydra you can't; otherwise it's the file called 'test-suite.log'
<fhmgufs>Yes, but on my machine it's not failing.
<efraim>civodul: I did but not closely, I'll take a good look at it in the next day or two but I like the way its going. We'll have to decide also about making python2-setuptools an automatic part of python2 packages
<civodul>efraim: yes, but one thing at a time ;-)
<efraim>of course :)
<efraim>one of these days we'll also get python-2.7.11 and python-3.5.1
<fhmgufs>Is anybody here having a *slow* ARM board who could build shepherd (takes only two minutes) and give me the test-suite.log?
<df__>how slow is slow?
<civodul>fhmgufs: you may be able to reproduce the problem by running: while true; do make check TESTS=tests/respawn.sh ; done
<civodul>er
<civodul>while make check TESTS=tests/respawn.sh ; do : ; done
<fhmgufs>df__ slower than my RPi 2, I don't know.
<df__>I have an allwinner a20, looks about the same but with fewer cores
<fhmgufs>Please try!
<df__>ok
<fhmgufs>civodul: I'm running this now for almost ten minutes. It simply doesn't want to fail. These computers are so stupid, they never do what you want them to do. :)
<fhmgufs>df__: Just run 'guix build -K shepherd'
<fhmgufs>Or build from the tarball ...
<petter>civodul: i'm having the same problem as calher with reconfigure, http://sprunge.us/QJjJ
<df__>fhmgufs: it doesn't have guix on it, I'll get the tarball
<df__>gargh it doesn't even have guile on it and it seems debian doesn't package guile 2.0 for arm
<df__>guess I'll install guix
<fhmgufs>Debian has guile 2.0 for arm
<fhmgufs> https://packages.debian.org/jessie/guile-2.0
<df__>seems this board is still running wheezy
<fhmgufs>:(
<fhmgufs>I wonder why it isn't possible to get this file from hydra.
<fhmgufs>But wheezy has it, too: https://packages.debian.org/jessie/guile-2.0
<fhmgufs>The last version without guile-2.0 was squeeze
<df__> https://packages.debian.org/wheezy/guile-2.0 - no arm
<fhmgufs>Oh, sorry. :(
<df__>I've installed guix anyway
<fhmgufs>Without guile?
<df__>I installed the binary, presumably that comes with guile?
<fhmgufs>Ah, yes.
<fhmgufs>Anyway, I have to go afk now, sorry. Maybe you can mail the test-suite.log to me (fhmgufs <AT> web <DOT> de)?
<df__>k
<fhmgufs>Thanks.
<fhmgufs>ACTION goes afk
<civodul>petter: i'll push a fix shortly
<petter>civodul: thanks!
<petter>civodul: unrelated, but i'm working on putting the installation draft in guix.texi now. I hope to have a diff like you asked for later today.
<civodul>great, thank you!
***Digitteknohippie is now known as Digit
<df__>where does this test-suite.log end up?
<df__>oh, nowhere if the build didn't fail?
<civodul>df__: in the top-level build tree
<civodul>taylan: i'm sometimes getting:
<civodul>In ice-9/threads.scm:
<civodul> 99: 0 [loop (("gnu/build/activation.scm" "gnu/build/linux-boot.scm"))]
<civodul>
<civodul>ice-9/threads.scm:99:22: In procedure loop:
<civodul>ice-9/threads.scm:99:22: no such language scheme
<civodul>taylan: i think (language scheme spec) is loaded lazily, which could explain this
<taylan>civodul: during make?
<civodul>yes
<civodul>i had modified these two files
<taylan>aha, can reproduce
<NiAsterisk>Hi! I'm still doing the parens wrong, am I? https://ptpb.pw/7Y4x.scm I looked at guile-minikanren to understand what mark_weaver said yesterday about my two (let*) in there
<taylan>NiAsterisk: in the second let*, you forgot to close the paren at the end of the second line with (doc-dir (string-apend ...))
<taylan>NiAsterisk: you should put an additional ) there to end the list of variable bindings, and remove one ) from after the #t
<NiAsterisk>hm.. I'll switch screens to look
<taylan>NiAsterisk: also the indentation is bad. the list of variable bindings should not be indented at the same level as the list of commands in the body of the let
<NiAsterisk>It might be my init.el fault
<NiAsterisk>oh, thanks. i forgot one paren indeed :)
<NiAsterisk>how would I fix intendation for guix source only?
<NiAsterisk>apparently accepting the values set when opening the files does not help
<taylan>NiAsterisk: BTW when I use the auto-indentation of Emacs, it also makes the problem apparent through the indentation. current code: http://sprunge.us/RFGM fixed code: http://sprunge.us/bbFB
<taylan>NiAsterisk: Emacs's M-q should indent Guix code correctly
<NiAsterisk>brb, need to try this with my config in fullscreen
<taylan>accepting those values should make it work most of the time. additionally, this fixes the indentation of #:foo bar pairs in a list: http://sprunge.us/dJRM
<NiAsterisk>do you want to see part of my emacs config to see if something might've broken this?
<NiAsterisk> https://ptpb.pw/2u1J
<NiAsterisk>it's not long after the snips
<NiAsterisk>I'll look into it.. after changing the parens and the indentation it was obvious
<NiAsterisk>thanks!
<taylan>np :) don't see anything obviously wrong in your .emacs from a glance
<taylan>civodul: it seems the '#:autoload (system base compile) (compile-file)' is the culprit, in combination with the parallelization of the compilation
<taylan>I wonder if there's something akin to resolve-interface that also forces the loading of autoloads? or would that be a bad solution anyway...
<NiAsterisk>at least it builds again :) now I get permission erros on copy-file
<NiAsterisk>but it building again is process :)
<NiAsterisk>*progress
<myglc2>mark_weaver, petter: re: GuixSD works on GPT. ~ 10 days ago when I tried GPT I got GRUB embed errors that went away when I switched to doc/MBR, so I thought it didn't. Sorry for the misdirection.
<rekado>sad to see free bioinformatics software relying on the proprietary CPLEX :-/
<rekado>Guix will get a dedicated paragraph in the 2015 research report of our institute.
<davexunit>yay!
<civodul>cool!
<civodul>anyone used the openconnect VPN client that we have?
<civodul>i don't understand how it's supposed to work, but i wonder if there's something wrong with the VPN setup here
<civodul>(or perhaps PEBKAC)
<NiAsterisk>okay, then I have questions about copy-file in guix. specifically, where do we put documentation? "/share/doc" and then copy-file Documentation/README.txt to append doc /README.txt breaks
<NiAsterisk>I must be doing something wrong about paths I don't get yet which are specific to getting away from the typical GNU/linux structure
<fhmgufs>df__: Hello again. I heard your build didn't fail, too? But why is it failing on hydra?
<rekado>civodul: I only used "vpnc" (and I had to patch it to make it work with the VPN setup here).
<df__>fhmgufs: I just got it to fail, have sent you the log
<df__>dunno if it made a difference but I used --no-substitutes
<kmicu>iii
<fhmgufs>df__: great. Thank you!
<rekado>NiAsterisk: what do you mean by "break"? Do you get an error message?
<df__>actually no I didn't on that latest one
<NiAsterisk>I can't scroll up much (after years of tmux I still have not learned the keys for that
<df__>hmm
<NiAsterisk>but I can paste the bit I can see
<rekado>okay
<rekado>ACTION loves shell-mode in Emacs
<NiAsterisk> https://ptpb.pw/ekeI context is: https://ptpb.pw/XzvV
<rekado>you are copying to /README.txt
<rekado>the append must have failed
<NiAsterisk>where I ealize I should switch away from ptpb because it does not integrate with browsers I have very well
<NiAsterisk>oh. so / is implied?
<NiAsterisk>and I can just do "README.txt" ?
<rekado>no, wait
<rekado>(copy-file "Documentation/UserGuide.txt"
<rekado> (string-append "/UserGuide.txt"))
<rekado>that's wrong
<rekado>you only give one argument to string-append
<rekado>the result is the very same string.
<NiAsterisk>ooh
<rekado>it's appended to nothing at all
<NiAsterisk>typo
<NiAsterisk>damn
<rekado>heh
<NiAsterisk>thanks :D
<rekado>np!
<NiAsterisk>but are the paths right for guix?
<NiAsterisk> /bin and /share/doc ?
<rekado>I think so.
<rekado>when in doubt take a look at other packages
<rekado>I'm doing this all the time
<rekado>$out/bin is right, and $doc/share/doc seems okay, too.
<rekado>not sure if maybe you need to add one more directory named after the package.
<NiAsterisk>that's the problem I have. I am used to /usr/share/doc/$PN-$version/
<NiAsterisk>and things like that
<rekado>for "bwa" I used "/share/doc/bwa" as the doc dir.
<rekado>in Guix "/usr" is replaced by the unique prefix.
<NiAsterisk>sure
<rekado>when installed into a profile the union of all packages is computed
<NiAsterisk>I'll just add the name of the package to the directories
<NiAsterisk>can't hurt
<rekado>so all of the output directories are merged.
<rekado>I would append it.
<NiAsterisk>I mean append, sorry
<rekado>imagine two packages in the same profile, both providing /share/doc --- if there are many files under "doc" there is a strong likelihood of conflicts
<petter>myglc2: no problem. These are tricky bits that are easy to get mixed up.
<rekado>so having one directory for the package itself is better in most cases.
<NiAsterisk>so a profile like I imagine is indeed a big union of every unique /gnu/store/ residing pakcgae version used atm.. and hwen there's two "README.txt" they colide
<rekado>yes, something like that.
<rekado>installing a package means linking its particular output into the profile.
<NiAsterisk>okay. thanks so far :)
<davexunit> http://blog.tinco.nl/2016/02/05/nixos-on-digital-ocean.html
<civodul>"someone" should try to deploy GuixSD on "one of these hosting providers"
<davexunit>the annoying issue with most of them is that you have to use another distro image to start with
<davexunit>and then take it over somehow
<civodul>ok
<NiAsterisk>I would like to talk to inberlin about guixsd and if it can become a second option in addition to their debian default.. but I have no clue yet how to do it.
<NiAsterisk>you can choose between debian and debian with their vserver options
<NiAsterisk>probably when I have more knowledge about guixsd it could be doable.
<petter>just tried to create a GuixSD machine at serveraptor.com again. It's still failing :/
<NiAsterisk>yay :) lispf4 successfully build
<Sornaensis>hello guix people
<pizzaiolo>Sornaensis: hey
<petter>hello
<Sornaensis>has anyone created a nix distro that uses haskell instead of nix or scheme
<xd1le>Sornaensis: +100
<Sornaensis>I want to use haskell in everything
<xd1le>sorry i mean i don't know but i wish! :)
<Sornaensis>:C
<petter>i don't think so, i haven't heard of any such thing at least
<Sornaensis>I want a OS written in haskell with a package manager configured with haskell
<Sornaensis>ACTION embarks on a quest
<Sornaensis>cya
<petter>:)
<xd1le>:)
<xd1le>let us know
<xd1le>if you get anywhere with your quest
<civodul>boegel: do you know what happened with the sound track for https://video.fosdem.org/2016/k3201/ ? :-)
<boegel>civodul: they're working on it, see https://github.com/FOSDEM/videobox/issues/12
<civodul>cool
<boegel>civodul: the sound *is* there (I heard it when cutting), they just need to fix something in the encoding
<civodul>nice!
<civodul>boegel: and thanks for helping out, i wonder how people manage to handle that much work
<boegel>civodul: I did what I could on my end, see https://github.com/FOSDEM/videobox/pull/10
<boegel>civodul: many hands make light work, other than organising a devroom I'm not involved with FOSDEM otherwise
<davexunit>boegel: yay!
<civodul>boegel: what does "AUDIO=FR" means?
<davexunit>I wass worried that the audio wasn't recorded at all
<boegel>civodul: front right
<civodul>this will all be dubbed in French?
<civodul>oh ok
<civodul>;-)
<davexunit>I can be patient knowing that the audio is OK
<boegel>civodul: all sound is on the right channel basically, and they picked up left channel by default, hence no sound (yet)
<boegel>davexunit: no, it's there, 100% sure
<civodul>okay
<boegel>ACTION was looking at the raw video files for a couple of hours when cutting things up
<petter>"dubbed in French" haha :D
<boegel>some talks were lost though, anything before 12.20pm basically :(
<boegel>pretty much all rooms before 12.20pm on Sat
<davexunit>boegel: rock on. I'm glad that there will be *something* to watch.
<civodul>oh right the 1st one is that of rekado right?
<davexunit>shame about losing everything before noon.
<boegel>civodul: yeah, only the Q&A part of rekado
<civodul>maybe not shame, but pity, sure
<davexunit>sorry, shame is not the right word.
<davexunit>boegel: I have done A/V for the FSF's LibrePlanet conference, a significantly smaller event, and I learned to appreciate the great difficulty of trying to stream/record conference sessions.
<boegel>rekado does have his excellent lightning talk in the HPC devroom though ;)
<civodul>what's the URL?
<boegel>davexunit: on the scale of FOSDEM, it's NUTS
<civodul>there could be FOSDEM TV 24/7 broadcasting talks at random
<boegel>civodul: http://video.fosdem.org/2016/aw1126/, looks for 'reproducible'
<davexunit>boegel: I can only imagine! I just wanted to make it clear that disappoint about losing some talks that I am *very* appreciative of the work that goes into recording these sessions for FOSDEM>
<davexunit>I forgot some words in that sentence
<boegel>davexunit: they estimate that they have 84% of all talks, which is... wo
<boegel>*wow
<davexunit>"that despite being disappointed"
<davexunit>boegel: yeah, that's a pretty great percentage.
<NiAsterisk>and Sornaensis was never seen again, lost in the effort of haskell'ian mist
<boegel>during the HPC devroom, we got the impression we wouldn't have anything, and we basically have 100% there in the end :)
<Sornaensis>:P
<Steap|DevConfCZ>ACTION is live from DevConfCZ
<Steap|DevConfCZ>Did you know it was just so great to ship your entire environment using Docker because you can't figure out how to install your dependencies? \\o/
<davexunit>rekado: this is very good! https://fosdem.cu.be/2016/aw1126/reproducible-and-user-controlled-package-management-in-hpc-with-gnu-guix.mp4
<davexunit>this might be useful on the guix homepage because it's so short
<Sornaensis>is that the talk that was linked on hacker news liek 2 years ago or whatever
<davexunit>Steap|DevConfCZ: hahaha
<davexunit>welcome to the "modern" world
<davexunit>Sornaensis: no, this is a new talk.
<davexunit>rekado did a lightning talk in the HPC room at FOSDEM
<civodul>rekado: i was watching it too, and yeah, very efficient talk & to-the-point!
<civodul>davexunit: yes, agreed
<rekado>davexunit, civodul: Thanks!
<Steap|DevConfCZ>davexunit: the guys were like "yeah, our code is on github, cuz everybody uses github"
<rekado>I haven't looked at it yet.
<Steap|DevConfCZ>Then they proceeded to call themselves "engineers"
<davexunit>Steap|DevConfCZ: ever feel like you're swimming against the current? ;)
<Steap|DevConfCZ>davexunit: oh, do I
<Steap|DevConfCZ>davexunit: though it is true that Docker seems to be able to do stuff we cannot easily do
<civodul>mark_wea`: do you think we could copy the video above to audio-video.gnu.org? (and maybe filter sound a bit?)
<Steap|DevConfCZ>like using it to create a "fake" network of multiple machines in order to run integration tests
<Steap|DevConfCZ>not sure whether that is something that we can easily do
<civodul>not yet :-)
<Steap|DevConfCZ>for production and unit testing, Docker is pure crap compared to Guix, that is for sure :)
<Steap|DevConfCZ>civodul: yeah, but I think we could probably run some stuff inside of "guix env" and have a similar feature
<davexunit>civodul: longer-term idea, use rekado's lovely graphics and record an audio track to play on top that gives a quick intro to Guix.
<rekado>boegel: thanks for your work! I'm glad the talk has been recorded.
<davexunit>like a little advertisement
<boegel>rekado: I'm glad you accepted my invitaton to submit a talk (and that it got selected)
<davexunit>Steap|DevConfCZ: we need to absorb those features.
<NiAsterisk>Steap|DevConfCZ: I like this article about a thing which was built on top of Docker to improve Docker.. isn't Docker supposed to be the fix? feels like broken tech all over again, patches upon patches
<davexunit>I desperately need help improving our container implementation.
<civodul>davexunit: good idea
<davexunit>we're built on a much better foundation, but we lack those networking features and other nice things.
<rekado>davexunit: I think the slides aren't general enough; they have a strong focus on reproducibility (because that was the goal of the talk).
<civodul>rekado: how did you make them, BTW?
<rekado>inkscape and time.
<Steap|DevConfCZ>davexunit: do you think the networking thing should be part of Guix, or implemented using Guix ?
<davexunit>rekado: sure, but I really like your style so something in that vein that was more of a easy-to-understand intro would be great.
<civodul>heh, time :-)
<davexunit>Steap|DevConfCZ: it should be part of our container modules, yes.
<Steap|DevConfCZ>civodul: took a quick look at your fosdem slides, loved the "well, inside a Docker container there is... a distribution !"
<Steap|DevConfCZ>civodul: the talk about "the new way of building distros using Docker" will also happen at DevConfCZ iirc
<civodul>yeah i found it ironic :-)
<Steap|DevConfCZ>civodul: it is
<Steap|DevConfCZ>really is "I'm giving up on understanding what I'm doing, I'll just tweak everything until something works, and then I'll ship that"
<civodul>Steap|DevConfCZ: that one: https://fosdem.org/2016/schedule/event/distros_rethinking/ ?
<davexunit>this kind of stuff is why I need to recruit more help for Guix containers.
<Steap|DevConfCZ>civodul: I think so
<civodul>wonderful
<Steap|DevConfCZ>civodul: did you troll the dude at the end? :p
<civodul>davexunit: have you seen https://fosdem.org/2016/schedule/event/distros_rethinking/ ? you'll like it
<civodul>Steap|DevConfCZ: which one?
<Steap|DevConfCZ>the speaker from "distros rethinking"
<civodul>ah, no :-)
<boegel>rekado had great slides
<davexunit>Guix containers have the potential to be soooo much better that what Docker could eve hope to provide.
<boegel>at first, the pink is like "WOW CRAP MY EYES"
<boegel>but then it's ok
<davexunit>s/eve/ever/
<rekado>I started using pink when I had to design a poster for an internal conference.
<rekado>everyone was using blue.
<davexunit>civodul: I'll watch and try not to get too depressed.
<rekado>and they wouldn't dare to use any other colour because no other colour seems to be as professional as blue.
<civodul>well...
<rekado>I didn't have anything to lose, so I went with pink.
<civodul>heh
<Steap|DevConfCZ>rekado: you should come to DevConfCZ, everything is red :)
<rekado>now I'm stuck with it and I kinda like it...
<boegel>rekado: it's cool, keep it
<davexunit>civodul: this might be guy that was at software freedom day!
<davexunit>that did a lightning talk about Docker
<boegel>rekado: it stands out like a mothafucka ;)
<rekado>heh
<civodul>davexunit: you'll have to skip to 29mn because nothing happens before that (i was really surprised how this could happen!)
<davexunit>civodul: thanks
<davexunit>just did that
<davexunit>time is precious
<civodul>the core of the talk fits in that slide :-)
<davexunit>civodul: we should definitely steal the sandboxing stuff from xdg-app
<davexunit>so the web browser cannot take my ssh keys or whatever
<civodul>yeah right
<davexunit>in all of these projects I see a poorly implemented guix + a couple things we could assimilate
<civodul>but that's because you're biased ;-)
<davexunit>of course!
<davexunit>but I started hacking on Guix partly *because* these other options didn't seem right.
<davexunit>"hmm, Docker seems not great, but I can't put my finger on it..." *tries Guix* "Ohhh I see it now!"
<davexunit>civodul: yeah this is definitely the guy I'm familiar with. he's a Bostonian.
<Steap|DevConfCZ>"guix env" is already "the bomb" to hack on a project
<Steap|DevConfCZ>like, not having to do "apt-get install libfoo-dev python-bar ..."
<Steap|DevConfCZ>libraries that you'll never ever use, except to compile project X
<davexunit>yeah, agreed.
<Steap|DevConfCZ>(but you might have to hack a bit to get the versions you really need)
<Steap|DevConfCZ>(which is easier than on Debian, but still a pain)
<davexunit>I want to expand upon that to encompass other things, like say, needing a database server running.
<davexunit>which is where containers could come in.
<Steap|DevConfCZ>yeah
<davexunit>we need to have a unified set of tools that take a hacker from development to deployment.
<Steap|DevConfCZ>and actually "populating" the DB ossibly
<Steap|DevConfCZ>davexunit: we could use the bullshit buzzword "devops" to sell that :)
<davexunit>with networking added to containers we could make GuixSD containers that run databases and forward a port to the local machine.
<davexunit>of course, one could also choose to just use a VM
<davexunit>which we also provide.
<davexunit>I think this is actually one of the biggest selling points of Guix that I want to find a concise way to make clear: Guix *composes*
<davexunit>bare metal, container, VM, simple environment variable based profiles, etc.
<davexunit>Guix successfully covers the entire range.
<davexunit>pick the level of virtualization that's suitable for your task.
<civodul>solving the problems of today today!
<davexunit>we all know purity is cool, but I get a lot of mileage out of Guix by using 'guix environment --ad-hoc' to extend my current set of environment variables by a single package for some quick hack.
<davexunit>I love that.
<Steap|DevConfCZ>ok, so one of my colleagues just talked about "Free Software"
<Steap|DevConfCZ>I'll make sure he gets the memo about the right terminology and uses "Open Source" just like everyone else
<civodul>heh
<Sornaenst>FSF IS NOT OSS
<Sornaenst>ACTION explodes
<petter>ACTION finds a shovel and starts cleaning up Sornaenst 
<calher> /away
<calher>civodul: I recorded and posted what I could in the backlog.
<avoine>would it make sense to have a debian/rpm/etc importer?
<calher>Isn't it supposed to get things straight from the devs?
<davexunit>avoine: if it's possible in practice to turn a debian source package into a guix expression, then sure.
<davexunit>one problem: I'm sure they use tons of bash
<davexunit>we don't want that.
<avoine>yeah minus the bash
<rekado>it may be easier to write an importer for PKGBUILD rather than Debian.
<rekado>it's only one file instead of a directory
<rekado>and maybe invocations of "sed" could automatically be converted to (substitute* ...) (but maybe I'm just dreaming)
<davexunit>rekado: yeah, something like that.
<calher>PKGBUILD is ooooooold
<rekado>"ooooooold" meaning "no longer used"?
<avoine>I think we could use the watch file, the patches the rest would be hard
<davexunit>in practice, I don't think there's a very good way to produce guix expressions from these things
<calher>i was thinking of the slackware thing
<mark_weaver>avoine: it's technically infeasible, I think.
<davexunit>for debian, we could use the metadata to populate name+version+home-page+etc., but I don't know how much more value we'd get than that. maybe patches? but then again debian patches thing that we may not want to patch.
<rekado>but it makes it easier to start: you get a synopsis/description, some of the inputs, download URLs.
<davexunit>yeah, that's a good point. importers are meant to cut down on boilerplate, not produce a 100% working expression automatically.
<mark_weaver>also Debian packages tend to be old
<kristofer>what package might give me simple volume control?
<calher>I did it again and it looked similar to what i saw the first time i did this. it did everything except grub
<calher>but i can't scroll back to make sure
<davexunit>kristofer: pavucontrol is one such package
<rekado>kristofer: I'm using alsamixer
<mark_weaver>kristofer: alsa-utils contains some programs including amixer (command line) and alsamixer (curses)
<calher>well, i *can* scroll back, but not all the way
<calher>scared to reboot...
<mark_weaver>calher: that log you posted seems to be truncated in the middle of a line
<mark_weaver>anyway, I wouldn't worry about it, guix is very robust in this regard.
<calher>sorry, i had a weird memory/cpu overload
<mark_weaver>I've never had a problem booting a GuixSD system after a successful initial install.
<calher>I should at least get my IRC off of a system that is going to be rebooting a lot
<calher>ACTION types 'reboot' at root prompt
<calher>ACTION switches to another window
<calher>ACTION presses RET at root prompt
<calher>ACTION holds breath
<calher>no such file or directory
<calher># reboot
<calher>error: connect: /var/run/shepherd/socket: No such file or directory
<mark_weaver>calher: that's because of the dmd -> shephard transition. run this instead: /run/booted-system/profile/sbin/reboot
<petter>i think it's spelled shepherd
<mark_weaver>petter: indeed, my mistake
<petter>it seems to be a little tricky, i've seen it misspelled quite a few times
<davexunit>shephard is when you *really* need to get those sheep under control
<mark_weaver>:)
<calher>Success!
<mark_weaver>\\o/
<calher>And XFCE's calendar doesn't say it's 1969!
<calher>(That would be great to see, lol.)
<mark_weaver>heh :)
<pizzaiolo>either suitsmeveryfine or jookia mentioned a few days ago that xfce in guixSD is not very theme-able, is that correct?
<davexunit>pizzaiolo: that's not true.
<pizzaiolo>oh, good then :)
<davexunit>it's XFCE, so you can do with it what you can normally do to XFCE
<pizzaiolo>are there any limitations to xfce theming in guixSD?
<pizzaiolo>apart from regular limitations of xfce theming
<davexunit>why would there be?
<petter>changing theme doesn't work for me, in Xfce
<davexunit>I set a theme for my xfce without issue
<petter>if by theme you mean Appearance -> Style
<davexunit>if something is clearly broken, file a bug.
<davexunit>but let's not spread misinformation that guixsd limits themes.
<pizzaiolo>petter: what was your issue, specifically?
<mark_weaver>davexunit: I think he's referring to a conversation that happened between me and someone here on IRC, where they observed that attempting to set the "Style" in the Settings -> Appearance menu of Xfce seemed not to do anything. I looked and agreed that it doesn't seem to work for me either.
<mark_weaver>I'm not sure what the issue is, or even what that's supposed to do, so it might be a bug or a misunderstanding, dunno.
<petter>pizzaiolo: what mark said. Nothing happens.
<pizzaiolo>oh
<mark_weaver>davexunit: what did you do to set the theme that worked?
<NiAsterisk>hm... how do I clean stuff in /gnu/store/ which got downloaded during testings with guix environment and is now causing errors wit hashsums? garbage collector thing?
<davexunit>mark_weaver: I currently use the "Adwaita" option in the "Style" tab of the Settings -> Appearance dialog
<mark_weaver>setting the "Style" in Settings -> Window Manager works for me. that's the only theme-like customization I've done myself.
<davexunit>I install gnome-themes-standard and adwaita-icon-theme into my profile
<mark_weaver>davexunit: within Settings -> Appearance, I see Adwaita in the Icons pane, but not in the Style pane.
<mark_weaver>maybe I'm missing a package, dunno.
<mark_weaver>NiAsterisk: what kind of errors is it causing?
<davexunit>mark_weaver: I think it's provided by gnome-themes-standard
<NiAsterisk>one sec
<NiAsterisk>did some minor corrections since then, but that's the error https://ptpb.pw/S2Ji
<NiAsterisk>hash is set to 07j8etcetctetc
<NiAsterisk>in the scm file
<NiAsterisk>it was built before, but I slightly altered the name.. or something.. idk, not much documentation and haven't commited yet
<mark_weaver>NiAsterisk: apparently that's the wrong hash
<NiAsterisk>i know
<mark_weaver>garbage collecting won't help this
<mark_weaver>you need to compute the correct hash
<myglc2>Running guixSD on 4 core 8 thread headless server. Is there a way to do 'guix system reconfigure' with parallel (e.g. like make -j 6) builds? ... and is it advisable?
<NiAsterisk>no it isn't
<NiAsterisk>niasterisk@khazad-dum ~/resources$ guix hash --recursive LISPF4_resources/LISPF4
<NiAsterisk>07j87ksyxrzb7pqxpqarz6jyqndl8p9z7ykdcpqi1q96z2if18i0
<myglc2>OK thanks
<davexunit>boegel: not sure if you noticed, but the "foreign packages in gnu guix" talk also contains a good portion of the "guile-config" talk
<NiAsterisk>that's the folder with the latest git checkout of lispf4
<mark_weaver>NiAsterisk: to compute the hash of a git checkout, do this: use git to get make a fresh clone, and bring it to the desired commit, then "rm -rf .git" and "guix hash -r ."
<mark_weaver>NiAsterisk: maybe you forgot to delete the .git directory
<mark_weaver>note: only do that in a fresh clone. doing so will blow away your local git repo and anything in it.
<NiAsterisk>the guix build procedure deletes it?
<mark_weaver>yes, because it's non-deterministic.
<NiAsterisk>okay, noted. thanks
<mark_weaver>np!
<NiAsterisk>ACTION fetches 80 MB again with slow internet from german industrial city hell
<mark_weaver>unless your git fetch is corrupted, the hash you end up with should match the one in the error message: 18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c
<NiAsterisk>i think so, yes. but I want to make sure
<mark_weaver>I appreciate that!
<NiAsterisk>yep it does match
<mark_weaver>that's good!
<NiAsterisk>and I think i even have it in the file, but I wasn't sure which of the 3 commented ones are right
<davexunit>so I looked at OpenSCAD, and it looks neat because you just write code to form your objects, which is great for me, but the language is lackluster.
<davexunit>would love a Guile replacement :)
<kristofer>davexunit: would that be difficult to achieve?
<davexunit>probably.
<davexunit>I took a look at some examples, and the code looked very similar to my render combinator interface for my game engine.
<davexunit>I'm trying to design a case for something and naturally, as a programmer, I want to write a series of procedures that can calculate all the various dimensions for the parts based on some initial constraints.
<kristofer>sly? I'm trying to work with that currently and I'm having some difficulty
<davexunit>kristofer: not surprising! it's very rough.
<davexunit>feel free to ask questions over in #sly and I can try to help
<kristofer>oh cool
<NiAsterisk>hm, is there some bigger version of the guix favlogo?
<NiAsterisk>not desktop size, but button (print button) size?
<mark_weaver>we have the logos in SVG format, so scalable to any size
<NiAsterisk>in the artworks git, right?
<mark_weaver>should be
<NiAsterisk>found it
<mark_weaver>NiAsterisk: http://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/logo
***jgay_ is now known as jgay
<myglc2>davexunit: I used OpenSCAD for a few projects. I would highly recommend it, except, as you note, for the language.
<myglc2>In other words, everything else works great and is totally functional, the language is just tiresome to use.
<davexunit>myglc2: yeah it looks neat. would be great to rip out the language and replace it with guile. :)
<myglc2>Agreed. In the meantime, if you need to design something it does work great
<davexunit>step 1) package it for guix :)
<myglc2>Yup
<bavier>rekado: re blas in R, does R build a bundled blas library if no other implementation is found at build time?
<bavier>nvm, I reread the github bug
<a_e>rekado: Could you check whether your R without openblas retains a reference to lapack? Cf. my message to the mailing list.
***parab is now known as parabool
<calher>How do I make XFCE not look like junk?
<calher>davexunit: Does your Mumble recipe work yet?
<calher>I'm installing VLC now.
<davexunit>calher: no, haven't worked on it in awhile
<lfam>Is sourceforge having another outage or have they just not recovered from the last one?
<lfam>Tons of 404 browsing the site
<calher>> server is somewhat slow
<Sleep_Walker>hm, for some reason my locale in Guix is cs_CZ.UTF-8 while my locale outside is cs_CZ.utf8
<calher>In Settings->Window Manager Tweaks->Compositor, dragging the opacity bars don't change opacity.
<boegel>davexunit: oh, that's not the intention at all...
<boegel>davexunit: hmm, that's not the case at the one I'm looking at...
<boegel>davexunit: how long does the one you're looking at run?
<davexunit>boegel: maybe things have changed since I looked. one sec let me find the video
<boegel>davexunit: they had some issues with videos running too long, but it was resolved yesterday
<davexunit>boegel: 30:56
<boegel>davexunit: maybe your mirror hasn't picked up the new version yet?
<davexunit>for https://fosdem.cu.be/2016/k3201/foreign-packages-in-gnu-guix.mp4
<boegel>davexunit: http://ftp.osuosl.org/pub/fosdem/2016/k3201/guile-config.mp4
<boegel>ah, hold on
<davexunit>boegel: ah, there are mirrors involved. so that could very well explain it.
<boegel>wrong one on my end :)
<davexunit>boegel: 21 minutes in I'm seeing it, just in case it is still a problem
<boegel>davexunit: it seems to be an issue still
<boegel>davexunit: thx, I'll take a look where I screwed up
<davexunit>boegel: thank you!
<boegel>davexunit: yeah, seems to be my bad
<davexunit>no worries :)
<boegel>davexunit: fixed with https://github.com/FOSDEM/videobox/pull/14
<boegel>time math is *hard* :P
<davexunit>boegel: I like how the whole pipeline is in a git repo
<davexunit>really cool
<davexunit>and I *love* the case for the hardware
<boegel>yeah, that's pretty neat
<boegel>I wasn't involved with any of that, I just volunteered for the cutting, which is reasonably straightforward
<GChriss>digging around a bit on the web here's what the inside of the boxes look like: https://plus.google.com/103261587477257884420/posts/DCvEpwv7mfH?pid=6177184079138861346&oid=103261587477257884420
<mordocai>How hard would it be to make to where when I build things on my home desktop substitutes are published but through my vps server? Would I be able to just setup the vps server to publish substitutes then rsync or something?
<calher>Ha! I can use tar but not zip!
<lfam>What do you mean?
<calher>tar is installed by default but not zip
<lfam>mordocai: Look at `guix archive`
<lfam>calher: zip is available if you want to install it
<calher>i know lfam i just think it's funny it wasnt installed by default
<lfam>Not much is installed by default :)
<calher>oops i didnt know unzip and zip were different programs
<lfam>mordocai: You might also find this section of the manual helpful: https://www.gnu.org/software/guix/manual/guix.html#Daemon-Offload-Setup
<mordocai>lfam: Ooh yeah, that sounds useful. Theoretically I could configure my vps to offload to my desktop and run guix publish on the vps too then have all my machines use my vps for substitutes.
<lfam>mordocai: I haven't tried any of that, but it seems that you could either offload the builds, or export the built artifacts, move them to the server manually, and then import then.
<lfam>It's a good idea to have the local substitute server since it's surely faster than hydra.gnu.org :)
<nully>hydra.gnu.org is migrating
<nully>speaking of which, does anybody know who is looking into that?
<lfam>However, there was a problem in the past where if you had used multiple substitute servers, and the first one did not have the desired substitute, the later servers would not be queried. I'm not sure if that was fixed.
<nully>mark_weaver: ? ping :)
<lfam>nully: That's your answer ;)
<nully>magic
<lfam>Even though hydra will get faster, it's still nice to federate for yourself, until we have a truly decentralized solution.
<nully>*nodnod*
<nully>the phsyical host that houses hydra is simply not built to be a build server
<lfam>Hydra actually isn't a build server. It's just the front-end of the build farm
<nully>it does a lot of compiling though, right?
<lfam>No, it doesn't build at all
<nully>really?
<lfam>It just distributes the build jobs to the build slaves and serves substitutes to users
<nully>ACTION logs in real quick
<nully>then why is it overloaded
<nully>that doesnt seem very resource intensive
<lfam>AFAIK it is a rather puny VM with terrible I/O bandwidth
<nully>what is hydra-build ?
<nully>if you know
<lfam>I'm not an admin, I don't know.
<nully>ah just curiously if you knew
<nully>i mean the host isnt htat bad
<nully>ah its all this packing stuff
<nully>tons of gzips, etc
<Jookia>hydra is the build server for guix
<nully>i wonder if its possible to reduce the amount of threads
<lfam>Jookia: No it's not, it's the front-end to the build farm.
<nully>i was under the impression it did building there
<Jookia>lfam: interesting
<lfam>Okay, hydra is the name of CI server software we use. hydra.gnu.org is the front-end that runs the hydra software. But substitutes are not build on hydra.gnu.org.
<mark_weaver>hi nully!
<nully>hey mark_weaver
<nully>mark_weaver: could you clear up a few details for me? :3
<nully>1) does hydra actually do compiling?
<mark_weaver>I care spare a few minutes
<nully>2) does hydra need to spin up as many threads as it does at the same time?
<nully>i am looking at the disks today because there is an issue on the physical host
<mark_weaver>it mostly doesn't do compiling, but it does sometimes compile guix itself.
<nully>and i noticed things didnt look right performance wise
<nully>so its just packaging to gzip/bzip2?
<nully>and a bunch of db stuff?
<mark_weaver>yeah, most of it is packing and unpacking stuff that's going over the wire to/from the build slaves and to users who are downloading packages.
<mark_weaver>there's an nginx cache in front of that
<nully>there is no way to limit the rate?
<nully>i think you'd see faster times
<mark_weaver>but we are very low on disk space
<mark_weaver>the disk I/O bandwidth on the machine is *pitiful*. that's a big part of the problem
<nully>let me see what we're seeing
<mark_weaver>and we don't have enough RAM
<nully>ouch
<mark_weaver>and not enough disk space for the nginx cache
<nully>avg 700K/s
<nully>i c
<lfam>:(
<mark_weaver>as for the number of threads, it's a function of how many concurrent builds are happening, and on how many downloads are happening that aren't in the nginx cache
<mark_weaver>having said all this, I agree that the software could be improved
<nully>i c
<janneke>./configure: line 2: -e: command not found
<janneke>./configure: line 3: !#: command not found
<janneke>
<janneke>hmm...
<mark_weaver>anyway, we are very close to building our own replacement box which will be hosted in France
<mark_weaver>should be ready within 2 months we hope
<nully>oh cool
<nully>you should also be aware in the next 2 weeks we're redoing all our metal
<mark_weaver>at present, we can't make good use of all of the build slaves we have, because of hydra's limitations.
<nully> https://libreboot.org/docs/hcl/kgpe-d16.html
<mordocai>Is guix publish capable of doing ssl or should I put nginx in front of it for that?
<mark_weaver>nully: that's what we're going to use also.
<nully>nice
<mark_weaver>it would have been great to coordinate on the spec'ing of the machine. I did my best but this is not my skill set.
<mark_weaver>nully: what's your time frame on building the actual boxes?
<nully>64gb using the Opteron 6200
<nully>asap
<mark_weaver>same here :)
<mark_weaver>1U?
<nully>2
<nully>going 2 U, all SSDs
<mark_weaver>okay, I am indeed worried about the cooling.
<nully>raid10s of SSDs
<Jookia> mark_weaver: looks some some git repos don't provide https support- i wonder if switching to SSH for some git downloads would be okay
<nully>i'm going for the supermicrocases
<mark_weaver>SSDs seemed too expensive for our space requirements.
<nully>i love thoes things
<nully>yeah
<nully>u guise need spinners
<nully>we're going to be deploying some spinners still
<mark_weaver>well, this is great news :)
<nully>one thing i'm open to
<mark_weaver>nully: so, the hardware under hydra is going to change soon? what will be the downtime?
<nully>is y'all sending disks
<nully>that can be dedicated to only ur VM, we'll ahve the space
<nully>downtime?
<nully>like 5 to 10mins probably
<mark_weaver>impressive
<nully>i try
<nully>=P
<nully>i cheat, i use lvmsyn
<nully>*lvmsync
<mark_weaver>heh :)
<nully>lets me just reply the snapshot on the the new LV
<mark_weaver>well, thanks for letting me know! I have to go afk for a while, but let's talk about this again soon.
<nully>its the difference of hours, VS mins
<nully>np
<nully>mark_weaver: be safe
<mark_weaver>likewise!
<nully>mark_weaver: dont forget to come into the office :)
<nully>and hang out
<nully>lunch maybe
<nully>my treat =P
<nully>next week
<nully>^^
<mark_weaver>sounds great, will do!
<nully>dont forget, i have presents for you
<mark_weaver>heh :)
<nully>^^
<mark_weaver>ttyl!
<mark_weaver>ACTION goes afk
<a_e>nully: I am just reading up on your conversation. That sounds all very promising!
<nully>nothign is in stone
<nully>i'm fairly sure its all going to work out
<mordocai>So running guix on top of debian I still get "substitute: warning: failed to install locale: Invalid argument" even after following instructions here http://www.gnu.org/software/guix/manual/html_node/Application-Setup.html. Is there something else I need to do that isn't in that doc?
<mordocai>I'm using hydra.gnu.org for substitutes, and everything seems to work I just get that message a lot
<Jookia>mordocai: did you set GNU_LOCPATH
<bavier>mordocai: did you follow those instructions as root before running the substituter?
<mordocai>Yes and yes
<Jookia>mordocai: what locale
<mordocai>Jookia: http://lpaste.net/151756
<mordocai>From debian shell not guix
<mordocai>Jookia: GNU_LOCPATH is /root/.guix-profile/lib/locale
<Jookia>mordocai: hmm- did you install glibc-locales ?
<paroneayea>hm :\\
<mordocai>Jookia: Yeah, that locale directory has 2.22/en_US.UTF-8 in it
<Jookia>hmm :| what guix are you calling, guix's guix or debian's guix?
<mordocai>Binary installation from the 0.9.0 tarball
<Jookia>is the binary installation using guix's libc or debian's
<lfam>It's GUIX_LOCPATH, not GNU_LOCPATH
<mordocai>probably debian's I guess. I don't know enough about your binary distribution.
<bavier>Jookia: guix will always use its own libc
<Jookia>bavier: thought so
<mordocai>lfam: yeah, that's what I actually have. I just copied Jookia's typo when I typed it here
<mordocai>Just double checked and it is GUIX_LOCPATH that I was echoing/setting on the server
<Jookia>I need to wake up a bit more before I try to debug issues
<Jookia>My bad
<lfam>I get that warning when downloading substitutes as well. The applications I have installed through Guix do get the proper locale. It's just something in the environment that the substituter is using and I think its harmless, although annoying.
<mordocai>Just to check it isn't me using stuff wrong, i'm just sitting in a standard bash shell on debian and running guix environment guix and that locale message comes up after each substitute is downloaded.
<mordocai>lfam: Ah okay. If it isn't actually a problem then i'm good for now
<Jookia>I'm on siducer and I don't have this error
<lfam>Interesting
<Jookia>source ~/.guix-profile/etc/profile && export GUIX_LOCPATH="/root/.guix-profile/lib/locale" && export LANG="en_US.UTF-8"
<Jookia>^ that's how i'm getting guix in my environment
<lfam>You're able to read files in /root as your user?
<mordocai>hmmm I didn't do the first thing.
<Jookia>no, i just have been running everything as root
<Jookia>mordocai: may not be important, it just sets up your PATH
<lfam>Oh. Anyways, it's best to do it per-user in my opinion
<mordocai>Jookia: Yeah source ~/.guix-profile/etc/profile didn't do anything for me
<Jookia>lfam: probably, but i'm lazy so i'm developing guix as root rather than as a user
<lfam>mordocai: Did you also export the locales?
<lfam>I'm asking in relation to Guix provided applications, not the substituter
<mordocai>lfam: Yeah, i'm just talking about the substituter
<bavier>mordocai: you've installed glibc-locales into your root profile too?
<mordocai>bavier: Yeah, so far I haven't really done anything so only using root
<bavier>hmmm
<lfam>All these people working as root... tsk tsk tsk ;)
<mordocai>lfam: I don't plan on doing it longterm, but right now my experience with guix is literally that i've installed it and ran guix environment guix and got a shell.
<lfam>I'm just kidding around. Some things are more easily done when logged in as root.
<lfam>You're on Debian? Try providing GUIX_LOCPATH in the systemd service file that you use to start the daemon
<bavier>though with guix you can do most things as a user
<mordocai>Is there a doc for setting up another user? If I just start using guix and my user is in the build users group does it just work or do I need to setup a profile manually or something?
<lfam>Your user should never be in the build users group
<mordocai>lfam: Oh yeah, I don't think I had GUIX_LOCPATH set prior to starting the daemon.
<mordocai>lfam: Oh okay, I was assuming there.
<lfam> http://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html#Build-Environment-Setup
<lfam>You should create some system users to do the building. As long as your user can talk to the daemon, it will work.
<mordocai>Got it, yeah. I followed those instructions but didn't really think about them.
<lfam>Your profile will be created the first time you install a package
<lfam>So, if the daemon is running and you have the `guix` command in your path, you should be able to start using Guix as your user.
<mordocai>Cool. Btw, for some reason I guess my server can't find a substitute from hydra for graphviz? I can't build it on the server due to it only having 1GB of memory. http://sprunge.us/WgGi
<mordocai>Might have to offload to my desktop before I can handle it
<lfam>Can you fetch any substitutes? Did you authorize hydra's key?
<lfam>And, what architecture
<mordocai>x86_64 and everything else was fetched as a substitute from hyrda.gnu.org
<mordocai>graphviz is the only thing for guix environment guix that it is trying to compile
<janneke>[run-with-pipe _ "/bin/bash" ...] .. [execlp "/bin/bash" "/bin/bash" ...]
<janneke>ERROR: In procedure execlp: No such file or directory
<lfam>mordocai: Did you run `guix pull` yet? Or are you trying to fetch the old 0.9.0 substitutes from when 0.9.0 was release?
<lfam>janneke: What is that
<mordocai>lfam: I did not run guix pull. Wasn't aware I should
<lfam>Yes, it is analogous to `apt-get update`. The old substitutes have been garbage collected to make room for the new ones
<janneke>lfam: i'm trying to get a ./configure to run that's written in scheme
<janneke>lfam: after an hour of trying i now get these (os process) errors
<mordocai>Cool, that'll probably work better then thanks
<lfam>I'm pretty sure that's in the latest version of the manual
<janneke>and i'm wondering why i have such a difficult time running a guile script on guix :-)
<lfam>Does /bin/bash exist on your system?
<janneke>yes, I am running on top of Debian atm
<lfam>My Scheme is not that strong but I could try taking a look at the script. Perhaps someone else will jump in if you share it
<janneke>lfam: http://janneke.lilypond.org/configure
<mordocai>lfam: guix environment guix worked fine after the guix pull
<pizzaiolo>when I try to extract a tarball, I get the error "bzip2: (stdin) is not a bzip2 file"
<pizzaiolo>anyone knows why?
<pizzaiolo>the command is correct: tar -jxvf blabla.tar.xz
<janneke>pizzaiolo: what if you omit the j, or replace it with an `a'
<pizzaiolo>it works! how?
<janneke>xz is not bzip2
<pizzaiolo>ah right
<pizzaiolo>thanks :)
<mordocai>So i'm confused. I did guix pull then guix environment guix as root. I then switched to my regular user(having never done anything with guix) and ran guix environment guix again and it looked like it downloaded a bunch of substitutes again. However, if it did, it didn't seem to increase my disk space usage by much/at all. What's up with that?
<lfam>mordocai: Everything in Guix is per-user, including `guix pull`
<mordocai>lfam: I thought it was supposed to share everything possible though
<lfam>Did you run `guix pull` as your user?
<mordocai>Yeah. I have a theory now though. I didn't do a guix package -u after guix pull as root.
<lfam>If the git master didn't change between root's and user's invocation of `guix pull`, then the packages needed for each user's `guix environment guix` will be the same and should not need to be downloaded again.
<lfam>But, if you didn't pull as your user, then your user would need a different set of packages.
<mordocai>Well, in any case I ran guix pull on both users and guix package -u on both and at this point everything seems to be the same.
<mordocai>As in everything is linking to the exact same binaries
<mordocai>My disk usage also halved so at one point I definitely had different versions for each user
<mordocai>(halved after doing guix gc)
<lfam>One thing to consider is that the instructions in the manual suggest making `guix` available globally with a symlink in /usr/local/bin. That is one thing that would not be per-user. Of course, you can do `guix package -i guix` as your user and not use that symlink.
<mordocai>Yeah. I did the symlink but now have guix package -i guix for both users and .guix-profile/bin in path.
<lfam>I'm not sure why it tried to redownload the substitutes. Something must have been different.
<mordocai>Yeah. They've converged now.
<mordocai>Idk what I did differently beforehand
<mordocai>Idk if it matters but I did notice that guix environment guix doesn't cause the $HOME/.guix-profile directory to be created but guix package -i guix does.
<lfam>`guix environment` is a tool for creating temporary development environments. `guix package` is a tool for installing software into your guix-profile. So, they have different uses.
<lfam>Typically, you only need `guix environment guix` when you are building Guix from source. You might also use `guix environment glibc` if you wanted to build glibc from source.
<lfam>So, invoking `guix environment` shouldn't write anything to your profile.
<lfam>Does that make sense?
<mordocai>I think so yeah.
<lfam>Running `guix package -i foo` is like `apt-get install foo` except it is per-user rather for all users. `guix environment foo` is what you would do if you wanted all the dependencies of foo in your environment while hacking on foo.,
<lfam>They really serve different purposes.
<mordocai>The only thing that i'm fuzzy on is why guix environment doesn't have to/want to install the dependencies to your user profile.
<lfam>Why would you want it to?
<mordocai>Idk, it just seems like the obvious thing from my non-informed point of view
<mordocai>I'm sure i'll figure it out as I use guix more anyway
<lfam>Your guix-profile is a collection of symlinks that ultimately point to things in /gnu/store. The programs in ~/.guix-profile/bin are typically accessed by invoking their basenames, for which ~/.guix-profile/bin must be in your $PATH. `guix environment`, rather than writing symlinks to disk, directly creates a new shell with new environment variables. It's more ephemeral, and the packages built for `guix environment` are not protected against
<lfam>garbage collection.
<lfam>Try invoking `guix environment guix` and then `env` to see the new environment variables.
<mordocai>Got it, okay. Makes sense then