summaryrefslogtreecommitdiff
path: root/deployment/services/nfs.scm
blob: 863578cd6f579a13a26d45f68739afc1237e1c06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; SPDX-FileCopyrightText: 2026 Marek Paśnikowski <marek@marekpasnikowski.pl>

;;; COPYRIGHT NOTICE
;;;
;;; Copyright 2026, Marek Paśnikowski <marek@marekpasnikowski.pl>

;;; LICENSE NOTICE
;;;
;;; This library is free software: you can redistribute it and/or modify it under the terms of
;;; the GNU General Public License as published by the Free Software Foundation,
;;; either version 3 of the License, or (at your option) any later version.
;;;
;;; This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
;;; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
;;; See the GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along with this library.
;;; If not, see <https://www.gnu.org/licenses/>.

(define-module (deployment services nfs)
  #:export     (autofs-aisaka_service
                autofs-akashi_service
                nfs-akashi_service
                service-nfs-aisaka)
  #:use-module (gnu services nfs)
  #:use-module (sovereign services nfs))

(define autofs-indirect-map/mnt_record
  (autofs-indirect-map
   (inherit %autofs-indirect-map/mnt_record)
   (entries (list (autofs-map-entry
                   (inherit     %autofs-map-entry/nfs_record)
                   (device      "10.0.0.1:/home/marek/Szablony")
                   (mount-point "szablony"))))))

(define autofs-aisaka_record
  (autofs-configuration
   (inherit %autofs-configuration_record)
   (mounts  (list autofs-indirect-map/mnt_record))))

(define autofs-akashi_record
  (autofs-configuration
   (inherit %autofs-configuration_record)
   (mounts  (list autofs-indirect-map/mnt_record))))

(define nfs-server-aisaka
  (let
      ((Export-Dokumenty (list "/home/marek/Dokumenty"
                               "10.0.0.0/24(rw)"))
       (Export-Szablony  (list "/home/marek/Szablony"
                               "10.0.0.0/24(rw)")))
    (nfs-configuration
     (inherit %nfs-configuration)
     (exports (list Export-Dokumenty
                    Export-Szablony)))))

(define nfs-client-akashi
  (nfs-configuration
   (inherit %nfs-configuration)))

(define autofs-aisaka_service
  (autofs_proc autofs-aisaka_record))

(define autofs-akashi_service
  (autofs_proc autofs-akashi_record))

(define service-nfs-aisaka
  (service-nfs nfs-server-aisaka))

(define nfs-akashi_service
  (service-nfs nfs-client-akashi))

;;; EOF