A Neovim plugin that automatically syncs the editor's appearance (dark/light mode) with the system settings on macOS, Linux, and Windows.
auto-dark-mode.nvim is a Neovim plugin that automatically changes the editor's appearance between dark and light modes based on the user's system settings. It solves the problem of manually switching themes when the OS appearance changes, ensuring Neovim always matches the desktop environment. The plugin works across macOS, Linux, and Windows by polling system APIs at regular intervals.
Neovim users on macOS, Linux, or Windows who want their editor's theme to automatically sync with their system's dark/light mode setting. It's particularly useful for developers who frequently switch between light and dark environments or use multiple operating systems.
Developers choose this plugin for its cross-platform reliability, minimal configuration, and seamless integration. Unlike manual theme switching or OS-specific solutions, it provides a unified, hands-off approach to appearance management with customizable hooks for advanced use cases.
A Neovim plugin for macOS, Linux & Windows that automatically changes the editor appearance based on system settings.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly on macOS, Linux with compatible DEs, and Windows including WSL, with clear setup instructions for each in the README.
Allows defining Lua functions for set_dark_mode and set_light_mode hooks, enabling users to extend functionality beyond just changing the background option.
Polls the system at a configurable interval (default 3000ms) to detect and apply appearance changes, providing a hands-off experience.
Includes a configurable fallback appearance for scenarios like SSH or TTY usage where auto-detection fails, ensuring consistency.
Only supports Linux desktop environments that implement org.freedesktop.appearance.color-scheme, excluding many window managers without additional tools like darkman.
Requires enabling automount and interop in /etc/wsl.conf for WSL, adding an extra setup step that may confuse users.
The default polling interval can be inefficient for static setups, and setting it too low risks freezing Neovim on shutdown, as warned in the README.