summaryrefslogtreecommitdiff
path: root/guix/home.scm
diff options
context:
space:
mode:
authorThanos Apollo <[email protected]>2024-05-10 09:11:37 +0300
committerThanos Apollo <[email protected]>2024-05-10 09:11:37 +0300
commit25d09ddb7a3ddbdf49cb62168a8ab5514651fe5a (patch)
tree0a671abc846a0baa42a1f096f970c13ec99a915d /guix/home.scm
parent9d258331dc840e17f26a1d1fadc31563c5b763d6 (diff)
Add guix configuration
Diffstat (limited to 'guix/home.scm')
-rw-r--r--guix/home.scm81
1 files changed, 81 insertions, 0 deletions
diff --git a/guix/home.scm b/guix/home.scm
new file mode 100644
index 0000000..b11fc4f
--- /dev/null
+++ b/guix/home.scm
@@ -0,0 +1,81 @@
+;; 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 services)
+ (guix gexp)
+ (gnu system)
+ (gnu home)
+ (gnu home services)
+ (gnu home services dotfiles)
+ (gnu home services shells)
+ (gnu home services desktop)
+ (gnu home services gnupg))
+
+(home-environment
+ ;; Below is the list of packages that will show up in your
+ ;; Home profile, under ~/.guix-home/profile.
+ ;; (packages
+ ;; (append (map specification->package
+ ;; '("emacs-pgtk" "aspell-dict-el"))))
+ ;; Below is the list of Home services. To search for available
+ ;; services, run 'guix home search KEYWORD' in a terminal.
+ (services
+ (list (service home-bash-service-type
+ (home-bash-configuration
+ (guix-defaults? #f)
+ (aliases '(("fanki" . "flatpak run net.ankiweb.Anki")
+ ("ga" . "git add")
+ ("gaa" . "git add .")
+ ("gc" . "git commit -m")
+ ("gp" . "git push -u origin")
+ ("gpd" . "git push -u origin developer")
+ ("gpm" . "git push -u origin master")
+ ("grep" . "grep --color=auto")
+ ("gs" . "git status")
+ ("klight" . "brightnessctl --device='\\''tpacpi::kbd_backlight'\\'' set 1")
+ ("ll" . "ls -lah --color")
+ ("logout" . "pkill -U $USER")
+ ("ls" . "ls --color")
+ ("o" . "emacsclient -n")
+ ("weather" . "curl wttr.in")
+ ("ytd" . "yt-dlp")
+ ("gx" . "guix")))
+ (bashrc (list (local-file "/home/thanos/dotfiles/bash-base.sh" #:recursive? #t)))))
+ ;; TODO: Rewrite this mess
+ (service home-xdg-configuration-files-service-type
+ `(("emacs/init.el" ,(local-file "../emacs.el"))
+ ("alacritty/alacritty.toml" ,(local-file "../alacritty.toml"))
+ ("sway/config" ,(local-file "../sway.config"))
+ ("waybar/config" ,(local-file "../waybar-config"))
+ ("waybar/style.css" ,(local-file "../waybar-style.css"))))
+ (service home-dotfiles-service-type
+ (home-dotfiles-configuration
+ (directories '("/home/thanos/dotfiles/"))
+ (excluded '(".*~" ".*\\.swp" "\\.git" "\\.gitignore" ".*emacs.el" "sway\\*" "waybar-config"
+ "alacritty.toml" "vimium-options.json" "waybar-style.css"
+ ".*bash" "README" "LICENSE" ".*\\.scm" "sway.config" ".stow-local-ignore"))))
+ ;; Env variables
+ (simple-service 'profile-service-type
+ home-environment-variables-service-type
+ '(("VISUAL" . "emacsclient")
+ ("EDITOR" . "emacsclient")
+ ("GTK_THEME" . "Adwaita-dark")
+ ("XDG_CURRENT_DESKTOP" . "sway")
+ ("XDG_SESSION_TYPE" . "wayland")
+ ("PATH" . "/home/$USER/.local/bin:$PATH")
+ ("XDG_DATA_DIRS" . "$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share")))
+ ;; GPG Configuration
+ (service home-gpg-agent-service-type
+ (home-gpg-agent-configuration
+ (pinentry-program
+ (file-append pinentry-gtk2 "/bin/pinentry-gtk-2"))
+ (ssh-support? #t)
+ (default-cache-ttl 28800)
+ (max-cache-ttl 28800)
+ (default-cache-ttl-ssh 28800)
+ (max-cache-ttl-ssh 28800))))))