{"id":27177419,"url":"https://github.com/nizamiza/rpm","last_synced_at":"2025-04-09T13:57:26.044Z","repository":{"id":228620574,"uuid":"774474787","full_name":"nizamiza/rpm","owner":"nizamiza","description":"A rudimentary plugin manager for NeoVim.","archived":false,"fork":false,"pushed_at":"2024-05-17T12:30:57.000Z","size":41,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-18T11:46:55.117Z","etag":null,"topics":["lua","neovim","plugin-manager"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nizamiza.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}},"created_at":"2024-03-19T16:01:22.000Z","updated_at":"2024-05-17T12:24:47.000Z","dependencies_parsed_at":"2024-05-17T11:42:46.589Z","dependency_job_id":null,"html_url":"https://github.com/nizamiza/rpm","commit_stats":null,"previous_names":["nizamiza/rpm"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nizamiza%2Frpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nizamiza%2Frpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nizamiza%2Frpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nizamiza%2Frpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nizamiza","download_url":"https://codeload.github.com/nizamiza/rpm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054217,"owners_count":21039951,"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":["lua","neovim","plugin-manager"],"created_at":"2025-04-09T13:57:25.374Z","updated_at":"2025-04-09T13:57:26.019Z","avatar_url":"https://github.com/nizamiza.png","language":"Lua","readme":"# 📦 RPM - A Rudimentary Plugin Manager\n\nRPM is a rudimentary plugin manager for NeoVim. It is designed to be simple and\neasy to use.\n\n## Installation\n\n1. Clone the repository into your `~/.config/nvim/pack/plugins/start` directory:\n\n```sh\ngit clone https://github.com/nizamiza/rpm.git ~/.config/nvim/pack/plugins/start/rpm\n```\n\n2. Create `rpm.lua` in your `~/.config/nvim/lua/plugins/` directory:\n\n```lua\n-- lua/plugins/rpm.lua\nreturn {\n  \"nizamiza/rpm\",\n}\n```\n\n\u003e This is required so that RPM doesn't remove itself when you run `:Rpm clean`.\n\n3. Require the plugin in your `init.lua`:\n\n```lua\nrequire(\"rpm\")\n```\n\n4. Restart NeoVim!\n\n## Usage\n\n1. Define your plugins in `lua/plugins/` directory of your NeoVim configuration\n   directory. The file should correspond to the plugin name. Avoid any extra\n   extensions in the file name (`.vim`, `.nvim`, etc). For example, if you want\n   to install `nvim-telescope/telescope.nvim`, you would create a file called\n   `telescope.lua` in the `lua/plugins/` directory:\n\n   ```lua\n   -- lua/plugins/telescope.lua\n   return {\n     \"nvim-telescope/telescope.nvim\",\n     function()\n       require(\"telescope\").setup({\n         defaults = {\n           layout_strategy = \"vertical\",\n         },\n       })\n     end\n   }\n   ```\n\n   The first element in the table is the plugin name. Either specify a full URL\n   to the repository or a shorthand name if it is available on GitHub.\n\n   The second element is an optional function that will be called after the\n   plugin is loaded. This is useful for calling the setup function for the\n   plugin, setting up keybindings, etc.\n\n   Restart NeoVim after adding or modifying a plugin definition.\n\n2. Telescope has a dependency on `plenary.nvim`. To define a plugin dependency,\n   you can pass a table as the first element in the plugin definition. Make sure\n   that the main plugin is the last element in the table. For example:\n\n   ```lua\n   -- lua/plugins/telescope.lua\n   return {\n     {\n       \"nvim-lua/plenary.nvim\",\n       \"nvim-telescope/telescope.nvim\",\n     },\n     function()\n       require(\"telescope\").setup({\n         defaults = {\n           layout_strategy = \"vertical\",\n         },\n       })\n     end\n   }\n   ```\n\n   You can use this to define dependencies or just to group plugins together.\n   But remember that only the last plugin is treated as the \"main\" plugin.\n   Others will not show up when you run `:Rpm list`.\n\n3. Run `:Rpm install \u003cplugin-name\u003e` to install a plugin and its dependencies.\n   This will clone the repositories into the\n   `~/.config/nvim/pack/plugins/start/` directory and then run the setup\n   function for each plugin.\n\n4. Alternatively, run `:Rpm install_all` to install all plugins in the\n   `lua/plugins/` directory.\n\n5. Run `:Rpm generate_helptags` to generate helptags for a plugin. By default,\n   RPM runs the help tag generation command for each plugin after it is\n   installed. You can run this command manually if you need to regenerate the\n   helptags.\n\n6. Run `:Rpm list` to see a list of installed plugins.\n\n7. Run `:Rpm update` to update a specific plugin.\n\n8. Run `:Rpm update_all` to update all plugins.\n\n9. Run `:Rpm clean` to remove all plugins that are not defined in the\n   `lua/plugins/` directory.\n\n10. Run `:Rpm delete` to remove a specific plugin.\n\n11. Run `:Rpm delete_all` to remove all plugins.\n\nYou can run `:Run help` to see a list of available commands.\n\n## Remarks\n\nRPM is indeed a rudimentary plugin manager. It is not designed to be a\nfull-featured plugin manager like `vim-plug` or `packer.nvim`. If you seek more\nadvanced features, consider alternatives.\n\n## License\n\nThis project is licensed under the Apache License, Version 2.0. See\n[LICENSE](LICENSE) for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnizamiza%2Frpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnizamiza%2Frpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnizamiza%2Frpm/lists"}