Add and use alejandra to format Nix files

This commit is contained in:
Oliver Davies 2024-02-13 21:47:56 +00:00
parent b55886673f
commit 98737c69e9
3 changed files with 274 additions and 272 deletions

View file

@ -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;
};
};
}

View file

@ -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;

View file

@ -11,6 +11,7 @@ null_ls.setup {
sources = {
code_actions.gitsigns,
formatting.alejandra,
formatting.black,
formatting.markdownlint,
formatting.phpcbf.with {