I LOVE guix and especially its inclusive community! I think, I have seen a lot of free software communities over the years, but these guys are one of the best! One, where I can feel $HOME ;)


For people who have trouble with their hardware, I made a non-libre installer iso image here (2.4GB).
It has been build on 28.5.20 from this install.scm, so it has all linux-firmware blobs, rtl8821ce wifi and a linux-non-libre kernel.


I made a small presentation about a guix git and emacs workflow.


Tip: to build an linux-5.6 kernel, you can do:

(define linux-libre-5.6
  ((@@ (gnu packages linux) make-linux-libre*)
   (@@ (gnu packages linux) linux-libre-5.6-version)
   (@@ (gnu packages linux) linux-libre-5.6-source)
   '("x86_64-linux")))

(define-public my-linux
  (package
   (inherit linux-libre-5.6)
   (name "my-linux")
   (native-inputs
    `(("kconfig" ,(local-file "kernel-2.6.config"))
      ,@(alist-delete "kconfig"
                      (package-native-inputs linux))))))

I made a channel for guix:
to add it as a guix channel, add this to ~/.config/guix/channels.scm

(cons
 (channel
  (name 'mroh)
  (url "https://www.rohleder.de/git/guix.git"))
 %default-channels)

with a simple manifest-remote.scm file like this:

(use-modules
 (mroh guix packages))

(specifications->manifest remote-packages)

I install/deploy a complete (emacs centric) development enviroment for remote work.

guix package -m manifest-remote.scm

to start ipfs, this is a simple/stupid shepherd init file:

;; shepherd init file

(register-services
 (make <service>
   #:provides '(ipfs)
   #:requires '()
   #:start (make-system-constructor "ipfs daemon &")
   #:stop (make-system-destructor "pkill ipfs")))

(action 'shepherd 'daemonize)

(for-each start '())