thehardwarestore.ai

where AI agents shop for the right tools

── 99683 repos indexed ── | filtered by tag: linux
G-Ray/pikatorrent ★ 1019 54 APPLICATION

PikaTorrent is a cross-platform BitTorrent client built with Flutter, supporting Windows, macOS, Linux, Android, and iOS. It provides a modern, user-friendly interface for downloading and streaming torrents, with features like sequential downloading, media playback with subtitle/audio track selection, torrent tagging and filtering, and platform-specific integrations (system tray, background service, file association). The application follows a clean architecture with an engine abstraction layer (currently backed by the Transmission library via flutter_libtransmission), provider-based state management (AppModel, SessionModel, TorrentsModel), and separate HTTP servers for streaming content and subtitles. The codebase is generally well-organized, though it contains some hardcoded values and minor code smells. The project is actively maintained with a full CI/CD pipeline and multi-platform release automation.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sonnyp/Tangram ★ 1001 48 APPLICATION

Tangram is a GNOME desktop application written in JavaScript (GJS) that functions as a specialized browser for managing web applications as persistent, sandboxed tabs. It uses GTK4, Libadwaita, and WebKitGTK to render each tab independently, with per-tab settings (name, URL, user agent, notification priority) stored via GSettings. The application provides a tab overview (Adw.TabOverview), navigation controls, and integrates with the GNOME notification system. It is packaged as a Flatpak and supports translations via Weblate. The codebase is well-structured, modular, and follows modern GNOME development practices, with unit tests for URL utilities and web app metadata extraction.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
jovanlanik/gtklock ★ 499 41 APPLICATION

gtklock is a GTK-based lockscreen for Wayland compositors. It locks the screen using the ext-session-lock protocol and authenticates users via PAM. The application creates a window for each monitor displaying a clock, date, and password entry. It supports features like idle hiding, multi-monitor focus following, and running custom commands on lock/unlock events. The architecture is modular, with a core GTK application loop, pluggable modules for extensibility, and isolated subsystems for authentication and configuration. The main entry point is in src/source.c, which initializes the GTK application, loads configuration and modules, and sets up event handlers for screen locking and unlocking.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
0xle0ne/wireguard-gui ★ 323 28 APPLICATION

This repository implements a Linux desktop GUI for managing WireGuard VPN profiles. It is built using the Tauri v2 framework, combining a Rust backend for system-level operations (connection management, encryption, file I/O) with a Next.js 16 (React 19) frontend for the user interface. The application allows users to create, import, export, connect, and disconnect WireGuard tunnels, and provides optional at-rest encryption for profile data using a user-defined PIN. The architecture follows a clean IPC-based separation of concerns. The frontend communicates with the Rust backend exclusively through typed Tauri commands defined in `lib/effects.ts`. The backend in `src-tauri/src/main.rs` manages application state, executes WireGuard commands via shell scripts (`wg.sh`), and handles encryption via a dedicated security module. The UI is built from a comprehensive library of ~40+ composable, accessible components in `components/ui/`, demonstrating a strong commitment to frontend architecture and design system principles. The most reusable assets are the Rust security module (`security.rs`), which implements PIN-based encryption using Argon2id and XChaCha20-Poly1305 in a self-contained manner, and the typed IPC service layer (`lib/effects.ts`), which cleanly decouples the UI from the backend. The UI component library, while styled for this project, follows an architectural pattern (atomic, composable primitives) that is directly transferable to other React projects. The project is actively maintained with CI/CD, E2E testing, and semantic versioning, though it carries some technical drift in its Nix build configuration (targeting Tauri v1) and deprecated plugin permissions.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
H-M-H/Weylus ★ 9665 410 APPLICATION

Weylus is a cross-platform application that turns tablets and smartphones into graphic tablets/touch screens for computers. It operates by running a local web server that serves a web page to the tablet's browser. The web page captures pointer, touch, stylus, keyboard, and wheel events via JavaScript PointerEvents and sends them over a WebSocket connection to the server. The server then simulates these input events on the host machine using platform-specific mechanisms: on Linux it uses the uinput kernel module for full stylus/touch/mouse/keyboard support; on macOS and Windows it falls back to the autopilot library for mouse/keyboard simulation and Windows-specific synthetic pointer injection for touch/pen. Simultaneously, Weylus captures the screen (or a selected window/monitor) using platform-native APIs: X11 shared memory (XShm) on Linux X11, PipeWire/GStreamer on Wayland, CoreGraphics on macOS, and DirectX via captrs on Windows. The captured frames are encoded into a fragmented MP4 H.264 video stream using a statically linked ffmpeg (libx264) with optional hardware acceleration (VAAPI, NVENC, VideoToolbox, MediaFoundation). The video stream is sent to the browser via the same WebSocket connection and played using the Media Source Extensions API. The application provides a GUI (built with FLTK) for configuration and a headless mode for automation. It supports access codes, custom input areas, and multiple simultaneous clients.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
bol-van/zapret2 ★ 5375 233 APPLICATION

This repository is a DPI bypass toolkit that intercepts and manipulates network packets to evade Deep Packet Inspection systems. It uses a modular architecture with a core daemon (nfqws2/dvtws2/winws2) that processes packets via NFQUEUE (Linux), divert sockets (*BSD), or WinDivert (Windows/Cygwin). Packet manipulation logic is implemented in Lua scripts, allowing flexible obfuscation strategies like packet splitting, reordering, and fake packet generation. The system includes automatic IP/host list management from external sources (antizapret, reestr), connection tracking for flow state, and cross-platform service integration. Key entry points are the main daemon, installation scripts, and list management utilities. Data flow involves packet interception → dissection → profile-based Lua processing → verdict (PASS/MODIFY/DROP) → reinjection. External dependencies include kernel interfaces (netfilter/WinDivert), Lua, zlib, and shell utilities for list updates.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mylinuxforwork/dotfiles ★ 5079 384 APPLICATION

This repository is a complete Hyprland desktop-environment configuration distribution (ML4W) rather than a traditional application. The code that ships is a combination of shell-based installer/setup tooling, modular Hyprland Lua configuration, matugen-driven design-token generation, and Quickshell QML widgets for a statusbar and sidebar. In production it provisions a Wayland desktop on Arch, Fedora, Ubuntu, or openSUSE via setup/preflight-*.sh, setup/post-*.sh, and .dotinst manifests; at runtime hyprland.lua loads split Lua modules for monitors, input, keybindings, animations, decorations, window rules, and workspace behavior, while ml4w-* helper scripts orchestrate wallpaper changes, theme switching, launchers, notifications, statusbar reloads, and system actions. Configuration and state flow from flat JSON and shell settings into matugen templates and Quickshell or Waybar consumers; IPC handlers expose toggles to the UI. The repository is best understood as an application-like configuration platform with strong theming and modularization architecture, not a data or research project.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
perplexityai/bumblebee ★ 4985 449 APPLICATION

Bumblebee is a production-grade supply-chain inventory collector for macOS and Linux developer endpoints. It scans the filesystem for package metadata from lockfiles (npm, pnpm, yarn, bun, gomod, rubygems, composer), install receipts (Homebrew, Python dist-info, Go sum), extension manifests (VS Code, browser extensions), and MCP configuration files. The system outputs NDJSON records of installed packages and can optionally match them against operator-supplied threat intelligence catalogs to emit findings for known malicious packages. It is a single Go binary with zero runtime dependencies, designed for offline, read-only operation. Architecturally, it follows a modular scanner pattern with a generic filesystem walker, per-ecosystem scanners, an exposure catalog loader, and a pluggable output sink (stdout, file, or HTTP with bearer/HMAC auth and gzip). The repository also includes a threat_intel directory of curated supply-chain attack data and a tool to convert OSV records into its catalog format. Although primarily an application, it has a strong data component through its structured threat intelligence catalogs, making it a hybrid that leans towards a security scanning tool.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
theos/theos ★ 4932 1141 APPLICATION

Theos is a cross-platform build system designed primarily for developing iOS jailbreak tweaks, tools, and applications, but also supports macOS, Linux, and Windows targets. It is built entirely on GNU Make, with a modular architecture that separates master (top-level) and instance (sub-make) rules for parallel building. The system includes a Logos preprocessor for Objective-C hooking, a NIC (New Instance Creator) for project scaffolding, and packaging support for .deb, .rpm, .pkg, and .ipa formats. Key entry points are `makefiles/common.mk` (main include), `makefiles/rules.mk` (compilation rules), and `makefiles/target.mk` (target parsing). External dependencies include Xcode (macOS), LLVM toolchains (Linux/Windows), Perl, and dpkg-deb. The codebase demonstrates high craftsmanship in its Makefile patterns, schema-based variable overrides, and modular design, though it relies on several submodules and has some legacy components (e.g., Cygwin support).

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
PancakeTAS/lsfg-vk ★ 4711 135 APPLICATION

This repository implements a Vulkan layer, CLI tool, and Qt UI for real-time frame generation using compute shaders. The core mechanism intercepts Vulkan swapchain creation and presentation in any Vulkan application, then injects generated frames via a separate Vulkan device. Shaders are extracted at runtime from the proprietary Lossless Scaling DLL and patched for the target format and device capabilities. The project is composed of four main components: a backend library (lsfg-vk-backend) with SPIR-V extraction and shader chain execution; a Vulkan layer (lsfg-vk-layer) that hooks instance/device/swapchain creation; a CLI tool (lsfg-vk-cli) for headless benchmarking and validation; and a Qt6 Quick UI (lsfg-vk-ui) for graphical profile management. The common library provides reusable Vulkan wrappers (buffer, image, shader, fences, descriptors) and a TOML-based configuration system with hot-reload support. The architecture is modular but tightly coupled to the proprietary DLL and the Vulkan layer loading mechanism.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
andreafrancia/trash-cli ★ 4578 211 APPLICATION

trash-cli is a command-line interface implementing the FreeDesktop.org Trash specification. It provides five primary commands: trash-put (move files to trash), trash-list (list trashed files), trash-restore (interactively restore files), trash-empty (empty trash directories), and trash-rm (remove specific trashed files). The architecture is modular, with separate packages for each command (trashcli/put/, trashcli/list/, trashcli/restore/, trashcli/empty/, trashcli/rm/) sharing common utilities from trashcli/lib/, trashcli/fslib/, and trashcli/fstab/. Key entry points are the main() functions in each command's main.py module, invoked via shell scripts (trash, trash-put, etc.). Data flows involve reading trash directories (per the spec's rules for $XDG_DATA_HOME/Trash, .Trash/$uid, .Trash-$uid), parsing .trashinfo files, and performing file operations (move, delete, restore) with security checks (sticky bits, symlinks, world-writable directories). External dependencies include psutil (for volume detection), six (Python 2/3 compatibility), and optionally shtab (shell completion). The codebase is well-tested with a comprehensive fake filesystem for unit tests and integration tests covering edge cases.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
deadc0de6/dotdrop ★ 1944 111 APPLICATION

dotdrop is a command-line tool for managing dotfiles across multiple hosts using profiles, Jinja2 templating, actions, and transformations. It stores dotfiles in a Git repository and deploys them to target systems, allowing different configurations per host or environment. The architecture is modular: separate Python modules handle each operation (install, compare, update, import, remove, uninstall), with a central dispatcher in `dotdrop.py`. Configuration is defined in YAML (or optionally TOML) files that specify dotfiles, profiles, variables, actions, and transformations. Key entry points are the CLI subcommands invoked via `dotdrop <command>`. Data flows involve parsing the config, aggregating imported configs and variables, then executing file operations (copy, symlink, diff) with optional template rendering and shell commands. External dependencies include Jinja2, docopt, PyYAML, and optional libraries for TOML support and system detection. The codebase is well-tested with both Python unit tests and a large suite of Bash integration tests, and it is distributed via PyPI, Homebrew, AUR, Snap, and other channels.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
RRZE-HPC/likwid ★ 1940 272 APPLICATION

Likwid is a comprehensive performance monitoring and benchmarking tool suite for HPC environments. It provides command-line tools (likwid-perfctr, likwid-pin, likwid-bench, likwid-powermeter, likwid-topology, etc.) and a C/Fortran/Lua library for reading hardware performance counters, managing CPU/GPU topology, controlling system features (turbo, prefetchers, RAPL power limits), and pinning threads. The architecture is modular: a core C library (liblikwid) handles low-level hardware access via MSR, PCI, MMIO, or a privileged daemon, while Lua scripts provide user-facing interfaces. External dependencies (Lua, hwloc, GOTCHA, cwisstable) are bundled. The codebase supports x86, ARM, POWER, and GPU (NVIDIA, AMD) architectures with per-architecture performance counter definitions. It is primarily an application tool, though its extensive hardware counter definitions and benchmark infrastructure also serve research purposes.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
firecat53/networkmanager-dmenu ★ 999 89 APPLICATION

This is a single-file Python application that provides a menu-driven interface (via dmenu, rofi, wofi, bemenu, etc.) for managing NetworkManager connections on Linux. It allows users to connect to WiFi, VPN, Wireguard, GSM, Bluetooth, Ethernet, and VLANs; enable/disable networking, WiFi, WWAN, and Bluetooth; delete connections; rescan WiFi; show WiFi passwords; and launch the connection editor. The script uses PyGObject to interact with NetworkManager over D-Bus, with asynchronous callbacks and a GLib main loop. Configuration is stored in an INI file, and the script supports multiple launchers with per-launcher flags for passphrase entry and highlighting. The code is well-structured, with clear separation of concerns (action creation, menu display, async callbacks), and includes workarounds for older library versions. It is a mature, actively maintained tool with a Nix flake for development and a GitHub release workflow.

RATING: 8.3/10 MAINT: active DRIFT: low
ultimatepp/ultimatepp ★ 995 144 APPLICATION

The U++ (Ultimate++) repository is a comprehensive C++ Rapid Application Development (RAD) framework and Integrated Development Environment (IDE). It provides a complete standard library implementation including containers, threading, and serialization, alongside a cross-platform GUI framework (CtrlLib) and a plugin system for extending functionality. The codebase includes the source for 'TheIDE', a development tool built on the framework itself, featuring code editing, debugging, and layout design capabilities. It supports multiple operating systems (Windows, Linux, macOS, Android) through a modular GUI backend architecture located in the 'rainbow' directory. The framework emphasizes developer productivity through macro-based entry points (GUI_APP_MAIN), declarative UI layouts (CtrlLayout), and a dynamic type system (Value). It integrates numerous third-party libraries via a plugin system (FreeType, GLM, Zstd, PCRE, libssh2) to handle graphics, math, compression, and networking. While the core architecture is robust and well-structured for its domain, the heavy reliance on macros and the fragmentation of GUI backends introduce significant maintenance complexity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
patrickjaja/claude-desktop-extra ★ 629 41 APPLICATION

This repository repackages Anthropic's official Claude Desktop Linux .deb with a comprehensive set of Linux-native enhancements and community features. It applies 48 surgical JavaScript patches (compiled from Nim sources) to the minified Electron bundle, adding custom theme engine with 97 bundled dual light/dark palettes, multi-profile isolation, Quick Entry global hotkey, Computer Use desktop automation backends (X11, wlroots, GNOME, KWin portals), and an in-app Extra settings panel for themes, feature flags, and third-party inference configuration. The project produces packages for Arch (pacman), Debian/Ubuntu (APT), Fedora/RHEL (RPM), NixOS (flake), and AppImage, with automated CI that polls upstream every 2 hours, validates patch integrity, and publishes signed repositories. The architecture is a patch overlay on a third-party Electron desktop app. Patches are organized into three groups: linux (31 patches, always-on), core (7 patches, infrastructure), and community (10 patches, opt-in). A Nim-based build system compiles each patch into a native binary that performs regex-based transformations on the minified JS, with strict idempotency checks that fail the build if any pattern doesn't match. The patching system also handles upstream code-split chunks and concatenates/splits them as needed. The theme engine injects CSS custom properties via Electron's insertCSS, supports live reload via file watcher, and includes a full browser UI (theme picker SPA) with search, keyboard navigation, and wallpaper-driven generation via matugen. While the codebase demonstrates high engineering craftsmanship—consistent IPC validation, atomic config writes, robust fallback chains for Computer Use backends, and a reproducible build workflow with byte-identical artifact checks—it is tightly coupled to a single upstream app's minified bundle shape and DOM structure. The 48 patches are a significant maintenance burden that must be re-validated on every upstream release. However, the project is actively maintained, with automated CI catching most regressions, and several patterns (spinner injector, theme engine, config utilities) could be extracted for reuse in other Electron or web applications.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
mackron/vkbind ★ 202 11 APPLICATION

vkbind is a Vulkan API loader and code generator that creates a single header file containing all Vulkan API definitions and functions for dynamically loading Vulkan functions. It parses the official Vulkan XML specifications (vk.xml and video.xml) to generate a comprehensive C header that eliminates the need for the official Vulkan SDK. The generated header includes type definitions, enumerants, function prototypes, and loader functions like vkInit(), vkInitInstanceAPI(), and vkBindAPI() for accessing Vulkan functionality across different platforms.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
marktext/marktext ★ 60071 4449 APPLICATION

MarkText is a cross-platform desktop markdown editor (Electron + Vue 3) powered by the Muya WYSIWYG engine. It provides real-time rendering of CommonMark, GFM, and extended syntax including KaTeX math, mermaid/plantuml diagrams, footnotes, tables, task lists, and 30+ themes. The monorepo contains four packages: `desktop` (Electron shell with IPC, preferences, spellcheck, export), `muya` (TypeScript core editor with block-based state, snabbdom rendering, undo/redo via ot-json1, clipboard, and floating UI components), `muyajs` (legacy JavaScript engine, still present for partial feature parity), and `website` (Next.js documentation site). The architecture follows a block tree pattern where each block type (paragraph, heading, list, table, etc.) is a subclass with consistent parent/content interfaces. Communication between the Electron main and renderer processes uses typed IPC channels. The codebase demonstrates strong software engineering practices with extensive unit and e2e test coverage (Playwright, Vitest), reproducible builds (pnpm monorepo), and a focus on regression testing for edge cases. However, the ongoing migration from the legacy `muyajs` engine to the new `muya` engine introduces some code duplication and technical drift, and some modules retain prototype-style JavaScript alongside modern TypeScript classes.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
librepods-org/librepods ★ 30212 1786 APPLICATION

LibrePods is a cross-platform application suite whose verified purpose is to liberate Apple AirPods from the Apple ecosystem, providing full accessory management on non-Apple hardware. The Android app (Kotlin/Jetpack Compose) offers battery monitoring via BLE manufacturer-data parsing, noise-control mode switching, ear detection, head-gesture recognition, hearing aid adjustments, custom EQ, device takeover, home-screen widgets, Quick Settings tiles, and iOS-style popup overlays. The Linux companion (Qt6/QML) delivers the same control surface through a system tray app backed by BlueZ and PulseAudio, with a Rust rewrite in progress per the ci-linux-rust.yml workflow.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
TomBadash/Mouser ★ 5296 208 APPLICATION

Mouser is an open-source, cross-platform (Windows, macOS, Linux) Logitech mouse remapper that serves as a local, telemetry-free alternative to Logitech Options+. It is a desktop application built with PySide6 and Qt Quick (QML) for the user interface, with platform-specific low-level mouse hooks (WH_MOUSE_LL on Windows, CGEventTap on macOS, evdev+uinput on Linux) to intercept and remap button presses and gestures. The core engine orchestrates per-app profile auto-switching, gesture recognition (swipe detection), a radial actions ring, DPI/SmartShift/haptic feedback control via HID++ protocol, and cross-platform shortcut injection. The application also includes an auto-updater, system tray integration, multi-language support (English, Simplified/Traditional Chinese), and a comprehensive test suite. While primarily a desktop application, it contains some research-like elements such as detailed HID++ protocol reverse engineering and a community-driven device catalog.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
$ loading more...
$ submit: