Compare commits

..

No commits in common. '7d9214d18ea62b4a5354fa047a9c924a86a60f09' and '1deb97ada4d7d8c2d501738fcc1532a605de51a7' have entirely different histories.

  1. 38
      rosenthal/packages/binaries.scm
  2. 6
      rosenthal/packages/dns.scm
  3. 20
      rosenthal/packages/freedesktop.scm
  4. 4
      rosenthal/packages/networking.scm
  5. 440
      rosenthal/packages/wm.scm
  6. 19
      rosenthal/services/child-error.scm
  7. 2
      rosenthal/services/networking.scm
  8. 9
      rosenthal/services/web.scm

@ -85,15 +85,15 @@ protocols out-of-the-box.")
(define-public cloudflare-warp-bin
(package
(name "cloudflare-warp-bin")
(version "2024.9.346.0")
(version "2024.6.497")
(source (origin
(method url-fetch)
(uri (string-append "https://pkg.cloudflareclient.com"
"/pool/bookworm/main/c/cloudflare-warp/"
"cloudflare-warp_" version "_amd64.deb"))
"cloudflare-warp_" version "-1_amd64.deb"))
(sha256
(base32
"1jrvhb4ka6j0fn9ymnpz1j4anljhl3b15h54np40x0p2d5c28czi"))))
"1ry62ck61gn4bxnkih3775pdlndp2ldxwifbjkxbj3wfd4f67xiv"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
@ -101,9 +101,11 @@ protocols out-of-the-box.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unpack-deb
(lambda* (#:key source #:allow-other-keys)
(invoke "ar" "-x" source)
(invoke "tar" "-xf" "data.tar.gz")))
(lambda _
(let ((deb-pack (format #f "cloudflare-warp_~a-1_amd64.deb"
#$(package-version this-package))))
(invoke "ar" "-x" deb-pack)
(invoke "tar" "-xf" "data.tar.gz"))))
(add-after 'install 'patch-elf
(lambda _
(let ((ld.so (string-append #$(this-package-input "glibc")
@ -133,7 +135,7 @@ protocols out-of-the-box.")
(find-files
(string-append #$output "/bin")))))))))
(supported-systems '("x86_64-linux"))
(native-inputs (list patchelf-0.16))
(native-inputs (list patchelf))
(inputs (list dbus `(,gcc "lib") glibc nspr nss))
(home-page "https://1.1.1.1/")
(synopsis "Cloudflare WARP client")
@ -150,7 +152,7 @@ different needs.")
(define-public hugo-bin
(package
(name "hugo-bin")
(version "0.136.5")
(version "0.133.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -158,7 +160,7 @@ different needs.")
version "/hugo_extended_" version "_linux-amd64.tar.gz"))
(sha256
(base32
"1zvhpyqad402ifa4gyin6apxmyhxg5ww8d7ng7h7q1qbpcd7rgmp"))))
"0vlfvh81yq6ccp3dx95q4d8ha2ir54a89jl7m63l1rwsvvi3099p"))))
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("hugo" "bin/"))
@ -178,7 +180,7 @@ different needs.")
"/lib")
hugo)))))))
(supported-systems '("x86_64-linux"))
(native-inputs (list patchelf-0.16))
(native-inputs (list patchelf))
(inputs (list `(,gcc "lib") glibc))
(home-page "https://gohugo.io/")
(synopsis "Static site generator")
@ -219,7 +221,7 @@ monster-in-the-middle}.")
(define-public sing-box-bin
(package
(name "sing-box-bin")
(version "1.10.1")
(version "1.9.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -227,7 +229,7 @@ monster-in-the-middle}.")
version "/sing-box-" version "-linux-amd64.tar.gz"))
(sha256
(base32
"0cadcqisnfzzf9154bj29ik1sh829rhgqqsjjxa31mgzfzn5ghcy"))))
"0v67g0zx7q6dld8hr714lmrh33idw23mj50a9szq2v835qrciymj"))))
(build-system copy-build-system)
(arguments (list #:install-plan #~'(("sing-box" "bin/"))))
(supported-systems '("x86_64-linux"))
@ -240,14 +242,14 @@ monster-in-the-middle}.")
(define-public tailscale-bin
(package
(name "tailscale-bin")
(version "1.76.1")
(version "1.74.1")
(source (origin
(method url-fetch)
(uri (string-append "https://pkgs.tailscale.com"
"/stable/tailscale_" version "_amd64.tgz"))
(sha256
(base32
"0dk0p4jc91p6c1jg944ljvanj85r3szjs6zl4xh71anq20vlj4bb"))))
"12196z8dhdzxq8mjj0rlvhr6wchmi6z33ym36yqqrp4m52xjz7q5"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
@ -263,7 +265,7 @@ way to use WireGuard and 2FA.")
(define-public wakapi-bin
(package
(name "wakapi-bin")
(version "2.12.1")
(version "2.11.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -271,7 +273,7 @@ way to use WireGuard and 2FA.")
version "/wakapi_linux_amd64.zip"))
(sha256
(base32
"0kfid6ii9y1sp2w1na55mybyjya1c2k0jgj9h4zf64kg7isv626w"))))
"065nkk0ixkkry6qldy7vai93pc7bi3inwgc5lc1mch3xkwwd8w0g"))))
(build-system copy-build-system)
(arguments (list #:install-plan #~'(("wakapi" "bin/wakapi"))))
(supported-systems '("x86_64-linux"))
@ -286,7 +288,7 @@ coding statistics.")
(define-public wakatime-cli-bin
(package
(name "wakatime-cli-bin")
(version "1.102.4")
(version "1.98.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/wakatime/wakatime-cli"
@ -294,7 +296,7 @@ coding statistics.")
"/wakatime-cli-linux-amd64.zip"))
(sha256
(base32
"0pdjvz3lk318ply7gz6bsvprav5b2nj5qd8rblvzc948snlmps1z"))))
"1n9axr1gsnc5vdlk7wb6l7fadgx7c2x13k8d0496vbibh8iqzln9"))))
(build-system copy-build-system)
(arguments
(list #:install-plan

@ -11,8 +11,8 @@
(define-public dnsmasq-china-list
;; No version.
(let ((commit "8c4858a70358734581c4803051ac8d06e70b9987")
(revision "17"))
(let ((commit "a460349440fef37e7e72b22080859a38b5443863")
(revision "16"))
(package
(name "dnsmasq-china-list")
(version (git-version "0" revision commit))
@ -24,7 +24,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1cy20fpz47d5s7ba4g8a826720sx0c0nq7jc9xc7l8vwl10nz5h5"))))
"1i32bgwf0lnz9369vwnjvl2ja5f5ip14bdaf7b28i3w05qhg7738"))))
(build-system copy-build-system)
(arguments
(list #:install-plan

@ -8,3 +8,23 @@
#:use-module (gnu packages check)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages python))
;; https://issues.guix.gnu.org/65525
;; Now in core-updates.
(define-public libinput-minimal-1.24.0
(package
(inherit libinput-minimal)
(name "libinput-minimal")
(version "1.24.0")
(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
"0xk0dljykjfmkks7kjxvbia6g3wadmy7lihfygm8icywkq8j0dw1"))))
(native-inputs
(modify-inputs (package-native-inputs libinput)
(append python-minimal-wrapper python-pytest)))))

@ -14,7 +14,7 @@
(define-public cloudflared
(package
(name "cloudflared")
(version "2024.10.1")
(version "2024.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -26,7 +26,7 @@
;; (snippet '(delete-file-recursively "vendor"))
(sha256
(base32
"00ahppkm226vmlm0qwmaf03i5g1y6ycphl32wra6c2lb38jhrwsf"))))
"0391nrvxi1hlqgd20p0jh0c8smgqfazviijs5ins8wsbszrbjmrw"))))
(build-system go-build-system)
(arguments
(list #:go go-1.23

@ -3,22 +3,19 @@
;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages wm)
#:use-module (srfi srfi-26)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system qt)
#:use-module (gnu packages admin)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages cmake)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages freedesktop)
@ -39,22 +36,49 @@
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (rosenthal packages freedesktop))
(define libinput-minimal-for-hyprland
(define cairo-for-hyprland
(package
(inherit libinput-minimal)
(name "libinput-minimal")
(version "1.26.0")
(inherit cairo)
(name "cairo")
(version "1.18.0")
(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))
(method url-fetch)
(uri (string-append "https://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4"))))
(build-system meson-build-system)
(arguments
(list #:tests? #f
#:glib-or-gtk? #t
#:configure-flags
#~(list "-Dspectre=disabled")))
(outputs '("out"))))
(define hwdata-for-hyprland
(package
(inherit hwdata)
(arguments
(substitute-keyword-arguments (package-arguments hwdata)
((#:phases _) #~%standard-phases)))
(outputs '("out"))))
(define libdrm-for-hyprland
(package
(inherit libdrm)
(name "libdrm")
(version "2.4.120")
(source (origin
(method url-fetch)
(uri (string-append
"https://dri.freedesktop.org/libdrm/libdrm-"
version ".tar.xz"))
(sha256
(base32
"010bqvic471prhja1j5xqni9dhqc36ikqpxi8ih0fs13wph70p4s"))))))
"0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v"))))))
(define udis86-for-hyprland
(let ((revision "186")
@ -81,124 +105,60 @@ 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 wayland-for-hyprland
(define wayland-protocols-for-hyprland
(package
(inherit wayland)
(name "wayland")
(version "1.23.1")
(inherit wayland-protocols)
(name "wayland-protocols")
(version "1.36")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/" name
"/" name "/-/releases/" version "/downloads/"
name "-" version ".tar.xz"))
(uri (string-append
"https://gitlab.freedesktop.org/wayland/wayland-protocols"
"/-/releases/" version "/downloads/"
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
"1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6"))))))
(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))))
(file-name (git-file-name name version))
(sha256
(base32
"0x1zz1ywchs0awkjkvdgskgqnp6pz5lqwmgr8g0zc0i7inhyg1p3"))))
(build-system cmake-build-system)
(arguments
(list #:cmake cmake-3.30
;; TODO
#:tests? #f))
(native-inputs
(list gcc-13 hyprwayland-scanner pkg-config))
(inputs
(list eudev
hwdata
hyprutils
libdisplay-info
libglvnd
libinput-minimal-for-hyprland
libseat
mesa
pixman
wayland
wayland-protocols-next))
(home-page "https://hyprland.org/")
(synopsis "Linux rendering backend library")
(description
"Aquamarine is a C++-only Linux rendering backend library. It provides
basic abstractions for an application to render on a Wayland session (in a
window) or a native DRM session. It is agnostic of the rendering
API (Vulkan / OpenGL).")
(license license:bsd-3)))
"14kyxywpfkgpjpkrybs28q1s2prnz30k1b4zap5a3ybrbvh4vzbi"))))))
(define-public grimblast
(let ((version "0.1")
(define wlroots-for-hyprland
(let ((base wlroots)
(revision "1")
(commit "9d67858b437d4a1299be496d371b66fc0d3e01f6"))
(commit "5c1d51c5a2793480f5b6c4341ad0797052aec2ea"))
(package
(name "grimblast")
(version (git-version version revision commit))
(inherit base)
(name "wlroots")
(version (git-version "0.18.0-dev-hyprland" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/contrib")
(url "https://github.com/hyprwm/wlroots-hyprland")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1v0v5j7ingx80b5zpyz8ilfhz0kh9dcssnx6iwwl45zzgp915cpv"))))
(build-system gnu-build-system)
"0gy0g0kxb3q1wjqrypnvmrxcb4ld3advikchygpwpfp4s9v0mmvd"))))
(arguments
(list #:tests? #f ;No tests.
#:make-flags
#~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'chdir
(substitute-keyword-arguments (package-arguments wlroots)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'adjust-patching-script
(lambda _
(chdir "grimblast")))
(add-after 'chdir 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grimblast"
(((string-append "\\<(" (string-join
'("date"
"grim"
"slurp"
"hyprctl"
"hyprpicker"
"wl-copy"
"jq"
"notify-send")
"|")
")\\>")
cmd)
(search-input-file
inputs (string-append "bin/" cmd)))))))))
(native-inputs (list scdoc))
(inputs
(list coreutils-minimal
grim
jq
libnotify
slurp
hyprland
hyprpicker
wl-clipboard))
(home-page "https://github.com/hyprwm/contrib")
(synopsis "Hyprland version of Grimshot")
(description "A Hyprland version of Grimshot.")
(license license:expat))))
(substitute* "patches/apply.sh"
(("apply \\|\\| check_applied \\|\\| fail")
"patch -Np1 < $PATCH"))))))))
(propagated-inputs
(modify-inputs (package-propagated-inputs wlroots)
(prepend libdrm-for-hyprland)
(replace "libinput-minimal" libinput-minimal-1.24.0)
(replace "wayland-protocols" wayland-protocols-for-hyprland)))
(native-inputs
(modify-inputs (package-native-inputs base)
(replace "hwdata" `(,hwdata-for-hyprland "out")))))))
(define-public hyprcursor
(package
(name "hyprcursor")
(version "0.1.9")
(version "0.1.7")
(source (origin
(method git-fetch)
(uri (git-reference
@ -207,21 +167,54 @@ API (Vulkan / OpenGL).")
(file-name (git-file-name name version))
(sha256
(base32
"0z3ar580n630145nq80qw0p8v0kai6knvhi6nr9z0y1jrb07b0ql"))))
"0s5x3nk2f48xl2z797f8s5jddmhpkg0ndw0jl7mirv9l23xmajag"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;TODO: No themes currently packaged.
(arguments (list #:tests? #f)) ;TODO: No themes packaged.
(inputs (list cairo-for-hyprland hyprlang librsvg libzip tomlplusplus))
(native-inputs (list gcc-13 pkg-config))
(inputs (list cairo hyprlang (librsvg-for-system) libzip tomlplusplus))
(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 hyprland-protocols
(package
(name "hyprland-protocols")
(version "0.2")
(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
"1drjznj7fn6m5m6skhzh0p031cb5x0bb4i56jxnxwpwaa71g1z20"))))
(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)))
(define hyprland-unbundle-wlroots-patch
(origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/"
"cba1ade848feac44b2eda677503900639581c3f4"
"/nix/patches/meson-build.patch"))
(sha256
(base32 "0fwvsshz3k6061p3hdl175pydmj80vnw5rm4xfcn64w1ssfq7liw"))))
(define-public hyprland
(package
(name "hyprland")
(version "0.44.1")
(version "0.40.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland"
@ -231,90 +224,61 @@ API (Vulkan / OpenGL).")
(snippet
'(begin
;; Remove bundled sources and hyprpm utility.
(substitute* "CMakeLists.txt"
(("^add_subdirectory\\(hyprpm\\).*") ""))
(substitute* "meson.build"
((".*hyprpm/src.*") ""))
(for-each delete-file-recursively
'("hyprpm"
"subprojects"))))
(patches (list hyprland-unbundle-wlroots-patch))
(sha256
(base32
"0qzwdlj0bwj267285l3gjklhafn3bln90z985yws4j5cbp7bj0d9"))))
(build-system cmake-build-system)
"0f4hs8qzmfmg4lr491b2inanb02xn4xa0gwb8a0ks3m64iwzx589"))))
(build-system meson-build-system)
(arguments
(list #:cmake cmake-3.30
#:tests? #f ;No tests.
(list #:build-type "release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/xwayland/Server.cpp"
(("Xwayland( \\{\\})" _ suffix)
(string-append
(search-input-file inputs "bin/Xwayland")
suffix)))
(substitute* (find-files "src" "\\.cpp$")
(("/usr/local(/bin/Hyprland)" _ path)
(string-append #$output path))
(("/usr") #$output)
(("\\<(addr2line|cat|lspci|nm)\\>" cmd)
(search-input-file
inputs (string-append "bin/" cmd)))))))))
(native-inputs (list gcc-14 hyprwayland-scanner ld-wrapper pkg-config))
(("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
_ pre cmd)
(string-append
pre (search-input-file
inputs (string-append "bin/" cmd))))
(("\\<cc\\>") (search-input-file inputs "bin/gcc"))
;; NOTE: Add binutils to inputs will override ld-wrapper.
(("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
(string-append pre #$binutils "/bin/nm"))
(("\\<(addr2line|objcopy)\\>" _ cmd)
(string-append #$binutils "/bin/" cmd))))))))
(native-inputs (list gcc-13 hyprwayland-scanner jq pkg-config))
(inputs
(list aquamarine
binutils
cairo
(list cairo-for-hyprland
gcc-13
hyprcursor
hyprland-protocols
hyprlang
hyprutils
libinput-minimal-for-hyprland
libxcursor
libxkbcommon
mesa
pango
pciutils
udis86-for-hyprland
wayland-for-hyprland
wayland-protocols-next
xcb-util-errors
xcb-util-wm
xorg-server-xwayland))
(home-page "https://hyprland.org/")
(synopsis "Dynamic tiling Wayland compositor")
(description
"Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice on
its looks.")
(license license:bsd-3)))
(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)
wlroots-for-hyprland))
(home-page "https://hyprland.org")
(synopsis "Wayland protocol extensions for Hyprland")
(synopsis "Dynamic tiling Wayland compositor based on wlroots")
(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.")
"Hyprland is a dynamic tiling Wayland compositor based on @code{wlroots}
that doesn't sacrifice on its looks. It supports multiple layouts, fancy
effects, has a very flexible IPC model allowing for a lot of customization, and
more.")
(license license:bsd-3)))
(define-public hyprlang
(package
(name "hyprlang")
(version "0.5.3")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -323,10 +287,9 @@ protocols used by Hyprland to bridge the aforementioned gap.")
(file-name (git-file-name name version))
(sha256
(base32
"0yvfrz3hdyxzhngzhr0bgc5279ra5fv01hbfi6pdj84pz0lpaw02"))))
"0f8mahg6d6wylybvh6hgayls57miwwv4w69fbaskd8d7dkg2h7kd"))))
(build-system cmake-build-system)
(native-inputs (list gcc-13 pkg-config))
(inputs (list hyprutils))
(native-inputs (list gcc-13))
(home-page "https://hyprland.org/hyprlang/")
(synopsis "Official implementation library for hypr config language")
(description
@ -334,73 +297,10 @@ protocols used by Hyprland to bridge the aforementioned gap.")
language used in @code{hyprland}.")
(license license:gpl3+)))
(define-public hyprpicker
(package
(name "hyprpicker")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprpicker")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11r06c62dqj81r27qhf36f3smnjyk3vz8naa655m8khv4qqvmvc2"))))
(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* "src/clipboard/Clipboard.cpp"
(("wl-copy" cmd)
(search-input-file
inputs (string-append "bin/" cmd)))))))))
(native-inputs (list gcc-13 hyprwayland-scanner pkg-config))
(inputs
(list cairo
hyprutils
libjpeg-turbo
libxkbcommon
pango
wayland
wayland-protocols-next
wl-clipboard))
(home-page "https://hyprland.org/")
(synopsis "@code{wlroots}-compatible Wayland color picker")
(description
"This package provides a @code{wlroots}-compatible Wayland color picker.")
(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)
(native-inputs (list gcc-13 pkg-config))
(inputs (list pixman))
(home-page "https://hyprland.org/")
(synopsis "C++ library for utilities used across Hyprland ecosystem")
(description
"This package provides a C++ library for utilities used across Hyprland
ecosystem.")
(license license:bsd-3)))
(define-public hyprwayland-scanner
(package
(name "hyprwayland-scanner")
(version "0.4.2")
(version "0.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -409,7 +309,7 @@ ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"0r7ay4zjkfyr0xd73wz99qhnqjq7nma98gm51wm9lmai4igw90qw"))))
"0mi0kawfw311ybiy4xipy1n20nvjphkfqzgnd8jxxbkhjkwn0jhg"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;No tests.
(inputs (list pugixml))
@ -421,10 +321,51 @@ ecosystem.")
for C++.")
(license license:bsd-3)))
(define-public grimblast
(package
(name "grimblast")
(version "0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/contrib")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ld0sj7ahf9jf8cqzbqkhj3m2w60027ixic24ih26nwy90b5qjwx"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no tests
#:make-flags
#~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'chdir
(lambda _
(chdir "grimblast")))
(add-after 'install 'wrap
(lambda* (#:key inputs #:allow-other-keys)
(let ((grimblast (string-append #$output "/bin/grimblast")))
(wrap-script grimblast
`("PATH" suffix
,(map (lambda (program)
(dirname (search-input-file
inputs (string-append "/bin/" program))))
'("grim" "slurp" "hyprctl" "wl-copy" "jq"
"notify-send" "date"))))))))))
(native-inputs (list scdoc))
(inputs (list grim guile-3.0 jq libnotify slurp hyprland wl-clipboard))
(home-page "https://github.com/hyprwm/contrib")
(synopsis "Hyprland version of Grimshot")
(description "A Hyprland version of Grimshot.")
(license license:expat)))
(define-public xdg-desktop-portal-hyprland
(package
(name "xdg-desktop-portal-hyprland")
(version "1.3.6")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -433,7 +374,7 @@ for C++.")
(file-name (git-file-name name version))
(sha256
(base32
"17ba9jkccyp8gv79ds70khgm5wm6x8zs5m9nkilq4n2j7fsa8cfl"))))
"0fdbzxanmmzrvb9wfzg1pdsnlg7dl6v5k8bl44w10n48s7bbbzn0"))))
(build-system qt-build-system)
(arguments
(list #:tests? #f ;No tests
@ -445,25 +386,22 @@ for C++.")
(substitute* (find-files "." "\\.cp?*$")
(("/bin/sh") "sh")
(("\\<(sh|grim|hyprctl|slurp)\\>" _ cmd)
(search-input-file inputs (string-append "bin/" cmd))))
(substitute* "src/shared/ScreencopyShared.cpp"
(search-input-file inputs (string-append "/bin/" cmd)))
(("\\<(hyprland-share-picker)\\>" _ cmd)
(string-append #$output "/bin/" cmd))))))))
(native-inputs
(list gcc-13 hyprwayland-scanner pkg-config))
(list gcc-13 pkg-config wayland))
(inputs
(list bash-minimal
grim
hyprland
hyprland-protocols
hyprlang
hyprutils
mesa
pipewire
qtwayland
sdbus-c++
slurp
wayland
wayland-protocols))
(home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
(synopsis "XDG Desktop Portal backend for Hyprland")

@ -49,7 +49,7 @@
(define-configuration clash-configuration
(clash
(file-like mihomo-bin)
(file-like clash-bin)
"The clash package.")
(log-file
@ -70,15 +70,23 @@
(no-serialization))
(define %clash-accounts
(list (user-group (name "clash") (system? #t))))
(list (user-group (name "clash") (system? #t))
(user-account
(name "clash")
(group "clash")
(system? #t)
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin")))))
(define clash-activation
(match-record-lambda <clash-configuration>
(data-directory config)
(clash log-file data-directory config)
#~(begin
(use-modules (guix build utils))
(let ((config-dest (string-append #$data-directory "/config.yaml")))
(let ((config-dest (string-append #$data-directory "/config.yaml"))
(user (getpwnam "clash")))
(mkdir-p #$data-directory)
(chown #$data-directory (passwd:uid user) (passwd:gid user))
(if (file-exists? config-dest)
(delete-file config-dest))
(symlink #$config config-dest)))))
@ -89,7 +97,7 @@
(define clash-shepherd-service
(match-record-lambda <clash-configuration>
(clash log-file data-directory shepherd-provision)
(clash log-file data-directory config shepherd-provision)
(list (shepherd-service
(documentation "Run clash.")
(provision shepherd-provision)
@ -103,6 +111,7 @@
mihomo-cmd
clash-cmd))
"-d" #$data-directory)
#:user "clash"
#:group "clash"
#:log-file #$log-file))
(stop #~(make-kill-destructor))

@ -383,7 +383,7 @@ list, power save will be disabled."))
"Path to log file.")
(socket
(string "/var/run/tailscale/tailscaled.sock")
(string "/run/tailscale/tailscaled.sock")
"Path of the service UNIX socket.")
(state-directory

@ -42,11 +42,8 @@
(log-file
(string "/var/log/jellyfin.log")
"Path to log file.")
(auto-start?
(boolean #t)
"Whether to start automatically.")
(extra-options
(list '())
(list-of-strings '())
"List of extra options.")
(no-serialization))
@ -77,8 +74,7 @@
(define jellyfin-oci-containers
(match-record-lambda <jellyfin-configuration>
(cache-directory config-directory
proxy-url log-file auto-start? extra-options)
(cache-directory config-directory proxy-url log-file extra-options)
(list (oci-container-configuration
(user "jellyfin")
(group "docker")
@ -90,7 +86,6 @@
(image "jellyfin/jellyfin:latest")
(provision "jellyfin")
(log-file log-file)
(auto-start? auto-start?)
(respawn? #t)
(network "host")
(volumes

Loading…
Cancel
Save