|
1 | 1 | {
|
2 | 2 | description = "Fastapi-mvc generator flake";
|
3 |
| - nixConfig.bash-prompt = ''\n\[\033[1;32m\][nix-develop:\w]\$\[\033[0m\] ''; |
| 3 | + nixConfig = { |
| 4 | + bash-prompt = ''\n\[\033[1;32m\][nix-develop:\w]\$\[\033[0m\] ''; |
| 5 | + extra-trusted-public-keys = [ |
| 6 | + "fastapi-mvc.cachix.org-1:knQ8Qo41bnhBmOB6Sp0UH10EV76AXW5o69SbAS668Fg=" |
| 7 | + ]; |
| 8 | + extra-substituters = [ |
| 9 | + "https://fastapi-mvc.cachix.org" |
| 10 | + ]; |
| 11 | + }; |
4 | 12 |
|
5 | 13 | inputs = {
|
6 |
| - flake-utils.url = "github:numtide/flake-utils"; |
7 |
| - fastapi-mvc.url = "github:fastapi-mvc/fastapi-mvc?ref=0.25.0"; |
| 14 | + flake-parts.url = "github:hercules-ci/flake-parts"; |
| 15 | + fastapi-mvc.url = "github:fastapi-mvc/fastapi-mvc"; |
8 | 16 | nixpkgs.follows = "fastapi-mvc/nixpkgs";
|
9 | 17 | };
|
10 | 18 |
|
11 |
| - outputs = { self, nixpkgs, flake-utils, fastapi-mvc }: |
12 |
| - { |
13 |
| - overlays.default = nixpkgs.lib.composeManyExtensions [ |
14 |
| - fastapi-mvc.overlays.default |
15 |
| - ]; |
16 |
| - } // (flake-utils.lib.eachDefaultSystem (system: |
17 |
| - let |
18 |
| - pkgs = import nixpkgs { |
19 |
| - inherit system; |
20 |
| - overlays = [ self.overlays.default ]; |
| 19 | + outputs = { self, nixpkgs, flake-parts, fastapi-mvc }@inputs: |
| 20 | + let |
| 21 | + mkApp = |
| 22 | + { drv |
| 23 | + , name ? drv.pname or drv.name |
| 24 | + , exePath ? drv.passthru.exePath or "/bin/${name}" |
| 25 | + }: |
| 26 | + { |
| 27 | + type = "app"; |
| 28 | + program = "${drv}${exePath}"; |
21 | 29 | };
|
22 |
| - in |
23 |
| - rec { |
| 30 | + in |
| 31 | + flake-parts.lib.mkFlake { inherit inputs; } { |
| 32 | + systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; |
| 33 | + perSystem = { config, self', inputs', pkgs, system, ... }: { |
24 | 34 | apps = {
|
25 |
| - fastapi-mvc = flake-utils.lib.mkApp { drv = pkgs.fastapi-mvc; }; |
| 35 | + fastapi-mvc = mkApp { drv = fastapi-mvc.packages.${system}.default; }; |
26 | 36 | copier = {
|
27 | 37 | type = "app";
|
28 | 38 | program = toString (pkgs.writeScript "copier" ''
|
29 | 39 | export PATH="${pkgs.lib.makeBinPath [
|
30 |
| - pkgs.fastapi-mvc.dependencyEnv |
| 40 | + fastapi-mvc.packages.${system}.default.dependencyEnv |
31 | 41 | pkgs.git
|
32 | 42 | pkgs.coreutils
|
33 | 43 | ]}"
|
|
38 | 48 | type = "app";
|
39 | 49 | program = toString (pkgs.writeScript "update" ''
|
40 | 50 | export PATH="${pkgs.lib.makeBinPath [
|
41 |
| - pkgs.fastapi-mvc.dependencyEnv |
| 51 | + fastapi-mvc.packages.${system}.default.dependencyEnv |
42 | 52 | pkgs.git
|
43 | 53 | pkgs.coreutils
|
44 | 54 | ]}"
|
|
49 | 59 | -d license=MIT \
|
50 | 60 | -d repo_url=https://github.com/fastapi-mvc/copier-controller \
|
51 | 61 | -d copyright_date=2022 \
|
| 62 | + -d github_actions=True \ |
52 | 63 | -a .generator.yml \
|
53 | 64 | update ./.
|
54 | 65 | '');
|
55 | 66 | };
|
56 | 67 | };
|
57 | 68 |
|
58 | 69 | devShells = {
|
59 |
| - default = pkgs.fastapi-mvc-dev.env.overrideAttrs (oldAttrs: { |
| 70 | + default = fastapi-mvc.packages.${system}.fastapi-mvc-dev.env.overrideAttrs (oldAttrs: { |
60 | 71 | buildInputs = [
|
61 | 72 | pkgs.git
|
62 | 73 | pkgs.coreutils
|
63 | 74 | pkgs.poetry
|
64 | 75 | ];
|
65 | 76 | });
|
66 | 77 | };
|
67 |
| - })); |
| 78 | + }; |
| 79 | + }; |
68 | 80 | }
|
0 commit comments