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";
|
||||
|
||||
outputs = inputs@{ self, flake-parts, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
flake-parts,
|
||||
...
|
||||
}:
|
||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
flake = {
|
||||
lib = import ./lib { inherit inputs; };
|
||||
lib = import ./lib {inherit inputs;};
|
||||
};
|
||||
|
||||
systems = [ "x86_64-linux" ];
|
||||
systems = ["x86_64-linux"];
|
||||
|
||||
perSystem = { pkgs, self', system, ... }:
|
||||
let
|
||||
default = self.lib.mkVimPlugin { inherit system; };
|
||||
neovim = self.lib.mkNeovim { inherit system; };
|
||||
in
|
||||
{
|
||||
packages = { inherit default neovim; };
|
||||
perSystem = {
|
||||
pkgs,
|
||||
self',
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
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 }:
|
||||
|
||||
let
|
||||
{inputs}: let
|
||||
inherit (inputs.nixpkgs) legacyPackages;
|
||||
in
|
||||
rec {
|
||||
mkVimPlugin = { system }:
|
||||
let
|
||||
in rec {
|
||||
mkVimPlugin = {system}: let
|
||||
inherit (pkgs) vimUtils;
|
||||
inherit (vimUtils) buildVimPlugin;
|
||||
pkgs = legacyPackages.${system};
|
||||
|
@ -25,15 +21,14 @@ rec {
|
|||
src = ../.;
|
||||
};
|
||||
|
||||
mkNeovimPlugins = { system }:
|
||||
let
|
||||
mkNeovimPlugins = {system}: let
|
||||
inherit (pkgs) vimPlugins;
|
||||
|
||||
pkgs = (import inputs.nixpkgs {
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
|
||||
config.allowUnfree = true;
|
||||
});
|
||||
};
|
||||
|
||||
customVim = {
|
||||
tabline-vim = pkgs.vimUtils.buildVimPlugin {
|
||||
|
@ -97,9 +92,8 @@ rec {
|
|||
};
|
||||
};
|
||||
|
||||
opdavies-nvim = mkVimPlugin { inherit system; };
|
||||
in
|
||||
[
|
||||
opdavies-nvim = mkVimPlugin {inherit system;};
|
||||
in [
|
||||
customVim.tabline-vim
|
||||
customVim.vim-caser
|
||||
customVim.vim-heritage
|
||||
|
@ -236,17 +230,15 @@ rec {
|
|||
opdavies-nvim
|
||||
];
|
||||
|
||||
mkExtraPackages = { system }:
|
||||
let
|
||||
mkExtraPackages = {system}: let
|
||||
inherit (pkgs) nodePackages;
|
||||
|
||||
pkgs = (import inputs.nixpkgs {
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
|
||||
config.allowUnfree = true;
|
||||
});
|
||||
in
|
||||
[
|
||||
};
|
||||
in [
|
||||
# Languages
|
||||
nodePackages.typescript
|
||||
pkgs.php81
|
||||
|
@ -272,6 +264,7 @@ rec {
|
|||
pkgs.terraform-ls
|
||||
|
||||
# Formatters
|
||||
pkgs.alejandra
|
||||
pkgs.black
|
||||
pkgs.nodePackages.prettier
|
||||
pkgs.stylua
|
||||
|
@ -292,29 +285,26 @@ rec {
|
|||
EOF
|
||||
'';
|
||||
|
||||
mkNeovim = { system }:
|
||||
let
|
||||
mkNeovim = {system}: let
|
||||
inherit (pkgs) lib neovim;
|
||||
extraPackages = mkExtraPackages { inherit system; };
|
||||
extraPackages = mkExtraPackages {inherit system;};
|
||||
pkgs = legacyPackages.${system};
|
||||
start = mkNeovimPlugins { inherit system; };
|
||||
start = mkNeovimPlugins {inherit system;};
|
||||
in
|
||||
neovim.override {
|
||||
configure = {
|
||||
customRC = mkExtraConfig;
|
||||
packages.main = { inherit start; };
|
||||
packages.main = {inherit start;};
|
||||
};
|
||||
|
||||
extraMakeWrapperArgs = ''--suffix PATH : "${lib.makeBinPath extraPackages}"'';
|
||||
};
|
||||
|
||||
mkHomeManager = { system }:
|
||||
let
|
||||
mkHomeManager = {system}: let
|
||||
extraConfig = mkExtraConfig;
|
||||
extraPackages = mkExtraPackages { inherit system; };
|
||||
plugins = mkNeovimPlugins { inherit system; };
|
||||
in
|
||||
{
|
||||
extraPackages = mkExtraPackages {inherit system;};
|
||||
plugins = mkNeovimPlugins {inherit system;};
|
||||
in {
|
||||
inherit extraConfig extraPackages plugins;
|
||||
|
||||
enable = true;
|
||||
|
|
|
@ -11,6 +11,7 @@ null_ls.setup {
|
|||
sources = {
|
||||
code_actions.gitsigns,
|
||||
|
||||
formatting.alejandra,
|
||||
formatting.black,
|
||||
formatting.markdownlint,
|
||||
formatting.phpcbf.with {
|
||||
|
|
Reference in a new issue