Skip to content
guix
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
meiyo
.dir-locals.el
README.org

README.org

Guix Operating System Configuration

Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net> License: GPLv3+

  • Boot from UEFI
  • The root partition is encrypted with LUKS

Install System

This configuration contains linux-nonfree kernel.

Forgive me Stallman for I have sinned.

Partition Disk

cfdisk /dev/sda
/dev/sda1/boot/efiFAT63MB
/dev/sda2/Btrfs20GB
mkfs.fat /dev/sda1
cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 root
mkfs.btrfs -L root /dev/mapper/root
mount /dev/mapper/root /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

Create swap file on Btrfs

mkdir /mnt/var
truncate -s 0 /mnt/var/swapfile
chattr +C /mnt/var/swapfile
fallocate -l 8G /mnt/var/swapfile
chmod 600 /mnt/var/swapfile
mkswap /mnt/var/swapfile

Setup network

ip link set eth0 up
dhclient eth0
herd start ssh-daemon

Copy configuration file

cp -r guix-config /mnt/etc

Install a minimal Guix system

herd start cow-store /mnt
guix system init /mnt/etc/guix-config/meiyo/systems/minimal.scm /mnt

Reboot

Reboot and log in to the new minimal Guix system.

Update guix

guix pull

Reconfigure to a full Guix system

Reconfigure the minimal system to a full system.

export GUILE_LOAD_PATH=/etc/guix-config:$GUILE_LOAD_PATH
guix system reconfigure /etc/guix-config/systems/captain.scm

Install Packages

export GUILE_LOAD_PATH=/etc/guix-config:$GUILE_LOAD_PATH
guix package -m captain-packages.scm
You can’t perform that action at this time.