summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2024-04-05 11:57:45 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2024-04-05 11:57:45 -0400
commitb88d77fb2d0d5028a6f5670695dee6bec129501f (patch)
tree2536b0461d297e647cf07157641c9b1223339adf /modules
parent776a7ca55d2d2c3f396de91db1c6c3c5065012cd (diff)
ahhh sloppy fish, still needs fixing, esp with the vars
Diffstat (limited to 'modules')
-rw-r--r--modules/ryan-config/base-system.scm6
-rw-r--r--modules/ryan-packages/wm.scm123
-rw-r--r--modules/ryan-services/udev.bak17
3 files changed, 111 insertions, 35 deletions
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 @@
112 (name "ryan") 112 (name "ryan")
113 (comment "Ryan") 113 (comment "Ryan")
114 (group "users") 114 (group "users")
115 ;(shell (file-append zsh "/bin/zsh")) 115 ;(shell (file-append fish "/bin/fish"))
116 (home-directory "/home/ryan") 116 (home-directory "/home/ryan")
117 (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "plugdev" "docker" "libvirt" "kvm" "dialout"))) 117 (supplementary-groups '("wheel" "netdev" "audio" "video" "lp" "plugdev" "docker" "libvirt" "kvm" "dialout")))
118 %base-user-accounts)) 118 %base-user-accounts))
@@ -121,7 +121,7 @@
121 ;; under their own account: use 'guix search KEYWORD' to search 121 ;; under their own account: use 'guix search KEYWORD' to search
122 ;; for packages and 'guix install PACKAGE' to install a package. 122 ;; for packages and 'guix install PACKAGE' to install a package.
123 (packages (append (map specification->package (list "sway" 123 (packages (append (map specification->package (list "sway"
124 ;"hyprland" 124 "hyprland"
125 "swaybg" 125 "swaybg"
126 ;"swayidle" 126 ;"swayidle"
127 ;"swaylock-effects" 127 ;"swaylock-effects"
@@ -159,7 +159,7 @@
159 "wireplumber" 159 "wireplumber"
160 "wireshark" 160 "wireshark"
161 "zsh")) 161 "zsh"))
162 (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) 162 (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland-ryan virt-manager-ovmf bluez-ryan blueman-ryan swayidle-new)
163 %my-base-packages )) 163 %my-base-packages ))
164 164
165 ;; Below is the list of system services. To search for available 165 ;; 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 @@
5 #:use-module (guix gexp) 5 #:use-module (guix gexp)
6 #:use-module (gnu packages) 6 #:use-module (gnu packages)
7 #:use-module (guix build-system cmake) 7 #:use-module (guix build-system cmake)
8 #:use-module (guix build-system meson)
8 #:use-module (gnu packages python) 9 #:use-module (gnu packages python)
9 #:use-module (gnu packages audio) 10 #:use-module (gnu packages audio)
10 #:use-module (gnu packages glib) 11 #:use-module (gnu packages glib)
11 #:use-module (gnu packages freedesktop) 12 #:use-module (gnu packages freedesktop)
12 #:use-module (gnu packages pkg-config) 13 #:use-module (gnu packages pkg-config)
13 #:use-module (gnu packages gtk) 14 #:use-module (gnu packages gtk)
15 #:use-module (gnu packages xdisorg)
16 #:use-module (gnu packages xorg)
17 #:use-module (gnu packages linux)
18 #:use-module (gnu packages gl)
14 #:use-module (gnu packages llvm) 19 #:use-module (gnu packages llvm)
15 #:use-module (gnu packages gcc) 20 #:use-module (gnu packages gcc)
16 #:use-module (gnu packages check) 21 #:use-module (gnu packages check)
@@ -52,7 +57,7 @@
52 (package 57 (package
53 (inherit waybar) 58 (inherit waybar)
54 (name "waybar-new") 59 (name "waybar-new")
55 (version "0.9.22") 60 (version "0.10.0")
56 (source 61 (source
57 (origin 62 (origin
58 (method git-fetch) 63 (method git-fetch)
@@ -61,44 +66,98 @@
61 (commit version))) 66 (commit version)))
62 (file-name (git-file-name name version)) 67 (file-name (git-file-name name version))
63 (sha256 68 (sha256
64 (base32 "0flwxg9rd7a2ygjvyksxxhxyyhp760jzd5ngkx65y77bxh1l7cpl")))) 69 (base32 "00a8npilvcvicn9mff00i5rdzdll0zrmq0y8wgr314gnljn52md7"))))
65 (arguments 70 (arguments
66 (list 71 (list
67 #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true"))) 72 #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true")))
68 (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm))))) 73 (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm)))))
69 ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13))))) 74 ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13)))))
70 75
71(define hyprland-unbundle-wlroots-patch 76(define cairo-hypr ;;; stolen from rosenthal since it is not exported
72 (origin
73 (method url-fetch)
74 (uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/"
75 "13f6f0b923ff3ec94a3bec886c28b90402ceef91"
76 "/nix/patches/meson-build.patch"))
77 (sha256
78 (base32 "02sq5ymxxrxp93mccafc4ilpsvs4m8bxc3whp7bcc5v9dx41va8k"))))
79
80(define-public hyprland-temp
81 (package 77 (package
82 (inherit hyprland) 78 (inherit cairo)
83 (version "12985fa0d8e43b1e33326dfb49be681970dfaea5") 79 (name "cairo")
80 (version "1.18.0")
84 (source (origin 81 (source (origin
85 (method git-fetch) 82 (method url-fetch)
86 (uri (git-reference 83 (uri (string-append "https://cairographics.org/releases/cairo-"
87 (url "https://github.com/hyprwm/Hyprland") 84 version ".tar.xz"))
88 (commit version)))
89 (file-name (git-file-name "hyprland" version))
90 (modules '((guix build utils)))
91 (snippet
92 '(begin
93 (substitute* "meson.build"
94 ((".*hyprpm/src.*") ""))
95 (for-each delete-file-recursively
96 '("hyprpm"
97 "subprojects"))
98 (copy-file "src/version.h.in" "src/version.h")))
99 (sha256 85 (sha256
100 (base32 86 (base32
101 "13l95h5krmv7syidw9c4gn62ac5qcqg9pmfh6x8ydjws97h05jvz")) 87 "0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4"))))
102 (patches (list hyprland-unbundle-wlroots-patch)))))) 88 (build-system meson-build-system)
89 (arguments
90 (list #:tests? #f
91 #:glib-or-gtk? #t
92 #:configure-flags
93 #~(list "-Dspectre=disabled")))
94 (outputs '("out"))))
95
96
97(define-public hyprlock
98 (package
99 (name "hyprlock")
100 (version "0.2.0")
101 (source
102 (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://github.com/hyprwm/hyprlock")
106 (commit (string-append "v" version))))
107 (file-name (git-file-name name version))
108 (sha256
109 (base32 "0vj8jfflc8zw769dqdqq7ms3dfafsirb2c0g37xsqkc4rzzri7nn"))))
110 (build-system cmake-build-system)
111 (native-inputs
112 (list gcc-13
113 pkg-config
114 mesa-headers
115 wayland))
116 (inputs
117 (list cairo
118 pango
119 libxkbcommon
120 hyprlang
121 mesa
122 wayland-protocols
123 linux-pam))
124 (home-page "https://github.com/hyprwm/hyprlock")
125 (license license:bsd-3)
126 (synopsis "Screen locker for Hyprland")
127 (description "Screen locker for hyprland.")))
128
129
130;(define hyprland-unbundle-wlroots-patch
131; (origin
132; (method url-fetch)
133; (uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/"
134; "13f6f0b923ff3ec94a3bec886c28b90402ceef91"
135; "/nix/patches/meson-build.patch"))
136; (sha256
137; (base32 "02sq5ymxxrxp93mccafc4ilpsvs4m8bxc3whp7bcc5v9dx41va8k"))))
138
139;(define-public hyprland-temp
140; (package
141; (inherit hyprland)
142; (version "12985fa0d8e43b1e33326dfb49be681970dfaea5")
143; (source (origin
144; (method git-fetch)
145; (uri (git-reference
146; (url "https://github.com/hyprwm/Hyprland")
147; (commit version)))
148; (file-name (git-file-name "hyprland" version))
149; (modules '((guix build utils)))
150; (snippet
151; '(begin
152; (substitute* "meson.build"
153; ((".*hyprpm/src.*") ""))
154; (for-each delete-file-recursively
155; '("hyprpm"
156; "subprojects"))
157; (copy-file "src/version.h.in" "src/version.h")))
158; (sha256
159; (base32
160; "13l95h5krmv7syidw9c4gn62ac5qcqg9pmfh6x8ydjws97h05jvz"))
161; (patches (list hyprland-unbundle-wlroots-patch))))))
103 162
104swayidle-new 163hyprlock
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 @@
1(define-module (ryan-services udev)
2 #:use-module (gnu packages)
3 #:use-module (gnu services)
4 #:use-module (gnu services base)
5 #:use-module (guix gexp)
6 #:export (udev-hwdb-configuration
7 udev-hwdb-configuration?
8 udev-hwdb-configuration-rule))
9
10(define-record-type* <udev-hwdb-configuration>
11 udev-hwdb-configuration make-udev-hwdb-configuration
12 udev-hwdb-configuration? this-udev-hwdb-configuration
13 (hwdb-rules udev-hwdb-configuration-hwdb-rules ;list of file-like
14 (default '())))
15
16; TODO: define hwdb rules like udev rules, add compiler step, splice this config
17; into udev service proper, hopefully etc-config handles this gracefully