summaryrefslogtreecommitdiff
path: root/guix/config.scm
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-02-17 21:20:12 +0100
committerChristian Grothoff <christian@grothoff.org>2020-02-17 21:20:12 +0100
commit21c6b40156db5a505215d4ce57fcab0ff6691300 (patch)
tree9dd8b61796c86e1b6694406ad3660cf64d00ce09 /guix/config.scm
parentbe061b4da9a8850412c216bdf49589e6951527c5 (diff)
downloaddeployment-21c6b40156db5a505215d4ce57fcab0ff6691300.tar.gz
deployment-21c6b40156db5a505215d4ce57fcab0ff6691300.tar.bz2
deployment-21c6b40156db5a505215d4ce57fcab0ff6691300.zip
move unmaintained files to historic/
Diffstat (limited to 'guix/config.scm')
-rw-r--r--guix/config.scm302
1 files changed, 0 insertions, 302 deletions
diff --git a/guix/config.scm b/guix/config.scm
deleted file mode 100644
index 2b4771d..0000000
--- a/guix/config.scm
+++ /dev/null
@@ -1,302 +0,0 @@
-;;; This file is part of GNU Taler.
-;;; Copyright © 2018 GNUnet e.V.
-;;;
-;;; GNU Taler is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU Affero General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Taler 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 Affero General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU Affero General Public License
-;;; along with GNU Taler. If not, see <http://www.gnu.org/licenses/>.
-
-;; Load modules relative to the script name.
-(eval-when (load compile eval)
- (set! %load-path
- (cons ((@ (guix utils) current-source-directory)) %load-path)))
-
-(use-modules
- (srfi srfi-1)
- (ice-9 match)
- (gnu)
- (guix)
- (guix utils)
- (guix gexp)
- (guix records)
- (guix modules)
- ((gnu packages admin) #:select (shadow shepherd))
- (taler-helpers)
- ((fixed-fcgiwrap) #:prefix fixed:))
-
-(use-system-modules nss)
-(use-service-modules networking
- ssh
- version-control
- cgit
- databases
- admin
- web
- shepherd)
-(use-package-modules base
- bash
- shells
- web
- tls)
-
-;;; Commentary:
-;;;
-;;; The GNU/Linux system that runs on gv.taler.net is defined here.
-
-
-
-
-
-;;; --- cron jobs start
-(define %certbot-job
- ;; LE cert renewal 7d / 2
- #~(job (lambda (now)
- (next-day-from (next-hour-from now '(3))
- '(2 5)))
- (string-append #$certbot "/bin/certbot renew")))
-;;; --- cron jobs end
-
-(define %my-deploy-hook
- (programm-file "my-deploy-hook"
- #~(let* ((pid (call-with-input-file "/var/run/nginx/pid" read))
- (cert-dir (getenv "RENEWED_LINEAGE"))
- (privkey (string-append cert-dir "/privkey.pem")))
- (chmod privkey #o600)
- (kill pid SIGHUP))))
-
-;;; --- nginx start
-;; TODO: Translate nginx code to guix nginx-service without a file
-;; if possible wiht our config.
-;; DOCUMENTATION: There are 2 ways to run nginx on GuixSD, we use
-;; the way which allows us to work directly on nginx files instead
-;; of generating them through Guix, for now. Every update of the
-;; nginx config requires a reconfigure!
-(define %nginx-deploy-hook
- (program-file
- "nginx-deploy-hook"
- #~(let ((pid (call-with-input-file "/var/run/nginx/pid" read)))
- (kill pid SIGHUP))))
-
-(define %nginx-config
- (computed-file "nginx-config"
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (mkdir #$output)
- (chdir #$output)
- (symlink #$(local-file "etc/nginx/nginx.conf")
- "nginx.conf")
- (mkdir "conf.d")
- (copy-file #$(local-file "etc/nginx/conf.d/favicon_robots")
- "conf.d/favicon_robots")
- (copy-file #$(local-file "etc/nginx/conf.d/talerssl")
- "conf.d/talerssl")
- (mkdir "sites-enabled")
- ;; (copy-file #$(local-file "etc/nginx/sites-enabled/git.site")
- ;; "sites-enabled/git.site")
- (copy-file #$(local-file "etc/nginx/sites-enabled/git-ssl.site")
- "sites-enabled/git-ssl.site")
- (copy-file #$(local-file "etc/nginx/sites-enabled/default.site")
- "sites-enabled/default.site")))))
-
-;; this includes defaults, so 'fastcgi' related files:
-(define %nginx-mime-types
- (simple-service 'nginx-mime.types
- etc-service-type
- `(("nginx" ,(file-append nginx "/share/nginx/conf")))))
-
-(define %nginx-cache-activation
- (simple-service 'nginx-/var/cache/nginx
- activation-service-type
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (mkdir-p "/var/cache/nginx")))))
-;;; --- nginx end
-
-(operating-system
- (host-name "gv")
- (timezone "Europe/Paris")
- (locale "en_US.utf8")
- (initrd-modules (cons* "megaraid_sas" %base-initrd-modules))
- (kernel-arguments (list "console=ttyS0" "console=tty0"))
-
- (bootloader (bootloader-configuration
- (bootloader grub-bootloader)
- (target "/dev/sda")))
-
- (users
- (cons* (user-account
- (name "grothoff")
- (comment "Christian Grothoff")
- (group "users")
- (supplementary-groups '("wheel" "netdev" "kvm"))
- (home-directory "/home/grothoff"))
- (user-account
- (name "dold")
- (comment "Florian Dold")
- (group "users")
- (supplementary-groups '("wheel" "netdev" "kvm"))
- (home-directory "/home/dold"))
- (user-account
- (name "ng0")
- (comment "Nils Gillmann")
- (group "users")
- (supplementary-groups '("wheel" "netdev" "kvm"))
- (home-directory "/home/ng0"))
- (user-account
- (name "stanisci")
- (comment "Marcello Stanisci")
- (group "users")
- (supplementary-groups '("wheel" "netdev" "kvm"))
- (home-directory "/home/stanisci"))
- (user-account
- (name "git")
- (comment "gitolite")
- (group "git")
- (home-directory "/home/git"))
- %base-user-accounts))
-
- (groups (cons (user-group (name "git"))
- %base-groups))
-
- (file-systems
- (cons* (file-system
- (device (uuid "304189db-f9df-4222-810d-94c993598c3b"))
- (mount-point "/")
- (type "ext4"))
- %base-file-systems))
-
- (packages
- (append (map specification->package
- '("mg" "cryptsetup"
- "screen" "tmux" "wget"
- "vim" "openssh" "openssl"
- "nvi"
- "postgresql"
- "nss-certs"
- "curl" "gnutls-dane"
- "gitolite"
- "acme-client"
- #| "buildbot" |#
- "fcgiwrap"
- "python-future"
- "python" "python-jinja2"
- "python-sphinx"))
- %base-packages))
-
- ;; TODO: cgit service?
- ;; TODO: gitolite service?
-
- (services
- (cons*
- (service static-networking-service-type
- (list
- (static-networking
- (interface "enp4s0f1")
- (ip "147.87.255.221")
- (netmask "255.255.255.240")
- (gateway "147.87.255.209")
- (name-servers '("8.8.8.8")))))
-
- (service special-files-service-type
- ;; Using 'canonical-package' as bash and coreutils
- ;; canonical packages are already a part of
- ;; '%base-packages'.
- `(("/bin/sh" ,(file-append (canonical-package bash)
- "/bin/sh"))
- ("/usr/bin/env" ,(file-append (canonical-package coreutils)
- "/bin/env"))
- ("/bin/ksh" ,(file-append (canonical-package loksh)
- "/bin/ksh"))))
- ;; TODO: Add git.taler.net
- ;; TODO: acme-client cronjob for:
- ;; taler.net www.taler.net api.taler.net lcov.taler.net
- ;; git.taler.net gauger.taler.net buildbot.taler.net
- ;; test.taler.net playground.test.taler.net
- ;; auditor.test.taler.net auditor.demo.taler.net
- ;; demo.taler.net shop.test.taler.net
- ;; shop.demo.taler.net survey.test.taler.net
- ;; survey.demo.taler.net donations.demo.taler.net
- ;; backend.test.taler.net backend.demo.taler.net
- ;; bank.test.taler.net bank.demo.taler.net
- ;; www.git.taler.net exchange.demo.taler.net
- ;; exchange.test.taler.net env.taler.net
- ;; envs.taler.net blog.demo.taler.net
- ;; blog.test.taler.net donations.test.taler.net
- ;; docs.taler.net intranet.taler.net stage.taler.net
- ;;(service certbot-service-type
- ;; (certbot-configuration
- ;; (email "cert-admin-taler@n0.is")
- ;; (certificates
- ;; (list
- ;; (certificate-configuration
- ;; (domains '("gv.taler.net"))
- ;; (deploy-hook %my-deploy-hook)))))))
-
- (service openssh-service-type
- (openssh-configuration
- (x11-forwarding? #t)
- (port-number 22)
- (password-authentication? #f)
- (permit-root-login 'without-password)
- (authorized-keys
- `(("root" ,(concat-local-files
- "root.pub"
- '("keys/ssh/grothoff.pub"
- "keys/ssh/ng0.pub"
- "keys/ssh/dold.pub"
- "keys/ssh/stanisci.pub")))
- ("stanisci" ,(local-file "keys/ssh/stanisci.pub"))
- ("dold" ,(local-file "keys/ssh/dold.pub"))
- ("ng0" ,(local-file "keys/ssh/ng0.pub"))
- ("grothoff" ,(local-file "keys/ssh/grothoff.pub"))))))
-
- ;; (service rottlog-service-type (rottlog-configuration))
- ;; (service mcron-service-type
- ;; (mcron-configuration
- ;; (jobs (list %gc-job %thing1))))
- (service postgresql-service-type)
- (git-daemon-service
- #:config (git-daemon-configuration
- (user-path "git")))
- (service openntpd-service-type
- (openntpd-configuration
- (listen-on '("127.0.0.1" "::1"))
- (sensor '("udcf0 correction 70000"))
- (constraint-from '("www.gnu.org"))
- (constraints-from '("https://www.google.com/"))
- (allow-large-adjustment? #t)))
- (service fixed:fcgiwrap-service-type
- (fixed:fcgiwrap-configuration
- (socket "unix:/var/run/fcgiwrap/fcgiwrap.socket")
- (adjusted-socket-permissions #t)
- (ensure-socket-dir? #t)))
- ;;(service cgit-service-type
- ;; (opaque-cgit-configuration
- ;; (cgitrc "/etc/deployment/guix/etc/cgitrc")))
- (service nginx-service-type
- (nginx-configuration
- (file (file-append %nginx-config
- "/nginx.conf"))))
- %nginx-mime-types
- %nginx-cache-activation
- (modify-services %base-services
- (guix-service-type
- config =>
- (guix-configuration
- (inherit config)
- (substitute-urls
- (cons* "https://berlin.guixsd.org"
- %default-substitute-urls)))))))
-
- ;; Allow resolution of '.local' host names with mDNS.
- (name-service-switch %mdns-host-lookup-nss))