Personal Linux terminal and desktop environment configuration. Configuration
files are organized under config/, and ./reset.sh is the installation
entrypoint.
Preview the default installation:
./reset.sh --dry-runInstall the default core configuration (top, zsh, Neovim, and tmux):
./reset.shYou can also install selected targets:
./reset.sh nvim tmux
./reset.sh mycli imv
./reset.sh dwm
./reset.sh rimeSee all available options and targets:
./reset.sh --help- Scripts can be invoked from any working directory.
- Files whose contents and permissions are unchanged are skipped, making repeated runs safe.
- Before replacing an existing file, the installer moves it to
~/.local/state/settings-backups/<timestamp>/. - Rime uses a merge installation: additional existing files are preserved, and the entire destination directory is backed up before any changes.
coreandallinclude only top, zsh, Neovim, and tmux. They do not install desktop configuration, Rime, or system packages.
Use --backup-dir DIR to choose a backup directory for the current run.
.
├── config/ # Configuration files grouped by application
│ ├── nvim/
│ ├── rime/
│ ├── tmux/
│ ├── x11/
│ └── ...
├── scripts/lib/ # Shared installer functions
├── tests/ # Regression tests using a temporary HOME
├── reset.sh # Main entrypoint
└── {top,zsh,nvim,...}.sh # Compatibility entrypoints for existing usage
The following components are not installed by default:
ubuntu.sh: installs system packages with apt and snap; requires sudo.doom.sh: installs Doom Emacs; it runs only whenconfig/doom/exists.config/suckless/: source configuration and patches for dwm, st, and slstatus; apply these manually.config/windows/: Windows application configuration; copy it manually.
top.sh, zsh.sh, nvim.sh, tmux.sh, and rime.sh remain available
and forward their arguments to reset.sh. For example:
./nvim.sh --dry-run./tests/reset_test.sh