From 2122a01f99c6da466b8f0f55c965c11a9043d117 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sat, 9 Nov 2024 12:35:44 +0100 Subject: refactor(modules/legacy/conf/nvim): Move to `by-name` --- modules/by-name/nv/nvim/module.nix | 69 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 modules/by-name/nv/nvim/module.nix (limited to 'modules/by-name/nv/nvim/module.nix') diff --git a/modules/by-name/nv/nvim/module.nix b/modules/by-name/nv/nvim/module.nix new file mode 100644 index 00000000..829a9c2b --- /dev/null +++ b/modules/by-name/nv/nvim/module.nix @@ -0,0 +1,69 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.soispha.programs.nvim; +in { + imports = [ + ./autocmds + ./clipboard + ./files + ./mappings + ./options + ./plgs + ]; + + options.soispha.programs.nvim = { + enable = lib.mkEnableOption "custom nvim config"; + shell = lib.mkOption { + type = lib.types.package; + description = "The package to use for the shell in :!"; + }; + }; + + config = lib.mkIf cfg.enable { + home-manager.users.soispha = { + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + CODEEDITOR = "nvim"; + }; + programs.nixvim = { + enable = true; + + # source: https://www.patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=Neovim + extraConfigLuaPre = lib.mkBefore '' + --------------------------------------------------------------------------- + -- + -- ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ + -- ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ + -- ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ + -- ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ + -- ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ + -- ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ + -- + --------------------------------------------------------------------------- + ''; + + extraPackages = with pkgs; [ + /* + These are mostly linters and formatters used for different file types. + Including them here is fine, as they are not necessarily-sync able to different people. + */ + # nix + alejandra + statix + + # yaml + yamllint + + # shell + shellcheck + shfmt + ]; + }; + }; + }; +} -- cgit 1.4.1