1- { system
2- , inputs
3- , cluster ? "selfnode"
1+ { inputs
2+ , targetSystem
43} :
54
65let
7- internal = inputs . self . internal . ${ system } . ${ cluster } ;
8- pkgs = internal . newCommon . pkgs ;
9-
10- daedalusPkgs = import ./old-default.nix {
11- inherit inputs cluster ;
12- target = system ;
13- devShell = true ;
14- } ;
15-
16- regenerateDevCerts = let
17- moddedConfig = pkgs . writeText "launcher-config.yaml" ( builtins . toJSON (
18- daedalusPkgs . launcherConfigs . launcherConfig
19- // {
20- daedalusBin = "true" ;
21- }
22- ) ) ;
23- in
24- pkgs . writeShellScriptBin "regenerate-dev-certs" ''
25- ${ daedalusPkgs . daedalus-bridge } /bin/cardano-launcher --config ${ moddedConfig }
26- '' ;
27-
28- gcRoot = pkgs . runCommandLocal "gc-root" {
29- inherit daedalusShell ;
30- cardanoWalletsHaskellNix = daedalusPkgs . walletFlake . outputs . legacyPackages . ${ system } . roots ;
31- daedalusInstallerInputs = with daedalusPkgs . daedalus-installer ; buildInputs ++ nativeBuildInputs ;
32- # cardano-bridge inputs are GC’d, and rebuilt too often on Apple M1 CI:
33- cardanoBridgeInputs = builtins . map ( attr : if daedalusPkgs ? ${ attr } && pkgs . lib . isDerivation daedalusPkgs . ${ attr } then daedalusPkgs . ${ attr } else null ) ( builtins . attrNames ( builtins . functionArgs ( import ./cardano-bridge.nix ) ) ) ;
34- } "export >$out" ;
35-
36- daedalusShell = pkgs . stdenv . mkDerivation ( rec {
6+ internal = inputs . self . internal . ${ targetSystem } ;
7+ inherit ( internal ) common ;
8+ inherit ( common ) pkgs ;
9+
10+ devShells = pkgs . lib . genAttrs inputs . self . internal . installerClusters ( cluster : let
11+
12+ launcherConfigs = common . mkLauncherConfigs {
13+ inherit cluster ;
14+ devShell = true ;
15+ } ;
16+
17+ regenerateDevCerts = let
18+ moddedConfig = pkgs . writeText "launcher-config.yaml" ( builtins . toJSON (
19+ launcherConfigs . launcherConfig
20+ // {
21+ daedalusBin = "true" ;
22+ }
23+ ) ) ;
24+ in
25+ pkgs . writeShellScriptBin "regenerate-dev-certs" ''
26+ ${ common . daedalus-bridge . ${ cluster } } /bin/cardano-launcher --config ${ moddedConfig }
27+ '' ;
28+
29+ in pkgs . stdenv . mkDerivation ( rec {
3730 buildInputs = [
38- internal . newCommon . nodejs
39- internal . newCommon . yarn
40- daedalusPkgs . daedalus-bridge
41- daedalusPkgs . daedalus-installer
42- daedalusPkgs . mock-token-metadata-server
31+ internal . common . nodejs
32+ internal . common . yarn
33+ common . daedalus-bridge . ${ cluster }
34+ common . daedalus-installer
35+ common . mock-token-metadata-server
4336 regenerateDevCerts
4437 ] ++ ( with pkgs ; [
4538 nix bash binutils coreutils curl gnutar
46- git python27 curl jq
39+ git python3 curl jq
4740 nodePackages . node-gyp nodePackages . node-pre-gyp
4841 gnumake
4942 pkgconfig
5952 winePackages . minimal
6053 ] ) ) ;
6154 name = "daedalus" ;
62- buildCommand = "touch $out" ;
55+ buildCommand = "export > $out" ;
6356 LAUNCHER_CONFIG = DAEDALUS_CONFIG + "/launcher-config.yaml" ;
64- CARDANO_NODE_VERSION = daedalusPkgs . cardanoNodeVersion ;
65- CARDANO_WALLET_VERSION = daedalusPkgs . cardanoWalletVersion ;
57+ CARDANO_NODE_VERSION = common . cardanoNodeVersion ;
58+ CARDANO_WALLET_VERSION = common . cardanoWalletVersion ;
6659 DAEDALUS_CONFIG = pkgs . runCommand "daedalus-config" { } ''
6760 mkdir -pv $out
68- cp ${ pkgs . writeText "launcher-config.yaml" ( builtins . toJSON daedalusPkgs . launcherConfigs . launcherConfig ) } $out/launcher-config.yaml
61+ cp ${ pkgs . writeText "launcher-config.yaml" ( builtins . toJSON launcherConfigs . launcherConfig ) } $out/launcher-config.yaml
6962 '' ;
7063 DAEDALUS_INSTALL_DIRECTORY = "./" ;
7164 DAEDALUS_DIR = DAEDALUS_INSTALL_DIRECTORY ;
8982 source <(cardano-address --bash-completion-script cardano-address)
9083 [[ $(type -P cardano-wallet) ]] && source <(cardano-wallet --bash-completion-script cardano-wallet)
9184
92- cp -f ${ daedalusPkgs . launcherConfigs . installerConfig . iconPath . small } $DAEDALUS_INSTALL_DIRECTORY/icon.png
85+ cp -f ${ launcherConfigs . installerConfig . iconPath . small } $DAEDALUS_INSTALL_DIRECTORY/icon.png
9386
9487 # These links will only occur to binaries that exist for the
9588 # specific build config
9992
10093 source <(cardano-node --bash-completion-script `type -p cardano-node`)
10194
102- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${ internal . newCommon . nodejs } /include/node -I${ toString ../../. } /node_modules/node-addon-api"
95+ export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${ internal . common . nodejs } /include/node -I${ toString ../../. } /node_modules/node-addon-api"
10396 yarn install
10497
10598 # Rebuild native modules for <https://www.electronjs.org/docs/latest/tutorial/using-native-node-modules>:
@@ -123,14 +116,17 @@ let
123116
124117 echo 'Resolving environment variables to absolute paths…'
125118 # XXX: they originally contain references to HOME or XDG_DATA_HOME in launcher-config.yaml:
126- export CARDANO_WALLET_TLS_PATH="${ daedalusPkgs . launcherConfigs . launcherConfig . tlsPath } "
119+ export CARDANO_WALLET_TLS_PATH="${ launcherConfigs . launcherConfig . tlsPath } "
127120
128121 echo 'Re-generating dev certificates for ‘cardano-wallet’…'
129122 mkdir -p "$CARDANO_WALLET_TLS_PATH"
130123 regenerate-dev-certs >/dev/null
131124
125+ ${ common . temporaryNodeModulesPatches }
126+
132127 echo
133128 echo 'Now, run ‘yarn dev’.'
134129 '' ;
135- } ) ;
136- in daedalusShell // { inherit gcRoot ; }
130+ } ) ) ;
131+
132+ in devShells // { default = devShells . mainnet ; }
0 commit comments