aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Wilken2024-07-04 19:52:32 +0200
committerTimo Wilken2024-07-04 19:52:32 +0200
commitc2c6421d3f8db9920fe50f07eff226641586f87a (patch)
tree46c04acc474ae6e22fba8d17c527c9ccad85a21a
parent6f3344968b243488f104e34c6616e6d144f272f5 (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.
-rw-r--r--tw/services/nextcloud.scm10
-rw-r--r--tw/system/lud.scm21
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