121 lines
4.3 KiB
Scheme
121 lines
4.3 KiB
Scheme
(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)))
|