IRC channel logs
2014-11-30.log
back to list of logs
<sneek>Welcome back civodul, you have 1 message. <sneek>civodul, nkar says: you mean "guile -L /run/current-system/profile/share/guile/site/2.0 -C /run/current-system/profile/share/guile/site/2.0/gnu/build/file-systems.scm"? (pk (find-partition-by-label "rootfs")) returns #f. <civodul>nkar: did you have a chance to look at (gnu build file-systems)? <nkar>no, what do I need to look for? <civodul>could you try (disk-partitions) for instance, to make sure it sees all the partitions? <Kehlyos>How is guix any different from nixos and nix ? <nkar>civodul: ("sda1", "sda2", "sda3", "sda4", "sda5") <nkar>Kehlyos: guix doesn't ship nonfree software <nkar>have you tried searching the web? that's a popular question, really <davexunit>Kehlyos: the most noticable difference is the choice of implementation language <nkar>scheme vs the nix language (+ bash) <Kehlyos>What could be the advantages of scheme over nix except the speed ? <nkar>some say it's more readable. also, it's not a dsl but a general purpose language, so it has more libs <Kehlyos>So basically, for the time beeing, it has no fundamental advantages for a classic desktop utilisation ? <nkar>guix or scheme, or what? <civodul>Kehlyos: the main advantages of this design choice is that it's more hackable, at all levels <civodul>and allows more applications to be written easily <civodul>like guix-web, or the Emacs user interface <civodul>nkar: so is your root partition listed here? <civodul>nkar: can you try, as root: (define sb (read-ext2-superblock "/dev/sda3")) ? <nkar>Kehlyos: the major advantage for me is guix's commitment to free software <nkar>since you mentioned desktops, note that we don't have anything like gnome packaged yet. but there's ratpoison, if you can live with it. <civodul>and even a few other window managers <civodul>there's quite some distance between GNOME and ratpoison ;-) <nkar>civodul: it's ext3. should I try the above command anyway? <Kehlyos>nkar, My desktop use is kind of minimal, but not to the point of ratpoison :), i use bspwm and bar <alezost>Kehlyos: you may contribute by making a guix package for bspwm <nkar>civodul: read-ext2-superblock is unbound. grep doesn't find it either <civodul>and then: (ext2-superblock-volume-name sb) <Kehlyos>While sometimes, i don't really like nix's syntax, if there is no major advantages over nixos, i am not really ready to switch to guix (FSF and philosophy is not really major for me, i am the kind of linux user that does not mind using systemd, and loves nvidia's propriatary bullshit, because i get more performance out of it) <civodul>nkar: and the command "sudo e2label /dev/sda3"? <civodul>nkar: conclusion: your root partition doesn't have a label <civodul>"problem exists between keyboard and chair" <civodul>heh, sorry, i'm being unpleasant ;-) <nkar>I thought the name field in parted corresponds to the label. sorry for wasting your time. <civodul>so "sudo e2label /dev/sda3 rootfs" would set 'rootfs' as the label of that partition <civodul>and then you should be able to use it in the 'file-system' declaration <nkar>okay, I'll try that later. (I need to replace the motherboard.) <civodul>we have stripped-down kmod and blkid functionality in Scheme, isn't that cool? *civodul tries self-congratulation after Kehlyos' comments <darlinger>just checking out guix. thought i'd drop by the community <davexunit>darlinger: how'd you learn about guix? I'm curious what piques people's interest. <jmd>Well there's a church of emacs, so why not indeed. <darlinger>davexunit: i just popped over to the nixos channel to ask them about using openrc instead of systemd and someone suggested that i check out guux <jmd>we use a thing called dmd <darlinger>jmd: yeah i'm looking at it... how hard is it to pick up? <jmd>Actually I don't know. I've never looked at it in detail. <davexunit>darlinger: it's easy enough to use the CLI for it to start/stop/etc daemons <jmd>My contribution so far has been limited to packaging and porting to new architectures. <davexunit>writing service definitions for guix requires learning a bit more about how guix works. <davexunit>since you use the store monad and 'g-expressions' <darlinger>how different has the guix package manager become from the parts of Nix that it's implemented? <darlinger>i heard there was some divergence on guix' part <davexunit>darlinger: we use the nix-daemon and replace everything else <darlinger>davexunit: so there still is things like multi-user mode and such? <davexunit>like more than one user talking to the daemon? <alezost>darlinger: if you mean that each user can install packages in their own profiles than yes there are such things <darlinger>davexunit: basically. you should check out the nixos docs. <davexunit>I've read parts of their docs when implementing various things, but I'm not familiar with 100% of their terminology <darlinger>davexunit: i'll just have to dive into the guix docs. is it easy to write custom builds? <davexunit>we try to make things as hackable as possible. <darlinger>davexunit: awesome! and there are already repos? is it all gpl-ed software? <davexunit>the repo comes with guix. it's all free software. <davexunit>gpl'd software is but a subset of the set of free software :) <darlinger>davexunit: sweet... is guile/scheme hard to pick up? <davexunit>darlinger: have you worked with any lisps before? <davexunit>coming from having next to no experience with lisp <davexunit>a goal of guix is to make it easy for non-scheme experts to do useful things. <darlinger>davexunit: i'm done most of my stuff with procedural languages (python, ruby, bash, some C) <darlinger>hmmm okay. how does guile play out into the scheme of things? <davexunit>ruby has a bit of a functional style to it, that is what you'll find in common with scheme. <darlinger>davexunit: oh, i never got into functional ruby. but from the sounds of it, it should be pretty easy <darlinger>davexunit: oh that makes sense. so scheme is sort of like markdown in which there are a lot of different implementations/ <darlinger>davexunit: oh that's a littel python-esque too with the map function <davexunit>darlinger: yes, scheme is a standardized language, but there are many implementations that each add their own non-standard things. <darlinger>davexunit: do you use linux or linux-libre kernel? <davexunit>so you'll find that each scheme has their own unique features and limitations. <darlinger>davexunit: sort of scares me to be honest. i know binary blobs and proprietary stuff has been stripped out, but any major projects that i should know about that have been excluded/stripped out? <darlinger>davexunit: does linux-libre use the linux project as upstream? <davexunit>if your computer doesn't require nonfree drivers and firmware, you won't notice a difference. <darlinger>davexunit: gotcha. so i can basically just throw proprietary nvidia out the window at that point? <darlinger>davexunit: would it be incredibly hard to patch it in? <darlinger>also, i'm coming from gentoo/funtoo. would it be hard to rework a .config or do i have to start configuring from scratch? <davexunit>you can also just try out the guix package manager on gentoo and not have to install the full system. <davexunit>I have only just started to use the standalone system on real hardware. <davexunit>I still mostly work on guix on a debian machine <darlinger>i'm thinking of putting it on hardware... would that be ill-advised? <davexunit>if you have a computer to spare, it would be great if you tried to install and see how it goes. <darlinger>and i would use it on gentoo but i'm sort of behind on emerges and i want to jump ship <darlinger>davexunit: hmmmph wait is guix a source based distro or can we do binaries? <davexunit>it's source based, but you can fetch binaries from a build farm. <davexunit>it's a transparent system. if the package is available on an authorized remote machine, guix will fetch that. otherwise, it builds locally. <darlinger>davexunit: does the project have authorized remote machines handy? <darlinger>davexunit: oh guix has it's own hydra system too? <davexunit>it's a bit overloaded, though. we need donations of resources. :) <darlinger>davexunit: monetary or in the form of servers? <darlinger>davexunit: what sort of specs are you looking for? i may or may not be able to donate some vps' <davexunit>I'm not sure, actually. our maintainer, civodul, would know better. if you are interested in helping out with this, I would say send an email to guix-devel@gnu.org about it. <darlinger>davexunit: let me try it out first. i'm a little shy about using it on hardware though. <davexunit>if you have a spare computer, running the full system is fun. :) <davexunit>otherwise, just mess around with VMs and such using your host OS. <darlinger>davexunit: lol i DO have a spare computer :) <darlinger>davexunit: i'm pretty well versed in kvm too... so i can do that as well <darlinger>davexunit: thanks for the qna! it was very helpful <darlinger>oh i will! :) i love free software and i think this is the first project that i'd be seriously interested in contributing to. <davexunit>if you have scheme specific questions, #guile is another good channel to hang out on. <darlinger>also, how familiar are you with gentoo/funtoo? <darlinger>davexunit: you familiar with the premise of use flags and profiles? <davexunit>use flags allow you to basically tell gentoo with configure switches to turn on/off when building? <darlinger>davexunit: pretty much. it allows you to say what features you'd like to explicitely include or exclude in your packages, globally <darlinger>like if you don't want kde in anything you can put that in your /etc/portage/make.conf <darlinger>davexunit: you can do that with A LOT of different flags <davexunit>we don't have such a system in guix, but it could be done. <darlinger>the main issue i have with portage is that i frequently get caught in dependency hell <davexunit>I typically want the fully featured package. <darlinger>davexunit: and that's your choice, but some people, like me, like to keep things as trim as i can <davexunit>yes, I understand. I think your use-case is important, too. <jmd>I thought the whole point of a functional package manager is that it replaces "dependency hell" with "rebuild hell". <darlinger>my idea was, why not combine the strengths of a functional package manager with the configurability of portage <davexunit>I don't think it would be too hard to write a proof of concept use flags implementation with guix. <darlinger>there are also some examples of another great source-based package manager, i.e. sorcery. but i don't think any active projects are using it anymore <davexunit>you'd have a base package with everything turned on. then you'd call a function that takes a package and a set of use flags and returns a new packages with proper tweaks made. *phant0mas thinking it's time to try guix alone on bare metal <davexunit>the hard, tedious work would be backporting use flags to existing packages. <darlinger>davexunit: why can't we just borrow from portage? i believe it's open source. <davexunit>we'd borrow their ideas, not their source, most likely. <darlinger>davexunit: while the package manager and how it handles it are different, we're still building our stuff with gcc <davexunit>but the way in which we describe packages and run builds are different. <davexunit>so the portage source would give us a reference implementation, and then we'd write a guile/guix version. <darlinger>davexunit: how so? i haven't read the docs on guix quite yet. i was hoping it would be similar to Nix, which i just read the docs to... and they basically use their own DSL with some shell script here and there <darlinger>davexunit: sort of. i'm still wrapping my mind around what posix is <darlinger>i've tried writing some scripts that take posix-style arguments <davexunit>so instead of writing bash scripts, we write guile scripts. <darlinger>wait, so could we easily use guix with other unix-based systems such as *BSD? <darlinger>davexunit: wait are there ANY bash scripts used in guix? <davexunit>like a helper script for using guix from a git repo without installing <darlinger>davexunit: oh that sort of thing... i've become a little attached to bash/zsh scripting for devops sort of stuff <davexunit>I've been slowly working on 'devops' tools for guix <davexunit>so far there's 'guix evironment', which can do what nix-shell does. <davexunit>'guix system' is the real 'devops' tool, though. <davexunit>that creates disk images, vms, etc. from OS configs <darlinger>davexunit: ohh gotcha. i knew that nix has nixops <davexunit>darlinger: it's a utility that comes with nix. it spawns a shell that has all the dependencies for a given package. <darlinger>so why was there a fork in the first place? just for Free Software purposes? <jmd>I don't think it was a "fork" as such. <davexunit>using a general purpose programming language instead of a custom one <davexunit>we're based on Nix, but we didn't fork the project. <jmd>guix is a different animal, which builds upon the work done by nix. <darlinger>this functional package manager stuff really is a new thing, isn't it. it's nice to actually be ahead of the curve for once <davexunit>yeah, it's still pretty new, but nix has been around for almost a decade. <davexunit>took a long time for anyone to start catching on. <darlinger>i'm seeing a trend in functional programming stuff recently, are other people getting interested or is it just my interest giving me a bias? <darlinger>is it a good thing? i want it to have more attention, but i also like being in a bit of obscurity <_`_>why? More attention to a particular paradigm helps everyone. <darlinger>_`_: oh hey :) didn't know you were here too <darlinger>is it possible to just install guix into something like, say, slackware for the time being instead of going for a full install on straight hardware? <civodul>that's a relatively simple and non-intrusive way to test it <darlinger>civodul: okay :) i think i can go from there <darlinger>civodul: i'd have to change my path too, i'm guessing? <civodul>when installing packages with 'guix package', the command will tell you what environment variables need to be defined/adjusted <darlinger>oh okay :) that seems easy enough. thankyou! <darlinger>wait is multi-user stuff going to be available as well? <civodul>"multi-user" in the sense that each user has their own profile, yes <darlinger>civodul: yes. i just forgot the words :p okay thanks! i'll just read the documentation from now on <kmicu>davexunit: did you check NixOps or do you start from scratch? <davexunit>kmicu: I've looked a bit at what nixops can do for ideas of what to port to guix