Browse Source

Merge remote-tracking branch 'gh/master'

master
Yorick van Pelt 1 year ago
parent
commit
3216589f1f

+ 0
- 3
.gitmodules View File

@@ -1,3 +0,0 @@
1
-[submodule "pentadactyl/external/pentadactyl-solarized"]
2
-	path = pentadactyl/external/pentadactyl-solarized
3
-	url = https://github.com/claytron/pentadactyl-solarized

+ 5
- 0
emacs/emacs.org View File

@@ -165,6 +165,11 @@
165 165
 (put 'sfp-page-up 'isearch-scroll t)
166 166
 (put 'sfp-page-up 'CUA 'move)
167 167
 (setq scroll-error-top-bottom t)
168
+#+END_SRC
169
+** fix c-z
170
+#+BEGIN_SRC emacs-lisp
171
+(global-unset-key (kbd "C-z"))
172
+
168 173
 #+END_SRC
169 174
 ** Ivy
170 175
 #+BEGIN_SRC emacs-lisp

+ 2
- 0
git/.gitconfig View File

@@ -23,3 +23,5 @@
23 23
 	signingkey = A36E70F9DC014A15
24 24
 [help]
25 25
 	autocorrect = 5
26
+[includeIf "gitdir:~/serokell/"]
27
+path=~/serokell/.gitconfig

+ 1
- 0
gpg/.gnupg/gpg-agent.conf View File

@@ -1 +1,2 @@
1 1
 enable-ssh-support
2
+extra-socket /home/yorick/.gnupg/S.gpg-agent.extra

+ 4
- 4
i3/i3.nix View File

@@ -1,7 +1,7 @@
1 1
 {writeTextDir, writeScript, lib,
2
-rofi, xss-lock, nitrogen, compton-git,
3
-i3lock-color, xset, alsaUtils, light, screenshot_public, libinput-gestures,
4
-haskellPackages, polybar, 
2
+rofi, xss-lock, nitrogen, compton-git, i3status, i3-gaps,
3
+i3lock-color, xset, alsaUtils, light, screenshot_public, xorg, libinput-gestures,
4
+haskellPackages, polybar, rofi-pass,
5 5
 with_lock ? true, compton_name ? "default"}:
6 6
 
7 7
 let
@@ -184,7 +184,7 @@ bindsym XF86AudioRaiseVolume exec ${alsaUtils}/bin/amixer set Master 1%+
184 184
 bindsym XF86AudioMute exec ${alsaUtils}/bin/amixer set Master toggle
185 185
 bindsym $mod+Shift+s exec --no-startup-id ${screenshot_public}/bin/screenshot_public
186 186
 bindsym Print exec --no-startup-id ${screenshot_public}/bin/screenshot_public
187
-bindsym $mod+p exec --no-startup-id passmenu
187
+bindsym $mod+p exec --no-startup-id ${rofi-pass}/bin/rofi-pass
188 188
 workspace_auto_back_and_forth yes
189 189
 
190 190
 hide_edge_borders smart

+ 2
- 1
install.sh View File

@@ -1,4 +1,5 @@
1 1
 #!/usr/bin/env bash
2 2
 #!nix-shell -i bash -p stow
3
-$(nix-build '<nixpkgs>' -A stow --no-out-link)/bin/stow -d `dirname $0` -t ~ nix git x pentadactyl gtk gpg mutt misc bash stow
3
+set -e
4
+$(nix-build '<nixpkgs>' -A stow --no-out-link)/bin/stow -d `dirname $0` -t ~ nix git x gtk gpg mutt misc bash stow rofi
4 5
 nix build -f. $(hostname -s)

+ 10
- 0
misc/.ssh/config View File

@@ -39,3 +39,13 @@ Host asc_wh
39 39
     hostname 192.168.1.4
40 40
     ProxyJump yorick@woodhouse.onion
41 41
 
42
+Host skl_deployer
43
+    hostname deployer.serokell.team
44
+    RemoteForward /home/yorick/.aws/pass-socket /home/yorick/.aws/pass-socket
45
+    RemoteForward /home/yorick/.gnupg/S.gpg-agent /home/yorick/.gnupg/S.gpg-agent.extra
46
+   ForwardAgent yes
47
+Host skl_deployer_vbox
48
+    hostname 192.168.56.101
49
+    ForwardAgent yes
50
+    RemoteForward /home/yorick/.aws/pass-socket /home/yorick/.aws/pass-socket
51
+    RemoteForward /home/yorick/.gnupg/S.gpg-agent /home/yorick/.gnupg/S.gpg-agent.extra

+ 1
- 1
mutt/.mutt/creds View File

@@ -1,4 +1,4 @@
1
-set my_pass = "`gpg -q --no-tty --batch -d ~/.mutt/yorick_pass.gpg`""
1
+set my_pass = "`pass sysadmin/yori.ccMail | head -n1`"
2 2
 set spoolfile = "imaps://yorick:$my_pass@pennyworth.yori.cc/INBOX"
3 3
 set realname = "Yorick van Pelt"
4 4
 set from     = "Yorick van Pelt <yorick@yorickvanpelt.nl>"

BIN
mutt/.mutt/yorick_pass.gpg View File


+ 8
- 9
nix/.config/nixpkgs/overlays/05-envs.nix View File

@@ -16,8 +16,7 @@ in {
16 16
       xorg.xrandr
17 17
       pavucontrol
18 18
       light nitrogen
19
-      dropbox # really?
20
-      # wpa_supplicant_gui
19
+      # dropbox # really?
21 20
       xclip siji fira-mono playerctl font-awesome-ttf
22 21
       hs.arbtt
23 22
     ];
@@ -27,6 +26,7 @@ in {
27 26
     ];
28 27
     
29 28
     apps = mkEnv "y-apps" [
29
+      wpa_supplicant_gui
30 30
       gajim
31 31
       neomutt
32 32
       torbrowser
@@ -42,7 +42,6 @@ in {
42 42
       quasselClient
43 43
       leafpad
44 44
       calibre
45
-      wpa_supplicant_gui
46 45
       #py2.plover
47 46
       wireshark # meld
48 47
       discord
@@ -84,9 +83,9 @@ in {
84 83
       thefuck 
85 84
     ];
86 85
 
87
-    code = mkEnv "y-code" [
88
-      python gitAndTools.hub gnumake cloc silver-searcher gitFire gti
89
-    ];
86
+    code = mkEnv "y-code" (with gitAndTools; [
87
+      python3 git-crypt hub gnumake cloc silver-searcher gitFire gti gcc
88
+    ]);
90 89
     java = openjdk;
91 90
 
92 91
     games = mkEnv "y-games" [
@@ -95,7 +94,7 @@ in {
95 94
     ];
96 95
 
97 96
     js = mkEnv "y-jsdev" [
98
-      js.jshint nodejs-6_x electron js.node2nix
97
+      js.jshint nodejs electron js.node2nix
99 98
     ];
100 99
 
101 100
     pdf = mkEnv "y-pdf" [
@@ -110,8 +109,8 @@ in {
110 109
   # will remove all your previously installed nix-env stuff
111 110
   # so check with nix-env -q first
112 111
   hosts = with self; with self.envs; {
113
-    ascanius = [apps code de games envs.js pdf nix media gcc misc scripts coins myEmacs];
114
-    jarvis = [apps code de games envs.js pdf nix media gcc misc scripts myEmacs];
112
+    ascanius = [apps code de games envs.js pdf nix media misc scripts coins myEmacs];
113
+    jarvis = [apps code de games envs.js pdf nix media misc scripts myEmacs];
115 114
     woodhouse = [de media misc kodi chromium spotify];
116 115
     pennyworth = [];
117 116
     frumar = [bup gitAndTools.git-annex rtorrent pyroscope];

+ 2
- 2
nix/.config/nixpkgs/pkgs/ftb.nix View File

@@ -9,7 +9,7 @@ in
9 9
     name = "ftb-1.4.14";
10 10
     src = fetchurl {
11 11
         url = "http://ftb.cursecdn.com/FTB2/launcher/FTB_Launcher.jar";
12
-        sha256 = "1m2kyvq4fknr3ric5wwg55qzjqhpkjaq9zragsvippibg78w9hy4";
12
+        sha256 = "10ga4jgyfsj5dy4rj2rla0fpnfpnxv8r3bmxpqpwn7fsry4il79v";
13 13
     };
14 14
 
15 15
   phases = "installPhase";
@@ -32,4 +32,4 @@ in
32 32
       homepage = http://www.feed-the-beast.com;
33 33
       license = stdenv.lib.licenses.unfreeRedistributable;
34 34
   };
35
-}
35
+}

+ 0
- 29
pentadactyl/.pentadactylrc View File

@@ -1,29 +0,0 @@
1
-" vim: set ft=pentadactyl:ts=4:sw=4:tw=0:
2
-set runtimepath=~/dotfiles/pentadactyl,~/dotfiles/pentadactyl/external/pentadactyl-solarized
3
-colorscheme solarized-dark
4
-
5
-set go+=N
6
-
7
-source ~/dotfiles/pentadactyl/user.css
8
-
9
-" feedly:
10
-group -description 'Feedly' -locations=feedly.com feedly
11
-nmap -group feedly gm <Pass>
12
-nmap -group feedly ga <Pass>
13
-nmap -group feedly gg <Pass>
14
-nmap -group feedly gl <Pass>
15
-
16
-set passkeys+=feedly.com:"r/jknpv<S-j><S-m>mxs<S-v>"
17
-
18
-" github:
19
-set passkeys+=github.com:"<CR>r?jks"
20
-
21
-" reddit:
22
-set passkeys+=reddit.com:"jk[]azp?.srfF"
23
-
24
-
25
-com -d "Delete duplicate tabs" tabcloseduplicates,tabclosed -js let seen={},vtabs=tabs.visibleTabs,i=vtabs.length;while(i--){let loc=vtabs[i].linkedBrowser.contentDocument.location.href||"";if(Object.prototype.hasOwnProperty.call(seen, loc)){config.tabbrowser.removeTab(vtabs[i]);}else{seen[loc]=true;}}
26
-
27
-
28
-" Open the current URL as an argument to mpv.
29
-nmap <S-u> -e :launchv

+ 0
- 3
pentadactyl/.stow-local-ignore View File

@@ -1,3 +0,0 @@
1
-external
2
-plugins
3
-user.css

+ 0
- 1
pentadactyl/external/pentadactyl-solarized

@@ -1 +0,0 @@
1
-Subproject commit bf2d2e5d65cc97a11f0e2ca4c06d8041652c9fef

+ 0
- 47
pentadactyl/plugins/launchv.js View File

@@ -1,47 +0,0 @@
1
-/* ~/.config/pentadactyl/plugins/launchv.js
2
-
3
-    From Earnestly.
4
-
5
-    Quick function to help reduce duplication in my config, thanks mostly to
6
-    holomorph who started pretty much all of this.
7
-
8
-    Requires: livestreamer, mpv, youtube-dl.
9
-
10
-    Command:
11
-    * :launchv  Attempts to start the current buffer URL as a video.
12
-
13
-    Hint:
14
-    * ;q        Likewise but for the selected hint.
15
-*/
16
-
17
-function launchv(target){
18
-    // Escape anything which could be used to inject shell commands before
19
-    // passing it to the commands.
20
-    var uri = target.replace(/([$`"\\])/g, "\\$1");
21
-    var mpv = "mpv --loop-file --cache-file=TMP";
22
-
23
-    function exec(launcher, uri){
24
-        // If we're using pentadactyl then echo the action as io.system won't.
25
-        if(typeof dactyl !== "undefined")
26
-            dactyl.echomsg("Executing: " + launcher + " \"" + uri + "\"");
27
-
28
-        return io.system(launcher + ' "' + uri + '" &');
29
-    }
30
-
31
-    // Filter certain urls to more appropriate programs
32
-    if(uri.match(/twitch\.tv\/.*\/[bc]\/[0-9]+/))
33
-        exec(mpv, uri);
34
-
35
-    else if(uri.match(/hitbox\.tv\/video\/[0-9]+/))
36
-        exec(mpv, uri);
37
-
38
-    else if(uri.match(/(hitbox|twitch)\.tv/))
39
-        exec("livestreamer", uri);
40
-
41
-    // For everything else.
42
-    else
43
-        exec(mpv, uri);
44
-}
45
-
46
-hints.addMode("q", "Launch video from hint", function(elem, loc) launchv(loc));
47
-commands.add(["launchv", "lv"], "Launches current buffer video", function(args){launchv(buffer.URL);});

+ 0
- 91
pentadactyl/user.css View File

@@ -1,91 +0,0 @@
1
-/*@-moz-document url-prefix(about:blank) {*{background-color:#002b36;}} */
2
-
3
-@-moz-document url-prefix("http://www.reddit.com/"), url-prefix("https://www.reddit.com/") {
4
-
5
-body {
6
-    /*position: relative;*/
7
-    overflow-y: hidden;
8
-}
9
-
10
-html {
11
-    overflow-x: hidden;
12
-}
13
-.content {
14
-	z-index: -1 !important;
15
-}
16
-.side {
17
-    padding-left: 3px;
18
-    padding-bottom: 3px;
19
-    border-left: 1px solid rgb(230, 230, 230);
20
-    border-bottom: 1px solid rgb(230, 230, 230);
21
-    border-bottom-left-radius: 6px;
22
-
23
-}
24
-
25
-body>.content, body {
26
-    /* This MUST apply to prevent showing stuff through the side bar */
27
-    position: relative !important;
28
-}
29
-
30
-.res-nightmode .side {
31
-    border-left-color: rgb(102, 102, 102);
32
-    border-bottom-color: rgb(102, 102, 102);
33
-
34
-}
35
-
36
-.side {
37
-    margin-left: 0px !important;
38
-
39
-    margin-right: -280px !important;
40
-
41
-    z-index: 5;
42
-
43
-    
44
-
45
-    opacity: 0.6;
46
-    transition: opacity 0.5s, margin 0.5s;
47
-
48
-    transition-delay: 1s;
49
-
50
-    transition-timing-function: ease-in-out;
51
-
52
-}
53
-
54
-.side:hover, .side:focus {
55
-    transition: opacity 0.2s, margin 0.2s;
56
-    /* Apply a negative margin to the left to prevent the content from
57
-       being shuffled around by the side bar */
58
-    margin-left: -280px !important;
59
-    margin-right: 0px !important;
60
-    opacity: 1;
61
-    transition-delay: 0s;
62
-
63
-}
64
-
65
-.content {
66
-    margin-right: 40px !important;
67
-}
68
-
69
-}
70
-
71
-@-moz-document url-prefix("https://news.ycombinator.com") {
72
-    html,#hnmain {
73
-      background-color: #002b36 !important;
74
-    }
75
-
76
-    #hnmain > tbody > tr:first-child > td {
77
-      background-color: #073642 !important;
78
-    }
79
-
80
-    * {
81
-      color: #839496 !important;
82
-      font-family: "Source Code Pro";
83
-      font-weight: 9pt;
84
-    }
85
-
86
-    textarea,input {
87
-      background-color: #002b36 !important;
88
-      color: #839496;
89
-      border: 1pt solid #586e75;
90
-    }
91
-}

+ 136
- 0
rofi/.config/rofi/config.rasi View File

@@ -0,0 +1,136 @@
1
+configuration {
2
+	modi: "window,run,ssh,drun";
3
+/*	width: 50;*/
4
+/*	lines: 15;*/
5
+/*	columns: 1;*/
6
+	font: "Source Code Pro 12";
7
+/*	bw: 1;*/
8
+/*	location: 0;*/
9
+/*	padding: 5;*/
10
+/*	yoffset: 0;*/
11
+/*	xoffset: 0;*/
12
+/*	fixed-num-lines: true;*/
13
+/*	show-icons: false;*/
14
+/*	terminal: "rofi-sensible-terminal";*/
15
+/*	ssh-client: "ssh";*/
16
+/*	ssh-command: "{terminal} -e {ssh-client} {host}";*/
17
+/*	run-command: "{cmd}";*/
18
+/*	run-list-command: "";*/
19
+/*	run-shell-command: "{terminal} -e {cmd}";*/
20
+/*	window-command: "xkill -id {window}";*/
21
+/*	drun-icon-theme: ;*/
22
+/*	disable-history: false;*/
23
+/*	sort: false;*/
24
+/*	levenshtein-sort: false;*/
25
+/*	case-sensitive: false;*/
26
+/*	cycle: true;*/
27
+/*	sidebar-mode: false;*/
28
+/*	eh: 1;*/
29
+/*	auto-select: false;*/
30
+/*	parse-hosts: false;*/
31
+/*	parse-known-hosts: true;*/
32
+/*	combi-modi: "window,run";*/
33
+/*	matching: "normal";*/
34
+/*	tokenize: true;*/
35
+/*	m: "-5";*/
36
+/*	line-margin: 2;*/
37
+/*	line-padding: 1;*/
38
+/*	filter: ;*/
39
+/*	separator-style: "dash";*/
40
+/*	hide-scrollbar: false;*/
41
+/*	fullscreen: false;*/
42
+/*	fake-transparency: false;*/
43
+	dpi: 109;
44
+/*	threads: 0;*/
45
+/*	scrollbar-width: 8;*/
46
+/*	scroll-method: 0;*/
47
+/*	fake-background: "screenshot";*/
48
+/*	window-format: "{w}    {i}{c}   {t}";*/
49
+/*	click-to-exit: true;*/
50
+/*	show-match: true;*/
51
+	theme: "solarized_alternate";
52
+/*	color-normal: ;*/
53
+/*	color-urgent: ;*/
54
+/*	color-active: ;*/
55
+/*	color-window: ;*/
56
+/*	plugin-path: "/nix/store/21jzqk1r0ni4dwjr6icq5w7kginmg61y-rofi-1.4.2/lib/rofi";*/
57
+/*	pid: "/run/user/1000/rofi.pid";*/
58
+/*	display-window: ;*/
59
+/*	display-windowcd: ;*/
60
+/*	display-run: ;*/
61
+/*	display-ssh: ;*/
62
+/*	display-drun: ;*/
63
+/*	display-combi: ;*/
64
+/*	display-keys: ;*/
65
+/*	kb-primary-paste: "Control+V,Shift+Insert";*/
66
+/*	kb-secondary-paste: "Control+v,Insert";*/
67
+/*	kb-clear-line: "Control+w";*/
68
+/*	kb-move-front: "Control+a";*/
69
+/*	kb-move-end: "Control+e";*/
70
+/*	kb-move-word-back: "Alt+b";*/
71
+/*	kb-move-word-forward: "Alt+f";*/
72
+/*	kb-move-char-back: "Left,Control+b";*/
73
+/*	kb-move-char-forward: "Right,Control+f";*/
74
+/*	kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
75
+/*	kb-remove-word-forward: "Control+Alt+d";*/
76
+/*	kb-remove-char-forward: "Delete,Control+d";*/
77
+/*	kb-remove-char-back: "BackSpace,Control+h";*/
78
+/*	kb-remove-to-eol: "Control+k";*/
79
+/*	kb-remove-to-sol: "Control+u";*/
80
+/*	kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
81
+/*	kb-accept-custom: "Control+Return";*/
82
+/*	kb-accept-alt: "Shift+Return";*/
83
+/*	kb-delete-entry: "Shift+Delete";*/
84
+/*	kb-mode-next: "Shift+Right,Control+Tab";*/
85
+/*	kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
86
+/*	kb-row-left: "Control+Page_Up";*/
87
+/*	kb-row-right: "Control+Page_Down";*/
88
+/*	kb-row-up: "Up,Control+p,ISO_Left_Tab";*/
89
+/*	kb-row-down: "Down,Control+n";*/
90
+/*	kb-row-tab: "Tab";*/
91
+/*	kb-page-prev: "Page_Up";*/
92
+/*	kb-page-next: "Page_Down";*/
93
+/*	kb-row-first: "Home,KP_Home";*/
94
+/*	kb-row-last: "End,KP_End";*/
95
+/*	kb-row-select: "Control+space";*/
96
+/*	kb-screenshot: "Alt+S";*/
97
+/*	kb-toggle-case-sensitivity: "grave,dead_grave";*/
98
+/*	kb-toggle-sort: "Alt+grave";*/
99
+/*	kb-cancel: "Escape,Control+g,Control+bracketleft";*/
100
+/*	kb-custom-1: "Alt+1";*/
101
+/*	kb-custom-2: "Alt+2";*/
102
+/*	kb-custom-3: "Alt+3";*/
103
+/*	kb-custom-4: "Alt+4";*/
104
+/*	kb-custom-5: "Alt+5";*/
105
+/*	kb-custom-6: "Alt+6";*/
106
+/*	kb-custom-7: "Alt+7";*/
107
+/*	kb-custom-8: "Alt+8";*/
108
+/*	kb-custom-9: "Alt+9";*/
109
+/*	kb-custom-10: "Alt+0";*/
110
+/*	kb-custom-11: "Alt+exclam";*/
111
+/*	kb-custom-12: "Alt+at";*/
112
+/*	kb-custom-13: "Alt+numbersign";*/
113
+/*	kb-custom-14: "Alt+dollar";*/
114
+/*	kb-custom-15: "Alt+percent";*/
115
+/*	kb-custom-16: "Alt+dead_circumflex";*/
116
+/*	kb-custom-17: "Alt+ampersand";*/
117
+/*	kb-custom-18: "Alt+asterisk";*/
118
+/*	kb-custom-19: "Alt+parenleft";*/
119
+/*	kb-select-1: "Super+1";*/
120
+/*	kb-select-2: "Super+2";*/
121
+/*	kb-select-3: "Super+3";*/
122
+/*	kb-select-4: "Super+4";*/
123
+/*	kb-select-5: "Super+5";*/
124
+/*	kb-select-6: "Super+6";*/
125
+/*	kb-select-7: "Super+7";*/
126
+/*	kb-select-8: "Super+8";*/
127
+/*	kb-select-9: "Super+9";*/
128
+/*	kb-select-10: "Super+0";*/
129
+/*	ml-row-left: "Mouse6";*/
130
+/*	ml-row-right: "Mouse7";*/
131
+/*	ml-row-up: "Mouse4";*/
132
+/*	ml-row-down: "Mouse5";*/
133
+/*	me-select-entry: "Mouse1";*/
134
+/*	me-accept-entry: "MouseD1";*/
135
+/*	me-accept-custom: "Control+MouseD1";*/
136
+}

+ 92
- 0
rofi/.config/rofi/rofi-pass View File

@@ -0,0 +1,92 @@
1
+#!/usr/bin/env bash
2
+set -e
3
+set -o pipefail
4
+
5
+print-passwords() {
6
+    prefix=${PASSWORD_STORE_DIR-~/.password-store}
7
+    password_files=( "$prefix"/**/*.gpg )
8
+    password_files=( "${password_files[@]#"$prefix"/}" )
9
+    password_files=( "${password_files[@]%.gpg}" )
10
+    printf '%s\n' "${password_files[@]}"
11
+}
12
+
13
+copy-account-field() {
14
+  lpass show --clip "--${2}" "$1" >/dev/null 2>/dev/null
15
+}
16
+
17
+open-account-url() {
18
+  local url=$(lpass show --url "$1")
19
+  if [[ -n $url ]]; then
20
+    xdg-open "$url" >/dev/null 2>/dev/null
21
+  else
22
+    exit 2
23
+  fi
24
+}
25
+
26
+is-actual-url() {
27
+  local url="$1"
28
+  if [[ -n $url && "$url" != " " && "$url" != "http://" && "$url" != "https://" ]]; then
29
+    return 0
30
+  else
31
+    return 1
32
+  fi
33
+}
34
+
35
+show-account-options() {
36
+  local id="$1"
37
+
38
+  echo ">> Copy password [$id]"
39
+  echo ">> Copy username [$id]"
40
+
41
+  url=$(lpass show --url "$id")
42
+  if is-actual-url "$url"; then
43
+    echo ">> Open $url [$id]"
44
+    echo ">> Copy URL [$id]"
45
+  fi
46
+
47
+  echo ">> Copy ID [$id]"
48
+}
49
+
50
+is-entry-selected() {
51
+  if [[ -n $@ ]]; then
52
+    return 0
53
+  else
54
+    return 1
55
+  fi
56
+}
57
+
58
+id-in-selection() {
59
+  echo "$1" | grep -oE '\[[0-9]+\]$' | tr -d '[]'
60
+}
61
+
62
+debug() {
63
+  echo "$@" > /dev/stderr
64
+}
65
+
66
+if is-entry-selected "$1"; then
67
+  selected="$1"
68
+
69
+  id="$(id-in-selection "$selected")"
70
+
71
+  if [[ -n $id ]]; then
72
+    case "$selected" in
73
+      '>> Copy password'*)
74
+        copy-account-field "$id" password ;;
75
+      '>> Copy username'*)
76
+        copy-account-field "$id" username ;;
77
+      '>> Copy URL'*)
78
+        copy-account-field "$id" url ;;
79
+      '>> Copy ID'*)
80
+        copy-account-field "$id" id ;;
81
+      '>> Open'*)
82
+        open-account-url "$id" ;;
83
+      *)
84
+        show-account-options "$id" ;;
85
+    esac
86
+  else
87
+    echo "Could not detect the entry ID of \"${selection}\""
88
+    exit 1
89
+  fi
90
+else
91
+  print-passwords
92
+fi

Loading…
Cancel
Save