Compare commits

..

36 Commits

Author SHA1 Message Date
Dict Xiong
41cb0fe549
fix: syntax 2026-08-13 16:26:51 +08:00
Dict Xiong
f67ed12e49
fix(riot): simplify and secure 2026-08-13 15:55:11 +08:00
5c23484d61
fix: Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-13 15:42:32 +08:00
Dict Xiong
5ced7027b6
feat(riot): zsh completions 2026-08-13 15:14:58 +08:00
Dict Xiong
ca64866db9
feat(sagt): gpg-pin and associated tests 2026-08-13 15:06:03 +08:00
Dict Xiong
e3dad6d9cc
feat(riot): separate command options from riot options 2026-08-13 14:55:51 +08:00
Dict Xiong
aa5c2e86b6
feat(riot): better help and fix option quite->quiet 2026-08-13 14:28:36 +08:00
8660bf2f02
feat(eid): add sk1 9a cert 2026-08-13 12:45:37 +08:00
cac108d5ac
feat: gitconf add gpg signature; remove macos from ci 2026-08-13 12:26:41 +08:00
5e7c3293ae
feat(riot): add GPG agent forwarding
Signed-off-by: Dict Xiong <me@beardic.cn>
2026-08-13 11:40:29 +08:00
6fa601c458 feat(sagent): check pinentry and give notes 2026-08-13 02:20:36 +08:00
b891e4ed07 feat(sagent): sagt gpg; improve code 2026-08-13 01:51:03 +08:00
7e33f92e51 feat(ssh): add key openpgp:0x8774BF70 and remove key ip14/sep and ltp2 (asu127) 2026-08-12 15:07:30 +08:00
3e425f45e0 feat(ssh): add key sk1/fido2 2026-08-11 02:29:01 +08:00
e9e8a5fede feat(ssh): add key sk1/piv/9a 2026-08-11 00:36:31 +08:00
74bffde6cf feat(tmux): press ESC to exit copy mode 2026-08-05 00:48:09 +08:00
b170d06d9a feat(ssh): add key ip17/sep 2026-06-28 00:27:06 +08:00
cb70dc7cdc feat: sne: search and edit 2026-05-06 12:19:26 +08:00
9cf6d65692 fix(riot): ControlPersist 60s -> 5s 2026-05-06 12:15:07 +08:00
a7074fc940 feat(tmux): F12 to passthru 2026-04-20 23:04:50 +08:00
4e3ce4f9d9 feat(tmux): prevent tmux from exiting copy mode after selection with mouse
see:
- https://www.reddit.com/r/tmux/comments/v73005/how_to_prevent_tmux_from_exiting_copy_mode_after/
- https://www.reddit.com/r/tmux/comments/1ltms6a/how_to_select_text_in_tmux_without_having_it_jump/
2026-04-12 01:18:13 +08:00
ed98a56e05 fix(ci): riot 2026-04-03 17:10:29 +08:00
e79b092054 feat(riot): ControlPersist=60s 2026-04-03 15:54:17 +08:00
f45f7e415c fix(riot): tmux error with window number and spaces
The fix to spaces is just a workaround. Issue may still exist when
command contains spaces.
2026-01-19 16:27:56 +08:00
9f1bc8f0fb fix(frigg): ddns get ip 2025-12-20 12:40:19 +08:00
ee44717891 feat: zsh completion for beam and beaml 2025-12-19 21:56:09 +08:00
d283671f25 feat(riot): conditionally RequestTTY 2025-12-19 21:28:16 +08:00
bdef3b52d1 feat(riot): -o ServerAliveInterval=60 2025-12-19 21:23:52 +08:00
c86cc85e24 feat(riot): sshr for ssh -R 2025-12-19 21:21:22 +08:00
426e97c10e feat(riot): sshl supports specifying local port and unix sock 2025-12-19 17:34:37 +08:00
e1f0ec0ebc fix(tmux): press ^a twice to send ^a 2025-11-20 20:22:17 +08:00
8dbb310e02 fix(zshrc): bnd exit when build error 2025-11-17 01:45:53 +08:00
8865dee1e9 feat: add bnd and nor and completions 2025-11-15 14:48:19 +08:00
65d690f47c build(riot-config): nasp.fit -> jump.nasp.fit 2025-10-28 17:18:56 +08:00
ecf652ad7b feat(riot): command git 2025-07-24 16:28:37 +08:00
86670306af feat(riot): support literal ipv6 addresses (with or without ports given)
feat(riot): -v, -4, and -6

fix(riot): do not call external binaries if possible
2025-07-16 21:09:04 +08:00

View File

@ -1,58 +1 @@
# dotfiles
My personal shell environment and command-line tools, mainly for Linux and
NixOS systems.
It includes configurations for zsh, tmux, Vim, Git, and SSH, together with a
few utility scripts used across my machines.
## Highlights
- `riot`: an SSH wrapper with host presets, jump hosts, port forwarding, tmux
sessions, and optional GPG agent forwarding.
- `sagt`: an SSH/GPG agent manager with support for PIV, 1Password, and
OpenPGP smart cards.
- zsh aliases and completions for the bundled tools.
- tmux and Vim configurations with plugin setup.
- automatic updates with selectable `main`, `dev`, and `latest` channels.
## Installation
Quick install:
```sh
curl -fsSL https://dotfiles.cn | bash
```
Alternatively, clone the repository so the installer can be reviewed first:
```sh
git clone https://github.com/DictXiong/dotfiles.git ~/dotfiles
~/dotfiles/install.sh -a
```
The installer adds small source/include entries to the existing zsh, tmux,
Vim, and Git configuration files instead of replacing them entirely.
## Useful commands
```sh
riot --help # show the SSH wrapper manual
sagt # start or reuse an ssh-agent
sagt gpg # use gpg-agent as SSH agent
sagt gpg-pin # cache the smart-card signature PIN
dfs update # update dotfiles from the selected channel
dfs config # edit machine-specific settings
```
## Configuration
Machine-specific settings can be placed in:
```text
~/.config/dotfiles/env
~/.config/riot-config.sh
```
This is a personal dotfiles repository. Review the configuration, SSH keys,
and installation script before using it on another machine.