diff options
| author | Tomas Volf <~@wolfsden.cz> | 2026-06-06 22:37:22 +0200 |
|---|---|---|
| committer | Maxim Cournoyer <maxim@guixotic.coop> | 2026-06-15 09:13:22 +0900 |
| commit | 07e3d705d5892edc4fe512aa7673f3e3b6626346 (patch) | |
| tree | 33fb995fdafa29a9ccfa8559468c7eb0c2c8517b | |
| parent | d626e52e7d4a5934a80c27e9828bfdc1ff1a60e5 (diff) | |
services: elogind: Move settings to correct file, correct names.
For quite some time now, elogind was logging the following warnings one every
start.
[..]/logind.conf:2: Unknown key 'AllowPowerOffInterrupts' in section [Login], ignoring.
[..]/logind.conf:3: Unknown key 'AllowSuspendInterrupts' in section [Login], ignoring.
[..]/logind.conf:4: Unknown key 'BroadcastPowerOffInterrupts' in section [Login], ignoring.
[..]/logind.conf:5: Unknown key 'BroadcastSuspendInterrupts' in section [Login], ignoring.
[..]/logind.conf:21: Unknown key 'RemoveIpc' in section [Login], ignoring.
First 4 should have been in sleep.conf, and the last one had bad casing. This
commit addresses both those problems.
* gnu/services/desktop.scm (elogind-name->string): New procedure.
(elogind-serialize-boolean, elogind-base-serializer, elogind-list-serializer):
Use it.
(%elogind-configuration-sleep-fields): Add allow-power-off-interrupts?,
allow-suspend-interrupts?, broadcast-power-off-interrupts? and
broadcast-suspend-interrupts?.
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
| -rw-r--r-- | gnu/services/desktop.scm | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 38a8dd11169..92a43afa447 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm | |||
| @@ -1245,26 +1245,36 @@ and many other) available for GIO applications.") | |||
| 1245 | (prefix elogind-)) | 1245 | (prefix elogind-)) |
| 1246 | 1246 | ||
| 1247 | ;;; Elogind serializers. | 1247 | ;;; Elogind serializers. |
| 1248 | (define elogind-name->string | ||
| 1249 | (compose (lambda (name) | ||
| 1250 | ;; Configuration file is case sensitive, so special case those | ||
| 1251 | ;; few cases where pascal-case gets it wrong. | ||
| 1252 | (cond ((equal? name "RemoveIpc") | ||
| 1253 | "RemoveIPC") | ||
| 1254 | (else | ||
| 1255 | name))) | ||
| 1256 | pascal-case | ||
| 1257 | (lambda (name) | ||
| 1258 | (cond ((string-suffix? "?" name) | ||
| 1259 | (string-drop-right name 1)) | ||
| 1260 | ((string-suffix? "seconds" name) | ||
| 1261 | (string-drop-right name 4)) | ||
| 1262 | (else | ||
| 1263 | name))) | ||
| 1264 | symbol->string)) | ||
| 1265 | |||
| 1248 | (define (elogind-serialize-boolean name value) | 1266 | (define (elogind-serialize-boolean name value) |
| 1249 | (let* ((name-str (symbol->string name)) | 1267 | (format #f "~a=~:[no~;yes~]~%" (elogind-name->string name) value)) |
| 1250 | (name (if (string-suffix? "?" name-str) | ||
| 1251 | (string-drop-right name-str 1) | ||
| 1252 | name-str))) | ||
| 1253 | (format #f "~a=~:[no~;yes~]~%" (pascal-case name) value))) | ||
| 1254 | 1268 | ||
| 1255 | (define (elogind-base-serializer name value) | 1269 | (define (elogind-base-serializer name value) |
| 1256 | (let* ((name-str (symbol->string name)) | 1270 | (format #f "~a=~a~%" (elogind-name->string name) value)) |
| 1257 | (name (if (string-suffix? "seconds" name-str) | ||
| 1258 | (string-drop-right name-str 4) ;seconds -> sec | ||
| 1259 | name-str))) | ||
| 1260 | (format #f "~a=~a~%" (pascal-case name) value))) | ||
| 1261 | 1271 | ||
| 1262 | (define elogind-serialize-action elogind-base-serializer) | 1272 | (define elogind-serialize-action elogind-base-serializer) |
| 1263 | (define elogind-serialize-non-negative-integer elogind-base-serializer) | 1273 | (define elogind-serialize-non-negative-integer elogind-base-serializer) |
| 1264 | (define elogind-serialize-percent elogind-base-serializer) | 1274 | (define elogind-serialize-percent elogind-base-serializer) |
| 1265 | 1275 | ||
| 1266 | (define (elogind-list-serializer name value) | 1276 | (define (elogind-list-serializer name value) |
| 1267 | (format #f "~a=~{~a~^ ~}~%" (pascal-case name) value)) | 1277 | (format #f "~a=~{~a~^ ~}~%" (elogind-name->string name) value)) |
| 1268 | 1278 | ||
| 1269 | (define elogind-serialize-list-of-strings elogind-list-serializer) | 1279 | (define elogind-serialize-list-of-strings elogind-list-serializer) |
| 1270 | (define elogind-serialize-list-of-user-names elogind-list-serializer) | 1280 | (define elogind-serialize-list-of-user-names elogind-list-serializer) |
| @@ -1279,7 +1289,9 @@ and many other) available for GIO applications.") | |||
| 1279 | (define %elogind-configuration-sleep-fields | 1289 | (define %elogind-configuration-sleep-fields |
| 1280 | '( suspend-state suspend-mode suspend-estimation-seconds | 1290 | '( suspend-state suspend-mode suspend-estimation-seconds |
| 1281 | hibernate-mode hibernate-delay-seconds hibernate-state | 1291 | hibernate-mode hibernate-delay-seconds hibernate-state |
| 1282 | hybrid-sleep-state hybrid-sleep-mode)) | 1292 | hybrid-sleep-state hybrid-sleep-mode |
| 1293 | allow-power-off-interrupts? allow-suspend-interrupts? | ||
| 1294 | broadcast-power-off-interrupts? broadcast-suspend-interrupts?)) | ||
| 1283 | 1295 | ||
| 1284 | (define-configuration elogind-configuration | 1296 | (define-configuration elogind-configuration |
| 1285 | (elogind | 1297 | (elogind |
