summaryrefslogtreecommitdiffstats
path: root/modules/desktop/apps/editors/neovim.nix
blob: 77857a2f81e43d4ab2c836a51b3d361ac7edaa45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
    config,
    options,
    lib,
    pkgs,
    ...
}: let
    nvimConf = config.modules.desktop.apps.editors.neovim;
    configDir = config.nixosConfig.configDir;
in {
    options.modules.desktop.apps.editors.neovim = {
        enable = lib.mkOption {
            type = lib.types.bool;
            default = false;
        };
    };
    
    config = lib.mkIf (nvimConf.enable) {

    	home.manager.xdg.configFile."nvim/init.vim".source = "${configDir}/nvim/init.vim";
    	home.manager.xdg.configFile."nvim/lua/init.lua".source = "${configDir}/nvim/init.lua";
    	home.manager.xdg.configFile."nvim/lua/plugins.lua".source = "${configDir}/nvim/plugins.lua";

        modules.desktop.defaultApplications.apps.editor = rec {
            package = pkgs.neovim;
            install = false;
            cmd = "${package}/bin/nvim";
            desktop = "nvim";
        };

        home.packages = [
            
        ];

        home.manager.programs.neovim = {
            enable = true;
            viAlias = true;
            vimAlias = true;
            withNodeJs = true;
        };
    };
}