crap
[guix-configs.git] / machines / marvin.scm
blob12aac0d61a3c1b8371d351274e6cbb15a978324f
1 ;; This is an operating system configuration template
2 ;; for a "desktop" setup without full-blown desktop
3 ;; environments.
5 (use-modules (gnu) 
6              (gnu system nss)
7              (srfi srfi-1) ; for remove
8              (gnu services base) ; for syslog service type
9              (james linux-nonfree)) ; for blobs
10 (use-service-modules ssh desktop cups admin mcron)
11 (use-package-modules certs
12                      fonts
13                      lisp ;; for stumpwm
14                      cups
15                      xorg)
17 (define garbage-collector-job
18   #~(job "5 0 * * *"
19          "guix gc -F 1G"))
21 (operating-system
22   (host-name "marvin")
23   (timezone "US/Eastern")
24   (locale "en_US.UTF-8")
26   ;; Assuming /dev/sdX is the target hard disk, and "my-root"
27   ;; is the label of the target root file system.
28   (bootloader (grub-configuration (grub grub-efi)
29                                   (device "/dev/sda")))
31   (file-systems (cons (file-system
32                         (device "root")
33                         (title 'label)
34                         (mount-point "/")
35                         (type "ext4"))
36                       (file-system
37                         (device "/dev/sda1")
38                         (mount-point "/boot/efi")
39                         (type "vfat"))
40                       %base-file-systems))
41   (swap-devices '("/dev/sda3"))
42   (users (cons* (user-account
43                  (name "james")
44                  (comment "James Richardson")
45                  (group "users")
46                  (supplementary-groups '("wheel" "netdev"
47                                          "audio" "video" "kvm"))
48                  (home-directory "/home/james"))
49                 (user-account
50                  (name "sheila")
51                  (comment "Sheila Richardson")
52                  (group "users")
53                  (supplementary-groups '("netdev" "audio" "video"))
54                  (home-directory "/home/sheila"))
55                  %base-user-accounts))
56          (kernel linux-nonfree)
57          (firmware (cons* iwlwifi-firmware-non-free %base-firmware))
58          ;; Add a bunch of window managers; we can choose one at
59          ;; the log-in screen with F1.
60          (packages (cons* (list sbcl-stumpwm "out") ;stumpwm 
61                           nss-certs               ;for HTTPS access
62                           font-adobe100dpi
63                           font-adobe75dpi
64                           font-alias
65                           font-dec-misc
66                           font-misc-misc
67                           font-terminus
68                           font-util
69                           hplip
70                           %base-packages))
73          ;; Use the "desktop" services, which include the X11
74          ;; log-in service, networking with Wicd, and more.
75          (services (cons*
76                     (service openssh-service-type (openssh-configuration))
77                     (service cups-service-type
78                              (cups-configuration
79                               (web-interface? #t)))
80                     (mcron-service (list garbage-collector-job))
81                     (xfce-desktop-service)
82                     (modify-services %desktop-services
83                       (guix-service-type
84                        config =>
85                        (guix-configuration
86                         (inherit config)
87                         (substitute-urls (list "https://thor.jamestechnotes.com"))
88                         (extra-options '("--max-jobs=0")))))))
90          ;; Allow resolution of '.local' host names with mDNS.
91          (name-service-switch %mdns-host-lookup-nss))