summaryrefslogtreecommitdiff
path: root/users/marekpasnikowski.scm
blob: 0650fe7fe81df9419b1cd6820951546ce76a5b23 (about) (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
(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 home services shells)     ; home-fish-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 shells)	      ; fish
  #: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
  )

;; DEPRECATED
(define marekpasnikowski-services
  (let* ((packages (list emacs
			 emacs-org-roam
			 emacs-paredit))

	 (profile (list (simple-service 'marekpasnikowski-packages
					home-profile-service-type
					packages))))
    (append %suweren-home-services
	    profile)))

;; string
(define-public marekpasnikowski-username
  "marek")

;; DEPRECATED
(define-public home
  (let ((services* (append %suweren-home-services
			   marekpasnikowski-services)))
    (home-environment (services services*))))

;; (string) ->
;; record user-account
(define-public (marekpasnikowski-account supplementary-groups*)
  (let ((fish (file-append fish "/bin/fish")))
    (user-account (name marekpasnikowski-username)
		  (group "users")
		  (supplementary-groups supplementary-groups*)
		  (shell fish))))

;; record home-environment
(define-public marekpasnikowski-home-environment
  (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))

	 (git-configuration-files (list gitconfig
					gitignore))
	 (git-packages (list git))

	 (fish (service home-fish-service-type))
	 (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))

	 (services* (list fish
			  git-configuration
			  git-software)))
    (home-environment (services services*))))