summaryrefslogtreecommitdiff
path: root/px/services/base.scm
blob: 8026c473d3a07a338a90cf087a3867e9409d5bae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
;;; PantherX System Configuration Module
;;; This module supports configuration modules for PantherX OS definitions
;;;
;;; Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Franz Geffke <franz@pantherx.org>
;;;

(define-module (px services base)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages openbox)
  #:use-module (gnu packages networking)
  #:use-module (gnu packages security-token)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu services)
  #:use-module (gnu services avahi)
  #:use-module (gnu services base)
  #:use-module (gnu services cups)
  #:use-module (gnu services dbus)
  #:use-module (gnu services desktop)
  #:use-module (gnu services networking)
  #:use-module (gnu services pm)
  #:use-module (gnu services sddm)
  #:use-module (gnu services sound)
  #:use-module (gnu services ssh)
  #:use-module (gnu services xorg)
  #:use-module (px packages desktop)
  #:use-module (px services desktop)
  #:use-module (px services device)
  #:use-module (px services security-token)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:export (%px-core-services

            %px-desktop-core-services
            %px-desktop-services
            %px-desktop-ee-services

            %px-server-services
            %px-server-ee-services))

;;;
;;;
;;; CORE
;;; px-core-os services
;;;

(define %px-core-services
  (append (list (service dhcp-client-service-type)
                (service ntp-service-type)) %base-services))

;;;
;;;
;;; DESKTOP
;;; px-desktop-os services
;;;

(define %px-desktop-core-services
  (append %desktop-services-assembly-plain))

(define %px-desktop-services
  (append %desktop-services-assembly))

;;;
;;;
;;; ENTERPRISE
;;; px-desktop-ee-o services
;;;

(define %px-desktop-ee-services
  ;; TODO: Does not include default desktop
  (append (list (service px-device-identity-service-type)
                (service px-user-identity-service-type))
				%desktop-services-assembly))

;;;
;;; SERVER
;;; px-server-os services
;;; px-server-ee-os services
;;;

(define %px-server-services
  (append (list
           ;; OpenSSH is enabled by default but only with SSH key
           (service openssh-service-type
                    (openssh-configuration (permit-root-login 'prohibit-password)))

           ;; Time service
           (service ntp-service-type)
           ;; Firewall
           (service nftables-service-type)
           ;; DHCP
           (service dhcp-client-service-type)) %base-services))

(define %px-server-ee-services
  (append (list (service px-device-identity-service-type)) %px-server-services))