|
9 | 9 | http2 = false;
|
10 | 10 | };
|
11 | 11 |
|
12 |
| - inputs.expidus-sdk = { |
13 |
| - url = github:ExpidusOS/sdk; |
14 |
| - inputs.nixpkgs.follows = "nixpkgs"; |
| 12 | + inputs = { |
| 13 | + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; |
| 14 | + flake-utils.url = "github:numtide/flake-utils"; |
| 15 | + flutter-v322.url = "github:ExpidusOS/nixpkgs/feat/flutter-3.22.0"; |
15 | 16 | };
|
16 | 17 |
|
17 |
| - inputs.nixpkgs.url = github:ExpidusOS/nixpkgs; |
18 |
| - |
19 |
| - outputs = { self, expidus-sdk, nixpkgs }: |
20 |
| - with expidus-sdk.lib; |
21 |
| - flake-utils.eachSystem flake-utils.allSystems (system: |
| 18 | + outputs = { |
| 19 | + self, |
| 20 | + nixpkgs, |
| 21 | + flake-utils, |
| 22 | + flutter-v322, |
| 23 | + ... |
| 24 | + }@inputs: |
| 25 | + flake-utils.lib.eachDefaultSystem (system: |
22 | 26 | let
|
23 |
| - pkgs = expidus-sdk.legacyPackages.${system}; |
24 |
| - deps = builtins.fromJSON (readFile ./deps.json); |
25 |
| - shortRev = self.shortRev or (substring 7 7 fakeHash); |
26 |
| - shortRevCodes = map strings.charToInt (stringToCharacters shortRev); |
27 |
| - buildCode = foldr (a: b: "${toString a}${toString b}") "" shortRevCodes; |
| 27 | + pkgs = import nixpkgs { inherit system; }; |
| 28 | + inherit (pkgs) lib; |
| 29 | + |
| 30 | + shortRev = self.shortRev or (lib.substring 7 7 lib.fakeHash); |
| 31 | + shortRevCodes = map lib.strings.charToInt (lib.stringToCharacters shortRev); |
| 32 | + buildCode = lib.foldr (a: b: "${toString a}${toString b}") "" shortRevCodes; |
28 | 33 |
|
29 |
| - shortVersion = builtins.elemAt (splitString "+" (builtins.elemAt deps 0).version) 0; |
| 34 | + shortVersion = "0.2.0"; |
30 | 35 | version = "${shortVersion}+${buildCode}";
|
31 |
| - in { |
32 |
| - packages.default = pkgs.flutter.buildFlutterApplication { |
33 |
| - pname = "expidus-calculator"; |
34 |
| - version = "${shortVersion}+git-${shortRev}"; |
35 | 36 |
|
36 |
| - src = cleanSource self; |
| 37 | + overlay = f: p: { |
| 38 | + expidus = p.expidus // { |
| 39 | + calculator = p.flutter.buildFlutterApplication { |
| 40 | + pname = "expidus-calculator"; |
| 41 | + version = "${shortVersion}+git-${shortRev}"; |
| 42 | + |
| 43 | + src = lib.cleanSource self; |
37 | 44 |
|
38 |
| - flutterBuildFlags = [ |
39 |
| - "--dart-define=COMMIT_HASH=${shortRev}" |
40 |
| - ]; |
| 45 | + flutterBuildFlags = [ |
| 46 | + "--dart-define=COMMIT_HASH=${shortRev}" |
| 47 | + ]; |
41 | 48 |
|
42 |
| - depsListFile = ./deps.json; |
43 |
| - vendorHash = "sha256-SJtfW+UZSmCugAgLd/O0PxtE53Fe/pouYKsg9fPv06o="; |
| 49 | + pubspecLock = lib.importJSON ./pubspec.lock.json; |
44 | 50 |
|
45 |
| - postInstall = '' |
46 |
| - rm $out/bin/calculator |
47 |
| - ln -s $out/app/calculator $out/bin/expidus-calculator |
| 51 | + gitHashes = { |
| 52 | + libtokyo = "sha256-Zn30UmppXnzhs+t+EQNwAhaTPjCCxoN0a+AbH6bietg="; |
| 53 | + libtokyo_flutter = "sha256-Zn30UmppXnzhs+t+EQNwAhaTPjCCxoN0a+AbH6bietg="; |
| 54 | + }; |
48 | 55 |
|
49 |
| - mkdir -p $out/share/applications |
50 |
| - mv $out/app/data/com.expidusos.calculator.desktop $out/share/applications |
| 56 | + postInstall = '' |
| 57 | + rm $out/bin/calculator |
| 58 | + ln -s $out/app/calculator $out/bin/expidus-calculator |
51 | 59 |
|
52 |
| - mkdir -p $out/share/icons |
53 |
| - mv $out/app/data/com.expidusos.calculator.png $out/share/icons |
| 60 | + mkdir -p $out/share/applications |
| 61 | + mv $out/app/data/com.expidusos.calculator.desktop $out/share/applications |
54 | 62 |
|
55 |
| - mkdir -p $out/share/metainfo |
56 |
| - mv $out/app/data/com.expidusos.calculator.metainfo.xml $out/share/metainfo |
| 63 | + mkdir -p $out/share/icons |
| 64 | + mv $out/app/data/com.expidusos.calculator.png $out/share/icons |
57 | 65 |
|
58 |
| - substituteInPlace "$out/share/applications/com.expidusos.calculator.desktop" \ |
59 |
| - --replace "Exec=calculator" "Exec=$out/bin/expidus-calculator" \ |
60 |
| - --replace "Icon=com.expidusos.calculator" "Icon=$out/share/icons/com.expidusos.calculator.png" |
61 |
| - ''; |
| 66 | + mkdir -p $out/share/metainfo |
| 67 | + mv $out/app/data/com.expidusos.calculator.metainfo.xml $out/share/metainfo |
62 | 68 |
|
63 |
| - meta = { |
64 |
| - description = "ExpidusOS Calculator"; |
65 |
| - homepage = "https://expidusos.com"; |
66 |
| - license = licenses.gpl3; |
67 |
| - maintainers = with maintainers; [ RossComputerGuy ]; |
68 |
| - platforms = [ "x86_64-linux" "aarch64-linux" ]; |
| 69 | + substituteInPlace "$out/share/applications/com.expidusos.calculator.desktop" \ |
| 70 | + --replace "Exec=calculator" "Exec=$out/bin/expidus-calculator" \ |
| 71 | + --replace "Icon=com.expidusos.calculator" "Icon=$out/share/icons/com.expidusos.calculator.png" |
| 72 | + ''; |
| 73 | + |
| 74 | + meta = with lib; { |
| 75 | + description = "ExpidusOS Calculator"; |
| 76 | + homepage = "https://expidusos.com"; |
| 77 | + license = licenses.gpl3; |
| 78 | + maintainers = with maintainers; [ RossComputerGuy ]; |
| 79 | + platforms = [ "x86_64-linux" "aarch64-linux" ]; |
| 80 | + }; |
| 81 | + }; |
69 | 82 | };
|
70 | 83 | };
|
71 |
| - |
72 |
| - devShells.default = pkgs.mkShell { |
| 84 | + in { |
| 85 | + legacyPackages = pkgs.appendOverlays [ |
| 86 | + (f: p: rec { |
| 87 | + flutterPackages = p.recurseIntoAttrs (p.callPackages "${flutter-v322}/pkgs/development/compilers/flutter" {}); |
| 88 | + flutter = flutterPackages.stable; |
| 89 | + flutter322 = flutterPackages.v3_22; |
| 90 | + }) |
| 91 | + overlay |
| 92 | + ]; |
| 93 | + |
| 94 | + packages.default = self.legacyPackages.${system}.expidus.calculator; |
| 95 | + |
| 96 | + devShells.default = self.legacyPackages.${system}.mkShell { |
73 | 97 | inherit (self.packages.${system}.default) pname version name;
|
74 | 98 |
|
75 |
| - packages = with pkgs; [ flutter ]; |
| 99 | + inputsFrom = [ self.packages.${system}.default ]; |
| 100 | + |
| 101 | + packages = with self.legacyPackages.${system}; [ flutter yq ]; |
76 | 102 | };
|
77 | 103 | });
|
78 | 104 | }
|
0 commit comments