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