(use-modules (gnu)
	     (gnu system)
	     (gnu system nss)
	     (srfi srfi-1))
(use-service-modules desktop ssh audio xorg networking sddm)
(use-package-modules bootloaders certs rsync shells ssh suckless wm)

(operating-system
  (host-name "kazuki")
  (timezone "America/Chicago")
  (locale "en_US.utf8")

  ;; Use the UEFI variant of GRUB with the EFI System
  ;; Partition mounted on /boot/efi
  (bootloader (bootloader-configuration
    (bootloader grub-efi-bootloader)
    (target "/boot/efi")))

  ;; Assume the target root file system is labelled "root"
  ;; and the EFI System Partition has UUID 
  (file-systems (cons*
    (file-system
      (device (file-system-label "root"))
      (mount-point "/")
      (type "ext4"))
    (file-system
      (device (file-system-label "home"))
      (mount-point "/home")
      (type "ext4"))
    (file-system
      (device (uuid "027B-4C9A" 'fat))
      (mount-point "/boot/efi")
      (type "vfat"))
  %base-file-systems))

  (swap-devices
    (list "/mnt/swapfile"))
  (users (cons (user-account
    (name "brad")
      (comment "owner")
      (group "users")
      (shell (file-append zsh "/bin/zsh"))
      (supplementary-groups
       '("wheel"
	"netdev"
	"audio"
	"video"
        "tor"))
      (home-directory "/home/brad"))
  %base-user-accounts))
  ;(groups
  ;  (list (user-group
	;     (system? #t)
	;     (name "adbusers"))))

  ;; This is where we specify system-wide packages.
  (packages (append (map specification->package
    '(
      "gnutls"
      "gvfs"
      "intel-vaapi-driver"
      "neovim"
      "nss-certs"
      "openssh"
      "sway"
      "swaybg"
      "tmux"
      ))
  %base-packages))

  ;; Use the "desktop" services, which
  ;; include the X11 log-in service, networking with Wicd,
  ;; and more.
  (services (append (list
                     (extra-special-file "/usr/bin/env"
                                         (file-append coreutils "/bin/env"))
                     (sddm-service (sddm-configuration
                                    (display-server "wayland")))
                     (service openssh-service-type)
                     (service tor-service-type
                              (tor-configuration
                               (socks-socket-type 'unix)))
		     (elogind-service #:config (elogind-configuration (handle-lid-switch ignore)))
		    )
		    (remove (lambda (service)
			      (eq? (service-kind service) gdm-service-type))
                    %desktop-services)))

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss)
  (setuid-programs (cons* #~(string-append #$swaylock "/bin/swaylock")
			  %setuid-programs))
  )
picture of cute waifu