Re: Installing guix on nixos system

2020-03-19 Thread Marius Bakke
Roy Lemmon  writes:

> Hi All,
>
> I have followed the instructions in that link and successfully installed
> the build users and guix daemon on my nixos system. As root, I can run
>
> guix package -i hello
>
> and the hello package is installed and I can run it.
>
> However I am having trouble setting up the environment for running guix as
> a user (I am on my laptop, so there is only one user). guix is of course
> not recognised as a command when I am the user. I can run it as
> /usr/local/bin/guix so that is ok and I could put that in my PATH. But is
> that all I need to do ? I am not sure where the guix packages are installed
> as a user rather than root.

I haven't read the linked blog post, but I think the next step is to use
the Guix in /usr/local/bin to run 'guix pull' as your user.  That will
install the latest version of Guix in ~/.config/guix/current.

Afterwards, make sure ~/.config/guix/current/bin comes first in PATH,
then you should be able to use Guix normally.


signature.asc
Description: PGP signature


Re: Problem with guix offload

2020-03-20 Thread Marius Bakke
Mikael Djurfeldt  writes:

> Hi,
>
> I just installed guix on top of Debian Buster using the installation script
> at guix.gnu.org. I did this on two machines, hat and wand, with the hope
> that I could offload compilation to wand.
>
> This is what I get:
>
> root@hat:~# guix offload test
> guile: warning: failed to install locale
> hint: Consider installing the `glibc-utf8-locales' or `glibc-locales'
> package and
> defining `GUIX_LOCPATH', along these lines:
>
>  guix package -i glibc-utf8-locales
>  export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
>
> See the "Application Setup" section in the manual, for more info.
>
> guix offload: testing 1 build machines defined in
> '/etc/guix/machines.scm'...
> guix offload: Guix is usable on 'wand.pdc.kth.se' (test returned
> "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
> guix offload: 'wand.pdc.kth.se' is running GNU Guile 3.0.1
> sending 1 store item (0 MiB) to 'wand.pdc.kth.se'...
> exporting path `/gnu/store/sd0wqvaffi1cbpvf0dq37mab34rmlnav-export-test'
> ;;; [2020/03/17 12:45:48.671038, 0] write_to_channel_port: [GSSH ERROR]
> Remote channel is closed: #
> Backtrace:
>1 (primitive-load "/root/.config/guix/current/bin/guix")
> In guix/ui.scm:
>   1833:12  0 (run-guix-command _ . _)
>
> guix/ui.scm:1833:12: In procedure run-guix-command:
> Throw to key `guile-ssh-error' with args `("write_to_channel_port" "Remote
> channel is closed" # #f)'.
>
> Any hints about what could be wrong?

'guix' must be available on GUILE_LOAD_PATH on the remote machine,
e.g. by installing the 'guile3.0-guix' package into the user profile.

IOW, for offloading to work, this command should succeed:

$ ssh wand guile -c "'(use-modules (guix config))'"

It can be useful to add a dedicated user account on the remote for
offloading to avoid clobbering your regular profile.

Hope this helps,
Marius


signature.asc
Description: PGP signature


Re: ungoogled-chromium

2020-03-22 Thread Marius Bakke
Marco van Hulten  writes:

> I installed ungoogled-chromium.  When it starts and I browse to the
> main Jitsi instance [1], it wants to install the extension for Google
> Calendar and Office 365 integration.  I don't know if those are
> non-free softwares, but they at least provide non-free web services.

Are you suggesting that ungoogled-chromium inserts the ad[0] into the
meet.jit.si web page?  I have never seen that banner before, and can not
find any references to meet.jit.si in the ungoogled-chromium source code.

[0] Search for  in the HTML.


signature.asc
Description: PGP signature


Re: ungoogled-chromium

2020-03-22 Thread Marius Bakke
Vagrant Cascadian  writes:

> I'm curious if you can get audio or microphone access using
> ungoogled-chromium on meet.jit.si... video worked fine for me, but
> neither audio output nor microphone input worked.  Are there optional
> plugins needed to make audio work with ungoogled-chromium?

Early revisions of ungoogled-chromium had a bug where websites were
prevented from accessing your microphone.

Check if ~/.config/chromium/Default/Preferences has an entry like

  "audio_capture_enabled": false

Removing or inverting that setting should fix the problem in that case.

HTH,
Marius


signature.asc
Description: PGP signature


Re: [dxvk] How to set RPATH with Meson?

2020-03-25 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> I'm trying to update DXVK to 1.6 and it now ships a new d3d10core.dll.so
> on which its other libraries depend.
> Thus RUNPATH verification fails:
>
> --8<---cut here---start->8---
> validating RUNPATH of 6 binaries in 
> "/gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib"...
> /gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10.dll.so: 
> error: depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
> ("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
> "/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
>  
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
> /gnu/store/d78ivdn8y5idyzikidmm7jmpi5pnkrxl-dxvk32-1.6/lib/d3d10_1.dll.so: 
> error: depends on 'd3d10core.dll.so', which cannot be found in RUNPATH 
> ("/gnu/store/f2xz8fhfsb559xnpqxqik5y121svnhdg-glibc-2.29/lib" 
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib" 
> "/gnu/store/8239jfnnszqgsvyqansvwwwqzryw9zhb-wine-staging-5.3/bin/../lib/wine32"
>  
> "/gnu/store/vmdi5a25sg3dpwp28762xssiayb6qjp6-gcc-9.3.0-lib/lib/gcc/i686-unknown-linux-gnu/9.3.0/../../..")
> --8<---cut here---end--->8---
>
> I tried passing the following arguments:
>
> --8<---cut here---start->8---
> (string-append "-Dc_link_args=-Wl,-rpath="
>(assoc-ref %outputs "out")
>"/lib")
> (string-append "-Dcpp_link_args=-Wl,-rpath="
>(assoc-ref %outputs "out")
>"/lib")
> --8<---cut here---end--->8---
>
> Didn't work.
>
> Any idea where to go from here?

meson-build-system already passes those arguments unconditionally.
Perhaps meson.build does something weird and ignores those flags?


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-03 Thread Marius Bakke
Tobias Geerinckx-Rice  writes:

> Let's see how we can patch freshclam to point libcurl in the right 
> direction…

FWIW this problem has been fixed on the 'core-updates' branch with
commit a76a343082d61d5303b61a9e4cbde4ab8515a1e7.  Now all libcurl users
will respect the same search paths.

ClamAV can be pulled from that branch through an inferior or with
'guix time-machine --branch=core-updates -- install clamav'.


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-04 Thread Marius Bakke
白い熊  writes:

> Apr 3, 2020 18:53:25 Marius Bakke :
>
>
>> ClamAV can be pulled from that branch through an inferior or with
>> 'guix time-machine --branch=core-updates -- install clamav'.
>> 
>> 
>
> I have clamav installed in its own profile using a manifest file. How can I 
> specify the above in the manifest?

You will have to use an "inferior"[0].  Here is an untested manifest
that should create a profile where HTTPS is working (note that you need
to source the /etc/profile script).

(use-modules (guix inferior)
 (guix channels))

(define channels
  ;; A channel with the "core-updates" branch.
  (list (channel
 (name 'guix)
 (url "https://git.savannah.gnu.org/git/guix.git";)
 (branch "core-updates"

(define inferior
  ;; An inferior representing the above channel.
  (inferior-for-channels channels))

;; Create a manifest with ClamAV from the 'core-updates' branch, and
;; cURL + nss-certs to access HTTPS URLs.
(packages->manifest
 (append (lookup-inferior-packages inferior "clamav")
 (map specification->package
  '("curl"   ;to get the SSL_CERT_DIR variable
"nss-certs"  ;to verify TLS certificates


0: https://guix.gnu.org/manual/en/guix.html#Inferiors


signature.asc
Description: PGP signature


Re: Guix and clamav, freshclam doesn't dowload

2020-04-04 Thread Marius Bakke
Hi 白い熊,

白い熊  writes:

> Unfortunately, this fails to install with:
>
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 1.2 MB will be downloaded:
> /gnu/store/p5qdvijyl3vmq2phzmbgcka6jk7pbmmm-module-import
> /gnu/store/adkz4x95qy12z7d0s4146prx2hcz46y4-module-import-compiled
> /gnu/store/y2q7305gyh01nmngkfkq9gdz8zs3zfi1-compute-guix-derivation
> Backtrace:
> 1 (primitive-load "/home/shiroikuma/.config/guix/current/bin/guix")
> In guix/ui.scm:
> 1936:12 0 (run-guix-command _ . _)
>
> guix/ui.scm:1936:12: In procedure run-guix-command:
> In procedure put-bytevector: Wrong type argument in position 1 (expecting 
> open output port): #

This was actually a bug in Guix that was fixed just now:
.  Please try again after a 'guix pull', it
should work better now!  :-)


signature.asc
Description: PGP signature


Re: about basic operation of guix sd

2020-04-07 Thread Marius Bakke
Hi Satoru, and welcome to Guix!  I hope you will enjoy your stay.  :-)

Satoru KURASHIKI  writes:

> hi,
>
> I happen to know Guix SD recently, and trying to tinkering it.

FYI the 'SD' name has been deprecated in favor of 'Guix System'.

> I've just managed to "guix init" on my new box, and have questions
> about its operations.
> # excuse: I looked over the guix manual, but may be overlooking clues...
>
> Please tell me any of FAQ, Howto, list thread, blog, sample code, or
> gist, which would answer:
>
> - How to unify personal substitutes?
>   - "guix publish" will serve the substitutes built on that host, and
> I want to add substitutes
> of another host's
>   - Is this work as expected? : rsync /gnu/store to repository host to
> merge substitutes

Syncing /gnu/store will not work without also syncing /var/guix/db.  I
think what you want to do is on host1 run 'guix publish' as you already
found, and on host2 you can then use 'guix install foo
--substitute-urls="https://host1 https://ci.guix.gnu.org";' to get
substitutes from both host1 and the Guix CI infrastructure.

See https://guix.gnu.org/manual/en/guix.html#Invoking-guix-publish for a
more complete explanation.

To do this through the configuration system, you need
'guix-publish-service-type' and adjusting the 'substitute-urls' field of
'guix-service-type'.

> - The right way of treating guix code (or guile code structure?)
>   - I have to clone guix repo into my home directory?
> - Though "guix pull" should have source tree anywhere (in
> /gnu/store?), so are there any interfaces
>   to access them through guix-daemon?
>   - I want to tweak existing code (package definition)
> - I should copy target file to somewhere working directory to edit
>   or edit target file in the project tree?

After cloning the Guix repository, you can run Guix directly from the
checkout using the "./pre-inst-env" script: see the Contributing
section of the manual for how to configure a development environment:

https://guix.gnu.org/manual/en/guix.html#Contributing 

Another alternative is to use 'guix pull --url=/your/cloned/repository'.

> - Emacs setup (to edit guix configuration)
>   - I want something like:
> - i.e. M-x guix-describe-variables to view document of guix
> keywords and jump to its definition
> - C-x C-e to evaluate variables (to confirm its values)
> - guix keyword completion
> - Some linter (flymake/flycheck thing)
>   - emacs-guix seems to be "guix" command wrapper, so I guess
> configuring geiser will make it?

You can get completion and jumping through Geiser, but I don't have
instructions at hand.  Hopefully some of the Emacs gurus can chime in
here.  :-)


signature.asc
Description: PGP signature


Re: How to temporarily disable Pulseaudio?

2020-04-19 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> I've got a couple of sound issues which I suspect might be linked to
> Pulseaudio.
>
> I'd like to temporarily disable Pulseaudio and see if I experience those
> issues with ALSA alone.
>
> It seems that Pulseaudio is part of the %desktop-services.
> However it's not listed in
>
> --8<---cut here---start->8---
> sudo herd status
> --8<---cut here---end--->8---
>
> for me.  Any idea why?
>
> Killing the pulseaudio process manually results in it being
> automatically started.  I suspect that's expected from shepherd.
>
> Any clue how to kill it for real?

Pulseaudio is designed to be started on demand by any application
attempting to use it, so it cannot really be disabled AFAIK...

You could try to build the application you want to test without
Pulseaudio support, and run it after killing the pulseaudio daemon.


signature.asc
Description: PGP signature


core-updates call for testing

2020-04-23 Thread Marius Bakke
Hello Guix!

The "core-updates" branch is ready for testing!  According to 'guix
weather', the substitute coverage is slightly better than on "master"
for x86_64.  You can get it by running:

  guix pull --branch=core-updates

Please try upgrading your profiles and systems and file bugs for
anything that does not work for you.  GNOME users in particular are
encouraged to try the new GNOME 3.34 and report any regressions.

If you don't feel like jumping into the deep end, you can pull it to a
temporary location instead of the default ~/.config/guix/current:

  guix pull -p /tmp/core-updates --branch=core-updates
  /tmp/core-updates/bin/guix package -u

That way you don't have to 'guix pull --roll-back' to get at your
previous Guix (from the "master" branch).

Enjoy!


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-24 Thread Marius Bakke
sirgazil  writes:

>   On Fri, 24 Apr 2020 03:20:41 + sirgazil  wrote 
> 
>  >   On Thu, 23 Apr 2020 23:24:23 + Marius Bakke 
>  wrote 
>  >  > Hello Guix!
>  >  > 
>  >  > The "core-updates" branch is ready for testing!  According to 'guix
>  >  > weather', the substitute coverage is slightly better than on "master"
>  >  > for x86_64.  You can get it by running:
>  >  > 
>  >  >   guix pull --branch=core-updates
>  >  > 
>  >  > Please try upgrading your profiles and systems and file bugs for
>  >  > anything that does not work for you.  GNOME users in particular are
>  >  > encouraged to try the new GNOME 3.34 and report any regressions.
>  > 
>  > I pulled from core-updates without problems, but "guix upgrade" failed.
>  > 
>  > First, when running "guix upgrade", I got the following message, which I 
> think is confusing because I use GNU, not Guix on a foreign distro:
>  > 
>  > $ guix upgrade
>  > guile: warning: failed to install locale
>  > hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' 
> package and defining `GUIX_LOCPATH', along these lines:
>  > 
>  >  guix package -i glibc-utf8-locales
>  >  export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
>  > 
>  > See the "Application Setup" section in the manual, for more info.
>  > 
>  > Then, everything was going alright, until building emacs-guix derivation 
> failed:
>  > 
>  > building 
> /gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv...
>  > \ 'configure' phasebuilder for 
> `/gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv' failed 
> with exit code 1
>  > build of 
> /gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv failed
>  > View build log at 
> '/var/log/guix/drvs/6k/dl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv.bz2'.
>  > guix upgrade: error: build of 
> `/gnu/store/6kdl0pyv7i571d6b4vcxskr75ffqw1mk-emacs-guix-0.5.2.drv' failed
>  > 
>  > 
>  > The build log said:
>  > 
>  > starting phase `configure'
>  > source directory: 
> "/tmp/guix-build-emacs-guix-0.5.2.drv-0/emacs-guix-0.5.2" (relative from 
> build: ".")
>  > build directory: 
> "/tmp/guix-build-emacs-guix-0.5.2.drv-0/emacs-guix-0.5.2"
>  > configure flags: 
> ("CONFIG_SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  
> "SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  "--prefix=/gnu/store/bqplgazij77awh62579p56wbnxdb1c2l-emacs-guix-0.5.2" 
> "--enable-fast-install" "--build=x86_64-unknown-linux-gnu")
>  > configure: WARNING: unrecognized options: --enable-fast-install
>  > checking for a BSD-compatible install... 
> /gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin/install -c
>  > checking whether build environment is sane... yes
>  > checking for a thread-safe mkdir -p... 
> /gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin/mkdir -p
>  > checking for gawk... gawk
>  > checking whether make sets $(MAKE)... no
>  > checking whether make supports nested variables... yes
>  > checking whether make supports nested variables... (cached) yes
>  > checking for pkg-config... 
> /gnu/store/krpyb0zi700dcrg9cc8932w4v0qivdg9-pkg-config-0.29.2/bin/pkg-config
>  > checking pkg-config is at least version 0.9.0... yes
>  > configure: checking for guile 2.2
>  > configure: checking for guile 2.0
>  > configure: error: 
>  > No Guile development packages were found.
>  > 
>  > Please verify that you have Guile installed.  If you installed Guile
>  > from a binary distribution, please verify that you have also installed
>  > the development packages.  If you installed it yourself, you might need
>  > to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more.
>  > 
>  > command 
> "/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash" 
> "./configure" 
> "CONFIG_SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  
> "SHELL=/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash"
>  "--prefix=/gnu/store/bqplgazij77awh62579p56wbnxdb1c2l-emacs-guix-0.5.2" 
>

Re: core-updates call for testing

2020-04-24 Thread Marius Bakke
sirgazil  writes:

> This time, one of my packages in a custom channel failed with "no code for 
> (term ansi-color)" (the package definition: 
> https://gitlab.com/sirgazil/guix-channel-x/-/blob/master/sirgazil-x/packages/guile.scm#L13).
>  This is not a new package in my profile, I've been using it for a long time. 
> Since both error seemed to be related to Guile, I removed all Guile-related 
> packages from my profile and tried upgrading again. This time, the upgrade 
> succeeded.

The reason your custom package failed is because it is using guile-2.2,
but the dependencies are built with Guile 3.0.

Changing the native-input to 'guile-3.0' should do the trick.  Otherwise
you can change the dependencies to 'guile2.2-json' and similar.

Thanks for testing!


signature.asc
Description: PGP signature


Re: Thunar does not launch: Failed to execute child process 'gio-launch-desktop'

2020-04-27 Thread Marius Bakke
zna...@disroot.org writes:

> Hello! I use pcmanfm and everything works fine.
> But when I open Downloads folder from IceCat it is opening in Thunar that has 
> ugly behavior.
> When I click on any file it cannot run an Application with this error:
>
> Failed to open filename.csv
> Failed to execute child process 'gio-launch-desktop' (No such file or 
> directory).
>
> Screen:
> http://0x0.st/iezi.png (http://0x0.st/iezi.png)
>
> I use Xfce4 desktop.
> How can I fix it?

This problem has been fixed on the soon-to-be-merged 'core-updates'
branch.  Pulling that branch should be safe as no big rebuilds are
scheduled at this point, and you get to help out Guix development by
testing it!

To get it, use 'guix pull --branch=core-updates' or adjust your
channels.scm.

If using "core-updates" is impractical, you can work around this issue
in the meantime by adding (list glib "bin") in the 'packages' field of
your operating-system declaration.

HTH!
Marius


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-28 Thread Marius Bakke
Efraim Flashner  writes:

> I have a package which currently depends on gfortran-5, although
> gfortran-5 doesn't build on core-updates.
>
> efraimf@penguin2:~/workspace/guix-core-updates$ ./pre-inst-env guix build 
> --no-grafts -e '(@@ (gnu packages gcc) gfortran-5)'
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> The following derivation will be built:
>/gnu/store/frqb5p2vdk8qcjwbny1s6mlak344a0gx-gfortran-5.5.0.drv
> building /gnu/store/frqb5p2vdk8qcjwbny1s6mlak344a0gx-gfortran-5.5.0.drv...
> Backtrace:
> In ice-9/eval.scm:
>217:50 19 (lp (# ?))
>217:50 18 (lp (# ?))
>217:50 17 (lp (# ?))
>217:50 16 (lp (# ?))
>217:50 15 (lp (# ?))
>217:50 14 (lp (# ?))
>217:50 13 (lp (# ?))
>217:50 12 (lp (# ?))
>217:50 11 (lp (# ?))
>217:50 10 (lp (# ?))
>217:50  9 (lp (# ?))
>217:50  8 (lp (# ?))
>217:50  7 (lp (# ?))
>217:50  6 (lp (# ?))
>217:33  5 (lp (# ?))
>196:43  4 (_ #f)
>196:35  3 (_ #f)
>202:27  2 (_ #f)
>223:20  1 (proc #)
>In unknown file:
>0 (%resolve-variable (7 . cut) #)
>
> ERROR: In procedure %resolve-variable:
> Unbound variable: cut

Fixed in 587398d2a82e0b5966a6827d36a1f1d115181b11, thanks!


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-04-28 Thread Marius Bakke
Leo Famulari  writes:

> I reconfigured my Guix System based on core-updates, and afterwards I
> was unable to login, either remotely over SSH, or on the Linux console.

Do you still have the logs from this attempt?  Curious what caused login
to fail.


signature.asc
Description: PGP signature


Re: core-updates call for testing

2020-05-04 Thread Marius Bakke
Timothy Sample  writes:

> Hi Marius,
>
> Marius Bakke  writes:
>
>> The "core-updates" branch is ready for testing!  [...]
>>
>> Please try upgrading your profiles and systems and file bugs for
>> anything that does not work for you.  GNOME users in particular are
>> encouraged to try the new GNOME 3.34 and report any regressions.
>
> Just so you know, GNOME 3.34 is working swimmingly for me.  So far I am
> a very happy core-updates user.  Thank you very much for all your hard
> work!

Great to know, thanks!  Credits to Kei for the GNOME 3.34 upgrade.  :-)

I think the only remaining blocker is fixing the WebKitGTK+ sandbox
issue in Epiphany: <https://issues.guix.gnu.org/issue/40837>.

Chris also reported an issue with FlighGear.  Presumably updating to the
latest version would make it work with the newer Boost.  Any takers?

@everyone, please speak up if you find any of your packages failing on
the core-updates branch!  The substitute coverage is currently ~90%,
which is better than on 'master'.


signature.asc
Description: PGP signature


Re: What LVM support is missing?

2020-05-04 Thread Marius Bakke
Simon Josefsson  writes:

> The manual is quite clear that LVM support is missing:
>
>   https://guix.gnu.org/manual/en/html_node/Limitations.html
>
> This held me back from using guix as the OS for my virtualization
> servers since I use LVM for virtual machines.  However, one evening I
> was curious how difficult it would be to fix the above limitation, so I
> started with a simple 'guix package -i lvm2' and that allowed me to get
> LVM to work and I can't really notice anything missing.
>
> Before producing a patch to correct the manual, could someone explain
> what LVM support was intended that was missing?  Does a reference to LVM
> as a limitation of Guix still make sense?

What's missing is support in the configuration system: the ability to
declare a LVM mapped device in the OS configuration and expect 'guix
system init', 'guix system reconfigure' etc to work.

LVM 2.03 simplifies things a bit, but I don't know of any recent
attempts to add LVM support to the configuration system.


signature.asc
Description: PGP signature


Re: whishlist: guix build -d /gnu/store/hash-pkg-version?

2020-05-08 Thread Marius Bakke
zimoun  writes:

> Dear,
>
> When debugging, I find really useful the command: "guix build -d package".
>
> Is it possible to do the same on the resulting '/gnu/store/'?
>
> For example,
>
> $ guix build hello
> /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10
>
> $ guix build -d hello
> /gnu/store/gknm68l0q893bpvyhcd4ccih1bmh0j87-hello-2.10.drv
>
> Well, I would like to do something like that?
>
> $ guix build -d /gnu/store/kg9mirg6xbvzcp0a98v7326n1nvvwgsj-hello-2.10
> /gnu/store/gknm68l0q893bpvyhcd4ccih1bmh0j87-hello-2.10.drv
>
> Does it make sense?

That does make sense and is already supported with 'guix gc --derivers':

$ guix gc --derivers /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
/gnu/store/8s63hyw4f2ivf1zxkx65awlx5jackvbz-hello-2.10.drv

:-)


signature.asc
Description: PGP signature


core-updates merged!

2020-05-08 Thread Marius Bakke
Guix,

The mythical 'core-updates' branch was just merged to 'master'!

You will notice newer versions of many "core" packages such as glibc,
findutils, make, etc; see 'guix pull --news' for the scoop.  The mailing
list has a (non-exhaustive) overview of the big changes this round:

  https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00412.html

Please report any problems you find to bug-g...@gnu.org.

Enjoy!


signature.asc
Description: PGP signature


Re: How to configure a printer on Guix System

2020-05-16 Thread Marius Bakke
Christophe Pisteur  writes:

> Le vendredi 15 mai 2020 à 17:33 +0200, Tobias Geerinckx-Rice a écrit :
>> Christophe,
>> 
>> Christophe Pisteur 写道:
>> > Since now, I installed the following packages: cups, 
>> > cups-filters,
>> > fomatics-filters.
>> > When I launch http: // localhost: 631 / in my browser
>> 
>> So the important thing to (un)learn here is that installing Guix 
>> packages will never start random software in the background.  This 
>> is by design.
>> 
>> (Guix) System software is started by services that are part of 
>> your OPERATING-SYSTEM.  Here's part of my laptop's CUPS 
>> configuration:
>> 
>>   (use-service-modules ···
>>cups
>>···)
>>   (operating-system
>> (services
>>  (cons* ···
>>(service cups-service-type
>> (cups-configuration
>>  (extensions
>>   (list hplip-minimal
>> ;; Required to display printer options,
>> ;; even with IPP Everywhere everywhere.
>> cups-filters
>> ;; Other possible legacy drivers:
>> ;; escpr foo2zjs foomatic-filters
>> ;; hplip-minimal splix
>> ))
>>  (server-name host-name)
>>  (host-name-lookups #t)
>>  (web-interface? #t)
>>  (default-paper-size "A4")
>>  ;; You get the idea.
>>  ···))
>>···
>>%base-services-or-whatever)))
>
> Thank you for the explanation and for sharing this configuration. My
> problem is that I still don't understand guix well enough: I don't know
> in which file to write this configuration of cups (name and path), nor
> with what tool to define it (nano, terminal, etc.).

Guix is deceptively simple.  This goes in your /etc/config.scm, like any
other system-level change.  You probably already have a (services ...)
in there: the challenge is to sew in the stanza provided by Tobias with
your existing configuration.

Afterwards you need to run 'guix system reconfigure /etc/config.scm'.

> Perhaps I do not have enough computer background to use guix to date.
> It does not matter, I will eventually learn over time, not to mention
> that some functions will be automated with the evolution of the
> project, as is the case for the graphic installation.

You should not need a computer background to use Guix.  In fact _no_
background may be better, as Guix is radically different from any other
operating system you may have used (unless you come from NixOS).

The only thing required is patience to read the manual, and the courage
to ask on IRC or mailing lists if you get stuck.  :-)


signature.asc
Description: PGP signature


Re: Guix closure size of a system?

2020-05-19 Thread Marius Bakke
Pierre Neidhardt  writes:

> Hi!
>
> Is there a way to calculate the closure size of a system (as generated
> by guix system reconfigure config.scm)?

Try: 'guix size $(guix system build config.scm)'.

Or for the currently running generation:

'guix size $(readlink -f /run/current-system)'


signature.asc
Description: PGP signature


Re: Appropriate way to use Guix API from a Guile program

2020-05-21 Thread Marius Bakke
sirgazil  writes:

> Hi,
>
> I use Guix's GNU system. 
>
> I had written a Guile script that called Guix procedures to manipulate 
> profiles. I put it in a Guix package in a custom channel and installed it. It 
> used to work, but now it fails with an error I can also reproduce when trying 
> to do something similar from a Guile REPL. For instance:
>
> 
> $ mkdir profile-x
> $ guile
> GNU Guile 3.0.2
> [...]
> scheme@(guile-user)> (use-modules (guix scripts package))
> scheme@(guile-user)> (guix-package "-m" "manifest.scm" "-p" 
> "profile-x/profile-x")
> error: glibc-bootstrap-system-2.2.5.patch: patch not found
> 

There are a couple of things going on here.  Calling the Guix APIs from
Guile will use the 'system-installed' Guix, unless you have fiddled with
GUILE_LOAD_PATH.

You can use 'guix repl' to use the _current_ Guix instead (the one
obtained with 'guix pull'), where this problem has been fixed.

The system-installed Guix in turn fails because of a bug that was fixed
in 179e6c524ae4957e6ace83f72a5651767f786ca4, and ultimately
977f478090fd96e73463efb67c56fb32f28828bd which updates the 'guix'
package to include the fix.  If you reconfigure on a recent Guix, the
missing patch error should go away.

Hope this helps!


signature.asc
Description: PGP signature


Re: Appropriate way to use Guix API from a Guile program

2020-05-21 Thread Marius Bakke
sirgazil  writes:

> Hmm, and is there any way for a Guile program installed as a Guix package to 
> use the modules of the Guix obtained by the user with "guix pull" and also 
> being able to take advantage of user-defined channels? Or is this just not 
> possible at all?

You need to add $HOME/.config/guix/current/share/guile/site/3.0 on
GUILE_LOAD_PATH to access channel code from Guile programs.


signature.asc
Description: PGP signature


Re: Guix Docker image inflation

2020-05-29 Thread Marius Bakke
Leo Famulari  writes:

>> How else would you suggest that it be done? It would be nice if `guix
>> system docker-image`
>> took `--branch` and `--commit` options to build a container from a
>> well-defined Guix check-in
>> state, but that doesn't seem to be the case. And in any case - too slow.
>> The point here is to
>> leverage daily incremental pulls to keep data transfer and build times down.
>
> --branch and --commit would be passed to `guix pull`, and then you'd run
> `guix system docker-image` based on that.

There is also 'guix time-machine --commit=abc123 -- system docker-image'.


signature.asc
Description: PGP signature


Re: Local definitions and Virtual machine image

2020-06-03 Thread Marius Bakke
Emmanuel Medernach  writes:

> Hello Guixers !
>
> I  created an  image with  'guix system  vm-image'
> which  contains  local  defined  packages.   These
> packages  are  present   on  the  Virtual  Machine
> however  they are  not listed  with 'guix  package
> --list-installed'.

'guix package -I' only lists packages that are installed to the user
profile.  Use 'guix package -p /run/current-system/profile -I' to see
system-installed packages.

> As  I   need  to   customize
> LD_LIBRARY_PATH, I use "guix  build" to list store
> directories  from  package   names  but  it  tries
> instead to  recompile them  even though  they  are
> already installed.

The reason 'guix build foo' gives a different result is because you have
not run 'guix pull', so you are using the "guix snapshot" from
gnu/packages/package-management.scm, which is on a fixed commit.

Whereas when you built the VM, you were likely using a newer version of
Guix.

> How to  properly export  local definitions  in the
> virtual machine image ?

There are a couple of ways around this.  One is to run 'make
update-guix-package' in the Guix source tree to update the Guix
snapshot, and use './pre-inst-env' when generating the VM.  It requires
a Guix development setup though.

Another is to look at the commit that was used to generate the VM in
/run/current-system/provenance and run 'guix pull --commit=that-commit'.

Perhaps 'guix system vm-image' could learn a '--update-guix-snapshot' to
automatically update the "system guix".  Someone would have to implement
it first though.  :-)

HTH,
Marius


signature.asc
Description: PGP signature


Re: curl server certificate verification failed for a few sites

2020-06-06 Thread Marius Bakke
Giovanni Biscuolo  writes:

> Hi Tobias,
>
> thank you for your clear explanation and patience
>
> ...and sorry again to all other Guix users for the "noise": this is not
> strictly related to Guix but just to the most recent version of
> curl/wget
>
> I still I don't understand the differences between curl (and wget)
> behaviour and the last Guix available ungoogled-chromium (see below).

The problem is with GnuTLS, which failed if one of the trust roots were
using an expired certificate:

  https://gitlab.com/gnutls/gnutls/-/issues/1008

It has been fixed in the latest GnuTLS, which is in Guix as of commit
8951b9496b5c390adb3b3292d234bb8ab9936c40.  Thanks for reporting it!


signature.asc
Description: PGP signature


Re: Profiles for Python projects

2020-06-18 Thread Marius Bakke
Hi Zelphir,

Zelphir Kaltstahl  writes:

> I create a profile with that and it works fine:
>
> guix package --manifest="manifest.scm" 
> --profile="${GUIX_EXTRA_PROFILES}"/my-env/my-env
>
> Then I do the sourcing:
>
> GUIX_PROFILE="${GUIX_EXTRA_PROFILES}/my-env/my-env"; source 
> "${GUIX_PROFILE}/etc/profile"

[...]

> I also get a path in the profile I created. So far all seems to just
> work. However, then I hit a snag when trying to run the tests of the
> project:
>
> LOG_LEVEL="DEBUG" PYTHONPATH="$(pwd)/my_project" python3 -m pytest -m 
> "my_test_marker" -s -vvv
>
> I now get the error:
>
> No module named pytest

This is because you are overriding PYTHONPATH.  If you run it as ...

  LOG_LEVEL="DEBUG" PYTHONPATH="$(pwd)/my_project:$PYTHONPATH" python3 -m 
pytest -m "my_test_marker" -s -vvv

... you might have better luck.  Guix relies on PYTHONPATH to make
Python modules available because there is no single site-packages
directory like in some other distributions.

HTH!
Marius


signature.asc
Description: PGP signature


Re: Dependencies between service extensions

2020-06-23 Thread Marius Bakke
conjaroy  writes:

> Greetings help-guix,
>
> I've been a casual user of Nix for a couple of years and have decided to
> test the waters with Guix. While I'm looking forward to spending time with
> Lisp after many years away, my biggest impression is that Guix seems to
> have well-documented interfaces in cases where Nix relies more on loose
> conventions.
>
> After reviewing the manual and some of the service definitions, I'd like a
> better understanding of how to implement a common pattern. Let's say that I
> have some application Foo that uses an external system for persistence,
> like a SQL database. Before starting up service Foo I need to ensure both
> that the database service is running and that the database instance for Foo
> has been initialized, because Foo doesn't know how to initialize the
> database on its own.
>
> The first issue (how to ensure that the database service is up) seems to be
> solved by adding a shepherd-root-service-type service extension that
> declares a set of "requirements". And the second issue (performing
> pre-startup initialization) seems to be handled by the
> activation-service-type extension. So far so good.
>
> But I couldn't find documentation on whether service activation scripts can
> safely rely on other services that happen to be declared as requirements in
> the shepherd-root-service-type extension. And while I found many activation
> scripts that do simple things like modifying the filesystem, I couldn't see
> any that interact directly with other services. However, I did see some
> evidence of service extensions relying on the side effects of other service
> extensions: a number of activation scripts call "getpwnam" for info on
> system accounts that could exist only if the corresponding
> account-service-type extension has already been executed.
>
> So my questions are: could someone clarify best practices for initializing
> state in Service A before Service B starts up? And is there anything about
> the ordering/dependencies of a service's extensions that could be better
> documented in the manual?

To encode requirements for an activation script, I think you need to
declare a service type for it with appropriate requirements, and make
the start and stop actions "noop".  Then you can have other services
depend on the "activation service".

I did something similar in a service I'm working on that consists of
many different daemons.  To avoid having to run essentially the same
activation script on each, I created a "common" service that all daemons
depend upon.  It's fairly verbose (you don't need a record type), but
looks like this:

--8<---cut here---start->8---
;; This is a dummy service that all Ganeti daemons depend upon, mainly to
;; avoid having the same activation snippet on each.
(define-record-type* 
  ganeti-common-configuration make-ganeti-common-configuration
  ganeti-common-configuration?
  (ganeti ganeti-common-configuration-ganeti;
  (default ganeti))
  (directories ganeti-common-configuration-directories  ;list of strings
   (default '("/var/log/ganeti"
  "/var/log/ganeti/kvm"
  "/var/log/ganeti/os"
  "/var/lib/ganeti/rapi"
  "/var/lib/ganeti/queue"
  "/var/run/ganeti/bdev-cache"
  "/var/run/ganeti/socket"
  "/var/run/ganeti/instance-disks"
  "/var/run/ganeti/instance-reason"
  "/var/run/ganeti/livelocks"

(define (ganeti-common-activation config)
  (let ((directories (ganeti-common-configuration-directories config)))
  #~(begin
  (use-modules (guix build utils))
  (for-each mkdir-p '#$directories

(define ganeti-common-service
  (lambda _
(list (shepherd-service
   (documentation "Create the directories required by Ganeti.")
   (provision '(ganeti-common))
   (requirement '(file-systems))
   ;; Do nothing but the activation snippet, at least for now.
   (start #~(const #t))

(define ganeti-common-service-type
  (service-type (name 'ganeti-common)
(extensions
 (list (service-extension activation-service-type
  ganeti-common-activation)
   ;; This service also installs Ganeti to the profile
   ;; to make gnt-cluster, etc readily available.
   (service-extension profile-service-type
  (compose list
   
ganeti-common-configuration-ganeti))
   (service-extension shepherd-root-service-type
  ganeti-common-service)))
(default-value (ganeti-common-configuration))
(description
 "This 

Re: failing to package attrs-strict for swh.model

2020-06-24 Thread Marius Bakke
zimoun  writes:

> Dear,
>
> I am trying to package "swh.model" which is a CLI tool developed by
> Software Heritage.  It allows to compute SWHID which is their internal
> hash tag.  This package is on PyPI, so I did:
>
>guix import pypi -r swh.model
>
> which returns 2 packages: "python-attrs-srtict" and "swh.model".
>
>
> Aside some minor tweaks about the license, synopsis and description I
> added them to "gnu/packages/python-xyz.scm" and then I simply have tried
> to build:
>
>   ./pre-inst-env guix build python-attrs-strict
>
> Well, the first unexpected thing is an 404 error:
>
> --8<---cut here---start->8---
> building 
> /gnu/store/r6dgvrq486d8hdii9szz2filq85nbwjx-attrs-strict-0.1.0.tar.gz.drv...
>
> Starting download of 
> /gnu/store/9p0baqs1386gv5hhzrv5yrcj35klxpfi-attrs-strict-0.1.0.tar.gz
>>From 
>>https://files.pythonhosted.org/packages/source/a/attrs-strict/attrs-strict-0.1.0.tar.gz...
> download failed 
> "https://files.pythonhosted.org/packages/source/a/attrs-strict/attrs-strict-0.1.0.tar.gz";
>  404 "Not Found"

[...]

> What do I miss?
>
> Then, from the PyPI webpage, I download the tarball by hand (wget) and
> then I run:
>
> /pre-inst-env guix build python-attrs-strict \
>   --with-source=python-attrs-strict=attrs_strict-0.1.0.tar.gz

I notice the file name in this command is "attrs_strict".  Probably the
importer picked the wrong file name and you need to change it to
(pypi-uri "attrs_strict" version).

> which fails at the check phase.  Well, I have added as 'native-inputs'
> the packages "python-pytest" and "python-pluggy".  And I add these
> lines:
>
> --8<---cut here---start->8---
> (arguments
>  `(#:phases (modify-phases %standard-phases
>   (replace 'check
> (lambda _
>   (invoke "pytest")
>   #t)
> --8<---cut here---end--->8---
>
> But the tests is still failing with the same message at this end:
>
> --8<---cut here---start->8---
> AttributeError: type object 'Callable' has no attribute '_abc_registry'
> --8<---cut here---end--->8---

Can you paste the full package definition?


signature.asc
Description: PGP signature


Re: failing to package attrs-strict for swh.model

2020-06-25 Thread Marius Bakke
zimoun  writes:

>> Can you paste the full package definition?
>
> Well, I have tried with and without the 'arguments'.
>
> --8<---cut here---start->8---
> (define-public python-attrs-strict
>   (package
> (name "python-attrs-strict")
> (version "0.1.0")
> (source
>   (origin
> (method url-fetch)
> (uri (pypi-uri "attrs_strict" version))
> (sha256
>   (base32
> "0nldyv053xiv9aaysjszgisi9d9d87f5l2jf3rhl3xm9c9spar96"
> (build-system python-build-system)
> (native-inputs
>  `(("python-pytest" ,python-pytest)
>("python-pluggy" ,python-pluggy)))
> (propagated-inputs
>   `(("python-attrs" ,python-attrs)
> ("python-typing" ,python-typing)))

Does it make a difference if you remove python-typing?  That
functionality was merged into Python 3.5, perhaps it expects an older
version of 'collections.abc'.


signature.asc
Description: PGP signature


Re: installing buildutils-gold

2020-06-26 Thread Marius Bakke
Hello Anthony,

Anthony Quizon  writes:

> Hello,
> I'm trying to install gold linker using guix.
> I noticed there is a package in `(gnu packages base)` called
> "binutils-gold". However, it doesn't come up on the search via `guix search
> binutils-gold` and I'm unable to install it.
>
> Why is this?

This is because the regular binutils package was recently 'hidden' due
to an upstream bug, and 'binutils-gold' accidentally inherited the
'hidden?' property.

> How can I install gold linker using guix?

I fixed the inheritance in 4a13050b877f9058414f4b7633e423726e9bbb32, so
you should be able to install it (again) after a 'guix pull'.

Thanks for reporting the issue!  :-)


signature.asc
Description: PGP signature


Re: Repair / reinstall Guix package manager (foreign distro)

2020-06-28 Thread Marius Bakke
Zelphir Kaltstahl  writes:

> Hi Guix Users!
>
> I would like to repair or reinstall my Guix package manager
> installation, because it seems broken and nothing I tried fixes the problem.
>
> The problem:
>
> 
> xiaolong@xlx200:~/Downloads$ guix pull
> Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'...
> guix pull: error: symlink: File exists: 
> "/var/guix/profiles/per-user/xiaolong/current-guix"
> 
>
> It started appearing, when I once ran `guix pull` and `guix package -u`
> as `root` user, to update my locales in the root profile.

This can happen if you become root by any other method than 'sudo -i' or
'su -', because the root shell will otherwise inherit variables such as
$HOME, leading to this problem.

[...]

> 
> xiaolong@xlx200:~/Downloads$ guix pull
> Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'...
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> guix pull: error: Git error: failed open - 
> '/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD'
>  is locked: Permission denied
> 

You can fix this by either deleting the directory, or

   sudo chown -R xiaolong:xiaolong 
/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq

Similarly, chowning or deleting /var/guix-profiles/per-user/xiaolong is
the only way to fix the permissions issue on the profile.

[...]

> So I a basically giving up now and want to reinstall. I downloaded the
> install script `guix-install.sh` from the website and ran it:
>
> 
> xiaolong@xlx200:~/Downloads$ sudo bash guix-install.sh 
>
> (... big GUIX logo here ...)
>
> This script installs GNU Guix on your system
>
> https://www.gnu.org/software/guix/
> Press return to continue...
> [1593338927.330]: Starting installation (So 28. Jun 12:08:47 CEST 2020)
> [1593338927.333]: [ PASS ] verification of required commands completed
> [1593338927.364]: [ INFO ] init system is: systemd
> [1593338927.368]: [ INFO ] system is x86_64-linux
> [1593338928.075]: [ PASS ] Release for your system: 
> guix-binary-1.1.0.x86_64-linux
> [1593338928.077]: [ INFO ] Downloading Guix release archive
> guix-binary-1.1.0.x86_64 100%[==>]  70,14M  
> 4,27MB/sin 21s 
> guix-binary-1.1.0.x86_64 100%[==>] 833  
> --.-KB/sin 0s  
> [1593338949.457]: [ PASS ] download completed.
> [1593338950.341]: [ PASS ] Signature is valid.
> [1593338959.807]: [ PASS ] unpacked archive
> [1593338959.808]: [ FAIL ] A previous Guix installation was found.  Refusing 
> to overwrite.
> 
>
> "OK OK! I'll uninstall the previous one!"
>
> But how do I do it exactly? Or is there a flag or anything I can give to
> make it overwrite the previous installation?

Reinstalling still won't fix the permissions on your
~/.cache/guix/checkouts.  But to eradicate Guix and let the script do
its thing you should 'sudo rm -rf /var/guix /gnu'.

Hope this helps!


signature.asc
Description: PGP signature


Re: Local definitions and Virtual machine image

2020-07-25 Thread Marius Bakke
Emmanuel Medernach  writes:

>> I pulled  the same commit  on the  VM that the  one obtained
>> with  "guix  describe"  but  it still  recompiles  my  local
>> packages with "guix build". Did I forget something ?
>>
>
>
> I mean it does not download from my substitute server.

Did you authorize the substitute server signing key?

Perhaps the substitute server lacks some of the package outputs?

> I have another question: How to query the output paths given an installed
> package name ? guix build does it but I would like to avoid recompiling.

I don't know an easy way short of 'guix build -d the-package' and
inspect the derivation :-/


signature.asc
Description: PGP signature


Re: Ganeti with Guix tutorial from the Guix blog post

2020-09-26 Thread Marius Bakke
david larsson  writes:

> Hi!
>
> First of all - thanks for a great post about using Ganeti with Guix!

Thanks.  :-)

> I need some help with the networking setup part since I am stuck at the 
> end stages of the blog post tutorial - I am unable to run "gnt-instance 
> console ". So, I have things setup enough to create these VM's 
> successfully but I can't ping the hosts or connect to them using 
> gnt-instance console . Any ideas what the issue might be?

If the serial console is not responding (i.e. pressing RET does not make
a login screen appear), it is likely the instance has failed to boot.  A
typical cause is lack of bootloader.  In that case the instance will use
100% of a core reading the same virtual disk sector over and over...

You can configure a SPICE server with "gnt-instance modify -H
kvm:spice_bind=0.0.0.0" and connect remotely with 'spicy' (from
spice-gtk) to the host IP and the allocated instance port (gnt-instance
info foo | grep port).  Then you should be able to see what QEMU is up
to.

Clues may also be found in
/var/log/ganeti/os/add_$provider_$instance_$date.

> One thing I noticed was that the arp -n output are giving me 
> "(incomplete)" listings in the "HWaddress" column (arp from the 
> net-tools package), which IMU means that ethernet/layer2 frames are not 
> passed around correctly - usually meaning that bridges aren't setup 
> properly, right? This applies to the 192.168.1.200 lan address and the 
> ip address assigned to the VM hosts which I manually set to 
> 192.168.1.210 instead of ip=pool as in the example. My local network is 
> setup to use 192.168.1.0/24 addresses.

It could be useful to see the relevant system configuration, as well as
output of 'ovs-vsctl show' and 'gnt-instance info the-instance' (and
maybe also 'gnt-network info').

> I think it would be great if blog posts like these had comments enabled, 
> so that people trying to follow a tutorial would be able to discuss and 
> help eachother directly on the blog post page.

That is an interesting suggestion.  The blog is entirely static, but
perhaps we could link in a mailing list or something (no joke!).  :-)


signature.asc
Description: PGP signature


Re: Ganeti with Guix tutorial from the Guix blog post

2020-10-10 Thread Marius Bakke
Hello!

I worked with David off-list on this, and it eventually turned out that
the problems were hardware-related.

The cluster consisted of two Librebooted x200 machines.  One that
happened to support KVM, and one that did not.  The Libreboot wiki entry
on the x200 states that there is only one known microcode revision that
works with KVM:

  https://libreboot.org/docs/hardware/x200.html#compatibility_noblobs

Interestingly, the failing machine did have the mentioned 1067a
microcode version, whereas the other (functioning) node had 10676.

The problem with 1067a manifests with QEMU starting, but not loading the
guest OS.  Live migrating a running VM to the 1067a node *did* work,
adding to the confusion.  Just "offline migration" and starting new VMs
did not.

I'm happy to report that the cluster works fine after replacing the
dysfunctional node.  :-)


signature.asc
Description: PGP signature


Re: ublock extension for ungoogled-chromium

2022-02-03 Thread Marius Bakke
Hi Reza,

Reza Housseini  skriver:

> Hello Guixers
>
> I installed ungoogled-chromium and ublock-origin-chromium and just assumed
> it will work. But it seems that the extension does not get registered in
> chromium. Does anybody know what I have to do to achieve this?

It should definitively "just work", however there are caveats:

* It relies on the $CHROMIUM_EXTENSION_DIRECTORY variable, which is
  automatically configured by Guix when you install both packages; but
  you may need to log out and in again for it to take effect.
* If you have a previous ~/.config/chromium directory from the (googled)
  Chromium laying around, there may be strange interactions.

You can avoid both caveats by running:

  guix shell {ungoogled,ublock-origin}-chromium -- \
chromium --user-data-dir=/tmp/chromium-profile

Does the extension show up then?

> Marius Bakke mentioned in his patch [1] that updating does not work, is
> this the reason why?

Updating has since been fixed.  :-)

Thanks,
Marius


signature.asc
Description: PGP signature


<    1   2