summaryrefslogtreecommitdiff
path: root/systems/ayase/system-configuration.scm
blob: f0984962186b44e0f83cc3f49677e61e3e84bddd (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
(define-module (systems ayase system-configuration)
  #:use-module (gnu)
  #:use-module (gnu services cups)
  #:use-module (gnu services desktop)
  #:use-module (gnu services networking)
  #:use-module (gnu services ssh)
  #:use-module (gnu services xorg))

;; DATA

;; ABSTRACTION 2

(define efi-partition
  (file-system (mount-point "/boot/efi")
               (device (uuid "B4FB-CBD9" 'fat32))
               (type "vfat")))

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

(define marek-account
  (user-account (name "marek")
                (comment "Marek Paśnikowski")
                (group "users")
                (home-directory "/home/marek")
                (supplementary-groups (list "wheel"
                                            "netdev"
                                            "audio"
                                            "video"))))

(define root-partition
  (file-system (mount-point "/")
               (device (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c" 'ext4))
               (type "ext4")))

(define xorg-configuration
  '(xorg-configuration (keyboard-layout keyboard)))

;; ABSTRACTION 1

(define ayase-file-systems
  (list root-partition
        efi-partition))

(define ayase-user-accounts
  (list marek-account))

(define bootloader
  (bootloader-configuration (bootloader grub-efi-bootloader)
                            (targets (list "/boot/efi"))
                            (keyboard-layout keyboard)))

(define main-swap
  (swap-space (target (uuid "cc6bbf7c-e42a-4ac3-a9ae-3b14d3b4b841"))))

(define system-packages
  (list (specification->package "emacs")
        (specification->package "emacs-exwm")
        (specification->package "emacs-desktop-environment")))

(define system-services
  (list (service openssh-service-type)
        (service tor-service-type)
        (service cups-service-type)
        (set-xorg-configuration xorg-configuration)))

;; PUBLIC

(operating-system (bootloader bootloader)
                  (keyboard-layout keyboard)
                  (host-name "ayase")
                  (file-systems (append %base-file-systems
                                        ;; %distribution-file-systems
                                        ayase-file-systems))
                  (swap-devices (list main-swap))
                  (users (append %base-user-accounts
                                 ayase-user-accounts))
                  (packages (append %base-packages
                                    ;; %distribution-packages
                                    system-packages))
                  (timezone "Europe/Warsaw")
                  (locale "pl_PL.utf8")
                  (services (append %desktop-services
                                    ;; %distribution-services
                                    system-services)))