6.6 KiB
6.6 KiB
A semi-literate config for GUIX home
- generate config with
org-babel-tangle
(bound toC-c C-v t
) - rebuild with
guix home reconfigure home-configuration.scm
(or similar)
header
generate a header and timestamp if required
echo ";; -*- mode: scheme; coding: utf-8; -*-
;;
;; tangled from home-configuration.org on `date --rfc-3339 seconds`)"
<<timestamp()>>
use-modules
(use-modules (gnu)
(gnu services)
(gnu packages)
(gnu packages gnupg)
(gnu packages shells)
(gnu home)
(gnu home services)
(gnu home services guix)
(gnu home services shells)
(gnu home services dotfiles)
(gnu home services desktop)
(gnu home services sound)
(gnu home services gnupg)
(guix channels) (guix gexp))
home environment
packages
Packages that will show up in the home profile under ~/.guix-home/profile
(home-environment
(packages (specifications->packageslist (
generally useful
"nordic-theme"
"firefox"
"emacs-guix"
"emacs-next"
"libreoffice"
"rsync"
;; "nyxt"
"python"
"git"
"gnupg"
"crda"
"htop"
"tree"
"password-store"
KDE packages
"kmail"
"krunner"
"akonadi"
terminal
kitty config is in dotfiles/kitty/kitty.conf
;; "kitty-next"
"kitty"
"getmail6"
"notmuch"
graphics
"scribus"
"inkscape"
"gimp"
"imagemagick"
music, sound & noise
"supercollider"
"tidal"
"ardour"
"audacity"
"qpwgraph"
network & interconnect
"nextcloud-client"
Hardware
"lm-sensors"
"dmidecode"
"lshw"
"hwinfo"
"acpi"
;; end packages )))
services
The list of home services. To search for available services run guix home search KEYWORD
in a terminal.
(serviceslist (
channels
Additional channels → nonguix (aka “The GUIX Channel That Shall Not Be Named”) & zzkt (local particulars)
(simple-service 'variant-packages-service
home-channels-service-typelist
(
(channel
(name 'nonguix)"https://gitlab.com/nonguix/nonguix")
(url "master")
(branch
(introduction
(make-channel-introduction"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'zzkt)"https://gitlab.com/zzkt/guix")
(url "endless")
(branch
(commit"ef1868ed9bdcf1a49771442e405bd88207b3ab0c")
(introduction
(make-channel-introduction"fc0ada85de1980e1fc9ee50672d827c0c17c3e7d"
(openpgp-fingerprint"24A7 4604 91E6 A60F 5BB4 A00F 989F 5E6E DB47 8160"))))))
environment / variables
(simple-service 'variant-env-vars-service
home-environment-variables-service-type"GUIX_LOCPATH" . "$HOME/.guix-profile/lib/locale")
`(("NOTMUCH_PROFILE" . "$XDG_CONFIG_HOME/notmuch/notmuch.conf")
("LD_LIBRARY_PATH" . "$HOME/.guix-profile/lib")
("GPG_TTY" . "tty")
("SHELL" . ,(file-append zsh "/bin/zsh")))) (
zsh shell
zsh (and/or completions and/or help-guix)
$fpath
contains /run/current-system/profile/share/zsh/site-functions
(service home-zsh-service-type
(home-zsh-configuration;; configs in $XDG_CONFIG_HOME/zsh
#t)
(xdg-flavor?
(environment-variables"HISTFILE" . "$XDG_CONFIG_HOME/zsh/.history")
'(("HISTSIZE" . "800000")
("SAVEHIST" . "800000")))
(
(zshenvlist (local-file ".zshenv" "zshenv")))
(
(zshrclist (local-file ".zshrc" "zshrc"))))) (
gnupg
(service home-gpg-agent-service-type
(home-gpg-agent-configuration
(pinentry-program"/bin/pinentry-qt"))
(file-append pinentry-qt #t))) (ssh-support?
dotfiles
(see guix docs)
(service home-dotfiles-service-type
(home-dotfiles-configurationlist "dotfiles")))) (directories (
ssh & sundry
(see also guix manual)
;; ssh config in 'dotfiles'
sound
via pipewire which requires dbus (see also guix manual)
(service home-dbus-service-type)
(service home-pipewire-service-type
(home-pipewire-configuration#t))) (enable-pulseaudio?
fonts
( see -> https://guix.gnu.org/manual/devel/en/html_node/Fonts-Home-Services.html)
;; end services ))
FIN
;; end home-environment )