diff --git a/channels.scm b/channels.scm index 02fe176..b3334b5 100644 --- a/channels.scm +++ b/channels.scm @@ -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"))))) diff --git a/home/home.scm b/home/home.scm index f47741f..2752008 100644 --- a/home/home.scm +++ b/home/home.scm @@ -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 diff --git a/modules/freya/bootloader/uki.scm b/modules/freya/bootloader/uki.scm deleted file mode 100644 index 716e8a2..0000000 --- a/modules/freya/bootloader/uki.scm +++ /dev/null @@ -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)) diff --git a/modules/freya/packages/certs.scm b/modules/freya/certs.scm similarity index 96% rename from modules/freya/packages/certs.scm rename to modules/freya/certs.scm index 6a39608..9ba1fa2 100644 --- a/modules/freya/packages/certs.scm +++ b/modules/freya/certs.scm @@ -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) diff --git a/modules/freya/packages/audio.scm b/modules/freya/packages/audio.scm deleted file mode 100644 index 832d960..0000000 --- a/modules/freya/packages/audio.scm +++ /dev/null @@ -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+))) diff --git a/modules/freya/packages/bootloaders.scm b/modules/freya/packages/bootloaders.scm deleted file mode 100644 index 61ec556..0000000 --- a/modules/freya/packages/bootloaders.scm +++ /dev/null @@ -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+))) diff --git a/modules/freya/packages/crates-io.scm b/modules/freya/packages/crates-io.scm deleted file mode 100644 index 9c29107..0000000 --- a/modules/freya/packages/crates-io.scm +++ /dev/null @@ -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))) diff --git a/modules/freya/packages/gnome-xyz.scm b/modules/freya/packages/gnome-xyz.scm deleted file mode 100644 index c80b761..0000000 --- a/modules/freya/packages/gnome-xyz.scm +++ /dev/null @@ -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")))))) diff --git a/modules/freya/packages/golang.scm b/modules/freya/packages/golang.scm deleted file mode 100644 index 5e0f75e..0000000 --- a/modules/freya/packages/golang.scm +++ /dev/null @@ -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))) diff --git a/modules/freya/packages/hypr.scm b/modules/freya/packages/hypr.scm deleted file mode 100644 index a3fce00..0000000 --- a/modules/freya/packages/hypr.scm +++ /dev/null @@ -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)))) - (("\\") (search-input-file inputs "bin/gcc")) - ;; NOTE: Add binutils to inputs will override ld-wrapper. - (("(execAndGet\\(\\(\")\\" _ 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)))) diff --git a/modules/freya/packages/librewolf.scm b/modules/freya/packages/librewolf.scm deleted file mode 100644 index d2cb6ad..0000000 --- a/modules/freya/packages/librewolf.scm +++ /dev/null @@ -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)))))) - diff --git a/modules/freya/packages/linux.scm b/modules/freya/packages/linux.scm deleted file mode 100644 index bfa15cf..0000000 --- a/modules/freya/packages/linux.scm +++ /dev/null @@ -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))))) diff --git a/modules/freya/packages/mozillia.scm b/modules/freya/packages/mozillia.scm deleted file mode 100644 index 68a2601..0000000 --- a/modules/freya/packages/mozillia.scm +++ /dev/null @@ -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)))))) - diff --git a/modules/freya/packages/networking.scm b/modules/freya/packages/networking.scm deleted file mode 100644 index 0bd7346..0000000 --- a/modules/freya/packages/networking.scm +++ /dev/null @@ -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))))) - diff --git a/modules/freya/packages/patches/aquamarine-fix-cmake.patch b/modules/freya/packages/patches/aquamarine-fix-cmake.patch deleted file mode 100644 index bd29649..0000000 --- a/modules/freya/packages/patches/aquamarine-fix-cmake.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7b6f11ed0708d8775f42107e19d9099835e2498e Mon Sep 17 00:00:00 2001 -From: Freya Murphy -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 - diff --git a/modules/freya/packages/patches/hyprland-fix-cmake.patch b/modules/freya/packages/patches/hyprland-fix-cmake.patch deleted file mode 100644 index 1ac9782..0000000 --- a/modules/freya/packages/patches/hyprland-fix-cmake.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 33fac66982422104cc1c2664f9a841fc96295c13 Mon Sep 17 00:00:00 2001 -From: Freya Murphy -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 - diff --git a/modules/freya/packages/patches/overskride-fix-meson.patch b/modules/freya/packages/patches/overskride-fix-meson.patch deleted file mode 100644 index a57e097..0000000 --- a/modules/freya/packages/patches/overskride-fix-meson.patch +++ /dev/null @@ -1,67 +0,0 @@ -From fa401fc5082dbf4dc048e05222c752a14b808a53 Mon Sep 17 00:00:00 2001 -From: Freya Murphy -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 - diff --git a/modules/freya/packages/pulseaudio.scm b/modules/freya/packages/pulseaudio.scm deleted file mode 100644 index d2915a0..0000000 --- a/modules/freya/packages/pulseaudio.scm +++ /dev/null @@ -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))))) diff --git a/modules/freya/packages/qt.scm b/modules/freya/packages/qt.scm deleted file mode 100644 index 9f0f327..0000000 --- a/modules/freya/packages/qt.scm +++ /dev/null @@ -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))) diff --git a/modules/freya/packages/shells.scm b/modules/freya/packages/shells.scm deleted file mode 100644 index ce0e6e7..0000000 --- a/modules/freya/packages/shells.scm +++ /dev/null @@ -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))) - - diff --git a/modules/freya/packages/vim.scm b/modules/freya/packages/vim.scm deleted file mode 100644 index 6c94147..0000000 --- a/modules/freya/packages/vim.scm +++ /dev/null @@ -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))) - - diff --git a/modules/freya/packages/virtualization.scm b/modules/freya/packages/virtualization.scm deleted file mode 100644 index 7a19418..0000000 --- a/modules/freya/packages/virtualization.scm +++ /dev/null @@ -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)) - )) - )))))) diff --git a/modules/freya/packages/wm.scm b/modules/freya/packages/wm.scm deleted file mode 100644 index 5c99212..0000000 --- a/modules/freya/packages/wm.scm +++ /dev/null @@ -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 and - (substitute* (find-files "src" "\\.hpp$") - (("#pragma once" pragma) - (string-append pragma - "\n#include " - "\n#include "))) - ))))) - (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))) diff --git a/modules/freya/packages/yarn.scm b/modules/freya/packages/yarn.scm deleted file mode 100644 index dad667d..0000000 --- a/modules/freya/packages/yarn.scm +++ /dev/null @@ -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"))) diff --git a/modules/freya/services/cow.scm b/modules/freya/services/cow.scm deleted file mode 100644 index e233db7..0000000 --- a/modules/freya/services/cow.scm +++ /dev/null @@ -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 for the initial report. - (service cow-store-service-type 'mooooh!)) - diff --git a/modules/freya/services/pipewire.scm b/modules/freya/services/pipewire.scm deleted file mode 100644 index adc5963..0000000 --- a/modules/freya/services/pipewire.scm +++ /dev/null @@ -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"))) diff --git a/modules/freya/system.scm b/modules/freya/system.scm index dec3a8e..094b2cf 100644 --- a/modules/freya/system.scm +++ b/modules/freya/system.scm @@ -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 diff --git a/systems/installer.scm b/systems/installer.scm index 74fe087..6d072fa 100644 --- a/systems/installer.scm +++ b/systems/installer.scm @@ -1,7 +1,7 @@ ; base system for creating installer images (use-modules (freya system) - (freya services cow) + (sakura services cow) (gnu)) ; installer system