From 55edbf585bba878eabd779d3e275c99ce1babd4b Mon Sep 17 00:00:00 2001
From: jdlugosz963 <jdlugosz963@gmail.com>
Date: Sun, 2 Oct 2022 13:24:25 +0200
Subject: Init guix config files

---
 .config/guix/channels.scm             |  19 ++++++
 .config/guix/machines/base-system.scm | 105 ++++++++++++++++++++++++++++++++++
 .config/guix/machines/base.scm        |  27 +++++++++
 .config/guix/machines/viking.scm      |  29 ++++++++++
 4 files changed, 180 insertions(+)
 create mode 100644 .config/guix/channels.scm
 create mode 100644 .config/guix/machines/base-system.scm
 create mode 100644 .config/guix/machines/base.scm
 create mode 100644 .config/guix/machines/viking.scm

(limited to '.config/guix')

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 @@
+(list
+ (channel
+  (name 'guix)
+  (url "https://git.savannah.gnu.org/git/guix.git")
+  ;; (url "file:///home/daviwil/Projects/Code/guix"))
+  (introduction
+   (make-channel-introduction
+    "9edb3f66fd807b096b48283debdcddccfea34bad"
+    (openpgp-fingerprint
+     "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA"))))
+ (channel
+  (name 'nonguix)
+  (url "https://gitlab.com/nonguix/nonguix")
+  ;; Enable signature verification:
+  (introduction
+   (make-channel-introduction
+    "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
+    (openpgp-fingerprint
+     "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 @@
+(define-module (base-system)
+  #:use-module (gnu)
+  #:use-module (gnu system nss)
+  #:use-module (gnu services pm)
+  #:use-module (gnu services desktop)
+  #:use-module (gnu services docker)
+  #:use-module (gnu services networking)
+  #:use-module (gnu services virtualization)
+  #:use-module (gnu packages wm)
+  #:use-module (gnu packages vim)
+  #:use-module (gnu packages gtk)
+  #: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 web-browsers)
+  #: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")
+
+   ;; 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
+                      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)
+      (bluetooth-service #:auto-enable? #t)
+      (service docker-service-type)
+      (service wpa-supplicant-service-type))
+     %base-services))
+   
+   ;; Allow resolution of '.local' host names with mDNS
+   (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 @@
+(define-module (base)
+  #:use-module (gnu)
+  #:use-module (gnu system nss)
+  #:use-module (gnu services pm)
+  #:use-module (gnu services desktop)
+  #:use-module (gnu services docker)
+  #:use-module (gnu services networking)
+  #:use-module (gnu services virtualization)
+  #:use-module (gnu packages wm)
+  #:use-module (gnu packages vim)
+  #:use-module (gnu packages gtk)
+  #: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 web-browsers)
+  #: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 desktop xorg)
+(use-package-modules certs)
+(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 @@
+(define-module (viking)
+  #:use-module (base-system)
+  #:use-module (gnu))
+(use-modules (base-system))
+(operating-system
+ (inherit base-operating-system)
+ (host-name "viking")
+
+ (keyboard-layout (keyboard-layout "pl"))
+
+ (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