IRC channel logs
2015-06-24.log
back to list of logs
<codemac>hi! does anyone here run guix as more of a "minion" package management interface for their local user, while the distro they use is something different (arch / debian / etc)? <codemac>Getting the "right" distro set uup on many of my machines is lots of work, and I've been thinking that I can have guix on all these machines, and use it to manage the packages I want to install as a *user*, and top level services managed by the main distro (think ssh to the box, a starting shell, and the kernel by debian, everything else user guix) <anthk_>upgrading guix to get linux-libre 4.1, nice :D <anthk_>one day I'll try to write something for TADS3 <remi`bd>I use arch for my system’s base packages, and guix for others <codemac>remi`bd: are there any lessons learned I should know about? <crocket>How does guix take care of installing .desktop files and making them available to desktop environments? <sneek>crocket, you have 2 messages. <sneek>crocket, rekado says: I very much recommend reading the Guix documentation. It is quite clear on what Guix is used for and how it works. <sneek>crocket, zacts says: his/her gist on the systemd service for guix is gone, and zacts forgot to save the config <jackdaniel>gnu system is any system with gnu userspace, so also other distributions, not only guixsd <crocket>What is gnu userspace? Does it include ubuntu and archlinux? <jackdaniel>tough i foresee some distributions future - evolution from GNU/Linux to SystemD/Linux <crocket>It seems GuixSD uses roco? instead of systemd. <jackdaniel>dmd I think, but I'm not using GuixSD regularily <jackdaniel>but what I say might be wrong, I'm just newb here :p <crocket>NixOps and SaltSatck provide configuration management <crocket>Does Guix provide configuration management as well? <crocket>I am interested in Guix configuration management because it lets me use a proper functional programming language called guile. <crocket>The usage of python in SaltStack is toxic. <crocket>Guix provides NixOps-style configuration management. <rekado_>crocket: I'm using GuixSD on two machines: my primary laptop and one dedicated to audio work. <crocket>rekado_, Do you use configuration management as well? <jackdaniel>crocket: as I said, I'm not regular user. I think it is, tough if you have wifi card with blob driver, then it won't work with libre-linux kernel <rekado_>each of these machines has its own configuration file, specifying what disks to mount, what user accounts to create, what packages to install system-wide. <rekado_>so yes, you could say I'm using configuration management. <rekado_>but that's a very vague term, so I don't know what you mean by it. <crocket>I meant system configuration management as done by SaltStack and NixOps. <crocket>With SaltStack, you can specify the contents of some system files and the list of installed packages. <crocket>With SaltStack, you can also enable and start system services. <crocket>rekado_, SaltStack does similar things to Guix system configuration manager. <crocket>The problem of SaltStack is everything is in YAML and python. <D1ver>hello :) i just installed guixsd on my laptop. the installation completed successfully but my system doesnt boot. the last boot message i can see is "switched to clocksource tsc" <crocket>rekado_, What is the best desktop environment on GuixSD? <D1ver>any ideas? :s Its an intel integrated graphics laptop.. i tried "nomodeset" <rekado_>I just noticed that R no longer builds. That's probably because GCC 4.9 is the default now (?) but R has gfortran 4.8 as an input. Adding gfortran 4.9 and updating the R package now. <D1ver>civodul: no panic or anything.. cant get to other terminals with ctrl-alt-f2 or anything <D1ver>googling seems to suggest its hanging on the loading whatevers after 'switching to clocksource tsc" but i dont know what that is lol <civodul>rekado_: yes, that's probably the problem <civodul>D1ver: i've never seen that, sounds like a kernel issue, but i have no idea :-/ <civodul>the installation image did boot though, right? <civodul>and it's supposed to be the same kernel <D1ver>yea it booted from the usb stick with no problems <civodul>in GRUB, can you try pressing 'e' on the menu entry, and then adding '--repl' to the command line, and finally booting with C-x? <D1ver>woah ok i am in a scheme prompt <D1ver>i don't even know what just happened <D1ver>i tried ,bt for a backtrace. it spat out some hex number. I tried ,q to continue, the boot process did some more stuff. I got prompted to enter some keystrokes to increase entropy or something <D1ver>and now i'm in x11 and it seems to be working.. <alezost>D1ver: those keystrokes were for ssh-daemon (it happens only for the first time it is started) <D1ver>alezost: cool. It seems to be working. <D1ver>stupid question #2, i followed the installation instructions and filled in my name as a user in /etc/config.scm... what is the password for that account? I can only log in as root with no password <alezost>D1ver: I think you need to set the password for your user (and for root of course) <D1ver>alezost: I can update roots password with passwd, but what about the user one? (sorry i'm used to adding users with 'adduser' / 'useradd' <crocket>I think it should work on any system that runs systemd. <crocket>In actual package, "--build-users-group=guix-builder" has to be parameterized. <crocket>How does guix install .desktop files and make them available to desktop environments? <civodul>iyzsong: your thoughts on .desktop files? ↑ <crocket>Does GuixSD not install .desktop files in /usr/share/applications ? <civodul>so the goal is to honor them, but that is not implemented yet <crocket>Does it mean people live without .desktop files on GuixSD? <civodul>i certainly live without them because i don't use the "desktop environment" ;-) <civodul>for Xfce, i don't know exactly what happens <civodul>i guess you get icons for the default apps, but not for them installed afterwards? <civodul>but that's really something that needs to be addressed <iyzsong>I think if the package ship .desktop files and XDG_DATA_DIRS contains the right value, it should just work fine <iyzsong>Yes, I think so, but we don't update mime database with desktop files now, so the 'default-application' will not work rightly. <iyzsong>crocket: what functions do you expect from desktop files? :-) <crocket>I want .desktop files to show up in gnome shell. <iyzsong>crocket: I think put "$HOME/.guix-profile/share" in gnome-shell's XDG_DATA_DIRS should work. <crocket>iyzsong, How is it going to work automatically? <crocket>Anyway, it sounds fascinating to isolate each user profile. <iyzsong>As long as the applications (gnome-shell does) implement the XDG standard, which requires it to respect XDG_DATA_DIRS.. <crocket>How is GuixSD going to add ~/.guix-profile/share to XDG_DATA_DIRS automatically? <crocket>How is Guix going to do so on other distros? <crocket>What about the conflict between systemd and dmd? <iyzsong>there has a ~/.guix-profile/etc/profile, on GuixSD, it was source by bash (/etc/profile). I think you may want to do the same on your distro. <crocket>I thought /etc/profile was supposed to be a system profile. <rekado_>patches for gfortran-4.9 and R have been sent to the mailing list. They are very small and I'd like to push them very soon. <crocket>So, it's all manual on other distros. <crocket>I think it should be done automatically on GuixSD. <crocket>Otherwise, beginners will be repelled. <iyzsong>yes, on GuixSD, we basically source "$HOME/.guix-profile/etc/profile" 'automatically'. And on other distro, you could do this manually. <rekado_>crocket: "conflict between systemd and dmd" --> Guix as a package manager does not use dmd. It's only the Guix System Distribution that does. <crocket>iyzsong, What about ~/.guix-profile/share/applications? <crocket>Is it added to XDG_DATA_DIRS automatically on GuixSD? <iyzsong>crocket: Yes, the correct value is '~/.guix-profile/share' though. <crocket>Then, gnome shell would have no problem with .desktop files <crocket>iyzsong, Is it ok to use Guix system configuration management capacity on ubuntu? <iyzsong>What to manage? I think you won't want to run 'guix system ..', that would override ubuntu's files. <crocket>So, guix is designed to work with GuixSD. <crocket>Guix is nice for trying guile emacs on ubuntu. <crocket>Does GuixSD keep only the latest version of packages as archlinux does? <civodul>actually you could try 'guix system vm', even if you're on another distro <crocket>How does a GuixSD release work with Guix? <crocket>Guix seems to contain only the latest versions of packages. <iyzsong>crocket: We does have packages with different versions in the guix git repository, and one advantage with Guix is you can install different version of the same package. <crocket>iyzsong, Does it mean each GuixSD release refer to only one version of every package? <iyzsong>crocket: No, for examples we have gcc-4.8, gcc-4.9, gcc-5.1, etc (different version). And emacs, emacs-no-x (different variant) <crocket>Does GuixSD 1.0 refer to gcc-4.8 and GuixSD 1.5 to gcc-5.1? <iyzsong>the 'release' is just a snapshot (tag, mainly for the Guix package manager I think) of the git repository. I won't think GuixSD have releases. <iyzsong>you can (and should) update as fast as you can :-) <crocket>I think it is the same rolling release model of archlinux. <rekado_>"So, guix is designed to work with GuixSD." --- Guix is a package manager. I use it on Ubuntu, CentOS and Fedora. <crocket>Guix cannot be allowed to break GuixSD, and most Guix users will be on GuixSD. <rekado_>As in Guix the whole graph of depencies is closed over for each package it is only consequential to extend it to a whole system. <rekado_>"most Guix users will be on GuixSD" <--- I don't think that's true. <rekado_>on our clusters we have lots of users of Guix, and only one of them is a user of GuixSD (me). <rekado_>a cluster is a set of high-performance machines that can be used to compute "jobs" for many users with high compute demands. <crocket>GuixSD looks like a better alternative to Archlinux now... <rekado_>Well, I don't call them "servers" because they don't serve anything in the traditional sense. They are called "nodes". <crocket>But, gnome shell blocks access to Win+L after hours. <rekado_>Gnome shell hasn't been packaged for Guix yet. <crocket>What desktop environments do I have on GuixSD? <rekado_>we have bits and pieces of Gnome, but I think the only complete modern(ish) desktop environment on GuixSD is Xfce. <rekado_>of course you can also use a custom environment with a window manager of your choice. <rekado_>we have ratpoison, and possibly more. <crocket>I can use gnome shell, unity, and KDE. <rekado_>my "desktop environment" is actually Emacs. I primarily use Xfce to load Emacs. <crocket>rekado_, Do you know a faster way of executing 'guix pull'? <iyzsong>I just 'git clone` the repo to ~/.config/guix/latest, and never run 'guix pull' anymore (don't know what will happend if I run) <iyzsong>crocket: I'm happy with run git commands mannually. the 'guix pull' download the git repository as a tarball, much slower than 'git pull'. <crocket>It seems guix pull needs optimization <rekado_>crocket: as a developer I mostly use git. Only on the audio laptop I use "guix pull" (and yes, it is slow). <rekado_>with a git checkout you only need to compile files that have changed. With "guix pull" everything is compiled and that takes time. <crocket>rekado_, What if you use substitutes? <crocket>If you enable substitutes from hydra, 'guix pull' pulls built binaries. <rekado_>afaik the .scm files (e.g. of all the package modules) are compiled to .go. <crocket>Since coreutils couldn't be built during 'guix pull', I had to enable hydra. <iyzsong>the 'pull' is to download/compile/deploy the distro (git repo), no packages (except guile) will be substituted. <crocket>Somehow, 'guix pull' downloaded coreutils substitute <iyzsong>Yes, guile depends on it. You can try with '--bootstrap' to use the bootstrap Guile instead, see the Manual for more infomation :-) <crocket>guix commands start with 'warning: failed to install locale: Invalid argument' <crocket>iyzsong, Is there an alternative to autofs on GuixSD? <crocket>Does the warning occur on foreign distros only? <crocket>Even with LOCPATH=/usr/share/locale, I still see "warning: failed to install locale: Invalid argument" <rekado_>crocket: I don't see this on GuixSD. <crocket>rekado_, Do you have autofs on GuixSD? <iyzsong>crocket: that may reported by 'guix-daemon', did you run the 'guix-daemon' with LOCPATH? <iyzsong>crocket: There is no 'autofs' package in Guix yet, I think you'd like to package it :-) <crocket>I ran guix-daemon with LOCPATH, but it doesn't remove the warning. <iyzsong>crocket: so, it have to use the locale installed by Guix? I don't know the detail. <crocket>Is it possible to make 'guix pull' run quick? <efraim>crocket: how long does it take on your system? mine is about an hour, so I run it before I go to bed <crocket>On ubuntu, 'sudo apt-get update' takes 2-3 minutes. <civodul>crocket: yeah, it takes too long (~15 mn on my quad-core laptop) <rekado_>davexunit: I read about PAM. It's useful only to authenticate users (e.g. by asking it whether a provided password and username are valid). We cannot use it to spawn a new process as another user. <rekado_>Instead we'd have to run guix-web as root and then use Guile features to become a different user. <rekado_>dependent on the result of asking the PAM oracle. <davexunit>and perhaps 'guix web' could still be run as an unprivileged user, with the limitation that the only acceptable user authentication is for the user that ran it. <davexunit>and the root 'guix web' can have the super setuid powers <rekado_>(I'm disappointed to see that it's still impossible for a process on Linux to gain permissions at runtime after talking to an auth server. ) <davexunit>but chown("/var/guix/profiles/per-user/alice", 1000, 998) returns EINVAL <davexunit>I wonder why. the man page for chown(2) doesn't specify what causes this return code. <davexunit>perhaps uid 1000 and gid 998 need mappings into the parent user namespace? <remi`bd>davexunit: might be raised by the filesystem drivers <davexunit>I think I need to expand the range of uid/gip mapping <davexunit>right now I only map a single user, the one that booted the container <davexunit>because specifying a uid/gid range greater than 1 failed :( <civodul>davexunit: chown(2) here says: EINVAL Invalid flag specified in flags. <civodul>remi`bd: i looked at what you pushed and it looks pretty nice! <remi`bd>well, I’m happy to have finally been able to move forward on these bindings <remi`bd>I’ll send a report on the lists later this afternoon <civodul>in your message could you say a word on how to test it? <civodul>BTW, i saw there are unit tests, this is perfect *civodul is toying with a cpio writer in Scheme, for the initrd <remi`bd>you mean how to get a simple GnuNet peer running? or more detailed explanations about the bindings themselves? <civodul>yeah how to get GNUnet running so that one can try out the bindings <civodul>i guess it's a matter of starting gnunet-arm essentially? <remi`bd>do you want to generate the initrd directly in scheme? <civodul>remi`bd: yes, though we still need gzip <civodul>not that it was particularly an urgent thing to do, but you know... <amz3>nice guile-gnunet is coming <mark_weaver>civodul: fwiw, I wrote a tar reader in pure guile not too long ago, for Mike's 100-guile-programs tutorial initiative thingy (I forget what it was called) <mark_weaver>anyway, gotta run for now... going to the FSF to help with the mailing... <davexunit>mark_weaver: I'll be over after work tonight. not sure if you'll still be there. <mark_weaver>davexunit: cool! yes, I plan to stay late, assuming we don't finish unexpectedly early :) <mark_weaver>civodul: oh right, you need cpio because that's the initrd format or something :) <mark_weaver>hi paron_remote! (and bye also, as I'm heading out very soon :) <davexunit>I hope we get all this ruby stuff sorted out soon... growing tired. <efraim>finally got around to setting up my git clone correctly and now waiting for make to finish <efraim>should've timed it to compare it to guix pull <amz3>efraim: what does it mean "compare it to guix pull" ? <amz3>ok the difference of time between git pull && make and guix pull <efraim>also some people point .config/guix/latest to git <amz3>it doesn't work to set GUIX_PACKAGE_PATH <amz3>I stopped using debian, broke it twice last year (I coulnd not fix without a fresh install). I think I am a good tester of guix robustness ;) <davexunit>until I do lots of development and fuck something up ;) <efraim>only recent problems I had with debian was when I upgraded my raspbian to wheezy and systemd and that failed hard <alezost>[18:31]<amz3> it doesn't work to set GUIX_PACKAGE_PATH ← What do you mean? <efraim>otherwise running sid has worked well for me for years <civodul>mark_weaver: yes, i remember your tar reader, and i think we should use it eventually! <civodul>mark_weaver: that would notably simplify bootstrapping <amz3>you set GUIX_PACKAGE_PATH to git repository <alezost>oh, that; I've never tried setting it the git repo <efraim>davexunit: `git pull && make`, does it run over all the files or only the changed ones? <efraim>compiling guix/import/json.scm failed for me <efraim>sorry, kid didn't want to go to sleep, had to put him down in the stroller <efraim>civodul: thanks, i figured it could be something like that <civodul>normally that module is compiled only if guile-json was detected at configure time <civodul>so maybe it was first detected, then it was removed, and then boom <efraim>i reinstalled them, reconfigured, and now make-ing again <efraim>i'll have to look at it tomorrow, getting late here <civodul>rekado_: could you review and possibly commit the latest Rythmbox patch? <davexunit>damn it. can't go to the FSF because I forgot that I have a kid to watch tonight. <absorto>hello! so I booted the usb image, but I cannot connect to the network. ifconfig -a reports my NIC as enp8s0, but it doesn't say UP or RUNNING, even after I ifconfig enp8s0 192.168.105.65 netmask 255.255.255.0 up. Help! <bavier`>absorto: do you have a dhcp server on you network? <absorto>bavier`: I do. I also tried dhclient enp8s0, no luck. <civodul>absorto: you have to set it up manually first: ifconfig enp8s0 up <davexunit>absorto: ifconfig enp8s0 up && dhclient enp8s0 <absorto>so... how come it didn't come up if I gave the address and mask? <remi`bd>absorto: you’re not using a static ip, that’s why <remi`bd>your ip address and network mask are given to you by another computer, a DHCP server; when you call `dhclient`, you ask this server for an ip address <remi`bd>that’s why your ip address is said to be dynamically allocated, or simply dynamic <absorto>remi`bd: I understand that. However if I choose to ignore the DHCP server and grab any IP I want I should at least be able to ping myself, right? <remi`bd>because the DHCP server is responsible for the mapping “computer ↔ ip address” in its network <absorto>okay but.. I mean in other machines I can just choose whatever Ip address. I might not get to the internet or even other network devices, but at least I can ping the address I chose! <absorto>anyway, I'm online and going on with the installation <absorto>which brings me to another question: the manual doesn't say anything about choosing a password for the user I configured. Will I be asked later or what? <absorto>no need for apologies remi`bd :-) I'm just confused that a command like ifconfig enp8s0 10.0.0.1 up wouldn't bring up the interface. <remi`bd>absorto: you’re supposed to specify your users initial password as root <civodul>absorto: the first time you log in, you can only log in as root; from there, you have to run 'passwd absorto' or similar