From b88d77fb2d0d5028a6f5670695dee6bec129501f Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Fri, 5 Apr 2024 11:57:45 -0400 Subject: ahhh sloppy fish, still needs fixing, esp with the vars --- modules/ryan-config/base-system.scm | 6 +- modules/ryan-packages/wm.scm | 123 ++++++++++++++++++++++++++---------- modules/ryan-services/udev.bak | 17 +++++ 3 files changed, 111 insertions(+), 35 deletions(-) create mode 100644 modules/ryan-services/udev.bak (limited to 'modules') diff --git a/modules/ryan-config/base-system.scm b/modules/ryan-config/base-system.scm index fe41181..647a0bf 100644 --- a/modules/ryan-config/base-system.scm +++ b/modules/ryan-config/base-system.scm @@ -112,7 +112,7 @@ (name "ryan") (comment "Ryan") (group "users") - ;(shell (file-append zsh "/bin/zsh")) + ;(shell (file-append fish "/bin/fish")) (home-directory "/home/ryan") (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "plugdev" "docker" "libvirt" "kvm" "dialout"))) %base-user-accounts)) @@ -121,7 +121,7 @@ ;; under their own account: use 'guix search KEYWORD' to search ;; for packages and 'guix install PACKAGE' to install a package. (packages (append (map specification->package (list "sway" - ;"hyprland" + "hyprland" "swaybg" ;"swayidle" ;"swaylock-effects" @@ -159,7 +159,7 @@ "wireplumber" "wireshark" "zsh")) - (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland-ryan hyprland-temp virt-manager-ovmf bluez-ryan blueman-ryan swayidle-new) + (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland-ryan virt-manager-ovmf bluez-ryan blueman-ryan swayidle-new) %my-base-packages )) ;; Below is the list of system services. To search for available diff --git a/modules/ryan-packages/wm.scm b/modules/ryan-packages/wm.scm index 1f1a5e2..be24289 100644 --- a/modules/ryan-packages/wm.scm +++ b/modules/ryan-packages/wm.scm @@ -5,12 +5,17 @@ #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (guix build-system cmake) + #:use-module (guix build-system meson) #:use-module (gnu packages python) #:use-module (gnu packages audio) #:use-module (gnu packages glib) #:use-module (gnu packages freedesktop) #:use-module (gnu packages pkg-config) #:use-module (gnu packages gtk) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #:use-module (gnu packages linux) + #:use-module (gnu packages gl) #:use-module (gnu packages llvm) #:use-module (gnu packages gcc) #:use-module (gnu packages check) @@ -52,7 +57,7 @@ (package (inherit waybar) (name "waybar-new") - (version "0.9.22") + (version "0.10.0") (source (origin (method git-fetch) @@ -61,44 +66,98 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0flwxg9rd7a2ygjvyksxxhxyyhp760jzd5ngkx65y77bxh1l7cpl")))) + (base32 "00a8npilvcvicn9mff00i5rdzdll0zrmq0y8wgr314gnljn52md7")))) (arguments (list #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true"))) (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm))))) ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13))))) -(define hyprland-unbundle-wlroots-patch - (origin - (method url-fetch) - (uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/" - "13f6f0b923ff3ec94a3bec886c28b90402ceef91" - "/nix/patches/meson-build.patch")) - (sha256 - (base32 "02sq5ymxxrxp93mccafc4ilpsvs4m8bxc3whp7bcc5v9dx41va8k")))) - -(define-public hyprland-temp +(define cairo-hypr ;;; stolen from rosenthal since it is not exported (package - (inherit hyprland) - (version "12985fa0d8e43b1e33326dfb49be681970dfaea5") + (inherit cairo) + (name "cairo") + (version "1.18.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/Hyprland") - (commit version))) - (file-name (git-file-name "hyprland" version)) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "meson.build" - ((".*hyprpm/src.*") "")) - (for-each delete-file-recursively - '("hyprpm" - "subprojects")) - (copy-file "src/version.h.in" "src/version.h"))) + (method url-fetch) + (uri (string-append "https://cairographics.org/releases/cairo-" + version ".tar.xz")) (sha256 - (base32 - "13l95h5krmv7syidw9c4gn62ac5qcqg9pmfh6x8ydjws97h05jvz")) - (patches (list hyprland-unbundle-wlroots-patch)))))) + (base32 + "0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4")))) + (build-system meson-build-system) + (arguments + (list #:tests? #f + #:glib-or-gtk? #t + #:configure-flags + #~(list "-Dspectre=disabled"))) + (outputs '("out")))) + + +(define-public hyprlock + (package + (name "hyprlock") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprlock") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vj8jfflc8zw769dqdqq7ms3dfafsirb2c0g37xsqkc4rzzri7nn")))) + (build-system cmake-build-system) + (native-inputs + (list gcc-13 + pkg-config + mesa-headers + wayland)) + (inputs + (list cairo + pango + libxkbcommon + hyprlang + mesa + wayland-protocols + linux-pam)) + (home-page "https://github.com/hyprwm/hyprlock") + (license license:bsd-3) + (synopsis "Screen locker for Hyprland") + (description "Screen locker for hyprland."))) + + +;(define hyprland-unbundle-wlroots-patch +; (origin +; (method url-fetch) +; (uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/" +; "13f6f0b923ff3ec94a3bec886c28b90402ceef91" +; "/nix/patches/meson-build.patch")) +; (sha256 +; (base32 "02sq5ymxxrxp93mccafc4ilpsvs4m8bxc3whp7bcc5v9dx41va8k")))) + +;(define-public hyprland-temp +; (package +; (inherit hyprland) +; (version "12985fa0d8e43b1e33326dfb49be681970dfaea5") +; (source (origin +; (method git-fetch) +; (uri (git-reference +; (url "https://github.com/hyprwm/Hyprland") +; (commit version))) +; (file-name (git-file-name "hyprland" version)) +; (modules '((guix build utils))) +; (snippet +; '(begin +; (substitute* "meson.build" +; ((".*hyprpm/src.*") "")) +; (for-each delete-file-recursively +; '("hyprpm" +; "subprojects")) +; (copy-file "src/version.h.in" "src/version.h"))) +; (sha256 +; (base32 +; "13l95h5krmv7syidw9c4gn62ac5qcqg9pmfh6x8ydjws97h05jvz")) +; (patches (list hyprland-unbundle-wlroots-patch)))))) -swayidle-new +hyprlock diff --git a/modules/ryan-services/udev.bak b/modules/ryan-services/udev.bak new file mode 100644 index 0000000..5a304d3 --- /dev/null +++ b/modules/ryan-services/udev.bak @@ -0,0 +1,17 @@ +(define-module (ryan-services udev) + #:use-module (gnu packages) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (guix gexp) + #:export (udev-hwdb-configuration + udev-hwdb-configuration? + udev-hwdb-configuration-rule)) + +(define-record-type* + udev-hwdb-configuration make-udev-hwdb-configuration + udev-hwdb-configuration? this-udev-hwdb-configuration + (hwdb-rules udev-hwdb-configuration-hwdb-rules ;list of file-like + (default '()))) + +; TODO: define hwdb rules like udev rules, add compiler step, splice this config +; into udev service proper, hopefully etc-config handles this gracefully -- cgit v1.2.3