Remove tmux-bitwarden plugin and bw install

This commit is contained in:
Fabio Scotto di Santolo
2026-04-17 11:32:55 +02:00
parent c4836c6164
commit 0522fb1f4e
6 changed files with 0 additions and 212 deletions

View File

@@ -389,7 +389,6 @@
else ''
}}
gitmux_version: v0.11.5
bw_version: 1.22.1
opencode_asset_name: >-
{{
'opencode-linux-x64-baseline.tar.gz' if ansible_facts['architecture'] == 'x86_64'
@@ -407,9 +406,6 @@
tags: [packages]
ansible.builtin.set_fact:
gitmux_asset: "gitmux_{{ gitmux_version }}_linux_{{ gitmux_arch }}.tar.gz"
bw_asset: "bw-linux-{{ bw_version }}.zip"
bw_checksum: >-
sha256:https://github.com/bitwarden/cli/releases/download/v{{ bw_version }}/bw-linux-sha256-{{ bw_version }}.txt
- name: Ensure architecture is supported for Ollama binary
tags: [packages]
@@ -429,12 +425,6 @@
msg: "Unsupported architecture {{ ansible_facts['architecture'] }} for gitmux release binary"
when: gitmux_arch == ''
- name: Ensure architecture is supported for bw binary
tags: [packages]
ansible.builtin.fail:
msg: "Unsupported architecture {{ ansible_facts['architecture'] }} for bw release binary"
when: ansible_facts['architecture'] != 'x86_64'
- name: Ensure temporary directory exists for external tools
tags: [packages]
ansible.builtin.file:
@@ -485,12 +475,6 @@
checksum: "sha256:https://github.com/arl/gitmux/releases/download/{{ gitmux_version }}/checksums.txt"
extracted_binary: gitmux
install_dest: /usr/local/bin/gitmux
- name: bw
asset_name: "{{ bw_asset }}"
url: "https://github.com/bitwarden/cli/releases/download/v{{ bw_version }}/{{ bw_asset }}"
checksum: "{{ bw_checksum }}"
extracted_binary: bw
install_dest: /usr/local/bin/bw
- name: Download desktop online archive binary releases
tags: [packages]

View File

@@ -49,7 +49,6 @@ set -ga update-environment TERM_PROGRAM
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'sei40kr/tmux-project'
set -g @plugin 'Alkindi42/tmux-bitwarden'
set-option -g @plugin 'b0o/tmux-autoreload'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
@@ -114,10 +113,5 @@ set -g @continuum-restore 'on'
# Project options
set -ag @project-base-dirs ,"${HOME}/.dotfiles","${HOME}/Projects:0:2"
# Bitwarden plugin setup
set -g @bw-session 'BW_SESSION'
set -g @bw-copy-to-clipboard 'on'
set -g @bw-key 'T'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

View File

@@ -1,57 +0,0 @@
# tmux-bitwarden
## Requirements
You need to have:
* [Bitwarden CLI](https://bitwarden.com/)
* [jq](https://stedolan.github.io/jq/)
* [fzf](https://github.com/junegunn/fzf)
* bash > 4.0
## Install
### Tmux Plugin Manager (recommended)
1. In your `.tmux.conf` add the plugin to the list.
```
set -g @plugin 'Alkindi42/tmux-bitwarden'
```
2. Type `prefix + I` to install the plugin.
## Key bindings
* `prefix + b`: list login items in a bottom pane.
## Usage
First, log into your Bitwarden user account using the `login` command (you only need to do this once):
```bash
$ bw login your-email@domain.com
? Master password: [input is hidden]
To unlock your vault, set your session key to the `BW_SESSION` environment variable. ex:
$ export BW_SESSION="lpvf7Rt+pAMXW2YJ5O42jJp6ZY0Ny01vq9jaUdFYbroS1CXWgjVdy7j42owHVoLwZf+yDI+ro68Qngo9mdD/vA=="
> $env:BW_SESSION="lpvf7Rt+pAMXW2YJ5O42jJp6ZY0Ny01vq9jaUdFYbroS1CXWgjVdy7j42owHVoLwZf+yDI+ro68Qngo9mdD/vA=="
```
In a tmux session, you can run the plugin with the default key binding `prefix + b`. This opens a new pane at the bottom with login items. You can choose your login item with `<Enter>`, your password will be automatically filled.
If you have not configured your bitwarden session (`BW_SESSION`), you will be prompted to re-enter your master password before each selection (see configuration section for more information)
## Configuration
### Changing the default key-binding
```
set -g @bw-key 'T'
```
Default: `u`
### Define Bitwarden session
To avoid re-entering your master password before each selection, you can define your [session Bitwarden](https://bitwarden.com/help/article/cli/#session-management).
Your `BW_SESSION` comes from the result of the `login` command.
```
set -g @bw-session 'BW_SESSION'
```
If the `BW_SESSION` variable exists in your environment variable then it will be used.
### Copy the password to the clipboard
By default, after selection, the password is sent in the last pane. If you want to have it in your clipboard you have to activate the option:
```
set -g @bw-copy-to-clipboard 'on'
```
Default: `off`

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env bash
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
declare -r CURRENT_DIR
# shellcheck source=/dev/null
source "$CURRENT_DIR/scripts/utils.sh"
declare -a REQUIRED_BINARIES=(
'jq'
'fzf'
'bw'
)
main() {
for binary in "${REQUIRED_BINARIES[@]}"
do
if ! is_binary_exist "$binary"
then
display_tmux_message "binary $binary does not exist"
return 1
fi
done
key_binding=$(get_tmux_option "@bw-key" "b")
tmux bind-key "$key_binding" split-window -l 10 "$CURRENT_DIR/scripts/main.sh"
}
main "$@"

View File

@@ -1,60 +0,0 @@
#!/usr/bin/env bash
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
declare -r CURRENT_DIR
# shellcheck source=/dev/null
source "$CURRENT_DIR/utils.sh"
is_authenticated() {
[[ $(bw status | jq '.status') != "\"unauthenticated\"" ]] && true
}
# Get bitwarden items
get_bw_items() {
local session="$1"
filter='map({ (.name|tostring): .login.password })|add'
if [[ -z "$session" ]]; then
bw list items | jq -r "$filter"
else
bw list items --session "$session" | jq -r "$filter"
fi
}
get_password() {
local items=$1
local key=$2
password=$(echo "$items" | jq ".\"$key\"")
echo "${password:1:-1}"
}
main() {
declare -A TMUX_OPTS=(
["@bw-session"]=$(get_tmux_option "@bw-session" "$BW_SESSION")
["@bw-copy-to-clipboard"]=$(get_tmux_option "@bw-copy-to-clipboard" "off")
)
is_authenticated
if [[ $? -eq 1 ]]; then
display_tmux_message "You are not logged in."
return 1
fi
items=$(get_bw_items "${TMUX_OPTS[@bw-session]}")
# Choice element
key=$(echo "$items" | jq --raw-output '.|keys[]' | fzf --no-multi) || return
password=$(get_password "$items" "$key")
if [[ "${TMUX_OPTS[@bw-copy-to-clipboard]}" == "on" ]]; then
cp_to_clipboard "$password"
else
# Send the password in the last pane.
tmux send-keys -t ! "$password"
fi
}
main "$@"

View File

@@ -1,44 +0,0 @@
#!/usr/bin/env bash
# Copy text to the clipboard
cp_to_clipboard() {
if [[ "$(uname)" == "Darwin" ]] && is_binary_exist "pbcopy"; then
echo -n "$1" | pbcopy
elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "wl-copy"; then
echo -n "$1" | wl-copy
elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "xsel"; then
echo -n "$1" | xsel -b
elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "xclip"; then
echo -n "$1" | xclip -i
else
return 1
fi
}
# Check if binary exist
is_binary_exist() {
local binary=$1
command -v "$binary" &> /dev/null
return $?
}
# Get tmux option
get_tmux_option() {
local option="$1"
local default_value="$2"
local option_value
option_value=$(tmux show-option -gqv "$option")
if [[ -z "$option_value" ]]; then
echo "$default_value"
else
echo "$option_value"
fi
}
# Display tmux message in status bar
display_tmux_message() {
local message=$1
tmux display-message "tmux-bitwarden: $message"
}