summaryrefslogtreecommitdiff
path: root/px/services/base.scm
blob: 42911f27202f646aebfb6e9ca1166575d1ef8543 (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
;;; 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
;;; px-desktop-ee-os services
;;;

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

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

(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
           (service openssh-service-type
                    (openssh-configuration (permit-root-login 'prohibit-password)))
	   
           (service ntp-service-type)
           (service nftables-service-type)
           (service dhcp-client-service-type)) 
          %base-services))

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