diff --git a/config.scm b/config.scm index 0a1eeab..7f1560e 100644 --- a/config.scm +++ b/config.scm @@ -1,74 +1,76 @@ -;; Guixsd System Wide Configuration +(use-modules + (gnu) + (gnu packages shells) + (guix profiles) + (guix packages) + (srfi srfi-1)) +(use-service-modules desktop docker networking ssh xorg) -(use-modules (gnu) - (gnu system nss)) -(use-service-modules desktop docker) -(use-package-modules admin bootloaders certs curl databases docker dns - emacs emacs-xyz engineering file fonts fontutils ghostscript gnuzilla - guile graphviz golang image image-viewers - networking mpd package-management pdf pulseaudio - python-web ratpoison ruby rust scheme shells shellutils - ssh suckless terminals tmux version-control virtualization wm xorg) +(define (manifest->packages manifest) + "Return the list of packages in MANIFEST." + (filter-map (lambda (entry) + (let ((item (manifest-entry-item entry))) + (if (package? item) item #f))) + (manifest-entries manifest))) (operating-system - (host-name "antelope") + (locale "en_CA.utf8") (timezone "America/Toronto") - (locale "en_US.utf8") + (keyboard-layout + (keyboard-layout "us" "altgr-intl")) + (bootloader + (bootloader-configuration + (bootloader grub-efi-bootloader) + (target "/boot/efi") + (keyboard-layout keyboard-layout))) + (mapped-devices + (list (mapped-device + (source + (uuid "a3557b80-26cb-4fa9-8861-3dba1f6b1aa2")) + (target "cryptroot") + (type luks-device-mapping)))) + (file-systems + (cons* (file-system + (mount-point "/boot/efi") + (device (uuid "76BA-85FB" 'fat32)) + (type "vfat")) + (file-system + (mount-point "/") + (device "/dev/mapper/cryptroot") + (type "ext4") + (dependencies mapped-devices)) + %base-file-systems)) + (host-name "guixsd") + (users (cons* (user-account + (name "collin") + (comment "Collin Doering") + (group "users") + (shell #~(string-append #$zsh "/bin/zsh")) + (home-directory "/home/collin") + (supplementary-groups + '("wheel" "docker" "netdev" "audio" "video"))) + %base-user-accounts)) - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (target "/dev/sda"))) + (packages + (append + (manifest->packages + (specifications->manifest + '("docker" + "docker-cli" + "docker-compose" + "ratpoison" + "nss-certs" + "xterm" + "recutils" + "emacs" + "emacs-guix" + "emacs-exwm" + "graphviz" + "tmux" + "xterm" + "xrandr" + "xsetroot"))) + %base-packages)) - (file-systems (cons* (file-system - (device (uuid "a0a2ee18-9a8d-4bd5-995f-361aaa4d220e" 'ext4)) - (mount-point "/") - (type "ext4")) - %base-file-systems)) - - (users (cons (user-account - (name "collin") - (comment "Master user") - (group "users") - (supplementary-groups '("wheel" "docker" "netdev" - "audio" "video")) - (home-directory "/home/collin") - (shell #~(string-append #$zsh "/bin/zsh"))) - %base-user-accounts)) - - (packages (cons* ratpoison dmenu - nss-certs - recutils - file htop - emacs emacs-guix emacs-magit emacs-geiser - zsh direnv tmux kitty - docker docker-cli docker-compose - kicad kicad-symbols kicad-library - ;; Broken: - ;; skopeo bind:utils - ;; Missing: - ;; exa bat terraform fzf - ;; ghdl gtkwave - feh imlib2 - gs-fonts font-dejavu font-gnu-freefont-ttf - mpd ncmpcpp - aircrack-ng - pulseaudio pulsemixer - icecat fontconfig - curl openssh - ansible awscli - rust go ruby - racket guile-readline - graphviz - zathura zathura-pdf-poppler zathura-ps zathura-djvu - stow git - xrdb xrandr - xmonad xmobar - %base-packages)) - - ;; Use the "desktop" services, which include the X11 - ;; log-in service, networking with NetworkManager, and more. (services (cons* (service docker-service-type) - %desktop-services)) - - ;; Allow resolution of '.local' host names with mDNS. - (name-service-switch %mdns-host-lookup-nss)) + %desktop-services)))