cups
[guix-configs.git] / machines / marvin.scm
blob1c0680c2cfe428693c79e941efca620eeca8c3c7
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              (guix store) (gnu services base)
10              (james linux-nonfree)) ; for blobs
11 (use-service-modules ssh desktop cups admin mcron)
12 (use-package-modules certs
13                      fonts
14                      lisp ;; for stumpwm
15                      cups ;; for hplip
16                      xorg
17                      gnome ) ; for Sheila
19 (define garbage-collector-job
20   #~(job "5 0 * * *"
21          "guix gc -F 1G"))
23 (operating-system
24   (host-name "marvin")
25   (timezone "US/Eastern")
26   (locale "en_US.UTF-8")
28   ;; Assuming /dev/sdX is the target hard disk, and "my-root"
29   ;; is the label of the target root file system.
30   (bootloader (grub-configuration (device "/dev/sda")))
32   (file-systems (cons (file-system
33                         (device "root")
34                         (title 'label)
35                         (mount-point "/")
36                         (type "ext4"))
37                       %base-file-systems))
38   (swap-devices '("/dev/sda3"))
39   (users (cons* (user-account
40                  (name "james")
41                  (comment "James Richardson")
42                  (group "users")
43                  (supplementary-groups '("wheel" "netdev"
44                                          "audio" "video" "kvm"))
45                  (home-directory "/home/james"))
46                 (user-account
47                  (name "sheila")
48                  (comment "Sheila Richardson")
49                  (group "users")
50                  (supplementary-groups '("netdev" "audio" "video"))
51                  (home-directory "/home/sheila"))
52                 %base-user-accounts))
53   (kernel linux-nonfree)
54   (firmware (cons* iwlwifi-firmware-non-free %base-firmware))
55   ;; Add a bunch of window managers; we can choose one at
56   ;; the log-in screen with F1.
57   (packages (cons* (list sbcl-stumpwm "out") ;stumpwm 
58                    nss-certs               ;for HTTPS access
59                    font-adobe100dpi
60                    font-adobe75dpi
61                    font-alias
62                    font-dec-misc
63                    font-misc-misc
64                    font-terminus
65                    font-util
66                    ;;hplip
67                    %base-packages))
70   ;; Use the "desktop" services, which include the X11
71   ;; log-in service, networking with Wicd, and more.
72   (services (cons* (service openssh-service-type (openssh-configuration))
73                    (service cups-service-type
74                             (cups-configuration
75                              (web-interface? #t)
76                              (extensions
77                                (list cups-filters hplip))))
78                    ;; (service syslog-service-type (syslog-configuration 
79                    ;;                            (config-file (plain-file "syslog.conf" "
80                    ;;                                                      *.debug /var/log/debug
81                    ;;                                                      "))))
82                    (mcron-service (list garbage-collector-job))
83                                         ;(service rottlog-service-type (roittlog-configuration))
84                    ;;(gnome-desktop-service)
85                    (xfce-desktop-service)
86                    (modify-services %desktop-services
87                                     (guix-service-type config =>
88                                                        (guix-configuration
89                                                         (inherit config)
90                                                         (substitute-urls (cons* "https://thor.lab01.jamestechnotes.com" %default-substitute-urls))
91                                                         (authorize-key? #t)
92                                                         (authorized-keys %default-authorized-guix-keys))))))
93                    ;; (remove (lambda (service)
94                    ;;        (or (eq? (service-kind service)
95                    ;;                 syslog-service-type)))
96                    ;;      %desktop-services)))
98   ;; Allow resolution of '.local' host names with mDNS.
99   (name-service-switch %mdns-host-lookup-nss))