mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-22 08:53:28 +02:00
flake: export raw modules
This commit is contained in:
parent
a6eec507cc
commit
ffe3b6d3d8
1 changed files with 156 additions and 147 deletions
73
flake.nix
73
flake.nix
|
@ -10,12 +10,12 @@
|
||||||
inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
||||||
inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
self,
|
{ self
|
||||||
nixpkgs,
|
, nixpkgs
|
||||||
flake-utils,
|
, flake-utils
|
||||||
pre-commit-hooks,
|
, pre-commit-hooks
|
||||||
...
|
, ...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
with nixpkgs.lib;
|
with nixpkgs.lib;
|
||||||
with builtins; let
|
with builtins; let
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
_module.args = {
|
_module.args = {
|
||||||
pkgs = mkForce pkgs;
|
pkgs = mkForce pkgs;
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
helpers = import ./plugins/helpers.nix {inherit (pkgs) lib;};
|
helpers = import ./plugins/helpers.nix { inherit (pkgs) lib; };
|
||||||
inputs = inputs;
|
inputs = inputs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -43,11 +43,13 @@
|
||||||
|
|
||||||
flakeOutput =
|
flakeOutput =
|
||||||
flake-utils.lib.eachDefaultSystem
|
flake-utils.lib.eachDefaultSystem
|
||||||
(system: let
|
(system:
|
||||||
pkgs = import nixpkgs {inherit system;};
|
let
|
||||||
extractRustAnalyzer = {
|
pkgs = import nixpkgs { inherit system; };
|
||||||
stdenv,
|
extractRustAnalyzer =
|
||||||
pkgs,
|
{ stdenv
|
||||||
|
, pkgs
|
||||||
|
,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "extract_rust_analyzer";
|
pname = "extract_rust_analyzer";
|
||||||
|
@ -56,7 +58,7 @@
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
buildInputs = [pkgs.python3];
|
buildInputs = [ pkgs.python3 ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
ls -la
|
ls -la
|
||||||
|
@ -64,8 +66,9 @@
|
||||||
cp ${./helpers/extract_rust_analyzer.py} $out/bin/extract_rust_analyzer.py
|
cp ${./helpers/extract_rust_analyzer.py} $out/bin/extract_rust_analyzer.py
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
extractRustAnalyzerPkg = pkgs.callPackage extractRustAnalyzer {};
|
extractRustAnalyzerPkg = pkgs.callPackage extractRustAnalyzer { };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
checks =
|
checks =
|
||||||
(import ./tests {
|
(import ./tests {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
@ -81,7 +84,7 @@
|
||||||
hooks = {
|
hooks = {
|
||||||
alejandra = {
|
alejandra = {
|
||||||
enable = true;
|
enable = true;
|
||||||
excludes = ["plugins/_sources"];
|
excludes = [ "plugins/_sources" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -97,9 +100,9 @@
|
||||||
};
|
};
|
||||||
runUpdates =
|
runUpdates =
|
||||||
pkgs.callPackage
|
pkgs.callPackage
|
||||||
({
|
({ pkgs
|
||||||
pkgs,
|
, stdenv
|
||||||
stdenv,
|
,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "run-updates";
|
pname = "run-updates";
|
||||||
|
@ -107,7 +110,7 @@
|
||||||
|
|
||||||
src = pkgs.rust-analyzer.src;
|
src = pkgs.rust-analyzer.src;
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [extractRustAnalyzerPkg alejandra];
|
nativeBuildInputs = with pkgs; [ extractRustAnalyzerPkg alejandra ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
extract_rust_analyzer.py editors/code/package.json |
|
extract_rust_analyzer.py editors/code/package.json |
|
||||||
|
@ -119,7 +122,7 @@
|
||||||
cp rust-analyzer-config.nix $out/share
|
cp rust-analyzer-config.nix $out/share
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
{};
|
{ };
|
||||||
# Used to updates plugins, launch 'nix run .#nvfetcher' in the 'plugins' directory
|
# Used to updates plugins, launch 'nix run .#nvfetcher' in the 'plugins' directory
|
||||||
nvfetcher = pkgs.nvfetcher;
|
nvfetcher = pkgs.nvfetcher;
|
||||||
};
|
};
|
||||||
|
@ -132,15 +135,16 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
formatter = let
|
formatter =
|
||||||
|
let
|
||||||
# We need to exclude the plugins/_sources/* files as they are autogenerated
|
# We need to exclude the plugins/_sources/* files as they are autogenerated
|
||||||
# nix formatter only takes a derivation so we need to make a proxy that passes
|
# nix formatter only takes a derivation so we need to make a proxy that passes
|
||||||
# the correct flags
|
# the correct flags
|
||||||
excludeWrapper = {
|
excludeWrapper =
|
||||||
stdenv,
|
{ stdenv
|
||||||
alejandra,
|
, alejandra
|
||||||
writeShellScript,
|
, writeShellScript
|
||||||
...
|
, ...
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "alejandra-excludes";
|
pname = "alejandra-excludes";
|
||||||
|
@ -148,17 +152,19 @@
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
installPhase = let
|
installPhase =
|
||||||
|
let
|
||||||
script = writeShellScript "alejandra-excludes.sh" ''
|
script = writeShellScript "alejandra-excludes.sh" ''
|
||||||
${alejandra}/bin/alejandra --exclude ./plugins/_sources "$@"
|
${alejandra}/bin/alejandra --exclude ./plugins/_sources "$@"
|
||||||
'';
|
'';
|
||||||
in ''
|
in
|
||||||
|
''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp ${script} $out/bin/alejandra-excludes
|
cp ${script} $out/bin/alejandra-excludes
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.callPackage excludeWrapper {};
|
pkgs.callPackage excludeWrapper { };
|
||||||
|
|
||||||
lib = import ./lib {
|
lib = import ./lib {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
@ -171,13 +177,16 @@
|
||||||
nixosModules.nixvim = import ./wrappers/nixos.nix modules;
|
nixosModules.nixvim = import ./wrappers/nixos.nix modules;
|
||||||
homeManagerModules.nixvim = import ./wrappers/hm.nix modules;
|
homeManagerModules.nixvim = import ./wrappers/hm.nix modules;
|
||||||
nixDarwinModules.nixvim = import ./wrappers/darwin.nix modules;
|
nixDarwinModules.nixvim = import ./wrappers/darwin.nix modules;
|
||||||
|
rawModules.nixvim = modules;
|
||||||
|
|
||||||
templates = let
|
templates =
|
||||||
|
let
|
||||||
simple = {
|
simple = {
|
||||||
path = ./templates/simple;
|
path = ./templates/simple;
|
||||||
description = "A simple nix flake template for getting started with nixvim";
|
description = "A simple nix flake template for getting started with nixvim";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
default = simple;
|
default = simple;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue