diff options
author | Timo Wilken | 2024-07-04 19:52:32 +0200 |
---|---|---|
committer | Timo Wilken | 2024-07-04 19:52:32 +0200 |
commit | c2c6421d3f8db9920fe50f07eff226641586f87a (patch) | |
tree | 46c04acc474ae6e22fba8d17c527c9ccad85a21a /tw | |
parent | 6f3344968b243488f104e34c6616e6d144f272f5 (diff) |
Fix system package installation on lud
Previously, this led to e.g. coreutils not being installed system-wide.
Switch to not specifying the `operating-system-packages' field at all and just
use `profile-service-type'. This also lets me move Nextcloud-specific packages
into the appropriate service module.
Diffstat (limited to 'tw')
-rw-r--r-- | tw/services/nextcloud.scm | 10 | ||||
-rw-r--r-- | tw/system/lud.scm | 21 |
2 files changed, 16 insertions, 15 deletions
diff --git a/tw/services/nextcloud.scm b/tw/services/nextcloud.scm index 4347b100..177af535 100644 --- a/tw/services/nextcloud.scm +++ b/tw/services/nextcloud.scm @@ -3,16 +3,20 @@ #:use-module (gnu) #:use-module (gnu packages backup) #:use-module (gnu packages certs) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages linux) #:use-module (gnu packages php) + #:use-module (gnu packages tls) #:use-module (gnu packages web) + #:use-module (gnu services) #:use-module (gnu services certbot) #:use-module (gnu services mcron) #:use-module (gnu services web) #:use-module (guix gexp) #:use-module ((guix packages) #:select (package-version)) #:use-module ((guix utils) #:select (version-major)) + #:use-module (tw packages php) #:use-module (tw services restic) #:use-module (tw services web)) @@ -282,6 +286,12 @@ opcache.revalidate_freq=120 ("PATH" . "/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin"))) (php-ini-file %nextcloud-php.ini))) + (simple-service 'nextcloud-packages profile-service-type + (list + ;; PHP modules must be installed in system profile, as that's + ;; referred to in Nextcloud's php.ini. + php php-apcu php-imagick openssl curl)) + (simple-service 'nextcloud-certificates certbot-service-type (list (certificate-configuration (domains (list nextcloud-domain)) diff --git a/tw/system/lud.scm b/tw/system/lud.scm index 44bd4293..a5b9d58e 100644 --- a/tw/system/lud.scm +++ b/tw/system/lud.scm @@ -1,10 +1,10 @@ (define-module (tw system lud) #:use-module (gnu) #:use-module (gnu bootloader grub) + #:use-module (gnu services) #:use-module (gnu system locale) #:use-module (gnu system nss) #:use-module (guix gexp) - #:use-module (tw packages php) #:use-module (tw services dns) #:use-module (tw services games) #:use-module (tw services nextcloud) @@ -16,9 +16,8 @@ #:use-module (tw services web) #:use-module (tw system)) -(use-package-modules acl admin bash certs databases guile-xyz linux man php - python python-xyz rsync shells tls tor version-control - video) +(use-package-modules acl admin bash certs databases guile-xyz linux man python + python-xyz rsync shells tor version-control video) (use-service-modules certbot cgit databases dbus desktop docker file-sharing mcron monitoring networking pm ssh syncthing version-control vpn web) @@ -50,17 +49,6 @@ ;; Choose UK English console keyboard layout. (keyboard-layout %british-keyboard) - ;; Packages installed system-wide. Users can also install packages - ;; under their own account: use 'guix search KEYWORD' to search - ;; for packages and 'guix install PACKAGE' to install a package. - (packages - (list - ffmpeg tor ; for video downloader - ;; For Nextcloud. PHP modules must be installed in system - ;; profile, as that's referred to in Nextcloud's php.ini. - ;; curl is already installed by `server-base-services'. - php php-apcu php-imagick openssl)) - ;; Below is the list of system services. To search for available ;; services, run 'guix system search KEYWORD' in a terminal. (services @@ -74,7 +62,10 @@ ,(local-file "files/timo-phone-gpg.pub") ,(local-file "files/timo-phone-password-store.pub")))) + ;; For video downloader. (service tor-service-type) + (simple-service 'video-downloader-packages profile-service-type + (list ffmpeg tor)) (service thermald-service-type (thermald-configuration |