blob: 4b364a068abf80f0fbffa65f81c2112039537771 [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 Grey289997a2023-01-25 21:31:50 +000022 persistence."/nix/persist".users.${username}.directories = [
23 ".local/share/cspell"
24 ".codeium"
25 ".config/nvim/undo"
26 ];
Skyler Grey6aa7c262022-08-20 22:22:03 +010027 };
Skyler Greya7feb6e2022-08-26 06:51:55 +010028 };
29
30 home = {
31 imports = lib.pipe ./neovim [
32 utils.dirsIn
33 utils.importAll
34 (map (f:
35 if builtins.typeOf f == "lambda"
36 then f args
37 else f))
38 ];
39 programs.neovim = {
40 enable = true;
41 viAlias = true;
42 vimAlias = true;
43 vimdiffAlias = true;
44 };
Skyler Greyf68931b2022-10-31 00:13:46 +000045 home = {
Skyler Greye331d692022-11-02 21:33:09 +000046 packages = with pkgs; [ neovide xclip ];
Skyler Greyf68931b2022-10-31 00:13:46 +000047 sessionVariables = {
48 EDITOR = "${home.programs.neovim.finalPackage}/bin/nvim";
49 };
50 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010051 };
52}