(define-module (users marekpasnikowski) #:use-module (gnu home) ; home-environment #:use-module (gnu home services) ; home-profile-service-type ; home-xdg-configuration-files-service-type #:use-module (gnu packages emacs) ; emacs #:use-module (gnu packages emacs-xyz) ; emacs-org-roam ; emacs-paredit #:use-module (gnu packages librewolf) ; librewolf #:use-module (gnu packages version-control) ; git #:use-module (gnu services) ; service ; simple-service #:use-module (gnu system shadow) ; user-account #:use-module (guix gexp) ; file-append #:use-module (suweren home) ; %suweren-home-services ) ;; string (define-public marekpasnikowski-username "marek") ;; (string) -> ;; record user-account (define-public (marekpasnikowski-account supplementary-groups*) (user-account (name marekpasnikowski-username) (group "users") (supplementary-groups supplementary-groups*) (uid 1000) (comment "Marek Paśnikowski") (home-directory "/home/marek"))) ;; string (define-public user "marek") ;; record home-environment (define-public marekpasnikowski-home-environment (lambda (host-name*) (let* ((gitconfig-file (local-file "marekpasnikowski-gitconfig")) ; TODO modularize (gitignore-file (local-file "marekpasnikowski-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)) (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)) (%suweren-home-services* (%suweren-home-services host-name*)) (user-services (list ;; emacs-configuration emacs-software git-configuration git-software)) (services* (append %suweren-home-services* user-services))) (home-environment (services services*)))))