projects/guix·blob python-team · refs

55 lines · 2.4 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2025 Sughosha <[email protected]>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu home services upnp)
20 #:use-module ((gnu build linux-container) #:select (%namespaces))
21 #:use-module (gnu services)
22 #:use-module (gnu home services)
23 ;; For the 'home-shepherd-service-type' mapping.
24 #:use-module (gnu home services shepherd)
25 #:use-module (gnu services upnp)
26 #:use-module (guix records)
27 #:export (home-readymedia-service-type)
28 #:re-export (readymedia-configuration
29 readymedia-configuration?
30 readymedia-configuration-readymedia
31 readymedia-configuration-port
32 readymedia-configuration-cache-directory
33 readymedia-configuration-extra-config
34 readymedia-configuration-friendly-name
35 readymedia-configuration-log-directory
36 readymedia-configuration-media-directories
37 readymedia-media-directory
38 readymedia-media-directory?
39 readymedia-media-directory-path
40 readymedia-media-directory-types))
41
42(define home-readymedia-service-type
43 (service-type
44 (inherit (system->home-service-type readymedia-service-type))
45 ;; system->home-service-type does not convert special-files-service-type to
46 ;; home-files-service-type, so redefine extensios
47 (extensions
48 (list (service-extension home-shepherd-service-type
49 (compose list readymedia-shepherd-service))
50 (service-extension home-activation-service-type
51 readymedia-activation)))
52 (default-value
53 (for-home
54 (readymedia-configuration
55 (media-directories '()))))))