Compare commits

..

4 Commits

Author SHA1 Message Date
Hilton Chain
8f9d27482f
rosenthal: forgejo: Update to 10.0.1.
* rosenthal/packages/web.scm (forgejo): Update to 10.0.1.
2025-02-15 19:39:13 +08:00
Hilton Chain
501a99b2aa
rosenthal: sidebery: Update to 5.3.1.7.
* rosenthal/packages/binaries.scm (sidebery): Update to 5.3.1.7.
2025-02-15 19:37:41 +08:00
Hilton Chain
a4bc613b0c
services: Add dumb-runtime-dir-service-type.
* rosenthal/services/file-systems.scm (dumb-runtime-dir-activation)
(dumb-runtime-dir-pam-service,dumb-runtime-dir-service-type): New variables.
* README.org (Services): Add it.
2025-02-13 20:11:24 +08:00
Hilton Chain
2d776b7195
rosenthal: Add pam-dumb-runtime-dir.
* rosenthal/packages/admin.scm (pam-dumb-runtime-dir): New variable.
* README.org (Packages): Add it.
2025-02-13 20:09:47 +08:00
5 changed files with 91 additions and 6 deletions

View File

@ -90,6 +90,7 @@ Rosenthal 頻道定義如下,將其加入 =~/.config/guix/channels.scm= 以由
+ emacs-wakatime-mode + emacs-wakatime-mode
+ forgejo + forgejo
+ grub-efi-luks2 + grub-efi-luks2
+ pam-dumb-runtime-dir
+ socks2http + socks2http
+ tree-sitter-yaml + tree-sitter-yaml
@ -115,6 +116,7 @@ Nonfree Software / 非自由軟件:
+ btrbk-service-type + btrbk-service-type
+ clash-service-type + clash-service-type
+ docker-mailserver-service-type + docker-mailserver-service-type
+ dumb-runtime-dir-service-type
+ iwd-service-type + iwd-service-type
+ forgejo-service-type + forgejo-service-type
+ jellyfin-service-type + jellyfin-service-type

View File

@ -9,10 +9,12 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages m4)) #:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config))
(define-public dinit (define-public dinit
(package (package
@ -62,6 +64,42 @@ the user to manage services with dependencies and parallel startup.")
(list "-Dlibseat-logind=disabled"))))) (list "-Dlibseat-logind=disabled")))))
(propagated-inputs '())))) (propagated-inputs '()))))
(define-public pam-dumb-runtime-dir
(package
(name "pam-dumb-runtime-dir")
(version "1.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ifreund/dumb_runtime_dir")
(commit (string-append "v" version))))
(sha256
(base32
"0nrxhvbh3bs4pi4f5h03zw1p1ys19qmmlx263ysly8302wkxk1m4"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;No tests.
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output)
"PREFIX=")
#:phases
#~(modify-phases %standard-phases
;; No configure script.
(delete 'configure))))
(native-inputs (list pkg-config))
(inputs (list linux-pam))
(home-page "https://github.com/ifreund/dumb_runtime_dir")
(synopsis "Create @code{XDG_RUNTIME_DIR} on login and never remove it")
(description
"This package creates an @code{XDG_RUNTIME_DIR} directory on login per
the freedesktop.org base directory spec. Flaunts the spec and never removes
it, even after last logout. This keeps things simple and predictable.
The user is responsible for ensuring that the @file{/run/user} directory
exists and is only writable by root.")
(license license:bsd-0)))
(define-public seatd-sans-logind (define-public seatd-sans-logind
(let ((base seatd)) (let ((base seatd))
(package (package

View File

@ -394,7 +394,7 @@ monster-in-the-middle}.")
(define sidebery (define sidebery
(package (package
(name "sidebery") (name "sidebery")
(version "5.2.0.9") (version "5.3.1.7")
(source (source
(origin (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
@ -403,7 +403,7 @@ monster-in-the-middle}.")
(string-drop-right version 2) "/sidebery-" version ".xpi")) (string-drop-right version 2) "/sidebery-" version ".xpi"))
(sha256 (sha256
(base32 (base32
"0wb8rmq25sjnlig3pi1ix2kb8x91pilhh9ag4mk2yqsv9r4gcpw8")))) "0i2jwar0yb450gslj9rcw8bsldiqdr3r789p0fpmprr1kwzkynwx"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list (list

View File

@ -33,7 +33,7 @@
(define-public forgejo (define-public forgejo
(package (package
(name "forgejo") (name "forgejo")
(version "10.0.0") (version "10.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -41,7 +41,7 @@
version "/forgejo-src-" version ".tar.gz")) version "/forgejo-src-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0lwqn8l7dys7nnha47a05n865dsb13f973fkm167m3x8mwm8vm5i")))) "1jmw254xzx15n545cnjpvgdhhr39lfgd2jvmip1lxnl1hkaf6srw"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:go go-1.23 (list #:go go-1.23

View File

@ -5,11 +5,15 @@
(define-module (rosenthal services file-systems) (define-module (rosenthal services file-systems)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (rosenthal packages admin)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services configuration) #:use-module (gnu services configuration)
#:use-module (gnu services mcron) #:use-module (gnu services mcron)
#:use-module (gnu system pam)
#:export (btrbk-service-type #:export (btrbk-service-type
btrbk-configuration)) btrbk-configuration
dumb-runtime-dir-service-type))
;; ;;
@ -44,3 +48,44 @@
btrbk-mcron-jobs))) btrbk-mcron-jobs)))
(default-value (btrbk-configuration)) (default-value (btrbk-configuration))
(description "Configure and run btrbk hourly."))) (description "Configure and run btrbk hourly.")))
;;;
;;; pam-dumb-runtime-dir
;;;
(define dumb-runtime-dir-activation
#~(begin
(use-modules (guix build utils))
(mkdir-p "/run/user")
(chmod "/run/user" #o0755)))
(define dumb-runtime-dir-pam-service
(let ((optional-pam-entry
(pam-entry
(control "optional")
(module
(file-append
pam-dumb-runtime-dir "/lib/security/pam_dumb_runtime_dir.so")))))
(list (pam-extension
(transformer
(lambda (pam)
(if (string=? (pam-service-name pam) "login")
(pam-service
(inherit pam)
(session
(cons optional-pam-entry
(pam-service-session pam))))
pam)))))))
(define dumb-runtime-dir-service-type
(service-type
(name 'dumb-runtime-dir)
(extensions
(list (service-extension activation-service-type
(const dumb-runtime-dir-activation))
(service-extension pam-root-service-type
(const dumb-runtime-dir-pam-service))))
(default-value #f) ;No default value required.
(description "Create @code{XDG_RUNTIME_DIR} on login and never remove it.")))