- Notifications
You must be signed in to change notification settings - Fork83
A Neovim framework and doom emacs alternative for the stubborn martian hacker. Powered by fennel and the oxocarbon theme
License
nyoom-engineering/nyoom.nvim
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
These are your father's parentheses.
Elegant weapons for a more... civilized age.
—xkcd/297
Nyoom.nvim was an answer to abstracted and complex codebases that take away end-user extensibility, try to be a one-size-fits-all config, and needlessly lazy loadeverything. It solves this problem by providing a set of well integrated modules similar to doom-emacs. Modules contain curated plugins and configurations that work together to provide a unified look and feel across all of Nyoom. The end goal of nyoom.nvim is to be used as a framework config for users to extend and add upon, leading to a more unique editing experience.
Nyoom can be anything you'd like. Enable all the modules for the vscode-alternative in you, remove some and turn it into the prose editor of your dreams, or disable everything and have a nice set of macros to start your configuration from scratch!
At its core, Nyoom consists of a set of intuitive macros, a nice standard library, a set of modules, and some opinionated default options, and nothing more.
Designed against the mantras of doom-emacsdoom-emacs:
- Gotta go fast. Startup and run-time performance are priorities.
- Close to metal. There's less between you and vanilla neovim by design. That's less to grok and less to work around when you tinker.
- Opinionated, but not stubborn. Nyoom (and Doom) are about reasonable defaults and curated opinions, but use as little or as much of it as you like.
- Your system, your rules. You know better. At least, Nyoom hopes so! There are no external dependencies (apart from rust), and never will be.
- Nix/Guix is a great idea! The Neovim ecosystem is temperamental. Thingsbreak and they break often. Disaster recovery should be a priority! Nyoom'spackage management should be declarative and your private config reproducible,and comes with a means to roll back releases and updates (still a WIP).
It also aligns with many of Doom's features:
- Minimalistic good looks inspired by modern editors.
- A modular organizational structure for separating concerns in your config.
- A standard library designed to simplify your fennel bike shedding.
- A declarative package management and module system (inspired by
use-package, powered byPacker.nvim). Install packages from anywhere, and pin them to any commit. - A Space(vim)-esque keybinding scheme, centered around leader and localleader prefix keys (SPC and SPCm).
- Project search (and replace) utilities, powered by ripgrep, and telescope.
- Per-file indentation style detection and [editorconfig] integration. Letsomeone else argue about tabs vsspaces
- Support for modern tooling and navigation through language-servers, null-ls, and tree-sitter.
For more info, checkout our (under construction)FAQ
- Neovim v0.8.1+
- Git
- Ripgrep 11.0+
Nyoom works best with a modern terminal withTruecolor support. Optionally, you can installNeovide if you'd like a gui.
Nyoom is comprised of optionalmodules, some of which may have additional dependencies. Run:checkhealth to check for what you may have missed.
git clone --depth 1 https://github.com/nyoom-engineering/nyoom.nvim.git~/.config/nvimcd~/.config/nvim/bin/nyoom install bin/nyoom sync
Then readgetting started to be walked throughinstalling, configuring and maintaining Nyoom Nvim.
It's a good idea to add~/.config/nvim/bin to yourPATH! Otherbin/nyoomcommands you should know about:
nyoom syncto synchronize your private config with Nyoom by installing missingpackages, removing orphaned packages, and regenerating caches. Run thiswhenever you modify yourpackages.fnlandmodules.fnlnyoom upgradeto update Nyoom to the latest releasenyoom lockto dump a snapshot of your currently installed packages to a lockfile file.
Neovim is no journey of a mere thousand miles. Youwill run into problems andmysterious errors. When you do, here are some places you can look for help:
- Our Documentation covers many use cases.
- The builtin
:helpis your best friend - To search available keybinds:
<SPC>fk - Run
:check healthto detect common issues with your developmentenvironment. - SearchNyoom's issue tracker in case your issue was alreadyreported.
- Hop onour Discord server ; it's active and friendly!
If you have an issue with a plugin in Nyoom.nvim, first you should report it here. Please don't bother package maintainers with issues that are caused by my configs, and vice versa.
(under construction)
Checkout theContributor Guide
- I love pull requests and bug reports!
- Don't hesitate totell me my lisp-fusucks, but please tell mewhy.
- Don't see support for your language, or think it should be improved? Feel free to open an issue or PR with your changes.
- David Guevara For getting me into fennel, and for some of his beautiful macros. Without him Nyoom wouldn't exist!
- Oliver Caldwell For his excellent work on Aniseed, Conjure, and making fennel feel like a first class language in neovim
About
A Neovim framework and doom emacs alternative for the stubborn martian hacker. Powered by fennel and the oxocarbon theme
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Uh oh!
There was an error while loading.Please reload this page.
