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