summaryrefslogtreecommitdiff
path: root/.config/guix/base.scm
blob: b998778eb77a54c93c9bee81370c792b7763d2d9 (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
;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.


;; Indicate which modules to import to access the variables
;; used in this configuration.

(define-module (base)
  #:use-module (gnu)
  #:use-module (nongnu packages linux)
  #:export (base-operating-system))

(use-service-modules cups desktop networking ssh xorg)

;;(define-public base-operating-system
(operating-system
 (host-name "fsociety")
 
 (kernel linux)
 (firmware (list linux-firmware
		 amdgpu-firmware))
 
 (locale "en_US.utf8")
 (timezone "Europe/Athens")
 (keyboard-layout (keyboard-layout "us"
				   #:options
				   '("ctrl:nocaps")))
 
 ;; Guix doesn't like it when there isn't a file-systems
 ;; entry, so add one that is meant to be overridden
 
 ;; (file-systems (cons*
 ;; 		(file-system
 ;; 		 (mount-point "/tmp")
 ;; 		 (device "none")
 ;; 		 (type "tmpfs")
 ;; 		 (check? #f))
 ;; 		%base-file-systems))

 ;; The list of user accounts ('root' is implicit).
 (users (cons* (user-account
		(name "apollo")
		(comment "Apollo")
		(group "users")
		(home-directory "/home/apollo")
		(shell (file-append "/bin/zsh"))
		(supplementary-groups '("wheel"
					"netdev"
					"audio"
					"video")))	       
	       (user-account
		(name "elliot")
		(comment "Elliot")
		(group "users")
		(home-directory "/home/elliot")
		(supplementary-groups '("wheel"
					"netdev"
					"audio"
					"video")))
	       %base-user-accounts))

 ;; Packages installed system-wide.  Users can also install packages
 ;; under their own account: use 'guix search KEYWORD' to search
 ;; for packages and 'guix install PACKAGE' to install a package.
 (packages (append (map specification->package
			`("emacs-exwm"
			  "emacs-desktop-environment"
			  "emacs"
			  "xrandr"
			  "picom"
			  "gnome"
			  "gnome-desktop"
			  "nss-certs"
			  "python"
			  "alacritty"
			  "emacs-vterm"
			  "emacs-multi-vterm"
			  "alsa-utils"
			  "bluez-alsa"
			  "gnome-bluetooth"
			  "blueman"
			  "qtile"
			  "git"
			  "font-jetbrains-mono"))
		   %base-packages))

 ;; Below is the list of system services.  To search for available
 ;; services, run 'guix system search KEYWORD' in a terminal.
 (services
  (append (list (service gnome-desktop-service-type)		 
		(service openssh-service-type)
		(bluetooth-service #:auto-enable?
				   #t)
		(service cups-service-type)
		(set-xorg-configuration
		 (xorg-configuration (keyboard-layout keyboard-layout))))
	  ;; This is the default list of services we
	  ;; are appending to.
	  %desktop-services))
 (bootloader (bootloader-configuration
              (bootloader grub-bootloader)
              (targets (list "/dev/nvme0n1"))
              (keyboard-layout keyboard-layout)))
 (swap-devices (list (swap-space
                      (target (uuid
                               "a8d782da-f1ea-477e-9b47-cf5aa431e893")))))
 
 (file-systems (cons* (file-system
                       (mount-point "/boot/efi")
                       (device (uuid "021E-83B3"
                                     'fat32))
                       (type "vfat"))
                      (file-system
                       (mount-point "/")
                       (device (uuid
                                "2bb282ae-7b2d-45c3-92b1-b1524177defb"
                                'ext4))
                       (type "ext4")) %base-file-systems)))
					;)