diff --git a/LICENSES/GPL-3.0.txt b/COPYING similarity index 100% rename from LICENSES/GPL-3.0.txt rename to COPYING diff --git a/LICENSES/BSD-3-Clause/2021-Nikita_Domnitskii.txt b/LICENSES/BSD-3-Clause/2021-Nikita_Domnitskii.txt deleted file mode 100644 index a680753..0000000 --- a/LICENSES/BSD-3-Clause/2021-Nikita_Domnitskii.txt +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2021 Nikita Domnitskii - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors -may be used to endorse or promote products derived from this software without -specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/rosenthal/services/networking.scm b/rosenthal/services/networking.scm deleted file mode 100644 index 6acd0d5..0000000 --- a/rosenthal/services/networking.scm +++ /dev/null @@ -1,89 +0,0 @@ -;; SPDX-FileCopyrightText: 2021-2022 Nikita Domnitskii -;; -;; SPDX-License-Identifier: BSD-3-Clause - -(define-module (rosenthal services networking) - #:use-module ((guix import utils) #:select (flatten)) - #:use-module (guix gexp) - #:use-module (guix records) - #:use-module (gnu packages dns) - #:use-module (gnu packages base) - #:use-module (gnu packages networking) - #:use-module (gnu services) - #:use-module (gnu services dbus) - #:use-module (gnu services shepherd) - #:use-module (gnu services configuration) - #:use-module (rosenthal utils home-services-utils) - #:export (iwd-service-type - iwd-configuration)) - -(define (serialize-ini-config config) - (define (serialize-val val) - (cond ((boolean? val) (if val "true" "false")) - ((list? val) (string-join (map serialize-val val) ",")) - ((or (number? val) (symbol? val)) (maybe-object->string val)) - (else val))) - - (define (serialize-field key val) - (let ((val (serialize-val val)) - (key (symbol->string key))) - (list key " = " val "\n"))) - - (generic-serialize-ini-config #:combine-ini (compose flatten interpose) - #:combine-alist list - #:combine-section-alist cons - #:serialize-field serialize-field - #:fields config)) - -(define-configuration iwd-configuration - (iwd - (file-like iwd) - "The iwd package.") - (config - (ini-config '()) - "Association list of iwd configurations.") - (no-serialization)) - -(define iwd-shepherd-service - (match-record-lambda - (iwd config) - (let ((environment - #~(list (string-append - "PATH=" (string-join - (list #$(file-append openresolv "/sbin") - #$(file-append coreutils "/bin")) - ":"))))) - (list (shepherd-service - (documentation "Run iwd") - (provision '(iwd networking)) - (requirement '(user-processes dbus-system loopback)) - (start #~(make-forkexec-constructor - (list (string-append #$iwd "/libexec/iwd")) - #:log-file "/var/log/iwd.log" - #:environment-variables #$environment)) - (stop #~(make-kill-destructor))))))) - -(define iwd-etc-service - (match-record-lambda - (iwd config) - `(("iwd/main.conf" - ,(apply mixed-text-file - "main.conf" - (serialize-ini-config config)))))) - -(define add-iwd-package (compose list iwd-configuration-iwd)) - -(define iwd-service-type - (service-type - (name 'iwd) - (extensions - (list (service-extension shepherd-root-service-type - iwd-shepherd-service) - (service-extension dbus-root-service-type - add-iwd-package) - (service-extension etc-service-type - iwd-etc-service) - (service-extension profile-service-type - add-iwd-package))) - (default-value (iwd-configuration)) - (description "Run iwd, the Internet Wireless Daemon.")))