From d4e4f1d4eaddee3c60a5bd963d82c1dcc0083ef5 Mon Sep 17 00:00:00 2001
From: jdlugosz963 <jdlugosz963@gmail.com>
Date: Tue, 4 Oct 2022 18:40:31 +0200
Subject: Clear dotfiles tree

---
 .config/guix/systems/base-system.scm | 115 +++++++++++++++++++++++++++++++++++
 .config/guix/systems/viking.scm      |  27 ++++++++
 2 files changed, 142 insertions(+)
 create mode 100644 .config/guix/systems/base-system.scm
 create mode 100644 .config/guix/systems/viking.scm

(limited to '.config/guix/systems')

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 @@
+(define-module (base-system)
+  #:use-module (gnu)
+  #:use-module (gnu services pm)
+  #:use-module (gnu services docker)
+  #:use-module (gnu services networking)
+  #:use-module (gnu services virtualization) ; todo make 
+  #:use-module (gnu packages vim)
+  #:use-module (gnu services desktop)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages emacs)
+  #:use-module (gnu packages file-systems)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages package-management))
+                                        ;    #:use-module (nongnu packages linux)
+                                        ;    #:use-module (nongnu system linux-initrd))
+
+(use-service-modules ssh)
+(use-package-modules certs)
+(use-service-modules desktop xorg)
+
+(define-public base-operating-system
+  (operating-system
+   (host-name "base")
+   (timezone "Europe/Warsaw")
+   (locale "en_US.utf8")
+   (keyboard-layout (keyboard-layout "pl"))
+
+   ;; Use non-free Linux and firmware
+   ;;     (kernel linux)
+   ;;     (firmware (list linux-firmware))
+   ;;     (initrd microcode-initrd)
+
+   (bootloader (bootloader-configuration
+                (bootloader grub-efi-bootloader)
+                (targets "/boot/efi")))
+   ;; (keyboard-layout keyboard-layout)))
+
+   ;; 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))
+   
+   ;; Users
+   (users (cons (user-account
+                 (name "jakub")
+                 (comment "Jakub Dlugosz")
+                 (group "users")
+                 (home-directory "/home/jakub")
+                 (supplementary-groups '(
+                                         "wheel" 
+                                         "netdev" 
+                                         "kvm"
+                                         "tty"
+                                         "input"
+                                         "docker"
+                                         "lp"
+                                         "audio"
+                                         "video")))
+                %base-user-accounts))
+   
+   
+   ;; Packages
+   (packages (append (list
+                      git
+                      exfat-utils
+                      fuse-exfat
+                      stow
+                      vim
+                      emacs
+                      bluez
+                      bluez-alsa
+                      pulseaudio
+                      tlp
+                      ncurses
+                      xf86-input-libinput
+                      nss-certs) ;; For https connection
+                     %base-packages))
+   
+   
+   ;; Services
+   (services
+    (append
+     (list
+   
+      (service elogind-service-type)
+      (service openssh-service-type)
+      (service network-manager-service-type)
+      (service slim-service-type)
+      (service tlp-service-type
+               (tlp-configuration
+                (cpu-boost-on-ac? #t)
+                (wifi-pwr-on-bat? #t)))
+      (bluetooth-service #:auto-enable? #t)
+      (service docker-service-type)
+      (service wpa-supplicant-service-type))
+     (service libvirt-service-type
+              (libvirt-configuration
+               (unix-sock-group "libvirt")
+               (tls-port "16555")))
+     (set-xorg-configuration
+      (xorg-configuration
+       (keyboard-layout keyboard-layout)))
+   
+     %base-services))
+   
+   ;; Allow resolution of '.local' host names with mDNS
+   (name-service-switch %mdns-host-lookup-nss)))
diff --git a/.config/guix/systems/viking.scm b/.config/guix/systems/viking.scm
new file mode 100644
index 0000000..00b279e
--- /dev/null
+++ b/.config/guix/systems/viking.scm
@@ -0,0 +1,27 @@
+(define-module (viking)
+  #:use-module (base-system)
+  #:use-module (gnu))
+
+(operating-system
+ (inherit base-operating-system)
+ (host-name "viking")
+
+ (bootloader
+  (bootloader-configuration
+   (bootloader grub-bootloader)
+   (target "/dev/sda")))
+
+ (mapped-devices
+  (list (mapped-device
+         (source
+          (uuid "75a1ebd7-13c2-442f-80ff-1b5e59522e29"))
+         (target "cryptroot")
+         (type luks-device-mapping))))
+
+ (file-systems
+  (cons* (file-system
+          (mount-point "/")
+          (device "/dev/mapper/cryptroot")
+          (type "ext4")
+          (dependencies mapped-devices))
+         %base-file-systems)))
-- 
cgit v1.2.3