diff options
Diffstat (limited to 'deployment/services/nfs.scm')
| -rw-r--r-- | deployment/services/nfs.scm | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/deployment/services/nfs.scm b/deployment/services/nfs.scm new file mode 100644 index 0000000..2e9336b --- /dev/null +++ b/deployment/services/nfs.scm @@ -0,0 +1,95 @@ +;;; 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 + autofs-rakan_service-record + nfs-akashi_service + nfs-rakan_service-record + 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")) + (autofs-map-entry + (inherit %autofs-map-entry/nfs_record) + (device "10.0.0.1:/home/marek/Dokumenty") + (mount-point "dokumenty")))))) + +(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 autofs-rakan_configuration-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 nfs-rakan_service-record + (nfs-configuration + (inherit %nfs-configuration))) + +(define autofs-aisaka_service + (autofs_proc autofs-aisaka_record)) + +(define autofs-akashi_service + (autofs_proc autofs-akashi_record)) + +(define autofs-rakan_service-record + (autofs_proc autofs-rakan_configuration-record)) + +(define service-nfs-aisaka + (service-nfs nfs-server-aisaka)) + +(define nfs-akashi_service + (service-nfs nfs-client-akashi)) + +(define nfs-rakan_service-record + (service-nfs nfs-rakan_service-record)) + +;;; EOF |
