¶News
The “Hands-On Guile Scheme for Beginners” course is now on-demand!
If you’d like to learn Scheme, functional programming, and Guile at your own pace, this might be for you!
More information can be found on the course details page:
https://systemcrafters.net/courses/hands-on-guile-scheme-beginners/
The Autumn Lisp Game Jam has been scheduled for October 25, 2024!
Read glenneth’s post on his Scheme journey:
¶Crafting a Minimal Sway Environment - But Why?
¶Goals
- Single-file starter configuration with guix system + home
- Configure Sway minimally with some useful applications for a simple desktop environment
- Use PipeWire for audio
- This should not be a complete desktop configuration - it’s meant to get someone productive enough to continue configuring their system
¶The Configuration
This is untested in a real system install, but it should be a reasonable starting point!
(use-modules (gnu) (gnu system nss) (gnu home) (gnu home services) (gnu home services pm) (gnu home services gnupg) (gnu home services mcron) (gnu home services shells) (gnu home services desktop) (nongnu packages linux)) (use-service-modules desktop guix) (use-package-modules bootloaders certs gnuzilla emacs emacs-xyz version-control wm compression curl fonts freedesktop gimp glib gnome gnome-xyz gstreamer kde-frameworks linux music package-management password-utils pdf pulseaudio shellutils ssh syncthing video web-browsers wget wm xdisorg xorg emacs) (define user-name "daviwil") (define sway-config (map (lambda (str) (string-append str "\n")) (list "set $mod Mod4" "include \"~/.config/sway/before-config\"" "bindsym $mod+space exec fuzzel -w 50 -x 8 -y 8 -r 3 -b 232635ff -t A6Accdff -s A6Accdff -S 232635ff -C c792eacc -m c792eacc -f \"JetBrains Mono:weight=light:size=10\" --no-fuzzy" "exec mako --border-radius=2 --font=\"JetBrains Mono 8\" --max-visible=5 --outer-margin=5 --margin=3 --background=\"#1c1f26\" --border-color=\"#89AAEB\" --border-size=1 --default-timeout=7000" "exec nm-applet --indicator" "exec emacs" "include \"~/.config/sway/after-config\""))) ;; Basic System Config ;; Home Config -- Configure Sway (define home-config (home-environment (packages (list sway swaybg swayidle swaylock fuzzel mako grimshot network-manager-applet ;; Emacs emacs-pgtk ;; Browser icecat ;; Compatibility for older Xorg applications xorg-server-xwayland ;; Flatpak and XDG utilities xdg-utils ;; For xdg-open, etc xdg-dbus-proxy shared-mime-info (list glib "bin") ;; Appearance gnome-themes-extra adwaita-icon-theme ;; Fonts font-jetbrains-mono font-liberation ;; Audio utils alsa-utils pavucontrol ;; General utilities git curl wget openssh zip unzip trash-cli)) (services (list (service home-xdg-configuration-files-service-type `(("sway/config" ,(apply mixed-text-file (cons "sway-config" sway-config))))))))) (define os-config (operating-system (host-name "crafter") (timezone "Europe/Athens") (locale "en_US.utf8") (kernel linux) (firmware (list linux-firmware)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets '("/boot/efi")))) (mapped-devices (list (mapped-device (source (uuid "cee84d1e-3918-4148-9aac-ecd4dd1fd04f")) (target "system-root") (type luks-device-mapping)))) (file-systems (append (list (file-system (device (file-system-label "system-root")) (mount-point "/") (type "ext4") (dependencies mapped-devices)) (file-system (device (uuid "8A4F-547F" 'fat)) (mount-point "/boot/efi") (type "vfat"))) %base-file-systems)) (users (cons (user-account (name user-name) (comment "David Wilson") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (services (append (list (service guix-home-service-type `((,user-name ,home-config)))) %desktop-services)) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss))) os-config