orchard

My personal GNU Guix configurations.
Log | Files | Refs | README

commit 7a83abe5a77e945d43a7f31b81299c31fd388a12
parent f485302842a728d790a7248f9f73f80817ece42f
Author: Luke Willis <lukejw@loquat.dev>
Date:   Mon,  6 Oct 2025 18:10:46 -0400

Update config on new device

Diffstat:
Morchard/home/lukejw.scm | 83++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
Morchard/home/lukejw/sway.scm | 25+++----------------------
Morchard/system/moses.scm | 31+++++++++++++++++++++++++------
3 files changed, 81 insertions(+), 58 deletions(-)

diff --git a/orchard/home/lukejw.scm b/orchard/home/lukejw.scm @@ -5,6 +5,7 @@ #:use-module (gnu home services fontutils) #:use-module (gnu home services mpv) #:use-module (gnu home services shells) + #:use-module (gnu home services sound) #:use-module (gnu home services sway) #:use-module (gnu home services xdg) #:use-module (gnu packages admin) @@ -46,22 +47,24 @@ #:use-module (orchard home lukejw sway) #:export (lukejw-home-environment)) -(define wf-recorder-0.5.0 - (package - (inherit wf-recorder) - (name "wf-recorder") - (version "0.5.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ammen99/wf-recorder") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0a805kfbgpg7898gbb218n7krbvn9r96xydhibvrphy08wxd1xzg")))) - (inputs - (list ffmpeg pulseaudio wayland wayland-protocols mesa)))) +(define wf-recorder-master + (let ((commit "f4c7f57b0db3ea390f8c86e5bfb64b8d0d941fcb") + (revision "2")) ;Guix package revision + (package + (inherit wf-recorder) + (name "wf-recorder") + (version (git-version "0.5.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ammen99/wf-recorder") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gv6ckfbi7b4xl03hdi7196iv5w41qxr6f8rfgvkdy9xri8j84p0")))) + (inputs + (list ffmpeg-6 pulseaudio wayland wayland-protocols mesa))))) ;; TODO: Organize @@ -135,6 +138,28 @@ bright6=3AA99F # cy bright7=CECDC3 # tx ")) +;; Files to help theme QT + +(define lxqt-config + (plain-file "lxqt.conf" "\ +[General] +icon_theme=Papirus-Dark + +[Qt] +style=kvantum")) + +(define kvantum-config + (plain-file "kvantum.kvconfig" "\ +[General] +theme=KvSimplicityDark")) + +;; Use cursor them in Sway + +(define xresources + (plain-file "xresources" "\ +Xcursor.theme: Bibata-Original-Ice +Xcursor.size: 24")) + (define lukejw-home-environment (home-environment (packages @@ -166,7 +191,7 @@ bright7=CECDC3 # tx zathura-pdf-mupdf mpv ffmpeg - wf-recorder-0.5.0 + wf-recorder-master yt-dlp ;; Games crispy-doom @@ -187,19 +212,11 @@ bright7=CECDC3 # tx (home-bash-configuration (guix-defaults? #f) (aliases `(("gs" . "git status") - ("ga" . "git add") - ("gc" . "git commit") - ("gl" . "git log") - ("yta" . "yt-dlp -t aac -o \"~/Audio/%(channel)s/%(upload_date)s - %(title)s.%(ext)s\"") - ("guix-hr" . ,#~(string-append "guix home reconfigure -L " - #$(dirname (dirname (dirname (current-filename)))) - " " #$(current-filename))) + ("yta" . "yt-dlp -t aac --add-metadata -o \"~/Audio/%(channel)s/%(upload_date)s - %(title)s.%(ext)s\"") ("camera" . "ffplay -fflags nobuffer /dev/video0") - ("record" . "wf-recorder --audio -c h264_vaapi -d /dev/dri/renderD128"))) - (bash-profile - (list - (plain-file "start-sway-on-tty1" - "if [ \"$(tty)\" = \"/dev/tty1\" ]; then exec sway > ~/sway.log 2>&1; fi"))))) + ("record" . "wf-recorder --audio -c h264_vaapi -d /dev/dri/renderD128"))))) + ;; Automatically start pipewire + (service home-pipewire-service-type) ;; TODO: Make a home service for using kvantum with lxqt-qtplugin (simple-service 'qt-environment-variables home-environment-variables-service-type @@ -230,7 +247,13 @@ bright7=CECDC3 # tx home-xdg-configuration-files-service-type `(("i3blocks/config" ,i3blocks-config) ("tofi/config" ,tofi-config) - ("foot/foot.ini" ,foot-config))) + ("foot/foot.ini" ,foot-config) + ("lxqt/lxqt.config" ,lxqt-config) + ("Kvantum/kvantum.kvconfig" ,kvantum-config))) + (simple-service 'extra-home-files + home-files-service-type + `((".Xresources" ,xresources))) + ;; Setup a sway configuration (service home-sway-service-type %sway-configuration)) %base-home-services)))) diff --git a/orchard/home/lukejw/sway.scm b/orchard/home/lukejw/sway.scm @@ -16,27 +16,6 @@ #:use-module (guix packages) #:export (%sway-configuration)) -(define-public gruvbox-wallpapers - (package - (name "gruvbox-wallpapers") - (version "32817ad") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/AngelJumbo/gruvbox-wallpapers.git") - (commit "32817ad442c45dbff5b5ff870a07c114a7cb53e7"))) - (sha256 (base32 "1gcyxg5z3259rir0vh4jrn2wbyl4mhx2zqd64w8bnwnwnp3vqg5f")) - (file-name (git-file-name name version)))) - (build-system copy-build-system) - (arguments - (list #:install-plan - #~'(("wallpapers" "share/backgrounds")))) - (home-page "https://gruvbox-wallpapers.pages.dev/") - (synopsis "Gruvbox-themed wallpapers") - (description #f) - (license #f))) - - (define-public orthodox-wallpapers (package (name "orthodox-wallpapers") @@ -221,7 +200,7 @@ (define %sway-startup-programs (list "foot --server" - "wlsunset -S 07:00 -s 19:30 -d 1800 -t 1000" + "wlsunset -S 07:00 -s 19:30 -d 1800 -t 1000" ;; Todo: make this a service "lxqt-policykit-agent")) (define %sway-configuration @@ -239,6 +218,8 @@ (list ;; This fixes lxqt-policykit being weird "for_window [title=\"Authentication Required\"] floating enable" + ;; Make my camera floating by default + "for_window [title=\"/dev/video0\"] floating enable" ;; This removes the title from the foot terminal "for_window [app_id=\"foot\"] border pixel" "xwayland enable") diff --git a/orchard/system/moses.scm b/orchard/system/moses.scm @@ -4,6 +4,7 @@ #:use-module (guix git) #:use-module (gnu bootloader) #:use-module (gnu bootloader grub) + #:use-module (gnu packages admin) #:use-module (gnu packages bash) #:use-module (gnu packages freedesktop) #:use-module (gnu packages games) @@ -27,11 +28,18 @@ #:use-module (orchard home lukejw) #:export (moses-os)) +(define %issue " +\"Keep thy mind in hell and despair not.\" +") + + (define moses-os (operating-system (host-name "moses") (timezone "America/New_York") (locale "en_US.utf8") + + (issue %issue) (keyboard-layout (keyboard-layout "us")) @@ -72,20 +80,31 @@ (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) - (packages %loquat-base-packages) + ;; Add some default compositors to choose from + ;; TODO: Provide patched defult configurations, maybe? + ;; TODO: Add some simple x11 sessions for running legacy applications + (packages + (append + (list sway + labwc) + %loquat-base-packages)) (services (append - (list ;(service guix-home-service-type - ; `(("lukejw" ,lukejw-home-environment))) - (service greetd-service-type + (list (service greetd-service-type (greetd-configuration - (motd "Hello, world!") (terminals (list + ;; Setup tuigreet as the login manager in TTY1 (greetd-terminal-configuration (terminal-vt "1") - (terminal-switch #t)) + (terminal-switch #t) + (default-session-command + (let ((command (file-append tuigreet "/bin/tuigreet"))) + (program-file + "tuigreet-wrapper" + #~(execl #$command #$command "-i"))))) + ;; Use agreety for the other TTYs (greetd-terminal-configuration (terminal-vt "2")) (greetd-terminal-configuration (terminal-vt "3"))))))) (modify-services %loquat-clergy-base-services