refactor(nixvim): use flake-parts module
A bit more tidy c:
This commit is contained in:
parent
addf563bfc
commit
eacd1a0520
4 changed files with 62 additions and 67 deletions
|
@ -10,7 +10,7 @@ in
|
||||||
./docs.nix
|
./docs.nix
|
||||||
./example-vm.nix
|
./example-vm.nix
|
||||||
./nixos-modules.nix
|
./nixos-modules.nix
|
||||||
./nvim.nix
|
./nixvim-modules.nix
|
||||||
./overlays.nix
|
./overlays.nix
|
||||||
./scripts.nix
|
./scripts.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -9,22 +9,10 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake = {
|
flake = {
|
||||||
nixvimModules =
|
|
||||||
let
|
|
||||||
standalone = modules + "/nixvim/standalone.nix";
|
|
||||||
homeManager = {
|
|
||||||
imports = [
|
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
|
||||||
(modules + "/nixvim")
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit standalone homeManager;
|
|
||||||
};
|
|
||||||
homeManagerModules =
|
homeManagerModules =
|
||||||
let
|
let
|
||||||
defaultModules = [
|
defaultModules = [
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
self.nixvimModules.homeManager
|
self.nixvimModules.homeManager
|
||||||
(modules + "/hm")
|
(modules + "/hm")
|
||||||
];
|
];
|
||||||
|
|
60
flake-modules/nixvim-modules.nix
Normal file
60
flake-modules/nixvim-modules.nix
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{ self, inputs, ... }:
|
||||||
|
let
|
||||||
|
modules = ../modules;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ inputs.nixvim.flakeModules.default ];
|
||||||
|
|
||||||
|
nixvim = {
|
||||||
|
packages.enable = true;
|
||||||
|
checks.enable = false; # FIXME: borked due to nix-community/nixvim#3074
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.nixvimModules = {
|
||||||
|
standalone = modules + "/nixvim/standalone.nix";
|
||||||
|
homeManager = modules + "/nixvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
perSystem =
|
||||||
|
{ system, ... }:
|
||||||
|
let
|
||||||
|
nvimModule = extraConfig: {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
self.nixvimModules.standalone
|
||||||
|
{ performance.combinePlugins.enable = true; }
|
||||||
|
extraConfig
|
||||||
|
];
|
||||||
|
};
|
||||||
|
modules = {
|
||||||
|
nvim = nvimModule { };
|
||||||
|
# Smaller derivations
|
||||||
|
nvim-headless = nvimModule {
|
||||||
|
jhome.nvim.dev.enable = false;
|
||||||
|
jhome.nvim.reduceSize = true;
|
||||||
|
};
|
||||||
|
nvim-small = nvimModule {
|
||||||
|
jhome.nvim.dev.bundleLSPs = false;
|
||||||
|
};
|
||||||
|
nvim-no-ts = nvimModule {
|
||||||
|
jhome.nvim.dev.bundleGrammars = false;
|
||||||
|
};
|
||||||
|
nvim-no-lsps = nvimModule {
|
||||||
|
jhome.nvim.dev = {
|
||||||
|
bundleLSPs = false;
|
||||||
|
bundleGrammars = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
checks = builtins.mapAttrs (
|
||||||
|
_name: module:
|
||||||
|
inputs.nixvim.lib.${system}.check.mkTestDerivationFromNixvimModule {
|
||||||
|
module.imports = module.modules;
|
||||||
|
}
|
||||||
|
) modules;
|
||||||
|
|
||||||
|
nixvimConfigurations = builtins.mapAttrs (_name: inputs.nixvim.lib.evalNixvim) modules;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,53 +0,0 @@
|
||||||
{ inputs, ... }:
|
|
||||||
{
|
|
||||||
perSystem =
|
|
||||||
{ lib, system, ... }:
|
|
||||||
let
|
|
||||||
nixvimLib = inputs.nixvim.lib.${system};
|
|
||||||
nixvim = inputs.nixvim.legacyPackages.${system};
|
|
||||||
testNvimModule = nixvimLib.check.mkTestDerivationFromNixvimModule;
|
|
||||||
nvimModule = extraConfig: {
|
|
||||||
pkgs = inputs.unstable.legacyPackages.${system};
|
|
||||||
module = {
|
|
||||||
imports = [ ../modules/nixvim/standalone.nix ];
|
|
||||||
config = lib.mkMerge [
|
|
||||||
{ performance.combinePlugins.enable = true; }
|
|
||||||
extraConfig
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
moduleDev = nvimModule { };
|
|
||||||
moduleHeadless = nvimModule {
|
|
||||||
jhome.nvim.dev.enable = false;
|
|
||||||
jhome.nvim.reduceSize = true;
|
|
||||||
};
|
|
||||||
moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; };
|
|
||||||
moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; };
|
|
||||||
moduleNoBundledBins = nvimModule {
|
|
||||||
jhome.nvim.dev = {
|
|
||||||
bundleLSPs = false;
|
|
||||||
bundleGrammars = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# Check standalone nvim build
|
|
||||||
checks = {
|
|
||||||
nvimDev = testNvimModule moduleDev;
|
|
||||||
nvimHeadless = testNvimModule moduleHeadless;
|
|
||||||
nvimNoLsp = testNvimModule moduleNoLsp;
|
|
||||||
nvimNoTSGrammars = testNvimModule moduleNoTSGrammars;
|
|
||||||
nvimNoBundledBins = testNvimModule moduleNoBundledBins;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Nvim standalone module
|
|
||||||
packages = {
|
|
||||||
nvim = nixvim.makeNixvimWithModule moduleDev;
|
|
||||||
# Smaller derivations
|
|
||||||
nvim-headless = nixvim.makeNixvimWithModule moduleHeadless;
|
|
||||||
nvim-small = nixvim.makeNixvimWithModule moduleNoBundledBins;
|
|
||||||
nvim-no-ts = nixvim.makeNixvimWithModule moduleNoTSGrammars;
|
|
||||||
nvim-no-lsps = nixvim.makeNixvimWithModule moduleNoLsp;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue