summaryrefslogtreecommitdiff
path: root/system-configuration.scm
blob: 525267c46d170cfa830b2568be2f284979449b43 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
(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 nix)
  #: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)
    (udev-rules-service 'trezord trezord-udev-rules)
    (service
     guix-service-type
     (guix-configuration
      (extra-options
       (list
        "--gc-keep-derivations=yes"
        "--gc-keep-outputs=yes"))))
    (service nix-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
       (list
        cups-filters
        epson-inkjet-printer-escpr))
      (web-interface? #t)))
    (service git-daemon-service-type
             (git-daemon-configuration
              (export-all? #t)))
    (service gnome-desktop-service-type)
    (service
     tor-service-type
     (tor-configuration
      (control-socket? #t))))
   (modify-services
    %desktop-services
    (elogind-service-type
     configuration =>
     (elogind-configuration
      (inherit configuration)
      (handle-lid-switch 'ignore)))
    (delete guix-service-type))))
 (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"))))))