;; 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 (home) #:use-module (guix gexp) #:use-module (gnu) #:use-module (gnu packages) #:use-module (gnu packages gnupg) #:use-module (gnu home) #:use-module (gnu home services) #:use-module (gnu home services dotfiles) #:use-module (gnu home services shells) #:use-module (gnu home services desktop) #:use-module (gnu home services gnupg) #:use-module (hecate packages emacs) #:use-module (hecate packages ollama) #:use-module (hecate packages binaries) #:use-module (hecate packages hunspell) #:export (home)) (define thanos/dotfiles-path (format #f "~a/dotfiles" (getenv "HOME"))) (define thanos/fonts-packages '("font-jetbrains-mono" "font-iosevka-aile" "font-fira-mono" "font-hack")) (define thanos/emacs-packages '("emacs-pgtk" "emacs-nov-el" "emacs-pdf-tools" "emacs-elpy" "emacs-geiser" "emacs-geiser-guile" "emacs-jabber" "emacs-yeetube" "emacs-debbugs" "emacs-eshell-git-prompt" "emacs-0x0" "emacs-org-roam" "emacs-markdown-mode" "emacs-gnosis" "emacs-notmuch")) (define thanos/python-packages '("python-next" "python-pip" "python-lsp-server" "python-numpy")) (define thanos/cl-packages '("sbcl")) (home-environment ;; Below is the list of packages that will show up in your ;; Home profile, under ~/.guix-home/profile. (packages (specifications->packages (append '("mu" "perl" "tree" "yt-dlp" "ollama-linux-amd64" "librewolf" "syncthing" "hyfetch" "transmission" "isync" "mpv" "dino" "git" "fuzzel" "wl-clipboard" "alacritty" "password-store" "curl" "bind" "nmap" "hunspell" "wtype" "hunspell-dict-en-us" "hunspell-dict-el" "mlocate" "rsync" "grimshot" "nyxt" "swayidle" "wl-clipboard" "btop" "net-tools" "gnupg" "texlive" "texlive-collection-latexrecommended" "libtree" "notmuch" "hugo-bin") thanos/emacs-packages thanos/cl-packages thanos/python-packages thanos/fonts-packages))) ;; Below is the list of Home services. To search for available ;; services, run 'guix home search KEYWORD' in a terminal. (services (list (service home-bash-service-type (home-bash-configuration (guix-defaults? #t) (aliases '(("klight" . "brightnessctl --device='\\''tpacpi::kbd_backlight'\\'' set 1") ("ll" . "ls -lah --color") ("logout" . "pkill -U $USER") ("ls" . "ls --color") ("o" . "emacsclient -n") ("weather" . "curl wttr.in") ("ytd" . "yt-dlp") ("gx" . "guix"))) (bashrc (list (local-file (format #f "~a/bash-prompt.sh" thanos/dotfiles-path) #:recursive? #f))))) (service home-dotfiles-service-type (home-dotfiles-configuration (directories (list thanos/dotfiles-path)) (excluded '(".*~" ".*\\.swp" "\\.git" "\\.gitignore" "vimium-options.json" "README" "LICENSE" ".*\\.scm" "__pycache__" "bash-prompt.sh")) (layout 'plain))) ;; Env variables (simple-service 'profile-service-type home-environment-variables-service-type '(("VISUAL" . "emacsclient") ("EDITOR" . "emacsclient") ("GTK_THEME" . "Adwaita-dark") ("XDG_CURRENT_DESKTOP" . "sway") ("XDG_SESSION_TYPE" . "wayland") ("BROWSER" . "librewolf") ("XDG_SCREENSHOTS_DIR" . "/home/$USER/Pictures/screenshots/") ("PATH" . "/home/$USER/.local/bin:$PATH") ("DICPATH" . "$DICPATH:/home/$USER/.hunspell.d"))) ;; GPG Configuration (service home-gpg-agent-service-type (home-gpg-agent-configuration (pinentry-program (file-append pinentry-gtk2 "/bin/pinentry-gtk-2")) (ssh-support? #t) (default-cache-ttl 28800) (max-cache-ttl 28800) (default-cache-ttl-ssh 28800) (max-cache-ttl-ssh 28800))))))