aboutsummaryrefslogtreecommitdiff
path: root/tw/home/frm.scm
blob: 7af42170d844aca33ede0fa0cb0babbabafec4ca (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
;; 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 frm)
  #: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 mail)
  #:use-module (gnu home services mcron)
  #:use-module (gnu home services pm)
  #:use-module (gnu packages android)
  #:use-module (gnu packages bittorrent)
  #:use-module (gnu packages calendar)
  #:use-module (gnu packages dav)
  #:use-module (gnu packages finance)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages mail)
  #:use-module (gnu packages messaging)
  #:use-module (gnu packages music)
  #:use-module (gnu packages networking)
  #:use-module (gnu packages syndication)
  #:use-module (gnu packages web-browsers)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu services)
  #:use-module (guix gexp)
  #:use-module ((nongnu packages messaging)
                #:select (signal-desktop))
  #:use-module ((nongnu packages steam-client)
                #:select (steam))
  #:use-module (tw home)
  #:use-module (tw packages scanner)
  #:use-module (tw services desktop)
  #:use-module (tw services git)
  #:use-module (tw services gnupg)
  #:use-module (tw services restic)
  #:use-module (tw theme))

(define-public %frm-home
  (home-environment
   (packages
    ;; These packages will show up in the home profile, under ~/.guix-home/profile.
    (cons*
     ;; CLI tools
     adb fastboot beets cmus

     ;; Graphical applications
     blueman electrum nheko signal-desktop simple-scan/airscan transmission-remote-gtk

     ;; Games
     steam
     ;; Games are installed in ~/.guix-profile instead, to make updates of the
     ;; home environment faster.
     ;; 0ad flightgear freeciv simutrans/pak128 warzone2100 widelands pioneer

     (append %interactive-packages %common-packages)))

   ;; To search for available home services, run 'guix home search KEYWORD'.
   (services
    (cons*
     ;; Batsignal: battery level notifications.
     (service home-batsignal-service-type
       (home-batsignal-configuration
        (batteries '("BAT1"))))

     ;; Redshift: make the screen turn redder at night.
     (service home-redshift-service-type
       (home-redshift-configuration
        ;; See info '(guix)Desktop Home Services'.
        (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-temperature 6500)     ; default 6500
        ;; (nighttime-temperature 4500)   ; default 4500
        (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-blueman-service-type)

     (service home-desktop-layout-service-type
       (home-desktop-layout-configuration
        (desktop-background "~/blobs-d.png")
        (monitors
         (list (home-monitor-configuration
                (name "eDP")
                (xrandr-options '("--auto")))))))

     ;; 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 "cern")
                (root-directory "~/src/alice")
                (email "timo.wilken@cern.ch")
                (signing-key "C2249BBE5E8761C943A0CFA1B7B3914BF63ACD7C"))))))

     (openssh-service #t)

     (service home-gnupg-service-type
       (home-gnupg-configuration
        (default-key "53EC3C06856883DD92355BC22FC78504681F69B0")
        (gui-pinentry? #t)))

     (append (interactive-services) %common-services)))))

%frm-home