;; 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 cern) #:use-module ((gnu) #:select (use-package-modules)) #: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 mcron) #:use-module (gnu home services pm) #:use-module (gnu packages) #:use-module (gnu services) #:use-module (guix channels) #:use-module (guix gexp) #:use-module ((nongnu packages messaging) #:select (zoom)) #:use-module (tw home) #:use-module (tw packages alice) #:use-module (tw packages ci) #:use-module (tw packages catppuccin) #:use-module (tw packages mail) #:use-module (tw packages xorg) #:use-module (tw gexp) #:use-module (tw services desktop) #:use-module (tw services git) #:use-module (tw services gnupg) #:use-module (tw theme)) (use-package-modules calendar dav mail web-browsers xdisorg xorg) (define pim-packages (list vdirsyncer khal khard aerc lynx mutt_oauth2.py)) ; lynx for HTML mail (define pim-services (list (simple-service 'pim-config home-xdg-configuration-files-service-type `(("aerc/accounts.conf" ,(local-file "files/aerc/accounts.work.conf")) ("aerc/aerc.conf" ,(local-file "files/aerc/aerc.conf")) ("aerc/binds.conf" ,(local-file "files/aerc/binds.conf")) ("aerc/filters" ,(local-file "files/aerc/filters" #:recursive? #t)) ("aerc/stylesets" ,(local-file "files/aerc/stylesets" #:recursive? #t)))))) (define-public %cern-home (home-environment (packages ;; These packages will show up in the home profile, under ~/.guix-home/profile. (append %common-packages %interactive-packages pim-packages)) ;; To search for available home services, run 'guix home search KEYWORD'. (services (cons* ;; This can't be a `service' as that would remove the 'guix channel. (simple-service 'nonfree-channels home-channels-service-type (list (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix") ;; Enable signature verification: (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))) (simple-service 'remote-desktop-config home-files-service-type `((".local/share/vinagre/vinagre-bookmarks.xml" ,(local-file "files/vinagre-bookmarks.xml")))) ;; 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-desktop-layout-service-type (home-desktop-layout-configuration (desktop-background "~/.config/X11/ridge-view.jpg") (monitors (list (home-monitor-configuration (name "DP-2") (xrandr-options '("--primary" "--auto"))) (home-monitor-configuration (name "DP-1-8") ;; This can do 4K but HiDPI is a pain. (xrandr-options '("--mode" "1920x1080" "--rate" "60.00" "--left-of" "DP-2"))))))) ;; On my work machine, Git must always use my work PGP key. (service home-git-service-type (home-git-configuration (default-email "timo.wilken@cern.ch") (default-signing-key "C2249BBE5E8761C943A0CFA1B7B3914BF63ACD7C"))) (openssh-service #f) (service home-gnupg-service-type (home-gnupg-configuration (default-key "C2249BBE5E8761C943A0CFA1B7B3914BF63ACD7C") (gui-pinentry? #t))) (append %common-services (interactive-services) pim-services))))) %cern-home