Add fixed unbound-service-type

Evgeny PisemskySat Mar 22 12:00:07+0300 2025

0d5554e

Add fixed unbound-service-type

modules/cogd/services/unbound.scm unknown status 1

1+
;;; SPDX-FileCopyrightText: 2025 Evgeny Pisemsky <mail@pisemsky.site>
2+
;;;
3+
;;; SPDX-License-Identifier: GPL-3.0-or-later
4+
5+
(define-module (cogd services unbound))
6+
7+
(use-modules (gnu services)
8+
             (gnu services dns)
9+
             (gnu services shepherd))
10+
11+
(export unbound-service-type/fixed)
12+
13+
(define unbound-shepherd-service
14+
  (@@ (gnu services dns) unbound-shepherd-service))
15+
16+
(define (unbound-shepherd-service/fixed config)
17+
  (let ((unfixed (unbound-shepherd-service config)))
18+
    (list (shepherd-service
19+
           (inherit (car unfixed))
20+
           (provision '(unbound))))))
21+
22+
(define unbound-service-type/fixed
23+
  (service-type
24+
   (inherit unbound-service-type)
25+
   (extensions (map (lambda (ext)
26+
                      (if (eq? (service-extension-target ext)
27+
                               shepherd-root-service-type)
28+
                          (service-extension shepherd-root-service-type
29+
                                             unbound-shepherd-service/fixed)
30+
                          ext))
31+
                    (service-type-extensions unbound-service-type)))))