summaryrefslogtreecommitdiff
path: root/modules/freya
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-08-08 23:22:53 -0400
committerFreya Murphy <freya@freyacat.org>2024-08-08 23:23:05 -0400
commitdb77903bf636ef4a142da70bc1029e7c48daac06 (patch)
treeae503876eb49e6e0c0fd9b7fcd34d3d7c70fc65c /modules/freya
parentchange the (diff)
downloaddotfiles-guix-db77903bf636ef4a142da70bc1029e7c48daac06.tar.gz
dotfiles-guix-db77903bf636ef4a142da70bc1029e7c48daac06.tar.bz2
dotfiles-guix-db77903bf636ef4a142da70bc1029e7c48daac06.zip
fix caddy, add uki, update pipewire, update xdg-desktop-portal-hyprland
Diffstat (limited to 'modules/freya')
-rw-r--r--modules/freya/bootloader/uki.scm116
-rw-r--r--modules/freya/packages/bootloaders.scm108
-rw-r--r--modules/freya/packages/golang.scm838
-rw-r--r--modules/freya/packages/linux.scm67
-rw-r--r--modules/freya/packages/mozillia.scm3
-rw-r--r--modules/freya/packages/networking.scm18
-rw-r--r--modules/freya/packages/wm.scm201
-rw-r--r--modules/freya/services/pipewire.scm22
-rw-r--r--modules/freya/system.scm11
9 files changed, 450 insertions, 934 deletions
diff --git a/modules/freya/bootloader/uki.scm b/modules/freya/bootloader/uki.scm
new file mode 100644
index 0000000..f62af45
--- /dev/null
+++ b/modules/freya/bootloader/uki.scm
@@ -0,0 +1,116 @@
+(define-module (freya bootloader uki)
+ #:use-module (gnu bootloader)
+ #:use-module (freya packages bootloaders)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (gnu packages efi)
+ #:use-module (gnu packages linux)
+ #:use-module (guix gexp)
+ #:use-module (guix modules)
+ #:use-module (srfi srfi-1)
+ #:export (uefi-uki-bootloader uefi-uki-signed-bootloader))
+
+;; config generator makes script creating uki images
+;; install runs script
+;; install device is path to uefi dir
+(define vendor "Guix")
+(define script-loc "/boot/install-uki.scm")
+
+(define* (uefi-uki-configuration-file #:optional cert privkey)
+ (lambda* (config entries #:key (old-entries '()) #:allow-other-keys)
+
+ (define (menu-entry->args e)
+ (let* ((boot (bootloader-configuration-bootloader config))
+ (stub (bootloader-package boot)))
+ #~(list "--os-release" #$(menu-entry-label e)
+ "--linux" #$(menu-entry-linux e) "--initrd" #$(menu-entry-initrd e)
+ "--cmdline" (string-join (list #$@(menu-entry-linux-arguments e)))
+ "--stub" #$(file-append stub "/libexec/" (systemd-stub-name))
+ #$@(if cert #~("--secureboot-certificate" #$cert) #~())
+ #$@(if privkey #~("--secureboot-private-key" #$privkey) #~()))))
+
+ (define (enum-filenames . args) ; same args as iota
+ (map (lambda (n) (string-append (number->string n) ".efi"))
+ (apply iota (map length args))))
+
+ (program-file "install-uki"
+ (with-imported-modules (source-module-closure '((guix build syscalls)
+ (guix build utils)))
+ #~(let* ((target (cadr (command-line)))
+ (vendir (string-append target "/EFI/" #$vendor))
+ (schema (string-append vendir "/boot.mgr"))
+ (findmnt #$(file-append util-linux "/bin/findmnt"))
+ (efibootmgr #$(file-append efibootmgr "/sbin/efibootmgr")))
+ (use-modules (guix build syscalls) (guix build utils)
+ (ice-9 popen) (ice-9 textual-ports))
+
+ (define (out name) (string-append vendir "/" name))
+ (define fulldisk
+ (call-with-port
+ (open-pipe* OPEN_READ findmnt "-fnro" "SOURCE" "-T" target)
+ (lambda (port) (get-line port)))) ; only 1 line: the device
+ (define disk
+ (substring fulldisk 0 (- (string-length fulldisk) 1)))
+ (define part
+ (substring fulldisk (- (string-length fulldisk) 1)))
+
+ ;; delete all boot entries and files we control
+ (when (file-exists? schema)
+ (call-with-input-file schema
+ (lambda (port)
+ (for-each (lambda (l)
+ (unless (string-null? l)
+ (system* efibootmgr "-B" "-L" l "-q")))
+ (string-split (get-string-all port) #\lf)))))
+ (when (directory-exists? vendir) (delete-file-recursively vendir))
+ (mkdir-p vendir)
+
+ (define (install port boot? oos)
+ (lambda (args label name)
+ (let ((minbytes (* 2 (stat:size (stat #$script-loc)))))
+ (put-string port label)
+ (put-char port #\lf)
+ (force-output port) ; make sure space is alloc'd
+ (apply invoke #$(file-append ukify "/bin/ukify")
+ "build" "-o" (out name) args)
+ ;; make sure we have enough space for next install-uki.scm
+ (when (and oos (< (free-disk-space vendir) minbytes)) (oos))
+ (invoke efibootmgr (if boot? "-c" "-C") "-L" label "--disk" disk "--part" part
+ "--loader" (string-append "\\EFI\\" #$vendor "\\" name) "-q"))))
+
+ (call-with-output-file schema
+ (lambda (port) ; prioritize latest UKIs in limited ESP space
+ (for-each (install port #t #f)
+ (list #$@(map-in-order menu-entry->args entries))
+ (list #$@(map-in-order menu-entry-label entries))
+ (list #$@(enum-filenames entries)))
+ (for-each ; old-entries can fail (out of space) we don't care
+ (lambda (args label name)
+ (define (cleanup . _) ; do exit early if out of space tho
+ (when (file-exists? (out name)) (delete-file (out name)))
+ (exit))
+ (with-exception-handler cleanup
+ (lambda _ ((install port #f cleanup) args label name))))
+ (list #$@(map-in-order menu-entry->args old-entries))
+ (list #$@(map-in-order menu-entry-label old-entries))
+ (list #$@(enum-filenames old-entries entries))))))))))
+
+(define install-uefi-uki
+ #~(lambda (bootloader target mount-point)
+ (invoke (string-append mount-point #$script-loc)
+ (string-append mount-point target))))
+
+(define* (make-uefi-uki-bootloader #:optional cert privkey)
+ (bootloader
+ (name 'uefi-uki)
+ (package systemd-stub)
+ (installer install-uefi-uki)
+ (disk-image-installer #f)
+ (configuration-file script-loc)
+ (configuration-file-generator (uefi-uki-configuration-file cert privkey))))
+
+;; IMPORTANT NOTE: if bootloader install fails, do not turn off your computer! until
+;; install succeeds, your system is unbootable.
+(define uefi-uki-bootloader (make-uefi-uki-bootloader))
+;; use ukify genkey to generate cert and privkey. DO NOT include in store.
+(define (uefi-uki-signed-bootloader cert privkey)
+ (make-uefi-uki-bootloader cert privkey))
diff --git a/modules/freya/packages/bootloaders.scm b/modules/freya/packages/bootloaders.scm
new file mode 100644
index 0000000..55a4210
--- /dev/null
+++ b/modules/freya/packages/bootloaders.scm
@@ -0,0 +1,108 @@
+(define-module (freya packages bootloaders)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages efi)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
+ #:use-module (guix modules)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
+ #:use-module (guix build-system python))
+
+(define systemd-version "255")
+(define systemd-source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/systemd/systemd")
+ (commit (string-append "v" systemd-version))))
+ (file-name (git-file-name "systemd" systemd-version))
+ (sha256
+ (base32
+ "1qdyw9g3jgvsbc1aryr11gpc3075w5pg00mqv4pyf3hwixxkwaq6"))))
+
+(define-public (systemd-stub-name)
+ (let ((arch (cond ((target-x86-32?) "ia32")
+ ((target-x86-64?) "x64")
+ ((target-arm32?) "arm")
+ ((target-aarch64?) "aa64")
+ ((target-riscv64?) "riscv64"))))
+ (string-append "linux" arch ".efi.stub")))
+
+(define-public systemd-stub
+ (package
+ (name "systemd-stub")
+ (version systemd-version)
+ (source systemd-source)
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ `(list "-Defi=true" "-Dsbat-distro=guix"
+ "-Dsbat-distro-generation=1" ; package revision!
+ "-Dsbat-distro-summary=Guix System"
+ "-Dsbat-distro-url=https://guix.gnu.org"
+ ,(string-append "-Dsbat-distro-pkgname=" name)
+ ,(string-append "-Dsbat-distro-version=" version))
+ #:phases
+ #~(let ((stub #$(string-append "src/boot/efi/" (systemd-stub-name))))
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (invoke "ninja" stub
+ "-j" (if parallel-build?
+ (number->string (parallel-job-count)) "1"))))
+ (replace 'install
+ (lambda _
+ (install-file stub (string-append #$output "/libexec"))))
+ (delete 'check)))))
+ (inputs (list libcap python-pyelftools `(,util-linux "lib")))
+ (native-inputs (list gperf pkg-config python-3 python-jinja2))
+ (home-page "https://systemd.io")
+ (synopsis "Unified kernel image UEFI stub")
+ (description "Simple UEFi boot stub that loads a conjoined kernel image and
+supporting data to their proper locations, before chainloading to the kernel.
+Supports measured and/or verified boot environments.")
+ (license license:lgpl2.1+)))
+
+(define-public ukify
+ (package
+ (name "ukify")
+ (version systemd-version)
+ (source systemd-source)
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (substitute* "src/ukify/ukify.py" ; added in python 3.11
+ (("datetime\\.UTC") "datetime.timezone.utc"))))
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((bin (string-append #$output "/bin"))
+ (file (string-append bin "/ukify"))
+ (binutils (assoc-ref inputs "binutils"))
+ (sbsign (assoc-ref inputs "sbsigntools")))
+ (mkdir-p bin)
+ (copy-file "src/ukify/ukify.py" file)
+ (wrap-program file
+ `("PATH" ":" prefix
+ (,(string-append binutils "/bin")
+ ,(string-append sbsign "/bin"))))))))))
+ (inputs (list binutils python-cryptography python-pefile sbsigntools))
+ (home-page "https://systemd.io")
+ (synopsis "Unified kernel image UEFI tool")
+ (description "@command{ukify} joins together a UKI stub, linux kernel, initrd,
+kernel arguments, and optional secure boot signatures into a single, UEFI-bootable
+image.")
+ (license license:lgpl2.1+)))
diff --git a/modules/freya/packages/golang.scm b/modules/freya/packages/golang.scm
index f626ade..5e0f75e 100644
--- a/modules/freya/packages/golang.scm
+++ b/modules/freya/packages/golang.scm
@@ -1,833 +1,61 @@
(define-module (freya packages golang)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
- #:use-module (gnu packages base)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages package-management)
- #:use-module (gnu packages build-tools)
- #:use-module (gnu packages)
- #:use-module (guix packages)
- #:use-module (gnu packages)
- #:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (guix download)
- #:use-module (gnu packages golang)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
#:use-module (guix build-system go)
- #:use-module (guix build-system trivial)
- #:use-module (guix build utils)
- #:use-module (guix utils))
+ #:use-module (gnu packages)
+ #:use-module (gnu packages golang))
-(define (go-package name version url hash path inputs)
+(define-public go-github-com-caddy-certmagic
(package
- (name name)
- (version version)
+ (name "certmagic")
+ (version "0.19.2")
(source (origin
(method git-fetch)
(uri (git-reference
- (url url)
+ (url "https://github.com/caddyserver/certmagic")
(commit (string-append "v" version))))
- (file-name (git-file-name name version))
(sha256
(base32
- hash))))
+ "0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
(build-system go-build-system)
- (propagated-inputs inputs)
(arguments
- `(#:go ,go-1.20
- #:import-path ,path
- #:phases %standard-phases
- #:install-source? #t
- #:tests? #f))
- (synopsis (string-append name " go package"))
- (description (string-append name " go package"))
- (home-page url)
+ (list #:tests? #f
+ #:go go-1.20
+ #:import-path "github.com/caddyserver/certmagic"))
+ (home-page "https://github.com/caddyserver/certmagic")
+ (synopsis "Certbot ACME")
+ (description "Automagic certificate management in Caddy")
(license license:expat)))
-(define (go-version-go-package name version url hash path inputs)
- (package
- (inherit (go-package name version url hash path inputs))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url url)
- (commit (go-version->git-ref version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- hash))))))
-
-(define (commit-go-package name comm url hash path inputs)
- (package
- (inherit (go-package name comm url hash path inputs))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url url)
- (commit comm)))
- (file-name (git-file-name name comm))
- (sha256
- (base32
- hash))))))
-
-
-(define (source-only gopackage)
- (package
- (inherit gopackage)
- (arguments
- (substitute-keyword-arguments (package-arguments gopackage)
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'build)))))))
-
-(define (set-go gopackage gover)
- (package
- (inherit gopackage)
- (arguments
- (substitute-keyword-arguments (package-arguments gopackage)
- ((#:go _) gover)))))
-
-(define (set-unpack gopackage unpack)
- (package
- (inherit gopackage)
- (arguments
- (substitute-keyword-arguments (package-arguments gopackage)
- ((#:unpack-path _) unpack)))))
-
-(define (set-inputs gopackage inputs)
- (package
- (inherit gopackage)
- (native-inputs inputs)))
-
-
-(define go-github-com-matttproud-golang-protobuf-extensions
- (source-only (go-package
- "go-github-com-matttproud-golang-protobuf-extensions"
- "2.0.0"
- "https://github.com/matttproud/golang_protobuf_extensions"
- "0jw4vjycwx0a82yvixmp25805krdyqd960y8lnyggllb6br0vh41"
- "github.com/matttproud/golang_protobuf_extensions"
- (list))))
-
-(define go-github-com-beorn7-perks
- (source-only (go-package
- "go-github-com-beorn7-perks"
- "1.0.1"
- "https://github.com/beorn7/perks"
- "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"
- "github.com/beorn7/perks"
- (list))))
-
-(define go-github-com-golang-protobuf
- (source-only (go-package
- "go-github-com-golang-protobuf" ; name
- "1.5.3" ; version
- "https://github.com/golang/protobuf" ; url
- "03f1w2cd4s8a3xhl61x7yjx81kbzlrjpvnnwmbhqnz814yi7h43i" ; hash
- "github.com/golang/protobuf" ; path
- (list)))) ; inputs
-
-(define go-go-uber-org-multierr
- (go-package
- "go-go-uber-org-multierr"
- "1.11.0"
- "https://github.com/uber-go/multierr"
- "1s6skad93nbsq4b0sy5dsgacrdh2kzg0p8wjlhvff49vasqsi3qx"
- "go.uber.org/multierr"
- (list)))
-
-(define go-go-uber-org-zap
- (go-package
- "go-go-uber-org-zap"
- "1.26.0"
- "https://github.com/uber-go/zap"
- "1aw7zba4f06835vm6l6j1y1jaz2p92gi2nv52hfn1a62gixj8nq4"
- "go.uber.org/zap"
- (list go-go-uber-org-multierr)))
-
-(define go-github-com-cespare-xxhash
- (go-package
- "go-github-com-cespare-xxhash"
- "2.2.0"
- "https://github.com/cespare/xxhash"
- "055xvgyv78xl6bdj8kgy0105n9cq33w4rb0sg84lp9r85i9qx2l5"
- "github.com/cespare/xxhash"
- (list)))
-
-(define go-golang-org-x-exp
- (source-only (go-version-go-package
- "go-golang-org-x-exp" ; name
- "v0.0.0-20230310171629-522b1b587ee0" ; version
- "https://go.googlesource.com/exp" ; url
- "054hbk826n3kprk75m19ik89mnicbshq6kdiwd60xxfczdjf88rn" ; hash
- "golang.org/x/exp" ; path
- (list)))) ; inputs
-
-(define go-golang-org-x-sync
- (source-only (go-package
- "go-golang-org-x-text" ; namie
- "0.3.0" ; version
- "https://go.googlesource.com/sync" ; url
- "0jmkqah45db9nz6yjdd8vvanpjfzb5lsv6bxf0d1dih4zhp4l8kc" ; hash
- "golang.org/x/sync" ; path
- (list)))) ; inputs
-
-(define go-golang-org-x-text
- (source-only (go-package
- "go-golang-org-x-text" ; namie
- "0.11.0" ; version
- "https://go.googlesource.com/text" ; url
- "1a0d6f9qqzd9njd8xb59mjrfv5jrz8130crcxbqaiy7lk434nq1k" ; hash
- "golang.org/x/text" ; path
- (list)))) ; inputs
-
-(define go-golang-org-x-term
- (source-only (go-package
- "go-golang-org-x-term" ; namie
- "0.10.0" ; version
- "https://go.googlesource.com/term" ; url
- "19abybnsqix924d9ak4p93bgq1312zp1yk11bilrrmsjplhbrzqf" ; hash
- "golang.org/x/term" ; path
- (list)))) ; inputs
-
-(define go-golang-org-x-net
- (source-only (go-package
- "go-golang-org-x-net" ; name
- "0.14.0" ; version
- "https://go.googlesource.com/net" ; url
- "0pk9pfd5n5hlg5zx1ab3gfzi6lfcs41dfds6fyn661g5xs00l9s1" ; hash
- "golang.org/x/net" ; path
- (list)))) ; inputs
-
-
-(define go-golang-org-x-crypto
- (source-only (go-package
- "go-golang-org-x-crypto" ; name
- "0.12.0" ; version
- "https://go.googlesource.com/crypto" ; url
- "00cg67w0n01a64fc4kqg5j7r47fx5y9vyqlanwb60513dv6lzacs" ; hash
- "golang.org/x/crypto" ; path
- (list)))) ; inputs
-
-(define go-golang-org-x-sys
- (source-only (go-package
- "go-golang-org-x-sys" ; name
- "0.11.0" ; version
- "https://go.googlesource.com/sys" ; url
- "1pp0479l9w92kr6p97d19s8y0hj16gblg4hvdqqzcrf3d9mr4cs3" ; hash
- "golang.org/x/sys" ; path
- (list)))) ; inputs
-
-(define go-github-com-quic-go-qtls-go1-20
- (go-package
- "go-github-com-quic-go-qtls-go1-20" ; name
- "0.3.4" ; version
- "https://github.com/quic-go/qtls-go1-20" ; url
- "0fl3yv1w8cygag3lav45vvzb4k9i72p92x13wcq0xn13wxirzirn" ; hash
- "github.com/quic-go/qtls-go1-20" ; path
- (list go-golang-org-x-crypto ; inputs
- go-golang-org-x-sys)))
-
-(define go-github-com-google-go-cmp
- (source-only (go-package
- "go-github-com-google-go-cmp"
- "0.5.9"
- "https://github.com/google/go-cmp"
- "0a13m7l1jrysa7mrlmra8y7n83zcnb23yjyg3a609p8i9lxkh1wm"
- "github.com/google/go-cmp/go"
- (list))))
-
-(define go-github-com-hashicorp-go-uuid
- (go-package
- "go-github-com-hashicorp-go-uuid"
- "1.0.3"
- "https://github.com/hashicorp/go-uuid"
- "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"
- "github.com/hashicorp/go-uuid"
- (list)))
-
-(define go-github-com-google-uuid
- (go-package
- "go-github-com-google-uuid"
- "1.3.1"
- "https://github.com/google/uuid"
- "1pd1lkl50prswl91dpwml66s2ildjqipnsqi9a7m25lv3l008417"
- "github.com/google/uuid"
- (list)))
-
-(define go-github-com-marten-seemann-qtls-go1-19
- (set-go (go-package
- "go-github-com-marten-seemann-qtls-go1-19"
- "0.3.3"
- "https://github.com/quic-go/qtls-go1-19"
- "07i56533033cd0kn67fvyyvwbmfwfdk3y5x5wl4y00zplyhhys9q"
- "github.com/marten-seemann/qtls-go1-19"
- (list go-golang-org-x-sys
- go-golang-org-x-crypto))
- go-1.19))
-
-(define go-github-com-lucas-clemente-quic-go
- (set-go (go-package
- "go-github-com-lucas-clemente-quic-go"
- "0.31.1"
- "https://github.com/quic-go/quic-go"
- "1vn72wlcyb4j2lw3pfqfvhb3pz7r61j3sddj4r1sf32vc3csis97"
- "github.com/lucas-clemente/quic-go"
- (list go-golang-org-x-crypto
- go-golang-org-x-net
- go-golang-org-x-exp
- go-golang-org-x-sys
- go-github-com-marten-seemann-qtls-go1-19))
- go-1.19))
-
-(define go-github-com-quic-go-quic-go
- (go-package
- "go-github-com-quic-go-quic-go" ; name
- "0.39.0" ; version
- "https://github.com/quic-go/quic-go" ; url
- "0jiwh97xpvswrbq5glnafc2jc3ybpl17ffa0cg9x3f03raa2q8vg" ; hash
- "github.com/quic-go/quic-go" ; path
- (list go-golang-org-x-crypto ; inputs
- go-golang-org-x-exp
- go-golang-org-x-net
- go-golang-org-x-sys
- go-github-com-quic-go-qtls-go1-20)))
-
-(define go-github-com-prometheus-procfs
- (go-package
- "go-github-com-prometheus-procfs" ; name
- "0.8.0" ; version
- "https://github.com/prometheus/procfs" ; url
- "0k2d27pm6q6im42x8ikwz0d4sb31wn6rvfs9wlf51d9gldncmpqz" ; hash
- "github.com/prometheus/procfs" ; path
- (list go-golang-org-x-sys))) ; inputs
-
-(define go-github-com-prometheus-client-model
- (source-only (go-package
- "go-github-com-prometheus-client-model" ; name
- "0.4.0" ; version
- "https://github.com/prometheus/client_model" ; url
- "0w3hxsc0qmb5vdm8lyhsvkm0g9yk81vrpcyf31haysvid8yjrzg0" ; hash
- "github.com/prometheus/client_model" ; path
- (list go-github-com-golang-protobuf)))) ; inputs
-
-(define go-github-com-prometheus-common
- (source-only (go-package
- "go-github-com-prometheus-common" ; name
- "0.37.0" ; version
- "https://github.com/prometheus/common" ; url
- "161ayg76ag1h21kaf0qycpy7cizvy3xrm0dn598hj91n44v4z0hf" ; hash
- "github.com/prometheus/common" ; path
- (list go-github-com-golang-protobuf ; inputs
- go-github-com-matttproud-golang-protobuf-extensions
- go-github-com-prometheus-client-model))))
-
-(define go-github-com-prometheus-client-golang
- (source-only (go-package
- "go-github-com-prometheus-client-golang" ; name
- "1.14.0" ; version
- "https://github.com/prometheus/client_golang" ; url
- "041br6n309bajwdv871f69fwy1yq3vk46rmzxnkr1ldpq1bhd63n" ; hash
- "github.com/prometheus/client_golang" ; path
- (list go-github-com-prometheus-client-model ; inputs
- go-github-com-prometheus-procfs
- go-github-com-prometheus-common))))
-
-(define go-github-com-klauspost-cpuid-v2
- (go-package
- "go-github-com-klauspost-cpuid-v2" ; name
- "2.2.5" ; version
- "https://github.com/klauspost/cpuid" ; url
- "127jlppxs226lnq499rjnjyzgmp849xlxhq7380w2ypdkhvafni1" ; hash
- "github.com/klauspost/cpuid/v2" ; path
- (list))) ; inputs
-
-(define go-github-com-libdns-libdns
- (go-package
- "go-github-com-libdns-libdns" ; name
- "0.2.1" ; version
- "https://github.com/libdns/libdns" ; url
- "1ix668h4n2n9iph4xiznzdfw7hy0ijy906mvnys4kq9f0v9ih4bg" ; hash
- "github.com/libdns/libdns" ; path
- (list))) ; inputs
-
-(define go-github-com-mholt-acmez
- (go-package
- "go-github-com-mholt-acmez" ; name
- "1.2.0" ; version
- "https://github.com/mholt/acmez" ; url
- "1wzkgbgnp23vbcz4nc3c8x7vi1lkqp36485f7g05zbshc7hzby6d" ; hash
- "github.com/mholt/acmez" ; path
- (list go-go-uber-org-zap ; inputs
- go-golang-org-x-crypto
- go-golang-org-x-text
- go-golang-org-x-net)))
-
-(define go-github-com-miekg-dns
- (go-package
- "go-github-com-miekg-dns" ; name
- "1.1.50" ; version
- "https://github.com/miekg/dns" ; url
- "1svvx9qamy3hy0ms8iwbisqjmfkbza0zljmds6091siq150ggmws" ; hash
- "github.com/miekg/dns" ; path
- (list go-golang-org-x-net ; inputs
- go-golang-org-x-sys)))
-
-(define go-github-com-zeebo-blake3
- (go-package
- "go-github-com-zeebo-blake3" ; name
- "0.2.3" ; version
- "https://github.com/zeebo/blake3" ; url
- "1pkk97d1jwfcg3hs9g09zbwn31l96icx1vk4d9l2rhcvfw0aw0fc" ; hash
- "github.com/zeebo/blake3" ; path
- (list go-github-com-klauspost-cpuid-v2))) ; inputs
-
-(define go-github-com-caddy-certmagic
- (go-package
- "go-github-com-caddy-certmagic" ; name
- "0.19.2" ; version
- "https://github.com/caddyserver/certmagic" ; url
- "07a1xiynbbaqm7qzg0q1xhvab99x8mvzr2rw68npxws4dshgdv5f" ; hash
- "github.com/caddyserver/certmagic" ; path
- (list go-github-com-klauspost-cpuid-v2 ; inputs
- go-github-com-libdns-libdns
- go-go-uber-org-zap
- go-golang-org-x-crypto
- go-github-com-mholt-acmez
- go-github-com-zeebo-blake3
- go-github-com-miekg-dns
- go-golang-org-x-sys
- go-golang-org-x-net
- go-golang-org-x-text)))
-
-(define go-github-com-quic-go-qpack
- (go-package
- "go-github-com-quic-go-qpack" ; name
- "0.4.0" ; version
- "https://github.com/quic-go/qpack" ; url
- "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39" ; hash
- "github.com/quic-go/qpack" ; path
- (list go-golang-org-x-net))) ; inputs
-
-(define go-google-golang-org-protobuf
- (source-only (go-package
- "go-google-golang-org-protobuf" ; name
- "1.31.0" ; version
- "https://go.googlesource.com/protobuf" ; url
- "1xf18kzz96hgfy1vlbnydrizzpxkqj2iamfdbj3dx5a1zz5mi8n0" ; hash
- "google.golang.org/protobuf" ; path
- (list go-github-com-google-go-cmp ; inputs
- go-github-com-golang-protobuf))))
-
-(define go-github-com-google-cel-go
- (source-only (go-package
- "go-github-com-google-cel-go"
- "0.18.1"
- "https://github.com/google/cel-go"
- "07jp5n266jyk74zaj1n1g15apn2nw1lr6v5zmi13fhir91k6sybr"
- "github.com/google/cel-go"
- (list))))
-
-(define go-github-com-klauspost-compress
- (go-package
- "go-github-com-klauspost-compress"
- "1.17.0"
- "https://github.com/klauspost/compress"
- "1fjch04mz11lyikzw1xmm541wc5fkvxk18a9wgzxvdvszs84xfjn"
- "github.com/klauspost/compress"
- (list)))
-
-(define go-github-com-rs-xid
- (go-package
- "go-github-com-rs-xid"
- "1.2.1"
- "https://github.com/rs/xid"
- "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j"
- "github.com/rs/xid"
- (list)))
-
-(define go-github-com-micromdm-scep
- (source-only (go-package
- "go-github-com-micromdm-scep"
- "2.1.0"
- "https://github.com/micromdm/scep"
- "1a3knshfmh8lniz098ir0rl7ixb2a0zwvdlwy22a6q8fsicfk40q"
- "github.com/micromdm/scep"
- (list))))
-
-(define go-github-com-smallstep-certificates
- (source-only (go-package
- "go-github-com-smallstep-certificates"
- "0.25.0"
- "https://github.com/smallstep/certificates"
- "1f7ignpnsj5q1qfdn040hjh9gzix4bg88wspjzx0qms9s9c42n1g"
- "github.com/smallstep/certificates"
- (list go-github-com-rs-xid
- go-github-com-micromdm-scep))))
-
-(define go-github-com-smallstep-truststore
- (source-only (go-package
- "go-github-com-smallstep-truststore"
- "0.12.1"
- "https://github.com/smallstep/truststore"
- "06a73r4h69q3626x14xcc4rkiparyvhwbn19g22y2r9pgvxirfi9"
- "github.com/smallstep/truststore"
- (list))))
-
-(define gopkg-in-square-go-jose-v2
- (go-package
- "gopkg-in-square-go-jose-v2"
- "2.6.0"
- "https://github.com/square/go-jose"
- "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r"
- "gopkg.in/square/go-jose.v2"
- (list go-golang-org-x-crypto)))
-
-(define go-filippo-io-edwards25519
- (go-package
- "go-filippo-io-edwards25519"
- "1.0.0"
- "https://github.com/FiloSottile/edwards25519"
- "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"
- "filippo.io/edwards25519"
- (list)))
-
-(define go-github-com-masterminds-goutils
- (go-package
- "go-github-com-masterminds-goutils"
- "1.1.1"
- "https://github.com/Masterminds/goutils"
- "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh"
- "github.com/Masterminds/goutils"
- (list)))
-
-(define go-github-com-shopspring-decimal
- (go-package
- "go-github-com-shopspring-decimal"
- "1.3.1"
- "https://github.com/shopspring/decimal"
- "1w1wjv2aqyqp22s8gc2nxp8gk4h0dxvp15xsn5lblghaqjcd239h"
- "github.com/shopspring/decimal"
- (list)))
-
-(define go-github-com-imdario-mergo
- (go-package
- "go-github-com-imdario-mergo"
- "1.0.0"
- "https://github.com/imdario/mergo"
- "037k2bd97vnbyhn2sczxk0j6ijmv06n1282f76i3ky73s3qmqnlf"
- "github.com/imdario/mergo"
- (list)))
-
-(define go-github-com-huandu-xstrings
- (go-package
- "go-github-com-huandu-xstrings"
- "1.4.0"
- "https://github.com/huandu/xstrings"
- "0y6afn5yp5pw1gjc4a6gxxkj753w2aaw46nwbi7scnqdqlb2l3cp"
- "github.com/huandu/xstrings"
- (list)))
-
-(define go-github-com-mitchellh-reflectwalk
- (go-package
- "go-github-com-mitchellh-reflectwalk"
- "1.0.2"
- "https://github.com/mitchellh/reflectwalk"
- "1nxgb4gskzv045539vb312n0a443308dvh1akz7vi6x1l0z46zsm"
- "github.com/mitchellh/reflectwalk"
- (list)))
-
-(define go-github-com-mitchellh-copystructure
- (go-package
- "go-github-com-mitchellh-copystructure"
- "1.2.0"
- "https://github.com/mitchellh/copystructure"
- "1izw243b3r03nvgnnxvk706l3s3v3q7k69kq3n4asnzjkcymq7sm"
- "github.com/mitchellh/copystructure"
- (list go-github-com-mitchellh-reflectwalk)))
-
-(define go-github-com-spf13-cast
- (go-package
- "go-github-com-spf13-cast"
- "1.5.1"
- "https://github.com/spf13/cast"
- "05ahl8kicdhz95rxraavqsfsb8bvj03abpk8zclypy1gchc0vm7y"
- "github.com/spf13/cast"
- (list)))
-
-(define go-github-com-masterminds-semver
- (go-package
- "go-github-com-masterminds-semver"
- "3.2.1"
- "https://github.com/Masterminds/semver"
- "1h4c647dgq6k5q78j3m98ccdrzd7kbcq4ahdy25j72rbxjmci8al"
- "github.com/Masterminds/semver"
- (list)))
-
-(define go-github-com-masterminds-sprig
- (go-package
- "go-github-com-masterminds-sprig"
- "3.2.2"
- "https://github.com/Masterminds/sprig"
- "0wfbzhmv971si9gx9c77gz89b9va2y03bhdmds9hzal4i7cccw2x"
- "github.com/Masterminds/sprig"
- (list go-github-com-masterminds-goutils
- go-github-com-masterminds-semver
- go-github-com-google-uuid
- go-golang-org-x-crypto
- go-github-com-shopspring-decimal
- go-github-com-huandu-xstrings
- go-github-com-imdario-mergo
- go-github-com-spf13-cast
- go-github-com-mitchellh-copystructure)))
-
-(define go-step-sm-crypto
- (source-only (go-package
- "go-step-sm-crypto"
- "0.35.1"
- "https://github.com/smallstep/crypto"
- "0fb77246iyxhw91d52ph6b3bl32182xs3cw1fzhs884km9wary8v"
- "go.step.sm/crypto"
- (list gopkg-in-square-go-jose-v2
- go-filippo-io-edwards25519
- go-github-com-masterminds-sprig))))
-
-(define go-step-sm-cli-utils
- (source-only (go-package
- "go-step-sm-cli-utils"
- "0.8.0"
- "https://github.com/smallstep/cli-utils"
- "1239ivvmjvmmy5jkv6n7zg9qpk5wlnsb4prw4k3fx3nycx8nd3pa"
- "go.step.sm/cli-utils"
- (list))))
-
-(define go-github-com-go-logr-logr
- (go-package
- "go-github-com-go-logr-logr"
- "1.2.4"
- "https://github.com/go-logr/logr"
- "1ara5lacbzwqw8m6800837jgf5gbcfj6namm0zwzb45xqgfl64c0"
- "github.com/go-logr/logr"
- (list)))
-
-(define go-github-com-go-logr-stdr
- (go-package
- "go-github-com-go-logr-stdr"
- "1.2.2"
- "https://github.com/go-logr/stdr"
- "1dl2rzvjacwqlnvw7azrxqbh4jvzaq8v399f6drs146l39ss21c1"
- "github.com/go-logr/stdr"
- (list go-github-com-go-logr-logr)))
-
-(define go-github-com-grpc-ecosystem-grpc-gateway
- (source-only (go-package
- "go-github-com-grpc-ecosystem-grpc-gateway"
- "2.18.0"
- "https://github.com/grpc-ecosystem/grpc-gateway"
- "0rkymxrwm4bk2sizawnrmn54jjkiwlzh2mxrsz435lhrzk3zfmhm"
- "github.com/grpc-ecosystem/grpc-gateway"
- (list))))
-
-(define go-google-golang-org-genproto
- (source-only (commit-go-package
- "go-google-golang-org-genproto"
- "e6e6cdab5c137738d2c1bc9d66183cfbd9f440d1"
- "https://github.com/googleapis/go-genproto"
- "1c7dm3iwc0k25ynxqnzfqf9mn47fw5sy4sbgm5v4akg1klzkvkpg"
- "google.golang.org/genproto"
- (list))))
-
-(define go-google-golang-org-grpc
- (go-package
- "go-google-golang-org-grpc"
- "1.58.2"
- "https://github.com/grpc/grpc-go"
- "1qchzb1kv03mjd5k4j5lcr3arwvlridgfmsdlv9grmnpx7caw8sf"
- "google.golang.org/grpc"
- (list go-google-golang-org-protobuf
- go-golang-org-x-sys
- go-golang-org-x-net
- go-golang-org-x-text
- go-google-golang-org-genproto)))
-
-(define go-opentelemetry-io-proto-otlp
- (source-only (set-unpack (go-package
- "go-opentelemetry-io-proto-otlp"
- "1.0.0"
- "https://github.com/open-telemetry/opentelemetry-proto-go"
- "0w69grih4qv8pw6ywpa9f675mixrxhqzcqafrp6ibrd7z3mdzfyq"
- "go.opentelemetry.io/proto"
- (list go-github-com-grpc-ecosystem-grpc-gateway))
- "go.opentelemetry.io/proto/otlp")))
-
-(define go-opentelemetry-io-otel
- (go-package
- "go-opentelemetry-io-otel"
- "1.19.0"
- "https://github.com/open-telemetry/opentelemetry-go"
- "06lmf7pnxp9b5ciy5yv7qwzph8k7w2m48g7p72fl5y3g57lh8v7w"
- "go.opentelemetry.io/otel"
- (list go-github-com-go-logr-stdr
- go-opentelemetry-io-proto-otlp
- go-google-golang-org-grpc)))
-
-(define go-github-com-yuin-goldmark
- (go-package
- "go-github-com-yuin-goldmark"
- "1.5.5"
- "https://github.com/yuin/goldmark"
- "0kziqic2rgnb0fyng9rmlg8akk4bv07qhscy4n6z45f235r1l955"
- "github.com/yuin/goldmark"
- (list)))
-
-(define go-github-com-dlclark-regexp2
- (go-package
- "go-github-com-dlclark-regexp2"
- "1.10.0"
- "https://github.com/dlclark/regexp2"
- "137jrvg6w6ivc0qm4zgk3hjf06kfl900m8730hbd5xnhxzyf6717"
- "github.com/dlclark/regexp2"
- (list)))
-
-(define go-github-com-alecthomas-chroma
- (go-package
- "go-github-com-alecthomas-chroma"
- "2.7.0"
- "https://github.com/alecthomas/chroma"
- "0i4ck23gn0v7x6r8wa2k7qiwhxpxqqnaknb9iy9rz8pjcj14ai75"
- "github.com/alecthomas/chroma/v2"
- (list go-github-com-dlclark-regexp2)))
-
-(define go-github-com-yuin-goldmark-highlighting
- (set-go (set-inputs (go-version-go-package
- "go-github-com-yuin-goldmark-highlighting"
- "v2.0.0-20230729083705-37449abec8cc"
- "https://github.com/yuin/goldmark-highlighting"
- "163jbi8si9qxcabzni39qypj495y48rabkkchc03ay68p19v160y"
- "github.com/yuin/goldmark-highlighting/v2"
- (list))
- (list (set-go (go-package
- "go-github-com-yuin-goldmark"
- "1.4.15"
- "https://github.com/yuin/goldmark"
- "0qs08hy288zdr0xpd49rp8h1048s1n7frmzcmb8diqpcv5hvbmgm"
- "github.com/yuin/goldmark"
- (list))
- go-1.14)
- (set-go (go-package
- "go-github-com-alecthomas-chroma"
- "2.2.0"
- "https://github.com/alecthomas/chroma"
- "0rxsi4kdf363p6ysvxvgndbvcb0a5zgm0iaxkkqllj3m8nfwmzlk"
- "github.com/alecthomas/chroma/v2"
- (list go-std-1.17 go-github-com-dlclark-regexp2))
- go-1.14)))
- go-1.14))
-
-(define go-github-com-mitchellh-go-ps
- (go-package
- "go-github-com-mitchellh-go-ps"
- "1.0.0"
- "https://github.com/mitchellh/go-ps"
- "0ipcbz66x7q8xczi7cyfq06y7n7v0syvkp730vn9jrn7s8f5ag0z"
- "github.com/mitchellh/go-ps"
- (list)))
-
-(define go-github-com-tailscale-tscert
- (commit-go-package
- "go-github-com-tailscale-tscert"
- "28a91b69a0467442178b62e2cfb9ab272ed3b64c"
- "https://github.com/tailscale/tscert"
- "0zzpkff4nrknh345nqiaz88hvlc5pynhzyws02f3rlcyjh7kj2sh"
- "github.com/tailscale/tscert"
- (list go-golang-org-x-sys
- go-github-com-mitchellh-go-ps)))
-
-(define go-opentelemetry-io-contrib
- (go-package
- "go-opentelemetry-io-contrib"
- "1.20.0"
- "https://github.com/open-telemetry/opentelemetry-go-contrib"
- "0vsv2ihjk3i3k1mwkdjngcp497knw85fz1m32lycl6qf3fcpzaiy"
- "go.opentelemetry.io/contrib"
- (list)))
-
-(define go-github-com-dustin-go-humanize
- (go-package
- "go-github-com-dustin-go-humanize"
- "1.0.1"
- "https://github.com/dustin/go-humanize"
- "1iyhd90pnmxh64nhsh6k02c1b1glpmhh4whga9jgb9g0i5hz3sya"
- "github.com/dustin/go-humanize"
- (list)))
-
-(define go-github-com-burntsushi-toml
- (go-package
- "go-github-com-burntsushi-toml"
- "1.3.2"
- "https://github.com/BurntSushi/toml"
- "1s1d3622al03xgx84iqai384ycfp5hgy2r6h4db29byamqgk530l"
- "github.com/BurntSushi/toml"
- (list)))
-
(define-public caddy
(package
- (name "caddy")
+ (name "Caddy")
(version "2.7.4")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/caddyserver/caddy")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (url "https://github.com/caddyserver/caddy")
+ (commit (string-append "v" version))))
(sha256
(base32
"0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
(build-system go-build-system)
- (inputs (list go-github-com-hashicorp-go-uuid
- go-github-com-burntsushi-toml
- go-github-com-dustin-go-humanize
- go-github-com-yuin-goldmark
- go-github-com-yuin-goldmark-highlighting
- go-github-com-tailscale-tscert
- go-github-com-google-cel-go
- go-step-sm-crypto
- go-step-sm-cli-utils
- go-github-com-smallstep-certificates
- go-github-com-smallstep-truststore
- go-opentelemetry-io-otel
- go-opentelemetry-io-contrib
- go-github-com-google-uuid
- go-github-com-lucas-clemente-quic-go
- go-github-com-prometheus-client-golang
- go-github-com-prometheus-procfs
- go-github-com-prometheus-common
- go-google-golang-org-protobuf
- go-github-com-beorn7-perks
- go-github-com-cespare-xxhash
- go-go-uber-org-zap
- go-golang-org-x-term
- go-github-com-caddy-certmagic
- go-github-com-quic-go-quic-go
- go-github-com-quic-go-qpack
- go-github-com-klauspost-compress
- go-github-com-golang-protobuf
- go-golang-org-x-net
- go-golang-org-x-sync))
+ (native-inputs (list go-github-com-google-uuid
+ go-go-uber-org-zap
+ go-github-com-caddy-certmagic
+ go-github-com-prometheus-client-golang
+ go-golang-org-x-term
+ go-golang-org-x-sys))
(arguments
- `(#:go ,go-1.20
- #:substitutable? #f
- #:install-source? #t
- #:import-path "github.com/caddyserver/caddy"
- #:tests? #f
- #:phases (modify-phases %standard-phases
- (replace 'build
- (lambda arguments
- (apply (assoc-ref %standard-phases
- 'build)
- `(,@arguments #:import-path
- "github.com/caddyserver/caddy/cmd/caddy")))))))
- (synopsis "A powerful, enterprise-ready, open source web server with automatic HTTPS written in Go ")
- (description "Caddy simplifies your infrastructure. It takes care of TLS certificate renewals, OCSP stapling, static file serving, reverse proxying, Kubernetes ingress, and more.
- Its modular architecture means you can do more with a single, static binary that compiles for any platform.
- Caddy runs great in containers because it has no dependencies—not even libc. Run Caddy practically anywhere.")
- (home-page "https://caddyserver.com/")
- (license license:asl2.0)))
+ (list #:tests? #f
+ #:go go-1.20
+ ;#:unpack-path "github.com/caddyserver/caddy"
+ #:import-path "github.com/caddyserver/caddy"))
+ (home-page "https://github.com/caddyserver/caddy")
+ (synopsis "Web server")
+ (description "This package serves the web")
+ (license license:expat)))
diff --git a/modules/freya/packages/linux.scm b/modules/freya/packages/linux.scm
index dffe996..b62f1fa 100644
--- a/modules/freya/packages/linux.scm
+++ b/modules/freya/packages/linux.scm
@@ -6,7 +6,8 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages python-xyz)
#:use-module (guix git-download)
- #:use-module (guix utils))
+ #:use-module (guix utils)
+ #:use-module (freya packages networking))
(define-public bluez-new
(package
@@ -21,14 +22,56 @@
(sha256
(base32
"0vjk4ihywzv8k07bxq7clqgi2afrw54nfp0gcnxw35m98nipz7a9"))))
- (arguments
- (list
- #:configure-flags
- #~(list "--sysconfdir=/etc"
- "--localstatedir=/var"
- "--enable-library"
- "--disable-manpages"
- "--disable-systemd"
- "--enable-hid2hci"
- (string-append "--with-dbusconfdir=" #$output "/etc")
- (string-append "--with-udevdir=" #$output "/lib/udev"))))))
+ (arguments (list
+ #:configure-flags
+ #~(list "--sysconfdir=/etc"
+ "--localstatedir=/var"
+ "--enable-library"
+ "--disable-manpages"
+ "--disable-systemd"
+ "--enable-hid2hci"
+ (string-append "--with-dbusconfdir=" #$output "/etc")
+ (string-append "--with-udevdir=" #$output "/lib/udev"))))))
+
+
+(define-public pipewire-new
+ (package
+ (inherit pipewire)
+ (name "pipewire")
+ (version "1.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/pipewire/pipewire")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0cvbyklzqcdr9zj7k7psb24xp8cxb9fdksrd74r68zvnbbix1qlx"))))
+ (inputs
+ (modify-inputs
+ (package-inputs pipewire)
+ (delete "alsa-lib")
+ (prepend alsa-lib-new)))))
+
+
+(define-public wireplumber-new
+ (package
+ (inherit wireplumber)
+ (name "wireplumber")
+ (version "0.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.freedesktop.org/pipewire/wireplumber.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s9p2hpi9v4w70j6hhqnsa4czhn3rzrk03j0qb7lz87qlw491yks"))))
+ (inputs
+ (modify-inputs
+ (package-inputs wireplumber)
+ (delete "pipewire")
+ (prepend pipewire-new)))))
diff --git a/modules/freya/packages/mozillia.scm b/modules/freya/packages/mozillia.scm
index 57c9b54..68a2601 100644
--- a/modules/freya/packages/mozillia.scm
+++ b/modules/freya/packages/mozillia.scm
@@ -6,6 +6,7 @@
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system trivial)
+ #:use-module (freya packages linux)
#:use-module (nonguix build-system binary)
#:use-module (nongnu packages mozilla))
@@ -20,7 +21,7 @@
(license license:mpl2.0)
(inputs
`(("bash" ,bash-minimal)
- ("pipewire" ,pipewire)
+ ("pipewire" ,pipewire-new)
("firefox" ,firefox)))
(build-system trivial-build-system)
(arguments
diff --git a/modules/freya/packages/networking.scm b/modules/freya/packages/networking.scm
index e18d357..57c1a25 100644
--- a/modules/freya/packages/networking.scm
+++ b/modules/freya/packages/networking.scm
@@ -1,7 +1,9 @@
(define-module (freya packages networking)
#:use-module (guix gexp)
#:use-module (guix packages)
+ #:use-module (guix download)
#:use-module (gnu packages)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages networking)
#:use-module (freya packages linux)
#:use-module (guix utils))
@@ -14,3 +16,19 @@
(package-inputs blueman)
(delete "bluez")
(prepend bluez-new)))))
+
+(define-public alsa-lib-new
+ (package
+ (inherit alsa-lib)
+ (name "alsa-lib")
+ (version "1.2.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1lnh38wii8mnwp3n4hnqa718rgi52rq6ix1llsjrs9r7hs8css28"))))))
+
+
diff --git a/modules/freya/packages/wm.scm b/modules/freya/packages/wm.scm
index 53f7738..a4daf59 100644
--- a/modules/freya/packages/wm.scm
+++ b/modules/freya/packages/wm.scm
@@ -39,6 +39,7 @@
#:use-module (freya packages gl)
#:use-module (freya packages admin)
#:use-module (freya packages cmake)
+ #:use-module (freya packages linux)
#:use-module (freya packages freedesktop)
#:use-module (freya packages assembly)
#:use-module (guix utils))
@@ -249,7 +250,7 @@ for c++.")
(define-public aquamarine
(package
(name "aquamarine")
- (version "0.2.0")
+ (version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -260,7 +261,7 @@ for c++.")
(file-name (git-file-name name version))
(sha256
(base32
- "061shgk8lvbk4f35cf057hl4jh36aahd6l3si6ga91rzl184b9sh"))))
+ "114fspibmrwvzdmzv4xdy000vg7mn9r5vas3pr1ndb9xyl15ja1s"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f))
@@ -311,101 +312,99 @@ for c++.")
(define-public hyprland
- (let ((commit "0e86808e5912823f1c6bea1b6d5fcae297fc9f57")
- (revision "1"))
- (package
- (name "hyprland")
- (version (git-version "0.42.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hyprwm/Hyprland")
- (commit commit)))
- (patches (list
- (local-file "patches/hyprland-fix-cmake.patch")))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each delete-file-recursively
- '("hyprpm"
- "subprojects"))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "10fiipxxkdvwxqgll5q5sa8sl5hm323gshx9bmlmlry07r0mk3mx"))))
- (build-system cmake-build-system)
- (arguments
- (list #:tests? #f
- #:build-type "release"
- #:cmake cmake-minimal-3.27.0
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* (find-files "src" "\\.cpp$")
- (("/usr/local(/bin/Hyprland)" _ path)
- (string-append #$output path))
- (("/usr") #$output)
- (("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
- _ pre cmd)
- (string-append
- pre (search-input-file
- inputs (string-append "bin/" cmd))))
- (("\\<cc\\>") (search-input-file inputs "bin/gcc"))
- ;; NOTE: Add binutils to inputs will override ld-wrapper.
- (("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
- (string-append pre #$binutils "/bin/nm"))
- (("\\<(addr2line|objcopy)\\>" _ cmd)
- (string-append #$binutils "/bin/" cmd)))
- (substitute* "CMakeLists.txt"
- (("libudis86") "udis86"))
- ))
- (add-after 'fix-path 'fix-protocols
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((protocols (string-append
- (getcwd)
- "/subprojects/hyprland-protocols/protocols")))
- (mkdir-p protocols)
- (copy-recursively
- (search-input-directory inputs "share/hyprland-protocols/protocols")
- protocols))))
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (mesa (assoc-ref inputs "mesa")))
- (wrap-program (string-append out "/bin/Hyprland")
- `("__EGL_VENDOR_LIBRARY_DIRS" prefix ,(list (string-append mesa "/share/glvnd/egl_vendor.d")))))))
- )))
- (native-inputs
- (list gcc-13
- jq
- pkg-config
- hyprwayland-scanner
- hwdata-for-hyprland))
- (inputs
- (list gcc-13
+ (package
+ (name "hyprland")
+ (version "0.42.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hyprwm/Hyprland")
+ (commit (string-append "v" version))))
+ (patches (list
+ (local-file "patches/hyprland-fix-cmake.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file-recursively
+ '("hyprpm"
+ "subprojects"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hp2xafvlymikxsi6pr8iik35g46683bg376n9hkjxgh9y6njzqv"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f
+ #:build-type "release"
+ #:cmake cmake-minimal-3.27.0
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "src" "\\.cpp$")
+ (("/usr/local(/bin/Hyprland)" _ path)
+ (string-append #$output path))
+ (("/usr") #$output)
+ (("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
+ _ pre cmd)
+ (string-append
+ pre (search-input-file
+ inputs (string-append "bin/" cmd))))
+ (("\\<cc\\>") (search-input-file inputs "bin/gcc"))
+ ;; NOTE: Add binutils to inputs will override ld-wrapper.
+ (("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
+ (string-append pre #$binutils "/bin/nm"))
+ (("\\<(addr2line|objcopy)\\>" _ cmd)
+ (string-append #$binutils "/bin/" cmd)))
+ (substitute* "CMakeLists.txt"
+ (("libudis86") "udis86"))
+ ))
+ (add-after 'fix-path 'fix-protocols
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((protocols (string-append
+ (getcwd)
+ "/subprojects/hyprland-protocols/protocols")))
+ (mkdir-p protocols)
+ (copy-recursively
+ (search-input-directory inputs "share/hyprland-protocols/protocols")
+ protocols))))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (mesa (assoc-ref inputs "mesa")))
+ (wrap-program (string-append out "/bin/Hyprland")
+ `("__EGL_VENDOR_LIBRARY_DIRS" prefix ,(list (string-append mesa "/share/glvnd/egl_vendor.d")))))))
+ )))
+ (native-inputs
+ (list gcc-13
+ jq
+ pkg-config
+ hyprwayland-scanner
+ hwdata-for-hyprland))
+ (inputs
+ (list gcc-13
- cairo
- pango
- pciutils
- libliftoff
- udis86
+ cairo
+ pango
+ pciutils
+ libliftoff
+ udis86
- aquamarine
- hyprcursor
- hyprland-protocols
- hyprlang
- hyprutils
+ aquamarine
+ hyprcursor
+ hyprland-protocols
+ hyprlang
+ hyprutils
- xorg-server-xwayland-for-hyprland))
- (home-page "https://hyprland.org")
- (synopsis "Dynamic tiling Wayland compositor based on wlroots")
- (description
- "Hyprland is a dynamic tiling Wayland compositor based on @code{wlroots}
-that doesn't sacrifice on its looks. It supports multiple layouts, fancy
-effe cts, has a very flexible IPC model allowing for a lot of customization, and
-more .")
- (license license:bsd-3))))
+ xorg-server-xwayland-for-hyprland))
+ (home-page "https://hyprland.org")
+ (synopsis "Dynamic tiling Wayland compositor based on wlroots")
+ (description
+ "Hyprland is a dynamic tiling Wayland compositor based on @code{wlroots}
+th doesn't sacrifice on its looks. It supports multiple layouts, fancy
+ef cts, has a very flexible IPC model allowing for a lot of customization, and
+mo .")
+ (license license:bsd-3)))
(define-public hyprpaper
@@ -519,7 +518,7 @@ more .")
(define-public xdg-desktop-portal-hyprland
(package
(name "xdg-desktop-portal-hyprland")
- (version "1.3.1")
+ (version "1.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -528,11 +527,10 @@ more .")
(file-name (git-file-name name version))
(sha256
(base32
- "0fdbzxanmmzrvb9wfzg1pdsnlg7dl6v5k8bl44w10n48s7bbbzn0"))))
- (build-system qt-build-system)
+ "14n4a8b91ili0kp2kjqlw3h57bsxkrjwg5bhlw2h3q93zaxv2b3k"))))
+ (build-system cmake-build-system)
(arguments
(list #:tests? #f ;No tests
- #:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-path
@@ -554,11 +552,12 @@ more .")
hyprland-protocols
wayland-protocols-1.36
hyprlang
- mesa
- pipewire
+ mesa-libglvnd
+ pipewire-new
qtwayland
sdbus-c++
- slurp))
+ slurp
+ qtbase))
(home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
(synopsis "XDG Desktop Portal backend for Hyprland")
(description
diff --git a/modules/freya/services/pipewire.scm b/modules/freya/services/pipewire.scm
index ccc71a3..adc5963 100644
--- a/modules/freya/services/pipewire.scm
+++ b/modules/freya/services/pipewire.scm
@@ -5,12 +5,14 @@
#:use-module (gnu services configuration)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
+ #:use-module (freya packages linux)
+ #:use-module (freya packages networking)
#:use-module (guix gexp))
(define (home-pipewire-profile-service config)
- (map specification->package
- (list "pipewire"
- "wireplumber")))
+ (list pipewire-new
+ wireplumber-new))
+
(define (home-pipewire-shepherd-service config)
(list
@@ -20,7 +22,7 @@
(provision '(pipewire))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
- (list #$(file-append pipewire "/bin/pipewire"))
+ (list #$(file-append pipewire-new "/bin/pipewire"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
@@ -35,7 +37,7 @@
(provision '(pipewire-pulse))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
- (list #$(file-append pipewire "/bin/pipewire-pulse"))
+ (list #$(file-append pipewire-new "/bin/pipewire-pulse"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
@@ -50,7 +52,7 @@
(provision '(wireplumber))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
- (list #$(file-append wireplumber "/bin/wireplumber"))
+ (list #$(file-append wireplumber-new "/bin/wireplumber"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
@@ -67,18 +69,18 @@
#~(string-append
"<"
#$(file-append
- pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf")
+ pipewire-new "/share/alsa/alsa.conf.d/50-pipewire.conf")
">\n<"
#$(file-append
- pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf")
+ pipewire-new "/share/alsa/alsa.conf.d/99-pipewire-default.conf")
">\n"
"
pcm_type.pipewire {
- lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so")
+ lib " #$(file-append pipewire-new "/lib/alsa-lib/libasound_module_pcm_pipewire.so")
"
}
ctl_type.pipewire {
- lib " #$(file-append pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so")
+ lib " #$(file-append pipewire-new "/lib/alsa-lib/libasound_module_ctl_pipewire.so")
"
}
")))))
diff --git a/modules/freya/system.scm b/modules/freya/system.scm
index c0e8f9f..1960982 100644
--- a/modules/freya/system.scm
+++ b/modules/freya/system.scm
@@ -29,6 +29,7 @@
#:use-module (guix packages)
#:use-module (nongnu packages linux)
#:use-module (srfi srfi-1)
+ #:use-module (freya bootloader uki)
#:use-module (freya packages wm)
#:use-module (freya packages certs)
#:use-module (freya packages linux)
@@ -58,7 +59,7 @@
(supplementary-groups '("wheel"
"audio"
"lp"
- "docker"
+ ;"docker"
"plugdev"
"libvirt"
"kvm"
@@ -105,7 +106,7 @@
; xdg
"xdg-utils"
"xdg-desktop-portal"
- ;"xdg-desktop-portal-wlr"
+ "xdg-desktop-portal-wlr"
"xdg-desktop-portal-gtk"
; firmware
@@ -141,6 +142,7 @@
; system daemons
"chrony"
"docker"
+ "containerd"
"avahi"
"gnupg"
"pinentry"
@@ -148,7 +150,6 @@
"brightnessctl"
"wireguard-tools"
"fprintd"
- "wireplumber"
"libpcap"
; fonts
@@ -204,7 +205,7 @@
(avahi-configuration
(publish? #f) ;; do not advertise this machiene
(publish-workstation? #f))) ; do not advertise, I want this to be as silent as possible
- (service docker-service-type)
+ ;(service docker-service-type)
;(service chrony-sericve-type)
(service nix-service-type)
(service libvirt-service-type
@@ -269,6 +270,6 @@
%base-file-systems))
(bootloader (bootloader-configuration
- (bootloader grub-efi-bootloader)
+ (bootloader uefi-uki-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))))