{"id":13682429,"url":"https://github.com/elythh/nixvim","last_synced_at":"2025-04-30T09:32:32.288Z","repository":{"id":220600554,"uuid":"752072978","full_name":"elythh/nixvim","owner":"elythh","description":"❄️ my neovim config using nixvim","archived":false,"fork":false,"pushed_at":"2024-10-24T09:49:46.000Z","size":4804,"stargazers_count":153,"open_issues_count":1,"forks_count":33,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T12:33:34.414Z","etag":null,"topics":["neovim","nix","nixvim","vim"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elythh.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-03T00:28:27.000Z","updated_at":"2024-10-24T09:49:50.000Z","dependencies_parsed_at":"2024-03-16T16:35:40.781Z","dependency_job_id":"7e1b5dce-221e-4527-8957-72da49e1c6a6","html_url":"https://github.com/elythh/nixvim","commit_stats":null,"previous_names":["elythh/nixvim"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elythh%2Fnixvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elythh%2Fnixvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elythh%2Fnixvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elythh%2Fnixvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elythh","download_url":"https://codeload.github.com/elythh/nixvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224206061,"owners_count":17273380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["neovim","nix","nixvim","vim"],"created_at":"2024-08-02T13:01:45.900Z","updated_at":"2025-04-30T09:32:32.282Z","avatar_url":"https://github.com/elythh.png","language":"Nix","funding_links":[],"categories":["Nix"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/neovim-flake-logo-work.svg\" alt=\"neovim-flake Logo\"  width=\"200\"\u003e\n\u003c/div\u003e\n\n# Nixvim config\n\n\u003e [!Important]\n\u003e\n\u003e **My Neovim config using nixvim**\n\u003e\n\u003e You may have previously seen this repo with a different structure/configuration. \\\n\u003e The thing is: I wasn't satisfied with it. \\\n\u003e So I rewrote it from scratch with minimal dependencies. \\\n\u003e If you want the old configuration, check out the `old` branch.\n\n\u003e [!NOTE]  \n\u003e The colorscheme in these screenshots is rose pine\n\n\u003cimg src=\"assets/nvim.png\" alt=\"nvim\"\u003e\n\n## Configuring\n\nTo start configuring, just add or modify the nix files in `./config`.\nEvery folder in the `plugins` directory will be imported automatically.\n\n### Current plugins\n\n\u003e [!WARNING]\n\u003e Some of them might be disabled, this is every plugins defined and configured in the repo.\n\n\u003cdetails\u003e\n    \u003csummary\u003eList of plugins\u003c/summary\u003e\n\n- **[avante](../modules/nixvim/plug/avante/default.nix):** Cursor AI at home\n- **[copilot-cmp](../modules/nixvim/plug/copilot-cmp/default.nix):** Completion support for GitHub copilot\n- **[gitlinker](../modules/nixvim/plug/gitlinker/default.nix):** Generate shareable file permalinks\n- **[conform](../modules/nixvim/plug/conform/default.nix):** Formatter plugin\n- **[lint](../modules/nixvim/plug/lint/default.nix):** Linting plugin\n- **[lsp](../modules/nixvim/plug/lsp/default.nix):** LSP configs\n- **[none-ls](../modules/nixvim/plug/none-ls/default.nix):** null-ls replacement. Use nvim as LSP\n- **[snacks](../modules/nixvim/plug/snacks)**: A list of utilities\n  - Currently using:\n    - git\n    - indent\n    - picker\n    - lazygit\n    - notifier\n- **[treesitter](../modules/nixvim/plug/treesitter/default.nix):** Parser generator tool to build a syntax tree of the current buffer\n- **[bufferline](../modules/nixvim/plug/bufferline/default.nix):** VSCode like buffer line\n- **[noice](../modules/nixvim/plug/noice/default.nix):** Better nvim UI\n- **[mini](../modules/nixvim/plug/mini/default.nix):** Cool neovim utilities\n  - currently using\n    - ai\n    - clue\n    - diff\n    - files\n- **[ufo](../modules/nixvim/plug/ufo/default.nix):** Folding plugin\n\n\u003c/details\u003e\n\n## Testing your new configuration\n\nTo test your configuration simply run the following command\n\n```\nnix run .\n```\n\nIf you have nix installed, you can directly run my config from anywhere\n\nYou can try running mine with:\n\n```shell\nnix run 'github:elythh/nixvim'\n```\n\n## Installing into NixOS configuration\n\nThis `nixvim` flake will output a derivation that you can easily include\nin either `home.packages` for `home-manager`, or\n`environment.systemPackages` for `NixOS`. Or whatever happens with darwin?\n\nYou can add my `nixvim` configuration as an input to your `NixOS` configuration like:\n\n```nix\n{\n inputs = {\n    nixvim.url = \"github:elythh/nixvim\";\n };\n}\n```\n\n### Direct installation\n\nWith the input added you can reference it directly.\n\n```nix\n{ inputs, system, ... }:\n{\n  # NixOS\n  environment.systemPackages = [ inputs.nixvim.packages.${pkgs.system}.default ];\n  # home-manager\n  home.packages = [ inputs.nixvim.packages.${pkgs.system}.default ];\n}\n```\n\nThe binary built by `nixvim` is already named as `nvim` so you can call it just\nlike you normally would.\n\n### Installing as an overlay\n\nAnother method is to overlay your custom build over `neovim` from `nixpkgs`.\n\nThis method is less straight-forward but allows you to install `neovim` like\nyou normally would. With this method you would just install `neovim` in your\nconfiguration (`home.packages = with pkgs; [ neovim ]`), but you replace\n`neovim` in `pkgs` with your derivation from `nixvim`.\n\n```nix\n{\n  pkgs = import inputs.nixpkgs {\n    overlays = [\n      (final: prev: {\n        neovim = inputs.nixvim.packages.${pkgs.system}.default;\n      })\n    ];\n  }\n}\n```\n\n### Bonus lazy method\n\nYou can just straight up alias something like `nix run\n'github:elythh/nixvim'` to `nvim`.\n\n## Credits\n\n- [yavko](https://github.com/yavko) for the logo\n- [nixvim](https://github.com/nix-community/nixvim) and all their maintainers/contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felythh%2Fnixvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felythh%2Fnixvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felythh%2Fnixvim/lists"}