summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Coble <j@kecoble.com>2026-03-12 19:57:59 -0400
committerDanny Milosavljevic <dannym@friendly-machines.com>2026-03-14 16:05:24 +0100
commita0424a295508cdbbceb07e2fa5f414c6779e1b1f (patch)
treed863fc7aedc1aac54fb20b9bc52ab28921380f6b
parenta863c41cafd952dd1141ffa2923b6b6019e38561 (diff)
gnu: Add ianny.
* gnu/packages/rust-apps.scm (ianny): New variable. * gnu/packages/rust-crates.scm: Add crates for ianny. Merges guix/guix!7094 Change-Id: I5c6e1ac1335cd26f122ebd64d974ac4ffc6b7fbf Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
-rw-r--r--gnu/packages/rust-apps.scm53
-rw-r--r--gnu/packages/rust-crates.scm126
2 files changed, 179 insertions, 0 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 827e778c938..8c05d01ffab 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -2097,6 +2097,59 @@ replacement for i3status, written in pure Rust. It provides a way to display
bar. It is also compatible with sway.")
(license license:gpl3)))
+(define-public ianny
+ (package
+ (name "ianny")
+ (version "2.1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zefr0x/ianny")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14nmpz7nkjj2rr3g4f3npg8dd5b533wp73q90q4vgp06rf9mbyq8"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%meson-build-system-modules
+ ,@%cargo-build-system-modules)
+ #:modules '(((guix build cargo-build-system) #:prefix cargo:)
+ (guix build meson-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-for-build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "meson.build"
+ (("/etc/xdg/autostart")
+ (string-append (assoc-ref outputs "out")
+ "/etc/xdg/autostart")))
+ (delete-file "Cargo.lock")))
+ ;; The meson 'configure phase changes to a different directory and
+ ;; we need it created before unpacking the crates.
+ (add-after 'configure 'prepare-cargo-build-system
+ (lambda args
+ (for-each
+ (lambda (phase)
+ (format #t "Running cargo phase: ~a~%" phase)
+ (apply (assoc-ref cargo:%standard-phases phase)
+ #:vendor-dir "vendor"
+ args))
+ '(unpack-rust-crates
+ configure
+ check-for-pregenerated-files
+ patch-cargo-checksums)))))))
+ (native-inputs (list pkg-config rust `(,rust "cargo")))
+ (inputs
+ (cons dbus (cargo-inputs 'ianny)))
+ (home-page "https://github.com/zefr0x/ianny")
+ (synopsis "RSI break timer for Wayland")
+ (description "Desktop utility that helps prevent repetitive strain injuries
+by keeping track of usage patterns and periodically reminding the user to take
+breaks.")
+ (license license:gpl3)))
+
(define-public iwmenu
(package
(name "iwmenu")
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 615eaa294ed..5904e30247e 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -8333,6 +8333,10 @@
(crate-source "gcc" "0.3.55"
"1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg"))
+(define rust-gcd-2.3.0
+ (crate-source "gcd" "2.3.0"
+ "06l4fib4dh4m6gazdrzzzinhvcpcfh05r4i4gzscl03vnjhqnx8x"))
+
(define rust-gdk-0.12.1
(crate-source "gdk" "0.12.1"
"12bmk9vfpk7f03fx22cq9ps00xylsxcpmp8c8r95r1n05xvyirgv"))
@@ -24468,6 +24472,10 @@
(crate-source "simple_logger" "4.3.3"
"1w9ypyn5n7bxw6aylbkwz3hfsjpvkx0qm2xj11yx8l82r744czlf"))
+(define rust-simple-logger-5.1.0
+ (crate-source "simple_logger" "5.1.0"
+ "00lp2x1l6xxxp1gf3ixpir3b85smabhdggr1lw70ncg7gijfw6r9"))
+
(define rust-simple-logger-5.2.0
(crate-source "simple_logger" "5.2.0"
"05qw0xv4ifhlpwd79gyrcqzndwynyrp6y6kyck7gj6v6jq78s0y7"))
@@ -24492,6 +24500,10 @@
(crate-source "simplelog" "0.9.0"
"087pr7n3z7myaxi0ay430bsjj6xddpwspz1ssi8v5a8lk3bgzh2b"))
+(define rust-single-instance-0.3.3
+ (crate-source "single-instance" "0.3.3"
+ "0pbrr0bwnfsqfyb9j057i73r0ymjmbczjq5z7nfmqm7qj59lhds6"))
+
(define rust-siphasher-0.3.11
(crate-source "siphasher" "0.3.11"
"03axamhmwsrmh0psdw3gf7c0zc4fyl5yjxfifz9qfka6yhkqid9q"))
@@ -50268,6 +50280,120 @@
rust-zvariant-5.4.0
rust-zvariant-derive-5.4.0
rust-zvariant-utils-3.2.0))
+ (ianny =>
+ (list rust-aho-corasick-1.1.4
+ rust-autocfg-1.5.0
+ rust-bitflags-1.3.2
+ rust-bitflags-2.10.0
+ rust-block-0.1.6
+ rust-block2-0.6.2
+ rust-cc-1.2.50
+ rust-cfg-if-1.0.4
+ rust-colored-3.0.0
+ rust-dbus-0.9.10
+ rust-deranged-0.5.5
+ rust-dispatch2-0.3.0
+ rust-downcast-rs-1.2.1
+ rust-equivalent-1.0.2
+ rust-errno-0.3.14
+ rust-fastrand-2.3.0
+ rust-find-msvc-tools-0.1.5
+ rust-futures-core-0.3.31
+ rust-futures-io-0.3.31
+ rust-futures-lite-2.6.1
+ rust-gcd-2.3.0
+ rust-gettext-rs-0.7.7
+ rust-gettext-sys-0.26.0
+ rust-hashbrown-0.16.1
+ rust-indexmap-2.12.1
+ rust-lazy-static-1.5.0
+ rust-libc-0.2.178
+ rust-libdbus-sys-0.2.7
+ rust-linux-raw-sys-0.11.0
+ rust-locale-config-0.3.0
+ rust-log-0.4.29
+ rust-mac-notification-sys-0.6.9
+ rust-malloc-buf-0.0.6
+ rust-memchr-2.7.6
+ rust-memoffset-0.6.5
+ rust-nix-0.23.2
+ rust-notify-rust-4.11.7
+ rust-num-conv-0.1.0
+ rust-objc-0.2.7
+ rust-objc-foundation-0.1.1
+ rust-objc2-0.6.3
+ rust-objc2-core-foundation-0.3.2
+ rust-objc2-encode-4.1.0
+ rust-objc2-foundation-0.3.2
+ rust-objc-id-0.1.1
+ rust-parking-2.2.1
+ rust-pin-project-lite-0.2.16
+ rust-pkg-config-0.3.32
+ rust-powerfmt-0.2.0
+ rust-proc-macro2-1.0.103
+ rust-quick-xml-0.37.5
+ rust-quote-1.0.42
+ rust-regex-1.12.2
+ rust-regex-automata-0.4.13
+ rust-regex-syntax-0.8.8
+ rust-rustix-1.1.3
+ rust-serde-1.0.228
+ rust-serde-core-1.0.228
+ rust-serde-derive-1.0.228
+ rust-serde-spanned-1.0.4
+ rust-shlex-1.3.0
+ rust-simple-logger-5.1.0
+ rust-single-instance-0.3.3
+ rust-smallvec-1.15.1
+ rust-syn-2.0.111
+ rust-tauri-winrt-notification-0.7.2
+ rust-temp-dir-0.1.16
+ rust-thiserror-1.0.69
+ rust-thiserror-2.0.17
+ rust-thiserror-impl-1.0.69
+ rust-thiserror-impl-2.0.17
+ rust-time-0.3.44
+ rust-time-core-0.1.6
+ rust-toml-0.9.10+spec-1.1.0
+ rust-toml-datetime-0.7.5+spec-1.1.0
+ rust-toml-parser-1.0.6+spec-1.1.0
+ rust-toml-writer-1.0.6+spec-1.1.0
+ rust-unicode-ident-1.0.22
+ rust-wayland-backend-0.3.11
+ rust-wayland-client-0.31.11
+ rust-wayland-protocols-0.32.9
+ rust-wayland-scanner-0.31.7
+ rust-wayland-sys-0.31.7
+ rust-widestring-0.4.3
+ rust-winapi-0.3.9
+ rust-winapi-i686-pc-windows-gnu-0.4.0
+ rust-winapi-x86-64-pc-windows-gnu-0.4.0
+ rust-windows-0.61.3
+ rust-windows-collections-0.2.0
+ rust-windows-core-0.61.2
+ rust-windows-future-0.2.1
+ rust-windows-implement-0.60.2
+ rust-windows-interface-0.59.3
+ rust-windows-link-0.1.3
+ rust-windows-link-0.2.1
+ rust-windows-numerics-0.2.0
+ rust-windows-result-0.3.4
+ rust-windows-strings-0.4.2
+ rust-windows-sys-0.59.0
+ rust-windows-sys-0.61.2
+ rust-windows-targets-0.52.6
+ rust-windows-threading-0.1.0
+ rust-windows-version-0.1.7
+ rust-windows-aarch64-gnullvm-0.52.6
+ rust-windows-aarch64-msvc-0.52.6
+ rust-windows-i686-gnu-0.52.6
+ rust-windows-i686-gnullvm-0.52.6
+ rust-windows-i686-msvc-0.52.6
+ rust-windows-x86-64-gnu-0.52.6
+ rust-windows-x86-64-gnullvm-0.52.6
+ rust-windows-x86-64-msvc-0.52.6
+ rust-winnow-0.7.14
+ rust-xdg-3.0.0))
(iocaine =>
(list rust-addr2line-0.24.2
rust-adler2-2.0.1