To my fellow purists:
Little bird (aka DHL) delivered a Librem 14 to my European doorstep about a week ago (after payment of a considerable import tax). Production-wise, it is one of the slicker laptops I owned (though, bear in mind my criteria are low – I’ve burned lots of years on junky netbooks). It is not my intention to give a full breakdown of its physical properties, though I have to note I am delighted by its minimalist and brandless design. Its ironic how proudly system76 and tuxedo brand their oem laptops, while Purism who actually designs the hardware from ground up keeps such a low profile.
I am afraid I can also not tell anything about PureOS. As soon as I switched the laptop on, I stuck an USB stick with GNU Guix boot image and started the installation procedure.
Guix is the main reason you are seeing this post. I just want to confirm that the installation procedure went splendidly well. This is a big thing, because Guix, aside of being a revolutionary distribution in terms of reproducibility, hackability and automation is also one of the few distros that puts emphasis on fully free computing. Most relevant hardware (including WiFi) got instantly recognised and has been working without issues during and after installation.
The post may be extended as I gain more feel for my new system.
Configuration
The system configuration is a Guile program. In my case, it looks like this
(use-modules (gnu)
(gnu packages xorg)
(gnu packages wm)
(gnu packages gnome)
(guix utils)
(guix build-system gnu)
(srfi srfi-1))
(use-service-modules desktop networking
ssh xorg
admin sddm)
(define extra-sys-pkgs '("nss-certs"
"glibc-locales"
"curl"
"wget"
"nano"
"git"
"alacritty"
"subversion"
"sway"
"swaylock"
"swayidle"
"swaybg"
"python"
"perl"
"autoconf"
"automake"
"autobuild"
"m4"
"htop"
"recutils"
"bash"
"wofi"
"cifs-utils"
"gvfs"
"bemenu"
"j4-dmenu-desktop"))
(operating-system
(locale "en_GB.utf8")
(timezone "Europe/BoringEUCountry")
(keyboard-layout (keyboard-layout "us"))
(host-name "machinename")
(users (cons* (user-account
(name "loginname")
(comment "Fake User")
(group "users")
(home-directory "/home/loginname")
(supplementary-groups
'("wheel" "netdev" "audio" "video")))
%base-user-accounts))
(packages
(append
(map specification->package extra-sys-pkgs)
%base-packages))
(services
(append
(list (service openssh-service-type)
(service sddm-service-type
(sddm-configuration
(theme "guix-simplyblack-sddm")
(xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout)))
(display-server "wayland"))))
(remove (lambda (srv) (eq? (service-kind srv)
gdm-service-type))
%desktop-services)))
(bootloader
(bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/nvme0n1")
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source
(uuid "xxxxxxxxx-xxxxx-...."))
(target "Generic")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/home")
(device "/dev/mapper/Generic")
(type "ext4")
(dependencies mapped-devices))
(file-system
(mount-point "/")
(device
(uuid "xxxxxxxxx-xxxx-xxxx-x...."
'ext4))
(type "ext4"))
%base-file-systems)))
The configuration above is almost bare-bones. The two “twists” are the replacement of the standard GDM as the login manager/Gnome as DE with SDDM/Sway on Wayland combo and /home
as a separate partition (if you can call that a twist). I was a long-time fluxbox user, but as that does not seem to change much these days, I decided I need to find myself another window manager. The choice for now is Sway … and it looks like I’ll be sticking with it … as long as I figure out how to make clipboard working between different applications.