rosenthal: Add dinit.

* rosenthal/packages/admin.scm (dinit): New variable.
* README.org (Packages): Add it.
This commit is contained in:
Hilton Chain 2025-01-12 20:25:14 +08:00
parent c7689a56a2
commit 0b26a4bf0e
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292
2 changed files with 45 additions and 2 deletions

View File

@ -107,6 +107,7 @@ Rosenthal 頻道定義如下,將其加入 =~/.config/guix/channels.scm= 以由
** Content / 內容
*** Packages / 軟件包
+ cloudflared
+ dinit
+ dnsmasq-china-list
+ emacs-pcmpl-tailscale
+ emacs-wakatime-mode

View File

@ -1,12 +1,54 @@
;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space>
;; SPDX-FileCopyrightText: 2022, 2025 Hilton Chain <hako@ultrarare.space>
;; SPDX-FileCopyrightText: 2025 William Goodspeed
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages admin)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages admin))
#:use-module (guix build-system meson)
#:use-module (gnu packages admin)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4))
(define-public dinit
(package
(name "dinit")
(version "0.19.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davmac314/dinit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gw5jvh9bxnnwdv7ajscs03d6x2hcs9i3hxkqfjs19d4wr5rghyq"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
#~(list "-Dshutdown-prefix=dinit-"
"-Dunit-tests=true"
"-Digr-tests=true"
(string-append "-Ddinit-sbindir=" #$output "/sbin"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/shutdown.cc"
(("(/sbin/swapoff|/bin/umount)" path)
(search-input-file inputs path))))))))
(native-inputs (list m4))
(inputs (list util-linux))
(home-page "https://davmac.org/projects/dinit/")
(synopsis "Service manager with dependency management")
(description
"Dinit is a service manager for Unix-like operating systems that allows
the user to manage services with dependencies and parallel startup.")
(license license:asl2.0)))
(define-public libseat-sans-logind
(let ((base libseat))