diff --git a/home/config/gtk/gtk-3.0/settings.ini b/home/config/gtk/gtk-3.0/settings.ini index e0c2fc5..5760a02 100644 --- a/home/config/gtk/gtk-3.0/settings.ini +++ b/home/config/gtk/gtk-3.0/settings.ini @@ -1,11 +1,13 @@ [Settings] +gtk-application-prefer-dark-theme=true +gtk-enable-animations=true gtk-theme-name=Mint-Y-Dark-Teal gtk-icon-theme-name=Mint-Y-Teal -gtk-font-name=Noto Sans, 10 -gtk-cursor-theme-name=wii +gtk-cursor-theme-name=breeze_cursors gtk-cursor-theme-size=24 -gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-decoration-layout=icon:minimize,maximize,close +gtk-font-name=Noto Sans, 10 +gtk-primary-button-warps-slider=true gtk-button-images=0 gtk-menu-images=0 gtk-enable-event-sounds=1 @@ -14,10 +16,4 @@ gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintfull gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=1 -gtk-decoration-layout=icon:minimize,maximize,close -gtk-enable-animations=true -#gtk-modules=colorreload-gtk-module -gtk-primary-button-warps-slider=true -gtk-sound-theme-name=ocean gtk-xft-dpi=122880 diff --git a/home/config/gtk/gtk-4.0/settings.ini b/home/config/gtk/gtk-4.0/settings.ini index 93d32b2..06ae2ef 100644 --- a/home/config/gtk/gtk-4.0/settings.ini +++ b/home/config/gtk/gtk-4.0/settings.ini @@ -1,12 +1,19 @@ [Settings] gtk-application-prefer-dark-theme=true +gtk-enable-animations=true +gtk-theme-name=Mint-Y-Dark-Teal +gtk-icon-theme-name=Mint-Y-Teal gtk-cursor-theme-name=breeze_cursors gtk-cursor-theme-size=24 gtk-decoration-layout=icon:minimize,maximize,close -gtk-enable-animations=true gtk-font-name=Noto Sans, 10 -gtk-icon-theme-name=breeze-dark -gtk-modules=colorreload-gtk-module gtk-primary-button-warps-slider=true -gtk-sound-theme-name=ocean +#gtk-button-images=0 +#gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull +gtk-xft-rgba=rgb gtk-xft-dpi=122880 diff --git a/home/config/hypr/config.d/theme.conf b/home/config/hypr/config.d/theme.conf index da7f643..9fb2d0e 100644 --- a/home/config/hypr/config.d/theme.conf +++ b/home/config/hypr/config.d/theme.conf @@ -86,7 +86,6 @@ gestures { misc { disable_hyprland_logo = true disable_splash_rendering = true - no_direct_scanout = false key_press_enables_dpms = true mouse_move_enables_dpms = true vrr = 1 diff --git a/modules/freya/packages/crates-io.scm b/modules/freya/packages/crates-io.scm new file mode 100644 index 0000000..9c29107 --- /dev/null +++ b/modules/freya/packages/crates-io.scm @@ -0,0 +1,181 @@ +(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/gl.scm b/modules/freya/packages/gl.scm index 8e7aeff..dd5e7c2 100644 --- a/modules/freya/packages/gl.scm +++ b/modules/freya/packages/gl.scm @@ -10,213 +10,12 @@ (define-public mesa-libglvnd (package (inherit mesa) - (inputs (modify-inputs (package-inputs mesa) (prepend libglvnd))) + (inputs + (modify-inputs + (package-inputs mesa) + (prepend libglvnd))) (arguments - (list - #:configure-flags - #~(list - #$@(cond - ((or (target-aarch64?) (target-arm32?)) - '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\ -panfrost,r300,r600,svga,swrast,tegra,v3d,vc4,virgl,zink")) - ((or (target-ppc64le?) (target-ppc32?) (target-riscv64?)) - '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,svga,swrast,virgl,zink")) - (else - '("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\ -svga,swrast,virgl,zink"))) - ;; Enable various optional features. TODO: opencl requires libclc, - ;; omx requires libomxil-bellagio - "-Dplatforms=x11,wayland" - "-Dglx=dri" ;Thread Local Storage, improves performance - ;; "-Dopencl=true" - ;; "-Domx=true" - "-Dosmesa=true" - "-Dgallium-xa=enabled" - - ;; features required by wayland - "-Dgles2=enabled" - "-Dgbm=enabled" - "-Dshared-glapi=enabled" - "-Dglvnd=true" - - ;; Explicitly enable Vulkan on some architectures. - #$@(cond - ((or (target-x86-32?) (target-x86-64?)) - '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast")) - ((or (target-ppc64le?) (target-ppc32?)) - '("-Dvulkan-drivers=amd,swrast")) - ((target-aarch64?) - '("-Dvulkan-drivers=freedreno,amd,broadcom,swrast")) - ((target-riscv64?) - '("-Dvulkan-drivers=amd,swrast")) - (else - '("-Dvulkan-drivers=auto"))) - - ;; Enable the Vulkan overlay layer on all architectures. - "-Dvulkan-layers=device-select,overlay" - - ;; Enable all the codecs that were built by default as part of the - ;; 21.3.x releases to avoid functionality regressions. - "-Dvideo-codecs=all" - - ;; Enable ZSTD compression for shader cache. - "-Dzstd=enabled" - - ;; Also enable the tests. - "-Dbuild-tests=true" - - "-Dllvm=enabled") ; default is x86/x86_64 only - - ;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The - ;; documentation recommends using 'release' for performance anyway. - #:build-type "release" - - #:modules '((ice-9 match) - (srfi srfi-1) - (guix build utils) - (guix build meson-build-system)) - #:phases - #~(modify-phases %standard-phases - #$@(if (%current-target-system) - #~((add-after 'unpack 'fix-cross-compiling - (lambda* (#:key native-inputs #:allow-other-keys) - ;; When cross compiling, we use cmake to find llvm, not - ;; llvm-config, because llvm-config cannot be executed - ;; see https://github.com/llvm/llvm-project/issues/58984 - (substitute* "meson.build" - (("method : host_machine\\.system.*") - "method : 'cmake',\n")) - (setenv "CMAKE" - (search-input-file - native-inputs "/bin/cmake"))))) - #~()) - (add-after 'unpack 'disable-failing-test - (lambda _ - ;; Disable the intel vulkan (anv_state_pool) tests, as they may - ;; fail in a nondeterministic fashion (see: - ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/5446). - (substitute* "src/intel/vulkan/meson.build" - (("if with_tests") - "if false")) - #$@(match (%current-system) - ("riscv64-linux" - ;; According to the test logs the llvm JIT is not designed - ;; for this architecture and the llvmpipe tests all segfault. - ;; The same is true for mesa:gallium / osmesa-render. - `((substitute* '("src/gallium/drivers/llvmpipe/meson.build" - "src/gallium/targets/osmesa/meson.build") - (("if with_tests") "if false")))) - ("powerpc64le-linux" - ;; Disable some of the llvmpipe tests. - `((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c" - (("0\\.5, ") "")))) - ("powerpc-linux" - ;; There are some tests which fail specifically on powerpc. - `((substitute* '(;; LLVM ERROR: Relocation type not implemented yet! - "src/gallium/drivers/llvmpipe/meson.build" - "src/gallium/targets/osmesa/meson.build") - (("if with_tests") "if not with_tests")) - ;; This is probably a big-endian test failure. - (substitute* "src/amd/common/meson.build" - (("and not with_platform_windows") - "and with_platform_windows")))) - ("i686-linux" - ;; This test is known to fail on i686 (see: - ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091). - `((substitute* "src/util/meson.build" - ((".*'tests/u_debug_stack_test.cpp',.*") "")))) - ("armhf-linux" - ;; Disable some of the llvmpipe tests. - `((substitute* "src/gallium/drivers/llvmpipe/meson.build" - (("'lp_test_arit', ") "")))) - (_ - '((display "No tests to disable on this architecture.\n")))))) - (add-before 'configure 'fix-dlopen-libnames - (lambda* (#:key inputs #:allow-other-keys) - (let ((out #$output)) - ;; Remain agnostic to .so.X.Y.Z versions while doing - ;; the substitutions so we're future-safe. - (substitute* "src/glx/meson.build" - (("-DGL_LIB_NAME=\"lib@0@\\.so\\.@1@\"") - (string-append "-DGL_LIB_NAME=\"" out - "/lib/lib@0@.so.@1@\""))) - (substitute* "src/gbm/backends/dri/gbm_dri.c" - (("\"libglapi\\.so") - (string-append "\"" out "/lib/libglapi.so"))) - (substitute* "src/gbm/main/backend.c" - ;; No need to patch the gbm_gallium_drm.so reference; - ;; it's never installed since Mesa removed its - ;; egl_gallium support. - (("\"gbm_dri\\.so") - (string-append "\"" out "/lib/dri/gbm_dri.so"))) - (substitute* "src/gallium/drivers/zink/zink_screen.c" - (("util_dl_open\\(VK_LIBNAME\\)") - (format #f "util_dl_open(\"~a\")" - (search-input-file inputs - "lib/libvulkan.so.1"))))))) - (add-after 'install 'split-outputs - (lambda _ - (let ((out #$output) - (bin #$output:bin)) - ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append out "/bin")) - (call-with-output-file (string-append out "/bin/.empty") - (const #t)) - (copy-recursively (string-append out "/bin") - (string-append bin "/bin")) - (delete-file-recursively (string-append out "/bin"))))) - (add-after 'install 'symlinks-instead-of-hard-links - (lambda _ - ;; All the drivers and gallium targets create hard links upon - ;; installation (search for "hardlink each megadriver instance" - ;; in the makefiles). This is no good for us since we'd produce - ;; nars that contain several copies of these files. Thus, turn - ;; them into symlinks, which saves ~124 MiB. - (let* ((out #$output) - (lib (string-append out "/lib")) - (files (find-files lib - (lambda (file stat) - (and (string-contains file ".so") - (eq? 'regular - (stat:type stat)))))) - (inodes (map (compose stat:ino stat) files))) - (for-each (lambda (inode) - (match (filter-map (match-lambda - ((file ino) - (and (= ino inode) file))) - (zip files inodes)) - ((_) - #f) - ((reference others ..1) - (format #t "creating ~a symlinks to '~a'~%" - (length others) reference) - (for-each delete-file others) - (for-each (lambda (file) - (if (string=? (dirname file) - (dirname reference)) - (symlink (basename reference) - file) - (symlink reference file))) - others)))) - (delete-duplicates inodes))))) - (add-after 'install 'set-layer-path-in-manifests - (lambda _ - (let* ((out #$output) - (implicit-path (string-append - out - "/share/vulkan/implicit_layer.d/")) - (explicit-path (string-append - out - "/share/vulkan/explicit_layer.d/")) - (fix-layer-path - (lambda (layer-name) - (let* ((explicit (string-append explicit-path layer-name ".json")) - (implicit (string-append implicit-path layer-name ".json")) - (manifest (if (file-exists? explicit) - explicit - implicit))) - (substitute* manifest - (((string-append "\"lib" layer-name ".so\"")) - (string-append "\"" out "/lib/lib" layer-name ".so\""))))))) - (for-each fix-layer-path '("VkLayer_MESA_device_select" - "VkLayer_MESA_overlay")))))))))) + (substitute-keyword-arguments (package-arguments mesa) + ((#:configure-flags flags ''()) + #~(append (list "-Dglvnd=true") + #$flags)))))) diff --git a/modules/freya/packages/gnome-xyz.scm b/modules/freya/packages/gnome-xyz.scm index 6be7624..a4d8732 100644 --- a/modules/freya/packages/gnome-xyz.scm +++ b/modules/freya/packages/gnome-xyz.scm @@ -67,7 +67,7 @@ (define-public mint-themes (package (name "mint-themes") - (version "2.1.7") + (version "2.1.8") (source (origin (method url-fetch) @@ -75,7 +75,7 @@ version "_all.deb")) (sha256 (base32 - "19d6b8pr45ga038cvqisa9hvgd3frys2wf218am3hrmair4r27bf")) + "0a1j566a0p0nxmzil5z6qidzqd9dal1r5lv90x2v5s2slm162f3a")) (file-name "source.deb"))) (build-system trivial-build-system) (native-inputs diff --git a/modules/freya/packages/networking.scm b/modules/freya/packages/networking.scm index 57c1a25..1622b0e 100644 --- a/modules/freya/packages/networking.scm +++ b/modules/freya/packages/networking.scm @@ -1,12 +1,132 @@ (define-module (freya packages networking) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #: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 (guix utils)) + #:use-module (freya packages crates-io) + #:use-module (guix utils) + #:use-module (guix build utils)) + +(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 + pipewire-new + pulseaudio + 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 diff --git a/modules/freya/packages/patches/overskride-fix-meson.patch b/modules/freya/packages/patches/overskride-fix-meson.patch new file mode 100644 index 0000000..a57e097 --- /dev/null +++ b/modules/freya/packages/patches/overskride-fix-meson.patch @@ -0,0 +1,67 @@ +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/wm.scm b/modules/freya/packages/wm.scm index a4daf59..501bdf0 100644 --- a/modules/freya/packages/wm.scm +++ b/modules/freya/packages/wm.scm @@ -610,46 +610,44 @@ extra portals specific to Hyprland, mostly for window sharing.") (define-syntax hyprland-plugin-impl (syntax-rules () ((_ plugin) - (let ((commit "4fcb4038f23e5273af9a5684f3ee10b0652b3bab") - (revision "1")) - (package - (name (string-append "hyprland-plugin-" plugin)) - (version (git-version "0.42.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hyprwm/hyprland-plugins.git") - (commit commit))) - (sha256 - (base32 - "1i1924a2kmjbp6c6y443hdv53nganj4g6dci20v9imrja21vc6s3")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments - (list #:tests? #f - #:cmake cmake-minimal-3.27.0 - #: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 - (list gcc-13 - aquamarine - pango - hyprland-protocols - hyprland - hyprlang - hyprutils - libdrm)) - (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"))))))) + (package + (name (string-append "hyprland-plugin-" plugin)) + (version "0.42.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprland-plugins.git") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1qzi8c29bam3cj1rngw3gidgphldw7q196iwa9ji5jq071nc1z38")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f + #:cmake cmake-minimal-3.27.0 + #: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 + (list gcc-13 + aquamarine + pango + hyprland-protocols + hyprland + hyprlang + hyprutils + libdrm)) + (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-plugins diff --git a/modules/freya/system.scm b/modules/freya/system.scm index 1960982..bd8e862 100644 --- a/modules/freya/system.scm +++ b/modules/freya/system.scm @@ -158,10 +158,8 @@ "font-jetbrains-mono" "font-dejavu")) (list ; desktop - xdg-desktop-portal-hyprland swaylock-effects-new waybar-new - mint-themes ; hyprwm hyprland @@ -170,6 +168,7 @@ hypridle hyprland-plugin-hy3 hyprland-plugins + xdg-desktop-portal-hyprland ; qt qt5-styleplugins @@ -178,6 +177,7 @@ ; bluetooth bluez-new blueman-new + overskride ; system virt-manager-new