move packages/services to new sakura channel

This commit is contained in:
Freya Murphy 2024-10-23 14:34:31 -04:00
parent a94df856dd
commit 1b190e1774
Signed by: freya
GPG key ID: 744AB800E383AE52
28 changed files with 33 additions and 2731 deletions

View file

@ -19,4 +19,15 @@
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'sakura)
(url "https://g.freya.cat/freya/sakura")
(branch "main")
;(commit
; "2f5141276f50169cebe682f98a8c64d6c085aafb")
(introduction
(make-channel-introduction
"490f9018f0de343c7192c8a2d1f3d9d66f180c8d"
(openpgp-fingerprint
"4F6B C11C EBB2 F242 14B9 0FAC 9FF6 937B 829E 565A")))))

View file

@ -16,19 +16,18 @@
(gnu home services gnupg)
(gnu home services syncthing)
(gnu home services)
(freya services pipewire)
(freya packages shells)
(freya packages mozillia)
(freya packages librewolf)
(freya packages vim)
(freya packages gnome-xyz)
(freya packages shells)
(freya packages certs)
(freya packages wm)
(freya packages hypr)
(freya packages linux)
(freya packages networking)
(freya packages audio))
(freya certs)
(sakura services pipewire)
(sakura packages shells)
(sakura packages librewolf)
(sakura packages vim)
(sakura packages gnome-xyz)
(sakura packages shells)
(sakura packages wm)
(sakura packages hypr)
(sakura packages linux)
(sakura packages networking)
(sakura packages audio))
(home-environment
@ -122,7 +121,6 @@
; programs
neovim-new
easyeffects
firefox-wayland-new
librewolf-new
gamescope

View file

@ -1,114 +0,0 @@
(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 disk
(call-with-port
(open-pipe* OPEN_READ findmnt "-fnro" "SOURCE" "-T" target)
(lambda (port) (get-line port)))) ; only 1 line: the device
(define part
(substring disk (- (string-length disk) 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))

View file

@ -1,4 +1,4 @@
(define-module (freya packages certs)
(define-module (freya certs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system trivial)
@ -13,7 +13,7 @@
(package
(name "freya-ca-certs")
(version "1")
(source (local-file "../../../certs"
(source (local-file "../../certs"
#:recursive? #t))
(build-system trivial-build-system)
(license license:mpl2.0)

View file

@ -1,84 +0,0 @@
(define-module (freya packages audio)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system meson)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages glib)
#:use-module (gnu packages audio)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xiph)
#:use-module (gnu packages tbb)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gcc)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages algebra)
#:use-module (gnu packages cpp)
#:use-module (gnu packages linux)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages cmake)
#:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config))
(define-public easyeffects
(package
(name "easyeffects")
(version "7.1.7")
(arguments
(list
#:modules
'((guix build utils)
(guix build meson-build-system))
#:imported-modules
(append %meson-build-system-modules)
#:tests? #f))
(native-inputs (list gettext-minimal
itstool
desktop-file-utils
`(,glib "bin")
`(,gtk+ "bin")
pkg-config
cmake
appstream-glib
gcc-13))
(inputs (list zita-convolver
rnnoise
tbb
fftwf
lilv
fmt
rubberband
speexdsp
nlohmann-json
pipewire
libadwaita
libsigc++
libbs2b
libsndfile
libsamplerate
libebur128
libportal
gsl
speex
ladspa
soundtouch
gcc-13
`(,util-linux "lib")))
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/wwmm/easyeffects/archive/refs/tags/v" version
".tar.gz"))
(sha256
(base32
"0akk2syckqhn13y7zhgpk2f7pyk09cjv9qcrx2pfba09pzw1z2f3"))))
(build-system meson-build-system)
(synopsis "Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications")
(description "This package provides @code{easyeffects}, which is an audio application for use atop of @code{pipewire}
that allows effects that modify sound sources and sinks. This cannot be updated to the latest version (7.0.8) because
the packaged version of @code{gtk} is too old.")
(home-page "https://github.com/wwmm/easyeffects")
(license license:gpl3+)))

View file

@ -1,109 +0,0 @@
(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 crypto)
#: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 libxcrypt 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+)))

View file

@ -1,181 +0,0 @@
(define-module (freya packages crates-io)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cargo)
#:use-module (gnu packages)
#:use-module (gnu packages crates-io)
#:use-module (freya packages linux)
#:use-module (guix utils))
(define-public rust-synstructure-0.13
(package
(inherit rust-synstructure-0.12)
(name "rust-synstructure")
(version "0.13.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "synstructure" version))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(sha256
(base32
"01jvj55fxgqa69sp1j9mma09p9vj6zwcvyvh8am81b1zfc7ahnr8"))))))
(define-public rust-libc-0.2.155
(package
(inherit rust-libc-0.2)
(name "rust-libc")
(version "0.2.155")
(source
(origin
(method url-fetch)
(uri (crate-uri "libc" version))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(sha256
(base32
"0z44c53z54znna8n322k5iwg80arxxpdzjj5260pxxzc9a58icwp"))))))
(define-public rust-cfg-aliases-0.2
(package
(inherit rust-cfg-aliases-0.1)
(name "rust-cfg-aliases")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "cfg_aliases" version))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(sha256
(base32
"092pxdc1dbgjb6qvh83gk56rkic2n2ybm4yvy76cgynmzi3zwfk1"))))))
(define-public rust-nix-0.29
(package
(inherit rust-nix-0.28)
(name "rust-nix")
(version "0.29.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "nix" version))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(sha256
(base32
"0ikvn7s9r2lrfdm3mx1h7nbfjvcc6s9vxdzw7j5xfkd2qdnp9qki"))))
(arguments
(substitute-keyword-arguments (package-arguments rust-nix-0.28)
((#:cargo-inputs inputs ''())
`(("rust-bitflags" ,rust-bitflags-2)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-cfg-aliases" ,rust-cfg-aliases-0.2)
("rust-libc" ,rust-libc-0.2.155)
("rust-memoffset" ,rust-memoffset-0.9)
("rust-pin-utils" ,rust-pin-utils-0.1)))))))
(define-public rust-custom-debug-derive-0.6
(package
(name "rust-custom-debug-derive")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "custom_debug_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(sha256
(base32
"0sagiyiw5h0yi0wmc8dgqyrk4xy9zb0mwinbagi10ff7745l8cgp"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs (("rust-darling" ,rust-darling-0.20)
("rust-itertools" ,rust-itertools-0.12)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote-1" ,rust-quote-1)
("rust-syn" ,rust-syn-2)
("rust-synstructure" ,rust-synstructure-0.13))))
(home-page "https://github.com/panicbit/custom_debug")
(synopsis "Derive Debug with a custom format per field")
(description "todo")
(license license:expat)))
(define-public rust-custom-debug-0.6
(package
(name "rust-custom-debug")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "custom_debug" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0mnj2k1k1mjg34f2zcyyiqp205fjkpim5h3nf2f90gjh1szibrql"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs (("rust-custom-debug-derive" ,rust-custom-debug-derive-0.6))))
(home-page "https://github.com/panicbit/custom_debug")
(synopsis "Derive Debug with a custom format per field")
(description "todo")
(license license:expat)))
(define-public rust-bluer-0.17
(package
(name "rust-bluer")
(version "0.17.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "bluer" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ysgxnkijfly78kf9rxg827a9qbndpfdc65cndybc51cv1f6mvz9"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs (("rust-futures" ,rust-futures-0.3)
("rust-hex" ,rust-hex-0.4)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-macaddr" ,rust-macaddr-1)
("rust-nix" ,rust-nix-0.29)
("rust-num-derive" ,rust-num-derive-0.4)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-strum" ,rust-strum-0.26)
("rust-tokio" ,rust-tokio-1)
("rust-uuid" ,rust-uuid-1)
("rust-custom-debug" ,rust-custom-debug-0.6)
("rust-dbus" ,rust-dbus-0.9)
("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
("rust-dbus-tokio" ,rust-dbus-tokio-0.7)
("rust-displaydoc" ,rust-displaydoc-0.2)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-pin-project" ,rust-pin-project-1)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-tokio-stream" ,rust-tokio-stream-0.1))
#:cargo-development-inputs (("rust-clap" ,rust-clap-4)
("rust-env-logger" ,rust-env-logger-0.11)
("rust-rand" ,rust-rand-0.8)
("rust-tokio" ,rust-tokio-1))))
(inputs
(list bluez-new))
(home-page "https://github.com/bluez/bluer")
(synopsis "Official Rust interface to the Linux Bluetooth protocol stack (BlueZ)")
(description "todo")
(license license:bsd-2)))

View file

@ -1,147 +0,0 @@
(define-module (freya packages gnome-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnome-xyz)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (guix utils))
(define-public lavanda-gtk-theme
(let ((commit "44c74ad34d272e07b91f779e62e63b6ef8645655"))
(package
(name "lavanda-gtk-theme")
(version (git-version "" "0" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vinceliuice/Lavanda-gtk-theme.git")
(commit commit)))
(sha256
(base32
"1q253kl5lw9dpbmwaf715brdjka7b3s3kpl4i6s262dji84pp3dc"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(inputs
`(("sassc" ,sassc)
("coreutils" ,coreutils)
("sed" ,sed)
("bash" ,bash)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/share/themes"))
(bash (string-append
(assoc-ref %build-inputs "bash")
"/bin/sh"))
(coreutils (string-append
(assoc-ref %build-inputs "coreutils")
"/bin"))
(sed (string-append
(assoc-ref %build-inputs "sed")
"/bin"))
(sassc (string-append
(assoc-ref %build-inputs "sassc")
"/bin"))
(source (assoc-ref %build-inputs "source")))
(copy-recursively source (getcwd))
(setenv "PATH" (string-append (getenv "PATH") ":" coreutils ":" sed ":" sassc))
(mkdir-p bin)
(invoke bash "build.sh")
(invoke bash "install.sh" "-d" bin)))))
(home-page "https://github.com/vinceliuice/Lavanda-gtk-theme")
(synopsis "Lavanda gtk theme for linux desktops")
(description "Lavanda gtk theme for linux desktops")
(license license:gpl3))))
(define-public mint-themes
(package
(name "mint-themes")
(version "2.1.8")
(source
(origin
(method url-fetch)
(uri (string-append "http://packages.linuxmint.com/pool/main/m/mint-themes/mint-themes_"
version "_all.deb"))
(sha256
(base32
"0a1j566a0p0nxmzil5z6qidzqd9dal1r5lv90x2v5s2slm162f3a"))
(file-name "source.deb")))
(build-system trivial-build-system)
(native-inputs
(list binutils
tar
xz))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(bin (string-append
(assoc-ref %outputs "out")
"/share/themes"))
(cwd (getcwd))
(deb (string-append cwd
"/source.deb"))
(data (string-append cwd
"/data.tar.xz"))
(themes (string-append cwd
"/usr/share/themes"))
(ar (string-append
(assoc-ref %build-inputs "binutils")
"/bin/ar"))
(tar (string-append
(assoc-ref %build-inputs "tar")
"/bin/tar"))
(xz-bin (string-append
(assoc-ref %build-inputs "xz")
"/bin")))
(setenv "PATH" (string-append (getenv "PATH") ":" xz-bin))
(copy-file source deb)
(invoke ar "x" deb "--output" cwd)
(invoke tar "xf" data "-C" cwd)
(mkdir-p bin)
(copy-recursively themes bin)))))
(home-page "https://github.com/linuxmint/mint-themes")
(synopsis "A collection of Mint themes.")
(description "A collection of Mint themes.")
(license license:gpl3+)))
(define-public orchis-theme-2024
(package
(inherit orchis-theme)
(name "orchis-theme")
(version "2024-05-30")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/vinceliuice/Orchis-theme")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qjw54wfi8f39cc6l53h2rx9sy3048r4jf21w18xp88ilznnv5qf"))))
(arguments
(substitute-keyword-arguments (package-arguments orchis-theme)
((#:configure-flags flags ''())
#~(list "--dest" (string-append
(assoc-ref %outputs "out")
"/share/themes")
"--theme" "all"))))))

View file

@ -1,61 +0,0 @@
(define-module (freya packages golang)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages golang))
(define-public go-github-com-caddy-certmagic
(package
(name "certmagic")
(version "0.19.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/caddyserver/certmagic")
(commit (string-append "v" version))))
(sha256
(base32
"0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
(build-system go-build-system)
(arguments
(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-public caddy
(package
(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))))
(sha256
(base32
"0jgbkj0azkbs828vsd3gycpab8pycgf55vrxkvnfmwfjpdiq1551"))))
(build-system go-build-system)
(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
(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)))

View file

@ -1,790 +0,0 @@
(define-module (freya packages hypr)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages wm)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages cpp)
#:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages compression)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gl)
#:use-module (gnu packages linux)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages image)
#:use-module (gnu packages xml)
#:use-module (gnu packages web)
#:use-module (gnu packages version-control)
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages xorg)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages man)
#:use-module (gnu packages qt)
#:use-module (gnu packages cmake)
#:use-module (gnu packages admin)
#:use-module (gnu packages glib)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module (freya packages linux)
#:use-module (guix utils))
;; Newer packages needed for Hyprland
;;
;; - libinput
;; - wayland
;; - hwdata
;; - udis86
;; - xorg headers
;; - mesa libglvnd
(define-public libinput-minimal-for-hyprland
(hidden-package (package
(inherit libinput-minimal)
(name "libinput-minimal")
(version "1.26.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/libinput/libinput.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"094k23i10jjmgdzhv5lj7xpc3fgkwi9afcihf0l2fjj71ym8l9fy"))))
(native-inputs
(modify-inputs (package-native-inputs libinput)
(append python-minimal-wrapper python-pytest))))))
(define-public wayland-for-hyprland
(hidden-package (package
(inherit wayland)
(name "wayland")
(version "1.23.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/" name
"/" name "/-/releases/" version "/downloads/"
name "-" version ".tar.xz"))
(sha256
(base32
"1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6")))))))
(define-public hwdata-for-hyprland
(hidden-package (package
(inherit hwdata)
(arguments
(substitute-keyword-arguments (package-arguments hwdata)
((#:phases _) #~%standard-phases)))
(outputs '("out")))))
(define-public udis86-for-hyprland
(let ((revision "186")
(commit "5336633af70f3917760a6d441ff02d93477b0c86"))
(hidden-package (package
(name "udis86")
(version (git-version "1.7.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/canihavesomecoffee/udis86")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool python-minimal-wrapper))
(home-page "https://github.com/canihavesomecoffee/udis86")
(synopsis "Disassembler Library for x86 and x86-64")
(description
"Udis86 is a disassembler for the x86 and x86-64 class of instruction
set architectures. It consists of a C library called @code{libudis86} and a
command line tool called @code{udcli} that incorporates the library.")
(license license:bsd-2)))))
(define-public xorg-server-xwayland-for-hyprland
(hidden-package (package
(inherit xorg-server-xwayland)
(arguments
(substitute-keyword-arguments (package-arguments xorg-server-xwayland)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'install 'install-headers
(lambda _
(let ((fmw (string-append #$output "/include")))
(mkdir-p fmw)
(copy-recursively "include" fmw))
))
)))))))
(define-public mesa-for-hyprland
(hidden-package (package
(inherit mesa)
(inputs
(modify-inputs
(package-inputs mesa)
(prepend libglvnd)))
(arguments
(substitute-keyword-arguments (package-arguments mesa)
((#:configure-flags flags ''())
#~(append (list "-Dglvnd=true")
#$flags)))))))
;; Hyprland Packages
(define-public hyprland-protocols
(package
(name "hyprland-protocols")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprland-protocols")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x86w7z3415qvixfhk9a8v5fnbnxdydzx366qz0mpmfg5h86qyha"))))
(build-system meson-build-system)
(home-page "https://hyprland.org")
(synopsis "Wayland protocol extensions for Hyprland")
(description
"This package provides Wayland protocol extensions for Hyprland and it
exists in an effort to bridge the gap between Hyprland and KDE/Gnome's
functionality. Since @code{wlr-protocols} is closed for new submissions, and
@code{wayland-protocols} is very slow with changes, this package will hold
protocols used by Hyprland to bridge the aforementioned gap.")
(license license:bsd-3)))
;; Common Packages needed by
;; multiple hyprland packages
(define hyprwayland-common
(list ; libs
cairo
pango
; mesa
mesa-for-hyprland
libglvnd
; wayland
wayland-for-hyprland
wayland-protocols-next
hyprland-protocols))
;; Common Packages needed by
;; aquamarine and any package
;; that uses it
(define aquamarine-common
(append hyprwayland-common
(list ; lib
libseat
pixman
libinput-minimal-for-hyprland
; x11
libdisplay-info
libxcb
libxinerama
libxcursor
libxkbcommon
xcb-util
xcb-util-errors
xcb-util-keysyms
xcb-util-wm)))
(define-public hyprlang
(package
(name "hyprlang")
(version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprlang")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0yvfrz3hdyxzhngzhr0bgc5279ra5fv01hbfi6pdj84pz0lpaw02"))))
(build-system cmake-build-system)
(native-inputs (list gcc-13
pkg-config))
(inputs (list hyprutils))
(home-page "https://hyprland.org/hyprlang/")
(synopsis "Official implementation library for hypr config language")
(description
"This package provides the official implementation for hypr configuration
language used in @code{hyprland}.")
(license license:gpl3+)))
(define-public hyprcursor
(package
(name "hyprcursor")
(version "0.1.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprcursor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rdn03ln7pqcwp8h4nmi7nc489q8y25dd3v4paq8ykvwzhvs3a1n"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f))
(inputs (list cairo hyprlang librsvg libzip tomlplusplus))
(native-inputs (list gcc-13 pkg-config))
(home-page "https://hyprland.org/")
(synopsis "Hyprland cursor format, library and utilities")
(description
"This package provides Hyprland cursor format, library and utilities.")
(license license:bsd-3)))
(define-public hyprwayland-scanner
(package
(name "hyprwayland-scanner")
(version "0.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprwayland-scanner")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r7ay4zjkfyr0xd73wz99qhnqjq7nma98gm51wm9lmai4igw90qw"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f))
(inputs (list pugixml))
(native-inputs (list gcc-13 pkg-config))
(home-page "https://github.com/hyprwm/hyprwayland-scanner")
(synopsis "hyprland implementation of wayland-scanner, in and for c++")
(description
"this package provides a hyprland implementation of wayland-scanner, in and
for c++.")
(license license:bsd-3)))
(define-public hyprutils
(package
(name "hyprutils")
(version "0.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprutils")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01dh24rf62gb6xm32f7mfv6wx0dxprr1q9y73hvv7xanrjyia2zn"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f))
(native-inputs (list gcc-13 pkg-config pixman))
(home-page "https://github.com/hyprwm/hyprutils")
(synopsis "Hyprland utilities library used across the ecosystem ")
(description
"this package provides hyprutils")
(license license:bsd-3)))
(define-public aquamarine
(package
(name "aquamarine")
(version "0.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/aquamarine")
(commit (string-append "v" version))))
(patches (list
(local-file "patches/aquamarine-fix-cmake.patch")))
(file-name (git-file-name name version))
(sha256
(base32
"0x1zz1ywchs0awkjkvdgskgqnp6pz5lqwmgr8g0zc0i7inhyg1p3"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f))
(native-inputs
(list gcc-13
pkg-config
mesa-headers
hyprwayland-scanner
hwdata-for-hyprland))
(inputs
(append aquamarine-common (list hyprutils)))
(home-page "https://hyprland.org")
(synopsis "Aquamarine is a very light linux rendering backend library ")
(description "") ;; TODO: this
(license license:bsd-3)))
(define-public hyprland
(package
(name "hyprland")
(version "0.44.1")
(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 "11vw1h9al4jvqprwbrmxvcpxwhvsjj398wbz4flqbnmxa8idvdq1"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:cmake cmake-3.30
#:build-type "release"
#: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-14
jq
pkg-config
hyprwayland-scanner
hwdata-for-hyprland))
(inputs
(append aquamarine-common
(list ; libs
pciutils
libliftoff
udis86-for-hyprland
xorg-server-xwayland-for-hyprland
; hypr
aquamarine
hyprcursor
hyprlang
hyprutils)))
(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
(package
(name "hyprpaper")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/hyprpaper"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32
"1d23nsj5hzyxwvhkg9a7x1b8jgyqwzad91zb1894jnxr2d844h28"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f))
(native-inputs
(list gcc-13
pkg-config))
(inputs
(append hyprwayland-common
(list ; libs
libjpeg-turbo
libwebp
; hypr
hyprlang)))
(home-page "https://github.com/hyprwm/hyprpaper")
(license license:bsd-3)
(synopsis "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")
(description "Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.")))
(define-public hypridle
(package
(name "hypridle")
(version "0.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/hypridle"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32
"0ybwip7yq9q569naz5bnrvcdz99648c4pln2zi30z21y333hpas0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f))
(native-inputs
(list gcc-13
pkg-config))
(inputs
(append hyprwayland-common
(list hyprlang
sdbus-c++)))
(home-page "https://github.com/hyprwm/hypridle")
(license license:bsd-3)
(synopsis "Hyprland's idle daemon ")
(description "Hyprland's idle daemon ")))
(define-public hyprlock
(package
(name "hyprlock")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/hyprlock"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32
"0q5smah3zmg8vwipfd74n664mavkgzrqjn0i57gwmbwc111illw7"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(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/hyprlock")
`("__EGL_VENDOR_LIBRARY_DIRS" prefix ,(list (string-append mesa "/share/glvnd/egl_vendor.d"))))))))))
(native-inputs
(list gcc-13
pkg-config
mesa-headers
wayland))
(inputs
(append aquamarine-common
(list ; lib
libjpeg-turbo
libwebp
libdrm
linux-pam
; hypr
aquamarine
hyprlang
hyprutils)))
(home-page "https://github.com/hyprwm/hyprlock")
(license license:bsd-3)
(synopsis "Screen locker for Hyprland")
(description "Screen locker for hyprland.")))
(define-public xdg-desktop-portal-hyprland
(package
(name "xdg-desktop-portal-hyprland")
(version "1.3.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17ba9jkccyp8gv79ds70khgm5wm6x8zs5m9nkilq4n2j7fsa8cfl"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;No tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.cp?*$")
(("/bin/sh") "sh")
(("\\<(sh|grim|hyprctl|slurp)\\>" _ cmd)
(search-input-file inputs (string-append "/bin/" cmd)))
(("\\<(hyprland-share-picker)\\>" _ cmd)
(string-append #$output "/bin/" cmd))))))))
(native-inputs
(list gcc-13
pkg-config
hyprwayland-scanner))
(inputs
(append hyprwayland-common
(list ; libs
bash-minimal
grim
sdbus-c++
slurp
qtbase
pipewire-new
qtwayland
; hypr
hyprland
hyprlang
hyprutils)))
(home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
(synopsis "XDG Desktop Portal backend for Hyprland")
(description
"This package provides @code{xdg-desktop-portal-hyprland}, which extends
@code{xdg-desktop-portal-wlr} for Hyprland with support for
@code{xdg-desktop-portal} screenshot and casting interfaces, while adding a few
extra portals specific to Hyprland, mostly for window sharing.")
(license license:bsd-3)))
(define-public hyprland-plugin-hy3
(package
(name "hyprland-plugin-hy3")
(version "0.44.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/outfoxxed/hy3.git")
(commit (string-append "hl" version))))
(sha256
(base32
"03gxjkn43j85ff8d0hx9nhv5bfwv7vw7m8kacpmajmfnx43mldg9"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:configure-flags #~(list "DCMAKE_BUILD_TYPE=Release")))
(native-inputs
(list gcc-13
pkg-config
hyprwayland-scanner))
(inputs
(append aquamarine-common
(list ; lib
gcc-13
libdrm
; hypr
aquamarine
hyprland
hyprlang
hyprutils)))
(license license:gpl3)
(home-page "https://github.com/outfoxxed/hy3")
(synopsis "i3 / sway like layout for hyprland.")
(description "Hyprland plugin for an i3 / sway like manual tiling layout")))
(define-syntax hyprland-plugin-impl
(syntax-rules ()
((_ plugin)
(package
(name (string-append "hyprland-plugin-" plugin))
(version "0.44.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprland-plugins.git")
(commit (string-append "v" version))))
(sha256
(base32
"0v2zwvrjgc7zg4l8c50934kyq3y5x9f0d34gh3kyh44grfn8w9zx"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:cmake cmake-3.30
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir (string-append "../source/" plugin "/")))))))
(native-inputs
(list pkg-config
gcc-13
hyprwayland-scanner))
(inputs
(append aquamarine-common
(list ; libs
gcc-13
libdrm
; hypr
aquamarine
hyprland
hyprlang
hyprutils)))
(license license:bsd-3)
(home-page "https://github.com/hyprwm/hyprland-plugins")
(synopsis (string-append "official " plugin " plugin for hyprland"))
(description (string-append "official " plugin " plugin for hyprland"))))))
(define-public hyprland-plugin-borders-plus-plus
(hyprland-plugin-impl "borders-plus-plus"))
(define-public hyprland-plugin-csgo-vulkan-fix
(hyprland-plugin-impl "csgo-vulkan-fix"))
(define-public hyprland-plugin-hyprbars
(hyprland-plugin-impl "hyprbars"))
(define-public hyprland-plugin-hyprexpo
(hyprland-plugin-impl "hyprexpo"))
(define-public hyprland-plugin-hyprtrails
(hyprland-plugin-impl "hyprtrails"))
(define-public hyprland-plugin-hyprwinwrap
(hyprland-plugin-impl "hyprwinwrap"))
(define-public hyprland-plugins
(package
(name "hyprland-plugins")
(version "0.44.0")
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (begin (mkdir %output) #t)))
(license license:bsd-3)
(home-page "https://github.com/hyprwm/hyprland-plugins")
(synopsis "A collection of all the official hyprland plugins")
(description "A metapackage containing inputs for each official plugin")
(propagated-inputs (list hyprland-plugin-borders-plus-plus
hyprland-plugin-csgo-vulkan-fix
hyprland-plugin-hyprbars
hyprland-plugin-hyprexpo
hyprland-plugin-hyprtrails
hyprland-plugin-hyprwinwrap))))
(define-syntax hyprland-contrib-impl
(syntax-rules ()
((_ contrib)
(package
(name (string-append "hyprland-conrib-" contrib))
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/contrib.git")
(commit (string-append "v" version))))
(sha256
(base32
"0ld0sj7ahf9jf8cqzbqkhj3m2w60027ixic24ih26nwy90b5qjwx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(add-after 'unpack 'chdir
(lambda _ (chdir (string-append "../source/" contrib "/"))))
(add-after 'chdir 'patch-make
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
(("scdoc") (string-append (assoc-ref inputs "scdoc") "/bin/scdoc")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install" (string-append "PREFIX=" (assoc-ref outputs "out")))))
)))
(native-inputs (list scdoc))
(license license:expat)
(home-page "https://github.com/hyprwm/contrib")
(synopsis (string-append "official " contrib " script for hyprland"))
(description (string-append "official " contrib " script for hyprland"))))))
(define-public hyprland-contrib-grimblast
(hyprland-contrib-impl "grimblast"))
(define-public hyprland-contrib-hyprprop
(hyprland-contrib-impl "hyprprop"))
(define-public hyprland-contrib-scratchpad
(hyprland-contrib-impl "scratchpad"))
(define-public hyprland-contrib-shellevents
(hyprland-contrib-impl "shellevents"))
(define-public hyprland-contrib
(package
(name "hyprland-contrib")
(version "0.1")
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (begin (mkdir %output) #t)))
(license license:bsd-3)
(home-page "https://github.com/hyprwm/contrib")
(synopsis "A collection of all the official hyprland contrib scripts")
(description "A metapackage containing inputs for each official contrib script")
(propagated-inputs (list hyprland-contrib-grimblast
hyprland-contrib-hyprprop
hyprland-contrib-scratchpad
hyprland-contrib-shellevents))))

View file

@ -1,59 +0,0 @@
(define-module (freya packages librewolf)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system trivial)
#:use-module (gnu)
#:use-module (gnu packages bash)
#:use-module (gnu packages linux)
#:use-module (gnu packages librewolf)
#:use-module (freya packages linux))
(define-public librewolf-new
(package
(name "librewolf-new")
(source #f)
(version "0.1")
(synopsis "Simple wrapper for pipewire in librewolf")
(description "Simple wrapper for pipewire in librewolf")
(home-page "https://librewolf.net/")
(license license:mpl2.0)
(inputs
`(("bash" ,bash-minimal)
("pipewire" ,pipewire-new)
("librewolf" ,librewolf)))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((bash (assoc-ref %build-inputs "bash"))
(librewolf (assoc-ref %build-inputs "librewolf"))
(pipewire (assoc-ref %build-inputs "pipewire"))
(out (assoc-ref %outputs "out"))
(exe (string-append out "/bin/librewolf")))
(mkdir-p (dirname exe))
(call-with-output-file exe
(lambda (port)
;; NOTE: added "export LD_LIBRARY_PATH=pipewire"
;; maybe this can be done better with `wrap-programm'
(format port "#!~a \n
export LD_LIBRARY_PATH=~a \n
export MOZ_ENABLE_WAYLAND=1 \n
export MOZ_USE_XINPUT2=1 \n
exec ~a $@\n"
(string-append bash "/bin/bash")
(string-append pipewire "/lib")
(string-append librewolf "/bin/librewolf"))))
(chmod exe #o555)
;; Provide the manual and .desktop file.
(copy-recursively (string-append librewolf "/share")
(string-append out "/share"))
(substitute* (string-append
out "/share/applications/librewolf.desktop")
((librewolf) out))
#t))))))

View file

@ -1,107 +0,0 @@
(define-module (freya packages linux)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu packages python-xyz)
#:use-module (freya packages pulseaudio))
(define-public bluez-new
(package
(inherit bluez)
(version "5.78")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/bluetooth/bluez-"
version ".tar.xz"))
(sha256
(base32
"1qy5fc6z1l3fvcqkvyszzz2xr86yzi2nyphgvsw7bly52lcys3w3"))))
(arguments (list
#:configure-flags
#~(list (string-append "--prefix=" #$output)
"--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"))
#:phases
#~(modify-phases %standard-phases
(add-after 'configure 'fix-makefile
(lambda _
(substitute* "Makefile"
(("install-confDATA:") "install-IGNORED:")
(("install-confDATA") "")
(("bluetoothd-fix-permissions:") "install-IGNORED2:")
(("bluetoothd-fix-permissions") "")))))
))
))
(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"))))))
(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")
(delete "bluez")
(delete "pulseaudio")
(prepend alsa-lib-new)
(prepend bluez-new)
(prepend pulseaudio-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)))))

View file

@ -1,60 +0,0 @@
(define-module (freya packages mozillia)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu)
#:use-module (gnu packages bash)
#:use-module (gnu packages linux)
#: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))
(define-public firefox-wayland-new
(package
(name "firefox-wayland-new")
(source #f)
(version "0.1")
(synopsis "Simple wrapper for pipewire in firefox")
(description "Simple wrapper for pipewire in firefox")
(home-page "http://mozilla.org/")
(license license:mpl2.0)
(inputs
`(("bash" ,bash-minimal)
("pipewire" ,pipewire-new)
("firefox" ,firefox)))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((bash (assoc-ref %build-inputs "bash"))
(firefox (assoc-ref %build-inputs "firefox"))
(pipewire (assoc-ref %build-inputs "pipewire"))
(out (assoc-ref %outputs "out"))
(exe (string-append out "/bin/firefox")))
(mkdir-p (dirname exe))
(call-with-output-file exe
(lambda (port)
;; NOTE: added "export LD_LIBRARY_PATH=pipewire"
;; maybe this can be done better with `wrap-programm'
(format port "#!~a \n
export LD_LIBRARY_PATH=~a \n
export MOZ_ENABLE_WAYLAND=1 \n
export MOZ_USE_XINPUT2=1 \n
exec ~a $@\n"
(string-append bash "/bin/bash")
(string-append pipewire "/lib")
(string-append firefox "/bin/firefox"))))
(chmod exe #o555)
;; Provide the manual and .desktop file.
(copy-recursively (string-append firefox "/share")
(string-append out "/share"))
(substitute* (string-append
out "/share/applications/firefox.desktop")
((firefox) out))
#t))))))

View file

@ -1,139 +0,0 @@
(define-module (freya packages networking)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages networking)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-gtk)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages rust)
#:use-module (freya packages linux)
#:use-module (freya packages crates-io)
#:use-module (freya packages pulseaudio))
(define overskride-version
"0.5.7")
(define overskride-source
(origin
(method url-fetch)
(uri (string-append "https://github.com/kaii-lb/overskride"
"/archive/refs/tags/v" overskride-version ".tar.gz"))
(file-name (string-append "overskride-" overskride-version ".tar.gz"))
(patches (list
(local-file "patches/overskride-fix-meson.patch")))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively
"subprojects")))
(sha256
(base32
"0qncsyapw4fl9zx95i1i62karvrbqj58lrd2difms36wa14ylz2v"))))
(define overskride-glib
(package
(name "overskride-glib")
(version overskride-version)
(source overskride-source)
(build-system meson-build-system)
(native-inputs
(list rust
desktop-file-utils
gettext-minimal
pkg-config
blueprint-compiler
gobject-introspection
`(,gtk "bin")
`(,glib "bin")))
(propagated-inputs
(list gtk
libadwaita))
(home-page "https://github.com/kaii-lb/overskride")
(synopsis "A simple yet powerful bluetooth client.")
(description "Provides the glib components of the overskride pacakge")
(license license:gpl3+)))
(define-public overskride
(package
(name "overskride")
(version overskride-version)
(source overskride-source)
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs (("rust-libadwaita" ,rust-libadwaita-0.5)
("rust-bluer" ,rust-bluer-0.17)
("rust-dbus" ,rust-dbus-0.9)
("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
("rust-futures" ,rust-futures-0.3)
("rust-gettext-rs" ,rust-gettext-rs-0.7)
("rust-gtk" ,rust-gtk-0.8)
("rust-pnf" ,rust-phf-0.11)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-util" ,rust-tokio-util-0.7)
("rust-uuid" ,rust-uuid-1)
("rust-libpulse-binding" ,rust-libpulse-binding-2))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Cargo.toml"
(("0.16.1") "0.17"))
(substitute* "src/config.rs"
(("\\/usr\\/share\\/overskride")
(string-append (assoc-ref outputs "out")
"/share/overskride")))))
(add-after 'install 'install-glib
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(glib (assoc-ref inputs "overskride-glib")))
(copy-recursively glib out))))
(add-after 'install-glib 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/overskride")
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append (assoc-ref outputs "out")
"/share/glib-2.0/schemas")))))))))
(native-inputs (list gcc-13
pkg-config
`(,gtk "bin")
`(,glib "bin")))
(inputs (list overskride-glib
gcc-13
dbus
libadwaita
pulseaudio-new
bluez-new))
(home-page "https://github.com/kaii-lb/overskride")
(synopsis "A simple yet powerful bluetooth client.")
(description "todo")
(license license:gpl3+)))
(define-public blueman-new
(package
(inherit blueman)
(inputs
(modify-inputs
(package-inputs blueman)
(delete "bluez")
(prepend bluez-new)))))

View file

@ -1,25 +0,0 @@
From 7b6f11ed0708d8775f42107e19d9099835e2498e Mon Sep 17 00:00:00 2001
From: Freya Murphy <freya@freyacat.org>
Date: Mon, 5 Aug 2024 17:52:48 -0400
Subject: [PATCH] fix cmake
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bb7a4d6..7f7e7ff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@ set(INCLUDE ${CMAKE_INSTALL_FULL_INCLUDEDIR})
set(LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
find_package(PkgConfig REQUIRED)
-find_package(OpenGL REQUIRED COMPONENTS "GLES2")
+find_package(OpenGL REQUIRED)
find_package(hyprwayland-scanner 0.4.0 REQUIRED)
pkg_check_modules(
deps
--
2.45.1

View file

@ -1,33 +0,0 @@
From 33fac66982422104cc1c2664f9a841fc96295c13 Mon Sep 17 00:00:00 2001
From: Freya Murphy <freya@freyacat.org>
Date: Mon, 5 Aug 2024 20:35:50 -0400
Subject: [PATCH] fix cmake
---
CMakeLists.txt | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fa58b63d..51ea6cfa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -85,7 +84,7 @@ if(LEGACY_RENDERER)
else()
set(GLES_VERSION "GLES3")
endif()
-find_package(OpenGL REQUIRED COMPONENTS ${GLES_VERSION})
+find_package(OpenGL REQUIRED)
pkg_check_modules(
deps
@@ -314,7 +313,6 @@ protocolwayland()
# tools
add_subdirectory(hyprctl)
-add_subdirectory(hyprpm)
# binary and symlink
install(TARGETS Hyprland)
--
2.45.1

View file

@ -1,67 +0,0 @@
From fa401fc5082dbf4dc048e05222c752a14b808a53 Mon Sep 17 00:00:00 2001
From: Freya Murphy <freya@freyacat.org>
Date: Sat, 10 Aug 2024 15:14:15 -0400
Subject: [PATCH] fix meson
---
src/meson.build | 47 -----------------------------------------------
1 file changed, 47 deletions(-)
diff --git a/src/meson.build b/src/meson.build
index f64920f..11c45a7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -25,50 +25,3 @@ gnome.compile_resources('overskride',
install: true,
install_dir: pkgdatadir,
)
-
-conf = configuration_data()
-conf.set_quoted('VERSION', meson.project_version())
-conf.set_quoted('GETTEXT_PACKAGE', 'overskride')
-conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
-conf.set_quoted('PKGDATADIR', pkgdatadir)
-
-configure_file(
- input: 'config.rs.in',
- output: 'config.rs',
- configuration: conf
-)
-
-# Copy the config.rs output to the source directory.
-run_command(
- 'cp',
- join_paths(meson.project_build_root(), 'src', 'config.rs'),
- join_paths(meson.project_source_root(), 'src', 'config.rs'),
- check: true
-)
-
-cargo_bin = find_program('cargo')
-cargo_opt = [ '--manifest-path', meson.project_source_root() / 'Cargo.toml' ]
-cargo_opt += [ '--target-dir', meson.project_build_root() / 'src' ]
-cargo_env = [ 'CARGO_HOME=' + meson.project_build_root() / 'cargo-home' ]
-
-if get_option('buildtype') == 'release'
- cargo_opt += [ '--release' ]
- rust_target = 'release'
-else
- rust_target = 'debug'
-endif
-
-cargo_build = custom_target(
- 'cargo-build',
- build_by_default: true,
- build_always_stale: true,
- output: meson.project_name(),
- console: true,
- install: true,
- install_dir: get_option('bindir'),
- command: [
- 'env', cargo_env,
- cargo_bin, 'build',
- cargo_opt, '&&', 'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@',
- ]
-)
--
2.45.2

View file

@ -1,34 +0,0 @@
(define-module (freya packages pulseaudio)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages pulseaudio)
#:use-module (freya packages linux))
(define-public pulseaudio-new
(package
(inherit pulseaudio)
(name "pulseaudio")
(version "17.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://freedesktop.org/software/pulseaudio/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
"1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5"))))
(arguments
(substitute-keyword-arguments (package-arguments pulseaudio)
((#:phases phases)
#~(modify-phases #$phases
(delete 'check)))))
(inputs
(modify-inputs (package-inputs pulseaudio)
(delete "alsa-lib")
(delete "bluez")
(prepend alsa-lib-new)
(prepend bluez-new)))))

View file

@ -1,111 +0,0 @@
(define-module (freya packages qt)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages base)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt))
(define-public qt5-styleplugins
(let ((commit "7bd6205398b2d89b3ac083b2f6f00b197f40057a")
(revision "1"))
(package
(name "qt5-styleplugins")
(version (git-version "5.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/qt/qtstyleplugins")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0pi30l6g8bk1z83n6q6khjcm789szzz52aq1r9va6285i5j8ykac"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "qmake"
(string-append "prefix=" out)))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(qt5 (assoc-ref inputs "qtbase")))
(invoke "make" (string-append "INSTALL_ROOT=\"" out "\"") "install")
(let ((lib (string-append out qt5 "/lib")))
(invoke "mv" lib out)
(invoke "rm" "-fr" (string-append out "/gnu"))))))
)))
(native-inputs
(list qttools-5
findutils
coreutils))
(inputs
(list qtbase-5))
(home-page "https://github.com/qt/qtstyleplugins")
(synopsis "Additional style plugins for Qt")
(description "Additional style plugins for Qt")
(license license:expat))))
(define-public qt6gtk2
(package
(name "qt6gtk2")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/trialuser02/qt6gtk2"
"/archive/refs/tags/" version ".tar.gz"))
(sha256
(base32
"133f8ax1clbsc4ppdibfjcfz38153rznplp1sgfcrfi7bkgrm00c"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gtk2 (assoc-ref inputs "gtk+"))
(x11 (assoc-ref inputs "libx11")))
(substitute* "qt6gtk2.pri"
(("UI_DIR") (string-append
"PKG_CONFIG = "
(assoc-ref inputs "pkg-config")
"/bin/pkg-config"
"\nPKG_CONFIG_PATH = "
gtk2 "/include" ":" x11 "/include"
"\nUI_DIR")))
(invoke "qmake"
(string-append "prefix=" out))
)))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(qt5 (assoc-ref inputs "qtbase")))
(invoke "make" (string-append "INSTALL_ROOT=\"" out "\"") "install")
(let ((lib (string-append out qt5 "/lib")))
(invoke "mv" lib out)
(invoke "rm" "-fr" (string-append out "/gnu"))))))
)))
(native-inputs
(list pkg-config
qttools
coreutils))
(inputs
(list qtbase
gtk+-2
libx11
libxkbcommon))
(home-page "")
(synopsis "")
(description "")
(license license:expat)))

View file

@ -1,45 +0,0 @@
(define-module (freya packages shells)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages base)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages bash)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (guix gexp))
(define-public zsh-autosuggestions
(package
(name "zsh-autosuggestions")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zsh-users/zsh-autosuggestions")
(commit (string-append "v" version))))
(sha256
(base32
"1g3pij5qn2j7v7jjac2a63lxd97mcsgw6xq6k5p7835q9fjiid98"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/share/zsh/zsh-autosuggestions"))
(source (assoc-ref %build-inputs "source")))
(mkdir-p bin)
(copy-recursively source bin)))))
(home-page "https://github.com/zsh-users/zsh-autosuggestions")
(synopsis "Fish-like autosuggestions for zsh")
(description "Fish-like fast/unobtrusive autosuggestions for zsh. It suggests commands as you type based on history and completions.")
(license license:expat)))

View file

@ -1,50 +0,0 @@
(define-module (freya packages vim)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages vim)
#:use-module (gnu packages gcc)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system trivial))
(define-public neovim-new
(package
(inherit neovim)
(name "neovim-new")
(native-inputs
(modify-inputs (package-native-inputs neovim)
(prepend gcc-12)))))
(define-public vim-plug
(package
(name "vim-plug")
(version "0.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/junegunn/vim-plug")
(commit version)))
(sha256
(base32
"048kk5ar6i5k4nrq0pma6ww7yg64h6aa8d0blgxpq7kfqkwwglfj"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/share/vim"))
(source (assoc-ref %build-inputs "source")))
(mkdir-p bin)
(chdir source)
(install-file "plug.vim" bin)))))
(home-page "https://github.com/junegunn/vim-plug")
(synopsis "Minimalist Vim Plugin Manager")
(description "Minimalist Vim Plugin Manager")
(license license:expat)))

View file

@ -1,47 +0,0 @@
(define-module (freya packages virtualization)
#:use-module (gnu packages)
#:use-module (gnu packages package-management)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages firmware)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp))
(define-public libvirt-ovmf
(package
(inherit libvirt)
(name "libvirt-ovmf")
(inputs
(modify-inputs (package-inputs libvirt)
(append qemu)))
(arguments
(substitute-keyword-arguments (package-arguments libvirt)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'install 'install-uefi
(lambda _
(let ((fmw (string-append #$output "/share/qemu")))
(mkdir-p fmw)
(copy-recursively #$(file-append qemu "/share/qemu") fmw))
))
))))))
(define-public virt-manager-ovmf
(package
(inherit virt-manager)
(name "virt-manager-ovmf")
(inputs
(modify-inputs (package-inputs virt-manager)
(append qemu)))
(arguments
(substitute-keyword-arguments (package-arguments virt-manager)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'install 'install-uefi
(lambda _
(let ((fmw (string-append #$output "/share/qemu")))
(mkdir-p fmw)
(copy-recursively #$(file-append qemu "/share/firmware") fmw))
))
))))))

View file

@ -1,224 +0,0 @@
(define-module (freya packages wm)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages gl)
#:use-module (gnu packages wm)
#:use-module (gnu packages stb)
#:use-module (gnu packages gcc)
#:use-module (gnu packages sdl)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages maths)
#:use-module (gnu packages image)
#:use-module (gnu packages cmake)
#:use-module (gnu packages linux)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages python)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages version-control)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build utils)
#:use-module (guix build-system meson)
#:use-module (guix utils))
(define-public swaylock-effects-new
(package
(inherit swaylock-effects)
(name "swaylock-effects-new")
(version "1.7.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jirutka/swaylock-effects")
(commit (string-append "v" version))))
(sha256
(base32
"0cgpbzdpxj6bbpa8jwql1snghj21mhryyvj6sk46g66lqvwlrqbj"))))))
(define-public waybar-new
(package
(inherit waybar)
(name "waybar-new")
(version "0.11.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Alexays/Waybar")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1bw6d3bf8rm4mgrbcprxxljfxbyabbj2lwabk2z19r8lhfz38myy"))))
(arguments
(list
#:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true")))))
(define-public vkroots
(let ((commit "d5ef31abc7cb5c69aee4bcb67b10dd543c1ff7ac"))
(package
(name "vkroots")
(version (git-version "" "0" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/misyltoad/vkroots")
(commit commit)))
(sha256
(base32
"0g2mh8l0xzxzr4yjyafzv76n7jk9043dcbf5mpqwpwmjx88m5nc0"))
(file-name (git-file-name name version))))
(arguments (list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-vulkan
(lambda _
(substitute* "gen/make_vkroots"
(("\\.\\.") (getcwd)))))
(add-before 'install 'gen-vkroots
(lambda _
(invoke "python3"
"../source/gen/make_vkroots"
"-x"
(string-append
#$(this-package-native-input "vulkan-headers")
"/share/vulkan/registry/vk.xml")))))))
(build-system meson-build-system)
(native-inputs (list python vulkan-headers))
(home-page "https://github.com/misyltoad/vkroots")
(description "A stupid simple method of making Vulkan layers, at home! ")
(synopsis "A stupid simple method of making Vulkan layers, at home! ")
(license license:expat))))
(define-public libliftoff-0.4
(package
(inherit libliftoff)
(name "libliftoff")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/emersion/libliftoff")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ikjp638d655ycaqkdnzhb12d29kkbb3a46lqhbhsfc8vsqj3z1l"))))))
(define reshade-for-gamescope
(let ((commit "4245743a8c41abbe3dc73980c1810fe449359bf1"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Joshua-Ashton/reshade")
(commit commit)))
(file-name (git-file-name "reshade" commit))
(sha256
(base32 "1bb5392dfiri8nrxvck1w2jxva8m9xzrgi16rvnvg96l493a538y")))))
(define-public gamescope
(package
(name "gamescope")
(version "3.14.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ValveSoftware/gamescope")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x7gh1rr2ismqfkaa4wm7025acjpgmims41iwzdcps5pg8nxmmhh"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~(list "-Dpipewire=enabled"
"-Denable_openvr_support=false"
"-Dforce_fallback_for=[]"
(string-append "-Dc_args=-DHWDATA_PNP_IDS=\""
#$(this-package-native-input "hwdata")
"/share/hwdata/pnp.ids\""))
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-deps
(lambda _
; copy reshade
(delete-file-recursively "src/reshade")
(copy-recursively #$reshade-for-gamescope "src/reshade")
; path /usr
(substitute* "src/reshade_effect_manager.cpp"
(("/usr") #$output))
; path meson.build
(substitute* "src/meson.build"
;; patch stb
(("dependency\\('stb'\\)")
(format #f "declare_dependency(include_directories: ['~a'])"
(string-join
'#$(map (lambda (label) (this-package-native-input label))
(list "stb-image"
"stb-image-resize"
"stb-image-write"))
"','")))
;; patch libdisplay-info
(("< 0.2.0")
(string-append "<= " #$(package-version (this-package-input "libdisplay-info"))))
;(("reshade/") (string-append #$reshade-for-gamescope "/"))
(("../thirdparty/SPIRV-Headers") #$(this-package-native-input "spirv-headers")))
;; include <limits> and <cstdint>
(substitute* (find-files "src" "\\.hpp$")
(("#pragma once" pragma)
(string-append pragma
"\n#include <limits>"
"\n#include <cstdint>")))
)))))
(native-inputs (list gcc-13
benchmark
glslang
hwdata
pkg-config
stb-image
stb-image-resize
stb-image-write
spirv-headers
vkroots
vulkan-headers
wayland-protocols))
(inputs (list gcc-13
glm
libavif
libcap
libdisplay-info
libdrm
libinput
libliftoff-0.4
libx11
libxcomposite
libxcursor
libxdamage
libxext
libxkbcommon
libxmu
libxrender
libxres
libxt
libxtst
pipewire
sdl2
vulkan-loader
wayland
wlroots))
(home-page "https://github.com/ValveSoftware/gamescope")
(description "SteamOS session compositing window manager")
(synopsis "SteamOS session compositing window manager")
(license license:bsd-2)))

View file

@ -1,57 +0,0 @@
(define-module (freya packages yarn)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages node))
(define-public yarn
(package
(name "yarn")
(version "1.22.22")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/yarnpkg/yarn/releases/download/v"
version
"/yarn-v"
version
".tar.gz"))
(sha256
(base32
"181nvynhhrbga3c209v8cd9psk6lqjkc1s9wyzy125lx35j889l8"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(libexec-yarn (string-append out "/libexec/yarn"))
(yarn-js (string-append libexec-yarn "/bin/yarn.js")))
(mkdir-p bin)
(mkdir-p libexec-yarn)
(copy-recursively "./" libexec-yarn)
(symlink yarn-js (string-append bin "/yarn"))
(symlink yarn-js (string-append bin "/yarnpkg"))))))))
(inputs `(("node" ,node-lts)))
(synopsis "Fast, reliable, and secure dependency management")
(description
"Yarn is a fast, reliable, and secure dependency management. Fast: Yarn
caches every package it has downloaded, so it never needs to download the
same package again. It also does almost everything concurrently to maximize
resource utilization. This means even faster installs. Reliable: Using a
detailed but concise lockfile format and a deterministic algorithm for install
operations, Yarn is able to guarantee that any installation that works on one
system will work exactly the same on another system.
Secure: Yarn uses checksums to verify the integrity of every installed package
before its code is executed.")
(license license:bsd-2)
(home-page "https://yarnpkg.com")))

View file

@ -1,62 +0,0 @@
(define-module (freya services cow)
#:use-module (gnu services shepherd)
#:use-module (guix modules)
#:use-module (gnu))
; guix doesnt export the cow store
; bruch >:(
(define %backing-directory
;; Sub-directory used as the backing store for copy-on-write.
"/tmp/guix-inst")
(define cow-store-service-type
(shepherd-service-type
'cow-store
(lambda _
(define (import-module? module)
;; Since we don't use deduplication support in 'populate-store', don't
;; import (guix store deduplication) and its dependencies, which
;; includes Guile-Gcrypt.
(and (guix-module-name? module)
(not (equal? module '(guix store deduplication)))))
(shepherd-service
(requirement '(root-file-system user-processes))
(provision '(cow-store))
(documentation
"Make the store copy-on-write, with writes going to \
the given target.")
;; This is meant to be explicitly started by the user.
(auto-start? #f)
(modules `((gnu build install)
,@%default-modules))
(start
(with-imported-modules (source-module-closure
'((gnu build install))
#:select? import-module?)
#~(case-lambda
((target)
(mount-cow-store target #$%backing-directory)
target)
(else
;; Do nothing, and mark the service as stopped.
#f))))
(stop #~(lambda (target)
;; Delete the temporary directory, but leave everything
;; mounted as there may still be processes using it since
;; 'user-processes' doesn't depend on us. The 'user-file-systems'
;; service will unmount TARGET eventually.
(delete-file-recursively
(string-append target #$%backing-directory))))))
(description "Make the store copy-on-write, with writes going to \
the given target.")))
(define-public (cow-store-service)
"Return a service that makes the store copy-on-write, such that writes go to
the user's target storage device rather than on the RAM disk."
;; See <http://bugs.gnu.org/18061> for the initial report.
(service cow-store-service-type 'mooooh!))

View file

@ -1,101 +0,0 @@
(define-module (freya services pipewire)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu services)
#: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)
(list pipewire-new
wireplumber-new))
(define (home-pipewire-shepherd-service config)
(list
;; Pipewire daemon
(shepherd-service
(requirement '(dbus))
(provision '(pipewire))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append pipewire-new "/bin/pipewire"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/pipewire.log")
#:environment-variables
(append (list "DISABLE_RTKIT=0")
(default-environment-variables)))))
;; Pipewire-pulse
(shepherd-service
(requirement '(pipewire))
(provision '(pipewire-pulse))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append pipewire-new "/bin/pipewire-pulse"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/pipewire-pulse.log")
#:environment-variables
(append (list "DISABLE_RTKIT=0")
(default-environment-variables)))))
;; Wireplumber
(shepherd-service
(requirement '(pipewire))
(provision '(wireplumber))
(stop #~(make-kill-destructor))
(start #~(make-forkexec-constructor
(list #$(file-append wireplumber-new "/bin/wireplumber"))
#:log-file (string-append
(or (getenv "XDG_LOG_HOME")
(format #f "~a/.local/var/log"
(getenv "HOME")))
"/wireplumber.log")
#:environment-variables
(append (list "DISABLE_RTKIT=0")
(default-environment-variables)))))))
(define (home-pipewire-xdg-configuration-service config)
`(("alsa/asoundrc"
,(mixed-text-file
"asoundrc"
#~(string-append
"<"
#$(file-append
pipewire-new "/share/alsa/alsa.conf.d/50-pipewire.conf")
">\n<"
#$(file-append
pipewire-new "/share/alsa/alsa.conf.d/99-pipewire-default.conf")
">\n"
"
pcm_type.pipewire {
lib " #$(file-append pipewire-new "/lib/alsa-lib/libasound_module_pcm_pipewire.so")
"
}
ctl_type.pipewire {
lib " #$(file-append pipewire-new "/lib/alsa-lib/libasound_module_ctl_pipewire.so")
"
}
")))))
(define-public home-pipewire-service-type
(service-type (name 'home-pipewire)
(extensions
(list (service-extension
home-profile-service-type
home-pipewire-profile-service)
(service-extension
home-shepherd-service-type
home-pipewire-shepherd-service)
(service-extension
home-xdg-configuration-files-service-type
home-pipewire-xdg-configuration-service)))
(default-value #f)
(description "Configures and runs Pipewire and Wireplumber")))

View file

@ -23,12 +23,12 @@
#:use-module (gnu system setuid)
#:use-module (guix packages)
#:use-module (nongnu packages linux)
#:use-module (freya packages qt)
#:use-module (freya packages certs)
#:use-module (freya packages linux)
#:use-module (freya packages pulseaudio)
#:use-module (freya packages virtualization)
#:use-module (freya bootloader uki))
#:use-module (freya certs)
#:use-module (sakura packages qt)
#:use-module (sakura packages linux)
#:use-module (sakura packages pulseaudio)
#:use-module (sakura packages virtualization)
#:use-module (sakura bootloader uki))
;; locale

View file

@ -1,7 +1,7 @@
; base system for creating installer images
(use-modules (freya system)
(freya services cow)
(sakura services cow)
(gnu))
; installer system