removed result from elisp code, added rofi-pass utility
This commit is contained in:
parent
f1d40e2b1c
commit
58699da8ff
@ -52,12 +52,13 @@
|
|||||||
- [[#polybar-launch][Polybar-launch]]
|
- [[#polybar-launch][Polybar-launch]]
|
||||||
- [[#rofi-mount][Rofi-mount]]
|
- [[#rofi-mount][Rofi-mount]]
|
||||||
- [[#get-the-mountable-elements][Get the mountable elements]]
|
- [[#get-the-mountable-elements][Get the mountable elements]]
|
||||||
- [[#get-the-drive-to-mount][Get the drive to mount]]
|
- [[#get-the-mount-point][Get the mount point]]
|
||||||
- [[#mount-a-usb-drive-hard-drive-or-partition][Mount a USB drive, hard drive or partition]]
|
- [[#mount-a-usb-drive-hard-drive-or-partition][Mount a USB drive, hard drive or partition]]
|
||||||
- [[#mount-an-android-device][Mount an Android device]]
|
- [[#mount-an-android-device][Mount an Android device]]
|
||||||
- [[#mount-a-cd-drive][Mount a CD drive]]
|
- [[#mount-a-cd-drive][Mount a CD drive]]
|
||||||
- [[#ask-what-type-of-drive-we-want-to-mount][Ask what type of drive we want to mount]]
|
- [[#ask-what-type-of-drive-we-want-to-mount][Ask what type of drive we want to mount]]
|
||||||
- [[#launch-the-mounting-functions][Launch the mounting functions]]
|
- [[#launch-the-mounting-functions][Launch the mounting functions]]
|
||||||
|
- [[#rofi-pass][Rofi-pass]]
|
||||||
- [[#rofi-umount][Rofi-umount]]
|
- [[#rofi-umount][Rofi-umount]]
|
||||||
- [[#get-the-unmountable-drives][Get the unmountable drives]]
|
- [[#get-the-unmountable-drives][Get the unmountable drives]]
|
||||||
- [[#unmount-disk-partitions][Unmount disk partitions]]
|
- [[#unmount-disk-partitions][Unmount disk partitions]]
|
||||||
@ -83,7 +84,7 @@
|
|||||||
|
|
||||||
Please do not forget to run the following before tangling files from this file
|
Please do not forget to run the following before tangling files from this file
|
||||||
to make sure the tangled files will be executables.
|
to make sure the tangled files will be executables.
|
||||||
#+begin_src emacs-lisp :exports code
|
#+begin_src emacs-lisp :exports code :results silent
|
||||||
(defun phundrak/make-tangled-files-executable ()
|
(defun phundrak/make-tangled-files-executable ()
|
||||||
(set-file-modes (buffer-file-name) #o755))
|
(set-file-modes (buffer-file-name) #o755))
|
||||||
(add-hook 'org-babel-post-tangle-hook 'phundrak/make-tangled-files-executable)
|
(add-hook 'org-babel-post-tangle-hook 'phundrak/make-tangled-files-executable)
|
||||||
@ -422,12 +423,12 @@
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Now, we want to declare where to look for mount directories. For now, we’ll
|
Now, we want to declare where to look for mount directories. For now, we’ll
|
||||||
only look in =/mnt=, but you can add more if you wish.
|
only look in =/media=, but you can add more if you wish.
|
||||||
#+BEGIN_SRC fish
|
#+BEGIN_SRC fish
|
||||||
set -g basemount /mnt
|
set -g basemount /media
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Get the drive to mount
|
** Get the mount point
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: h-a17825bd-96e2-4c90-99ef-b0f2895cffb6
|
:CUSTOM_ID: h-a17825bd-96e2-4c90-99ef-b0f2895cffb6
|
||||||
:END:
|
:END:
|
||||||
@ -743,6 +744,47 @@
|
|||||||
|
|
||||||
And with that, this is the end of our script!
|
And with that, this is the end of our script!
|
||||||
|
|
||||||
|
* Rofi-pass
|
||||||
|
:PROPERTIES:
|
||||||
|
:HEADER-ARGS: :tangle rofi-pass :exports code
|
||||||
|
:CUSTOM_ID: h-a52876ed-351b-400a-b250-d93aab27e0c8
|
||||||
|
:END:
|
||||||
|
=rofi-pass= is a simple utility that gets a password stored in the [[https://www.passwordstore.org/][=pass=]]
|
||||||
|
password manager with rofi as its interface, and then stores the password in
|
||||||
|
the clipboard. It is a fish script, so let’s declare it as one.
|
||||||
|
#+BEGIN_SRC fish
|
||||||
|
#!/usr/bin/env fish
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
Now, let’s get the list of the passwords that exist in our =pass= repository.
|
||||||
|
#+BEGIN_SRC fish
|
||||||
|
set passwords (find $HOME/.password-store -type f -name "*.gpg" | \
|
||||||
|
string replace -r ".*.password-store/" "" | \
|
||||||
|
string replace -r ".gpg" "" | sort)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
Let the user choose which password they wish to select.
|
||||||
|
#+BEGIN_SRC fish
|
||||||
|
set password (for elem in $passwords
|
||||||
|
echo $elem
|
||||||
|
end | rofi -dmenu -i -p "Select your password")
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
Let’s verify we actually selected a password and not just exited. If no
|
||||||
|
password was selected, let’s simply exit the script.
|
||||||
|
#+BEGIN_SRC fish
|
||||||
|
if test -z $password
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
Finally, let’s copy the password for 45 seconds in the clipboard.
|
||||||
|
#+BEGIN_SRC fish
|
||||||
|
pass show -c $password 2> /dev/null
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
And we’re done!
|
||||||
|
|
||||||
* Rofi-umount
|
* Rofi-umount
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: h-68a1f671-5dc6-4120-81c8-c94fffa7d7a3
|
:CUSTOM_ID: h-68a1f671-5dc6-4120-81c8-c94fffa7d7a3
|
||||||
|
15
.local/bin/rofi-pass
Executable file
15
.local/bin/rofi-pass
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
set passwords (find $HOME/.password-store -type f -name "*.gpg" | \
|
||||||
|
string replace -r ".*.password-store/" "" | \
|
||||||
|
string replace -r ".gpg" "" | sort)
|
||||||
|
|
||||||
|
set password (for elem in $passwords
|
||||||
|
echo $elem
|
||||||
|
end | rofi -dmenu -i -p "Select your password")
|
||||||
|
|
||||||
|
if test -z $password
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
|
pass show -c $password 2> /dev/null
|
Loading…
Reference in New Issue
Block a user