summaryrefslogtreecommitdiff
path: root/system-configuration.scm
blob: 527d9218d5c7f7c9baa73091e456880081da4a56 (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
(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 (cons*
            (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 (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
  (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"))))))