weblate-guix/system.scm

87 lines
2.4 KiB
Scheme

;; Base system
(use-modules (gnu packages base))
(use-modules (gnu bootloader))
(use-modules (gnu bootloader grub))
(use-modules (gnu system file-systems))
(use-modules (guix packages))
;; Helpers
(use-modules (gnu packages curl))
(use-modules (gnu packages wget))
(use-modules (gnu packages python))
(use-modules (gnu packages gtk))
(use-modules (gnu packages glib))
(use-modules (gnu packages version-control))
;; Services (ssh, dhcp)
(use-modules (gnu services ssh))
(use-modules (gnu services networking))
(use-modules (gnu) (gnu system nss))
(use-modules (weblate))
(use-modules (weblate-service))
(use-modules (gnu services web))
(use-modules (gnu packages web))
(use-modules (gnu packages databases))
(use-modules (gnu services databases))
(use-package-modules databases geo)
(use-modules (gnu packages php))
(use-modules (gnu packages certs))
(use-modules (guix utils))
(define weblate-user
(user-account
(name "weblate")
(group "users")
(supplementary-groups '("netdev"))
(home-directory "/var/lib/weblate")))
(define (weblate/settings.py database-user website-url)
(local-file "settings.py"))
(operating-system
(host-name "weblate")
(timezone "Europe/Rome")
(locale "en_US.utf8")
(locale-libcs (list glibc-2.28 (canonical-package glibc)))
(bootloader (bootloader-configuration (bootloader grub-bootloader)))
(file-systems %base-file-systems)
(users
(cons* weblate-user
%base-user-accounts))
(packages
(cons*
pango cairo glib gobject-introspection git
nss-certs
%base-packages))
(services
(cons*
(service dhcp-client-service-type)
;; Weblate
(service redis-service-type)
(service weblate-service-type
(weblate-configuration
(settings-file (local-file "settings.py"))
(user "weblate")
(group "nginx")
(listen '("0.0.0.0:8765"))
(uwsgi-listen "0.0.0.0:8181")
(root "/var/lib/weblate")))
(service postgresql-service-type ;postgre
(postgresql-configuration
(postgresql postgresql)
(port 5431)
(data-directory "/srv/pgdata-weblate")
(config-file
(postgresql-config-file
(hba-file
(plain-file "pg_hba.conf"
"
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust"))))))
%base-services))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))