about summary refs log tree commit diff
path: root/guix/home.scm
blob: df3ab722f308891daa0d54b6c47833e00def6aaf (plain) (blame)
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
(use-modules (gnu home)
             (gnu home services)
             (gnu home services desktop)
             (gnu home services gnupg)
             (gnu home services mcron)
             (gnu home services shells)
             (gnu home services ssh)
             (gnu packages)
             (gnu packages bittorrent)
             (gnu packages gtk)
             (gnu services)
             (guix gexp)
             (guix packages))

(home-environment
  (packages
    (cons
      (list (package  ; transmission:gui with GTK+3 for systray
              (inherit transmission)
              (inputs (modify-inputs (package-inputs transmission)
                                     (replace "gtkmm" gtkmm-3))))
            "gui")
      (specifications->packages
        '("aerc" "isync" "mu" "nheko" "weechat" "weechat-wee-slack"
          "arandr" "libreoffice" "python-ueberzug" "rxvt-unicode"
          "audacious" "ffmpeg" "mediainfo" "mpv" "simplescreenrecorder"
          "awesome" "copyq" "dbus" "keynav" "scrot" "sx" "xdg-utils" "xrdb"
          "bastet" "extremetuxracer" "gnujump" "hedgewars" "kiki" "neverball"
          "dico" "icecat" "liferea" "w3m" "yt-dlp"
          "font-google-noto" "font-latin-modern" "hicolor-icon-theme" "qt5ct"
          "gcc-toolchain" "python" "texlive" "zig"
          "gimp" "imv" "imagemagick" "zathura" "zathura-pdf-poppler"
          "git" "git:send-email" "git-lfs"
          "gnupg" "pinentry" "nss-certs" "oath-toolkit"
          "ncdu" "ncurses" "stow" "units" "unzip"
          "pavucontrol" "playerctl" "pulsemixer"))))
  (services
    (list (service home-bash-service-type
                   (home-bash-configuration
                     (bash-profile (list (local-file "bash-profile")))
                     (bashrc (list (local-file "bashrc")))))
          (simple-service
            'more-home-environment-variables-service
            home-environment-variables-service-type
            `(("SHELL" . #t)
              ("HISTCONTROL" . "ignoreboth:erasedups")
              ("HISTFILESIZE" . "-1")
              ("HISTSIZE" . "-1")
              ("PATH" . "$HOME/.local/bin:$PATH")
              ("GOPATH" . "$HOME/.local/share/go")
              ("NIX_PATH" . "$HOME/Sauces")
              ("EDITOR" . "vim")
              ("GPG_TTY" . "$(tty)")
              ("GTK_IM_MODULE" . "ibus")
              ("GUIX_GTK2_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache")
              ("GUIX_GTK3_IM_MODULE_FILE" . "/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache")
              ("XMODIFIERS" . "@im=ibus")
              ("QT_IM_MODULE" . "ibus")
              ("QT_QPA_PLATFORMTHEME" . "qt5ct")))
          (service home-files-service-type
                   `((".dico" ,(local-file "dico"))))
          (service home-xdg-configuration-files-service-type
                   `(("sx/sxrc" ,(local-file "sxrc"))))
          (service home-dbus-service-type)
          (service home-openssh-service-type
                   (home-openssh-configuration
                     (hosts (list (openssh-host (name "loang")
                                                (host-name "loang.net")
                                                (user "cnx")
                                                (port 2211))
                                  (openssh-host (name "rack")
                                                (host-name "10.20.18.56")
                                                (user "cnx")
                                                (port 4071))))
                     (authorized-keys (list (local-file "cnx.pub")))
                     (add-keys-to-agent "yes")))
          (service home-gpg-agent-service-type
                   (home-gpg-agent-configuration
                     (pinentry-program
                       (file-append
                         (specification->package "pinentry-gtk2")
                         "/bin/pinentry-gtk-2"))
                     (ssh-support? #t)))
          (service home-mcron-service-type
                   (home-mcron-configuration
                     (jobs (list #~(job '(next-minute (range 0 60 1))
                                        (lambda ()
                                          (system* "mbsync" "--all"))))))))))