blob: 5d9a78890c1601f51d0d4d623890fe10a0a95b85 [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001args @ { pkgs
2, lib
3, home
4, username
5, ...
6}:
7let
Skyler Greya7feb6e2022-08-26 06:51:55 +01008 utils = import ../utils lib;
Skyler Grey252927a2022-10-18 22:18:15 +01009in
10{
Skyler Grey6aa7c262022-08-20 22:22:03 +010011 config = {
Skyler Grey55f84552022-09-05 11:04:39 +010012 environment = {
13 variables = {
Skyler Greyf68931b2022-10-31 00:13:46 +000014 EDITOR = "${pkgs.neovim}/bin/nvim";
Skyler Grey55f84552022-09-05 11:04:39 +010015 };
16 defaultPackages = [
17 pkgs.perl
18 pkgs.rsync
19 pkgs.strace
20 pkgs.neovim
21 ]; # The basic default packages, although with nvim replacing nano
Skyler Grey252927a2022-10-18 22:18:15 +010022 persistence."/nix/persist".users.${username}.directories = [ ".local/share/cspell" ];
Skyler Grey6aa7c262022-08-20 22:22:03 +010023 };
Skyler Greya7feb6e2022-08-26 06:51:55 +010024 };
25
26 home = {
27 imports = lib.pipe ./neovim [
28 utils.dirsIn
29 utils.importAll
30 (map (f:
31 if builtins.typeOf f == "lambda"
32 then f args
33 else f))
34 ];
35 programs.neovim = {
36 enable = true;
37 viAlias = true;
38 vimAlias = true;
39 vimdiffAlias = true;
40 };
Skyler Greyf68931b2022-10-31 00:13:46 +000041 home = {
Skyler Greye331d692022-11-02 21:33:09 +000042 packages = with pkgs; [ neovide xclip ];
Skyler Greyf68931b2022-10-31 00:13:46 +000043 sessionVariables = {
44 EDITOR = "${home.programs.neovim.finalPackage}/bin/nvim";
45 };
46 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010047 };
48}