Compare commits

..

23 commits

Author SHA1 Message Date
e4727e9ca8 remove custom fzf as it breaks anyway lately 2025-08-24 10:01:47 +02:00
a524d0a423 switch to standard fzf 2025-08-24 10:01:28 +02:00
018417a52c update guix stuff 2025-08-14 22:44:16 +02:00
f12741e71d remove docker, podman and kubectl 2025-08-05 20:31:14 +02:00
f6d3bd98e9 remove docker/podman from common 2025-08-05 17:52:25 +02:00
d875f5753e comment sway opinionated env vars in common 2025-07-31 14:37:07 +02:00
6fddb7942d reduce dependencies on non-guix 2025-07-31 12:55:21 +02:00
c24bac561a reduce dependencies on non guix 2025-07-31 12:47:40 +02:00
fd8bb5ea8f clean up mozilla 2025-07-31 00:58:49 +02:00
974ef29ef9 replace firefox with librewolf 2025-07-31 00:50:20 +02:00
a7c2e16eea force channel config 2025-07-30 23:54:56 +02:00
74cb7123d6 shadow main guix channel 2025-07-30 23:37:12 +02:00
c2adf7a8a3 get url from default channel 2025-07-30 20:15:49 +02:00
2c16176abf enable rust-team branch 2025-07-30 20:09:39 +02:00
63df211e4c forgot freedesktop dep 2025-07-30 18:54:56 +02:00
ae0264b211 add libappindicator to gpservice 2025-07-30 18:51:00 +02:00
dd3ebd12fa add globalconnect-openconnect 2025-07-30 14:43:35 +02:00
c14243913d add uv package 2025-07-24 16:56:20 +02:00
b3ac1aa68a export path 2025-07-23 23:30:29 +02:00
0662d805ad add .local/bin to path 2025-07-23 23:23:53 +02:00
cba421d105 fix if test for tmux 2025-07-23 22:59:13 +02:00
021476d20d start tmux in alacritty 2025-07-23 22:47:03 +02:00
bab5558560 first stap at updating nvidia container 2025-07-23 00:43:00 +02:00
8 changed files with 592 additions and 177 deletions

View file

@ -15,12 +15,13 @@
#:use-module (gnu home services xdg)
#:use-module (gnu packages algebra)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages curl)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages containers)
#:use-module (gnu packages docker)
#:use-module (gnu packages emacs)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
@ -35,6 +36,7 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages image-viewers)
#:use-module (gnu packages librewolf)
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages ncurses)
@ -42,6 +44,7 @@
#:use-module (gnu packages node)
#:use-module (gnu packages package-management)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages rsync)
#:use-module (gnu packages rust-apps)
@ -61,16 +64,11 @@
#:use-module (gnu packages xdisorg)
#:use-module (guix channels)
#:use-module (guix gexp)
#:use-module (nongnu packages chrome)
#:use-module (nongnu packages mozilla)
#:use-module (nongnu packages k8s)
#:use-module (nongnu packages nvidia)
#:use-module (snamellit packages atuin-bin)
#:use-module (snamellit packages tools)
#:use-module (snamellit packages xca)
#:use-module (snamellit packages lazygit-bin)
#:use-module (snamellit packages tea-bin)
#:use-module (snamellit packages fzf)
#:use-module (snamellit packages gh-bin)
#:use-module (snamellit packages guile-xyz)
#:use-module (srfi srfi-1)
@ -80,16 +78,10 @@
(define-public %snam-terminal-packages
(list
kubectl
;;podman
;;podman-compose
docker
;;docker-compose
cifs-utils
gnupg
pinentry
go-github-com-junegunn-fzf-0.54.3
tmux
direnv
ripgrep
@ -97,12 +89,12 @@
atuin-bin
unzip
fish
fzf
watchexec
password-store
pass-otp
bc
texlive
rsync
curl
yq
@ -115,6 +107,11 @@
gnu-make
glibc-locales
gcc-toolchain
cmake
autoconf
automake
pkg-config
guile-3.0
guile-colorized
@ -127,6 +124,8 @@
node-lts ; emacs startup relies on node being present
pandoc ; for org-mode export and markdown
plantuml ; for org-mode plantuml export
texlive ; for org-latex support
vault ; hashicorp vault
))
@ -175,8 +174,7 @@
foot
kitty
firefox
google-chrome-stable
librewolf
guile-g-golf
guile-cairo
@ -184,6 +182,8 @@
libadwaita
gobject-introspection
zlib ; ubiquitous used so file
;; emacs support
emacs
aspell
@ -209,7 +209,8 @@
(list
(service home-bash-service-type
(home-bash-configuration
(aliases '(("gst" . "git status")
(aliases '(("ec" . "emacsclient -a=''")
("gst" . "git status")
("gca" . "git commit -a")
("gcl" . "git clone")
("gco" . "git checkout")
@ -227,54 +228,38 @@
"helpers"
(format #f "~{~a~&~}"
(list
"export PATH=$PATH:$HOME/.local/bin"
"eval \"$(direnv hook bash)\""
;; "eval \"$(starship init bash)\""
"eval \"$(atuin init bash)\""
"if [[ \"$ALACRITTY_WINDOW_ID\" != \"\" ]]; then tmux; fi"
)))))))
(simple-service 'variant-packages-service
home-channels-service-type
(list
;; (channel
;; (name 'rust-team)
;; (url "https://git.savannah.gnu.org/git/guix.git")
;; (branch "rust-team")
;; (introduction
;; (make-channel-introduction
;; "9edb3f66fd807b096b48283debdcddccfea34bad"
;; (openpgp-fingerprint
;; "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
;; Enable signature verification:
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
;; (channel
;; (name 'guix-science-nonfree)
;; (url "https://codeberg.org/guix-science/guix-science-nonfree.git")
;; (introduction
;; (make-channel-introduction
;; "58661b110325fd5d9b40e6f0177cc486a615817e"
;; (openpgp-fingerprint
;; "CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446"))))
(channel
(name 'snamguix)
(url "https://forge.snamellit.com/pti/snamguix")
(branch "main"))
;; (simple-service 'variant-packages-service home-channels-service-type ; extend default
(service home-channels-service-type ; replace default home-channels-service
(list
(channel
(name 'guix)
(url (channel-url %default-guix-channel))
(branch "master")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
;; Enable signature verification:
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'snamguix)
(url "https://forge.snamellit.com/pti/snamguix")
(branch "main"))
;; (channel
;; (name 'benoitj)
;; (url "https://git.sr.ht/~benoit/my-guix-channel")
;; (branch "main")
;; (introduction
;; (make-channel-introduction
;; "37444eebf69f83f4accaa2c69562209d94f4e57a"
;; (openpgp-fingerprint
;; "C3B6 ED99 DF87 B208 0C79 C8AC F86B 0628 26D4 C20A"))))
))
))
(service home-mcron-service-type)
))
@ -316,15 +301,16 @@
;; Set Wayland-specific environment variables (taken from RDE)
("XDG_CURRENT_DESKTOP" . "sway")
("XDG_SESSION_TYPE" . "wayland")
("RTC_USE_PIPEWIRE" . "true")
("SDL_VIDEODRIVER" . "wayland")
("MOZ_ENABLE_WAYLAND" . "1")
("CLUTTER_BACKEND" . "wayland")
("ELM_ENGINE" . "wayland_egl")
("ECORE_EVAS_ENGINE" . "wayland-egl")
("QT_QPA_PLATFORM" . "wayland-egl")))
;;("XDG_CURRENT_DESKTOP" . "sway")
;;("XDG_SESSION_TYPE" . "wayland")
;;("RTC_USE_PIPEWIRE" . "true")
;;("SDL_VIDEODRIVER" . "wayland")
;;("MOZ_ENABLE_WAYLAND" . "1")
;;("CLUTTER_BACKEND" . "wayland")
;;("ELM_ENGINE" . "wayland_egl")
;;("ECORE_EVAS_ENGINE" . "wayland-egl")
;;("QT_QPA_PLATFORM" . "wayland-egl")
))
(simple-service 'additional-fonts-service
home-fontconfig-service-type
(list

View file

@ -46,4 +46,7 @@
(license license:asl2.0)))
snamellit-ca

View file

@ -1,95 +0,0 @@
(define-module (snamellit packages fzf)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system go))
(define-public go-github-com-charlievieth-fastwalk
(package
(name "go-github-com-charlievieth-fastwalk")
(version "1.0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/charlievieth/fastwalk")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "17zy17q31p8b93bf703rr0xqafp02bb0slkrgpxb8r0aaxz3zg4y"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/charlievieth/fastwalk"))
(home-page "https://github.com/charlievieth/fastwalk")
(synopsis "fastwalk")
(description
"Package fastwalk provides a faster version of
@@url{/path/filepath#@code{WalkDir,filepath.WalkDir}} for file system scanning
tools.")
(license license:expat)))
(define-public go-github-com-gdamore-tcell-v2
(package
(name "go-github-com-gdamore-tcell-v2")
(version "2.7.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gdamore/tcell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05b22sgyf8lnwjddxlfvlj7i8b67gnidhbnz86vvx8fddggpa5nd"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gdamore/tcell/v2"))
(propagated-inputs `(("go-golang-org-x-text" ,go-golang-org-x-text)
("go-golang-org-x-term" ,go-golang-org-x-term)
("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-mattn-go-runewidth" ,go-github-com-mattn-go-runewidth)
("go-github-com-lucasb-eyer-go-colorful" ,go-github-com-lucasb-eyer-go-colorful)
("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
(home-page "https://github.com/gdamore/tcell")
(synopsis "Tcell")
(description
"Package tcell provides a lower-level, portable API for building programs that
interact with terminals or consoles. It works with both common (and many
uncommon!) terminals or terminal emulators, and Windows console implementations.")
(license license:asl2.0)))
(define-public go-github-com-junegunn-fzf-0.54.3
(package
(name "go-github-com-junegunn-fzf")
(version "0.54.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/junegunn/fzf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mdj3z7w2igkvy8r304k9rcr2l6xm459ifshdm55iy6mazd8cmci"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/junegunn/fzf"))
(propagated-inputs `(("go-golang-org-x-term" ,go-golang-org-x-term)
("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)
("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords)
("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
("go-github-com-charlievieth-fastwalk" ,go-github-com-charlievieth-fastwalk)))
(home-page "https://github.com/junegunn/fzf")
(synopsis "")
(description "fzf is a general-purpose command-line fuzzy finder.")
(license license:expat)))
go-github-com-junegunn-fzf-0.54.3

View file

@ -1,4 +1,4 @@
;; proudly found at https://ianfitzpatrick.eu/guix-nvidia-docker/
;;; proudly found at https://ianfitzpatrick.eu/guix-nvidia-docker/
;;
(define-module (snamellit packages nvidia-container) ;; adapt module name for your own use
@ -16,7 +16,7 @@
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages golang)
#:use-module (gnu packages check)
#:use-module (gnu packages base)
#:use-module ((gnu packages base) #:select (tar coreutils which) #:prefix core:)
#:use-module (gnu packages curl)
#:use-module (gnu packages version-control)
#:use-module (gnu packages pkg-config)
@ -30,7 +30,7 @@
(define-public nvidia-modprobe
(package
(name "nvidia-modprobe")
(version "550.54.14")
(version "575.51.02")
(source (origin
(method git-fetch)
(uri (git-reference
@ -38,7 +38,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a7q03pnwk3wa0p57whwv2mvz60bv77vvvaljqzwnscpyf94q548"))))
(base32 "01gcmz4mrgjc9fx0nmjm8xri4193z6wn77h0njqf26qb2r5k496y"))))
(build-system gnu-build-system)
(arguments
(list
@ -77,7 +77,7 @@
(define-public libnvidia-container
(package
(name "libnvidia-container")
(version "1.13.1")
(version "1.17.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -87,7 +87,7 @@
(patches (search-patches "libnvidia-container.patch"))
(sha256
(base32
"0rzvh1zhh8pi5xjzaq3nmyzpcvjy41gq8w36dp1ai11a6j2lpa99"))))
"0a0i0gm9c4xh9mzrxm1d7r1c878afzrwh49imqk3i3yn35ixqf1v"))))
(build-system gnu-build-system)
(arguments
(list
@ -132,14 +132,11 @@
(substitute* "mk/common.mk"
(("^REVISION.*")
(string-append "REVISION ?= " #$version "\n" "CC := gcc\n")))
(substitute* "versions.mk"
(("^GIT_TAG.*")
(string-append "GIT_TAG ?= " #$version "\n")))
#true) ; must return true for success
))
#:tests? #f))
(native-inputs
(list libseccomp nvidia-modprobe which libtirpc libcap libelf git-minimal curl tar coreutils docker go gcc-toolchain rpcsvc-proto pkgconf))
(list libseccomp nvidia-modprobe core:which libtirpc libcap libelf git-minimal curl core:tar core:coreutils docker go gcc-toolchain rpcsvc-proto pkgconf))
(synopsis "Build and run containers leveraging NVIDIA GPUs")
(description "The NVIDIA Container Toolkit allows users to build and run GPU accelerated containers. The toolkit includes a container runtime library and utilities to automatically configure containers to leverage NVIDIA GPUs.")
(home-page "https://github.com/NVIDIA/nvidia-container-toolkit")
@ -148,7 +145,7 @@
(define-public nvidia-container-toolkit
(package
(name "nvidia-container-toolkit")
(version "1.13.1")
(version "1.17.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -157,7 +154,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"01gh57jfpcv07c4442lbf9wiy0l1iwl85ig9drpp0637gbkzgwa4"))))
"06lh7drkrkb2aw37vbhcx75an0n30dvy2q816s6clhvb2wzxqph7"))))
(build-system go-build-system)
(arguments
(list
@ -186,3 +183,6 @@
(description "The NVIDIA Container Toolkit allows users to build and run GPU accelerated containers. The toolkit includes a container runtime library and utilities to automatically configure containers to leverage NVIDIA GPUs.")
(home-page "https://github.com/NVIDIA/nvidia-container-toolkit")
(license asl2.0)))
nvidia-container-toolkit

View file

@ -0,0 +1,28 @@
(define-module (snamellit packages offlineimap)
#:use-module (gnu packages mail)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public my-offlineimap
(let ((commit "4c64d72882925238c94047120314a0a3209364d0")
(revision "0"))
(package
(inherit offlineimap)
(name "my-offlineimap")
(version (git-version "8.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OfflineIMAP/offlineimap3")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0j9135rb4rcmqvp3fnaqsznjpmn8ry878p0q714impgp20whw8jx")))))
))
my-offlineimap

View file

@ -0,0 +1,77 @@
(define-module (snamellit packages openconnect)
#:use-module (ice-9 string-fun)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages tls)
#:use-module (gnu packages vpn)
#:use-module (gnu packages webkit)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system copy)
#:use-module (nonguix build-system binary))
(define libstdc++
;; Libstdc++ matching the default GCC.
(make-libstdc++ gcc))
(define-public globalprotect-openconnect
(package
(name "globalprotect-openconnect")
(version "2.4.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v"
version
"/globalprotect-openconnect-"
version
"-1-x86_64.pkg.tar.zst"))
(sha256
(base32
;; "1q1hf7rh32sk1zj5zmjkhgn2rckxzp0s4rsmmy1pjncmq81yfbbw" ; 2.3.11
"1ygl818mzc39v5afsx3yszqxmvzr3m37n2mkbdyzsfcjr13k24s6"
))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan
'(("bin/gpauth" ("openssl" "webkitgtk" "gtk" "glib" "cairo" "soup" "pixbuf" "gcc-lib"))
("bin/gpclient" ("openssl" "openconnect" "gcc-lib"))
("bin/gpgui" ("openssl" "webkitgtk" "gtk" "glib" "cairo" "soup" "pixbuf" "gcc-lib"))
("bin/gpgui-helper" ("openssl" "webkitgtk" "gtk" "glib" "cairo" "soup" "pixbuf" "gcc-lib"))
("bin/gpservice" ("openssl" "xz" "gcc-lib" "openconnect" "appindicator"))
)))
(inputs
`(("openssl" ,openssl)
("webkitgtk" ,webkitgtk-for-gtk3)
("glib" ,glib)
("gtk" ,gtk+)
("cairo" ,cairo)
("xz" ,xz)
("gcc-lib" ,gcc "lib")
("openconnect" ,openconnect)
("soup" ,libsoup)
("pixbuf" ,gdk-pixbuf)
("appindicator" ,libappindicator)))
(home-page "https://guix.gnu.org/manual/devel/en/html_node/The-Perfect-Setup.html")
(synopsis "Connect to openconnect with MFA")
(description "A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method. Inspired by gp-saml-gui.")
(license license:gpl3)))
globalprotect-openconnect

View file

@ -0,0 +1,346 @@
(define-module (snamellit packages rivalcfg))
(use-modules
(gnu packages check)
(gnu packages compression)
(gnu packages libusb)
(gnu packages python)
(gnu packages python-build)
(gnu packages python-xyz)
(gnu packages python-check)
(gnu packages sphinx)
(guix packages)
(guix download)
(guix build-system python)
(guix build-system pyproject)
(ice-9 textual-ports))
(define rivalcfg-rules "# Generated by rivalcfg v4.15.0
# Do not edit this file. It can be regenerated with the following command:
#
# rivalcfg --update-udev
# SteelSeries Aerox 3
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1836\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1836\", MODE=\"0666\"
# SteelSeries Aerox 3 Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"183a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"183a\", MODE=\"0666\"
# SteelSeries Aerox 3 Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1838\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1838\", MODE=\"0666\"
# SteelSeries Aerox 5
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1850\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1850\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1854\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1854\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless Destiny 2 Edition (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185e\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185e\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless Diablo IV Edition (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1862\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1862\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1852\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1852\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless Destiny 2 Edition (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185c\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185c\", MODE=\"0666\"
# SteelSeries Aerox 5 Wireless Diablo IV Edition (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1860\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1860\", MODE=\"0666\"
# SteelSeries Aerox 9 Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"185a\", MODE=\"0666\"
# SteelSeries Aerox 9 Wireless WOW Edition (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1876\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1876\", MODE=\"0666\"
# SteelSeries Aerox 9 Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1858\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1858\", MODE=\"0666\"
# SteelSeries Aerox 9 Wireless WOW Edition (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1874\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1874\", MODE=\"0666\"
# SteelSeries Kana v2
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"137a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"137a\", MODE=\"0666\"
# SteelSeries Kinzu v2
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1366\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1366\", MODE=\"0666\"
# SteelSeries Kinzu v2
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1378\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1378\", MODE=\"0666\"
# SteelSeries Prime
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"182e\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"182e\", MODE=\"0666\"
# SteelSeries Prime Rainbow 6 Siege Black Ice Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"182a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"182a\", MODE=\"0666\"
# SteelSeries Prime CS:GO Neo Noir Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1856\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1856\", MODE=\"0666\"
# SteelSeries Prime Mini
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184d\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184d\", MODE=\"0666\"
# SteelSeries Prime Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1842\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1842\", MODE=\"0666\"
# SteelSeries Prime Mini Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184a\", MODE=\"0666\"
# SteelSeries Prime Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1840\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1840\", MODE=\"0666\"
# SteelSeries Prime Mini Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1848\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1848\", MODE=\"0666\"
# SteelSeries Rival 3
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1824\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1824\", MODE=\"0666\"
# SteelSeries Rival 3 (firmware v0.37.0.0)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184c\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"184c\", MODE=\"0666\"
# SteelSeries Rival 3 Wireless (2.4 GHz mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1830\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1830\", MODE=\"0666\"
# SteelSeries Rival 95
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1706\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1706\", MODE=\"0666\"
# SteelSeries Rival 95 MSI Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1707\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1707\", MODE=\"0666\"
# SteelSeries Rival 95 PC Bang
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1704\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1704\", MODE=\"0666\"
# SteelSeries Rival 100 PC Bang
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1708\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1708\", MODE=\"0666\"
# SteelSeries Rival 100
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1702\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1702\", MODE=\"0666\"
# SteelSeries Rival 100 (Dell China)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170a\", MODE=\"0666\"
# SteelSeries Rival 100 Dota 2 Edition (retail)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170b\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170b\", MODE=\"0666\"
# SteelSeries Rival 100 Dota 2 Edition (Lenovo)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170c\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170c\", MODE=\"0666\"
# SteelSeries Rival 105
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1814\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1814\", MODE=\"0666\"
# SteelSeries Rival 110
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1729\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1729\", MODE=\"0666\"
# SteelSeries Rival 106
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1816\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1816\", MODE=\"0666\"
# SteelSeries Rival
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1384\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1384\", MODE=\"0666\"
# SteelSeries Rival Dota 2 Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1392\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1392\", MODE=\"0666\"
# SteelSeries Rival 300
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1710\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1710\", MODE=\"0666\"
# SteelSeries Rival 300 Fallout 4 Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1712\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1712\", MODE=\"0666\"
# SteelSeries Rival 300 Evil Geniuses Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171c\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171c\", MODE=\"0666\"
# SteelSeries Rival 300 CS:GO Fade Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1394\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1394\", MODE=\"0666\"
# SteelSeries Rival 300 CS:GO Hyper Beast Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171a\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171a\", MODE=\"0666\"
# SteelSeries Rival 300 CS:GO Fade Edition (stm32)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1716\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1716\", MODE=\"0666\"
# SteelSeries Rival 300 Acer Predator Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1714\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1714\", MODE=\"0666\"
# SteelSeries Rival 300 HP OMEN Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1718\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1718\", MODE=\"0666\"
# SteelSeries Rival 300S
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1810\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1810\", MODE=\"0666\"
# SteelSeries Rival 310
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1720\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1720\", MODE=\"0666\"
# SteelSeries Rival 310 CS:GO Howl Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171e\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"171e\", MODE=\"0666\"
# SteelSeries Rival 310 PUBG Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1736\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1736\", MODE=\"0666\"
# SteelSeries Rival 500
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170e\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"170e\", MODE=\"0666\"
# SteelSeries Rival 600
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1724\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1724\", MODE=\"0666\"
# SteelSeries Rival 600 Dota 2 Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"172e\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"172e\", MODE=\"0666\"
# SteelSeries Rival 650 Wireless (wired mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"172b\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"172b\", MODE=\"0666\"
# SteelSeries Rival 650 Wireless (2.4 GHz wireless mode)
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1726\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1726\", MODE=\"0666\"
# SteelSeries Rival 700
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1700\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1700\", MODE=\"0666\"
# SteelSeries Rival 710
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1730\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1730\", MODE=\"0666\"
# SteelSeries Sensei 310
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1722\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1722\", MODE=\"0666\"
# SteelSeries Sensei [RAW]
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1369\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1369\", MODE=\"0666\"
# SteelSeries Sensei [RAW] Diablo III Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1362\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1362\", MODE=\"0666\"
# SteelSeries Sensei [RAW] Guild Wars 2 Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"136d\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"136d\", MODE=\"0666\"
# SteelSeries Sensei [RAW] CoD Black Ops II Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"136f\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"136f\", MODE=\"0666\"
# SteelSeries Sensei [RAW] World of Tanks Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1380\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1380\", MODE=\"0666\"
# SteelSeries Sensei [RAW] Heroes of the Storm Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1390\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1390\", MODE=\"0666\"
# SteelSeries Sensei TEN
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1832\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1832\", MODE=\"0666\"
# SteelSeries Sensei TEN CS:GO Neon Rider Edition
SUBSYSTEM==\"hidraw\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1834\", MODE=\"0666\"
SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1038\", ATTRS{idProduct}==\"1834\", MODE=\"0666\"
")
(define-public python-rivalcfg
(package
(name "python-rivalcfg")
(version "4.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rivalcfg" version))
(sha256
(base32 "1i91r9xafhki985316m5dn5hcv6zl3scm025rklgxgndrphbwwrr"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases
%standard-phases
(add-before 'check 'set-env
(lambda* _
(setenv "RIVALCFG_DRY" "1")))
(add-after 'unpack 'install-udev-rules
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((outdir (assoc-ref outputs "out"))
(rulesdir (string-append outdir "/lib/udev/rules.d"))
(rulesfile (string-append rulesdir "/99-steelseries-rival.rules")))
(format #t "rulesdir: ~A~%" rulesdir)
(format #t "current dir: ~A~%" (getcwd))
(mkdir-p rulesdir)
(call-with-output-file rulesfile
(lambda (f)
(format f "~a" ,rivalcfg-rules)))
))))))
(propagated-inputs (list python-hidapi python-setuptools libusb zlib))
(native-inputs (list python
python-black
python-flake8
python-nox
python-pytest
python-sphinx
python-sphinx-rtd-theme
python-wheel))
(home-page "https://github.com/flozz/rivalcfg")
(synopsis "Configure SteelSeries gaming mice")
(description "Configure @code{SteelSeries} gaming mice.")
(license #f)))
python-rivalcfg

70
snamellit/packages/uv.scm Normal file
View file

@ -0,0 +1,70 @@
(define-module (snamellit packages uv)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system copy)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages elf)
#:use-module (guix licenses))
;; found at https://git.sr.ht/~alex-iam/alex-guix-channel/tree/master/item/alex/packages/uv.scm
(define-public uv
(package
(name "uv")
(version "0.8.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/astral-sh/uv/releases/download/"
version
"/uv-x86_64-unknown-linux-gnu.tar.gz"))
(sha256
(base32 "1bdhi34cwc051xqxp8h5hs4bzmix52hx9s5jxxd4b2l686jjijvd"))))
(build-system copy-build-system)
(inputs
`(("gcc:lib" ,gcc "lib")
("glibc" ,glibc)))
(native-inputs (list patchelf))
(arguments
`(#:install-plan
'(("uv" "bin/")
("uvx" "bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-executables
(lambda _
(for-each make-file-writable '("uv" "uvx"))
#t))
(add-after 'install 'patch-runpath
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(gcc-lib (assoc-ref inputs "gcc:lib"))
(libgcc-path (string-append gcc-lib "/lib/libgcc_s.so.1"))
(glibc (assoc-ref inputs "glibc"))
(glibc-lib (string-append glibc "/lib"))
(dynamic-linker (string-append glibc-lib "/ld-linux-x86-64.so.2")))
(for-each
(lambda (exe)
(invoke "patchelf"
"--set-interpreter" dynamic-linker
(string-append bin "/" exe))
(invoke "patchelf"
"--set-rpath"
(string-append gcc-lib "/lib:" glibc-lib)
(string-append bin "/" exe)))
'("uv" "uvx"))
#t))))))
(synopsis "Fast Python package manager (prebuilt binary)")
(description
"uv is a fast and unified Python package manager, written in Rust. This version installs the official prebuilt binaries.")
(home-page "https://astral.sh/uv")
(license expat)))
uv