guixconfig/home/home-configuration.scm

328 lines
14 KiB
Scheme
Raw Normal View History

2023-11-28 21:38:47 +00:00
;; -*- 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.
2023-11-28 22:52:59 +00:00
(use-modules
(gnu packages)
2023-11-28 22:57:58 +00:00
(gnu packages gnupg)
2023-12-26 22:34:36 +00:00
(gnu packages shellutils)
2023-11-28 22:52:59 +00:00
(gnu services)
(guix gexp)
2023-11-28 22:57:35 +00:00
(guix channels)
2023-11-28 22:57:58 +00:00
(gnu home)
2023-11-28 22:56:18 +00:00
(gnu home services)
2023-11-28 22:58:39 +00:00
(gnu home services desktop)
2023-12-08 11:56:00 +00:00
(gnu home services gnupg)
2023-11-28 22:57:18 +00:00
(gnu home services guix)
2023-12-08 11:56:00 +00:00
(gnu home services mail)
2023-11-28 22:52:59 +00:00
(gnu home services mcron)
(gnu home services pm)
(gnu home services shells)
(gnu home services shepherd)
2024-01-17 19:58:45 +00:00
(gnu home services ssh)
(gnu home services syncthing))
2023-11-28 21:38:47 +00:00
(home-environment
2023-11-28 22:52:59 +00:00
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
2023-12-11 10:59:44 +00:00
(services
2023-12-18 00:05:20 +00:00
(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")
2024-01-23 09:00:23 +00:00
("XDG_CURRENT_DESKTOP" . "sway")
2023-12-18 00:05:20 +00:00
("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")
))
(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"))
2024-01-19 15:55:39 +00:00
("swaylock/config" ,(local-file "./swaylock/config"))
2024-01-30 22:58:37 +00:00
("swayidle/config" ,(local-file "./swayidle/config"))
2023-12-18 00:05:20 +00:00
("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"))
2023-12-26 22:34:36 +00:00
("liquidpromptrc" ,(local-file "./liquidprompt/liquidpromptrc"))
2023-12-18 00:05:20 +00:00
("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"))))
2024-01-17 19:58:45 +00:00
(service home-syncthing-service-type)
2023-12-18 00:05:20 +00:00
(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'")
2024-01-19 11:42:45 +00:00
("send-guix-patch-series" . "for FILE in `find . -name '00*.patch'`; do cat $FILE | msmtp -t; done")))
2023-12-18 00:05:20 +00:00
(bashrc
(list
(local-file
"./.bashrc"
2023-12-26 22:34:36 +00:00
"bashrc")
2024-01-24 15:10:24 +00:00
(mixed-text-file "liquidprompt"
"[ -z ${TMUX_PANE} ] && [[ $- = *i* ]] && source "
liquidprompt
2023-12-26 22:34:36 +00:00
"/share/liquidprompt/liquidprompt")
(mixed-text-file "liquidprompt-theme"
2024-01-24 15:10:24 +00:00
"[ -z ${TMUX_PANE} ] && [[ $- = *i* ]] && source "
2023-12-26 22:34:36 +00:00
liquidprompt
"/share/liquidprompt/themes/alternate_vcs/alternate_vcs.theme")))))
2023-12-18 00:05:20 +00:00
(service home-batsignal-service-type
(home-batsignal-configuration
(ignore-missing? #t)))
(service home-mcron-service-type
(home-mcron-configuration
(jobs
'())))
(simple-service 'ziltis-channels
home-channels-service-type
(list
(channel
(name 'ziltis-channel)
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
2023-12-22 13:59:57 +00:00
(channel
(name 'emacs-melpa)
(url "https://github.com/babariviere/guix-emacs")
(introduction
(make-channel-introduction
"72ca4ef5b572fea10a4589c37264fa35d4564783"
(openpgp-fingerprint
"261C A284 3452 FB01 F6DF 6CF4 F9B7 864F 2AB4 6F18"))))
2023-12-18 00:05:20 +00:00
(channel
(name 'nongnu-guix)
2024-01-17 19:58:45 +00:00
(url "https://gitlab.com/nonguix/nonguix")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))))
2023-12-18 18:31:02 +00:00
(simple-service 'ziltis-packages
home-profile-service-type
(specifications->packages
2024-01-17 19:58:45 +00:00
(list "bind:utils"
"bsd-games"
2023-12-18 18:31:02 +00:00
"bolt"
"browserpass-native"
"chicken"
"chicken-apropos"
"chicken-chicken-doc"
"chicken-srfi-18"
"curl"
"direnv"
"emacs-pgtk-xwidgets"
"entr"
"eternalterminal"
"diff-so-fancy"
"firefox"
"flatpak"
"font-libertinus"
"font-nerdfont-monaspice"
"fuzzel"
"fzf"
"gammastep"
2023-12-22 13:59:57 +00:00
"gash"
2023-12-18 18:31:02 +00:00
"grim"
"guile"
"glibc-locales"
"hstr"
"icecat"
"icedove-wayland"
"kitty"
"ksshaskpass"
2024-01-20 23:53:18 +00:00
"ledger"
2024-01-23 00:40:07 +00:00
"libaacs"
"libbdplus"
"libbluray"
2023-12-26 22:34:36 +00:00
"liquidprompt"
2023-12-18 18:31:02 +00:00
"make"
"nm-tray"
"nnn"
2023-12-20 16:21:33 +00:00
"nss-certs"
2023-12-19 15:57:08 +00:00
"nwg-displays"
2024-01-23 00:40:07 +00:00
"openjdk"
2023-12-18 18:31:02 +00:00
"openssh"
"password-store"
"pass-otp"
"pavucontrol"
"pinentry-qt"
"pipewire"
"pv"
"rsync"
2023-12-22 13:59:57 +00:00
"rust"
"rust-cargo"
2023-12-18 18:31:02 +00:00
"senpai"
"sideload"
"slurp"
;; "sponge" https://linux.die.net/man/1/sponge
"swappy"
"swayfx"
"swayidle"
"swaylock-effects"
2024-01-17 12:36:35 +00:00
"swaynotificationcenter"
2023-12-22 13:59:57 +00:00
"telegram-desktop"
2023-12-18 18:31:02 +00:00
"tig"
2024-01-17 19:58:45 +00:00
"tmate"
"tmux"
2023-12-22 13:59:57 +00:00
"tree-sitter"
2024-01-23 09:00:23 +00:00
"ungoogled-chromium-wayland"
2023-12-18 18:31:02 +00:00
"unzip"
"visidata"
"waybar"
2023-12-22 13:59:57 +00:00
"wireplumber-minimal"
2023-12-18 18:31:02 +00:00
"wlogout"
2023-12-22 13:59:57 +00:00
"xdg-desktop-portal"
2024-01-03 13:41:45 +00:00
"xdg-desktop-portal-wlr"
2023-12-22 13:59:57 +00:00
2024-01-05 14:31:18 +00:00
"emacs-adaptive-wrap"
"emacs-cape"
"emacs-catppuccin-theme"
2024-01-27 09:10:08 +00:00
"emacs-cider@1.13.0"
2024-01-05 14:31:18 +00:00
;;"emacs-code-review"
"emacs-color-theme-modern"
"emacs-consult-eglot"
"emacs-consult-notes"
"emacs-corfu"
"emacs-dhall-mode"
"emacs-editorconfig"
"emacs-eglot"
2023-12-22 13:59:57 +00:00
"emacs-el-patch"
2024-01-05 14:31:18 +00:00
"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"
2023-12-22 13:59:57 +00:00
"emacs-guix"
2024-01-05 14:31:18 +00:00
"emacs-highlight-parentheses"
"emacs-keychain-environment"
2024-01-20 23:53:18 +00:00
"emacs-ledger-mode"
2024-01-05 14:31:18 +00:00
"emacs-ligature"
"emacs-magit"
"emacs-magit-todos"
"emacs-marginalia"
"emacs-moe-theme"
"emacs-nerd-icons-completion"
"emacs-nerd-icons-corfu"
"emacs-orderless"
2023-12-22 13:59:57 +00:00
"emacs-org"
"emacs-org-modern"
"emacs-org-rainbow-tags"
2024-01-05 14:31:18 +00:00
"emacs-org-roam"
"emacs-org-roam-ui"
"emacs-paredit"
"emacs-paren-face"
"emacs-pass"
"emacs-seq"
"emacs-tempel"
"emacs-transient"
"emacs-tree-sitter"
2023-12-22 13:59:57 +00:00
"emacs-unicode-fonts"
2024-01-05 14:31:18 +00:00
"emacs-vertico"
2023-12-22 13:59:57 +00:00
"emacs-visual-fill-column"
2024-01-05 14:31:18 +00:00
"emacs-websocket"
2023-12-22 13:59:57 +00:00
"emacs-wgrep"
"emacs-which-key"
"emacs-xref-union"
"emacs-zig-mode"
2024-01-05 14:31:18 +00:00
;; "emacs-corfu-terminal"
2023-12-22 13:59:57 +00:00
)))
2023-12-18 00:05:20 +00:00
(service home-openssh-service-type
(home-openssh-configuration
(hosts
(list
2024-01-23 09:00:23 +00:00
(openssh-host
(name "*")
(identity-file "~/.ssh/redsky_do_rsa"))
2024-01-03 13:41:45 +00:00
(openssh-host
(name "git.sr.ht")
(host-name "git.sr.ht")
(user "git")
(identity-file "~/.ssh/personal_ed"))
2023-12-18 00:05:20 +00:00
(openssh-host
2023-12-19 15:57:08 +00:00
(name "gitlab.com")
(host-name "gitlab.com")
(user "git")
(identity-file "~/.ssh/personal_ed"))
(openssh-host
2023-12-18 00:05:20 +00:00
(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")))
2023-12-19 09:30:44 +00:00
(service home-dbus-service-type))))