diff options
author | Ryan Schanzenbacher <ryan@rschanz.org> | 2023-09-07 14:45:05 -0400 |
---|---|---|
committer | Ryan Schanzenbacher <ryan@rschanz.org> | 2023-09-07 14:45:05 -0400 |
commit | 43ea80ea908a4c7070e09f70d4fc63acd34cdace (patch) | |
tree | ab6ef8194730eac8872a6e2833410fc9e80ae630 | |
parent | 438237dbff8b535bfcf4cac7625c9b085e4b6c53 (diff) |
libvirt pain
-rw-r--r-- | home-config/bash_profile | 5 | ||||
-rw-r--r-- | modules/ryan-config/base-system.scm | 8 | ||||
-rw-r--r-- | modules/ryan-packages/audio.scm | 81 | ||||
-rw-r--r-- | modules/ryan-packages/virtualization.scm | 49 |
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 |
11 | if [ -f ~/.bashrc ]; then . ~/.bashrc; fi | 11 | if [ -f ~/.bashrc ]; then . ~/.bashrc; fi |
12 | |||
13 | if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then | ||
14 | exec Hyprland | ||
15 | fi | ||
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 | |||
81 | easyeffects | ||
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)))))))))) | ||