diff options
Diffstat (limited to 'users')
-rw-r--r-- | users/id1000.scm | 208 | ||||
-rw-r--r-- | users/id1001.scm | 45 | ||||
-rw-r--r-- | users/vmail.scm | 14 |
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))) |