From e0f21778636f677488ef34b5c0c263ea761425d0 Mon Sep 17 00:00:00 2001 From: Kat Inskip Date: Fri, 30 Jan 2026 19:40:57 -0800 Subject: [PATCH] Getting set up ... --- channels.scm | 16 ++++++++++ config.scm | 83 +++++++++++++++++++++++++++++++++++++++++++++++++ files/gitconfig | 3 ++ home.scm | 57 +++++++++++++++++++++++++++++++++ 4 files changed, 159 insertions(+) create mode 100644 channels.scm create mode 100644 config.scm create mode 100644 files/gitconfig create mode 100644 home.scm diff --git a/channels.scm b/channels.scm new file mode 100644 index 0000000..287c545 --- /dev/null +++ b/channels.scm @@ -0,0 +1,16 @@ +(define-module (channels) + #:use-module (guix channels) + #:use-module (guix monads) + #:export (%kittywitch-channels)) + +(define %kittywitch-channels %default-channels) + ;(cons* +; (channel +; (name 'rde) +; (url "https://git.sr.ht/~abcdw/rde") +; (introduction +; (make-channel-introduction +; "257cebd587b66e4d865b3537a9a88cccd7107c95" +; (openpgp-fingerprint +; "2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0")))) +; %default-channels)) diff --git a/config.scm b/config.scm new file mode 100644 index 0000000..00285a9 --- /dev/null +++ b/config.scm @@ -0,0 +1,83 @@ +;; This is an operating system configuration generated +;; by the graphical installer. +;; +;; Once installation is complete, you can learn and modify +;; this file to tweak the system configuration, and pass it +;; to the 'guix system reconfigure' command to effect your +;; changes. + + +;; Indicate which modules to import to access the variables +;; used in this configuration. +(add-to-load-path (dirname (current-filename))) +(define-module (config) + #:use-module (gnu) + #:use-module (channels) + #:use-module (gnu packages package-management) + #:use-module (gnu services cups) + #:use-module (gnu services desktop) + #:use-module (gnu services networking) + #:use-module (gnu services ssh) + #:use-module (gnu services xorg)) + +(operating-system + (locale "en_CA.utf8") + (timezone "America/Vancouver") + (keyboard-layout (keyboard-layout "gb")) + (host-name "elly") + + ;; The list of user accounts ('root' is implicit). + (users (cons* (user-account + (name "kat") + (comment "Kat Inskip") + (group "users") + (home-directory "/home/kat") + (supplementary-groups '("wheel" "netdev" "audio" "video"))) + %base-user-accounts)) + + ;; Packages installed system-wide. Users can also install packages + ;; under their own account: use 'guix search KEYWORD' to search + ;; for packages and 'guix install PACKAGE' to install a package. + (packages (append (list (specification->package "sway") + (specification->package "wmenu") + (specification->package "librewolf") + (specification->package "neovim") + (specification->package "foot")) %base-packages)) + + ;; Below is the list of system services. To search for available + ;; services, run 'guix system search KEYWORD' in a terminal. + (services (append (list + (service openssh-service-type) + (set-xorg-configuration + (xorg-configuration (keyboard-layout keyboard-layout))) + ) + (modify-services %desktop-services + (guix-service-type + config => (guix-configuration + (inherit config) + (channels %kittywitch-channels) + (guix (guix-for-channels %kittywitch-channels))))) + )) + (bootloader (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) + (mapped-devices (list (mapped-device + (source (uuid + "796be682-a656-4cb1-8b4a-fd2b9db5202e")) + (target "cryptroot") + (type luks-device-mapping)))) + + ;; The list of file systems that get "mounted". The unique + ;; file system identifiers there ("UUIDs") can be obtained + ;; by running 'blkid' in a terminal. + (file-systems (cons* (file-system + (mount-point "/boot/efi") + (device (uuid "8DC2-0DAE" + 'fat32)) + (type "vfat")) + (file-system + (mount-point "/") + (device "/dev/mapper/cryptroot") + (type "ext4") + (dependencies mapped-devices)) %base-file-systems))) diff --git a/files/gitconfig b/files/gitconfig new file mode 100644 index 0000000..6298715 --- /dev/null +++ b/files/gitconfig @@ -0,0 +1,3 @@ +[user] +name = "Kat Inskip" +email = "kat@inskip.me" diff --git a/home.scm b/home.scm new file mode 100644 index 0000000..1c05942 --- /dev/null +++ b/home.scm @@ -0,0 +1,57 @@ +(use-modules (ice-9 match) + (gnu) + (gnu home) + (gnu home services) + (gnu home services shells) + (gnu home services sway) + (gnu system keyboard) + (gnu services) + (gnu system shadow)) + +(use-package-modules wm ; grimshot + xdisorg ; wl-clipboard + rust-apps) ; jujutsu + +(define sway-config + (sway-configuration + (inherit %empty-sway-configuration) + ;;(bar TODO) + ;;(startup+reload-programs TODO) + ;;(extra-content TODO) + (variables %sway-default-variables) + (keybindings %sway-default-keybindings) + (gestures %sway-default-gestures) + (packages (append (list + grimshot + wl-clipboard) %sway-default-packages)) + (modes %sway-default-modes) + (startup-programs %sway-default-startup-programs) + (inputs (list (sway-input (identifier "type:keyboard") + (layout (keyboard-layout "us" #:options '("ctrl:nocaps")))))))) + +(define home-config + (home-environment + (packages (list jujutsu)) + (services + (append + (list + ;; Uncomment the shell you wish to use for your user: + ;(service home-bash-service-type) + ;(service home-fish-service-type) + ;(service home-zsh-service-type) + + (service home-sway-service-type sway-config) + + (service home-files-service-type + `((".guile" ,%default-dotguile) + (".Xdefaults" ,%default-xdefaults) + (".gitconfig", (local-file "files/gitconfig")) + )) + + (service home-xdg-configuration-files-service-type + `(("gdb/gdbinit" ,%default-gdbinit) + ("nano/nanorc" ,%default-nanorc)))) + + %base-home-services)))) + +home-config