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
+ forgejo
+ grub-efi-luks2
+ pam-dumb-runtime-dir
+ socks2http
+ tree-sitter-yaml
@ -115,6 +116,7 @@ Nonfree Software / 非自由軟件:
+ btrbk-service-type
+ clash-service-type
+ docker-mailserver-service-type
+ dumb-runtime-dir-service-type
+ iwd-service-type
+ forgejo-service-type
+ jellyfin-service-type

View File

@ -9,10 +9,12 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (gnu packages admin)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4))
#:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config))
(define-public dinit
(package
@ -62,6 +64,42 @@ the user to manage services with dependencies and parallel startup.")
(list "-Dlibseat-logind=disabled")))))
(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
(let ((base seatd))
(package

View File

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

View File

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

View File

@ -5,11 +5,15 @@
(define-module (rosenthal services file-systems)
#:use-module (guix gexp)
#:use-module (gnu packages backup)
#:use-module (rosenthal packages admin)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (gnu services mcron)
#:use-module (gnu system pam)
#:export (btrbk-service-type
btrbk-configuration))
btrbk-configuration
dumb-runtime-dir-service-type))
;;
@ -44,3 +48,44 @@
btrbk-mcron-jobs)))
(default-value (btrbk-configuration))
(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.")))