From 7cd33caf08e133bfb0408d603014983311ee96b1 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 2 Sep 2023 22:15:50 -0500 Subject: [PATCH] Emacs now respects name, username, and email from flake --- user/app/doom-emacs/config.el | 19 +++++++++---------- user/app/doom-emacs/doom.nix | 1 + user/app/doom-emacs/doom.org | 22 +++++++++++----------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 85e581b..b7fce09 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -3,7 +3,8 @@ ;;;------ User configuration ------;;; ;; Import relevant system variables from flake (see doom.nix) -;; includes variables like user-full-name, user-email-address, doom-font, and a few other custom variables I use later +;; includes variables like user-full-name, user-username, user-home-directory, user-email-address, doom-font, +;; and a few other custom variables I use later (load! "~/.emacs.d/system-vars.el") ;; custom variables include: ;; dotfiles-dir, absolute path to home directory @@ -178,11 +179,9 @@ :desc "Jump to register" "r" 'jump-to-register) -(set-register ?f '(file . "/home/emmet/Org/Family.s/Notes/hledger.org")) -(set-register ?h '(file . "/home/emmet")) -(set-register ?r '(file . "/home/emmet/.dotfiles/README.org")) -(set-register ?x '(file . "/home/emmet/.dotfiles/user/wm/xmonad/xmonad.org")) -(set-register ?d '(file . "/home/emmet/.dotfiles/user/app/doom-emacs/doom.org")) +(if (string= system-nix-profile "personal") (set-register ?f (cons 'file (concat user-home-directory "/Org/Family.s/Notes/hledger.org")))) +(set-register ?h (cons 'file user-home-directory)) +(set-register ?r (cons 'file (concat dotfiles-dir "/README.org"))) ;;;------ Org mode configuration ------;;; @@ -325,7 +324,7 @@ same directory as the org-buffer and insert a link to this file." (file-name-nondirectory (buffer-file-name)) "_" (format-time-string "%Y%m%d_%H%M%S_")) ) (file-name-extension template-file t))) - (copy-file (concat "/home/emmet/Templates/" template-file) filename) + (copy-file (concat user-home-directory "/Templates/" template-file) filename) (setq prettyname (read-from-minibuffer "Pretty name:")) (insert (concat "[[./files/" (file-name-nondirectory filename) "][" prettyname "]]")) (org-display-inline-images)) @@ -517,7 +516,7 @@ same directory as the org-buffer and insert a link to this file." (dolist (item full-org-roam-db-list) (setq full-org-roam-db-list-pretty (append (list - (replace-regexp-in-string "\\/home\\/emmet\\/Org\\/" "" item)) full-org-roam-db-list-pretty))) + (replace-regexp-in-string (concat "\\/home\\/" user-username "\\/Org\\/") "" item)) full-org-roam-db-list-pretty))) (defun org-roam-open-dashboard () "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" @@ -1018,7 +1017,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)." (add-to-list 'auto-mode-alist '("\\.journal\\'" . hledger-mode)) ;; The default journal location is too opinionated. -(setq hledger-jfile "/home/emmet/Org/Family.s/Notes/hledger.journal") +(setq hledger-jfile (concat user-home-directory "/Org/Family.s/Notes/hledger.journal")) ;;; Auto-completion for account names ;; For company-mode users: @@ -1104,7 +1103,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)." :hook (nix-mode . lsp-deferred) :ensure t) -(setq lsp-java-workspace-dir "/home/emmet/.local/share/doom/java-workspace") +(setq lsp-java-workspace-dir (concat user-home-directory "/.local/share/doom/java-workspace")) (require 'gdscript-mode) (use-package gdscript-mode diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix index 40cd904..1fa14c6 100644 --- a/user/app/doom-emacs/doom.nix +++ b/user/app/doom-emacs/doom.nix @@ -96,6 +96,7 @@ in ;; Import relevant variables from flake into emacs (setq user-full-name "''+name+''") ; name + (setq user-username "''+username+''") ; username (setq user-mail-address "''+email+''") ; email (setq user-home-directory "/home/''+username+''") ; absolute path to home directory as string (setq system-nix-profile "''+profile+''") ; what profile am I using? diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index c7d5ccd..2a28536 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -64,7 +64,8 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu ;;;------ User configuration ------;;; ;; Import relevant system variables from flake (see doom.nix) -;; includes variables like user-full-name, user-email-address, doom-font, and a few other custom variables I use later +;; includes variables like user-full-name, user-username, user-home-directory, user-email-address, doom-font, +;; and a few other custom variables I use later (load! "~/.emacs.d/system-vars.el") ;; custom variables include: ;; dotfiles-dir, absolute path to home directory @@ -242,11 +243,9 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu :desc "Jump to register" "r" 'jump-to-register) -(set-register ?f '(file . "/home/emmet/Org/Family.s/Notes/hledger.org")) -(set-register ?h '(file . "/home/emmet")) -(set-register ?r '(file . "/home/emmet/.dotfiles/README.org")) -(set-register ?x '(file . "/home/emmet/.dotfiles/user/wm/xmonad/xmonad.org")) -(set-register ?d '(file . "/home/emmet/.dotfiles/user/app/doom-emacs/doom.org")) +(if (string= system-nix-profile "personal") (set-register ?f (cons 'file (concat user-home-directory "/Org/Family.s/Notes/hledger.org")))) +(set-register ?h (cons 'file user-home-directory)) +(set-register ?r (cons 'file (concat dotfiles-dir "/README.org"))) #+END_SRC ** Org Mode Configuration @@ -400,7 +399,7 @@ same directory as the org-buffer and insert a link to this file." (file-name-nondirectory (buffer-file-name)) "_" (format-time-string "%Y%m%d_%H%M%S_")) ) (file-name-extension template-file t))) - (copy-file (concat "/home/emmet/Templates/" template-file) filename) + (copy-file (concat user-home-directory "/Templates/" template-file) filename) (setq prettyname (read-from-minibuffer "Pretty name:")) (insert (concat "[[./files/" (file-name-nondirectory filename) "][" prettyname "]]")) (org-display-inline-images)) @@ -639,7 +638,7 @@ exit (dolist (item full-org-roam-db-list) (setq full-org-roam-db-list-pretty (append (list - (replace-regexp-in-string "\\/home\\/emmet\\/Org\\/" "" item)) full-org-roam-db-list-pretty))) + (replace-regexp-in-string (concat "\\/home\\/" user-username "\\/Org\\/") "" item)) full-org-roam-db-list-pretty))) (defun org-roam-open-dashboard () "Open ${org-roam-directory}/dashboard.org (I use this naming convention to create dashboards for each of my org roam maps)" @@ -1190,7 +1189,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)." (add-to-list 'auto-mode-alist '("\\.journal\\'" . hledger-mode)) ;; The default journal location is too opinionated. -(setq hledger-jfile "/home/emmet/Org/Family.s/Notes/hledger.journal") +(setq hledger-jfile (concat user-home-directory "/Org/Family.s/Notes/hledger.journal")) ;;; Auto-completion for account names ;; For company-mode users: @@ -1344,7 +1343,7 @@ EAF doesn't work on Wayland :( :hook (nix-mode . lsp-deferred) :ensure t) -(setq lsp-java-workspace-dir "/home/emmet/.local/share/doom/java-workspace") +(setq lsp-java-workspace-dir (concat user-home-directory "/.local/share/doom/java-workspace")) (require 'gdscript-mode) (use-package gdscript-mode @@ -1599,7 +1598,7 @@ Any git package can be configured for a particular commit or branch: (package! async) #+END_SRC * Nix Integration -In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../home.nix][home.nix]]. +In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]]. #+BEGIN_SRC nix :tangle doom.nix { config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, theme, font, name, username, email, dotfilesDir, profile, wmType, ... }: let @@ -1699,6 +1698,7 @@ in ;; Import relevant variables from flake into emacs (setq user-full-name "''+name+''") ; name + (setq user-username "''+username+''") ; username (setq user-mail-address "''+email+''") ; email (setq user-home-directory "/home/''+username+''") ; absolute path to home directory as string (setq system-nix-profile "''+profile+''") ; what profile am I using?