;; This is a sample Guix Home configuration which can help setup your ;; home directory in the same declarative manner as Guix System. ;; For more information, see the Home Configuration section of the manual. (define-module (guix-home-config) #:use-module (gnu home) #:use-module (gnu home services) #:use-module (gnu home services shells) #:use-module (gnu services) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages emacs) #:use-module (gnu packages fonts) #:use-module (gnu packages mail) #:use-module (gnu packages rust-apps) #:use-module (gnu packages search) #:use-module (gnu packages imagemagick) #:use-module (gnu packages password-utils) #:use-module (gnu packages image-viewers) #:use-module (gnu packages xfce) #:use-module (gnu packages sync) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages gnome) #:use-module (gnu packages librewolf) #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages text-editors) #:use-module (gnu packages golang) #:use-module (gnu packages gnupg) #:use-module (gnu packages aspell) #:use-module (gnu packages sqlite) #:use-module (gnu packages gcc) #:use-module (gnu packages commencement) #:use-module (gnu packages base) #:use-module (gnu packages golang-crypto) #:use-module (gnu packages linux) #:use-module (gnu packages image) #:use-module (gnu packages xdisorg) #:use-module (nongnu packages mozilla) #:use-module (gnu packages databases) #:use-module (gnu packages compression) #:use-module (gnu system shadow) #:use-module (gnu home services fontutils) #:use-module (gnu home services dotfiles) #:use-module (gnu home services gnupg) #:use-module (gnu home services desktop) #:use-module (gnu packages ssh) #:use-module (gnu packages pdf) #:use-module (gnu packages texinfo) #:use-module (gnu packages man) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system go) #:use-module (gnu home services pm)) (define home-config (home-environment (packages (list font-iosevka font-iosevka-aile font-iosevka-etoile font-liberation isync zoxide ugrep imagemagick password-store fd recutils unzip inxi alsa-utils texinfo man-db man-pages mandoc go binutils sqlite gcc-toolchain mg imv thunar thunar-volman emacs-geiser emacs-geiser-guile emacs-pinentry emacs-pdf-tools emacs-alsamixer-el mu msmtp emacs aspell aspell-dict-en xf86-input-libinput xf86-video-fbdev xf86-video-nouveau gnupg age pinentry openssh firefox xsetroot scrot imlib2 ;; Needed for scrot xset xrdb brightnessctl autocutsel gsettings-desktop-schemas setxkbmap)) (services (list (service home-bash-service-type (home-bash-configuration (guix-defaults? #f) (bash-profile (list (local-file "./profile"))) (bashrc (list (local-file "./bashrc"))))) (service home-startx-command-service-type) (service home-xmodmap-service-type (home-xmodmap-configuration (key-map '(("remove Lock" . "Caps_Lock") ("keysym Caps_Lock" . "Control_L"))))) (service home-gpg-agent-service-type (home-gpg-agent-configuration (pinentry-program (file-append pinentry-emacs "/bin/pinentry-emacs")) (ssh-support? #t) (max-cache-ttl 99999) (default-cache-ttl 99999))) (service home-files-service-type `((".guile" ,%default-dotguile) (".Xdefaults" ,%default-xdefaults))) (service home-dotfiles-service-type (home-dotfiles-configuration (directories '("./dots")))) (simple-service 'extend-home home-environment-variables-service-type `(("PATH" . "${PATH}:~/home/go/bin"))) (service home-xdg-configuration-files-service-type `(("gdb/gdbinit" ,%default-gdbinit))))))) home-config