New paste Repaste Download
(define-module (config systems base)
  #:use-module (gnu)
  #:use-module (gnu packages)
  #:use-module (guix)
  #:use-module (guix channels)
  #:use-module (guix packages)
  #:export (system-base)
  #:export (+keyboard-layout))
(use-service-modules
networking
ssh
xorg)
;; Reference: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/system/profiles.scm#L102
(define (+keyboard-layout layout)
  (lambda (os)
    (operating-system
     (inherit os)
     (keyboard-layout layout)
     (services
      (cons
       (simple-service
        'xorg-configuration-keyboard-layout
        (xorg-configuration-service-type (operating-system-services os))
        (xorg-configuration
(keyboard-layout keyboard-layout)))
       (operating-system-user-services os)))
     (bootloader
      (bootloader-configuration
       (inherit (operating-system-bootloader os))
       (keyboard-layout layout))))))
(define system-base
  (operating-system
   (locale "en_US.utf8")
   (timezone "Etc/UTC")
   (host-name "guixsd")
   (users %base-user-accounts)
   ;; The bootloader and filesystem configuration shall be replaced,
   ;; depending on each machine's configuration
   (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (targets '("/boot/efi"))))
   (file-systems (cons (file-system
                        (mount-point "/")
                        (device "/dev/sda1")
                        (type "btrfs"))
                       %base-file-systems))
   (services
    (append (list
             (service openssh-service-type))
            %desktop-services))
   (packages
    (append
     (specifications->packages (list
"curl"
"git"
"ncurses"
         "rsync"))
     %base-packages)))
  (+keyboard-layout "us"))
Filename: None. Size: 2kb. View raw, , hex, or download this file.

This paste expires on 2025-07-10 01:09:14.375575. Pasted through web.