-
-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathflake.nix
More file actions
62 lines (55 loc) · 1.88 KB
/
Copy pathflake.nix
File metadata and controls
62 lines (55 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{
description = "Injection for TIDAL";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs = {
self,
nixpkgs,
}: let
forAllSystems = function:
nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
# unfree packages needed for "castlabs-electron"
system:
function (
import nixpkgs {
inherit system;
config.allowUnfree = true;
}
)
);
in {
packages = forAllSystems (pkgs: {
# TidaLuna injection stand-alone (platform-dispatched)
injection =
if pkgs.stdenv.isDarwin
then pkgs.callPackage ./nix/injection-darwin.nix {}
else pkgs.callPackage ./nix/injection-linux.nix {};
# Explicit per-platform injection targets (for nix-update)
injection-darwin = pkgs.callPackage ./nix/injection-darwin.nix {};
injection-linux = pkgs.callPackage ./nix/injection-linux.nix {};
# macOS TIDAL app with Luna injected (for nix-update of DMG hash)
darwin-package = pkgs.callPackage ./nix/darwin-package.nix {
tidal = pkgs.tidal or null;
};
# TidaLuna injected into tidal-hifi / TIDAL.app
default =
if pkgs.stdenv.isDarwin
then pkgs.callPackage ./nix/darwin-package.nix {
tidal = pkgs.tidal or null;
}
else pkgs.callPackage ./nix/linux-package.nix {
tidal-hifi = pkgs.tidal-hifi or null;
};
});
# Dev environment
devShells = forAllSystems (pkgs: {
default = pkgs.callPackage ./nix/shell.nix {};
});
# Overlay (if preferred)
overlays.default = final: prev:
if prev.stdenv.isDarwin
then {tidal = final.callPackage ./nix/darwin-package.nix {tidal = prev.tidal or null;};}
else {tidal-hifi = final.callPackage ./nix/linux-package.nix {tidal-hifi = prev.tidal-hifi or null;};};
};
}