blob: e937117d1b3cb9565d6233d1a60a773fe152020f (
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
;; 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 %password-store-dir (local-file ".password-store"
"password-store"
#:recursive? #t))
(define-public
%my-services
(list (simple-service 'home-environment-variables-service
home-environment-variables-service-type
'(("EDITOR" . "emacsclient")))
(simple-service 'additional-profile-config
home-shell-profile-service-type
(list (local-file ".profile" "profile")))
(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"))
(list ".password-store" %password-store-dir)))
(service home-msmtp-service-type
(home-msmtp-configuration
(accounts
(list
(msmtp-account
(name "charles")
(configuration
(msmtp-configuration
(auth? #t)
(tls? #t)
(tls-starttls? #t)
(log-file "/home/charles/log/mail/charles.log")
(host "occam.adnoto.dev")
(port 587)
(user "charles")
(password-eval "pass smtpd"))))))
(default-account "charles")))
(simple-service 'variant-packages-service
home-channels-service-type
(list
(channel
(name 'variant-packages)
(branch "main")
(url "https://cgit.adnoto.dev/git/channel.git")
(introduction
(make-channel-introduction
"ffc27e1f5f8306faf47098e8cf8e06c610a315de"
(openpgp-fingerprint
"59B6 65CB 5FC8 1C50 8144 5049 3EEC E33F 63F9 8864"))))))))
(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-auctex"
"emacs-geiser"
"emacs-geiser-guile"
"emacs-jabber"
"emacs-ledger-mode"
"emacs-markdown-mode"
"emacs-nov"
"glibc-locales"
"guile"
"mailutils"
"m4"
"password-store"
"ripgrep"
;; TeX setup from https://guix.gnu.org/manual/1.5.0/en/html_node/Using-TeX-and-LaTeX.html
"rubber"
"texlive-scheme-basic"
"texlive-collection-latexrecommended"
"texlive-collection-fontsrecommended"
"texlive-babel-french"
;; From "latexextra" collection.
"texlive-tabularray"
;; From "binextra" collection.
"texlive-texdoc"
;; Extra TeX packages
"texlive-soul"
)))
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
(services
(append %my-services
%base-home-services))))
%home-environment
|