cups
[guix-configs.git] / machines / tweety.scm
blobc767e6e666d52f312ffeed4880bf80e846c44993
1 ;; This is an operating system configuration template
2 ;; for a "bare bones" setup, with no X11 display server.
4 (use-modules (gnu)
5              (gnu system nss)
6              (guix store) ;for %default-substitue-urls
7              (gnu services base)) ;for %default-authorized-guix-keys
8 (use-service-modules ssh desktop)
9 (use-package-modules admin
10                      bootloaders
11                      certs
12                      lisp ;; for stumpwm
13                      gnome)
14 (operating-system
15   (host-name "tweety")
16   (timezone "US/Eastern")
17   (locale "en_US.UTF-8")
19   ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
20   ;; the label of the target root file system.
21   (bootloader (grub-configuration (grub grub-efi)
22                                   (device "/dev/sda")))
23   (file-systems (cons* (file-system
24                         (device "root")
25                         (title 'label)
26                         (mount-point "/")
27                         (type "ext4"))
28                        (file-system
29                         (device "/dev/sda1")
30                         (mount-point "/boot/efi")
31                         (type "vfat"))
32                       %base-file-systems))
33   (swap-devices '("/dev/sda3"))
34   ;; This is where user accounts are specified.  The "root"
35   ;; account is implicit, and is initially created with the
36   ;; empty password.
37   (users (cons (user-account
38                 (name "james")
39                 (comment "James Richardson")
40                 (group "users")
42                 ;; Adding the account to the "wheel" group
43                 ;; makes it a sudoer.  Adding it to "audio"
44                 ;; and "video" allows the user to play sound
45                 ;; and access the webcam.
46                 (supplementary-groups '("wheel"
47                                         "audio" "video"
48                                         "netdev" "kvm"))
49                 (home-directory "/home/james"))
50                %base-user-accounts))
52   ;; Globally-installed packages.
53   (packages (cons* nss-certs
54                    le-certs
55                    gvfs
56                    %base-packages))
58   ;; Add services to the baseline: a DHCP client and
59   ;; an SSH server.
60   (services (cons*
61              (gnome-desktop-service)
62              (xfce-desktop-service)
63              (service openssh-service-type (openssh-configuration))
64              ;; add thor server to the list of substite-urls.
65              (modify-services %desktop-services
66                               (guix-service-type config =>
67                                                  (guix-configuration
68                                                   (inherit config)
69                                                   (substitute-urls
70                                                    (cons* "https://thor.jamestechnotes.com";
71                                                           %default-substitute-urls))
72                                                   (authorized-keys
73                                                    (cons* (plain-file "thor.lab01.jamestechnotes.com"
74                                                                       (string-append "(public-key 
75                                                                         (ecc 
76                                                                          (curve Ed25519)
77                                                                          (q #3BDE6B5500DD300D267F8187BA8B30BDCF326BD882491F8A31DC7A2B88D9475B#)))"))
78                                                           %default-authorized-guix-keys))))))))