(add-to-load-path "./services") (define-module (aisaka-home-configuration) #:use-module (gnu home) #:use-module (gnu home services) #:use-module (gnu home services shells) #:use-module (gnu packages) #:use-module (gnu services) #:use-module (guix gexp)) (define allow-downgrades "--allow-downgrades ") (define config-prefix "/home/marek/src/guix-config/") (define pull-guix "guix pull ") (define pull-guix- (string-append pull-guix allow-downgrades "--disable-authentication ")) (define guix-home "guix home reconfigure ") (define home-configuration "home-configuration.scm ") (define reconfigure-home (string-append guix-home config-prefix home-configuration)) (define reconfigure-home- (string-append reconfigure-home allow-downgrades)) (define guix-system "sudo guix system reconfigure ") (define system-configuration "system-configuration.scm ") (define reconfigure-system (string-append guix-system config-prefix system-configuration)) (define reconfigure-system- (string-append reconfigure-system allow-downgrades)) (define and "&& ") (define system-update (string-append pull-guix and reconfigure-system and reconfigure-home)) (define system-update- (string-append pull-guix- and reconfigure-system- and reconfigure-home-)) (home-environment (packages (map (compose list specification->package+output) '("adwaita-icon-theme" "alacritty" "clamav" "cpupower" "dconf-editor" "dmenu" "emacs" "emacs-aggressive-indent" "emacs-eldoc" "emacs-geiser" "emacs-geiser-guile" "emacs-nov-el" "emacs-org-contacts" "emacs-org-contrib" "font-google-noto" "git" "git-lfs" "gnome-tweaks" "gnupg" "guile" "guile-spec" "hicolor-icon-theme" "icecat" "jami" "libadwaita" "libreoffice" "nm-tray" "pwgen" "seahorse" "sicp" "strace" "unzip" "zip"))) (services (list (service (service-type (name 'flashrom-package) (extensions `(,(service-extension home-profile-service-type (lambda (_) (map specification->package '("flashrom")))))) (description "Flashrom installation.") (default-value #f))) (service (service-type (name 'org-fc-tn-package) (extensions (list (service-extension home-profile-service-type (lambda (_) (map specification->package (list "emacs-org-fc-tn")))))) (description "Custom version of ORG-FC.") (default-value #f))) (simple-service 'ssh-configuration* home-files-service-type `((".ssh/config" ,(local-file "ssh.config")))) (service (service-type (name 'trezor-user-packages) (extensions (list (service-extension home-profile-service-type (lambda (_) (map specification->package (list "trezor-agent")))))) (description "Trezor packages for the user.") (default-value #f))) (service home-bash-service-type (home-bash-configuration (environment-variables '(("EDITOR" . "emacs -nw") ;; ("LIBGL_ALWAYS_SOFTWARE" . "1") ("GUILE_AUTO_COMPILE" . "0"))) (aliases `(("grep" . "grep --color=auto ") ("ll" . "ls -l ") ("ls" . "ls -p --color=auto ") ("pull-guix" . ,pull-guix) ("pull-guix-" . ,pull-guix-) ("reconfigure-home" . ,reconfigure-home) ("reconfigure-home-" . ,reconfigure-home-) ("reconfigure-system" . ,reconfigure-system) ("reconfigure-system-" . ,reconfigure-system-) ("system-update" . ,system-update) ("system-update-" . ,system-update-))) (bashrc (list (plain-file "bashrc" "export LD_LIBRARY_PATH=$LIBRARY_PATH"))))) (simple-service 'configuration-files home-files-service-type `((".config/git/config" ,(plain-file "git-config" "\ [user] name = \"Marek Paśnikowski\" email = \"marekpasnikowski@protonmail.com\"\n")) (".emacs" ,(plain-file "emacs" "\ ;;; Disable auto-backup (setq-default make-backup-files nil) ;;; https://github.com/fimblo/dot.emacs ;;; Theme Activation (load-theme 'manoj-dark) ;;; https://elpa.gnu.org/packages/aggressive-indent.html ;;; Automatic Activation of Aggressive Indent (global-aggressive-indent-mode) ;; Highlight the pair of delimiters under the cursor (setq-default show-paren-mode 1 show-paren-delay 0) ;;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html ;;; Copyright Information (setq-default user-full-name \"Marek Paśnikowski\" user-mail-address \"marekpasnikowski@protonmail.com\") ;;; Startup Screen Inhibition (setq-default inhibit-startup-screen t) ;; Enable the column-80 line (setq-default display-fill-column-indicator 1 display-fill-column-indicator-column 80) (global-display-fill-column-indicator-mode) ;; Prepare Literate Programming (setq-default org-startup-indented t org-confirm-babel-evaluate nil org-src-fontify-natively t org-src-tab-acts-natively t) (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (scheme . t ) (shell . t ))) (add-to-list 'auto-mode-alist '(\"\\.epub\\'\" . nov-mode)) ;; Monospace Font in Ebook Reader (setq-default nov-variable-pitch nil) ;; Disable Toolbar (tool-bar-mode -1) ;; GNUS Configuration (setq-default gnus-auto-select-first nil gnus-select-method '(nnnil \"\") gnus-secondary-select-methods '((nnimap \"outlook\" (nnimap-address \"outlook.office365.com\") (nnimap-server-port 993) (nnimap-stream ssl) (nnimap-authinfo-file \"~/.authinfo\")) (nnimap \"home\" (nnimap-address \"serwer1930490.home.pl\") (nnimap-server-port 993) (nnimap-stream ssl) (nnimap-authinfo-file \"~/.authinfo\"))) nnmail-split-method 'nnmail-split-fancy nnmail-split-fancy '(| \"normal\")) (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) ;; Org Configuration (setq-default org-contacts-files '(\"~/Dokumenty/UWM/filia w Ełku/Samorząd 2022/starostowie.org\")) ;; ORG-FC Configuration (require 'org-fc-hydra) (setq-default org-fc-algorithm 'tn org-fc-directories '(\"~/Dokumenty/fiszki\"))\n")))))))