¶News
LibrePlanet 2024 was great!
Recordings of talks should be up in a week or two at this site:
Sign up for the Spring Lisp Game Jam, starting May 17th!
https://itch.io/jam/spring-lisp-game-jam-2024
I’ll be working on my own entry and streaming it on this channel!
Check out Dave Thompson’s Guile Hoot template for the jam:
¶New Guix Features?
Let’s test out some (relatively) new Guix features!
¶The Final Configuration
config.scm:
(use-modules (gnu)
(gnu home)
(gnu home services shells)
(gnu home services dotfiles)
(guix channels))
(use-system-modules keyboard vm)
(use-package-modules package-management wm)
(use-service-modules guix spice desktop xorg)
(define my-channels
(cons* (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
%default-channels))
(define my-home
(home-environment
(packages (list sway
swaylock
swayidle
swaybg
mako))
(services (list
(service home-dotfiles-service-type
(home-dotfiles-configuration
(source-directory "/home/daviwil/.dotfiles")
(directories '("./.files"))))
(service home-bash-service-type)))))
(define test-os
(operating-system
(host-name "crafter")
(timezone "Europe/Athens")
(locale "en_US.utf8")
(keyboard-layout (keyboard-layout "us" "altgr-intl" #:model "thinkpad"))
;; This will be replaced
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))
(keyboard-layout keyboard-layout)))
;; Guix doesn't like it when there isn't a file-systems
;; entry, so add one that is meant to be overridden
(file-systems (cons*
(file-system
(mount-point "/tmp")
(device "none")
(type "tmpfs")
(check? #f))
%base-file-systems))
(users (cons (user-account
(name "crafter")
(comment "System Crafter")
(password (crypt "crafter" "$6$abc"))
(group "users")
(home-directory "/home/crafter")
(supplementary-groups '("wheel"
"netdev"
"kvm"
"tty"
"input"
"audio"
"video")))
%base-user-accounts))
(packages (append (map specification->package
'("git"
"vim"
"emacs-no-x-toolkit"))
%base-packages))
(services (cons* (service spice-vdagent-service-type)
(service guix-home-service-type
`(("crafter" ,my-home)))
(modify-services %desktop-services
(delete gdm-service-type)
(guix-service-type
config => (guix-configuration
(inherit config)
(channels my-channels)
(guix (guix-for-channels my-channels)))))))))
;; Configure `test-os` to run in a QEMU VM
(virtualized-operating-system test-os)
run.sh:
#!/bin/sh set -e SCRIPT=$(guix system vm --persistent --expose=/home/daviwil config.scm) guix shell virt-viewer -- $SCRIPT -m 2048 -smp 2 \ -nic user,model=virtio-net-pci \ -display spice-app,gl=on \ -device virtio-vga-gl \ -spice gl=on,unix=on \ -audiodev spice,id=snd0 \ -chardev spicevmc,name=vdagent,id=vdagent
