summaryrefslogtreecommitdiff
path: root/home-configuration.scm
blob: f9804c60e28cdadf7581632f5278d1881c88f24f (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
;; This "home-environment" file can be passed to 'guix home reconfigure'
;; to reproduce the content of your profile.  This is "symbolic": it only
;; specifies package names.  To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.

(define-module (home-configuration))
(use-modules (gnu home)
	     (gnu packages)
	     (gnu services)
	     (guix channels)
	     (guix gexp)
	     (gnu home services)
	     (gnu home services guix)
	     (gnu home services mail)
	     (gnu home services shells))

(define-public %home-environment (home-environment
  ;; Below is the list of packages that will show up in your
  ;; Home profile, under ~/.guix-home/profile.
  (packages
   (specifications->packages
    (list "dino"
	  "emacs"
	  "emacs-geiser"
	  "emacs-geiser-guile"
	  "emacs-ledger-mode"
	  "glibc-locales"
	  "guile"
	  "password-store")))

  ;; Below is the list of Home services.  To search for available
  ;; services, run 'guix home search KEYWORD' in a terminal.
  (services
   (append (list (simple-service 'home-environment-variables-service
				 home-environment-variables-service-type
				 '(("EDITOR" . "emacsclient")
				   ("PASSWORD_STORE_DIR" . "/home/charles/Code/home/.password-store")))
		 (service home-bash-service-type
			  (home-bash-configuration
			   (aliases '(("egrep" . "egrep --color=auto")
				      ("fgrep" . "fgrep --color=auto")
				      ("grep" . "grep --color=auto")
				      ("l" . "ls -CF")
				      ("la" . "ls -A")
				      ("ll" . "ls -alF")
				      ("ls" . "ls --color=auto")))
			   (bashrc (list (local-file
					  ".bashrc"
					  "bashrc")))
			   (bash-logout (list (local-file
					       ".bash_logout"
					       "bash_logout")))))
		 (service home-files-service-type
			  (list (list ".emacs" (local-file ".emacs" "emacs"))))
		 (service home-msmtp-service-type
			  (home-msmtp-configuration
			   (accounts
			    (list
			     (msmtp-account
			      (name "charles@aurox.ch")
			      (configuration
			       (msmtp-configuration
				(auth? #t)
				(tls? #t)
				(tls-starttls? #f)
				(log-file "/home/charles/log/mail/charles@aurox.ch.log")
				(from "charles@aurox.ch")
				(host "smtp.migadu.com")
				(port 465)
				(user "charles@aurox.ch")
				(password-eval "pass charles@aurox.ch"))))))
			   (default-account "charles@aurox.ch")))
		 (simple-service 'variant-packages-service
				 home-channels-service-type
				 (list
				  (channel
				    (name 'variant-packages)
				    (branch "main")
				    (url "https://codeberg.org/charlesroelli/channel.git")
				    (introduction
				     (make-channel-introduction
				      "ffc27e1f5f8306faf47098e8cf8e06c610a315de"
				      (openpgp-fingerprint
				       "59B6 65CB 5FC8 1C50 8144  5049 3EEC E33F 63F9 8864")))))))
	   %base-home-services))))

%home-environment