summaryrefslogtreecommitdiff
path: root/home-configuration.scm
blob: 6812908ade01d00bac6071473bb774ffd1ada499 (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
76
77
78
79
(define-module (aisaka-home-configuration)
  #:use-module (gnu home)
  #:use-module (gnu home services)
  #:use-module (gnu home services shells)
  #:use-module (gnu packages)
  #:use-module (gnu services)
  #:use-module (guix gexp))

(define config-prefix
  "/home/marek/src/guix-config/")

(define home-bash-service
  (service home-bash-service-type
	   (home-bash-configuration (environment-variables '(("EDITOR" . "emacs")
							     ("NVM_DIR" . "$HOME/src/nvm")
							     ("GUILE_AUTO_COMPILE" . "0")))
				    (aliases `(("grep" . "grep --color=auto")
					       ("ll" . "ls -l")
					       ("ls" . "ls -p --color=auto")
					       ("pull-guix" . "guix pull")
					       ("pull-guix-" . "pull-guix --allow-downgrades --disable-authentication")
					       ("reconfigure-home" . (string-append "guix home reconfigure "
										    ,config-prefix
										    "home-configuration.scm"))
					       ("reconfigure-home-" . "reconfigure-home --allow-downgrades")
					       ("reconfigure-system" . (string-append "sudo guix system reconfigure "
										      ,config-prefix
										      "system-configuration.scm"))
					       ("reconfigure-system-" . "reconfigure-system --allow-downgrades")
					       ("system-update" . "pull-guix && reconfigure-system && reconfigure-home")
					       ("system-update-" . "pull-guix- && reconfigure-system- && reconfigure-home-")))
				    (bash-profile `(,(local-file (string-append config-prefix
										".bash_profile")
								 "bash_profile")))
				    (bashrc `(,(local-file (string-append config-prefix
									  ".bashrc")
							   "bashrc"))))))

(define home-files
  `((".config/guix/shell-authorized-directories" ,(local-file "g-sh-auth-dir"))
    (".emacs" ,(local-file "emacs.el"))
    (".ssh/config" ,(local-file "ssh.config"))))

(define dot-files-service
  (simple-service 'dot-files
		  home-files-service-type
		  home-files))

(define home-services
  `(,home-bash-service
    ,dot-files-service))

(home-environment (packages (map (compose list
					  specification->package+output)
				 '("cpupower"
				   "dconf-editor"
				   "emacs-no-x"
				   "emacs-ac-geiser"
				   "emacs-aggressive-indent"
				   "emacs-geiser"
				   "emacs-geiser-guile"
				   "emacs-iedit"
				   "emacs-multiple-cursors"
				   "emacs-paredit"
				   "font-google-noto"
				   "git"
				   "git-lfs"
				   "gnome-tweaks"
				   "gnupg"
				   "icecat"
				   "jami"
				   "libreoffice"
				   "pwgen"
				   "seahorse"
				   "sicp"
				   "trezor-agent"
				   "unzip"
				   "zip")))
		  (services home-services))