From 27e912d9a1e88b41e2afa577f4cbadfb007b2e0e Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 8 Feb 2024 05:36:17 +0100 Subject: [PATCH] docs(Emacs elisp, misc): migrate custom functions to package --- docs/emacs/custom-elisp.org | 30 ++---------------------------- docs/emacs/packages/misc.org | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/docs/emacs/custom-elisp.org b/docs/emacs/custom-elisp.org index 0b374bb..8f9d4fc 100644 --- a/docs/emacs/custom-elisp.org +++ b/docs/emacs/custom-elisp.org @@ -40,34 +40,8 @@ APPEND and COMPARE-FN, see `add-to-list'." #+end_src ** Generate and insert random passwords -#+begin_src emacs-lisp -(defun my/generate-password (nb-chars) - "Generate an alphanumeric password of NB-CHARS." - (shell-command-to-string - (concat "tr -dc 'A-Za-z0-9!@#$%^&*' < /dev/urandom | head -c " - (number-to-string nb-chars)))) -#+end_src - -#+begin_src emacs-lisp -(defun my/copy-generated-password (&optional prefix) - (interactive "P") - (kill-new - (my/generate-password (if prefix - (string-to-number - (completing-read "Amount of characters: " nil)) - 32)))) -#+end_src - -#+begin_src emacs-lisp -(defun my/insert-generated-password (&optional prefix) - (interactive "P") - (insert - (my/generate-password (if prefix - (string-to-number - (completing-read "Amount of characters: " - nil)) - 32)))) -#+end_src +These functions got replaced by my custom package, see [[file:./misc.md#password-generator][Password +generator]]. ** Handle new windows The two functions below allow the user to not only create a new window diff --git a/docs/emacs/packages/misc.org b/docs/emacs/packages/misc.org index ee15174..639e74c 100644 --- a/docs/emacs/packages/misc.org +++ b/docs/emacs/packages/misc.org @@ -244,6 +244,20 @@ and builds a heatmap out of it. "Main Page")))) ; Default page #+end_src +** Password generator +I used to have some simple Elisp functions in my config that would +generate passwords on the fly, but they were a bit too limited in my +opinion. So instead, I went on to create a full package that would +help me create one from a transient menu with enough options for my +liking. +#+begin_src emacs-lisp +(use-package password-gen + :straight (password-gen :build t + :type git + :repo "https://labs.phundrak.com/phundrak/password-gen.el.git") + :defer t) +#+end_src + ** Pinentry I like to use Emacs as my pinentry program. Mainly because it’s the easiest way for me to type then when I’m SSHing into my machine, but