blob: e4908b6bf20ab637617d5bfd77c8a5edc919aee4 [file] [log] [blame]
Skyler Greya7feb6e2022-08-26 06:51:55 +01001args @ {
2 pkgs,
3 lib,
4 home,
Skyler Grey55f84552022-09-05 11:04:39 +01005 username,
Skyler Greya7feb6e2022-08-26 06:51:55 +01006 ...
7}: let
8 utils = import ../utils lib;
9in {
Skyler Grey6aa7c262022-08-20 22:22:03 +010010 config = {
Skyler Grey55f84552022-09-05 11:04:39 +010011 environment = {
12 variables = {
Skyler Greyf68931b2022-10-31 00:13:46 +000013 EDITOR = "${pkgs.neovim}/bin/nvim";
Skyler Grey55f84552022-09-05 11:04:39 +010014 };
15 defaultPackages = [
16 pkgs.perl
17 pkgs.rsync
18 pkgs.strace
19 pkgs.neovim
20 ]; # The basic default packages, although with nvim replacing nano
21 persistence."/nix/persist".users.${username}.directories = [".local/share/cspell"];
Skyler Grey6aa7c262022-08-20 22:22:03 +010022 };
Skyler Greya7feb6e2022-08-26 06:51:55 +010023 };
24
25 home = {
26 imports = lib.pipe ./neovim [
27 utils.dirsIn
28 utils.importAll
29 (map (f:
30 if builtins.typeOf f == "lambda"
31 then f args
32 else f))
33 ];
34 programs.neovim = {
35 enable = true;
36 viAlias = true;
37 vimAlias = true;
38 vimdiffAlias = true;
39 };
Skyler Greyf68931b2022-10-31 00:13:46 +000040 home = {
41 packages = [pkgs.neovide];
42 sessionVariables = {
43 EDITOR = "${home.programs.neovim.finalPackage}/bin/nvim";
44 };
45 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010046 };
47}