<civodul>paroneayea: in Nix one can produce strings that embed references to derivations <civodul>like: someattr = "ls ${coreutils}/bin"; <civodul>so that's similar in spirit, but in Nix these are "just strings" <civodul>the nice thing is that gexp don't rely on special compiler support <sneek>I last saw remi`bd on May 04 at 05:09 am UTC, saying: thanks!. <sneek>civodul was here May 01 at 01:19 pm UTC, saying: May 04, uh?. *DusXMT things sneek means May 04 of 2014 <alezost>unlikely, remi`bd was here this April <davexunit>civodul: I was also thinking that 'guix deploy' would be a good name, and then thought of the exact same issue with the action of the same name :) <paroneayea>civodul: what's the hash built from in guix? is it the derivation file itself? <paroneayea>trying to figure out how (gexp->package) will be sure to retain a unique hash <davexunit>paroneayea: a couple things are the build script and inputs <phant0mas>that PATH_MAX definition not being supported in hurd is causing sed and patch to fail as well <DusXMT>in debian, in sed, they set PATH_MAX to 200, claiming: MAX_PATH is not defined in some platforms, most notably GNU/Hurd. In that case we define it here to some constant. Note however that this relies in the fact that sed does reallocation if a buffer needs to be larger than PATH_MAX. <civodul>paroneayea: yes, what davexunit says, basically it's a hash of all the inputs plus system string <DusXMT>in patch, they just set it to 8192, claiming: make GNU/Hurd happy <civodul>sed and patch being GNU, they should be able to do better :-/ <civodul>phant0mas: it'd be ideal if you could send a patch upstream, but otherwise just throw in a "CPPFLAGS=-DPATH_MAX=8192" or some such <civodul>you're going to encounter this many times though <civodul>to the point that we might want to simply patch unistd.h, as sad as it may be <DusXMT>8192 is a pretty long line of text, that's over a 100 terminal rows... I think that as a temporary fix, it could do, to get the system up and running <civodul>i guess i'll merge core-updates real soon <civodul>it has emacs and icecat built for x86 <paroneayea>civodul: how to make a fake package and specify a source that doesnt' make guix freak out? <civodul>paroneayea: you can leave (source #f) <paroneayea>so how does my emacs know to indent run-with-store differently than say, (list) ? <paroneayea>I'm making a package.scm in mediagoblin's git repo! <davexunit>paroneayea: oh, then it must be the name that scheme-mode intelligently handles <davexunit>'with' is a key that the form takes 1 arg and a thunk or body form of some sort <civodul>paroneayea: yay for Guix + Mediagoblin! <davexunit>paroneayea: now, package up all the python dependencies! :P <davexunit>civodul: would you consider it bad form to potentially use multiple store connections throughout the duration of a program? <davexunit>I'm implementing the 'provision' hook for <platform> 'guix deploy', and while most of the time I don't think a store connection would be needed, in the case of a local VM I want to build something. <civodul>make everything a monadic procedure? <civodul>so then the store connection can be threaded through them <civodul>but if the procedure doesn't actually need it, it can still be lifted <civodul>like (lift my-normal-proc %store-monad) <paroneayea>guix environment: error: /home/cwebber/devel/mediagoblin/package.scm:43:4: package `web-assets-' has an invalid input: ("assets-script" #<derivation /gnu/store/c3gglxzf38v6vw9m7s51k2hw0pxdk2jh-list-files.drv => /gnu/store/gmv6ffb4l1lp7jzpbr64q2qvbsgnbk46-list-files 5c59c30>) <davexunit>paroneayea: does it build with 'guix build', though? <civodul>paroneayea: indeed, it cannot be a derivation, but it can be a derivation file name (silly!) <paroneayea>note that's obviously not the right derivation, I'm just trying to get *a* derivation working <davexunit>civodul: it should be simple to add a patch to match derivations, too, right? <civodul>the thing is, until wip-build-systems-gexp is merged, the thing must be an sexp, not a gexp <civodul>yes, when wip-build-systems-gexp is in *paroneayea reads "Using Guile Modules" in the fine manual <paroneayea>does this also allow getting around dependency DAG issues, kind of like how people "import foo" inside of functions when otherwise there would be a dependency cycle? <civodul>no, it's just that gexp-outputs is currently private, so @@ allowed me to cheat :-) <davexunit>paroneayea: we have to use 'module-ref' for the dependency cycle thing sometimes <paroneayea>I think this is starting to look like a pretty feasible route. <paroneayea>I should get lunch and then do Real Work (TM) (contracting, that is) but I'm excited this is on track <paroneayea>and I wonder if btrfs-subvolumes could also be something explored by guix, I'm not sure it makes sense or not <paroneayea>but it could at least satisfy the symlink haters <paroneayea>note that the btrfs subvolumes thing is how gnome intends to handle containerized app deployment while keeping things deduplicated, from what I've read <civodul>the problem is that the file system is a too low-level layer *civodul considers moving {dbus,upower,colord}-service in a single desktop.scm <davexunit>runs 'guix gc' for the first time in a *long* time and re-downloads some of the world <davexunit>probably a year's worth of builds I just purged <civodul>i often run "guix gc -C1G" or similar *davexunit works on 'provision' hook for 'guix deploy' some more <davexunit>civodul: thanks for the suggestion about an OS -> OS procedure. <davexunit>Added that as a 'transform' field to <platform> <davexunit>nice to have all this VM code already available. makes prototyping a lot easier. <davexunit>civodul: off the top of your head, would you expect dmd to "just work" when run as PID 1 in a PID namespace? <paroneayea>I still fear I have to learn haskell to learn monads, even though this is unlikely to be true. <davexunit>I'm comfortable with scheme, so learning them in scheme is nice. <davexunit>I just wrote this pretty cool provision -> boot sequence in monadic style that is neat <Vous>#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR# <Vous>ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#E <Vous>RROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ER <Vous>ROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERR <Vous>OR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERRO <Vous>R#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR <Vous>#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR# <Vous>ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#E <Vous>RROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ER <Vous>ROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERR <Vous>OR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR# <Vous>#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR# <Vous>ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#E <Vous>RROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ERROR#ER <paroneayea>Vous: I'm guessing there was an error somewhere. <cehteh>looks like the error was the error :) <cehteh>tada ... my GuixSD kvm works .. finally *cehteh makes a image backup ... better safe than sorry <paroneayea>btw civodul, one thing that I *think* your gexp->package didn't do, that I kind of expected it to <paroneayea>was to put the derivation supplied by the package onto a path <paroneayea>maybe it shouldn't, I don't know, though that's what would make it useful to me probably? <paroneayea>though my route currently requires (open-connection) :\\ <davexunit>civodul: I see that there are user-groups and user-accounts fields for services, but I'm not sure what extra work is needed for the service to actually use them. <davexunit>I'm writing a postgresql-service, and I need to be the 'postgres' user before launching the daemon. <civodul>davexunit: the service just needs to be told about the user name, and then it can switch to it <davexunit>civodul: but I do the switch manually in the activate script, right? <civodul>no, i suppose postgresqld (?) just does that by itself <civodul>it probably needs to be told what the user name is, in a config file <davexunit>I think we need a gnu/services/utils.scm for common things <cehteh>mhm .. network in kvm is unstable <cehteh>i am used to it, kvm gives all kinds of trouble <cehteh>something is extremely wonky there, 'halt' just hangs <civodul>uh, that could always be a bug in dmd, or some service failing to stop <cehteh>now dbus didnt start up ... meeh :D <cehteh>good that i made a backup of the working image <cehteh>0.8.1 .. bootstrapped from debian8 <cehteh>with the kernel in master networking doesnt work at all <cehteh>the devices (either virtual nics or virtio_net) show up .. but configuring them times out <cehteh>i try to track that down later, for now i am happy when i just get it running and being able to ssh to it <cehteh>(i havent even figured out how to setup ssh yet :D ... and changing the locale bugs somewhat too) <davexunit>civodul: is it possible to unquote a regular scheme value, such as an alist, into a gexp? <civodul>cehteh: use-service-modules is just a shortcut for use-modules <cehteh>i tinhk i give up for now, trying with a new kvm/kernel someday <cehteh>final test, starting another vm and see how stable the network is there <cehteh>is there some receipe somewhere to build a vanilla kernel in guix, preferably from git? ***pfo_ is now known as pfo
<cehteh>.. even weirder, while haveing another vm running in parallel where the network works, the network on the guixsd vm stays stable as well <cehteh>methinks before starting with deterministic package managers, he has to get deterministic computing to work here ***pfo_ is now known as pfo
<davexunit>civodul: turns out I need to explicitly change the user account before runnin g the postgres daemon