summaryrefslogtreecommitdiff
path: root/systems/ayase/system-configuration.scm
blob: a02c21a461c7ff65a74501096a5413f1b5efa4ec (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
(define-module (systems ayase system-configuration)
  #:use-module (gnu)
  #:use-module (gnu services networking)
  #:use-module (gnu services ssh)
  #:use-module (gnu services xorg)
  #:use-module (nongnu packages linux)
  #:use-module (nongnu system linux-initrd)
  #:use-module (suweren commons sudoers)
  #:use-module (suweren services)
  #:use-module (users marekpasnikowski))

(define-public ayase
  (let* ((bootloader-targets (list "/boot/efi"))
	 (efi-filesystem-id (uuid "B4FB-CBD9" 'fat32))
	 (marekpasnikowski-groups (list "wheel"
					"netdev"
					"audio"
					"video"))
	 (root-filesystem-id (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c"))
	 (package-specifications (list "emacs"
				       "emacs-exwm"
				       "emacs-desktop-environment"
				       "emacs-paredit"))

	 (efi-partition (file-system (mount-point "/boot/efi")
				     (device efi-filesystem-id)
				     (type "vfat")))
	 (marekpasnikowski-account (user-account (name "marekpasnikowski")
						 (comment "Marek Paśnikowski")
						 (group "users")
						 (home-directory "/home/marek")
						 (supplementary-groups marekpasnikowski-groups)))
	 (root-partition (file-system (mount-point "/")
				      (device root-filesystem-id)
				      (type "ext4")))
	 (swap-space-id (uuid "f1c1b2ab-5c11-4708-80c2-d5ac99ff35cf"))

	 (ayase-file-systems (list root-partition
				   efi-partition))
	 (ayase-user-accounts (list marekpasnikowski-account))
	 (keyboard-layout (keyboard-layout "pl"))
	 (main-swap (swap-space (target swap-space-id)))
	 (system-packages (map specification->package
			       package-specifications))
	 (system-services (list (service openssh-service-type)
				(service tor-service-type)))

	 (bootloader (bootloader-configuration (bootloader grub-efi-bootloader)
					       (targets bootloader-targets)
					       (keyboard-layout keyboard-layout)))
	 (file-systems (append %base-file-systems
			       ;; %distribution-file-systems
			       ayase-file-systems))
	 (firmware (list linux-firmware))
	 (packages (append %base-packages
			   ;; %distribution-packages
			   system-packages))
	 (services (append %distribution-services
			   marekpasnikowski-services
			   system-services))
	 (swap-devices (list main-swap))
	 (users (append %base-user-accounts
			ayase-user-accounts)))
    (operating-system (kernel linux)
		      (bootloader bootloader)
                      (keyboard-layout keyboard-layout)
		      (initrd microcode-initrd)
		      (firmware firmware)
                      (host-name "ayase")
                      (file-systems file-systems)
                      (swap-devices swap-devices)
                      (users users)
                      (packages packages)
                      (timezone "Europe/Warsaw")
                      (locale "pl_PL.utf8")
                      (services services)
		      (sudoers-file %sudoers-specification*))))