dotfiles/guix-config/home/workstation.scm

107 lines
3.6 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 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 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))
(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
;birdtray
nextcloud-client
nautilus
xournalpp
quickshell
cava
wl-clipboard
cliphist
brightnessctl
qtmultimedia
`(,glib "bin")
matugen
dgop
wayland
xwayland-satellite
qtwayland))
;; 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-niri-service-type)
(service home-pipewire-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")))))
(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 guixmacs)
(config-file
(local-file "./emacs/config.el"))
(early-config-file
(local-file "./emacs/init.el")))))
%base-home-services)))