summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
Diffstat (limited to 'users')
-rw-r--r--users/id1000.scm208
-rw-r--r--users/id1001.scm45
-rw-r--r--users/vmail.scm14
3 files changed, 121 insertions, 146 deletions
diff --git a/users/id1000.scm b/users/id1000.scm
index cfc4827..056654f 100644
--- a/users/id1000.scm
+++ b/users/id1000.scm
@@ -1,40 +1,34 @@
(define-module (users id1000)
- ;; home-environment
- #:use-module (gnu home)
-
- ;; home-profile-service-type
- ;; home-xdg-configuration-files-service-type
- #:use-module (gnu home services)
-
- ;; gparted
- #:use-module (gnu packages disk)
-
- ;; emacs
- #:use-module (gnu packages emacs)
-
- ;; emacs-org-roam
- ;; emacs-paredit
- #:use-module (gnu packages emacs-xyz)
-
- ;; git
- #:use-module (gnu packages version-control)
-
- ;; simple-service
- #:use-module (gnu services)
-
- ;; user-account
- #:use-module (gnu system shadow)
-
- ;; local-file
#:use-module (guix gexp)
-
- ;; %suweren-home-services
- #:use-module (suweren home)
-
- #:use-module (guix records)
- #:use-module (ice-9 match))
-
-(define-record-type* <dkimproxy-out-signature-configuration>
+ #:use-module (ice-9 match)
+ #:use-module ( (gnu home)
+ #:prefix gnu:home:)
+ #:use-module ( (gnu home services)
+ #:prefix gnu:home:services:)
+ #:use-module ( (gnu home services shells)
+ #:prefix gnu:home:services:shells:)
+ #:use-module ( (gnu packages audio)
+ #:prefix gnu:packages:audio:)
+ #:use-module ( (gnu packages disk)
+ #:prefix gnu:packages:disk:)
+ #:use-module ( (gnu packages kde)
+ #:prefix gnu:packages:kde:)
+ #:use-module ( (gnu packages version-control)
+ #:prefix gnu:packages:version-control:)
+ #:use-module ( (gnu services)
+ #:prefix gnu:services:)
+ #:use-module ( (gnu system accounts)
+ #:prefix gnu:system:accounts:)
+ #:use-module ( (guix records)
+ #:prefix guix:records:)
+ #:use-module ( (sovereign services fontutils)
+ #:prefix sovereign:services:fontutils:)
+ #:use-module ( (sovereign systems)
+ #:prefix sovereign:systems:)
+ #:use-module ( (suweren home)
+ #:prefix suweren:home:))
+
+(guix:records:define-record-type* <dkimproxy-out-signature-configuration>
dkimproxy-out-signature-configuration
make-dkimproxy-out-signature-configuration
dkimproxy-out-signature-configuration?
@@ -94,7 +88,7 @@
")")
"")))))
-(define-record-type* <dkimproxy-out-configuration>
+(guix:records:define-record-type* <dkimproxy-out-configuration>
dkimproxy-out-configuration
make-dkimproxy-out-configuration
dkimproxy-out-configuration?
@@ -225,27 +219,29 @@
(stop #~ (make-kill-destructor)))))))
(define %dkimproxy-accounts
- (list (user-group (name "dkimproxy")
- (system? #t))
- (user-account (name "dkimproxy")
- (group "dkimproxy")
- (system? #t)
- (comment "Dkimproxy user")
- (home-directory "/var/empty")
- (shell (file-append (@ (gnu packages admin)
- shadow)
- "/sbin/nologin")))))
+ (list (gnu:system:accounts:user-group
+ (name "dkimproxy")
+ (system? #t))
+ (gnu:system:accounts:user-account
+ (name "dkimproxy")
+ (group "dkimproxy")
+ (system? #t)
+ (comment "Dkimproxy user")
+ (home-directory "/var/empty")
+ (shell (file-append (@ (gnu packages admin)
+ shadow)
+ "/sbin/nologin")))))
(define dkimproxy-out-service-type
- (service-type
+ (gnu:services:service-type
(name 'dkimproxy-out)
(description "stub")
(extensions
(list
- (service-extension
- account-service-type
+ (gnu:services:service-extension
+ (@ (gnu system shadow) account-service-type)
(const %dkimproxy-accounts))
- (service-extension
+ (gnu:services:service-extension
(@ (gnu services shepherd) shepherd-root-service-type)
dkimproxy-out-shepherd-service)))))
@@ -440,8 +436,8 @@
"\n"
"# We define some actions\n"
"action receive lmtp \"/var/run/dovecot/lmtp\" rcpt-to virtual <aliases>\n"
+ "action godkim relay host smtp://localhost:10027\n"
"action outbound relay helo \"" domain "\"\n"
- "action godkim relay host smtp://127.0.0.1:10027\n"
"\n"
"# We accept to relay any mail from authenticated users\n"
"match for any from any auth action godkim\n"
@@ -471,10 +467,17 @@
;;;
+(define bash
+ (gnu:services:simple-service 'bash-tab-completion
+ gnu:home:services:shells:home-bash-service-type
+ (gnu:home:services:shells:home-bash-extension
+ (bashrc (list (plain-file "tab-completion"
+ "bind 'set disable-completion on'"))))))
+
(define dkimproxy-out-configuration*
(dkimproxy-out-configuration
(listen "127.0.0.1:10027")
- (relay "172.0.0.1:10028")
+ (relay "127.0.0.1:10028")
(sender-map `(,dkimproxy-sender-marekpasnikowski))))
(define dovecot-configuration*
@@ -494,76 +497,79 @@
(userdbs (list dovecot-userdb-static-configuration))))
(define groups
- (list "kvm"
+ (list "audio"
+ ;; "libvirt"
+ "netdev"
+ "video"
"wheel"))
(define opensmtpd-configuration*
((@ (gnu services mail) opensmtpd-configuration)
+ (shepherd-requirement (list 'dkimproxy-out
+ 'networking))
(config-file (opensmtpd-config "enp1s0"
"marekpasnikowski.pl"))))
;;;
+(define environment-variables
+ (let
+ ( (l-variables (list '("EDITOR" . "kate -s sesja -b"))))
+ (gnu:services:simple-service 'id1000-environment-variables
+ gnu:home:services:home-environment-variables-service-type
+ l-variables)))
+
(define-public dkim-service
- (service dkimproxy-out-service-type
+ (gnu:services:service dkimproxy-out-service-type
dkimproxy-out-configuration*))
(define-public dovecot-service
- (service (@ (gnu services mail) dovecot-service-type)
+ (gnu:services:service (@ (gnu services mail) dovecot-service-type)
dovecot-configuration*))
(define-public smtp-service
- (service (@ (gnu services mail) opensmtpd-service-type)
+ (gnu:services:service (@ (gnu services mail) opensmtpd-service-type)
opensmtpd-configuration*))
(define-public uid1000-name
"marek")
(define-public uid1000-account
- (user-account (name uid1000-name)
- (group "users")
- (supplementary-groups groups)
- (uid 1000)
- (comment "Marek Paśnikowski")
- (home-directory "/home/marek")))
+ (gnu:system:accounts:user-account
+ (name uid1000-name)
+ (group "users")
+ (supplementary-groups groups)
+ (uid 1000)
+ (comment "Marek Paśnikowski")
+ (home-directory "/home/marek")))
(define-public uid1000-home-environment
- (lambda (host-name*)
- (let* ((gitconfig-file (local-file "uid1000-gitconfig")) ; TODO modularize
- (gitignore-file (local-file "uid1000-gitignore")) ; TODO review the contents
-
- (gitconfig (list "git/config"
- gitconfig-file))
- (gitignore (list "git/ignore"
- gitignore-file))
-
- (emacs-packages (list emacs
- emacs-org-roam
- emacs-paredit))
- (git-configuration-files (list gitconfig
- gitignore))
- (git-packages (list git))
- (packages (list gparted))
-
- (emacs-software (simple-service 'emacs-packages
- home-profile-service-type
- emacs-packages))
- (git-configuration (simple-service 'git-configuration
- home-xdg-configuration-files-service-type
- git-configuration-files))
- (git-software (simple-service 'git-packages
- home-profile-service-type
- git-packages))
- (profile (simple-service 'user-packages
- home-profile-service-type
- packages))
-
- (%suweren-home-services* (%suweren-home-services host-name*))
- (user-services (list emacs-software
- git-configuration
- git-software
- profile))
-
- (services* (append %suweren-home-services*
- user-services)))
- (home-environment (services services*)))))
+ (let*
+ ( (gitconfig-file (local-file "uid1000-gitconfig")) ; TODO modularize
+ (gitignore-file (local-file "uid1000-gitignore")) ; TODO review the contents
+ (gitconfig (list "git/config"
+ gitconfig-file))
+ (gitignore (list "git/ignore"
+ gitignore-file))
+ (git-configuration-files (list gitconfig
+ gitignore))
+ (git-configuration (gnu:services:simple-service 'git-configuration
+ gnu:home:services:home-xdg-configuration-files-service-type
+ git-configuration-files))
+ (user-services (list bash
+ sovereign:systems:bash-configuration
+ environment-variables
+ git-configuration
+ sovereign:services:fontutils:home-fontconfig-service-type))
+ (l-services (append suweren:home:%suweren-home-services
+ user-services)))
+ (gnu:home:home-environment
+ (packages (cons* gnu:packages:audio:easyeffects
+ gnu:packages:version-control:git
+ gnu:packages:disk:gparted
+ sovereign:systems:common-home-environment-packages))
+ (services l-services))))
+
+(define-public name/home-environment
+ (list uid1000-name
+ uid1000-home-environment))
diff --git a/users/id1001.scm b/users/id1001.scm
deleted file mode 100644
index 26a76f6..0000000
--- a/users/id1001.scm
+++ /dev/null
@@ -1,45 +0,0 @@
-(define-module (users id1001)
- ;; home-environment
- #:use-module (gnu home)
-
- ;; home-profile-service-type
- ;; home-xdg-configuration-files-service-type
- #:use-module (gnu home services)
-
- ;; simple-service
- #:use-module (gnu services)
-
- ;; user-account
- #:use-module (gnu system shadow)
-
- ;; %suweren-home-services
- #:use-module (suweren home))
-
-;; string
-(define-public uid1001-name
- "lilia")
-
-;; (string) ->
-;; record user-account
-(define-public uid1001-account
- (user-account (name uid1001-name)
- (group "users")
- (uid 1001)
- (comment "Liliana Ruszuk")
- (home-directory "/home/lilia")))
-
-;; record home-environment
-(define-public uid1001-home-environment
- (lambda (host-name*)
- (let* ((packages (list ))
-
- (profile (simple-service 'user-packages
- home-profile-service-type
- packages))
-
- (%suweren-home-services* (%suweren-home-services host-name*))
- (user-services (list profile))
-
- (services* (append %suweren-home-services*
- user-services)))
- (home-environment (services services*)))))
diff --git a/users/vmail.scm b/users/vmail.scm
new file mode 100644
index 0000000..95ba916
--- /dev/null
+++ b/users/vmail.scm
@@ -0,0 +1,14 @@
+(define-module (users vmail)
+ #:use-module ((gnu system accounts)
+ #:prefix gnu:system:accounts:))
+
+(define vmail-name
+ "vmail")
+
+(define-public vmail-account
+ (gnu:system:accounts:user-account
+ (name vmail-name)
+ (group vmail-name)
+ (comment "used to own and manage mailboxes")
+ (home-directory "/home/vmail")
+ (system? #t)))