summaryrefslogtreecommitdiff
path: root/home-configuration.scm
blob: 67529683f7431b7d95f8439314bc2d62a615921b (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
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
121
122
123
124
125
(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 allow-downgrades
  "--allow-downgrades ")

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

(define pull-guix
  "guix pull ")

(define pull-guix-
  (string-append pull-guix
		 allow-downgrades
		 "--disable-authentication "))

(define guix-home
  "guix home reconfigure ")

(define home-configuration
  "home-configuration.scm ")

(define reconfigure-home
  (string-append guix-home
		 config-prefix
		 home-configuration))

(define reconfigure-home-
  (string-append reconfigure-home
		 allow-downgrades))

(define guix-system
  "sudo guix system reconfigure ")

(define system-configuration
  "system-configuration.scm ")

(define reconfigure-system
  (string-append guix-system
		 config-prefix
		 system-configuration))

(define reconfigure-system-
  (string-append reconfigure-system
		 allow-downgrades))

(define and
  "&& ")

(define system-update
  (string-append pull-guix
		 and
		 reconfigure-system
		 and
		 reconfigure-home))

(define system-update-
  (string-append pull-guix-
		 and
		 reconfigure-system-
		 and
		 reconfigure-home-))

(home-environment
 (packages (map (compose list
			 specification->package+output)
		'("cpupower"
		  "dconf-editor"
		  "emacs"
		  "emacs-aggressive-indent"
		  "font-google-noto"
		  "git"
		  "git-lfs"
		  "gnome-shell-extension-forge"
		  "gnome-tweaks"
		  "gnupg"
		  "guile"
		  "guile-spec"
		  "icecat"
		  "icedove"
		  "jami"
		  "libreoffice"
		  "newsboat"
		  "pwgen"
		  "seahorse"
		  "sicp"
		  "trezor-agent"
		  "unzip"
		  "zip")))
 (services
  `(,(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" . ,pull-guix)
			  ("pull-guix-" . ,pull-guix-)
			  ("reconfigure-home" . ,reconfigure-home)
			  ("reconfigure-home-" . ,reconfigure-home-)
			  ("reconfigure-system" . ,reconfigure-system)
			  ("reconfigure-system-" . ,reconfigure-system-)
			  ("system-update" . ,system-update)
			  ("system-update-" . ,system-update-)))
	       (bash-profile `(,(local-file (string-append config-prefix
							   ".bash_profile")
					    "bash_profile")))
	       (bashrc `(,(local-file (string-append config-prefix
						     ".bashrc")
				      "bashrc")))))
    ,(simple-service 'configuration-files
		     home-files-service-type
		     `((".config/git/config" ,(local-file "git.config"))
		       (".config/guix/shell-authorized-directories"
			,(local-file "guix-shell-authorized-directories"))
		       (".emacs" ,(local-file "emacs.el"))
		       (".ssh/config" ,(local-file "ssh.config")))))))