system-configuration/homes/sybil-home.scm

sybil-home.scm

1
(use-modules (home))
2
(use-home-modules hexchat keepassxc openbox ssh utils)
3
(use-modules (home-config ssh))
4
(use-modules (gnu packages bittorrent))
5
(use-modules (gnu packages compton))
6
(use-modules (gnu packages dunst))
7
(use-modules (gnu packages games))
8
(use-modules (gnu packages gnuzilla))
9
(use-modules (gnu packages ibus))
10
(use-modules (gnu packages image-viewers))
11
(use-modules (gnu packages inkscape))
12
(use-modules (gnu packages libreoffice))
13
(use-modules (gnu packages lxde))
14
(use-modules (gnu packages mail))
15
(use-modules (gnu packages messaging))
16
(use-modules (gnu packages password-utils))
17
(use-modules (gnu packages pulseaudio))
18
(use-modules (gnu packages sync))
19
(use-modules (gnu packages xfce))
20
(use-modules (nonfree packages baba-is-you))
21
(use-modules (guix gexp))
22
(use-modules (guix import utils)); for flatten
23
24
(define bashrc
25
  (computed-file "bashrc"
26
    #~(with-output-to-file #$output
27
        (lambda _
28
          (format #t "export SHELL
29
30
if [[ $- != *i* ]]; then
31
      # Non interative shell. For SSH session, load /etc/profile to get
32
      # PATH and other variables set up.
33
        [[ -n \"$SSH_CLIENT\" ]] && source /etc/profile
34
      return
35
fi
36
37
source /etc/bashrc
38
39
if [ -n \"$GUIX_ENVIRONMENT\" ]; then
40
        PS1='\\u@\\h \\w [env]\\$ '
41
else
42
        PS1='\\u@\\h \\w\\$ '
43
fi
44
export EDITOR=nvim
45
alias ls='ls -p --color=auto'
46
alias ll='ls -l'
47
alias grep='grep --color=auto'
48
alias vim='nvim'")))))
49
50
(define bash_profile
51
  (plain-file "bash_profile" "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
52
"))
53
54
(define gtkrc-2
55
  (plain-file "gtkrc-2.0" "gtk-theme-name=\"Arc-Dark\"
56
gtk-icon-theme-name=\"Arc\"
57
"))
58
59
(define gtkrc-3
60
  (plain-file "settings.ini" "[Settings]
61
gtk-theme-name=Arc-Dark
62
gtk-icon-theme-name=Arc
63
"))
64
65
(define gitconfig (local-file "files/gitconfig"))
66
(define openbox-rc (local-file "files/openbox/rc.xml"))
67
(define openbox-environment
68
  (plain-file "environment" "eval $(ssh-agent)"))
69
(define openbox-autostart
70
  (computed-file "autostart"
71
     #~(with-output-to-file #$output
72
         (lambda _
73
           (format #t "HOME=/tmp/pa ~a --start~%" #$(file-append pulseaudio "/bin/pulseaudio"))
74
           (format #t "~a --bg-fill ~a~%" #$(file-append feh "/bin/feh")
75
                   #$(local-file "/data/tyreunom/background.png"))
76
           (format #t "~a -CGb~%" #$(file-append compton "/bin/compton"))
77
           (format #t "~a -conf ~a &~%" #$(file-append dunst "/bin/dunst")
78
                   #$(plain-file "dunstrc" ""))
79
           (format #t "export GTK_IM_MODULE=ibus
80
export XMODIFIERS=@im=ibus
81
export QT_IM_MODULE=ibus
82
export GUIX_GTK2_IM_MODULE_FILE=~~/.guix-profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache
83
export GUIX_GTK3_IM_MODULE_FILE=~~/.guix-profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache
84
~a -drx~%" #$(file-append ibus "/bin/ibus-daemon"))))))
85
86
(define xfce4-terminalrc
87
  (local-file "files/xfce4-terminal/terminalrc"))
88
89
(home
90
  "/data/tyreunom"
91
  (flatten
92
    (list
93
      (openbox-home
94
        (openbox-configuration
95
          (autostart openbox-autostart)
96
	  (environ openbox-environment)
97
          (menus
98
            (list
99
              (openbox-menu
100
                (id "apps-game-menu")
101
                (label "Jeux")
102
                (elements
103
                  (list
104
                    (openbox-element-execute
105
                      (label "MineTest")
106
                      (command (file-append minetest "/bin/minetest")))
107
		    (openbox-element-execute
108
		      (label "Baba is You")
109
		      (command (file-append baba-is-you "/bin/baba-is-you"))))))
110
              (openbox-menu
111
                (id "apps-other-menu")
112
                (label "Autres")
113
                (elements
114
                  (list
115
                    (openbox-element-execute
116
                      (label "Pavucontrol")
117
                      (command (file-append pavucontrol "/bin/pavucontrol")))
118
                    (openbox-element-execute
119
                      (label "Owncloud")
120
                      (command (file-append owncloud-client "/bin/owncloud")))
121
                    (openbox-element-execute
122
                      (label "Keepass")
123
                      (command (file-append keepassxc "/bin/keepassxc")))
124
                    (openbox-element-execute
125
                      (label "Libreoffice")
126
                      (command (file-append libreoffice "/bin/libreoffice")))
127
                    (openbox-element-execute
128
                      (label "Claws-mail")
129
                      (command (file-append claws-mail "/bin/claws-mail --alternate-config-dir /data/tyreunom/.local/share/claws-mail")))
130
                    (openbox-element-execute
131
                      (label "Hexchat")
132
                      (command (file-append hexchat "/bin/hexchat")))
133
                    ;(openbox-element-execute
134
                    ;  (label "Transmission")
135
                    ;  (command (file-append (gexp-input transmission "gui")
136
                    ;                        "/bin/transmission-gtk")))
137
                    (openbox-element-execute
138
                      (label "Claws-mail")
139
                      (command (file-append claws-mail "/bin/claws-mail")))
140
                    (openbox-element-execute
141
                      (label "Inkscape")
142
                      (command (file-append inkscape "/bin/inkscape"))))))))
143
          (root-elements
144
            (list
145
              (openbox-element-menu (id "apps-game-menu"))
146
              (openbox-element-menu (id "apps-other-menu"))
147
              (openbox-element-execute
148
                (label "Terminal")
149
                (command (file-append xfce4-terminal "/bin/xfce4-terminal")))
150
              (openbox-element-execute
151
                (label "Icecat")
152
                (command (file-append icecat "/bin/icecat -P --no-remote")))
153
              (openbox-element-execute
154
                (label "Gestionnaire de fichiers")
155
                (command (file-append pcmanfm "/bin/pcmanfm")))))
156
          (rc openbox-rc)))
157
      (hexchat-home
158
	(hexchat-configuration
159
	  (servlist
160
	    (list
161
	      (hexchat-server
162
		(name "ZNC")
163
		(servers '("lepiller.eu/6697"))
164
		(flags '(cycle global honor-proxy ssl favorite
165
			       allow-invalid-certificates)))))
166
	  (log-dir "/data/tyreunom/.config/hexchat/logs")
167
	  (scrollback-dir "/data/tyreunom/.config/hexchat/scrollback")))
168
      (keepassxc-home
169
	(keepassxc-configuration
170
	  (last-databases '("/data/tyreunom/owncloud/synchro/pass.kdbx"))
171
	  (last-dir "/data/tyreunom")
172
	  (last-opened-databases '("/data/tyreunom/owncloud/synchro/pass.kdbx"))))
173
      (ssh-home
174
	(ssh-configuration
175
	  (known-hosts known-hosts)
176
	  (default-host
177
	    (ssh-host-configuration
178
	      (identity-file "/data/tyreunom/.ssh/id_rsa")))))
179
      (simple-file-home bashrc ".bashrc")
180
      (simple-file-home bash_profile ".bash_profile")
181
      (simple-file-home gitconfig ".gitconfig")
182
      (simple-file-home gtkrc-2 ".gtkrc-2.0")
183
      (simple-file-home gtkrc-3 ".config/gtk-3.0/settings.ini")
184
      (simple-file-home xfce4-terminalrc ".config/xfce4/terminal/terminalrc")
185
      (symlink-file-home "/data/tyreunom/.mozilla" ".mozilla")
186
      (symlink-file-home "/mnt/usb/.gnupg" ".gnupg")
187
      (symlink-file-home "/data/tyreunom/.PlayOnLinux" ".PlayOnLinux")
188
      (symlink-file-home "/data/tyreunom/PlayOnLinux" "PlayOnLinux")
189
      (symlink-file-home "/data/tyreunom/Downloads" "Downloads")
190
      (symlink-file-home "/data/tyreunom/.config/transmission"
191
			 ".config/transmission")
192
      (symlink-file-home "/data/tyreunom/.config/guix-gaming-channels"
193
			 ".config/guix-gaming-channels")))
194
  #:guix-config-symlink "/data/tyreunom/.config/guix")
195