this repo has no description
nix
1{ lib, ... }:
2let
3 settings = {
4 background = "dark";
5 expandtab = true;
6 number = true;
7 relativenumber = true;
8 shiftwidth = 4;
9 tabstop = 4;
10 };
11in
12{
13 den.aspects.base = {
14 os.programs.vim.enable = true;
15
16 homeManager =
17 { config, pkgs, ... }:
18 let
19 inherit (pkgs) vimPlugins;
20 in
21 {
22 xdg.configFile = {
23 "vim/pack/nix/start/catppuccin-vim".source = vimPlugins.catppuccin-vim;
24 "vim/pack/nix/start/editorconfig-vim".source = vimPlugins.editorconfig-vim;
25 "vim/pack/nix/start/vim-sensible".source = vimPlugins.vim-sensible;
26 "vim/vimrc".text = lib.mkMerge [
27 ''
28 set background=${settings.background}
29 set ${if settings.expandtab then "" else "no"}expandtab
30 set ${if settings.number then "" else "no"}number
31 set ${if settings.relativenumber then "" else "no"}relativenumber
32 set shiftwidth=${toString settings.shiftwidth}
33 set tabstop=${toString settings.tabstop}
34 ''
35 (builtins.readFile ./vimrc)
36 "colorscheme catppuccin_${config.catppuccin.flavor}"
37 ];
38 };
39 programs.vim = {
40 inherit settings;
41 enable = true;
42 plugins = builtins.attrValues {
43 inherit (pkgs.vimPlugins)
44 catppuccin-vim
45 editorconfig-vim
46 vim-sensible
47 ;
48 };
49 extraConfig = lib.mkMerge [
50 (builtins.readFile ./vimrc)
51 "colorscheme catppuccin_${config.catppuccin.flavor}"
52 ];
53 };
54 };
55 };
56}