Compare commits

...

12 commits

Author SHA1 Message Date
Petr Hodina
f034d5320f Merge branch 'patch/grafana' into 'master'
Draft: nongnu: Add grafana-bin

See merge request nonguix/nonguix!252
2025-09-23 19:08:12 +00:00
Murilo
c33db8571a
nongnu: nvidia-driver: Update to 580.82.09.
* nongnu/packages/nvidia.scm (nvidia-driver): Update to 580.82.09.
(nvidia-settings): Likewise.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Murilo
2fe28d2a1b
nongnu: nvidia-driver: Install additional components.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]
<#:install-plan>: Install 'nvngx_dlssg.dll' and 'nvoptix.bin'.
<#:phases>{create-misc-files}: Set 'nvidia_layers.json' library_path
to the store absolute path of 'libnvidia-present.so'.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Murilo
9302c6319b
nongnu: egl-x11: Update to 1.0.3.
* nongnu/packages/nvidia.scm (egl-x11): Update to 1.0.3.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Murilo
63c7e04386
nongnu: egl-gbm: Update to 1.1.2.1.
* nongnu/packages/nvidia.scm (egl-gbm): Update to 1.1.2.1.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Nicolas Graves
7a67115e0d
import: Add firefox updater.
* guix/import/firefox.scm: Implement basic firefox updater.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Ashish SHUKLA
017e4bf864
nongnu: signal-desktop: Update to 7.71.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.71.0.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-09-23 21:56:55 +08:00
Hilton Chain
0864aa6ba5
nongnu: steam-client: Set supported-systems.
* nongnu/packages/game-client.scm (steam-client) [supported-systems]: Limit to
x86_64-linux only.
2025-09-23 21:56:55 +08:00
Hilton Chain
0531ba5050
nongnu: heroic-client: Set supported-systems.
* nongnu/packages/game-client.scm (heroic-client) [supported-systems]: Limit to
x86_64-linux only.
2025-09-23 21:56:53 +08:00
Jelle Licht
bc2a73d7a8
nongnu: linux-firmware: Update to 20250917.
* nongnu/packages/linux.scm (linux-firmware): Update to 20250917.
(select-firmware): Handle the Link keyword correctly.
(iwlwifi-firmware)[arguments]{phases}: In the select-firmware phase, use new
location of firmware.
2025-09-19 13:27:34 +02:00
Petr Hodina
e3035acca2 nongnu: Add grafana-service-type.
* nongnu/services/grafana.scm: New file.
(<grafana-configuration>): New data type.
(grafana-shepherd-service, grafana-service-type): New variables.
2023-01-16 12:29:45 +01:00
Petr Hodina
af134d0215 nongnu: Add grafana-bin.
* nongnu/packages/grafana.scm (grafana-bin): New variables.
2023-01-16 12:29:42 +01:00
7 changed files with 205 additions and 19 deletions

47
guix/import/firefox.scm Normal file
View file

@ -0,0 +1,47 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; This file is not part of GNU Guix but requires this naming scheme
;;; so that the %firefox-updater is properly read when using
;;; `guix refresh -L$(pwd) firefox' in nonguix root.
(define-module (guix import firefox)
#:use-module (guix import json)
#:use-module (guix memoization)
#:use-module (guix packages)
#:use-module (guix upstream)
#:export (%firefox-updater))
(define firefox-json-url "https://product-details.mozilla.org/1.0/firefox_versions.json")
(define firefox-versions
(memoize
(lambda _
(let ((alist (json-fetch firefox-json-url)))
(list (cons "firefox" (assoc-ref alist "LATEST_FIREFOX_VERSION"))
(cons "firefox-esr" (assoc-ref alist "FIREFOX_ESR")))))))
(define* (latest-release package #:key (version #f) partial-version?)
"Return an <upstream-source> for the latest-release of PACKAGE."
(let* ((name (package-name package))
(version (or version (assoc-ref (firefox-versions) name))))
(upstream-source
(package name)
(version version)
(urls
(list (string-append "https://archive.mozilla.org/pub/firefox/releases/"
version "/source/firefox-"
version ".source.tar.xz"))))))
(define (firefox-package? package)
"Return true if PACKAGE is Firefox."
(member (package-name package) (list "firefox" "firefox-esr")))
(define %firefox-updater
(upstream-updater
(name 'firefox)
(description "Updater for Firefox packages")
(pred firefox-package?)
(import latest-release)))
;;; firefox.scm ends here.

View file

@ -105,7 +105,8 @@
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
games from the Epic Games Store using Legendary, GOG Games using our custom
implementation with gogdl and Amazon Games using Nile.")
(license license:gpl3)))
(license license:gpl3)
(supported-systems '("x86_64-linux"))))
(define steam-client
(package
@ -160,7 +161,8 @@ implementation with gogdl and Amazon Games using Nile.")
(home-page "https://store.steampowered.com")
(synopsis "Digital distribution platform for managing and playing games")
(description "Steam is a digital software distribution platform created by Valve.")
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))))
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))
(supported-systems '("x86_64-linux"))))
(define steam-client-libs
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.

View file

@ -0,0 +1,89 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Petr Hodina <phodina@protonmail.com>
(define-module (nongnu packages grafana)
#:use-module (guix packages)
#:use-module (gnu packages base)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (nonguix build-system binary)
#:use-module ((guix licenses)
#:prefix license:))
(define-public grafana-bin
(package
(name "grafana")
(version "9.3.2")
(source (cond
((target-x86-64?)
(origin
(method url-fetch)
(uri (string-append
"https://dl.grafana.com/oss/release/grafana-" version
".linux-amd64.tar.gz"))
(sha256 (base32
"177d396sg6pwa7vwsdwqy6fg17kq47n619s4745z62s6inq3i0vr"))))
((target-aarch64?)
(origin
(method url-fetch)
(uri (string-append
"https://dl.grafana.com/oss/release/grafana-" version
".linux-arm64.tar.gz"))
(sha256 (base32
"1ps8aa279fh8hcngda794f69w6hm78pw9pgvwyxlnx229581zrkv"))))
((target-armhf?)
(origin
(method url-fetch)
(uri (string-append
"https://dl.grafana.com/oss/release/grafana-" version
".linux-armv7.tar.gz"))
(sha256 (base32
"0avndch41m5k7gpxzdk8k1gzz3nyscmw3va4mk5813vbfmynv2bn"))))))
(build-system binary-build-system)
(arguments
'(#:strip-binaries? #f ;TODO: For some reason it fails validate-runpath
;; phase if enabled
#:install-plan `(("bin/grafana-cli" "bin/grafana-cli")
("bin/grafana-server" "bin/grafana-server")
("conf/defaults.ini" "etc/grafana/grafana.ini")
("conf" "share/grafana/")
("public" "share/grafana/")
("scripts" "share/grafana/")
("plugins-bundled" "share/grafana/"))
#:patchelf-plan (list (list "bin/grafana-cli"
'("glibc" "gcc:lib"))
(list "bin/grafana-server"
'("glibc" "gcc:lib")))))
(supported-systems '("x86_64-linux" "aarch64-linux" "armhf-linux"))
(native-inputs (list patchelf))
(inputs `(("gcc:lib" ,gcc "lib")
("glibc" ,glibc)))
(synopsis "Platform for monitoring and observability")
(description
"Grafana allows you to query, visualize, alert on
and understand your metrics no matter where they are stored. Create, explore,
and share dashboards with your team and foster a data-driven culture:
@enumerate
@ite Visualizations: Fast and flexible client side graphs with a multitude
of options. Panel plugins offer many different ways to visualize metrics
and logs
@item Dynamic Dashboards: Create dynamic & reusable dashboards with template
variables that appear as dropdowns at the top of the dashboard.
@item Explore Metrics: Explore your data through ad-hoc queries and dynamic
drilldown. Split view and compare different time ranges, queries and data
sources side by side.
@item Explore Logs: Experience the magic of switching from metrics to logs with
preserved label filters. Quickly search through all your logs or streaming them
live.
@item Alerting: Visually define alert rules for your most important metrics.
Grafana will continuously evaluate and send notifications to systems like Slack,
PagerDuty, VictorOps, OpsGenie.
@item Mixed Data Sources: Mix different data sources in the same graph! You can
specify a data source on a per-query basis. This works for even custom
datasources.
@end enumerate")
(home-page "https://grafana.com/")
(license license:agpl3)))

View file

@ -361,14 +361,14 @@ stable, responsive and smooth desktop experience.")))
(define-public linux-firmware
(package
(name "linux-firmware")
(version "20250808")
(version "20250917")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
"linux-firmware-" version ".tar.xz"))
(sha256
(base32
"0zw3vsmd07yr27y5fz0m357hci00ah5impx5sz4jcnd18ldmaaf0"))))
"0xgvb0fb4s48423asdb1dnkjjskbfmm336gm6vki2nliasvpa18j"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f
@ -415,8 +415,11 @@ if your hardware is supported by one of the smaller firmware packages.")
#~(lambda _
(use-modules (ice-9 regex))
(substitute* "WHENCE"
(("^(File|RawFile|Link): *([^ ]*)(.*)" _ type file rest)
(string-append (if (string-match #$keep file) type "Skip") ": " file rest)))))
(("^(File|RawFile): *([^ ]*)(.*)" _ type file rest)
(string-append (if (string-match #$keep file) type "Skip") ": " file rest))
(("^Link: *(.*) *-> *(.*)" _ file target)
(string-append (if (string-match #$keep target) "Link" "Skip")
": " file " -> " target)))))
(define-public amdgpu-firmware
(package
@ -705,7 +708,7 @@ laptops).")
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^iwlwifi-")))))))
#$(select-firmware "^intel/iwlwifi/")))))))
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi")
(synopsis "Nonfree firmware for Intel wifi chips")
(description "The proprietary iwlwifi kernel module is required by many

View file

@ -83,7 +83,7 @@ its core.")
(define-public signal-desktop
(package
(name "signal-desktop")
(version "7.70.0")
(version "7.71.0")
(source
(origin
(method url-fetch)
@ -92,7 +92,7 @@ its core.")
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
"_amd64.deb"))
(sha256
(base32 "1f3vgfyb53c1qbvcmhmmbwz4iychdvbiyrpa2rgnzr3jp5ax8dhp"))))
(base32 "14lk8s040alj2lxqw30hh54l4p3kpq1mxq64l8sqlph2y9c3hig3"))))
(supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system)
(arguments

View file

@ -228,9 +228,9 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(define-public nvidia-driver
(package
(name "nvidia-driver")
(version "570.181")
(version "580.82.09")
(source (nvidia-source
version "1yfwwfwbl5ph7s7zddixa0w8nb1wdg25sjysg98fl0hq7z72avgh"))
version "1dwmardvxb2w6mx7hich5wc06f50qz92jk63kbhf059fv8rgiv1y"))
(build-system copy-build-system)
(arguments
(list #:modules '((guix build copy-build-system)
@ -245,8 +245,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
("x86_64-linux" ".")
(_ "."))
"lib/" #:include-regexp ("^./[^/]+\\.so"))
("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx\\.dll$"))
("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles"))
("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx.*?\\.dll$"))
("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles|nvoptix.bin"))
("." "share/egl/egl_external_platform.d/" #:include-regexp ("(gbm|wayland|xcb|xlib)\\.json"))
("10_nvidia.json" "share/glvnd/egl_vendor.d/")
("90-nvidia.rules" "lib/udev/rules.d/")
@ -287,6 +287,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(substitute* '("nvidia_icd.json"
"nvidia_layers.json")
(("libGLX_nvidia\\.so\\.." all)
(string-append #$output "/lib/" all))
(("libnvidia-present\\.so\\.[0-9.]*" all)
(string-append #$output "/lib/" all)))
;; VulkanSC ICD configuration
@ -627,9 +629,9 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.")
(define-public nvidia-settings
(package
(name "nvidia-settings")
(version "570.181")
(version "580.82.09")
(source (nvidia-settings-source
name version "0fq72pj1b4iwlyivi9nmqr45iz6aqqdxgdbgk26x9m1yfxgpy748"))
name version "0sy3mrg3vmyba6m87nanzmpvv2hzhb6nqdckhlaxv8wppmr7fvms"))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@ -849,7 +851,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and
(define-public egl-gbm
(package
(name "egl-gbm")
(version "1.1.2")
(version "1.1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -858,7 +860,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and
(file-name (git-file-name name version))
(sha256
(base32
"1rfgfi06ry7c7hnzdm4b0dc8r3hmbfn2rd37z3mc4wn38sgz5l3a"))))
"1zcr1jksnh0431marzvgg301aybli29r1xw5vs4wnxgcp9bigvn6"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(inputs (list eglexternalplatform mesa-for-nvda))
@ -872,7 +874,7 @@ GBM EGL support.")
(define-public egl-x11
(package
(name "egl-x11")
(version "1.0.2")
(version "1.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -881,7 +883,7 @@ GBM EGL support.")
(file-name (git-file-name name version))
(sha256
(base32
"0s18xpylz16ry51xp1bs2s4hmvwsq49hcfc0gnmmvnymdzm041aq"))))
"1hh1wkdijjhsmym5ab5nw8wyi0w9x7aznnmyg8sczhwdfb5rdnrj"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(inputs (list eglexternalplatform mesa-for-nvda))

View file

@ -0,0 +1,43 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Petr Hodina <phodina@protonmail.com>
(define-module (nongnu services grafana)
#:use-module (gnu packages)
#:use-module (nongnu packages grafana)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:use-module (guix gexp)
#:use-module (guix records)
#:export (grafana-configuration
grafana-configuration?
grafana-configuration-record?
grafana-service-type))
(define-record-type* <grafana-configuration>
grafana-configuration make-grafana-configuration
grafana-configuration?
;; TODO: Port, HTTPS, plugins?
(grafana grafana-configuration-package
(default (list grafana-bin)))) ; package
;; Add config file
(define (grafana-shepherd-service config)
(list (shepherd-service
(documentation "Run Grafana server.")
(provision '(grafana))
(requirement '(user-processes))
(start #~(make-forkexec-constructor
(list (string-append grafana
"/bin/grafana-server")
"-homepath" grafana)))
(stop #~(make-kill-destructor)))))
(define grafana-service-type
(service-type
(name 'grafana)
(extensions
(list (service-extension shepherd-root-service-type
grafana-shepherd-service)))
(default-value (grafana-configuration))
(description "Run Grafana server.")))