Add and use alejandra to format Nix files
This commit is contained in:
parent
b55886673f
commit
98737c69e9
35
flake.nix
35
flake.nix
|
@ -1,23 +1,34 @@
|
||||||
{
|
{
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
outputs = inputs@{ self, flake-parts, ... }:
|
outputs = inputs @ {
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
self,
|
||||||
|
flake-parts,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||||
flake = {
|
flake = {
|
||||||
lib = import ./lib { inherit inputs; };
|
lib = import ./lib {inherit inputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
systems = [ "x86_64-linux" ];
|
systems = ["x86_64-linux"];
|
||||||
|
|
||||||
perSystem = { pkgs, self', system, ... }:
|
perSystem = {
|
||||||
let
|
pkgs,
|
||||||
default = self.lib.mkVimPlugin { inherit system; };
|
self',
|
||||||
neovim = self.lib.mkNeovim { inherit system; };
|
system,
|
||||||
in
|
...
|
||||||
{
|
}: let
|
||||||
packages = { inherit default neovim; };
|
default = self.lib.mkVimPlugin {inherit system;};
|
||||||
|
neovim = self.lib.mkNeovim {inherit system;};
|
||||||
|
in {
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
nativeBuildInputs = [pkgs.just];
|
||||||
|
};
|
||||||
|
|
||||||
formatter = pkgs.nixpkgs-fmt;
|
packages = {inherit default neovim;};
|
||||||
|
|
||||||
|
formatter = pkgs.alejandra;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
{ inputs }:
|
{inputs}: let
|
||||||
|
|
||||||
let
|
|
||||||
inherit (inputs.nixpkgs) legacyPackages;
|
inherit (inputs.nixpkgs) legacyPackages;
|
||||||
in
|
in rec {
|
||||||
rec {
|
mkVimPlugin = {system}: let
|
||||||
mkVimPlugin = { system }:
|
|
||||||
let
|
|
||||||
inherit (pkgs) vimUtils;
|
inherit (pkgs) vimUtils;
|
||||||
inherit (vimUtils) buildVimPlugin;
|
inherit (vimUtils) buildVimPlugin;
|
||||||
pkgs = legacyPackages.${system};
|
pkgs = legacyPackages.${system};
|
||||||
|
@ -25,15 +21,14 @@ rec {
|
||||||
src = ../.;
|
src = ../.;
|
||||||
};
|
};
|
||||||
|
|
||||||
mkNeovimPlugins = { system }:
|
mkNeovimPlugins = {system}: let
|
||||||
let
|
|
||||||
inherit (pkgs) vimPlugins;
|
inherit (pkgs) vimPlugins;
|
||||||
|
|
||||||
pkgs = (import inputs.nixpkgs {
|
pkgs = import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
});
|
};
|
||||||
|
|
||||||
customVim = {
|
customVim = {
|
||||||
tabline-vim = pkgs.vimUtils.buildVimPlugin {
|
tabline-vim = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
@ -97,9 +92,8 @@ rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
opdavies-nvim = mkVimPlugin { inherit system; };
|
opdavies-nvim = mkVimPlugin {inherit system;};
|
||||||
in
|
in [
|
||||||
[
|
|
||||||
customVim.tabline-vim
|
customVim.tabline-vim
|
||||||
customVim.vim-caser
|
customVim.vim-caser
|
||||||
customVim.vim-heritage
|
customVim.vim-heritage
|
||||||
|
@ -236,17 +230,15 @@ rec {
|
||||||
opdavies-nvim
|
opdavies-nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
mkExtraPackages = { system }:
|
mkExtraPackages = {system}: let
|
||||||
let
|
|
||||||
inherit (pkgs) nodePackages;
|
inherit (pkgs) nodePackages;
|
||||||
|
|
||||||
pkgs = (import inputs.nixpkgs {
|
pkgs = import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
});
|
};
|
||||||
in
|
in [
|
||||||
[
|
|
||||||
# Languages
|
# Languages
|
||||||
nodePackages.typescript
|
nodePackages.typescript
|
||||||
pkgs.php81
|
pkgs.php81
|
||||||
|
@ -272,6 +264,7 @@ rec {
|
||||||
pkgs.terraform-ls
|
pkgs.terraform-ls
|
||||||
|
|
||||||
# Formatters
|
# Formatters
|
||||||
|
pkgs.alejandra
|
||||||
pkgs.black
|
pkgs.black
|
||||||
pkgs.nodePackages.prettier
|
pkgs.nodePackages.prettier
|
||||||
pkgs.stylua
|
pkgs.stylua
|
||||||
|
@ -292,29 +285,26 @@ rec {
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
||||||
mkNeovim = { system }:
|
mkNeovim = {system}: let
|
||||||
let
|
|
||||||
inherit (pkgs) lib neovim;
|
inherit (pkgs) lib neovim;
|
||||||
extraPackages = mkExtraPackages { inherit system; };
|
extraPackages = mkExtraPackages {inherit system;};
|
||||||
pkgs = legacyPackages.${system};
|
pkgs = legacyPackages.${system};
|
||||||
start = mkNeovimPlugins { inherit system; };
|
start = mkNeovimPlugins {inherit system;};
|
||||||
in
|
in
|
||||||
neovim.override {
|
neovim.override {
|
||||||
configure = {
|
configure = {
|
||||||
customRC = mkExtraConfig;
|
customRC = mkExtraConfig;
|
||||||
packages.main = { inherit start; };
|
packages.main = {inherit start;};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraMakeWrapperArgs = ''--suffix PATH : "${lib.makeBinPath extraPackages}"'';
|
extraMakeWrapperArgs = ''--suffix PATH : "${lib.makeBinPath extraPackages}"'';
|
||||||
};
|
};
|
||||||
|
|
||||||
mkHomeManager = { system }:
|
mkHomeManager = {system}: let
|
||||||
let
|
|
||||||
extraConfig = mkExtraConfig;
|
extraConfig = mkExtraConfig;
|
||||||
extraPackages = mkExtraPackages { inherit system; };
|
extraPackages = mkExtraPackages {inherit system;};
|
||||||
plugins = mkNeovimPlugins { inherit system; };
|
plugins = mkNeovimPlugins {inherit system;};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
inherit extraConfig extraPackages plugins;
|
inherit extraConfig extraPackages plugins;
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -11,6 +11,7 @@ null_ls.setup {
|
||||||
sources = {
|
sources = {
|
||||||
code_actions.gitsigns,
|
code_actions.gitsigns,
|
||||||
|
|
||||||
|
formatting.alejandra,
|
||||||
formatting.black,
|
formatting.black,
|
||||||
formatting.markdownlint,
|
formatting.markdownlint,
|
||||||
formatting.phpcbf.with {
|
formatting.phpcbf.with {
|
||||||
|
|
Reference in a new issue