You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@
8
8
9
9
### Chores
10
10
11
+
- Switched Daedalus to be built with Nix flakes ([PR 3008](https://github.com/input-output-hk/daedalus/pull/3008))
11
12
- Update `cardano-wallet` to `v2023-04-14` ([PR 3104](https://github.com/input-output-hk/daedalus/pull/3104))
12
13
- Prepared an official `aarch64-darwin` build ([PR 3116](https://github.com/input-output-hk/daedalus/pull/3116))
13
14
- Added regeneration of dev TLS certificates for cardano-wallet on each nix-shell entry ([PR 3117](https://github.com/input-output-hk/daedalus/pull/3117))
# If you are running on a Mac with Apple Silicon chip, but want to also build for Intel:
38
+
extra-platforms = x86_64-darwin aarch64-darwin
58
39
```
59
40
60
-
3. Run `nix-shell` with correct list of arguments or by using existing `package.json` scripts to load a shell with all the correct versions of all the required dependencies for development.
41
+
3. Run `nix develop` with a correct argument or by using existing `package.json` scripts to load a shell with all the correct versions of all the required dependencies for development, e.g.:
42
+
*`nix develop -L .#mainnet`
43
+
* … which is equivalent to `yarn nix:mainnet`
61
44
62
45
**Notes:**
63
46
64
-
If you get SSL error when running `nix-shell` (SSL peer certificate or SSH remote key was not OK) try the next steps:
47
+
If you get SSL error when running `nix develop` (SSL peer certificate or SSH remote key was not OK) try the next steps:
65
48
1. Reinstall nix
66
49
```bash
67
50
$ nix-env -e *
@@ -74,7 +57,7 @@ If you get SSL error when running `nix-shell` (SSL peer certificate or SSH remot
74
57
##### Selfnode
75
58
76
59
1. Run `yarn nix:selfnode` from `daedalus`.
77
-
2. Run `yarn dev` from the subsequent `nix-shell` (use `KEEP_LOCAL_CLUSTER_RUNNING` environment variable to keep the local cluster running after Daedalus exits: `KEEP_LOCAL_CLUSTER_RUNNING=true yarn dev`)
60
+
2. Run `yarn dev` from the subsequent `nix develop` shell (use `KEEP_LOCAL_CLUSTER_RUNNING` environment variable to keep the local cluster running after Daedalus exits: `KEEP_LOCAL_CLUSTER_RUNNING=true yarn dev`)
78
61
3. Once Daedalus has started and has gotten past the loading screen run the following commands from a new terminal window if you wish to import funded wallets:
79
62
- Byron wallets: `yarn byron:wallet:importer`
80
63
- Shelley wallets: `yarn shelley:wallet:importer`
@@ -103,23 +86,23 @@ List of all funded wallet recovery phrases can be found here: https://github.com
103
86
##### Mainnet
104
87
105
88
1. Run `yarn nix:mainnet` from `daedalus`.
106
-
2. Run `yarn dev` from the subsequent `nix-shell`
89
+
2. Run `yarn dev` from the subsequent shell
107
90
108
91
##### Flight
109
92
110
93
1. Run `yarn nix:flight` from `daedalus`.
111
-
2. Run `yarn dev` from the subsequent `nix-shell`
94
+
2. Run `yarn dev` from the subsequent shell
112
95
113
96
##### Testnet
114
97
115
98
1. Run `yarn nix:testnet` from `daedalus`.
116
-
2. Run `yarn dev` from the subsequent `nix-shell`
99
+
2. Run `yarn dev` from the subsequent shell
117
100
118
101
##### Native token metadata server
119
102
120
103
Daedalus, by default, uses the following metadata server for all networks except for the mainnet: `https://metadata.cardano-testnet.iohkdev.io/`.
121
104
122
-
It's also possible to use a mock server locally by running the following command in `nix-shell` prior to starting Daedalus:
105
+
It's also possible to use a mock server locally by running the following command in `nix develop` prior to starting Daedalus:
`Niv` is used to manage the version of upstream dependencies. The versions of these dependencies can be seen in `nix/sources.json`.
171
-
172
-
Dependencies are updated with the follow nix commands:
173
-
- Update cardano-wallet to the latest master: `nix-shell -A devops --arg nivOnly true --run "niv update cardano-wallet"`
174
-
- Update cardano-wallet to a specific revision: `nix-shell -A devops --arg nivOnly true --run "niv update cardano-wallet -a rev=91db88f9195de49d4fb4299c68fc3f6de09856ab"`
175
-
- Update cardano-node to a specific tag: `nix-shell -A devops --arg nivOnly true --run "niv update cardano-node -b tags/1.20.0"`
153
+
Nix flake is used to manage the version of upstream dependencies. The versions of these dependencies can be seen in `flake.nix`.
176
154
177
-
#### Notes
155
+
Dependencies are updated in the `inputs` section of `flake.nix` followed with e.g.:
178
156
179
-
`nix-shell` also provides a script for updating `yarn.lock` file:
@@ -246,62 +224,62 @@ So you have to exit any development instances before running tests!
246
224
247
225
## Packaging
248
226
249
-
```bash
250
-
$ yarn run package
251
-
```
227
+
It is possible to build, and run just the Daedalus package, that would be bundled inside an installer, avoiding building of the installer.
252
228
253
-
To package apps for all platforms:
229
+
### Linux
254
230
255
-
```bash
256
-
$ yarn run package:all
257
-
```
231
+
Build:
258
232
259
-
To package apps with options:
233
+
nix build -L .#package.mainnet
260
234
261
-
```bash
262
-
$ yarn run package -- --[option]
263
-
```
235
+
Run:
236
+
237
+
nix run -L .#package.mainnet
238
+
239
+
### macOS (Intel, and Apple Silicon)
264
240
265
-
### Options
241
+
Build:
266
242
267
-
- --name, -n: Application name (default: Electron)
268
-
- --version, -v: Electron version (default: latest version)
269
-
- --asar, -a: [asar](https://github.com/atom/asar) support (default: false)
270
-
- --icon, -i: Application icon
271
-
- --all: pack for all platforms
243
+
nix build -L .#package.mainnet
272
244
273
-
Use `electron-packager` to pack your app with `--all` options for macOS, Linux and Windows platform. After build, you will find them in `release` folder. Otherwise, you will only find one for your OS.
245
+
Run:
274
246
275
-
## Automated builds
247
+
nix run -L .#package.mainnet
276
248
277
-
### CI/dev build scripts
249
+
If you want to run an Intel build from an Apple Silicon machine:
278
250
279
-
Platform-specific build scripts facilitate building Daedalus the way it is built by the IOHK CI:
251
+
nix run -L .#packages.x86_64-darwin.package.mainnet
280
252
281
-
#### Linux/macOS
253
+
##Installers
282
254
283
-
This script requires [Nix](https://nixos.org/nix/), (optionally) configured with the [IOHK binary cache][cache].
255
+
Platform-specific build commands facilitate building Daedalus installers the way it is built by the IOHK CI:
284
256
285
-
scripts/build-installer-unix.sh [OPTIONS..]
257
+
These commands require [Nix](https://nixos.org/nix/), optionally configured with the IOHK binary cache (recommended, see above).
258
+
259
+
### Linux/macOS
286
260
287
-
The result can be found at `installers/csl-daedalus/daedalus-*.pkg`.
261
+
Run this from a Linux machine:
262
+
263
+
nix build -L .#installer.mainnet
264
+
265
+
The result can be found at `result/daedalus-*.bin`.
0 commit comments