mirror of
https://github.com/Mic92/nix-update.git
synced 2024-10-05 14:28:30 +03:00
add treefmt; switch to flake-parts
This commit is contained in:
parent
0cc8a81758
commit
0bf780a408
2
.github/workflows/nix-fmt-checks.yaml
vendored
2
.github/workflows/nix-fmt-checks.yaml
vendored
@ -18,4 +18,4 @@ jobs:
|
||||
uses: cachix/install-nix-action@v20
|
||||
|
||||
- name: Run nix formatter tool
|
||||
run: nix fmt . -- --check
|
||||
run: nix fmt
|
||||
|
@ -8,8 +8,6 @@ pkgs.python311.pkgs.buildPythonApplication {
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
nativeCheckInputs = [
|
||||
pkgs.python311.pkgs.pytest
|
||||
pkgs.python311.pkgs.black
|
||||
pkgs.ruff
|
||||
pkgs.glibcLocales
|
||||
pkgs.mypy
|
||||
# technically not test inputs, but we need it for development in PATH
|
||||
@ -17,17 +15,13 @@ pkgs.python311.pkgs.buildPythonApplication {
|
||||
pkgs.nix-prefetch-git
|
||||
];
|
||||
checkPhase = ''
|
||||
echo -e "\x1b[32m## run black\x1b[0m"
|
||||
LC_ALL=en_US.utf-8 black --check . bin/nix-update
|
||||
echo -e "\x1b[32m## run ruff\x1b[0m"
|
||||
ruff . bin/nix-update
|
||||
echo -e "\x1b[32m## run mypy\x1b[0m"
|
||||
mypy --no-warn-unused-ignores --strict nix_update tests
|
||||
'';
|
||||
makeWrapperArgs = [
|
||||
"--prefix PATH"
|
||||
":"
|
||||
(pkgs.lib.makeBinPath [ pkgs.nixVersions.stable or pkgs.nix_2_4 pkgs.nixpkgs-fmt pkgs.nixpkgs-review pkgs.nix-prefetch-git ])
|
||||
(pkgs.lib.makeBinPath [ pkgs.nixVersions.stable or pkgs.nix_2_4 pkgs.nixpkgs-review pkgs.nix-prefetch-git ])
|
||||
];
|
||||
shellHook = ''
|
||||
# workaround because `python setup.py develop` breaks for me
|
||||
|
54
flake.lock
54
flake.lock
@ -1,40 +1,66 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1678901627,
|
||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||
"lastModified": 1683560683,
|
||||
"narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "006c75898cf814ef9497252b022e91c946ba8e17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1679262748,
|
||||
"narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=",
|
||||
"lastModified": 1684525479,
|
||||
"narHash": "sha256-Cq4jQE5OpB13nuEV3Ahm0UlpzeJBkb3PUz5pox4ih2E=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6",
|
||||
"rev": "4a22f6f0a4b4354778f786425babce9a56f6b5d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684416994,
|
||||
"narHash": "sha256-KkZ9diPRl3Y05TngWYs/QhZKnI/3tA3s+2Hhmei8FnE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "42045102f90cfd23ca44ae4ef8362180fefcd7fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
25
flake.nix
25
flake.nix
@ -1,19 +1,22 @@
|
||||
{
|
||||
description = "Swiss-knife for updating nix packages.";
|
||||
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system: {
|
||||
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
packages = {
|
||||
default = self.packages.${system}.nix-update;
|
||||
|
||||
nix-update = nixpkgs.legacyPackages.${system}.callPackage self {
|
||||
src = self;
|
||||
};
|
||||
outputs = inputs @ { flake-parts, ... }:
|
||||
flake-parts.lib.mkFlake { inherit inputs; } ({ lib, ... }: {
|
||||
imports = [ ./treefmt.nix ];
|
||||
systems = lib.systems.flakeExposed;
|
||||
perSystem = { config, pkgs, ... }: {
|
||||
packages.nix-update = pkgs.callPackage ./. { };
|
||||
packages.default = config.packages.nix-update;
|
||||
};
|
||||
});
|
||||
}
|
||||
|
45
treefmt.nix
Normal file
45
treefmt.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ inputs, ... }: {
|
||||
imports = [
|
||||
inputs.treefmt-nix.flakeModule
|
||||
];
|
||||
|
||||
perSystem = { pkgs, ... }: {
|
||||
treefmt = {
|
||||
# Used to find the project root
|
||||
projectRootFile = "flake.lock";
|
||||
|
||||
programs.prettier.enable = true;
|
||||
|
||||
settings.formatter = {
|
||||
nix = {
|
||||
command = "sh";
|
||||
options = [
|
||||
"-eucx"
|
||||
''
|
||||
# First deadnix
|
||||
${pkgs.lib.getExe pkgs.deadnix} --edit "$@"
|
||||
# Then nixpkgs-fmt
|
||||
${pkgs.lib.getExe pkgs.nixpkgs-fmt} "$@"
|
||||
''
|
||||
"--"
|
||||
];
|
||||
includes = [ "*.nix" ];
|
||||
excludes = [ "nix/sources.nix" ];
|
||||
};
|
||||
|
||||
python = {
|
||||
command = "sh";
|
||||
options = [
|
||||
"-eucx"
|
||||
''
|
||||
${pkgs.lib.getExe pkgs.ruff} --fix "$@"
|
||||
${pkgs.lib.getExe pkgs.python3.pkgs.black} "$@"
|
||||
''
|
||||
"--" # this argument is ignored by bash
|
||||
];
|
||||
includes = [ "*.py" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user