summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2023-09-07 14:45:05 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2023-09-07 14:45:05 -0400
commit43ea80ea908a4c7070e09f70d4fc63acd34cdace (patch)
treeab6ef8194730eac8872a6e2833410fc9e80ae630
parent438237dbff8b535bfcf4cac7625c9b085e4b6c53 (diff)
libvirt pain
-rw-r--r--home-config/bash_profile5
-rw-r--r--modules/ryan-config/base-system.scm8
-rw-r--r--modules/ryan-packages/audio.scm81
-rw-r--r--modules/ryan-packages/virtualization.scm49
4 files changed, 140 insertions, 3 deletions
diff --git a/home-config/bash_profile b/home-config/bash_profile
index d58e435..ebc6cba 100644
--- a/home-config/bash_profile
+++ b/home-config/bash_profile
@@ -9,3 +9,8 @@ export PATH=$PATH:~/.nix-profile/bin
9 9
10# Honor per-interactive-shell startup file 10# Honor per-interactive-shell startup file
11if [ -f ~/.bashrc ]; then . ~/.bashrc; fi 11if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
12
13if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
14 exec Hyprland
15fi
16
diff --git a/modules/ryan-config/base-system.scm b/modules/ryan-config/base-system.scm
index 7da4468..4f75686 100644
--- a/modules/ryan-config/base-system.scm
+++ b/modules/ryan-config/base-system.scm
@@ -12,6 +12,7 @@
12 #:use-module (srfi srfi-1) 12 #:use-module (srfi srfi-1)
13 #:use-module (ryan-packages freedesktop) 13 #:use-module (ryan-packages freedesktop)
14 #:use-module (ryan-packages wm) 14 #:use-module (ryan-packages wm)
15 #:use-module (ryan-packages virtualization)
15 #:use-module (rosenthal packages wm) 16 #:use-module (rosenthal packages wm)
16 #:use-module (gnu packages security-token) 17 #:use-module (gnu packages security-token)
17 #:use-module (gnu services security-token) 18 #:use-module (gnu services security-token)
@@ -139,13 +140,13 @@
139 "v4l2loopback-linux-module" 140 "v4l2loopback-linux-module"
140 "pipewire" 141 "pipewire"
141 "docker" 142 "docker"
142 "libvirt" 143 ;"libvirt" ;New version inherited from service
143 "virt-manager" 144 ;"virt-manager"
144 "dconf" 145 "dconf"
145 "wireplumber" 146 "wireplumber"
146 "wireshark" 147 "wireshark"
147 "zsh")) 148 "zsh"))
148 (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland) 149 (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland virt-manager-ovmf)
149 %my-base-packages )) 150 %my-base-packages ))
150 151
151 ;; Below is the list of system services. To search for available 152 ;; Below is the list of system services. To search for available
@@ -169,6 +170,7 @@
169 (service nix-service-type) 170 (service nix-service-type)
170 (service libvirt-service-type 171 (service libvirt-service-type
171 (libvirt-configuration 172 (libvirt-configuration
173 (libvirt libvirt-new)
172 (unix-sock-group "libvirt"))) 174 (unix-sock-group "libvirt")))
173 (service virtlog-service-type) 175 (service virtlog-service-type)
174 (service bluetooth-service-type) 176 (service bluetooth-service-type)
diff --git a/modules/ryan-packages/audio.scm b/modules/ryan-packages/audio.scm
new file mode 100644
index 0000000..575a64a
--- /dev/null
+++ b/modules/ryan-packages/audio.scm
@@ -0,0 +1,81 @@
1(define-module (ryan-packages audio)
2 #:use-module ((guix licenses) #:prefix license:)
3 #:use-module (guix gexp)
4 #:use-module (guix build-system meson)
5 #:use-module (guix packages)
6 #:use-module (guix download)
7 #:use-module (guix utils)
8 #:use-module (gnu packages)
9 #:use-module (gnu packages glib)
10 #:use-module (gnu packages audio)
11 #:use-module (gnu packages pulseaudio)
12 #:use-module (gnu packages gtk)
13 #:use-module (gnu packages xiph)
14 #:use-module (gnu packages tbb)
15 #:use-module (gnu packages gettext)
16 #:use-module (gnu packages gnome)
17 #:use-module (gnu packages pretty-print)
18 #:use-module (gnu packages algebra)
19 #:use-module (gnu packages cpp)
20 #:use-module (gnu packages linux)
21 #:use-module (gnu packages freedesktop)
22 #:use-module (gnu packages cmake)
23 #:use-module (gnu packages maths)
24 #:use-module (gnu packages pkg-config))
25
26(define-public easyeffects
27 (package
28 (name "easyeffects")
29 (version "7.0.1")
30 (arguments
31 (list
32 #:modules
33 '((guix build utils)
34 (guix build meson-build-system))
35 #:imported-modules
36 (append %meson-build-system-modules)
37 #:tests? #f))
38 (native-inputs (list gettext-minimal
39 itstool
40 desktop-file-utils
41 `(,glib "bin")
42 `(,gtk+ "bin")
43 pkg-config
44 cmake
45 appstream-glib))
46 (inputs (list zita-convolver
47 rnnoise
48 tbb
49 fftwf
50 lilv
51 fmt
52 rubberband
53 speexdsp
54 nlohmann-json
55 pipewire
56 libadwaita
57 libsigc++
58 libbs2b
59 libsndfile
60 libsamplerate
61 libebur128
62 libportal
63 gsl
64 speex
65 `(,util-linux "lib")))
66 (source (origin
67 (method url-fetch)
68 (uri (string-append "https://github.com/wwmm/easyeffects/archive/refs/tags/v" version
69 ".tar.gz"))
70 (sha256
71 (base32
72 "05j52fy51zjai7n0j23chydfgkfq9n82h2ih806z3b47zhk2h2j2"))))
73 (build-system meson-build-system)
74 (synopsis "Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications")
75 (description "This package provides @code{easyeffects}, which is an audio application for use atop of @code{pipewire}
76 that allows effects that modify sound sources and sinks. This cannot be updated to the latest version (7.0.8) because
77 the packaged version of @code{gtk} is too old.")
78 (home-page "https://github.com/wwmm/easyeffects")
79 (license license:gpl3+)))
80
81easyeffects
diff --git a/modules/ryan-packages/virtualization.scm b/modules/ryan-packages/virtualization.scm
new file mode 100644
index 0000000..d43a337
--- /dev/null
+++ b/modules/ryan-packages/virtualization.scm
@@ -0,0 +1,49 @@
1;;; Stolen from https://g.tylerm.dev/tylerm/dotfiles/raw/branch/main/modules/home-packages/virtualization.scm
2
3(define-module (ryan-packages virtualization)
4 #:use-module (guix packages)
5 #:use-module (guix utils)
6 #:use-module (gnu packages)
7 #:use-module (gnu packages package-management)
8 #:use-module (gnu packages build-tools)
9 #:use-module (gnu packages virtualization)
10 #:use-module (gnu packages firmware)
11 #:use-module (guix gexp))
12
13(define ovmf-new
14 (package
15 (inherit ovmf)
16 (name "ovmf-new")
17 (arguments
18 (substitute-keyword-arguments (package-arguments ovmf)
19 ((#:phases phases)
20 #~(modify-phases #$phases
21 (replace 'install
22 (lambda _
23 (let ((fmw (string-append #$output "/share/firmware")))
24 (mkdir-p fmw)
25 (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw))))))))))
26
27(define-public libvirt-new
28 (package
29 (inherit libvirt)
30 (name "libvirt-new")
31 (inputs
32 (modify-inputs (package-inputs libvirt)
33 (append ovmf-new)))))
34
35(define-public virt-manager-ovmf
36 (package
37 (inherit virt-manager)
38 (name "virt-manager-ovmf")
39 (arguments
40 (substitute-keyword-arguments (package-arguments virt-manager)
41 ((#:phases phases)
42 #~(modify-phases #$phases
43 (add-after 'install 'ovmf
44 (lambda _
45 (let ((fmw (string-append #$output "/usr/share/OVMF")))
46 (mkdir-p fmw)
47 (copy-recursively #$(file-append ovmf-new "/share/firmware") fmw)
48 ;(mkdir-p fmw)
49 (copy-recursively "Build/OvmfX64/RELEASE_GCC49/FV" fmw))))))))))