summaryrefslogtreecommitdiff
path: root/system-configuration.scm
blob: 87c5df4a24291ee6c2ea98ff9b83e96409ae70a3 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
(add-to-load-path "./services")

(define-module (aisaka-system-configuration)
  #:use-module (gnu)
  #:use-module (gnu packages cups)
  #:use-module (gnu packages finance)
  #:use-module (gnu services cups)
  #:use-module (gnu services configuration)
  #:use-module (gnu services desktop)
  #:use-module (gnu services networking)
  #:use-module (gnu services ssh)
  #:use-module (gnu services xorg)
  #:use-module (ssh-server))

(define keyboard-layout
  (keyboard-layout "pl"))

(operating-system
 (locale "pl_PL.utf8")
 (timezone "Europe/Warsaw")
 (keyboard-layout keyboard-layout)
 (host-name "aisaka")
 (users (cons* (user-account (name "marek")
                             (comment "Marek Paśnikowski")
                             (group "users")
                             (home-directory "/home/marek")
                             (supplementary-groups '("audio"
                                                     "netdev"
                                                     "tor"
                                                     "video"
                                                     "wheel")))
               %base-user-accounts))
 (packages (append (map (compose list
                                 specification->package+output)
                        '("netcat-openbsd"
                          "nss-certs"
                          "ntfs-3g"
                          "trezord"
                          "trezord-udev-rules"))
                   %base-packages))
 (services (cons* ssh-service
                  (service cups-service-type
                           (cups-configuration (extensions `(,cups-filters
                                                             ,epson-inkjet-printer-escpr))
                                               (web-interface? #t)))
                  (service gnome-desktop-service-type)
                  (service tor-service-type
                           (tor-configuration (config-file (local-file "torrc"))
                                              (control-socket? #t)))
                  (udev-rules-service 'trezord trezord-udev-rules)
                  (modify-services %desktop-services
                                   (elogind-service-type
                                    configuration =>
                                    (elogind-configuration
                                     (inherit configuration)
                                     (handle-lid-switch 'ignore))))))
 (bootloader (bootloader-configuration (bootloader grub-bootloader)
                                       (targets '("/dev/sda"))
                                       (keyboard-layout keyboard-layout)))
 (swap-devices
  `(,(swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d")))))
 (mapped-devices
  `(,(mapped-device
 (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc"))
 (target "aisaka-root")
 (type luks-device-mapping))))
 (file-systems
  (append %base-file-systems
          `(,(file-system
 (mount-point "/")
 (device "/dev/mapper/aisaka-root")
 (type "btrfs")
 (dependencies mapped-devices))
            ,(file-system
 (mount-point "/boot")
 (device (uuid "4f77b5fc-56ad-43ae-b6ec-e5adc8c48587"))
 (type "ext4"))))))