No description
Find a file
2026-01-12 09:33:13 -06:00
.forgejo/workflows feat: updated format actions with forgejo workflows to have full cacheing 2025-12-07 14:41:49 -06:00
config fix: removed ghc-support for old versions of haskell-language-server 2025-11-27 13:44:34 -06:00
lib refactor: modified flake.nix to add treefmt and use flake-utils 2025-10-20 11:10:48 -05:00
overlays fix: added overlay for lualine-nvim 2025-11-27 13:40:41 -06:00
.gitignore docs: added documentation and licensing to yumevim-nix repo 2025-10-20 22:11:53 -05:00
flake.lock refactor: modified flake.nix to add treefmt and use flake-utils 2025-10-20 11:10:48 -05:00
flake.nix feat: added default profile to nixvim configurations with no obsidian entries 2026-01-12 09:33:13 -06:00
LICENSE docs: added documentation and licensing to yumevim-nix repo 2025-10-20 22:11:53 -05:00
README.md docs: added documentation and licensing to yumevim-nix repo 2025-10-20 22:11:53 -05:00

ゆめヴィム (yumevim-nix)

A modular, reproducible, and declarative Neovim configuration system powered by Nix flakes. yumevim is designed for users who want a maintainable, customizable, and portable Neovim setup, leveraging the power of Nix for plugin management, language tooling, and editor settings.


Features

  • Nix Flake-based: Reproducible and declarative configuration using Nix flakes.
  • Highly Modular: Organized by feature (UI, navigation, language support, utilities, etc.) for easy customization.
  • Plugin Management: Cleanly integrates popular Neovim plugins via Nixvim.
  • Language Support: Built-in LSP, DAP, Treesitter, snippets, and formatting for many languages.
  • Profiles: Minimal and full profiles for different use cases.
  • CI Formatting: Enforced code style with treefmt and Alejandra.

🚀 Installation

Prerequisites

  • Nix (with flakes enabled)

Clone the Repository

git clone https://github.com/c4patino/yumevim-nix.git
cd yumevim-nix

Run Neovim with yumevim

You can run Neovim using the provided flake outputs. For example:

nix run .                           # minimal profile
nix run .#full                      # full profile (with extra language/tools)
nix run github:c4patino/yumevim     # run without downloading

Or build a package:

nix build .#default

🗂️ Project Structure

.github/           - CI workflows (GitHub Actions)
config/            - Main configuration modules
  bundles/         - Bundled config sets (common, default)
  languages/       - Language support (LSP, DAP, snippets, treesitter, etc.)
  navigation/      - Navigation plugins (telescope, nvim-tree, harpoon)
  ui/              - UI plugins (lualine, alpha, notify, etc.)
  utils/           - Utility plugins (lazygit, obsidian, todo-comments, etc.)
  autocmds.nix     - Neovim autocommands
  mappings.nix     - Key mappings
  options.nix      - Editor options
lib/               - Custom Nix library extensions
flake.nix          - Flake entrypoint, defines outputs, packages, checks
flake.lock         - Flake dependency lock file

🛠️ Development & Contribution

Formatting & Checks

  • Run formatting: nix fmt
  • CI will check formatting on push/PR.

Customization

  • Edit or extend modules in config/ to add plugins, languages, or settings.
  • Use the full profile for all features, or default for a minimal setup.

Contributing

  • PRs and issues are welcome! Please keep code modular and well-documented.

👤 Authors


📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.