Skip to content

Commit 1b4d34e

Browse files
committed
drop flake-utils dependency
1 parent 03df4a5 commit 1b4d34e

File tree

2 files changed

+65
-87
lines changed

2 files changed

+65
-87
lines changed

flake.lock

Lines changed: 0 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 65 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,73 +4,85 @@
44
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
55
inputs.pyproject-nix.url = "github:nix-community/pyproject.nix";
66
inputs.pyproject-nix.inputs.nixpkgs.follows = "nixpkgs";
7-
inputs.flake-utils.url = "github:numtide/flake-utils";
87

98
outputs =
109
{
1110
self,
1211
nixpkgs,
1312
pyproject-nix,
14-
flake-utils,
1513
}:
16-
flake-utils.lib.eachDefaultSystem (
17-
system:
18-
let
19-
pkgs = nixpkgs.legacyPackages.${system};
20-
pyproject = pyproject-nix.lib.project.loadPyproject { projectRoot = ./.; };
21-
python = pkgs.python3;
22-
pyprojectPackage =
23-
args:
24-
python.pkgs.buildPythonApplication (
25-
args // pyproject.renderers.buildPythonPackage { inherit python; }
26-
);
27-
pyprojectEnv =
28-
extraPackages:
29-
python.withPackages (pyproject.renderers.withPackages { inherit python extraPackages; });
30-
in
31-
{
32-
packages.qbpm = pyprojectPackage {
33-
nativeBuildInputs = [
34-
pkgs.scdoc
35-
pkgs.installShellFiles
36-
];
37-
nativeCheckInputs = [ python.pkgs.pytestCheckHook ];
38-
postInstallCheck = "$out/bin/qbpm --help";
39-
postInstall = ''
40-
_QBPM_COMPLETE=bash_source $out/bin/qbpm > completions/qbpm.bash
41-
_QBPM_COMPLETE=zsh_source $out/bin/qbpm > completions/qbpm.zsh
42-
installShellCompletion completions/qbpm.{bash,zsh,fish}
43-
scdoc < qbpm.1.scd > qbpm.1
44-
installManPage qbpm.1
45-
'';
14+
let
15+
pyproject = pyproject-nix.lib.project.loadPyproject { projectRoot = ./.; };
16+
forAllSystems =
17+
mkOutputs:
18+
nixpkgs.lib.genAttrs [
19+
"aarch64-linux"
20+
"aarch64-darwin"
21+
"x86_64-darwin"
22+
"x86_64-linux"
23+
] (system: mkOutputs nixpkgs.legacyPackages.${system});
24+
in
25+
{
26+
packages = forAllSystems (pkgs: {
27+
qbpm = pkgs.python3.pkgs.buildPythonApplication (
28+
pyproject.renderers.buildPythonPackage { python = pkgs.python3; }
29+
// {
30+
nativeBuildInputs = [
31+
pkgs.scdoc
32+
pkgs.installShellFiles
33+
];
34+
nativeCheckInputs = [ pkgs.python3.pkgs.pytestCheckHook ];
35+
postInstallCheck = "$out/bin/qbpm --help";
36+
postInstall = ''
37+
_QBPM_COMPLETE=bash_source $out/bin/qbpm > completions/qbpm.bash
38+
_QBPM_COMPLETE=zsh_source $out/bin/qbpm > completions/qbpm.zsh
39+
installShellCompletion completions/qbpm.{bash,zsh,fish}
40+
scdoc < qbpm.1.scd > qbpm.1
41+
installManPage qbpm.1
42+
'';
4643

47-
meta = {
48-
homepage = "https://github.com/pvsr/qbpm";
49-
changelog = "https://github.com/pvsr/qbpm/blob/main/CHANGELOG.md";
50-
description = "A profile manager for qutebrowser";
51-
license = pkgs.lib.licenses.gpl3Plus;
52-
};
44+
meta = {
45+
homepage = "https://github.com/pvsr/qbpm";
46+
changelog = "https://github.com/pvsr/qbpm/blob/main/CHANGELOG.md";
47+
description = "A profile manager for qutebrowser";
48+
license = pkgs.lib.licenses.gpl3Plus;
49+
};
50+
}
51+
);
52+
default = self.packages.${pkgs.system}.qbpm;
53+
});
54+
55+
apps = forAllSystems (pkgs: {
56+
qbpm = {
57+
type = "app";
58+
program = pkgs.lib.getExe self.packages.${pkgs.system}.qbpm;
5359
};
54-
packages.default = self.packages.${system}.qbpm;
55-
apps.qbpm = flake-utils.lib.mkApp { drv = self.packages.${system}.qbpm; };
56-
apps.default = self.apps.${system}.qbpm;
60+
default = self.apps.${pkgs.system}.qbpm;
61+
});
5762

58-
devShells.default = pkgs.mkShell {
63+
devShells = forAllSystems (pkgs: {
64+
default = pkgs.mkShell {
5965
packages = [
6066
pkgs.ruff
6167
pkgs.nixfmt-rfc-style
62-
(pyprojectEnv (
63-
ps: with ps; [
64-
flit
65-
pytest
66-
mypy
67-
pylsp-mypy
68-
]
68+
(pkgs.python3.withPackages (
69+
pyproject.renderers.withPackages {
70+
python = pkgs.python3;
71+
extraPackages = ps: [
72+
ps.flit
73+
ps.pytest
74+
ps.mypy
75+
ps.pylsp-mypy
76+
];
77+
}
6978
))
7079
];
7180
};
81+
});
7282

73-
formatter = pkgs.nixfmt-tree.override {
83+
formatter = forAllSystems (
84+
pkgs:
85+
pkgs.nixfmt-tree.override {
7486
runtimeInputs = with pkgs; [ ruff ];
7587
settings = {
7688
on-unmatched = "info";
@@ -85,7 +97,7 @@
8597
includes = [ "*.nix" ];
8698
};
8799
};
88-
};
89-
}
90-
);
100+
}
101+
);
102+
};
91103
}

0 commit comments

Comments
 (0)