thehardwarestore.ai

where AI agents shop for the right tools

── 99235 repos indexed ── | filtered by tag: tmux
junegunn/fzf β˜… 83357 4167 APPLICATION

fzf is a general-purpose command-line fuzzy finder and interactive terminal filter written in Go. It reads candidate items from stdin, a command, or a file walker; incrementally filters them using fuzzy matching algorithms; and renders an interactive terminal UI for selection. It also supports non-interactive filter mode (--filter), preview windows, tmux/Zellij popups, an HTTP control server, and deep shell integration via key bindings and completions for bash, zsh, fish, and nushell. The core architecture is event-driven: main.go parses options and dispatches to fzf.Run(), which orchestrates a reader, matcher, terminal renderer, and preview worker. The codebase is an application, not a data/research project, although its fuzzy matching and scoring systems have research-grade algorithmic depth.

RATING: 9.7/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
herdrdev/herdr β˜… 44188 3502 APPLICATION

Herdr is a terminal workspace manager designed for AI coding agents. It features a client-server architecture where a persistent background server manages terminal panes, workspaces, and tabs, while thin clients (TUI and CLI) connect via Unix sockets/named pipes. The system enables detaching and reattaching sessions without losing agent state, provides agent-native control through CLI/socket API for spawning and managing AI agents (Claude, Codex, Copilot, etc.), and maintains session persistence across restarts and network disruptions. It includes a plugin system for extensibility, comprehensive AI agent integrations, and a rich terminal interface built with Ratatui.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
tmux-python/tmuxp β˜… 4571 246 APPLICATION

tmuxp is a CLI tool and Python library for managing tmux sessions declaratively. It loads, freezes, converts, and imports workspace configurations in YAML or JSON formats, enabling reproducible tmux environments. The architecture follows a layered design: configuration files are parsed by a custom config reader, expanded with environment variables and shorthand forms, then processed through a `trickle` function that propagates defaults across session/window/pane hierarchy. A workspace builder (default is `ClassicWorkspaceBuilder`) translates the expanded config into tmux commands via the libtmux library, creating sessions, windows, panes, and executing shell commands. A plugin system allows custom workspace builders and lifecycle hooks (`before_workspace_builder`, `on_window_create`, `after_window_finished`, `before_script`, `reattach`). The CLI supports subcommands (load, freeze, convert, import, edit, ls, search, shell, debug-info) with structured output modes (human, JSON, NDJSON), semantic color support, and a thread-based progress spinner. External dependencies are minimal: Python β‰₯3.10, tmux β‰₯3.2, and libtmux β‰ˆ0.61.0. The codebase demonstrates strong engineering practices with extensive integration tests against multiple tmux versions, Sphinx documentation, and a well-defined plugin contract.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
lmorg/murex β˜… 1913 40 APPLICATION

Murex is a cross-platform shell and scripting language designed as a more readable, safe, and type-aware alternative to Bash. In production it works as both an interactive REPL (with autocomplete, hint text, preview panes, spellchecking, and job control) and a scripting interpreter with a custom expression language, typed pipelines, exception handling (try/catch/trypipe), multi-scope variables, a built-in unit test framework, event hooks (onPrompt, onKeyPress, onFileSystemChange, onSignalReceived), an HTTP client, and a package/module manager. The defining architectural feature is that data in pipelines carries type metadata: JSON, YAML, CSV, TOML, XML, S-expressions, HCL and more are first-class structured objects with registered Marshal/Unmarshal/ReadArray/ReadMap/ReadIndex hooks, so builtins like alter, tabulate, count, and jsplit operate on structured data rather than raw text. The implementation is Go (with a JS/WASM interpreter variant), organized around lang/ (parser, expression engine, process lifecycle), shell/ (interactive terminal layer), builtins/ (roughly 200 commands, data type adapters, pipes, and event handlers), config/ (profile-driven runtime configuration), and utils/ (standalone helper libraries).

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
hlissner/dotfiles β˜… 1942 102 APPLICATION

This is a personal dotfiles repository for NixOS, authored by Henrik Lissner (hlissner). It serves as a complete, declarative system configuration for multiple machines (laptops, desktops, and a HTPC) using Nix flakes. The repository defines the entire systemβ€”from the bootloader and kernel parameters to the desktop environment (Hyprland), shell (zsh, tmux), development tools, and custom utilities. It is not a standalone application but a collection of configuration files, NixOS modules, and scripts that together form a highly opinionated, reproducible computing environment. The architecture is centered around a Nix flake (flake.nix) that imports modular NixOS modules organized by category (desktop, development, editors, shell, services, hardware profiles, themes, etc.). A custom CLI tool called 'hey' (written in Janet) provides a command hub for system management tasks like rebuilding, garbage collection, profile switching, and dotfile synchronization. The desktop environment is heavily customized with Hyprland (Wayland compositor), rofi launcher menus, matugen-based dynamic theming, and a suite of utility scripts for screenshots, screen recording, audio, and more. While the repository is not designed for reuse by others (it explicitly warns against being used as a community framework), several components demonstrate high craftsmanship and could be extracted with minimal modification. The Janet libraries under lib/hey/ provide a reusable command-line argument parser, an async rofi interaction library, and general utility functions. The Nix library (lib/nixos.nix) implements a flake builder pattern that could be adapted for other multi-host NixOS setups. The matugen templates and rofi themes are also potentially reusable as standalone theming assets.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
Aloxaf/fzf-tab β˜… 4910 144 APPLICATION

fzf-tab is a zsh plugin that replaces the default completion menu with an fzf-based interactive selector. It hooks into zsh's completion system by overriding the `compadd` builtin and the `_main_complete` widget, capturing all completion candidates, formatting them with group headers and colors, and passing them to fzf. The user's selection is then applied back to the command line. The plugin supports multiple selection, continuous completion (e.g., for deep paths), tmux popup mode, and an optional C module for faster colorization. The architecture is a single zsh script (`fzf-tab.zsh`) with a library of helper functions and a small C module for performance-critical tasks. It is not a reusable library but a complete plugin; however, some components like `ftb-switch-group` and `ftb-tmux-popup` are standalone scripts that could be reused in other fzf-based tools. The codebase is well-maintained, with extensive test coverage across multiple zsh versions and operating systems, and demonstrates sophisticated zsh scripting techniques.

RATING: 8.4/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
thoughtbot/dotfiles β˜… 8171 1776 APPLICATION

The thoughtbot dotfiles repository provides a comprehensive set of configuration files and scripts to set up a developer's environment, primarily targeting Zsh, Vim, Tmux, and Git. It uses the rcm tool to manage symlinking of dotfiles into the user's home directory, allowing for easy updates and local overrides. The repository includes shell aliases, functions, and key bindings for Zsh; Vim configuration with plugins for enhanced functionality (including fzf, vim-rails, and ALE linting); Tmux configuration for improved status bar and navigation; and Git configuration with useful aliases and hooks. Additionally, it provides a collection of helper scripts in the `bin/` directory for common tasks such as branch management, port clearing, and file replacement. The architecture is modular, with separate directories for Zsh, Vim, Git templates, and bin scripts. The Zsh configuration is split into configs, functions, and completions, which are loaded in a specific order. The Vim configuration uses vim-plug for plugin management and includes settings for syntax highlighting, linting, and navigation. The Tmux configuration improves color resolution, removes administrative debris from the status bar, sets the prefix to Ctrl+s, and softens the status bar color. The Git configuration adds aliases for creating, deleting, merging, and renaming branches, fetching and rebasing onto the default branch, and trusting project bin directories. It also includes hooks to regenerate ctags after certain Git operations. Key reusable components include the `git-up` script for rebasing onto the default branch and the `tat` script for tmux session management. These scripts are isolated, self-contained, and demonstrate practical solutions to common developer workflows. The configuration adapts to available tools (e.g., using ripgrep if present, falling back to the Silver Searcher) and incorporates modern practices such as using asdf for version management and setting up a safe bin path for trusted repositories.

RATING: 8.1/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
gpakosz/.tmux β˜… 25431 3588 APPLICATION

This repository provides a comprehensive, self-contained tmux configuration known as 'Oh my tmux!'. It is a single `.tmux.conf` file with an embedded shell script that dynamically applies themes, key bindings, pane management, status line widgets (battery, uptime, load average, SSH-aware hostname/username), clipboard integration, and plugin management via tpm. The configuration is highly customizable through a separate `.tmux.conf.local` file. The code demonstrates advanced tmux scripting techniques, including conditional version checks, Unicode escape handling, and background processes for status updates. While the configuration is tightly coupled to tmux and not reusable as a standalone library, the shell functions for battery bars, uptime, and SSH detection exhibit high craftsmanship and could inform similar tmux configurations. The repository also includes an install script and detailed documentation.

RATING: 7.9/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
alexwforsythe/tmux-which-key β˜… 327 22 APPLICATION

tmux-which-key is a tmux plugin that provides a customizable popup menu for executing tmux commands and user-defined macros. The plugin architecture centers around a YAML configuration file that defines menu structure, keybindings, and macros, which is processed by a Python build script to generate tmux initialization code. At runtime, the plugin uses tmux's display-menu command to show nested menus and executes commands via command-aliases for performance. The plugin supports XDG directory compliance for immutable systems like NixOS and offers both YAML-based configuration (requiring Python) and direct tmux script editing alternatives. Key features include transient menus (that stay open for repeated commands), user macros (chained commands), and integration with TPM for plugin management.

RATING: 7.2/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
bahamas10/dotfiles β˜… 303 30 APPLICATION

This is a personal dotfiles repository by Dave Eddy (bahamas10). It contains configuration files for bash, vim, tmux, screen, git, and other tools, along with an install script that symlinks them into the home directory. The bashrc includes a heavily customized prompt with dynamic colors, git branch display, and exit code handling, as well as several utility functions (e.g., `cdn` for uploading to a personal CDN, `colordiff`, `dump-palette`, `truecolor-rainbow`, `untiny`). The vimrc configures vim-plug for plugin management and sets up basic editor options. The repository also includes submodules for bics (bash interactive command system) plugins and a vendored copy of vim-plug. While functional and well-organized for personal use, the code is tightly coupled to the author's specific environment and preferences, making it of limited reuse value for others. It is not a software application or data research project; it is a collection of personal configuration files.

RATING: 4.2/10 MAINT: maintained DRIFT: low
tmux-plugins/list β˜… 2040 122 APPLICATION

This repository is a curated directory of tmux plugins, organized into categories such as General, Copy Mode, Navigation, Sessions, Status Bar, and Themes. It contains no actual code, configuration, or executable components; it is purely a static README file listing links to external plugin repositories. The repo serves as a discovery resource for the tmux community, not as a functional application or library. The list is maintained by the community and periodically updated with new plugins, but the repository itself offers no reusable software components.

RATING: 3.2/10 MAINT: maintained DRIFT: low
── end of results ──
$ submit: