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