335 lines
14 KiB
Scheme
335 lines
14 KiB
Scheme
;; -*- mode: guix-scheme -*-
|
|
;; 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.
|
|
|
|
(use-modules
|
|
(gnu packages)
|
|
(gnu packages gnupg)
|
|
(gnu packages linux)
|
|
(gnu packages shellutils)
|
|
(nongnu packages game-client)
|
|
(gnu services)
|
|
(guix gexp)
|
|
(guix channels)
|
|
(gnu home)
|
|
(gnu home services)
|
|
(gnu home services desktop)
|
|
(gnu home services gnupg)
|
|
(gnu home services guix)
|
|
(gnu home services mail)
|
|
(gnu home services mcron)
|
|
(gnu home services pm)
|
|
(gnu home services shells)
|
|
(gnu home services shepherd)
|
|
(gnu home services sound)
|
|
(gnu home services ssh)
|
|
(gnu home services syncthing))
|
|
|
|
(home-environment
|
|
;; Below is the list of Home services. To search for available
|
|
;; services, run 'guix home search KEYWORD' in a terminal.
|
|
(services
|
|
(list
|
|
(service home-shepherd-service-type)
|
|
(service home-msmtp-service-type
|
|
(home-msmtp-configuration
|
|
(default-account "LMail")
|
|
(accounts
|
|
(list
|
|
(msmtp-account
|
|
(name "LMail")
|
|
(configuration
|
|
(msmtp-configuration
|
|
(host "lyrion.ch")
|
|
(port 465)
|
|
(auth? #t)
|
|
(tls? #t)
|
|
(tls-starttls? #f)
|
|
(user "dziltener")
|
|
(from "dziltener@lyrion.ch")
|
|
(password-eval "pass Privat/Mailaccount | head -n 1"))))
|
|
(msmtp-account
|
|
(name "Red Sky")
|
|
(configuration
|
|
(msmtp-configuration
|
|
(host "gmail.com")
|
|
(port 587)
|
|
(auth? #t)
|
|
(tls? #t)
|
|
(tls-starttls? #f)
|
|
(user "dz@redsky.io")
|
|
(from "dziltener@lyrion.ch")
|
|
(password-eval "pass Privat/RedSkyGMail"))))))))
|
|
(simple-service 'ziltis-environment-variable-service
|
|
home-environment-variables-service-type
|
|
`(("PATH" . "$PATH:~/.local/bin")
|
|
("PASSWORD_STORE_DIR" . "$XDG_DATA_HOME/password-store")
|
|
("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$XDG_DATA_HOME/flatpak/exports/share")
|
|
("XDG_CURRENT_DESKTOP" . "sway")
|
|
("RTC_USE_PIPEWIRE" . "true")
|
|
("SSH_ASKPASS" . "ksshaskpass")
|
|
("ELM_DISPLAY" . "wl")
|
|
("SDL_VIDEODRIVER" . "wayland")
|
|
("MOZ_ENABLE_WAYLAND" . "1")
|
|
("SSL_CERT_FILE" . "$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt")
|
|
("CHICKEN_DOC_REPOSITORY" . "$XDG_DATA_HOME/chicken/doc")
|
|
;; ("CHICKEN_INSTALL_REPOSITORY" . "$XDG_DATA_HOME/chicken/eggs")
|
|
;; ("CHICKEN_REPOSITORY_PATH" . "$HOME/.guix-home/profile/var/lib/chicken/11/:$XDG_DATA_HOME/chicken/eggs")
|
|
;; ("CHICKEN_INSTALL_PREFIX" . "$HOME/.local")
|
|
("XCURSOR_SIZE" . "48")
|
|
))
|
|
(simple-service 'ziltis-home-files-service
|
|
home-files-service-type
|
|
`(#;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf"))))
|
|
(simple-service 'ziltis-xdg-configuration-files-service
|
|
home-xdg-configuration-files-service-type
|
|
`(("sway/config" ,(local-file "./sway/sway"))
|
|
("swaylock/config" ,(local-file "./swaylock/config"))
|
|
("swayidle/config" ,(local-file "./swayidle/config"))
|
|
("waybar/config" ,(local-file "./waybar/config"))
|
|
("waybar/style.css" ,(local-file "./waybar/style.css"))
|
|
("fuzzel/fuzzel.ini" ,(local-file "./fuzzel/fuzzel.ini"))
|
|
("git/config" ,(local-file "./git/config"))
|
|
("liquidpromptrc" ,(local-file "./liquidprompt/liquidpromptrc"))
|
|
("emacs/init.el" ,(local-file "./emacs/init.el"))
|
|
("emacs/early-init.el" ,(local-file "./emacs/early-init.el"))
|
|
("emacs/init.org" ,(local-file "./emacs/init.org"))
|
|
("emacs/templates" ,(local-file "./emacs/templates"))
|
|
("kitty/kitty.conf" ,(local-file "./kitty/kitty.conf"))
|
|
("senpai/senpai.scfg" ,(local-file "./senpai/senpai.scfg"))
|
|
("xdg-desktop-portal-wlr/config" ,(local-file "./xdg-desktop-portal-wlr/config"))))
|
|
(service home-syncthing-service-type)
|
|
(service home-bash-service-type
|
|
(home-bash-configuration
|
|
(aliases
|
|
'(("hh" . "hstr")
|
|
("l" . "ls -alh")
|
|
("ll" . "ls -l")
|
|
("ls" . "ls --color=tty")
|
|
("create-guix-patch" . "git format-patch --minimal --to guix-patches@gnu.org --cc dziltener@lyrion.ch --inline --no-attach master; ls *.patch | xargs sed -i '1d'")
|
|
("send-guix-patch-series" . "for FILE in `find . -name '00*.patch'`; do cat $FILE | msmtp -t; done")))
|
|
(bashrc
|
|
(list
|
|
(local-file
|
|
"./.bashrc"
|
|
"bashrc")
|
|
(mixed-text-file "liquidprompt"
|
|
"[ -z ${TMUX_PANE} ] && [[ $- = *i* ]] && source "
|
|
liquidprompt
|
|
"/share/liquidprompt/liquidprompt")
|
|
(mixed-text-file "liquidprompt-theme"
|
|
"[ -z ${TMUX_PANE} ] && [[ $- = *i* ]] && source "
|
|
liquidprompt
|
|
"/share/liquidprompt/themes/alternate_vcs/alternate_vcs.theme")))))
|
|
(service home-batsignal-service-type
|
|
(home-batsignal-configuration
|
|
(ignore-missing? #t)))
|
|
(service home-mcron-service-type
|
|
(home-mcron-configuration
|
|
(jobs
|
|
'())))
|
|
(simple-service 'ziltis-packages
|
|
home-profile-service-type
|
|
(specifications->packages
|
|
(list "bind:utils"
|
|
"bsd-games"
|
|
"bolt"
|
|
"browserpass-native"
|
|
"chicken"
|
|
"chicken-apropos"
|
|
"chicken-chicken-doc"
|
|
"chicken-srfi-18"
|
|
"curl"
|
|
"deluge"
|
|
"direnv"
|
|
"emacs-pgtk-xwidgets"
|
|
"emacs-desktop-environment"
|
|
"entr"
|
|
"eternalterminal"
|
|
"diff-so-fancy"
|
|
"firefox"
|
|
"flatpak"
|
|
"font-libertinus"
|
|
"font-nerdfont-monaspice"
|
|
"font-nerdfont-iosevka-term-slab"
|
|
"fuzzel"
|
|
"fzf"
|
|
"gammastep"
|
|
"gash"
|
|
"grim"
|
|
"guile"
|
|
"glibc-locales"
|
|
"hstr"
|
|
"hyprcursor"
|
|
"hyprpaper"
|
|
"hypridle"
|
|
"hyprlock"
|
|
"icecat"
|
|
"icedove-wayland"
|
|
"kitty"
|
|
"ksshaskpass"
|
|
"kwayland-integration"
|
|
"le-certs"
|
|
"ledger"
|
|
"libaacs"
|
|
"libbdplus"
|
|
"libbluray"
|
|
"liquidprompt"
|
|
"libsecret"
|
|
"make"
|
|
"nix"
|
|
"nm-tray"
|
|
"nnn"
|
|
"nss-certs"
|
|
"nwg-displays"
|
|
"okular"
|
|
"openssh"
|
|
"password-store"
|
|
"pass-otp"
|
|
"pavucontrol"
|
|
"perl-mozilla-ca"
|
|
"pinentry-qt"
|
|
"plasma-wayland-protocols"
|
|
"process-compose"
|
|
"qt5ct"
|
|
"qtwayland@5.15.10"
|
|
"pv"
|
|
"rsync"
|
|
"rust"
|
|
"rust-cargo"
|
|
"sddm"
|
|
"senpai"
|
|
"sideload"
|
|
"slurp"
|
|
"sshfs"
|
|
"steam"
|
|
;; "sponge" https://linux.die.net/man/1/sponge
|
|
"swappy"
|
|
"swayidle"
|
|
"swaylock-effects"
|
|
"swaynotificationcenter"
|
|
"telegram-desktop"
|
|
"tig"
|
|
"tmate"
|
|
"tmux"
|
|
"tree-sitter"
|
|
"ungoogled-chromium-wayland"
|
|
"unzip"
|
|
"virt-manager"
|
|
"visidata"
|
|
"waybar"
|
|
"wlogout"
|
|
"xdg-dbus-proxy"
|
|
"xdg-utils"
|
|
|
|
"emacs-adaptive-wrap"
|
|
"emacs-adoc-mode"
|
|
"emacs-cape"
|
|
"emacs-catppuccin-theme"
|
|
"emacs-cider@1.13.0"
|
|
;;"emacs-code-review"
|
|
"emacs-color-theme-modern"
|
|
"emacs-consult-eglot"
|
|
"emacs-consult-notes"
|
|
"emacs-corfu"
|
|
"emacs-dhall-mode"
|
|
"emacs-editorconfig"
|
|
"emacs-eglot"
|
|
"emacs-el-patch"
|
|
"emacs-embark-consult"
|
|
"emacs-envrc"
|
|
"emacs-evil"
|
|
"emacs-evil-collection"
|
|
"emacs-evil-easymotion"
|
|
"emacs-evil-snipe"
|
|
"emacs-forge"
|
|
"emacs-geiser"
|
|
"emacs-geiser-chicken"
|
|
"emacs-geiser-guile"
|
|
"emacs-git-gutter"
|
|
"emacs-goto-chg"
|
|
"emacs-guix"
|
|
"emacs-highlight-parentheses"
|
|
"emacs-keychain-environment"
|
|
"emacs-ledger-mode"
|
|
"emacs-ligature"
|
|
"emacs-magit"
|
|
"emacs-magit-todos"
|
|
"emacs-marginalia"
|
|
"emacs-moe-theme"
|
|
"emacs-nerd-icons-completion"
|
|
"emacs-nerd-icons-corfu"
|
|
"emacs-orderless"
|
|
"emacs-org"
|
|
"emacs-org-modern"
|
|
"emacs-org-rainbow-tags"
|
|
"emacs-org-roam"
|
|
"emacs-org-roam-ui"
|
|
"emacs-paredit"
|
|
"emacs-paren-face"
|
|
"emacs-pass"
|
|
"emacs-pinentry"
|
|
"emacs-seq"
|
|
"emacs-tempel"
|
|
"emacs-transient"
|
|
"emacs-tree-sitter"
|
|
"emacs-unicode-fonts"
|
|
"emacs-vertico"
|
|
"emacs-visual-fill-column"
|
|
"emacs-websocket"
|
|
"emacs-wgrep"
|
|
"emacs-which-key"
|
|
"emacs-xref-union"
|
|
"emacs-zig-mode"
|
|
;; "emacs-corfu-terminal"
|
|
)))
|
|
(service home-openssh-service-type
|
|
(home-openssh-configuration
|
|
(add-keys-to-agent "yes")
|
|
;(extra-content "IdentityAgent /run/user/1000/gnupg/S.gpg-agent.ssh")
|
|
(hosts
|
|
(list
|
|
(openssh-host
|
|
(name "*")
|
|
(identity-file "~/.ssh/redsky_do_rsa"))
|
|
(openssh-host
|
|
(name "git.sr.ht")
|
|
(host-name "git.sr.ht")
|
|
(user "git")
|
|
(identity-file "~/.ssh/personal_ed"))
|
|
(openssh-host
|
|
(name "gitlab.com")
|
|
(host-name "gitlab.com")
|
|
(user "git")
|
|
(identity-file "~/.ssh/personal_ed"))
|
|
(openssh-host
|
|
(name "github.com")
|
|
(host-name "github.com")
|
|
(user "git")
|
|
(identity-file "~/.ssh/personal_ed"))
|
|
(openssh-host
|
|
(name "www.opencode.net")
|
|
(host-name "www.opencode.net")
|
|
(user "git")
|
|
(identity-file "~/.ssh/personal_ed"))
|
|
(openssh-host
|
|
(name "gitea.lyrion.ch")
|
|
(host-name "gitea.lyrion.ch")
|
|
(user "git")
|
|
(port 7920)
|
|
(identity-file "~/.ssh/personal_ed"))))))
|
|
(service home-gpg-agent-service-type
|
|
(home-gpg-agent-configuration
|
|
(pinentry-program
|
|
(file-append pinentry-qt "/bin/pinentry-qt"))
|
|
(ssh-support? #t)
|
|
(default-cache-ttl 7200)
|
|
(default-cache-ttl-ssh 7200)
|
|
(extra-content "grab\nallow-emacs-pinentry\nallow-loopback-pinentry\n")))
|
|
(service home-dbus-service-type)
|
|
(service home-pipewire-service-type
|
|
(home-pipewire-configuration
|
|
(wireplumber wireplumber-minimal))))))
|