summaryrefslogtreecommitdiff
path: root/home-configuration.scm
blob: 5cd11bd1bb7408ca052e48234de499fa4b9e58fd (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
80
81
82
83
84
85
86
87
88
(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-env-vars
  '(("EDITOR" . "emacs")
    ("NVM_DIR" . "$HOME/src/nvm")
    ("GUILE_AUTO_COMPILE" . "0")))

(define home-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-")))

(define bash-configuration
  (home-bash-configuration (environment-variables home-env-vars)
			   (aliases home-aliases)
			   (bash-profile `(,(local-file (string-append config-prefix
								       ".bash_profile")
							"bash_profile")))
			   (bashrc `(,(local-file (string-append config-prefix
								 ".bashrc")
						  "bashrc")))))

(define home-bash-service
  (service home-bash-service-type
	   bash-configuration))

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