| 1 | { self, inputs }: |
| 2 | user: pkgs: |
| 3 | let |
| 4 | darwin = pkgs.lib.strings.hasSuffix "-darwin" pkgs.stdenv.hostPlatform.system; |
| 5 | |
| 6 | host = { |
| 7 | inherit darwin; |
| 8 | linux = !darwin; |
| 9 | }; |
| 10 | |
| 11 | userDir = ../users + "/${user}"; |
| 12 | userConfig = import (userDir + "/user.nix"); |
| 13 | |
| 14 | config = inputs.nvf.lib.neovimConfiguration { |
| 15 | inherit pkgs; |
| 16 | modules = builtins.filter (f: f != null) [ |
| 17 | (../users + ("/" + user + "/vim.nix")) |
| 18 | ../modules/neovim |
| 19 | ]; |
| 20 | extraSpecialArgs = { |
| 21 | inherit host; |
| 22 | flake = self; |
| 23 | user = userConfig; |
| 24 | }; |
| 25 | }; |
| 26 | in |
| 27 | config.neovim // { input = config; } |