summaryrefslogtreecommitdiff
path: root/systems/aisaka.scm
blob: be3b4cfc1896711cca8d40876b44513925c0157f (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
(define-module (systems aisaka)
  ;; service
  #:use-module (gnu services)

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

  ;; keyboard-layout
  #:use-module (gnu system keyboard)

  ;; bootloader-configuration*
  ;; file-systems*
  ;; firmware*
  ;; hardware-groups
  ;; initrd*
  ;; kernel*
  ;; swap-devices*
  #:use-module (machines inspiron)

  ;; %suweren-operating-system
  #:use-module (suweren system)

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

  ;; uid1001-account
  ;; uid1001-home-environment
  ;; uid1001-name
  #:use-module (users id1001))

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

;; (record user-account)
(define users*
  (let* ((system-groups (list "wheel"))

	 (supplementary-groups hardware-groups)
	 (supplementary-groups* (append hardware-groups
					system-groups)))
    (list (uid1000-account supplementary-groups*)
	  (uid1001-account supplementary-groups))))

;; record operating-system
(define-public operating-system*
  (let* ((home-environments `((,uid1000-name ,(uid1000-home-environment host-name*))
			      (,uid1001-name ,(uid1001-home-environment host-name*))))

	 (guix-home (service guix-home-service-type
			     home-environments))

	 (keyboard-layout* (keyboard-layout "pl"))
	 (services* (list guix-home))
	 (timezone* "Europe/Warsaw")
	 (locale* "pl_PL.utf8"))
    (%suweren-operating-system kernel*
			       (bootloader-configuration* keyboard-layout*)
			       keyboard-layout*
			       initrd*
			       firmware*
			       host-name*
			       (file-systems* host-name*)
			       (swap-devices* host-name*)
			       users*
			       timezone*
			       locale*
			       services*)))

operating-system*