|
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