summaryrefslogtreecommitdiffstats
path: root/.config/guix/machines/base-system.scm
diff options
context:
space:
mode:
Diffstat (limited to '.config/guix/machines/base-system.scm')
-rw-r--r--.config/guix/machines/base-system.scm105
1 files changed, 105 insertions, 0 deletions
diff --git a/.config/guix/machines/base-system.scm b/.config/guix/machines/base-system.scm
new file mode 100644
index 0000000..a294aca
--- /dev/null
+++ b/.config/guix/machines/base-system.scm
@@ -0,0 +1,105 @@
1(define-module (base-system)
2 #:use-module (gnu)
3 #:use-module (gnu system nss)
4 #:use-module (gnu services pm)
5 #:use-module (gnu services desktop)
6 #:use-module (gnu services docker)
7 #:use-module (gnu services networking)
8 #:use-module (gnu services virtualization)
9 #:use-module (gnu packages wm)
10 #:use-module (gnu packages vim)
11 #:use-module (gnu packages gtk)
12 #:use-module (gnu packages xorg)
13 #:use-module (gnu packages emacs)
14 #:use-module (gnu packages file-systems)
15 #:use-module (gnu packages linux)
16 #:use-module (gnu packages audio)
17 #:use-module (gnu packages pulseaudio)
18 #:use-module (gnu packages web-browsers)
19 #:use-module (gnu packages version-control)
20 #:use-module (gnu packages package-management))
21 ; #:use-module (nongnu packages linux)
22 ; #:use-module (nongnu system linux-initrd))
23
24(use-service-modules ssh)
25(use-package-modules certs)
26(use-service-modules desktop xorg)
27
28(define-public base-operating-system
29 (operating-system
30 (host-name "base")
31 (timezone "Europe/Warsaw")
32 (locale "en_US.utf8")
33
34 ;; Use non-free Linux and firmware
35 ;; (kernel linux)
36 ;; (firmware (list linux-firmware))
37 ;; (initrd microcode-initrd)
38
39 (bootloader (bootloader-configuration
40 (bootloader grub-efi-bootloader)
41 (targets "/boot/efi")))
42 ;; (keyboard-layout keyboard-layout)))
43
44 ;; Guix doesn't like it when there isn't a file-systems
45 ;; entry, so add one that is meant to be overridden
46 (file-systems (cons*
47 (file-system
48 (mount-point "/tmp")
49 (device "none")
50 (type "tmpfs")
51 (check? #f))
52 %base-file-systems))
53
54 ;; Users
55 (users (cons (user-account
56 (name "jakub")
57 (comment "Jakub Dlugosz")
58 (group "users")
59 (home-directory "/home/jakub")
60 (supplementary-groups '(
61 "wheel"
62 "netdev"
63 "kvm"
64 "tty"
65 "input"
66 "docker"
67 "lp"
68 "audio"
69 "video")))
70 %base-user-accounts))
71
72
73 ;; Packages
74 (packages (append (list
75 git
76 exfat-utils
77 fuse-exfat
78 stow
79 vim
80 emacs
81 bluez
82 bluez-alsa
83 pulseaudio
84 tlp
85 xf86-input-libinput
86 nss-certs) ;; For https connection
87 %base-packages))
88
89
90 ;; Services
91 (services
92 (append
93 (list
94 (service elogind-service-type)
95 (service openssh-service-type)
96 (service network-manager-service-type)
97 (service slim-service-type)
98 (service tlp-service-type)
99 (bluetooth-service #:auto-enable? #t)
100 (service docker-service-type)
101 (service wpa-supplicant-service-type))
102 %base-services))
103
104 ;; Allow resolution of '.local' host names with mDNS
105 (name-service-switch %mdns-host-lookup-nss)))