{"id":24143276,"url":"https://github.com/alejandrogomezfrieiro/nixvim_config","last_synced_at":"2026-04-29T01:01:26.512Z","repository":{"id":270491570,"uuid":"910540578","full_name":"AlejandroGomezFrieiro/nixvim_config","owner":"AlejandroGomezFrieiro","description":"Nix flake for a basic neovim configuration using nixvim.","archived":false,"fork":false,"pushed_at":"2026-03-04T20:01:16.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-04T20:53:30.572Z","etag":null,"topics":["neovim","neovim-configuration","nix","nix-flake","nixvim","nixvim-config","reproducibility"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlejandroGomezFrieiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-31T15:15:14.000Z","updated_at":"2026-03-04T20:01:35.000Z","dependencies_parsed_at":"2025-06-01T14:54:09.118Z","dependency_job_id":"15b390ae-fa33-4541-87ca-ec57f71954e3","html_url":"https://github.com/AlejandroGomezFrieiro/nixvim_config","commit_stats":null,"previous_names":["alejandrogomezfrieiro/nixvim_config"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/AlejandroGomezFrieiro/nixvim_config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroGomezFrieiro%2Fnixvim_config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroGomezFrieiro%2Fnixvim_config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroGomezFrieiro%2Fnixvim_config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroGomezFrieiro%2Fnixvim_config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlejandroGomezFrieiro","download_url":"https://codeload.github.com/AlejandroGomezFrieiro/nixvim_config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlejandroGomezFrieiro%2Fnixvim_config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","neovim-configuration","nix","nix-flake","nixvim","nixvim-config","reproducibility"],"created_at":"2025-01-12T05:14:54.428Z","updated_at":"2026-04-29T01:01:26.501Z","avatar_url":"https://github.com/AlejandroGomezFrieiro.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nix-snowflake-rainbow.svg\" width=\"200px\" height=\"200px\" /\u003e\n  \u003cbr\u003e\n\n  \u003cdiv align=\"center\"\u003e\n   \u003cp\u003e\u003c/p\u003e\n   \u003ca href=\"https://github.com/sioodmy/dotfiles/\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/repo-size/AlejandroGomezFrieiro/nixvim_config?color=ea999c\u0026labelColor=303446\"\u003e\n   \u003c/a\u003e\n      \u003ca = href=\"https://nixos.org\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/NixOS-unstable-blue.svg?labelColor=303446\u0026logo=NixOS\u0026logoColor=white\u0026color=91D7E3\"\u003e\n    \u003c/a\u003e\n   \u003cbr\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003c/h1\u003e\n\nThis flake contains my neovim configuration, using nixvim for reproducibility.\n\n# Usage\n\nFor standalone usage, the default package will run my neovim configuration.\n```bash\nnix run github:AlejandroGomezFrieiro/nixvim_config\n```\n\n# Installation\n\n## Non NixOS systems\n\n```bash\nnix profile install github:AlejandroGomezFrieiro/nixvim_config#nixvim\n```\n\n# Using as a base in your own flake\n\nThis flake is designed to be imported as a base and extended. The\n`nixosModules.default` export exposes the full configuration through the NixOS\nmodule system, so any setting can be overridden from your downstream flake\nwithout touching this repo.\n\n## Minimal downstream flake\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n    nixvim.url = \"github:nix-community/nixvim\";\n    nixvim.inputs.nixpkgs.follows = \"nixpkgs\";\n    nixvim_config.url = \"github:AlejandroGomezFrieiro/nixvim_config\";\n    nixvim_config.inputs.nixpkgs.follows = \"nixpkgs\";\n  };\n\n  outputs = { nixpkgs, nixvim, nixvim_config, ... }: let\n    system = \"x86_64-linux\";\n    pkgs   = import nixpkgs { inherit system; };\n    nvim   = nixvim.legacyPackages.${system}.makeNixvimWithModule {\n      inherit pkgs;\n      module = {\n        imports = [ nixvim_config.nixosModules.default ];\n        # your overrides go here\n      };\n    };\n  in {\n    packages.${system}.default = nvim;\n  };\n}\n```\n\n## Feature flags (`nixvim-config.*`)\n\nAll major features default to `true` and can be turned off with a plain\nassignment — no `lib.mkForce` required.\n\n| Option | Default | Controls |\n|---|---|---|\n| `nixvim-config.ai.enable` | `true` | codecompanion + opencode |\n| `nixvim-config.remoteDev.enable` | `true` | remote-nvim |\n| `nixvim-config.wezterm.enable` | `true` | smart-splits / WezTerm keymaps |\n| `nixvim-config.ui.noice.enable` | `true` | noice.nvim command-line UI |\n| `nixvim-config.ui.image.enable` | `true` | image.nvim inline images |\n| `nixvim-config.ui.fyler.enable` | `true` | fyler file tree |\n\nExample — a config that disables WezTerm and remote-dev:\n\n```nix\nimports = [ nixvim_config.nixosModules.default ];\n\nnixvim-config.wezterm.enable   = false;\nnixvim-config.remoteDev.enable = false;\n```\n\n## Overriding any nixvim option\n\nEvery setting in this config uses `lib.mkDefault`, so a plain assignment in\nyour module wins automatically:\n\n```nix\nimports = [ nixvim_config.nixosModules.default ];\n\n# Switch the default colorscheme\ncolorschemes.catppuccin.enable  = false;\ncolorschemes.gruvbox.enable     = true;\n\n# Change the default LSP adapter for codecompanion\nplugins.codecompanion.settings.strategies.chat.adapter = \"openrouter_claude\";\n\n# Disable a specific LSP server\nplugins.lsp.servers.rust_analyzer.enable = false;\n```\n\n## Adding LuaSnip snippets\n\nExtra snippet directories are **merged with** the built-in ones, so the base\nsnippets are always preserved:\n\n```nix\nimports = [ nixvim_config.nixosModules.default ];\n\nnixvim-config.lsp.extraSnippetPaths = [ ./snippets ];\n```\n\n## Extending codecompanion adapters and prompts\n\n`adapters` and `prompt_library` are attrsets, so new entries added downstream\nare merged automatically. Existing entries (e.g. `chutes_ai`, `Ask\nMathematician`) can be replaced by assigning the same key.\n\n```nix\nimports = [ nixvim_config.nixosModules.default ];\n\n# Add a new adapter\nplugins.codecompanion.settings.adapters.work_llm = {\n  __raw = ''\n    function()\n      return require(\"codecompanion.adapters\").extend(\"openai_compatible\", {\n        env = {\n          url     = \"https://my-company.llm.internal\";\n          api_key = os.getenv(\"WORK_API_KEY\");\n          chat_url = \"/v1/chat/completions\",\n        };\n        schema.model.default = \"gpt-4o\";\n      })\n    end\n  '';\n};\n\n# Add a new prompt\nplugins.codecompanion.settings.prompt_library.\"Daily Standup\" = {\n  description = \"Generate a standup update from recent git commits\";\n  strategy    = \"chat\";\n  opts.short_name = \"standup\";\n  prompts = [\n    {\n      role    = \"user\";\n      content = \"Summarise my recent commits into a standup update.\";\n    }\n  ];\n};\n\n# Override an existing prompt\nplugins.codecompanion.settings.prompt_library.\"Ask Mathematician\" = {\n  # ... replacement definition\n};\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrogomezfrieiro%2Fnixvim_config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falejandrogomezfrieiro%2Fnixvim_config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falejandrogomezfrieiro%2Fnixvim_config/lists"}