adding my mirror
[guix-configs.git] / machines / bare-bones.scm
blobe716f7b22ac48c4793b7fa922a691839f3fc626b
1 ;; This is an operating system configuration template
2 ;; for a "bare bones" setup, with no X11 display server.
4 (use-modules (gnu)
5              (guix store) ;for %default-substitue-urls
6              (gnu services base)) ;for %default-authorized-guix-keys
7 (use-service-modules networking ssh)
8 (use-package-modules admin)
10 (operating-system
11   (host-name "media01")
12   (timezone "EST5EDT")
13   (locale "en_US.UTF-8")
15   ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
16   ;; the label of the target root file system.
17   (bootloader (grub-configuration (device "/dev/sda")))
18   (file-systems (cons (file-system
19                         (device "root")
20                         (title 'label)
21                         (mount-point "/")
22                         (type "ext4"))
23                       %base-file-systems))
25   ;; This is where user accounts are specified.  The "root"
26   ;; account is implicit, and is initially created with the
27   ;; empty password.
28   (users (cons (user-account
29                 (name "james")
30                 (comment "James Richardson")
31                 (group "users")
33                 ;; Adding the account to the "wheel" group
34                 ;; makes it a sudoer.  Adding it to "audio"
35                 ;; and "video" allows the user to play sound
36                 ;; and access the webcam.
37                 (supplementary-groups '("wheel"
38                                         "audio" "video"))
39                 (home-directory "/home/james"))
40                %base-user-accounts))
42   ;; Globally-installed packages.
43   (packages (cons tcpdump %base-packages))
45   ;; Add services to the baseline: a DHCP client and
46   ;; an SSH server.
47   (services (cons*
48              (dhcp-client-service)
49              (lsh-service #:port-number 2222)
50              ;; add thor server to the list of substite-urls.
51              (modify-services %base-services
52                               (guix-service-type config =>
53                                                  (guix-configuration
54                                                   (inherit config)
55                                                   (substitute-urls
56                                                    (cons* "https://thor.lab01.jamestechnotes.com";
57                                                           %default-substitute-urls))
58                                                   (authorized-keys
59                                                    (cons* (plain-file "thor.lab01.jamestechnotes.com"
60                                                                       (string-append "(public-key 
61                                                                         (ecc 
62                                                                          (curve Ed25519)
63                                                                          (q #3BDE6B5500DD300D267F8187BA8B30BDCF326BD882491F8A31DC7A2B88D9475B#)))"))
64                                                           %default-authorized-guix-keys))))))))