summaryrefslogtreecommitdiff
path: root/system-configuration.scm
blob: f1bec80dead42da360ac6ff802c6cd93c6c58b78 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
(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 version-control)
  #:use-module (gnu services xorg))

(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"))
   %base-packages))
 (services
  (append
   (list
    (service openssh-service-type)
    (service
     (service-type
      (name 'trezor-system-packages)
      (extensions
       (list
        (service-extension profile-service-type
                           (lambda (_)
                             (map specification->package
                                  (list
                                   "trezord"
                                   "trezord-udev-rules"))))))
      (description "TrezorD packages needed by the system.")
      (default-value #f)))
    (service cups-service-type
             (cups-configuration (extensions `(,cups-filters
                                               ,epson-inkjet-printer-escpr))
                                 (web-interface? #t)))
    (service git-daemon-service-type)
    (service gnome-desktop-service-type)
    (service tor-service-type (tor-configuration
                               (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
  (list
   (swap-space (target (uuid "73bed3f9-be07-40ad-a228-577cd24f2e1d")))))
 (mapped-devices
  (list
   (mapped-device
    (source (uuid "887ac37f-2919-41a0-a62a-e1ff5ea2d6cc"))
    (target "aisaka-root")
    (type luks-device-mapping))))
 (file-systems
  (append %base-file-systems
          (list
           (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"))))))