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 |