(define-module (guix-config home workstation) #:use-module (gnu home) #:use-module (gnu packages emacs) #:use-module (gnu packages glib) #:use-module (gnu packages shellutils) #:use-module (gnu packages gnuzilla) #:use-module (gnu packages mail) #:use-module (gnu packages messaging) #:use-module (gnu packages sync) #:use-module (gnu packages pdf) #:use-module (gnu packages gnome) #:use-module (gnu packages wm) #:use-module (gnu packages terminals) #:use-module (gnu packages xorg) #:use-module (gnu packages kde-internet) #:use-module (gnu packages kde-graphics) #:use-module (gnu packages linux) #:use-module (gnu packages freedesktop) #:use-module (gnu packages rust-apps) #:use-module (gnu packages qt) #:use-module (gnu packages version-control) #:use-module (gnu packages librewolf) #:use-module (gnu packages audio) #:use-module (gnu packages xdisorg) #:use-module (gnu packages admin) #:use-module (gnu packages fonts) #:use-module (gnu packages games) #:use-module (gnu packages xdisorg) #:use-module (gnu packages monitoring) #:use-module (gnu packages video) #:use-module (gnu services) #:use-module (guix gexp) #:use-module (gnu home services shells) #:use-module (gnu home services dotfiles) #:use-module (gnu home services sound) #:use-module (gnu home services desktop) #:use-module (guix-config packages emacs) #:use-module (guix-config home services emacs) #:use-module (guix-config home services flatpak) #:use-module (guix-config home services secretsd) #:use-module (gnu home services niri) #:use-module (guix transformations) #:use-module (guix packages) #:use-module (gnu packages gimp) #:use-module (gnu packages inkscape) #:use-module (gnu home services dankmaterialshell) ) (define tune (options->transformation '((tune . "alderlake")))) (home-environment ;; Below is the list of packages that will show up in your ;; Home profile, under ~/.guix-home/profile. (packages (list git kitty btop fastfetch librewolf icecat vlc font-google-noto-emoji font-openmoji direnv (package (inherit neochat) (propagated-inputs (modify-inputs (package-propagated-inputs neochat) (append qtpositioning)))) birdtray nextcloud-client krita gimp inkscape icedove nautilus xournalpp)) ;; Below is the list of Home services. To search for available ;; services, run 'guix home search KEYWORD' in a terminal. (services (append (list (service home-dankmaterialshell-service-type (home-dankmaterialshell-configuration (launch-command (file-append niri "/bin/niri msg action spawn-sh --")))) (service home-niri-service-type) (service home-pipewire-service-type) (service home-wayland-service-type) (service home-dbus-service-type) (service home-bash-service-type (home-bash-configuration (environment-variables '(("EDITOR" . "emacsclient -c"))) (aliases '(("gs" . "git status") ("system-reconfigure" . "sudo -E guix time-machine -C ~/dotfiles/guix-config/channels-lock.scm -- system -L ~/dotfiles reconfigure ~/dotfiles/guix-config/system/$(hostname).scm") ("home-reconfigure" . "guix time-machine -C ~/dotfiles/guix-config/channels-lock.scm -- home -L ~/dotfiles reconfigure ~/dotfiles/guix-config/home/workstation.scm") ("guix-pull" . "guix pull --channels=$HOME/dotfiles/guix-config/channels.scm; guix describe --format=channels > $HOME/dotfiles/guix-config/channels-lock.scm") ("reconfigure" . "system-reconfigure && home-reconfigure") ("guix-full-upgrade" . "guix-pull && reconfigure"))) (bashrc (list (local-file "prompt.sh") (local-file "direnv.sh"))))) (service home-dotfiles-service-type (home-dotfiles-configuration (directories '("../../files")))) ;(service home-secretsd-service-type) ;(service home-flatpak-service-type ; (home-flatpak-configuration ; (apps '("in.cinny.Cinny")))) (service home-emacs-service-type (home-emacs-configuration (emacs (tune guixmacs)) (config-file (local-file "./emacs/config.el")) (early-config-file (local-file "./emacs/init.el"))))) %base-home-services)))