{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":489303045,"defaultBranch":"master","name":"home-manager","ownerLogin":"KFearsoff","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-05-06T09:56:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/66781795?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1695713913.0","currentOid":""},"activityList":{"items":[{"before":"dd88dbc69438384bd94f8282584a86798750028c","after":null,"ref":"refs/heads/make-final-neovim-drv-visible","pushedAt":"2023-09-26T07:38:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"KFearsoff","name":null,"path":"/KFearsoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66781795?s=80&v=4"}},{"before":"ec9e834cce3417bbe54f5fe523ce7d1cece63052","after":"dd88dbc69438384bd94f8282584a86798750028c","ref":"refs/heads/make-final-neovim-drv-visible","pushedAt":"2023-09-26T06:01:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rycee","name":"Robert Helgesson","path":"/rycee","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/798147?s=80&v=4"},"commit":{"message":"neovim: expose `finalPackage`\n\nMake the `finalPackage` option public, but still read-only. The final\npackage option is quite useful for users.\n\nFor example, to integrate `lazy.nvim` with Nix there are three things\nthat must be done:\n\n1. `lazy.nvim` resets packpath, which should be managed by Nix; it has\n to be turned off with `performance.reset_packpath = false` option in\n `lazy.nvim`\n\n2. Same thing applies to rtp, the relevant option is\n `performance.rtp.reset = false`\n\n3. `dev.path` must be specified as the folder that contains the plugins.\n This folder is the path to Nix store path with Neovim plugins, and\n the plugins that are managed by Nix must be marked as `dev = true`\n\nThe third condition can not be fulfilled without this PR, as the final\npackage that Home Manager produces is not exposed, therefore it is\nimpossible to extract the Nix store path. This PR makes it more\naccessible via\n\n ${\n pkgs.vimUtils.packDir config.programs.neovim.finalPackage.passthru.packpathDirs\n }/pack/myNeovimPackages/start","shortMessageHtmlLink":"neovim: expose finalPackage"}},{"before":null,"after":"ec9e834cce3417bbe54f5fe523ce7d1cece63052","ref":"refs/heads/make-final-neovim-drv-visible","pushedAt":"2023-09-14T11:41:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KFearsoff","name":null,"path":"/KFearsoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66781795?s=80&v=4"},"commit":{"message":"neovim: expose finalPackage\n\nCurrently, there are 5 packages that can be managed with Home Manager\nthat expose `finalPackage` option publicly: `pandoc`, `rofi`,\n`timidity`, `emacs`, `hyprland`. This commit adds the 6th one: `neovim`.\nWhile the final package that is being built after all of the\nmodifications should be considered an implementation detail, in cases of\ncomplex software like `neovim` this could hide important details.\n\nOne particular case that comes to mind is using `lazy.nvim` package\nmanager. It exposes a number of useful APIs that really help managing\nconfiguration, such as conditional keybindings, dependency tree\nbuilding, merging configurations, and so on. Questions about using it on\nNixOS come up often, because manually recreating this functionality is\nhard, and it's a very popular method of managing plugins that has good\nUI/UX.\n\nAs it is now, it is impossible to use `lazy.nvim` with Nix efficiently.\n`lazy.nvim` monopolizes the plugin management, which means that\ninstalling plugins with Nix and managing them with `lazy.nvim` is not\nsupported. Some of the pitfalls are already described:\nhttps://github.com/folke/lazy.nvim/issues/402\nhttps://github.com/folke/lazy.nvim/issues/66\n\nIn short, to integrate `lazy.nvim` with Nix there are three things that\nmust be done:\n1. `lazy.nvim` resets packpath, which should be managed by Nix; it has\n to be turned off with `performance.reset_packpath = false` option in\n `lazy.nvim`\n2. Same thing applies to rtp, the relevant option is\n `performance.rtp.reset = false`\n3. `dev.path` must be specified as the folder that contains the plugins.\n This folder is the path to Nix store path with Neovim plugins, and\n the plugins that are managed by Nix must be marked as `dev = true`\nThe third condition can not be fulfilled without this PR, as the final\npackage that Home Manager produces is not exposed, therefore it is\nimpossible to extract the Nix store path. This PR makes it possible to\nbe extracted via `${pkgs.vimUtils.packDir\nconfig.home-manager.users..programs.neovim.finalPackage.passthru.packpathDirs}/pack/myNeovimPackages/start}`\nexpression.","shortMessageHtmlLink":"neovim: expose finalPackage"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADiOPgOAA","startCursor":null,"endCursor":null}},"title":"Activity ยท KFearsoff/home-manager"}