mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-11-16 01:14:45 +00:00
Compare commits
No commits in common. "4baff4a83251c816860f4e9e3b2f136d6ad6e9f4" and "3386c9a43d37282cc7ee7edd50553acaa6b71651" have entirely different histories.
4baff4a832
...
3386c9a43d
@ -116,3 +116,26 @@ exists and is only writable by root.")
|
||||
(list "-Dlibseat-logind=disabled")))))
|
||||
(propagated-inputs '())
|
||||
(properties '((disable-updater? . #t))))))
|
||||
|
||||
(define-public tuigreet
|
||||
(package
|
||||
(name "tuigreet")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/apognu/tuigreet")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15h2b97clllbhlw5jc4lwkmir18njnyk56zghafsas84m6jjsikv"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments (list #:install-source? #f))
|
||||
(inputs (rosenthal-cargo-inputs 'tuigreet))
|
||||
(home-page "https://github.com/apognu/tuigreet")
|
||||
(synopsis "Graphical console greeter for @code{greetd}")
|
||||
(description
|
||||
"This package provides a graphical console greeter for @code{greetd}. It
|
||||
doesn't need a Wayland compositor to be used.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
@ -8,8 +8,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (rosenthal utils cargo)
|
||||
#:use-module (gnu packages sqlite))
|
||||
#:use-module (rosenthal utils cargo))
|
||||
|
||||
(define-public atuin
|
||||
(package
|
||||
@ -27,7 +26,6 @@
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;TODO.
|
||||
#:install-source? #f
|
||||
#:features
|
||||
''("client" "sync" "server" "clipboard" "daemon")
|
||||
@ -69,7 +67,7 @@
|
||||
;; otherwise cargo will raise an error.
|
||||
(invoke "cargo" "install" "--no-track" "--path" "crates/atuin"
|
||||
"--root" out "--features" (string-join features))))))))
|
||||
(inputs (cons sqlite (rosenthal-cargo-inputs 'atuin)))
|
||||
(inputs (rosenthal-cargo-inputs 'atuin))
|
||||
(home-page "https://atuin.sh/")
|
||||
(synopsis "Sync, search and backup shell history")
|
||||
(description
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -5,3 +5,36 @@
|
||||
(define-module (rosenthal packages tree-sitter)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define tree-sitter-grammar
|
||||
(@@ (gnu packages tree-sitter) tree-sitter-grammar))
|
||||
|
||||
(define-public tree-sitter-yaml
|
||||
(let ((base
|
||||
(tree-sitter-grammar
|
||||
"yaml" "YAML"
|
||||
"1bimf5fq85wn8dwlk665w15n2bj37fma5rsfxrph3i9yb0lvzi3q"
|
||||
"0.5.0"
|
||||
#:repository-url "https://github.com/ikatyang/tree-sitter-yaml"
|
||||
#:get-cleanup-snippet
|
||||
(lambda (grammar-directories)
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(delete-file-recursively "docs")
|
||||
(delete-file "binding.gyp")
|
||||
(delete-file-recursively "bindings")
|
||||
(for-each
|
||||
(lambda (lang)
|
||||
(with-directory-excursion lang
|
||||
(delete-file "src/grammar.json")
|
||||
(delete-file "src/node-types.json")
|
||||
(delete-file "src/parser.c")
|
||||
(delete-file-recursively "src/tree_sitter")))
|
||||
'#$grammar-directories))))))
|
||||
(package
|
||||
(inherit base)
|
||||
(arguments
|
||||
(append '(#:tests? #f) ;FIXME
|
||||
(package-arguments base)))
|
||||
(properties
|
||||
'((disable-updater? . #t))))))
|
||||
|
||||
@ -19,3 +19,183 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg))
|
||||
|
||||
(define-public rust-pipewire
|
||||
(let ((commit "fd3d8f7861a29c2eeaa4c393402e013578bb36d9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "rust-pipewire")
|
||||
(version (git-version "0.8.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hzyhz7xg0mz8a5y9j6yil513p1m610q3j9pzf6q55vdh5mcn79v"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:skip-build? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Avoid circular dependency.
|
||||
(add-after 'unpack 'remove-dev-dependencies
|
||||
(lambda _
|
||||
(substitute* "libspa/Cargo.toml"
|
||||
(("^pipewire.*") ""))))
|
||||
(replace 'package
|
||||
(lambda* (#:key cargo-package-flags vendor-dir #:allow-other-keys)
|
||||
(begin
|
||||
;;error: invalid inclusion of reserved file name Cargo.toml.orig in package source
|
||||
(when (file-exists? "Cargo.toml.orig")
|
||||
(delete-file "Cargo.toml.orig"))
|
||||
|
||||
(for-each
|
||||
(lambda (pkg)
|
||||
(apply invoke "cargo" "package" "--offline" "--package" pkg
|
||||
cargo-package-flags)
|
||||
(for-each
|
||||
(lambda (crate)
|
||||
(invoke "tar" "xzf" crate "-C" vendor-dir))
|
||||
(find-files "target/package" "\\.crate$"))
|
||||
((assoc-ref %standard-phases 'patch-cargo-checksums)))
|
||||
'("libspa-sys" "libspa" "pipewire-sys" "pipewire"))))))))
|
||||
(inputs (rosenthal-cargo-inputs 'rust-pipewire))
|
||||
(home-page "https://pipewire.org/")
|
||||
(synopsis "Rust bindings for PipeWire")
|
||||
(description "This package provides Rust bindings for PipeWire.")
|
||||
(license license:expat)
|
||||
(properties
|
||||
'((hidden? . #t)
|
||||
(disable-updater? . #t))))))
|
||||
|
||||
(define-public rust-smithay
|
||||
(let ((commit "0cd3345c59f7cb139521f267956a1a4e33248393")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "rust-smithay")
|
||||
(version (git-version "0.4.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Smithay/smithay")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"191h87bpzg0l1ihfb4hmx00b86pfb5mwwc6s8i49al0vigc14l37"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:skip-build? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'package
|
||||
(lambda* (#:key cargo-package-flags vendor-dir #:allow-other-keys)
|
||||
(begin
|
||||
;;error: invalid inclusion of reserved file name Cargo.toml.orig in package source
|
||||
(when (file-exists? "Cargo.toml.orig")
|
||||
(delete-file "Cargo.toml.orig"))
|
||||
|
||||
(for-each
|
||||
(lambda (pkg)
|
||||
(apply invoke "cargo" "package" "--offline" "--package" pkg
|
||||
cargo-package-flags)
|
||||
(for-each
|
||||
(lambda (crate)
|
||||
(invoke "tar" "xzf" crate "-C" vendor-dir))
|
||||
(find-files "target/package" "\\.crate$"))
|
||||
((assoc-ref %standard-phases 'patch-cargo-checksums)))
|
||||
'("smithay" "smithay-drm-extras"))))))))
|
||||
(inputs (rosenthal-cargo-inputs 'rust-smithay))
|
||||
(home-page "https://github.com/Smithay/smithay")
|
||||
(synopsis "Smithy for Rust Wayland compositors")
|
||||
(description
|
||||
"Smithay aims to provide building blocks to create wayland compositors in
|
||||
Rust. While not being a full-blown compositor, it'll provide objects and
|
||||
interfaces implementing common functionalities that pretty much any compositor
|
||||
will need, in a generic fashion.
|
||||
|
||||
It supports the @code{wayland}, @code{wayland-protocols}, and some external
|
||||
extensions, such as @code{wlr-protocols} and @code{plasma-wayland-protocols}.")
|
||||
(license license:expat)
|
||||
(properties
|
||||
'((hidden? . #t)
|
||||
(disable-updater? . #t))))))
|
||||
|
||||
(define-public niri
|
||||
(package
|
||||
(name "niri")
|
||||
(version "25.02")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YaLTeR/niri")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vzskaalcz6pcml687n54adjddzgf5r07gggc4fhfsa08h1wfd4r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-guix-vendored-dependencies
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("# version =.*")
|
||||
"version = \"*\"")
|
||||
(("git.*optional")
|
||||
"version = \"*\", optional")
|
||||
(("^git = .*")
|
||||
""))))
|
||||
(add-after 'unpack 'set-environment
|
||||
(lambda _
|
||||
(setenv "RUSTFLAGS"
|
||||
(string-join
|
||||
'("-C" "link-arg=-lEGL"
|
||||
"-C" "link-arg=-lwayland-client")
|
||||
" "))
|
||||
(setenv "NIRI_BUILD_VERSION_STRING"
|
||||
#$(package-version this-package))
|
||||
;; For tests.
|
||||
(setenv "XDG_RUNTIME_DIR" "/tmp")))
|
||||
(add-after 'install 'install-extras
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "resources/niri.desktop"
|
||||
(("niri-session")
|
||||
(format #f "~a --dbus-daemon=~a ~a/bin/niri --session"
|
||||
(search-input-file inputs "bin/dbus-run-session")
|
||||
(search-input-file inputs "bin/dbus-daemon")
|
||||
#$output)))
|
||||
(install-file
|
||||
"resources/niri.desktop"
|
||||
(in-vicinity #$output "share/wayland-sessions"))
|
||||
(install-file
|
||||
"resources/niri-portals.conf"
|
||||
(in-vicinity #$output "share/xdg-desktop-portal")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(cons* clang
|
||||
dbus
|
||||
libdisplay-info
|
||||
libinput-minimal
|
||||
libseat
|
||||
libxkbcommon
|
||||
mesa
|
||||
pango
|
||||
pipewire
|
||||
wayland
|
||||
(rosenthal-cargo-inputs 'niri)))
|
||||
(home-page "https://github.com/YaLTeR/niri")
|
||||
(synopsis "Scrollable-tiling Wayland compositor")
|
||||
(description
|
||||
"Niri is a scrollable-tiling Wayland compositor which arranges windows in a
|
||||
scrollable format. It is considered stable for daily use and performs most
|
||||
functions expected of a Wayland compositor.")
|
||||
(license license:gpl3)
|
||||
(properties
|
||||
'((disable-updater? . #t)))))
|
||||
|
||||
@ -12,3 +12,45 @@
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public xwayland-satellite
|
||||
(package
|
||||
(name "xwayland-satellite")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Supreeeme/xwayland-satellite")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r99qfbmc67202pcs4kiw94hiql0aqcsx877bgnlyxy6gzilq47y"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:install-source? #f
|
||||
#:tests? #f ;Requires running display server.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/lib.rs"
|
||||
(("\"Xwayland\"")
|
||||
(format #f "\"~a\""
|
||||
(search-input-file inputs "bin/Xwayland")))))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs
|
||||
(cons* clang
|
||||
xcb-util-cursor
|
||||
xorg-server-xwayland
|
||||
(rosenthal-cargo-inputs 'xwayland-satellite)))
|
||||
(home-page "https://github.com/Supreeeme/xwayland-satellite")
|
||||
(synopsis "Xwayland outside your Wayland")
|
||||
(description
|
||||
"@command{xwayland-satellite} grants rootless Xwayland integration to any
|
||||
Wayland compositor implementing @code{xdg_wm_base} interface. This is
|
||||
particularly useful for compositors that (understandably) do not want to go
|
||||
through implementing support for rootless Xwayland themselves.")
|
||||
(license license:mpl2.0)
|
||||
(properties
|
||||
'((disable-updater? . #t)))))
|
||||
|
||||
@ -18,13 +18,13 @@
|
||||
greetd-tuigreet-session?
|
||||
this-greetd-tuigreet-session
|
||||
(tuigreet greetd-tuigreet-session-tuigreet
|
||||
(default (spec->pkg "tuigreet"))))
|
||||
(default tuigreet)))
|
||||
|
||||
(define-gexp-compiler (greetd-tuigreet-session-compiler
|
||||
(session <greetd-tuigreet-session>)
|
||||
system target)
|
||||
(match-record session <greetd-tuigreet-session> (tuigreet)
|
||||
(let ((tuigreet (file-append (spec->pkg "tuigreet") "/bin/tuigreet")))
|
||||
(let ((tuigreet (file-append tuigreet "/bin/tuigreet")))
|
||||
(lower-object
|
||||
(program-file "tuigreet-wrapper"
|
||||
#~(execl #$tuigreet #$tuigreet
|
||||
|
||||
Loading…
Reference in New Issue
Block a user