blob: 9449b1c3fdc836bde44e3ea817c2aaa4b3639c77 (
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
126
127
128
|
;; This "home-environment" file can be passed to 'guix home reconfigure'
;; to reproduce the content of your profile. This is "symbolic": it only
;; specifies package names. To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.
(define-module (tw home btl)
#:use-module (gnu home)
#:use-module (gnu home services)
#:use-module (gnu home services desktop)
#:use-module (gnu home services guix)
#:use-module (gnu home services pm)
#:use-module (gnu home services ssh)
#:use-module (gnu packages finance)
#:use-module (gnu packages networking)
#:use-module (gnu services)
#:use-module (guix gexp)
#:use-module (tw home)
#:use-module (tw services desktop)
#:use-module (tw services dev-env)
#:use-module (tw services git)
#:use-module (tw services gnupg)
#:use-module (tw services restic))
(define-public %btl-home
(home-environment
(packages
;; These packages will show up in the home profile, under ~/.guix-home/profile.
;; Graphical applications
(list blueman electrum))
;; To search for available home services, run 'guix home search KEYWORD'.
(services
(list
;; Redshift: make the screen turn redder at night.
(service home-redshift-service-type
(home-redshift-configuration
(location-provider 'manual)
;; Approximate location
(latitude 46.0)
(longitude 6.0)
;; (location-provider 'geoclue2) ; TODO: currently waits forever for a location -- not sure why geoclue doesn't work
(daytime-brightness 1.0)
(nighttime-brightness 0.7)
(extra-content "fade=0"))) ; with fade=1, restarting redshift causes flickering for a few secs
(service home-dbus-service-type)
(service tw-home-service-type)
(service home-desktop-service-type
(home-desktop-configuration
(bluetooth? #t)
(monitors
(list (home-monitor-configuration
(name "DisplayPort-2")
(xrandr-options '("--mode" "2560x1440" "--rate" "143.86")))))))
(service home-gaming-service-type)
(service home-full-dev-env-service-type)
(service home-pim-service-type)
;; On my private machine, I want to use my private PGP key normally, and
;; my work key only for work repositories.
(service home-git-service-type
(home-git-configuration
(default-email "git@twilken.net")
(default-signing-key "53EC3C06856883DD92355BC22FC78504681F69B0")
(identities
(list (home-git-identity
(name "alice")
(root-directory "~/src/alice")
(email "timo.wilken@cern.ch")
(signing-key "C2249BBE5E8761C943A0CFA1B7B3914BF63ACD7C"))
(home-git-identity
(name "atlas")
(root-directory "~/src/atlas")
(email "timo.wilken@cern.ch")
(signing-key "C2249BBE5E8761C943A0CFA1B7B3914BF63ACD7C"))))))
(service home-openssh-service-type
(tw-openssh-configuration))
(service home-gnupg-service-type
(home-gnupg-configuration
(default-key "53EC3C06856883DD92355BC22FC78504681F69B0")
(gui-pinentry? #t)))
(service home-restic-backup-service-type
(list (restic-scheduled-backup
(schedule #~"0 */2 * * *")
(paths '(;; important user data
"~/src"
"~/.local/share/zsh/history"
;; secrets
"~/.local/share/ssh-keys"
"~/.local/share/gnupg"
"~/.config/cern-ca-bundle.crt"
"~/.config/grid-personal-cert.pem"
"~/.config/grid-personal-key.pem"
"~/.config/syncthing"
;; games
"~/savegames"
"~/.config/unity3d"
"~/.local/share/0ad"
"~/.local/share/simutrans"
"~/.local/share/warzone2100"
"~/.local/share/widelands"
"~/.local/share/ksp-overlay/upper"
"~/.pioneer"))
(repo (restic-vin.wg-repo "timo/battleship"))
(password (restic-pass-key "computers/vin/restic-repos/timo-battleship")))
(restic-scheduled-backup
(schedule #~"20 */2 * * *") ; try to avoid lock contention
(paths '("~/documents"
"~/sync"
"~/audiobooks"
"~/music"
"~/pictures"
"~/videos/youtube/.yt-dlp"
"~/videos/youtube/.config"))
(repo (restic-vin.wg-repo "timo/sync"))
(password (restic-pass-key "computers/vin/restic-repos/timo-sync")))))))))
%btl-home
|