You are here

IRC logs for #guix, 2015-04-25 (GMT)

[00:00:54]* cpbills has quit (Quit: leaving)
[00:04:27]<angelic_sedition>Does the GuixSD config file have a setting for console keymap as one would load with loadkeys or put in the vconsole.conf? I didn't see anything in the manual.
[00:06:25]<mark_weaver>not yet, but we should probably have something like that.
[00:16:45]* logand has joined #guix
[00:21:21]<angelic_sedition>Thanks, also is there a default password for users specified in the config file when running the vm created with "guix system vm"? I can log in as root, but for a user it asks for a pass.
[00:25:57]<mark_weaver>run "passwd <username>" as root if you didn't set the password in the config
[00:28:12]<angelic_sedition>Okay, thank you
[00:35:16]* pecg has quit (Ping timeout: 250 seconds)
[00:50:59]* cmhobbs has quit (Ping timeout: 245 seconds)
[01:24:00]* davexunit has joined #guix
[01:33:01]* arescorpio has joined #guix
[02:14:45]* paroneay` is now known as paroneayea
[02:32:42]* ArneBab has joined #guix
[02:35:58]* ArneBab_ has quit (Ping timeout: 256 seconds)
[02:38:50]<paroneayea>hey davexunit
[02:46:33]<paroneayea>I have some thoughts about guix environment when you're around
[02:54:19]<davexunit>hey paroneayea
[02:54:25]<davexunit>what are your thoughts?
[02:58:33]<paroneayea>hey davexunit
[02:59:09]<paroneayea>so today after dealing with yet another nightmare of python packaging dependency flailures I started thinking
[02:59:28]<paroneayea>I wonder if I should commit a package.scm with mediagoblin. I mean, really, you could say "It's showing GNU solidarity"
[02:59:46]<paroneayea>in order to really have Guix be an alternative to our virtualenv + bower madness
[03:00:03]<paroneayea>a stage beyond what guix environment provides would be needed I think... for the javascript stuff.
[03:00:54]<paroneayea>basically, it makes most sense for the package probably to have symlinks to say, jquery
[03:01:09]<paroneayea>that way we can have just one directory for all the static assets that's statically served, right?
[03:01:26]<paroneayea>so, assume i also want to have an alternative to not just virtualenv, but also bower here
[03:01:32]<paroneayea>how could I do that, assuming this is for hacking
[03:01:46]<paroneayea>get symlinks to guix-packaged javascript packages
[03:01:56]<paroneayea>or for that matter, discoverability of where they are at all
[03:03:51]<davexunit>paroneayea: I've thought about this, but I'm not sure how to do it right now.
[03:04:02]<davexunit>I'd like some sort of bower build system
[03:05:00]<paroneayea>davexunit: yeah.
[03:05:33]<davexunit>but I don't know of a way to "play nice" with the bower workflow
[03:05:48]<paroneayea>davexunit: so one option is, is there a way to provide something for the guix environment command to run something after the fact, maybe with the same inputs
[03:05:54]<paroneayea>but instead, it runs in the current directory
[03:05:57]<iyzsong>To let guix manage a assert directory just like profile, right?
[03:06:04]<paroneayea>as some kind of "do some stuff *in this directory*" setup
[03:06:05]<davexunit>iyzsong: maybe
[03:06:14]<davexunit>but I don't *really* like it
[03:06:27]<paroneayea>maybe a gexp?
[03:06:33]<davexunit>ideally there'd be a JS_LOAD_PATH or something
[03:06:40]<davexunit>with a bunch of paths to the JS libs
[03:06:43]<paroneayea>davexunit: well what if the packages were just inputs
[03:06:48]<davexunit>I don't know how bower actually does shit
[03:07:04]<paroneayea>and you had a command run after the environment is built
[03:07:24]<paroneayea>so in your scheme could say "oh yeah, here's these inputs... I know where to symlink in this js"
[03:07:40]<paroneayea>or something
[03:07:55]<paroneayea>there's a problem with that idea though
[03:08:09]<paroneayea>what if the symlinks were set up on a previous run?
[03:08:15]<paroneayea>it starts to get pretty imperative
[03:08:26]<paroneayea>since you might conditionalyl remove things that are there
[03:08:29]<paroneayea>but I can't think of any other way
[03:08:49]<davexunit>I feel like there needs to be an environment variable or something
[03:09:26]<paroneayea>davexunit: maybe... so your script could look at that environment variable and use that to do the symlinking in itself?
[03:09:37]<paroneayea>and have some post "guix environment" command you give to users
[03:09:48]<davexunit>well at that point it would just be part of the build system
[03:09:55]<paroneayea>like "guix environment && ./"
[03:10:13]<paroneayea>davexunit: yeah but it needs to get linked *into* the package, right?
[03:10:27]<paroneayea>into the dev directory.
[03:12:25]<davexunit>I really don't know
[03:12:41]<davexunit>I need to learn more about bower does
[03:13:57]<davexunit>just making packages for js libs that does the necessary compilation and minification is easy enough
[03:14:20]<paroneayea>davexunit: think of it this way
[03:14:25]<davexunit>but how to serve them... dunno
[03:14:48]<paroneayea>well, so people currently either commit the files into their repo (bad!)
[03:14:56]<paroneayea>or they use bower, which basically does checkouts
[03:14:57]<davexunit>I do that
[03:14:59]<paroneayea>into the directory.
[03:15:04]<davexunit>I don't do that
[03:15:25]<davexunit>okay, so bower does about what I expected
[03:15:28]<paroneayea>it's maybe better than checking things in, but now you have n+1 language package managers
[03:16:15]<davexunit>the question I want to answer is: how to setup js files in a way that doesn't make every developer use guix?
[03:17:05]<angelic_sedition>Can you specify packages to be installed for a specific user in the config file?
[03:17:32]<davexunit>angelic_sedition: no, those are managed separately
[03:18:40]<davexunit>since there's no reason to require full system reconfiguration just to tweak a user profile
[03:19:01]<davexunit>a user may have an arbitrary number of profiles, as well
[03:21:25]<iyzsong>angelic_sedition: well, I use this (manifest.scm):
[03:22:06]<iyzsong>And then run 'pre-inst-env guile build.scm', (build.scm):
[03:22:36]<davexunit>iyzsong: we should have a tool dedicated to this sort of thing
[03:22:58]<angelic_sedition>what is pre-inst-env?
[03:23:16]<angelic_sedition>ah nvm I found it in the manual
[03:23:23]<davexunit>angelic_sedition: iyzsong assumed that you were running guix from the source tree
[03:24:34]<iyzsong>davexunit: yes, but I don't know what to name it :-)
[03:26:30]* OrangeShark has quit (Quit: Leaving)
[03:27:59]<davexunit>iyzsong: always tough :)
[03:36:16]<paroneayea>davexunit: I think the answer to that question is that's why the symlink in stuff to the user's profile
[03:36:20]<paroneayea>that way someone can still use bower
[03:37:12]<paroneayea>this optional post-environment-setup hook would probably have to be not really as clean and functional as the rest of guix's packaging stuff since it's modifying symlinks in the environment
[03:37:18]<paroneayea>but hey, it's just for local dev
[03:37:24]<paroneayea>and I think it could be an optional layer to guix environment
[03:37:56]<davexunit>I just don't think guix environment is the right place for it
[03:38:29]<paroneayea>guix post-environment ;)
[03:38:37]<davexunit>if there are no environment variables to set, there's no reason to include them in the environment
[03:39:03]<paroneayea>davexunit: so where to include it though?
[03:39:20]<paroneayea>I mean really, it seems like the right palce from a "replace virtualenv+bower" side of things
[03:39:36]<paroneayea>just not from a guix design side :)
[03:41:18]<davexunit>needs more thought.
[03:42:15]<davexunit>my first attempt would be: create an environment variable called JS_PATH or something, have configure script search that for absolute paths to JS files and symlink as needed to the directory that assets are served from
[03:42:18]<paroneayea>davexunit: maybe it actually belongs in guixops ;)
[03:42:42]<paroneayea>davexunit: I think it's unrealistic to expect many projects in the space that are using bower to use configure
[03:42:46]<paroneayea>but otherwise probably
[03:42:57]<davexunit>substitute 'configure' for any script
[03:43:21]<paroneayea>davexunit: also, it's not just JS though
[03:43:22]<paroneayea>it's also CSS, common assets including icons
[03:43:24]<davexunit>it would be a matter of trying to encourage people to treat JS libs like C libs and have a path
[03:43:38]<davexunit>there's that stuff, too.
[03:43:47]<paroneayea>one reason bower is popular is that it encourages users to use one package manager for all that crap
[03:43:59]<paroneayea>and not have to *think* about where to fit it.
[03:44:19]<davexunit>but they still have to be aware of where the files end up and where to serve it from
[03:44:35]<paroneayea>davexunit: I know ;)
[03:44:39]<paroneayea>I found the answer!
[03:44:55]<paroneayea>let's store paths to the proper packages as json encoded hashmaps
[03:45:39]<paroneayea>WEB_BULLSHIT={"jquery": "/home/cwebber/.guix-profile/share/js/...."}
[03:45:48]<paroneayea>so fitting
[03:46:14]<davexunit>there's got to be a way to do what bower does in some not disgusting way
[03:47:11]<davexunit>but I think there's a bigger issue present here: web apps are weird. you never actually install them to the root file system or anything. you just bundle all the dependencies in the source tree and run it from there.
[03:47:47]<davexunit>it's hard to deal with things that are built to not integrate with the rest of the system
[03:48:26]* paroneayea has quit (Read error: Connection reset by peer)
[03:49:06]* paroneayea has joined #guix
[03:49:25]<davexunit>my rule of thumb is "if it's a package manager, then guix can replace it", but bower is indeed tricky.
[03:49:32]<davexunit>npm, too.
[03:51:28]<davexunit>npm hopefully less tricky
[03:51:39]<davexunit>provided nodejs has a sane load path thing
[03:55:29]<paroneayea>davexunit: though solving bower + NON_JS_PACKAGE_MANAGER might be the best selling point for "guix environment"
[03:55:48]<paroneayea>er, solving that problem space, but with guix instead as an all-in-one
[03:55:59]<davexunit>yeah, I would like to do that
[03:56:08]<davexunit>needs more thinkin'...
[03:59:35]<davexunit>that and guix ops
[03:59:48]<davexunit>need to hack together a prototype
[04:03:32]<davexunit>so many hacks to hack
[04:20:59]<paroneayea>davexunit: I indeed look forward to guixops :)
[04:44:01]* arescorpio has quit (Excess Flood)
[04:55:33]* angelic_sedition has quit (Ping timeout: 276 seconds)
[06:19:24]* ijp` has joined #guix
[06:20:09]* JamesJRH_ has joined #guix
[06:20:54]* rekado- has joined #guix
[06:21:02]* mattl has quit (Ping timeout: 252 seconds)
[06:21:04]* sulky has quit (Ping timeout: 252 seconds)
[06:21:04]* ijp has quit (Ping timeout: 252 seconds)
[06:21:08]* rekado has quit (Ping timeout: 252 seconds)
[06:21:09]* cartwright has quit (Ping timeout: 252 seconds)
[06:21:09]* kete has quit (Ping timeout: 252 seconds)
[06:21:09]* b4283 has quit (Ping timeout: 252 seconds)
[06:21:09]* JamesJRH has quit (Ping timeout: 252 seconds)
[06:21:09]* amirouche has quit (Ping timeout: 252 seconds)
[06:21:11]* dingoateyourbaby has joined #guix
[06:21:23]* amirouche has joined #guix
[06:22:55]* b4283 has joined #guix
[06:32:09]* mattl has joined #guix
[06:44:20]* phant0mas has joined #guix
[06:55:53]* paroneay` has joined #guix
[06:58:46]* paroneayea has quit (*.net *.split)
[06:58:48]* fr33domlover has quit (*.net *.split)
[07:01:36]* fr33domlover has joined #guix
[07:46:51]* davexunit1 has joined #guix
[07:48:16]* davexunit has quit (Ping timeout: 255 seconds)
[09:33:34]* taylanub has joined #guix
[09:53:14]* igajsin has joined #guix
[10:26:30]* mtakkman has joined #guix
[10:38:39]* mtakkman has quit (Quit: ERC (IRC client for Emacs 24.5.1))
[11:14:37]* phant0mas has quit (Ping timeout: 250 seconds)
[11:14:45]* phant0mas has joined #guix
[11:14:48]* phant0mas has quit (Read error: Connection reset by peer)
[11:21:16]* davi has joined #guix
[11:21:16]* davi has quit (Changing host)
[11:21:16]* davi has joined #guix
[11:32:45]* phant0mas has joined #guix
[11:44:24]* phant0mas has quit (Ping timeout: 276 seconds)
[11:44:27]* ph4n70m4s has joined #guix
[11:44:43]* paroneay` is now known as paroneayea
[11:44:56]* ph4n70m4s is now known as phant0mas
[11:48:07]* paroneay` has joined #guix
[11:52:01]* paroneayea has quit (Ping timeout: 264 seconds)
[11:54:58]* kete has joined #guix
[12:02:15]* Digit_ has joined #guix
[12:02:37]* Digit_ has quit (Remote host closed the connection)
[12:06:56]* ijp` is now known as ijp
[12:11:43]* Digit_ has joined #guix
[12:40:53]* alezost has joined #guix
[12:57:06]* OrangeShark has joined #guix
[13:21:01]* vmlinuz88 has joined #guix
[13:27:45]* vmlinuz88 has left #guix ("When left to my own devices, I install Linux on them. :-)")
[13:30:09]* saul has quit (Ping timeout: 245 seconds)
[13:31:26]<davexunit1>would there be any issue with including a video game emulator in the distro, provided there are no blobs required for the emulator to work?
[13:31:33]* davexunit1 is now known as davexunit
[13:31:45]* davexunit has quit (Changing host)
[13:31:45]* davexunit has joined #guix
[13:35:28]* Digit_ is now known as digitteknohippie
[13:36:37]* digitteknohippie has quit (Changing host)
[13:36:37]* digitteknohippie has joined #guix
[13:37:00]* digitteknohippie is now known as Digit
[13:40:34]* davi has quit (Ping timeout: 245 seconds)
[13:42:48]<taylanub>davexunit: you mean e.g. Mupen64 (N64 emulator)? why not?
[13:44:44]* yang has quit (Ping timeout: 245 seconds)
[13:52:48]* yang has joined #guix
[13:54:49]* saul has joined #guix
[14:24:59]* kete has left #guix ("bau")
[14:34:44]* sprang has quit (Ping timeout: 245 seconds)
[14:37:28]* mbuf has joined #guix
[14:38:30]* joolean has joined #guix
[14:39:58]<joolean>I'm trying to test the build for a new package, and I'd like to do so in a "pre-installation environment" if I can. HACKING suggests that I run './pre-inst-env guix build PACKAGE'
[14:40:20]<joolean>but when I do that, I get "guix build: error: failed to connect to `/usr/local/var/guix/daemon-socket/socket': No such file or directory"
[14:40:24]<joolean>What gives?
[14:41:12]<taylanub>joolean: it sounds like you didn't run the guix daemon, or you used a --prefix option for the guix you built which doesn't correspond to that of the guix installation whose guix-daemon you're running
[14:41:30]<taylanub>joolean: does /var/guix/daemon-socket exist?
[14:41:45]<taylanub>(without /usr/local in front)
[14:42:09]<joolean>taylanub: For sure - but I guess what I'm getting at is that it looks like at the very least I have to run guix-daemon as root, if not make install it outright
[14:42:29]<joolean>Like, is there a pre-install way to create that socket?
[14:42:37]<joolean>I guess I could re-configure with a different prefix
[14:43:49]<taylanub>the daemon seems to have a flag: --listen=SOCKET but I don't know what the corresponding client flag is
[14:44:17]<taylanub>joolean: in any case, guix-daemon is primarily meant to run as root so it can populate the global /gnu/store
[14:44:44]<joolean>Okay, that's fine. Just wanted to make sure I wasn't missing something.
[14:45:02]<joolean>Thanks for your help/
[14:45:24]<taylanub>np :)
[15:05:59]* jmd has joined #guix
[15:15:44]<Tsyesika>hm my keyboard doesn't work in guix O_o
[15:15:50]<jmd>Building from git, I have this error: ice-9/boot-9.scm:106:20: In procedure #<procedure 2859b40 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
[15:15:50]<jmd>ice-9/boot-9.scm:106:20: No variable named make-delimited-input-port in #<directory (web response) 2bce240>
[15:16:14]<Tsyesika>i will try with trisquel to check it works in there (so i know for sure it's not some blob) but i think it's regular internal usb
[15:34:19]* OrangeShark has quit (Quit: Leaving)
[15:45:43]* pecg has joined #guix
[15:48:04]<paroneay`>davexunit: even though Wine Is Not an Emulator, I think that's not far off from allowing something like Wine.
[15:48:10]* paroneay` is now known as paroneayea
[15:48:18]<paroneayea>in other words, I think it should be included
[15:49:05]<paroneayea>at the very least, the people who hack emulators turn out to be the kind of people we want in free software, as that's a similar skillset to that which allows reverse engineering :)
[15:49:59]* angelic_sedition has joined #guix
[15:50:19]<cehteh>the part that some free projects aim to clone some non free stuff than beeing innovative and creating something new is what annoys me quite much tough
[15:50:25]<taylanub>jmd: I think you need a newer Guile version. (might want to file a bug report so the pkg-config file gets fixed to declared the higher version requirement.) a good way to build guix, if you already have another version installed, is: guix environment guix -E './configure --with-libgcrypt-prefix=/gnu/store/...-libgcrypt-...; make'
[15:50:33]<paroneayea>cehteh: I'm talking about drivers though
[15:50:53]<cehteh>yes, thats ok then :)
[15:50:54]<jmd>taylanub: and if I don't already have another version installed?
[15:51:16]<taylanub>jmd: then you'll need to install a newer guile version manually
[15:51:28]<cehteh>well ok would be to choose vendors which release specs and support free drivers from the beginning
[15:51:30]<jmd>oh dear ....
[15:51:32]<taylanub>jmd: or you could use our new shiny "bootstrap" tarballs to easily install guix
[15:52:12]<taylanub>jmd: (I'm assuming you're on e.g. Debian stable where the newest Guile version doesn't seem new enough)
[15:53:02]<paroneayea>cehteh: the free software user is left with a poverty of options, there
[15:53:19]<paroneayea>though that would be a better future
[15:53:29]<paroneayea>Tsyesika: super weird re: usb keyboard
[15:53:40]* paroneayea has not tried guixsd yet tho
[15:55:43]* cehteh goes binding the manual ... chances are good that i get used to gsd, just for testing in a vm now but maybe for real use someday
[15:55:58]<cehteh>debian becoming too much of a kindergarden over the years
[15:56:06]* pecg has quit (Ping timeout: 256 seconds)
[15:59:47]* wenderen has joined #guix
[16:11:36]<paroneayea>I love Guix, but I still also love Debian :)
[16:15:12]* ijp has quit (Quit: brb running for election)
[16:15:19]* pecg has joined #guix
[16:18:56]<paroneayea>so davexunit, further thoughts on guix as a universal virtualenv:
[16:19:04]* roelj_ has joined #guix
[16:19:19]<paroneayea>except for the stuff used in npm, probably *most* of the javascript can be in the same place that css, fonts, etc are
[16:19:29]<paroneayea>maybe a WEB_ASSETS_PATH, or something
[16:22:37]* book`_ has joined #guix
[16:23:25]* angelic_sedition has quit (Ping timeout: 252 seconds)
[16:23:35]* joolean has quit (*.net *.split)
[16:23:40]* mattl has quit (*.net *.split)
[16:23:40]* dingoateyourbaby has quit (*.net *.split)
[16:23:40]* JamesJRH_ has quit (*.net *.split)
[16:23:40]* joelmo has quit (*.net *.split)
[16:23:40]* roelj has quit (*.net *.split)
[16:23:40]* gnusosa has quit (*.net *.split)
[16:23:40]* book` has quit (*.net *.split)
[16:23:55]* gnusosa_ has joined #guix
[16:23:56]* davexunit has quit (Quit: Leaving.)
[16:23:56]* angelic_sedition has joined #guix
[16:24:12]* dingoateyourbaby has joined #guix
[16:24:36]* JamesJRH has joined #guix
[16:25:52]* mbuf has quit (Quit: Ex-Chat)
[16:27:29]* logand` has joined #guix
[16:29:29]* logand has quit (Ping timeout: 250 seconds)
[16:31:05]* drewr- has joined #guix
[16:34:28]* drewr has quit (Ping timeout: 246 seconds)
[16:34:32]* drewr- is now known as drewr
[16:34:33]* drewr has quit (Changing host)
[16:34:33]* drewr has joined #guix
[16:46:48]<cehteh>oopps .. how do you shutdown the install system? :)
[16:47:24]* cehteh should go rtfm
[16:47:50]* joolean has joined #guix
[16:50:35]* joelmo has joined #guix
[16:52:10]* mattl has joined #guix
[16:56:53]<alezost>cehteh: halt
[17:00:18]<cehteh>haha tried shutdown and poweroff .. :D
[17:16:16]<paroneayea>okay, trying to rewrite minikanren compile step using the gnu-build-system
[17:19:36]* jmd has quit (Remote host closed the connection)
[17:25:27]* sprang has joined #guix
[17:32:39]* joolean has left #guix ()
[17:32:44]<taylanub>mark_weaver: where would I copy the Mesa headers in the Qt build?
[17:34:39]<mark_weaver>some directory in /tmp
[17:35:17]<mark_weaver>cehteh: halt
[17:35:25]<mark_weaver>oh, already answered...
[17:37:46]<taylanub>do we have an equivalent of 'mktemp -d' or should I use 'tmpnam' and 'make-directory'?
[17:38:34]* alezost has quit (Quit: I use GNU Guix <>)
[17:44:17]* alezost has joined #guix
[17:46:26]* fchmmr has quit (Ping timeout: 256 seconds)
[17:47:11]* fchmmr has joined #guix
[17:48:33]<paroneayea>mark_weaver: I'm trying to go the gnu-build-system route
[17:48:57]<paroneayea>I have to admit that I'm pretty confused as to the right way to do it...
[17:49:13]* angelic_sedition has quit (Ping timeout: 248 seconds)
[17:49:30]<paroneayea> seems to not be the right way after all :)
[17:49:33]<paroneayea>but I'm not really sure.
[17:50:25]<paroneayea>ERROR: In procedure memoize-variable-access!:
[17:50:27]<paroneayea>ERROR: Unbound variable: gnu-build
[17:50:38]<paroneayea>it seems like set-paths is the only other phase I really need...
[17:52:06]<paroneayea>oh wait
[17:52:09]<paroneayea>I think I see.
[17:53:52]<mark_weaver>paroneayea: paroneayea I think you should use 'modify-phases' and delete all the phases you don't want.
[17:54:06]<mark_weaver>instead of selecting the ones you think you need.
[17:54:09]<mark_weaver>IMO, anyway.
[17:59:11]<paroneayea>mark_weaver: okay, I'll try that
[17:59:22]<paroneayea>seems like a lot of phases to delete.... :)
[18:03:56]<mark_weaver>well, whatever, either way is fine I guess
[18:10:22]<cehteh>oops, what network hardware do i choose for gsd in a kvm?