summaryrefslogtreecommitdiff
path: root/guix/home.scm
diff options
context:
space:
mode:
authorThanos Apollo <[email protected]>2024-05-13 08:42:44 +0300
committerThanos Apollo <[email protected]>2024-05-13 08:42:44 +0300
commit2e74d58a4f675b5301e69cae105503198d7ff846 (patch)
treee92cca5c6406898e9ac1eae08653d894c24e3acf /guix/home.scm
parentb6d164b032b255767b04a73e8ac0e04b61991048 (diff)
parent5d6840de02f01c017cc1ce99238d6962331087da (diff)
Merge branch 'guix-config'
Diffstat (limited to 'guix/home.scm')
-rw-r--r--guix/home.scm84
1 files changed, 84 insertions, 0 deletions
diff --git a/guix/home.scm b/guix/home.scm
new file mode 100644
index 0000000..08fd7ce
--- /dev/null
+++ b/guix/home.scm
@@ -0,0 +1,84 @@
+;; 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 (specifications->packages
+ (list "anki" "qtwebengine" "aspell-dict-el" "perl" "tree"
+ "font-iosevka-aile" "font-jetbrains-mono" "mu" "hyfetch"
+ "emacs-nov-el" "iptables" "emacs-yeetube" "syncthing"
+ "ungoogled-chromium" "emacs-pdf-tools" "python-lsp-server"
+ "transmission" "emacs-pgtk" "mpv" "yt-dlp" "icecat" "dino"
+ "0ad" "torbrowser" "emacs-elpy" "python-requests"
+ "python-mypy" "fuzzel" "alacritty" "wtype" "git" "emacs-geiser"
+ "emacs-geiser-guile" "sbcl" "curl" "libvterm" "emacs-vterm"
+ "inetutils" "emacs-jabber" "bind" "go" "nmap" "hunspell"
+ "hunspell-dict-en-us" "pinentry-emacs" "mlocate" "rsync"
+ "grimshot" "nyxt")))
+ ;; 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 '(("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)))))
+ (service home-dotfiles-service-type
+ (home-dotfiles-configuration
+ (directories '("/home/thanos/dotfiles/"))
+ (excluded '(".*~" ".*\\.swp" "\\.git" "\\.gitignore"
+ ".*emacs.el" "waybar-config" "vimium-options.json"
+ ".*bash" "README" "LICENSE" ".*\\.scm" "__pycache__" "bash-base.sh"))
+ (layout 'plain)))
+ ;; 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")
+ ("BROWSER" . "icecat")
+ ("XDG_SCREENSHOTS_DIR" . "/home/$USER/Pictures/screenshots/")
+ ("PATH" . "/home/$USER/.local/bin:$PATH")))
+ ;; 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))))))