summaryrefslogtreecommitdiff
path: root/home-configuration.scm
blob: a6e18768fb74a60fb8cf7d5f2543882b986d4855 (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
;; 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.

(use-modules (gnu home)
             (gnu packages)
             (gnu services)
             (guix channels)
             (guix gexp)
             (gnu home services)
             (gnu home services guix)
             (gnu home services shells)
	     (sops secrets)
	     (sops home services sops))

(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"
	  "sops")))

  ;; Below is the list of Home services.  To search for available
  ;; services, run 'guix home search KEYWORD' in a terminal.
  (services
   (append (list (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"))))
		 (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
				      "d059076214e6cb8c00539649a43e603b7e9f2c90"
				      (openpgp-fingerprint
				       "7FD6 B094 1B34 68AE 6F19  04AE D3C9 09F4 ADEF 6FE2"))))
				  (channel
				   (name 'sops-guix)
				   (url "https://github.com/fishinthecalculator/sops-guix.git")
				   (branch "main")
				   (introduction
				    (make-channel-introduction
				     "0bbaf1fdd25266c7df790f65640aaa01e6d2dbc9"
				     (openpgp-fingerprint
				      "8D10 60B9 6BB8 292E 829B  7249 AED4 1CC1 93B7 01E2"))))))
		 (service home-sops-secrets-service-type
			  (home-sops-service-configuration
			   (config (local-file ".sops.yaml" "sops.yaml"))
			   (secrets
			    (list
			     (sops-secret
                              (key '("irc"))
                              (file (local-file "common.yaml"))
                              (user "charles")
                              (group "charles")
                              (permissions #o400)))))))
           %base-home-services)))