summaryrefslogtreecommitdiff
path: root/systems/ayase.scm
blob: c78fea35658aea56ba4545e6528bd4c0555b34cd (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
115
116
117
118
119
120
121
122
123
124
(define-module (systems ayase)
  ;; uuid
  #:use-module (gnu)

  ;; grub
  #:use-module (gnu packages bootloaders)

  ;; gnome-boxes
  #:use-module (gnu packages gnome)

  ;; pinentry-qt
  ;; pinentry-tty
  #:use-module (gnu packages gnupg)

  ;; kgpg
  #:use-module (gnu packages kde-pim)

  ;; profile-service-type
  ;; service
  ;; simple-service
  #:use-module (gnu services)

  ;; guix-home-service-type
  #:use-module (gnu services guix)

  ;; tor-service-type
  #:use-module (gnu services networking)

  ;; openssh-service-type
  #:use-module (gnu services ssh)

  ;; libvirt-service-type
  #:use-module (gnu services virtualization)

  ;; uid1000-account
  ;; uid1000-home-environment
  ;; uid1000-name
  #:use-module (users id1000)

  ;; linux
  ;; linux-firmware
  #:use-module (nongnu packages linux)

  ;; microcode-initrd
  #:use-module (nongnu system linux-initrd)

  ;; %sudoers-specification*
  #:use-module (suweren commons sudoers)

  ;; %distribution-services
  #:use-module (suweren services))

;; string
(define host-name*
  "ayase")

;; (list <user-account>)
(define users
  (append %base-user-accounts
	  (list uid1000-account)))

;; record* operating-system
(define-public operating-system*
  (let* ((bootloader-targets (list "/boot/efi"))
	 (efi-filesystem-id (uuid "B4FB-CBD9" 'fat32))
	 (home-environments `((,uid1000-name ,(uid1000-home-environment host-name*))))
	 (root-filesystem-id (uuid "615a98cd-a632-4ee5-a6f4-e5ebcaa6fb8c"))

	 (efi-partition (file-system (mount-point "/boot/efi")
				     (device efi-filesystem-id)
				     (type "vfat")))
	 (home-services (service guix-home-service-type
				 home-environments))
	 (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))
	 (home-services (list home-services))
	 (keyboard-layout (keyboard-layout "pl"))
	 (main-swap (swap-space (target swap-space-id)))
	 (system-services (list (service libvirt-service-type)
				(service openssh-service-type)
				(service tor-service-type)
				(simple-service 'system-packages
						profile-service-type
						(list gnome-boxes
						      grub
						      kgpg
						      pinentry-qt
						      pinentry-tty))))

	 (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
			   home-services
			   system-services))
	 (swap-devices (list main-swap)))
    (operating-system (kernel linux)
		      (bootloader bootloader)
                      (keyboard-layout keyboard-layout)
		      (initrd microcode-initrd)
		      (firmware firmware)
                      (host-name host-name*)
                      (file-systems file-systems)
                      (swap-devices swap-devices)
                      (users users)
                      (timezone "Europe/Warsaw")
                      (locale "pl_PL.utf8")
                      (services services)
		      (sudoers-file %sudoers-specification*))))

operating-system*