aboutsummaryrefslogtreecommitdiff
path: root/tw/system.scm
diff options
context:
space:
mode:
authorTimo Wilken2024-06-05 09:58:16 +0200
committerTimo Wilken2024-06-05 13:03:34 +0200
commitb3a722f52a0be3f6d8b4f3fa6ba7b8848cc3a34d (patch)
tree6bf06f81d772bf87fb45cc2143584c08590a4f88 /tw/system.scm
parent947800dda8e1a6f72c963a1f12c8e06d9c5e68f9 (diff)
Install system packages using profile-service-type
Diffstat (limited to 'tw/system.scm')
-rw-r--r--tw/system.scm37
1 files changed, 11 insertions, 26 deletions
diff --git a/tw/system.scm b/tw/system.scm
index 4526e2d4..7e7f8aa8 100644
--- a/tw/system.scm
+++ b/tw/system.scm
@@ -12,19 +12,11 @@
(use-package-modules acl admin android avahi backup certs cups curl disk
docker file-systems gnome golang-crypto guile kerberos
linux lsof man moreutils mtools pulseaudio python rsync
- search shells tls version-control vpn wm xorg)
+ search shells tls vim version-control vpn wm xorg)
(use-service-modules authentication avahi base cups dbus desktop docker
kerberos linux mcron monitoring networking pm shepherd
ssh vpn xorg)
-
-;; TODO: Use `profile-service-type' to install these!
-(define-public %base-system-packages
- (cons* acl acpi age btrfs-progs cpupower curl efibootmgr exfat-utils git
- glibc-locales hddtemp htop lshw lsof man-db man-pages man-pages-posix
- mlocate moreutils nss-mdns python restic rsync strace wireguard-tools
- %base-packages))
-
(define-public %british-keyboard
(keyboard-layout
"gb" #:options '("caps:swapescape"
@@ -100,6 +92,11 @@
(define-public (server-base-services host-name)
(cons*
+ (simple-service 'tw-base-packages profile-service-type
+ (list acl acpi age btrfs-progs cpupower curl efibootmgr exfat-utils git
+ glibc-locales hddtemp htop lshw lsof man-db man-pages man-pages-posix
+ mlocate moreutils nss-mdns python restic rsync strace vim wireguard-tools))
+
(tw-openssh-service host-name)
;; Prometheus node exporter
@@ -196,23 +193,6 @@ ACTION!=\"remove\", SUBSYSTEM==\"backlight\", GROUP=\"video\", MODE=\"0664\"
ACTION!=\"remove\", SUBSYSTEM==\"leds\", GROUP=\"video\", MODE=\"0664\"
"))
-;; TODO: Use `profile-service-type' to install these!
-(define-public %enduser-system-packages
- (cons*
- cups docker mit-krb5
- pulseaudio
- dosfstools mtools ntfs-3g
- i3-wm ; install i3 here so gdm can see its xsession file
- ;; We need to install gnome-keyring here so its PAM module is
- ;; enabled properly (by its service; see below).
- ;; nheko needs gnome-keyring to store secrets (kwallet doesn't do dbus).
- gnome-keyring
- ;; It's probably easiest to install geoclue system-wide, so it
- ;; gets added to `%desktop-services' and redshift can access the
- ;; location.
- geoclue
- %base-system-packages))
-
(export enduser-system-services)
(define* (enduser-system-services
#:key
@@ -237,6 +217,11 @@ ACTION!=\"remove\", SUBSYSTEM==\"leds\", GROUP=\"video\", MODE=\"0664\"
(drivers xorg-drivers)))
(cons*
+ (simple-service 'tw-enduser-packages profile-service-type
+ (list cups docker mit-krb5 pulseaudio dosfstools mtools ntfs-3g
+ ;; Install window manager here so gdm can see its xsession file.
+ i3-wm))
+
(service docker-service-type)
(service krb5-service-type