summaryrefslogtreecommitdiffstats
path: root/.config
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2022-10-02 13:24:25 +0200
committerjdlugosz963 <jdlugosz963@gmail.com>2022-10-02 13:24:25 +0200
commit55edbf585bba878eabd779d3e275c99ce1babd4b (patch)
tree02cc23c76da97177c8e49f08da39c5e4c20b9772 /.config
parentf343690367dc97bde5abdb86767ea63e306d9bb6 (diff)
downloaddotfiles-55edbf585bba878eabd779d3e275c99ce1babd4b.tar.gz
dotfiles-55edbf585bba878eabd779d3e275c99ce1babd4b.zip
Init guix config files
Diffstat (limited to '.config')
-rw-r--r--.config/guix/channels.scm19
-rw-r--r--.config/guix/machines/base-system.scm105
-rw-r--r--.config/guix/machines/base.scm27
-rw-r--r--.config/guix/machines/viking.scm29
4 files changed, 180 insertions, 0 deletions
diff --git a/.config/guix/channels.scm b/.config/guix/channels.scm
new file mode 100644
index 0000000..ab15010
--- /dev/null
+++ b/.config/guix/channels.scm
@@ -0,0 +1,19 @@
1(list
2 (channel
3 (name 'guix)
4 (url "https://git.savannah.gnu.org/git/guix.git")
5 ;; (url "file:///home/daviwil/Projects/Code/guix"))
6 (introduction
7 (make-channel-introduction
8 "9edb3f66fd807b096b48283debdcddccfea34bad"
9 (openpgp-fingerprint
10 "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
11 (channel
12 (name 'nonguix)
13 (url "https://gitlab.com/nonguix/nonguix")
14 ;; Enable signature verification:
15 (introduction
16 (make-channel-introduction
17 "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
18 (openpgp-fingerprint
19 "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
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)))
diff --git a/.config/guix/machines/base.scm b/.config/guix/machines/base.scm
new file mode 100644
index 0000000..20c49f4
--- /dev/null
+++ b/.config/guix/machines/base.scm
@@ -0,0 +1,27 @@
1(define-module (base)
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
25(use-service-modules desktop xorg)
26(use-package-modules certs)
27(use-package-modules shells)
diff --git a/.config/guix/machines/viking.scm b/.config/guix/machines/viking.scm
new file mode 100644
index 0000000..0e1d4a9
--- /dev/null
+++ b/.config/guix/machines/viking.scm
@@ -0,0 +1,29 @@
1(define-module (viking)
2 #:use-module (base-system)
3 #:use-module (gnu))
4(use-modules (base-system))
5(operating-system
6 (inherit base-operating-system)
7 (host-name "viking")
8
9 (keyboard-layout (keyboard-layout "pl"))
10
11 (bootloader
12 (bootloader-configuration
13 (bootloader grub-bootloader)
14 (target "/dev/sda")))
15
16 (mapped-devices
17 (list (mapped-device
18 (source
19 (uuid "75a1ebd7-13c2-442f-80ff-1b5e59522e29"))
20 (target "cryptroot")
21 (type luks-device-mapping))))
22
23 (file-systems
24 (cons* (file-system
25 (mount-point "/")
26 (device "/dev/mapper/cryptroot")
27 (type "ext4")
28 (dependencies mapped-devices))
29 %base-file-systems)))