mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-13 03:22:53 +08:00
Compare commits
464 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d2b37a84f | ||
|
|
28e89bd29d | ||
|
|
3c89502dcc | ||
|
|
f0b3de143d | ||
|
|
32b91e1ed1 | ||
|
|
6bdce4215e | ||
|
|
100793ae97 | ||
|
|
e1b7ac3028 | ||
|
|
479a635544 | ||
|
|
7044fe3692 | ||
|
|
2e87d3dacf | ||
|
|
8b8d92ecec | ||
|
|
f7ab294444 | ||
|
|
f1c97ef345 | ||
|
|
94fbf2364f | ||
|
|
76e1155823 | ||
|
|
3bd7152706 | ||
|
|
2564c288d5 | ||
|
|
d51bd55117 | ||
|
|
9260177a3a | ||
|
|
b46e99d03b | ||
|
|
540ac2bbae | ||
|
|
574d400589 | ||
|
|
8fddf55c8f | ||
|
|
2620d645de | ||
|
|
42a0bb2733 | ||
|
|
5bb465f1e4 | ||
|
|
d94950082f | ||
|
|
e623a7a592 | ||
|
|
d7a5a0bee5 | ||
|
|
fb09a57aec | ||
|
|
70ef4eba89 | ||
|
|
dbb36247db | ||
|
|
f652ec583d | ||
|
|
fd49c64178 | ||
|
|
a30e315f82 | ||
|
|
afbae2b22d | ||
|
|
76e7c6ddbd | ||
|
|
e2c52355ef | ||
|
|
db791e8291 | ||
|
|
43b3cb7aed | ||
|
|
dcd637b475 | ||
|
|
ac99db9a61 | ||
|
|
6951f8b645 | ||
|
|
d45d36401d | ||
|
|
952c9fae27 | ||
|
|
6fb974faf8 | ||
|
|
831c144415 | ||
|
|
1825be4b25 | ||
|
|
b74083b00f | ||
|
|
2e4299d8ae | ||
|
|
88d08725ff | ||
|
|
a12ef44a16 | ||
|
|
3199c12219 | ||
|
|
731cc710ae | ||
|
|
f4660951c7 | ||
|
|
10a5cd734a | ||
|
|
82802b4798 | ||
|
|
b87d71a167 | ||
|
|
657c5e5b47 | ||
|
|
fc60e411d7 | ||
|
|
46d45a280b | ||
|
|
72e914631e | ||
|
|
a0c16ffd7a | ||
|
|
5029028499 | ||
|
|
9d701ed3d7 | ||
|
|
05888ce2f9 | ||
|
|
cc1b6fa0de | ||
|
|
61e837b1c3 | ||
|
|
bd59be6795 | ||
|
|
d9ce0c1cbd | ||
|
|
f89db94a58 | ||
|
|
d946bfbd07 | ||
|
|
8d4a486cba | ||
|
|
cd4afd7f67 | ||
|
|
aab0733788 | ||
|
|
2921981ff5 | ||
|
|
3bc6c64e55 | ||
|
|
8ae45014c4 | ||
|
|
f335d3d64a | ||
|
|
2d058f7572 | ||
|
|
1962d7bdca | ||
|
|
a3af0a0e68 | ||
|
|
2b6c06a565 | ||
|
|
f6f3926788 | ||
|
|
a192eb836e | ||
|
|
88fbd9177c | ||
|
|
01af144d31 | ||
|
|
19d4b20ae9 | ||
|
|
046ea76a2c | ||
|
|
2156b688d1 | ||
|
|
f3ea0dbb04 | ||
|
|
40204bb7be | ||
|
|
19bc1f31d9 | ||
|
|
2fe3b25ff0 | ||
|
|
62bfb4873c | ||
|
|
d4de6af2fe | ||
|
|
e1dec7b31a | ||
|
|
4518a01005 | ||
|
|
e7e1489121 | ||
|
|
13bddf987a | ||
|
|
92d00a9386 | ||
|
|
cb695d9c59 | ||
|
|
c6d0c1446a | ||
|
|
feaf8a1063 | ||
|
|
1a25244bdb | ||
|
|
cc8f99203a | ||
|
|
525d803f46 | ||
|
|
e47cdb75f3 | ||
|
|
3275b584d2 | ||
|
|
0cd39aed9d | ||
|
|
6f3f766fae | ||
|
|
3891202028 | ||
|
|
ff0432ba46 | ||
|
|
46911309a2 | ||
|
|
ca4f9f1154 | ||
|
|
1b5181f874 | ||
|
|
e9ec325be5 | ||
|
|
6edfd9e16a | ||
|
|
010475e7b3 | ||
|
|
aabe2d89ba | ||
|
|
c41fe275d7 | ||
|
|
55604b8d2c | ||
|
|
3a59c2ba92 | ||
|
|
c039d5a749 | ||
|
|
fdf1cebed5 | ||
|
|
7240272e1d | ||
|
|
7f575468a6 | ||
|
|
51965b7603 | ||
|
|
c4f03612ab | ||
|
|
0b92c9feef | ||
|
|
fb4d5951b0 | ||
|
|
bd25762cbc | ||
|
|
a8c9dc6feb | ||
|
|
aa7163a7b7 | ||
|
|
a832594586 | ||
|
|
1095249f8b | ||
|
|
6e40924b36 | ||
|
|
3bd527095d | ||
|
|
7e408da95e | ||
|
|
a16ce18b40 | ||
|
|
dbde4f8ea9 | ||
|
|
e8b077d14f | ||
|
|
227d4fb65a | ||
|
|
a2f59eeafe | ||
|
|
ed38bb5008 | ||
|
|
7d8a5dc24c | ||
|
|
48ff5653df | ||
|
|
09181d49f8 | ||
|
|
6b97cfd331 | ||
|
|
857228c05f | ||
|
|
54b5def058 | ||
|
|
a5ca17f3c2 | ||
|
|
f1bead822f | ||
|
|
a96ca619ac | ||
|
|
05ac925169 | ||
|
|
ce5fe99df1 | ||
|
|
437af6cd19 | ||
|
|
4d0e3f083d | ||
|
|
cf6f51d768 | ||
|
|
023e225c30 | ||
|
|
4d34e624d8 | ||
|
|
0553b66856 | ||
|
|
d7ea557949 | ||
|
|
e803ddec55 | ||
|
|
106b850f8f | ||
|
|
f65c45c66b | ||
|
|
6f5b58e15e | ||
|
|
679083324e | ||
|
|
89612a901f | ||
|
|
5aada2f80b | ||
|
|
7e95577e9b | ||
|
|
6b3a19f01f | ||
|
|
23f5b9742e | ||
|
|
2bfa1c8552 | ||
|
|
d7349c6cfa | ||
|
|
54868995f7 | ||
|
|
40cf41a5d2 | ||
|
|
49bbd2ba36 | ||
|
|
eb25660fc7 | ||
|
|
4200c4a430 | ||
|
|
b6e3b9cc7d | ||
|
|
835f32ed66 | ||
|
|
9b51bc060b | ||
|
|
2d1f1aadcb | ||
|
|
2e0240c032 | ||
|
|
952f20e2a6 | ||
|
|
127846808d | ||
|
|
82b65fb866 | ||
|
|
f93b8349d1 | ||
|
|
93ce7f02c8 | ||
|
|
d9ce0deb33 | ||
|
|
0f6c06ff8a | ||
|
|
b413a1b89a | ||
|
|
e5574ff8f6 | ||
|
|
d76a883120 | ||
|
|
19778f6689 | ||
|
|
4f697385d4 | ||
|
|
d4add2650c | ||
|
|
36a330bbc3 | ||
|
|
7b21a57054 | ||
|
|
23652cb1a5 | ||
|
|
b1b32939b7 | ||
|
|
015db28fdd | ||
|
|
ae4dd29cdb | ||
|
|
fb18a8a238 | ||
|
|
599ecce210 | ||
|
|
5902d07a3c | ||
|
|
da04540890 | ||
|
|
4a6b04bc08 | ||
|
|
1a725aeb0b | ||
|
|
4d75eb2d60 | ||
|
|
acbb6e81d7 | ||
|
|
b49f1c68b0 | ||
|
|
7fc30df71d | ||
|
|
9378ea0571 | ||
|
|
74fd39b785 | ||
|
|
6469c066b7 | ||
|
|
3344933092 | ||
|
|
9e363efd0b | ||
|
|
a21bca63d4 | ||
|
|
fd9075bc7f | ||
|
|
76a26de253 | ||
|
|
fda4daef6c | ||
|
|
2772c82bd3 | ||
|
|
69706143db | ||
|
|
5adb7f86c8 | ||
|
|
fa3d893d07 | ||
|
|
b0cc7b0b5d | ||
|
|
d3459b6433 | ||
|
|
24369847de | ||
|
|
2bb4db49f1 | ||
|
|
db19e0d41e | ||
|
|
cf5589c2e6 | ||
|
|
79f76d1d13 | ||
|
|
49c1005409 | ||
|
|
27f19c2744 | ||
|
|
1e0101565d | ||
|
|
072ee64d47 | ||
|
|
c2b63d153d | ||
|
|
2f494d790c | ||
|
|
09c5e2c964 | ||
|
|
d22d5cd5c5 | ||
|
|
b5dbfbfb69 | ||
|
|
d717f6deb6 | ||
|
|
2680264472 | ||
|
|
f9295fcc90 | ||
|
|
a0db67a101 | ||
|
|
812f834a8d | ||
|
|
1d9a0694d8 | ||
|
|
463177b2bf | ||
|
|
8942040a57 | ||
|
|
3faaf86cba | ||
|
|
899e7caf59 | ||
|
|
6afd04d12b | ||
|
|
9a9c078b13 | ||
|
|
02d13b6026 | ||
|
|
768414f4d2 | ||
|
|
f266f2788c | ||
|
|
9952f61938 | ||
|
|
bbd46b686e | ||
|
|
ff500f63ee | ||
|
|
d4eaf0e5c8 | ||
|
|
e22d9c397e | ||
|
|
829e24f6e9 | ||
|
|
d0064f8e27 | ||
|
|
cd104b0f7a | ||
|
|
52596fafa7 | ||
|
|
61936d26b7 | ||
|
|
f01b58bd91 | ||
|
|
adc495c7bf | ||
|
|
fddc82c76a | ||
|
|
260e2e9e23 | ||
|
|
1ec4725e4f | ||
|
|
80735a19be | ||
|
|
4bf8e82a6d | ||
|
|
bf6e31b3c1 | ||
|
|
eb802947d0 | ||
|
|
b2c13cdc23 | ||
|
|
4ea040f553 | ||
|
|
d00fc5bec6 | ||
|
|
e57d19c73d | ||
|
|
d47e6fc6db | ||
|
|
291abcb3e0 | ||
|
|
36d62df2a2 | ||
|
|
a89d224d52 | ||
|
|
eb5ee0412d | ||
|
|
e89d2ff3a1 | ||
|
|
e037acb0ee | ||
|
|
9eb4186cbc | ||
|
|
c783530ecf | ||
|
|
b357494ee2 | ||
|
|
d85028098e | ||
|
|
8690906c4d | ||
|
|
e0df5e070e | ||
|
|
28b07eac2d | ||
|
|
8f5e0e4a5f | ||
|
|
a7c39d3b0a | ||
|
|
9b2dddb95e | ||
|
|
a4f3108918 | ||
|
|
c5d65e3721 | ||
|
|
5c81592322 | ||
|
|
1c11b75732 | ||
|
|
5ac6fbaa07 | ||
|
|
b08f7e0857 | ||
|
|
67ff3d8ae9 | ||
|
|
738ea34d74 | ||
|
|
f6f71ff352 | ||
|
|
8e91d8e05b | ||
|
|
6ef29d13d5 | ||
|
|
56b66f51fd | ||
|
|
58934a111f | ||
|
|
8a6cdef00e | ||
|
|
7d472c8419 | ||
|
|
1a1ac9cee9 | ||
|
|
6047d0269b | ||
|
|
03bcf3a083 | ||
|
|
40829e726a | ||
|
|
b23f152882 | ||
|
|
d0be4fcade | ||
|
|
5371b8efc5 | ||
|
|
35852be313 | ||
|
|
5ef5c895c5 | ||
|
|
8ec2a8f100 | ||
|
|
e46bb002dd | ||
|
|
92fc86cc07 | ||
|
|
e14b0d7c13 | ||
|
|
1463d683a3 | ||
|
|
5aa7f387a5 | ||
|
|
f185990706 | ||
|
|
a3761f4760 | ||
|
|
47329ce5e3 | ||
|
|
8ecf8d9628 | ||
|
|
380cb9ed8a | ||
|
|
7b0a2991e3 | ||
|
|
0950add86c | ||
|
|
b19a0d1f4f | ||
|
|
5ac7b3c400 | ||
|
|
2903272db6 | ||
|
|
75ecea9aa7 | ||
|
|
2f61fa3284 | ||
|
|
b08e718552 | ||
|
|
bc2497b681 | ||
|
|
63b849ba0f | ||
|
|
8c3dde1801 | ||
|
|
a6e58e53fe | ||
|
|
574c8b1d70 | ||
|
|
b7bff66b47 | ||
|
|
a32c0b33a0 | ||
|
|
b9f6b87315 | ||
|
|
f924a3d3e4 | ||
|
|
f2a414aa88 | ||
|
|
8923f59dea | ||
|
|
b3b288ae24 | ||
|
|
5b601ad9c3 | ||
|
|
35ccae2e7b | ||
|
|
9ea82cbf62 | ||
|
|
a84b26b8fa | ||
|
|
8eea238fff | ||
|
|
8ac087d289 | ||
|
|
e962979004 | ||
|
|
13ac819f18 | ||
|
|
c714cce442 | ||
|
|
9789f2a279 | ||
|
|
913bbdc96a | ||
|
|
39b9bdd7d0 | ||
|
|
63b9a1a942 | ||
|
|
4e8a468884 | ||
|
|
973de13e78 | ||
|
|
cee29cd000 | ||
|
|
fe15148b46 | ||
|
|
c9b414e8ff | ||
|
|
718f13d75f | ||
|
|
0cab72dcff | ||
|
|
00fd336bf8 | ||
|
|
5fa1c77f27 | ||
|
|
b3fdfe44d9 | ||
|
|
a2d88e5c65 | ||
|
|
77d5f61135 | ||
|
|
e2f38c6494 | ||
|
|
25877b88c1 | ||
|
|
d356c6a165 | ||
|
|
73463c394a | ||
|
|
866b26f853 | ||
|
|
ee3ebeabb9 | ||
|
|
582b5239b7 | ||
|
|
fcb95f65d7 | ||
|
|
a8f8b7db23 | ||
|
|
c7742801a7 | ||
|
|
87bceabe79 | ||
|
|
2d8feec842 | ||
|
|
7125d2a150 | ||
|
|
fe78b65f34 | ||
|
|
f36531fd53 | ||
|
|
ead7c99103 | ||
|
|
0c1202ef7a | ||
|
|
6f1a626bd5 | ||
|
|
761b10b551 | ||
|
|
3caaef5cfa | ||
|
|
5ebaa0e4d0 | ||
|
|
d8e5d7a01b | ||
|
|
913d90e478 | ||
|
|
3aa94202ab | ||
|
|
c5d68367c4 | ||
|
|
0015dfcf2d | ||
|
|
25626a7788 | ||
|
|
b6a1a6e219 | ||
|
|
e9cca5e99b | ||
|
|
55f95a5295 | ||
|
|
637e9b7246 | ||
|
|
990039e92e | ||
|
|
fa89494a47 | ||
|
|
b719c1d254 | ||
|
|
4e1c91fe7f | ||
|
|
e8016a90db | ||
|
|
a865f3eef1 | ||
|
|
2505680416 | ||
|
|
9972646253 | ||
|
|
ff4a870412 | ||
|
|
d28202fdcd | ||
|
|
833a43bd82 | ||
|
|
243b095924 | ||
|
|
7d833443f7 | ||
|
|
9c5b94fe01 | ||
|
|
9883b860f1 | ||
|
|
b21da724f7 | ||
|
|
a368008dd2 | ||
|
|
a9a258783d | ||
|
|
0374f90d89 | ||
|
|
e2815a45a8 | ||
|
|
1c97e1e97e | ||
|
|
2c15177372 | ||
|
|
3f71e1efc3 | ||
|
|
e7dac80929 | ||
|
|
3e720b74fd | ||
|
|
dfdea0f6f2 | ||
|
|
348558d9e1 | ||
|
|
37ea3d6dbc | ||
|
|
4e8532544c | ||
|
|
f4dab61189 | ||
|
|
5fc1d151ee | ||
|
|
dfc0105cca | ||
|
|
027cd16d6f | ||
|
|
c9538a9b70 | ||
|
|
c2d4cf9002 | ||
|
|
00b9de629b | ||
|
|
1963f4c6b6 | ||
|
|
6fede9e79b | ||
|
|
19baff37e0 | ||
|
|
4afabbeb8a | ||
|
|
7af45eba74 | ||
|
|
1f052b523e | ||
|
|
355b0f4cf3 | ||
|
|
517b3efc9a | ||
|
|
f8211c00fd | ||
|
|
485b659c1c | ||
|
|
12b746bc68 | ||
|
|
4a1c64cad7 | ||
|
|
b5bf3aecaa | ||
|
|
c4beb4680c | ||
|
|
dab3760bfc | ||
|
|
2061098546 | ||
|
|
752ad189c1 | ||
|
|
bb029673bf |
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -22,7 +22,7 @@ For new packages please briefly describe the package or provide a link to its ho
|
||||
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
|
||||
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
|
||||
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
|
||||
- [22.11 Release Notes (or backporting 22.05 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2211-release-notes)
|
||||
- [23.05 Release Notes (or backporting 22.11 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2305-release-notes)
|
||||
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
|
||||
- [ ] (Module updates) Added a release notes entry if the change is significant
|
||||
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
|
||||
|
||||
@@ -98,17 +98,17 @@ git push origin feature --force-with-lease
|
||||
|
||||
Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches).
|
||||
|
||||
You can add a label such as `backport release-22.05` to a PR, so that merging it will
|
||||
You can add a label such as `backport release-22.11` to a PR, so that merging it will
|
||||
automatically create a backport (via [a GitHub Action](.github/workflows/backport.yml)).
|
||||
This also works for PR's that have already been merged, and might take a couple of minutes to trigger.
|
||||
|
||||
You can also create the backport manually:
|
||||
|
||||
1. Take note of the commits in which the change was introduced into `master` branch.
|
||||
2. Check out the target _release branch_, e.g. `release-22.05`. Do not use a _channel branch_ like `nixos-22.05` or `nixpkgs-22.05-darwin`.
|
||||
2. Check out the target _release branch_, e.g. `release-22.11`. Do not use a _channel branch_ like `nixos-22.11` or `nixpkgs-22.11-darwin`.
|
||||
3. Create a branch for your change, e.g. `git checkout -b backport`.
|
||||
4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. Please also ensure the commits exists on the master branch; in the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
|
||||
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.05`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.05]`.
|
||||
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.11`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.11]`.
|
||||
6. When the backport pull request is merged and you have the necessary privileges you can also replace the label `9.needs: port to stable` with `8.has: port to stable` on the original pull request. This way maintainers can keep track of missing backports easier.
|
||||
|
||||
## Criteria for Backporting changes
|
||||
@@ -120,15 +120,15 @@ Anything that does not cause user or downstream dependency regressions can be ba
|
||||
- Services which require a client to be up-to-date regardless. (E.g. `spotify`, `steam`, or `discord`)
|
||||
- Security critical applications (E.g. `firefox`)
|
||||
|
||||
## Generating 22.11 Release Notes
|
||||
## Generating 23.05 Release Notes
|
||||
|
||||
Documentation in nixpkgs is transitioning to a markdown-centric workflow. Release notes now require a translation step to convert from markdown to a compatible docbook document.
|
||||
|
||||
Steps for updating 22.11 Release notes:
|
||||
Steps for updating 23.05 Release notes:
|
||||
|
||||
1. Edit `nixos/doc/manual/release-notes/rl-2211.section.md` with the desired changes
|
||||
2. Run `./nixos/doc/manual/md-to-db.sh` to render `nixos/doc/manual/from_md/release-notes/rl-2211.section.xml`
|
||||
3. Include changes to `rl-2211.section.md` and `rl-2211.section.xml` in the same commit.
|
||||
1. Edit `nixos/doc/manual/release-notes/rl-2305.section.md` with the desired changes
|
||||
2. Run `./nixos/doc/manual/md-to-db.sh` to render `nixos/doc/manual/from_md/release-notes/rl-2305.section.xml`
|
||||
3. Include changes to `rl-2305.section.md` and `rl-2305.section.xml` in the same commit.
|
||||
|
||||
## Reviewing contributions
|
||||
|
||||
|
||||
@@ -51,9 +51,9 @@ Nixpkgs and NixOS are built and tested by our continuous integration
|
||||
system, [Hydra](https://hydra.nixos.org/).
|
||||
|
||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
||||
* [Continuous package builds for the NixOS 22.05 release](https://hydra.nixos.org/jobset/nixos/release-22.05)
|
||||
* [Continuous package builds for the NixOS 22.11 release](https://hydra.nixos.org/jobset/nixos/release-22.11)
|
||||
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
||||
* [Tests for the NixOS 22.05 release](https://hydra.nixos.org/job/nixos/release-22.05/tested#tabs-constituents)
|
||||
* [Tests for the NixOS 22.11 release](https://hydra.nixos.org/job/nixos/release-22.11/tested#tabs-constituents)
|
||||
|
||||
Artifacts successfully built with Hydra are published to cache at
|
||||
https://cache.nixos.org/. When successful build and test criteria are
|
||||
|
||||
@@ -177,7 +177,7 @@ buildNpmPackage rec {
|
||||
|
||||
patches = [ ./remove-prepack-script.patch ];
|
||||
|
||||
npmDepsHash = "sha256-s8SpZY/1tKZVd3vt7sA9vsqHvEaNORQBMrSyhWpj048=";
|
||||
npmDepsHash = "sha256-tuEfyePwlOy2/mOPdXbqJskO6IowvAP4DWg8xSZwbJw=";
|
||||
|
||||
NODE_OPTIONS = "--openssl-legacy-provider";
|
||||
|
||||
|
||||
@@ -422,29 +422,29 @@ rec {
|
||||
else if (elemAt l 1) == "elf"
|
||||
then { cpu = elemAt l 0; vendor = "unknown"; kernel = "none"; abi = elemAt l 1; }
|
||||
else { cpu = elemAt l 0; kernel = elemAt l 1; };
|
||||
"3" = # Awkward hacks, beware!
|
||||
if elemAt l 1 == "apple"
|
||||
then { cpu = elemAt l 0; vendor = "apple"; kernel = elemAt l 2; }
|
||||
else if (elemAt l 1 == "linux") || (elemAt l 2 == "gnu")
|
||||
then { cpu = elemAt l 0; kernel = elemAt l 1; abi = elemAt l 2; }
|
||||
else if (elemAt l 2 == "mingw32") # autotools breaks on -gnu for window
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; }
|
||||
else if (elemAt l 2 == "wasi")
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "wasi"; }
|
||||
else if (elemAt l 2 == "redox")
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "redox"; }
|
||||
else if (elemAt l 2 == "mmixware")
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "mmixware"; }
|
||||
else if hasPrefix "freebsd" (elemAt l 2)
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
|
||||
else if hasPrefix "netbsd" (elemAt l 2)
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
|
||||
else if (elem (elemAt l 2) ["eabi" "eabihf" "elf"])
|
||||
then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 1; abi = elemAt l 2; }
|
||||
else if (elemAt l 2 == "ghcjs")
|
||||
then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 2; }
|
||||
else if hasPrefix "genode" (elemAt l 2)
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
|
||||
"3" =
|
||||
# cpu-kernel-environment
|
||||
if elemAt l 1 == "linux" ||
|
||||
elem (elemAt l 2) ["eabi" "eabihf" "elf" "gnu"]
|
||||
then {
|
||||
cpu = elemAt l 0;
|
||||
kernel = elemAt l 1;
|
||||
abi = elemAt l 2;
|
||||
vendor = "unknown";
|
||||
}
|
||||
# cpu-vendor-os
|
||||
else if elemAt l 1 == "apple" ||
|
||||
elem (elemAt l 2) [ "wasi" "redox" "mmixware" "ghcjs" "mingw32" ] ||
|
||||
hasPrefix "freebsd" (elemAt l 2) ||
|
||||
hasPrefix "netbsd" (elemAt l 2) ||
|
||||
hasPrefix "genode" (elemAt l 2)
|
||||
then {
|
||||
cpu = elemAt l 0;
|
||||
vendor = elemAt l 1;
|
||||
kernel = if elemAt l 2 == "mingw32"
|
||||
then "windows" # autotools breaks on -gnu for window
|
||||
else elemAt l 2;
|
||||
}
|
||||
else throw "Target specification with 3 components is ambiguous";
|
||||
"4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; };
|
||||
}.${toString (length l)}
|
||||
|
||||
@@ -213,8 +213,8 @@ rec {
|
||||
# Default value to return if revision can not be determined
|
||||
default:
|
||||
let
|
||||
revisionFile = ./.. + "/.git-revision";
|
||||
gitRepo = ./.. + "/.git";
|
||||
revisionFile = "${toString ./..}/.git-revision";
|
||||
gitRepo = "${toString ./..}/.git";
|
||||
in if lib.pathIsGitRepo gitRepo
|
||||
then lib.commitIdFromGitRepo gitRepo
|
||||
else if lib.pathExists revisionFile then lib.fileContents revisionFile
|
||||
|
||||
@@ -250,7 +250,7 @@ with lib.maintainers; {
|
||||
};
|
||||
|
||||
freedesktop = {
|
||||
members = [ jtojnar ];
|
||||
members = [ ];
|
||||
scope = "Maintain Freedesktop.org packages for graphical desktop.";
|
||||
shortName = "freedesktop.org packaging";
|
||||
};
|
||||
@@ -281,7 +281,6 @@ with lib.maintainers; {
|
||||
members = [
|
||||
bobby285271
|
||||
hedning
|
||||
jtojnar
|
||||
dasj19
|
||||
maxeaubrey
|
||||
];
|
||||
|
||||
@@ -211,7 +211,7 @@ $ sudo groupdel nixbld
|
||||
Generate your NixOS configuration:
|
||||
</para>
|
||||
<programlisting>
|
||||
$ sudo `which nixos-generate-config` --root /
|
||||
$ sudo `which nixos-generate-config`
|
||||
</programlisting>
|
||||
<para>
|
||||
Note that this will place the generated configuration files in
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Stable channels</emphasis>, such as
|
||||
<link xlink:href="https://nixos.org/channels/nixos-22.05"><literal>nixos-22.05</literal></link>.
|
||||
<link xlink:href="https://nixos.org/channels/nixos-22.05"><literal>nixos-22.11</literal></link>.
|
||||
These only get conservative bug fixes and package upgrades. For
|
||||
instance, a channel update may cause the Linux kernel on your
|
||||
system to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix),
|
||||
@@ -33,7 +33,7 @@
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Small channels</emphasis>, such as
|
||||
<link xlink:href="https://nixos.org/channels/nixos-22.05-small"><literal>nixos-22.05-small</literal></link>
|
||||
<link xlink:href="https://nixos.org/channels/nixos-22.05-small"><literal>nixos-22.11-small</literal></link>
|
||||
or
|
||||
<link xlink:href="https://nixos.org/channels/nixos-unstable-small"><literal>nixos-unstable-small</literal></link>.
|
||||
These are identical to the stable and unstable channels
|
||||
@@ -60,8 +60,8 @@
|
||||
<para>
|
||||
When you first install NixOS, you’re automatically subscribed to the
|
||||
NixOS channel that corresponds to your installation source. For
|
||||
instance, if you installed from a 22.05 ISO, you will be subscribed
|
||||
to the <literal>nixos-22.05</literal> channel. To see which NixOS
|
||||
instance, if you installed from a 22.11 ISO, you will be subscribed
|
||||
to the <literal>nixos-22.11</literal> channel. To see which NixOS
|
||||
channel you’re subscribed to, run the following as root:
|
||||
</para>
|
||||
<programlisting>
|
||||
@@ -76,17 +76,17 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||
</programlisting>
|
||||
<para>
|
||||
(Be sure to include the <literal>nixos</literal> parameter at the
|
||||
end.) For instance, to use the NixOS 22.05 stable channel:
|
||||
end.) For instance, to use the NixOS 22.11 stable channel:
|
||||
</para>
|
||||
<programlisting>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.05 nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.11 nixos
|
||||
</programlisting>
|
||||
<para>
|
||||
If you have a server, you may want to use the <quote>small</quote>
|
||||
channel instead:
|
||||
</para>
|
||||
<programlisting>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.05-small nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.11-small nixos
|
||||
</programlisting>
|
||||
<para>
|
||||
And if you want to live on the bleeding edge:
|
||||
@@ -146,7 +146,7 @@ system.autoUpgrade.allowReboot = true;
|
||||
also specify a channel explicitly, e.g.
|
||||
</para>
|
||||
<programlisting language="bash">
|
||||
system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.05;
|
||||
system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.11;
|
||||
</programlisting>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
@@ -1435,7 +1435,7 @@ Superuser created successfully.
|
||||
<para>
|
||||
The default GNAT version has been changed: The
|
||||
<literal>gnat</literal> attribute now points to
|
||||
<literal>gnat11</literal> instead of <literal>gnat9</literal>.
|
||||
<literal>gnat12</literal> instead of <literal>gnat9</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -148,7 +148,7 @@ The first steps to all these are the same:
|
||||
Generate your NixOS configuration:
|
||||
|
||||
```ShellSession
|
||||
$ sudo `which nixos-generate-config` --root /
|
||||
$ sudo `which nixos-generate-config`
|
||||
```
|
||||
|
||||
Note that this will place the generated configuration files in
|
||||
|
||||
@@ -6,7 +6,7 @@ expressions and associated binaries. The NixOS channels are updated
|
||||
automatically from NixOS's Git repository after certain tests have
|
||||
passed and all packages have been built. These channels are:
|
||||
|
||||
- *Stable channels*, such as [`nixos-22.05`](https://nixos.org/channels/nixos-22.05).
|
||||
- *Stable channels*, such as [`nixos-22.11`](https://nixos.org/channels/nixos-22.05).
|
||||
These only get conservative bug fixes and package upgrades. For
|
||||
instance, a channel update may cause the Linux kernel on your system
|
||||
to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not
|
||||
@@ -19,7 +19,7 @@ passed and all packages have been built. These channels are:
|
||||
radical changes between channel updates. It's not recommended for
|
||||
production systems.
|
||||
|
||||
- *Small channels*, such as [`nixos-22.05-small`](https://nixos.org/channels/nixos-22.05-small)
|
||||
- *Small channels*, such as [`nixos-22.11-small`](https://nixos.org/channels/nixos-22.05-small)
|
||||
or [`nixos-unstable-small`](https://nixos.org/channels/nixos-unstable-small).
|
||||
These are identical to the stable and unstable channels described above,
|
||||
except that they contain fewer binary packages. This means they get updated
|
||||
@@ -38,8 +38,8 @@ newest supported stable release.
|
||||
|
||||
When you first install NixOS, you're automatically subscribed to the
|
||||
NixOS channel that corresponds to your installation source. For
|
||||
instance, if you installed from a 22.05 ISO, you will be subscribed to
|
||||
the `nixos-22.05` channel. To see which NixOS channel you're subscribed
|
||||
instance, if you installed from a 22.11 ISO, you will be subscribed to
|
||||
the `nixos-22.11` channel. To see which NixOS channel you're subscribed
|
||||
to, run the following as root:
|
||||
|
||||
```ShellSession
|
||||
@@ -54,16 +54,16 @@ To switch to a different NixOS channel, do
|
||||
```
|
||||
|
||||
(Be sure to include the `nixos` parameter at the end.) For instance, to
|
||||
use the NixOS 22.05 stable channel:
|
||||
use the NixOS 22.11 stable channel:
|
||||
|
||||
```ShellSession
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.05 nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.11 nixos
|
||||
```
|
||||
|
||||
If you have a server, you may want to use the "small" channel instead:
|
||||
|
||||
```ShellSession
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.05-small nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-22.11-small nixos
|
||||
```
|
||||
|
||||
And if you want to live on the bleeding edge:
|
||||
@@ -114,5 +114,5 @@ the new generation contains a different kernel, initrd or kernel
|
||||
modules. You can also specify a channel explicitly, e.g.
|
||||
|
||||
```nix
|
||||
system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.05;
|
||||
system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.11;
|
||||
```
|
||||
|
||||
@@ -427,7 +427,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- The `services.ddclient.password` option was removed, and replaced with `services.ddclient.passwordFile`.
|
||||
|
||||
- The default GNAT version has been changed: The `gnat` attribute now points to `gnat11`
|
||||
- The default GNAT version has been changed: The `gnat` attribute now points to `gnat12`
|
||||
instead of `gnat9`.
|
||||
|
||||
- `retroArchCores` has been removed. This means that using `nixpkgs.config.retroarch` to customize RetroArch cores is not supported anymore. Instead, use package overrides, for example: `retroarch.override { cores = with libretro; [ citra snes9x ]; };`. Also, `retroarchFull` derivation is available for those who want to have all RetroArch cores available.
|
||||
|
||||
@@ -1,27 +1,53 @@
|
||||
# Release 22.11 (“Raccoon”, 2022.11/??) {#sec-release-22.11}
|
||||
# Release 22.11 (“Raccoon”, 2022.11/30) {#sec-release-22.11}
|
||||
|
||||
Support is planned until the end of June 2023, handing over to 23.05.
|
||||
The NixOS release team is happy to announce a new version of NixOS 22.11. NixOS is both a Linux distribution, and a set of packages usable on other Linux systems and macOS.
|
||||
|
||||
This release is supported until the end of June 2023, handing over to NixOS 23.05.
|
||||
|
||||
To upgrade to the latest release follow the [upgrade chapter](#sec-upgrading).
|
||||
|
||||
## Highlights {#sec-release-22.11-highlights}
|
||||
|
||||
In addition to numerous new and upgraded packages, this release has the following highlights:
|
||||
In addition to numerous new and upgraded packages, this release includes the following highlights:
|
||||
|
||||
- GNOME has been upgraded to 43. Please take a look at their [Release
|
||||
Notes](https://release.gnome.org/43/) for details.
|
||||
- Software that uses the `crypt` password hashing API is now using the implementation provided by [`libxcrypt`](https://github.com/besser82/libxcrypt) instead of glibc's, which enables support for more secure algorithms.
|
||||
- Support for algorithms that `libxcrypt` [does not consider strong](https://github.com/besser82/libxcrypt/blob/v4.4.28/lib/hashes.conf#L41) are **deprecated** as of this release, and will be removed in NixOS 23.05.
|
||||
- This includes system login passwords. Given this, we **strongly encourage** all users to update their system passwords, as you will be unable to login if password hashes are not migrated by the time their support is removed.
|
||||
- When using `users.users.<name>.hashedPassword` to configure user passwords, run `mkpasswd`, and use the yescrypt hash that is provided as the new value.
|
||||
- On the other hand, for interactively configured user passwords, simply re-set the passwords for all users with `passwd`.
|
||||
- This release introduces warnings for the use of deprecated hash algorithms for both methods of configuring passwords. To make sure you migrated correctly, run `nixos-rebuild switch`.
|
||||
|
||||
- During cross-compilation, tests are now executed if the test suite can be executed
|
||||
by the build platform. This is the case when doing “native” cross-compilation
|
||||
where the build and host platforms are largely the same, but the nixpkgs' cross
|
||||
compilation infrastructure is used, e.g. `pkgsStatic` and `pkgsLLVM`. Another
|
||||
possibility is that the build platform is a superset of the host platform, e.g. when
|
||||
cross-compiling from `x86_64-unknown-linux` to `i686-unknown-linux`.
|
||||
The predicate gating test suite execution is the newly added `canExecute`
|
||||
predicate: You can e.g. check if `stdenv.buildPlatform` can execute binaries
|
||||
built for `stdenv.hostPlatform` (i.e. produced by `stdenv.cc`) by evaluating
|
||||
`stdenv.buildPlatform.canExecute stdenv.hostPlatform`.
|
||||
- The NixOS documentation is now generated from markdown. While docbook is still part of the documentation build process, it's a big step towards the full migration.
|
||||
|
||||
- The `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options have been added.
|
||||
These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
|
||||
- `aarch64-linux` is now included in the `nixos-22.11` and `nixos-22.11-small` channels. This means that when those channel update, both `x86_64-linux` and `aarch64-linux` will be available in the binary cache.
|
||||
|
||||
- `aarch64-linux` ISOs are now available on the [downloads page](https://nixos.org/download.html).
|
||||
|
||||
- `nsncd` is now available as a replacement of `nscd`.
|
||||
|
||||
`nscd` is responsible for resolving hostnames, users and more in NixOS and has been a long standing source of bugs, such as sporadic network freezes.
|
||||
|
||||
More context in this [issue](https://github.com/NixOS/nixpkgs/issues/135888).
|
||||
|
||||
Help us test the new implementation by setting `services.nscd.enableNsncd` to `true`.
|
||||
|
||||
We plan to use `nsncd` by default in NixOS 23.05.
|
||||
|
||||
- Linode cloud images are now supported by importing `${modulesPath}/virtualisation/linode-image.nix` and accessing `system.build.linodeImage` on the output.
|
||||
|
||||
- `hardware.nvidia` has a new option, `hardware.nvidia.open`, that can be used to enable the usage of NVIDIA's open-source kernel driver. Note that the driver's support for GeForce and Workstation GPUs is still alpha quality, see [the release announcement](https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/) for more information.
|
||||
|
||||
- The `emacs` package now makes use of native compilation which means:
|
||||
- Emacs packages from Nixpkgs, builtin or not, will do native compilation ahead of time so you can enjoy the benefit of native compilation without compiling them on you machine;
|
||||
- Emacs packages from somewhere else, e.g. `package-install`, will perform asynchronously deferred native compilation. If you do not want this, maybe to avoid CPU consumption for compilation, you can use `(setq native-comp-deferred-compilation nil)` to disable it while still benefiting from native compilation for packages from Nixpkgs.
|
||||
|
||||
## Internal changes {#sec-release-22.11-internal}
|
||||
|
||||
- Haskell `ghcWithPackages` is now up to 15 times faster to evaluate, thanks to changing `lib.closePropagation` from a quadratic to linear complexity. Please see backward incompatibilities notes below. <https://github.com/NixOS/nixpkgs/pull/194391>
|
||||
|
||||
- For cross-compilation targets that can also run on the building machine, we now run tests. This, for example, is the case for the `pkgsStatic` and `pkgsLLVM` package sets or i686 packages on `x86_64` machines.
|
||||
|
||||
- To simplify cross-compilation in NixOS, this release introduces the `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options. These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
|
||||
|
||||
- `hostPlatform` is the platform or "`system`" string of the NixOS system
|
||||
described by the configuration.
|
||||
@@ -38,130 +64,24 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
for a transition period so that in time the ecosystem can switch without
|
||||
breaking compatibility with any supported NixOS release.
|
||||
|
||||
- `emacs` enables native compilation which means:
|
||||
- emacs packages from nixpkgs, builtin or not, will do native compilation ahead of time so you can enjoy the benefit of native compilation without compiling them on you machine;
|
||||
- emacs packages from somewhere else, e.g. `package-install`, will do asynchronously deferred native compilation. If you do not want this, maybe to avoid CPU consumption for compilation, you can use `(setq native-comp-deferred-compilation nil)` to disable it while still enjoy the benefit of native compilation for packages from nixpkgs.
|
||||
## Notable version updates {#sec-release-22.11-version-updates}
|
||||
|
||||
- `nixos-generate-config` now generates configurations that can be built in pure
|
||||
mode. This is achieved by setting the new `nixpkgs.hostPlatform` option.
|
||||
|
||||
You may have to unset the `system` parameter in `lib.nixosSystem`, or similarly
|
||||
remove definitions of the `nixpkgs.{system,localSystem,crossSystem}` options.
|
||||
|
||||
Alternatively, you can remove the `hostPlatform` line and use NixOS like you
|
||||
would in NixOS 22.05 and earlier.
|
||||
|
||||
- PHP now defaults to PHP 8.1, updated from 8.0.
|
||||
|
||||
- PHP is now built `NTS` (Non-Thread Safe) style by default, for Apache and
|
||||
`mod_php` usage we still enable `ZTS` (Zend Thread Safe). This has been a
|
||||
common practice for a long time in other distributions.
|
||||
|
||||
- PHP 8.2.0 RC 6 is available.
|
||||
|
||||
- `protonup` has been aliased to and replaced by `protonup-ng` due to upstream not maintaining it.
|
||||
|
||||
- Perl has been updated to 5.36, and its core module `HTTP::Tiny` was patched to verify SSL/TLS certificates by default.
|
||||
|
||||
- Improved performances of `lib.closePropagation` which was previously quadratic. This is used in e.g. `ghcWithPackages`. Please see backward incompatibilities notes below.
|
||||
|
||||
- Cinnamon has been updated to 5.4. While at it, the cinnamon module now defaults to
|
||||
blueman as bluetooth manager and slick-greeter as lightdm greeter to match upstream.
|
||||
- Nix has been upgraded from v2.8.1 to v2.11.0. For more information, please see the release notes for [2.9](https://nixos.org/manual/nix/stable/release-notes/rl-2.9.html), [2.10](https://nixos.org/manual/nix/stable/release-notes/rl-2.10.html) and [2.11](https://nixos.org/manual/nix/stable/release-notes/rl-2.11.html).
|
||||
|
||||
- OpenSSL now defaults to OpenSSL 3, updated from 1.1.1.
|
||||
|
||||
- An image configuration and generator has been added for Linode images, largely based on the present GCE configuration and image.
|
||||
- GNOME has been upgraded to version 43. Please see the [release notes](https://release.gnome.org/43/) for details.
|
||||
|
||||
- `hardware.nvidia` has a new option `open` that can be used to opt in the opensource version of NVIDIA kernel driver. Note that the driver's support for GeForce and Workstation GPUs is still alpha quality, see [NVIDIA Releases Open-Source GPU Kernel Modules](https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/) for the official announcement.
|
||||
- KDE Plasma has been upgraded from v5.24 to v5.26. Please see the release notes for [v5.25](https://kde.org/announcements/plasma/5/5.25.0/) and [v5.26](https://kde.org/announcements/plasma/5/5.26.0/) for more details on the included changes.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
- Cinnamon has been updated to 5.4, and the Cinnamon module now defaults to
|
||||
Blueman as the Bluetooth manager and slick-greeter as the LightDM greeter, to match upstream.
|
||||
|
||||
## New Services {#sec-release-22.11-new-services}
|
||||
- PHP now defaults to PHP 8.1, updated from 8.0.
|
||||
|
||||
- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
|
||||
- Perl has been updated to 5.36, and its core module `HTTP::Tiny` was patched to verify SSL/TLS certificates by default.
|
||||
|
||||
- [automatic-timezoned](https://github.com/maxbrunet/automatic-timezoned). a Linux daemon to automatically update the system timezone based on location. Available as [services.automatic-timezoned](#opt-services.automatic-timezoned.enable).
|
||||
|
||||
- [xray] (https://github.com/XTLS/Xray-core), a fully compatible v2ray-core replacement. Features XTLS, which when enabled on server and client, brings UDP FullCone NAT to proxy setups. Available as [services.xray](options.html#opt-services.xray.enable).
|
||||
|
||||
- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
|
||||
|
||||
- [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
|
||||
|
||||
- [Komga](https://komga.org/), a free and open source comics/mangas media server. Available as [services.komga](#opt-services.komga.enable).
|
||||
|
||||
- [Tandoor Recipes](https://tandoor.dev), a self-hosted multi-tenant recipe collection. Available as [services.tandoor-recipes](options.html#opt-services.tandoor-recipes.enable).
|
||||
|
||||
- [HBase cluster](https://hbase.apache.org/), a distributed, scalable, big data store. Available as [services.hadoop.hbase](options.html#opt-services.hadoop.hbase.enable).
|
||||
|
||||
- [Please](https://github.com/edneville/please), a Sudo clone written in Rust. Available as [security.please](#opt-security.please.enable)
|
||||
|
||||
- [Sachet](https://github.com/messagebird/sachet/), an SMS alerting tool for the Prometheus Alertmanager. Available as [services.prometheus.sachet](#opt-services.prometheus.sachet.enable).
|
||||
|
||||
- [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle.
|
||||
Available as [services.infnoise](options.html#opt-services.infnoise.enable).
|
||||
|
||||
- [kthxbye](https://github.com/prymitive/kthxbye), an alert acknowledgement management daemon for Prometheus Alertmanager. Available as [services.kthxbye](options.html#opt-services.kthxbye.enable)
|
||||
|
||||
- [kanata](https://github.com/jtroo/kanata), a tool to improve keyboard comfort and usability with advanced customization.
|
||||
Available as [services.kanata](options.html#opt-services.kanata.enable).
|
||||
|
||||
- [karma](https://github.com/prymitive/karma), an alert dashboard for Prometheus Alertmanager. Available as [services.karma](options.html#opt-services.karma.enable)
|
||||
|
||||
- [languagetool](https://languagetool.org/), a multilingual grammar, style, and spell checker.
|
||||
Available as [services.languagetool](options.html#opt-services.languagetool.enable).
|
||||
|
||||
- [OpenRGB](https://gitlab.com/CalcProgrammer1/OpenRGB/-/tree/master), a FOSS tool for controlling RGB lighting. Available as [services.hardware.openrgb.enable](options.html#opt-services-hardware-openrgb-enable).
|
||||
|
||||
- [Outline](https://www.getoutline.com/), a wiki and knowledge base similar to Notion. Available as [services.outline](#opt-services.outline.enable).
|
||||
|
||||
- [ntfy.sh](https://ntfy.sh), a push notification service. Available as [services.ntfy-sh](#opt-services.ntfy-sh.enable)
|
||||
|
||||
- [alps](https://git.sr.ht/~migadu/alps), a simple and extensible webmail. Available as [services.alps](#opt-services.alps.enable).
|
||||
|
||||
- [endlessh](https://github.com/skeeto/endlessh), an SSH tarpit. Available as [services.endlessh](#opt-services.endlessh.enable).
|
||||
|
||||
- [endlessh-go](https://github.com/shizunge/endlessh-go), an SSH tarpit that exposes Prometheus metrics. Available as [services.endlessh-go](#opt-services.endlessh-go.enable).
|
||||
|
||||
- [Garage](https://garagehq.deuxfleurs.fr/), a simple object storage server for geodistributed deployments, alternative to MinIO. Available as [services.garage](#opt-services.garage.enable).
|
||||
|
||||
- [netbird](https://netbird.io), a zero configuration VPN.
|
||||
Available as [services.netbird](options.html#opt-services.netbird.enable).
|
||||
|
||||
- [persistent-evdev](https://github.com/aiberia/persistent-evdev), a daemon to add virtual proxy devices that mirror a physical input device but persist even if the underlying hardware is hot-plugged. Available as [services.persistent-evdev](#opt-services.persistent-evdev.enable).
|
||||
|
||||
- [schleuder](https://schleuder.org/), a mailing list manager with PGP support. Enable using [services.schleuder](#opt-services.schleuder.enable).
|
||||
|
||||
- [Dolibarr](https://www.dolibarr.org/), an enterprise resource planning and customer relationship manager. Enable using [services.dolibarr](#opt-services.dolibarr.enable).
|
||||
|
||||
- [FreshRSS](https://freshrss.org/), a free, self-hostable RSS feed aggregator. Available as [services.freshrss](#opt-services.freshrss.enable).
|
||||
|
||||
- [expressvpn](https://www.expressvpn.com), the CLI client for ExpressVPN. Available as [services.expressvpn](#opt-services.expressvpn.enable).
|
||||
|
||||
- [merecat](https://troglobit.com/projects/merecat/), a small and easy HTTP server based on thttpd. Available as [services.merecat](#opt-services.merecat.enable)
|
||||
|
||||
- [go-autoconfig](https://github.com/L11R/go-autoconfig), IMAP/SMTP autodiscover server. Available as [services.go-autoconfig](#opt-services.go-autoconfig.enable).
|
||||
|
||||
- [tmate-ssh-server](https://github.com/tmate-io/tmate-ssh-server), server side part of [tmate](https://tmate.io/). Available as [services.tmate-ssh-server](#opt-services.tmate-ssh-server.enable).
|
||||
|
||||
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
|
||||
|
||||
- [AusweisApp2](https://www.ausweisapp.bund.de/), the authentication software for the German ID card. Available as [programs.ausweisapp](#opt-programs.ausweisapp.enable).
|
||||
|
||||
- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
|
||||
Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- [Prometheus IPMI exporter](https://github.com/prometheus-community/ipmi_exporter), an IPMI exporter for Prometheus. Available as [services.prometheus.exporters.ipmi](#opt-services.prometheus.exporters.ipmi.enable).
|
||||
|
||||
- [WriteFreely](https://writefreely.org), a simple blogging platform with ActivityPub support. Available as [services.writefreely](options.html#opt-services.writefreely.enable).
|
||||
|
||||
- [Listmonk](https://listmonk.app), a self-hosted newsletter manager. Enable using [services.listmonk](options.html#opt-services.listmonk.enable).
|
||||
|
||||
- [Uptime Kuma](https://uptime.kuma.pet/), a fancy self-hosted monitoring tool. Available as [services.uptime-kuma](#opt-services.uptime-kuma.enable).
|
||||
|
||||
- [Mepo](https://mepo.milesalan.com), a fast, simple, hackable OSM map viewer for mobile and desktop Linux. Available as [programs.mepo.enable](#opt-programs.mepo.enable).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
- Python now defaults to 3.10, updated from 3.9.
|
||||
|
||||
## Backward Incompatibilities {#sec-release-22.11-incompatibilities}
|
||||
|
||||
@@ -177,11 +97,11 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- `ngrok` has been upgraded from 2.3.40 to 3.0.4. Please see [the upgrade guide](https://ngrok.com/docs/guides/upgrade-v2-v3)
|
||||
and [changelog](https://ngrok.com/docs/ngrok-agent/changelog). Notably, breaking changes are that the config file format has
|
||||
changed and support for single hypen arguments was dropped.
|
||||
changed and support for single hyphen arguments was dropped.
|
||||
|
||||
- `i18n.supportedLocales` is now by default only generated with the locales set in `i18n.defaultLocale` and `i18n.extraLocaleSettings`.
|
||||
This got partially copied over from the minimal profile and reduces the final system size by up to 200MB.
|
||||
If you require all locales installed set the option to ``[ "all" ]``.
|
||||
- `i18n.supportedLocales` is now only generated with the locales set in `i18n.defaultLocale` and `i18n.extraLocaleSettings`.
|
||||
- This reduces the final system closure size by up to 200MB.
|
||||
- If you require all locales installed, set the option to ``[ "all" ]``.
|
||||
|
||||
- Deprecated settings `logrotate.paths` and `logrotate.extraConfig` have
|
||||
been removed. Please convert any uses to
|
||||
@@ -193,7 +113,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `fetchgit` fetcher supports sparse checkouts via the `sparseCheckout` option. This used to accept a multi-line string with directories/patterns to check out, but now requires a list of strings.
|
||||
|
||||
- `openssh` was updated to version 9.1, disabling the generation of DSA keys when using `ssh-keygen -A` as they are insecure. Also, `SetEnv` directives in `ssh_config` and `sshd_config` are now first-match-wins
|
||||
- `openssh` was updated to version 9.1, disabling the generation of DSA keys when using `ssh-keygen -A` as they are insecure. Also, `SetEnv` directives in `ssh_config` and `sshd_config` are now first-match-wins.
|
||||
|
||||
- `bsp-layout` no longer uses the command `cycle` to switch to other window layouts, as it got replaced by the commands `previous` and `next`.
|
||||
|
||||
@@ -206,11 +126,11 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `p4` package now only includes the open-source Perforce Helix Core command-line client and APIs. It no longer installs the unfree Helix Core Server binaries `p4d`, `p4broker`, and `p4p`. To install the Helix Core Server binaries, use the `p4d` package instead.
|
||||
|
||||
- The `openssl`-extension for the PHP interpreter used by Nextcloud is built against OpenSSL 1.1 if
|
||||
- The OpenSSL extension for the PHP interpreter used by Nextcloud is built against OpenSSL 1.1 if
|
||||
[](#opt-system.stateVersion) is below `22.11`. This is to make sure that people using [server-side encryption](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html)
|
||||
don't loose access to their files.
|
||||
don't lose access to their files.
|
||||
|
||||
In any other case it's safe to use OpenSSL 3 for PHP's openssl extension. This can be done by setting
|
||||
In any other case, it's safe to use OpenSSL 3 for PHP's OpenSSL extension. This can be done by setting
|
||||
[](#opt-services.nextcloud.enableBrokenCiphersForSSE) to `false`.
|
||||
|
||||
- The `coq` package and versioned variants starting at `coq_8_14` no
|
||||
@@ -229,6 +149,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
- Emacs now uses the Lucid toolkit by default instead of GTK because of stability and compatibility issues.
|
||||
Users who still wish to remain using GTK can do so by using `emacs-gtk`.
|
||||
|
||||
- `kanidm` has been updated to 1.1.0-alpha.10 and now requires a TLS certificate and key. It will always start `https` and-–-if enabled-–-an LDAPS server and no HTTP and LDAP server anymore.
|
||||
|
||||
- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
|
||||
|
||||
- ppd files in `pkgs.cups-drv-rastertosag-gdi` are now gzipped. If you refer to such a ppd file with its path (e.g. via [hardware.printers.ensurePrinters](options.html#opt-hardware.printers.ensurePrinters)) you will need to append `.gz` to the path.
|
||||
@@ -294,7 +216,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `zrepl` package has been updated from 0.5.0 to 0.6.0. See the [changelog](https://zrepl.github.io/changelog.html) for details.
|
||||
|
||||
- `k3s` no longer supports docker as runtime due to upstream dropping support.
|
||||
- `k3s` no longer supports Docker as runtime due to upstream dropping support.
|
||||
|
||||
- `cassandra_2_1` and `cassandra_2_2` have been removed. Please update to `cassandra_3_11` or `cassandra_3_0`. See the [changelog](https://github.com/apache/cassandra/blob/cassandra-3.11.14/NEWS.txt) for more information about the upgrade process.
|
||||
|
||||
@@ -318,7 +240,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
For further information, please read the upstream changelogs.
|
||||
|
||||
- `stylua` no longer accepts `lua52Support` and `luauSupport` overrides, use `features` instead, which defaults to `[ "lua54" "luau" ]`.
|
||||
- `stylua` no longer accepts `lua52Support` and `luauSupport` overrides. Use `features` instead, which defaults to `[ "lua54" "luau" ]`.
|
||||
|
||||
- `ocamlPackages.ocaml_extlib` has been renamed to `ocamlPackages.extlib`.
|
||||
|
||||
@@ -343,23 +265,29 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
## Other Notable Changes {#sec-release-22.11-notable-changes}
|
||||
|
||||
- `firefox`, `thunderbird` and `librewolf` come with enabled Wayland support by default. The `firefox-wayland`, `firefox-esr-wayland`, `thunderbird-wayland` and `librewolf-wayland` attributes are obsolete and have been aliased to their generic attribute.
|
||||
- PHP is now built in `NTS` (Non-Thread Safe) mode by default.
|
||||
- For Apache and `mod_php` usage, we enable `ZTS` (Zend Thread Safe) mode. This has been a
|
||||
common practice for a long time in other distributions.
|
||||
|
||||
- `firefox`, `thunderbird` and `librewolf` now come with Wayland support by default. The `firefox-wayland`, `firefox-esr-wayland`, `thunderbird-wayland` and `librewolf-wayland` attributes are obsolete and have been aliased to their generic attribute.
|
||||
|
||||
- The `xplr` package has been updated from 0.18.0 to 0.19.0, which brings some breaking changes. See the [upstream release notes](https://github.com/sayanarijit/xplr/releases/tag/v0.19.0) for more details.
|
||||
|
||||
- Configuring multiple GitHub runners is now possible through `services.github-runners.<name>`. The option `services.github-runner` remains.
|
||||
- Configuring multiple GitHub runners is now possible through `services.github-runners.<name>`. The options under `services.github-runner` remain, to configure a single runner.
|
||||
|
||||
- `github-runner` gained support for ephemeral runners and registrations using a personal access token (PAT) instead of a registration token. See `services.github-runner.ephemeral` and `services.github-runner.tokenFile` for details.
|
||||
|
||||
- A new module was added for the Saleae Logic device family, providing the options `hardware.saleae-logic.enable` and `hardware.saleae-logic.package`.
|
||||
- A new module was added to provide hardware support for the Saleae Logic device family, providing the options `hardware.saleae-logic.enable` and `hardware.saleae-logic.package`.
|
||||
|
||||
- ZFS module will not allow hibernation by default, this is a safety measure to prevent data loss cases like the ones described at [OpenZFS/260](https://github.com/openzfs/zfs/issues/260) and [OpenZFS/12842](https://github.com/openzfs/zfs/issues/12842). Use the `boot.zfs.allowHibernation` option to configure this behaviour.
|
||||
- ZFS module will no longer allow hibernation by default.
|
||||
- This is a safety measure to prevent data loss cases like the ones described at [OpenZFS/260](https://github.com/openzfs/zfs/issues/260) and [OpenZFS/12842](https://github.com/openzfs/zfs/issues/12842).
|
||||
- Use the `boot.zfs.allowHibernation` option to configure this behaviour.
|
||||
|
||||
- `mastodon` now automatically removes remote media attachments older than 30 days. This is configurable through `services.mastodon.mediaAutoRemove`.
|
||||
- Mastodon now automatically removes remote media attachments older than 30 days. This is configurable through `services.mastodon.mediaAutoRemove`.
|
||||
|
||||
- The Redis module now disables RDB persistence when `services.redis.servers.<name>.save = []` instead of using the Redis default.
|
||||
|
||||
- Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance.
|
||||
- Neo4j was updated from version 3 to version 4. See upstream's [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) for information on how to migrate your instance.
|
||||
|
||||
- The `networking.wireguard` module now can set the mtu on interfaces and tag its packets with an fwmark.
|
||||
|
||||
@@ -369,9 +297,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `polymc` package has been removed due to a rogue maintainer. It has been
|
||||
replaced by `prismlauncher`, a fork by the rest of the maintainers. For more
|
||||
details, see [the pull request that made this
|
||||
change](https://github.com/NixOS/nixpkgs/pull/196624) and [this issue
|
||||
detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
|
||||
details, see [the PR that made this change](https://github.com/NixOS/nixpkgs/pull/196624) and
|
||||
[the issue detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
|
||||
Users with existing installations should rename `~/.local/share/polymc` to
|
||||
`~/.local/share/PrismLauncher`. The main config file's path has also moved
|
||||
from `~/.local/share/polymc/polymc.cfg` to
|
||||
@@ -379,7 +306,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `bloat` package has been updated from unstable-2022-03-31 to unstable-2022-10-25, which brings a breaking change. See [this upstream commit message](https://git.freesoftwareextremist.com/bloat/commit/?id=887ed241d64ba5db3fd3d87194fb5595e5ad7d73) for details.
|
||||
|
||||
- The `services.matrix-synapse` systemd unit has been hardened.
|
||||
- Synapse's systemd unit has been hardened.
|
||||
|
||||
- The module `services.grafana` was refactored to be compliant with [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md). To be precise, this means that the following things have changed:
|
||||
- The newly introduced option [](#opt-services.grafana.settings) is an attribute-set that
|
||||
@@ -444,22 +371,28 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `services.grafana.provision.alerting` option was added. It includes suboptions for every alerting-related objects (with the exception of `notifiers`), which means it's now possible to configure modern Grafana alerting declaratively.
|
||||
|
||||
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
|
||||
- Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
|
||||
|
||||
- The `diamond` package has been update from 0.8.36 to 2.0.15. See the [upstream release notes](https://github.com/bbuchfink/diamond/releases) for more details.
|
||||
|
||||
- The `guake` package has been updated from 3.6.3 to 3.9.0, see the [changelog](https://github.com/Guake/guake/releases) for more details.
|
||||
|
||||
- `dockerTools.buildImage` deprecates the misunderstood `contents` parameter, in favor of `copyToRoot`.
|
||||
- The `netlify-cli` package has been updated from 6.13.2 to 12.2.4, see the [changelog](https://github.com/netlify/cli/releases) for more details.
|
||||
|
||||
- `dockerTools.buildImage`'s `contents` parameter has been deprecated in favor of `copyToRoot`.
|
||||
Use `copyToRoot = buildEnv { ... };` or similar if you intend to add packages to `/bin`.
|
||||
|
||||
- The `proxmox.qemuConf.bios` option was added, it corresponds to `Hardware->BIOS` field in Proxmox web interface. Use `"ovmf"` value to build UEFI image, default value remains `"bios"`. New option `proxmox.partitionTableType` defaults to either `"legacy"` or `"efi"`, depending on the `bios` value. Setting `partitionTableType` to `"hybrid"` results in an image, which supports both methods (`"bios"` and `"ovmf"`), thereby remaining bootable after change to Proxmox `Hardware->BIOS` field.
|
||||
|
||||
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
|
||||
|
||||
- Option descriptions, examples, and defaults writting in DocBook are now deprecated. Using CommonMark is preferred and will become the default in a future release.
|
||||
|
||||
- The `documentation.nixos.options.allowDocBook` option was added to ease the transition to CommonMark option documentation. Setting this option to `false` causes an error for every option included in the manual that uses DocBook documentation; it defaults to `true` to preserve the previous behavior and will be removed once the transition to CommonMark is complete.
|
||||
|
||||
- The redis module now persists each instance's configuration file in the state directory, in order to support some more advanced use cases like sentinel.
|
||||
- The Redis module now persists each instance's configuration file in the state directory, in order to support some more advanced use cases like Sentinel.
|
||||
|
||||
- `protonup` has been aliased to and replaced by `protonup-ng` due to upstream not maintaining it.
|
||||
|
||||
- The udisks2 service, available at `services.udisks2.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
|
||||
This also means that polkit will now actually be disabled by default. The default for `security.polkit.enable` was already flipped in the previous release, but udisks2 being enabled by default re-enabled it.
|
||||
@@ -468,22 +401,12 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
for Nextcloud in NixOS:
|
||||
- For Nextcloud **>=24**, the default PHP version is 8.1.
|
||||
- Nextcloud **23** has been removed since it will reach its [end of life in December 2022](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule/d76576a12a626d53305d480a6065b57cab705d3d).
|
||||
- For `system.stateVersion` being **>=22.11**, Nextcloud 25 will be installed by default. For older versions,
|
||||
- If `system.stateVersion` is **>=22.11**, Nextcloud 25 will be installed by default. For older versions,
|
||||
Nextcloud 24 will be installed.
|
||||
- Please ensure that you only upgrade on major release at a time! Nextcloud doesn't support
|
||||
- Please ensure that you only upgrade one major release at a time! Nextcloud doesn't support
|
||||
upgrades across multiple versions, i.e. an upgrade from **23** to **25** is only possible
|
||||
when upgrading to **24** first.
|
||||
|
||||
- Add udev rules for the Teensy family of microcontrollers.
|
||||
|
||||
- The Qt QML disk cache is now disabled by default. This fixes a
|
||||
long-standing issue where updating Qt/KDE apps would sometimes cause
|
||||
them to crash or behave strangely without explanation. Those concerned
|
||||
about the small (~10%) performance hit to application startup can
|
||||
re-enable the cache (and expose themselves to gremlins) by setting the
|
||||
envrionment variable `QML_FORCE_DISK_CACHE` to `1` using e.g. the
|
||||
`environment.sessionVariables` NixOS option.
|
||||
|
||||
- systemd-oomd is enabled by default. Depending on which systemd units have
|
||||
`ManagedOOMSwap=kill` or `ManagedOOMMemoryPressure=kill`, systemd-oomd will
|
||||
SIGKILL all the processes under the appropriate descendant cgroups when the
|
||||
@@ -497,25 +420,23 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API.
|
||||
|
||||
- There is a new module for AMD SEV CPU functionality, which grants access to the hardware.
|
||||
|
||||
- The Wordpress module got support for installing language packs through `services.wordpress.sites.<site>.languages`.
|
||||
- The Wordpress module now has support for installing language packs through a new option, `services.wordpress.sites.<site>.languages`.
|
||||
|
||||
- The default package for `services.mullvad-vpn.package` was changed to `pkgs.mullvad`, allowing cross-platform usage of Mullvad. `pkgs.mullvad` only contains the Mullvad CLI tool, so users who rely on the Mullvad GUI will want to change it back to `pkgs.mullvad-vpn`, or add `pkgs.mullvad-vpn` to their environment.
|
||||
|
||||
- PowerDNS has been updated from `4.6.x` to `4.7.x`. Please be sure to review the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-7-0-or-master) provided by upstream before upgrading. Worth specifically noting is that the new Catalog Zones feature comes with a mandatory schema change for the gsql database backends, which has to be manually applied.
|
||||
- PowerDNS has been updated from v4.6.2 to v4.7.2. Please be sure to review the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-7-0-or-master) provided by upstream before upgrading. Worth specifically noting is that the new Catalog Zones feature comes with a mandatory schema change for the GSQL database backends, which has to be manually applied.
|
||||
|
||||
- There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed.
|
||||
- There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and may be removed in a future release.
|
||||
|
||||
- There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service.
|
||||
- There is a new module for `xfconf` (the Xfce configuration storage system), which has a dbus service.
|
||||
|
||||
- The Mastodon package got upgraded from the major version 3 to 4. See the [v4.0.0 release notes](https://github.com/mastodon/mastodon/releases/tag/v4.0.0) for a list of changes. On standard setups, no manual migration steps are required. Nevertheless, a database backup is recommended.
|
||||
- The Mastodon package has been upgraded to v4.0.0. See the [v4.0.0 release notes](https://github.com/mastodon/mastodon/releases/tag/v4.0.0) for a list of changes. On standard setups, no manual migration steps are required. Nevertheless, a database backup is recommended.
|
||||
|
||||
- The `nomad` package now defaults to 1.3, which no longer has a downgrade path to releases 1.2 or older.
|
||||
- The `nomad` package now defaults to v1.3, which no longer has a downgrade path to v1.2 or older.
|
||||
|
||||
- The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies.
|
||||
|
||||
- `boot.kernel.sysctl` is defined as a freeformType and adds a custom merge option for "net.core.rmem_max" (taking the highest value defined to avoid conflicts between 2 services trying to set that value).
|
||||
- `boot.kernel.sysctl` is defined as a freeformType and adds a custom merge option for `net.core.rmem_max` (taking the highest value defined to avoid conflicts between 2 services trying to set that value).
|
||||
|
||||
- The `mame` package does not ship with its tools anymore in the default output. They were moved to a separate `tools` output instead. For convenience, `mame-tools` package was added for those who want to use it.
|
||||
|
||||
@@ -523,4 +444,92 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- The option `services.picom.experimentalBackends` was removed since it is now the default and the option will cause `picom` to quit instead.
|
||||
|
||||
- `haskellPackages.callHackage` is not always invalidated if `all-cabal-hashes` changes, leading to less rebuilds of haskell dependencies.
|
||||
|
||||
- `haskellPackages.callHackage` and `haskellPackages.callCabal2nix` (and related functions) no longer keep a reference to the `cabal2nix` call used to generate them. As a result, they will be garbage collected more often.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## New Services {#sec-release-22.11-new-services}
|
||||
|
||||
- [alps](https://git.sr.ht/~migadu/alps), a simple and extensible webmail. Available as [services.alps](#opt-services.alps.enable).
|
||||
|
||||
- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
|
||||
|
||||
- [AusweisApp2](https://www.ausweisapp.bund.de/), the authentication software for the German ID card. Available as [programs.ausweisapp](#opt-programs.ausweisapp.enable).
|
||||
|
||||
- [automatic-timezoned](https://github.com/maxbrunet/automatic-timezoned). a Linux daemon to automatically update the system timezone based on location. Available as [services.automatic-timezoned](#opt-services.automatic-timezoned.enable).
|
||||
|
||||
- [Dolibarr](https://www.dolibarr.org/), an enterprise resource planning and customer relationship manager. Enable using [services.dolibarr](#opt-services.dolibarr.enable).
|
||||
|
||||
- [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
|
||||
|
||||
- [endlessh-go](https://github.com/shizunge/endlessh-go), an SSH tarpit that exposes Prometheus metrics. Available as [services.endlessh-go](#opt-services.endlessh-go.enable).
|
||||
|
||||
- [endlessh](https://github.com/skeeto/endlessh), an SSH tarpit. Available as [services.endlessh](#opt-services.endlessh.enable).
|
||||
|
||||
- [EVCC](https://evcc.io) is an EV charge controller with PV integration. It supports a multitude of chargers, meters, vehicle APIs and more and ties that together with a well-tested backend and a lightweight web frontend. Available as [services.evcc](#opt-services.evcc.enable).
|
||||
|
||||
- [expressvpn](https://www.expressvpn.com), the CLI client for ExpressVPN. Available as [services.expressvpn](#opt-services.expressvpn.enable).
|
||||
|
||||
- [FreshRSS](https://freshrss.org/), a free, self-hostable RSS feed aggregator. Available as [services.freshrss](#opt-services.freshrss.enable).
|
||||
|
||||
- [Garage](https://garagehq.deuxfleurs.fr/), a simple object storage server for geodistributed deployments, alternative to MinIO. Available as [services.garage](#opt-services.garage.enable).
|
||||
|
||||
- [go-autoconfig](https://github.com/L11R/go-autoconfig), IMAP/SMTP autodiscover server. Available as [services.go-autoconfig](#opt-services.go-autoconfig.enable).
|
||||
|
||||
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
|
||||
|
||||
- [HBase cluster](https://hbase.apache.org/), a distributed, scalable, big data store. Available as [services.hadoop.hbase](options.html#opt-services.hadoop.hbase.enable).
|
||||
|
||||
- [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle. Available as [services.infnoise](options.html#opt-services.infnoise.enable).
|
||||
|
||||
- [kanata](https://github.com/jtroo/kanata), a tool to improve keyboard comfort and usability with advanced customization. Available as [services.kanata](options.html#opt-services.kanata.enable).
|
||||
|
||||
- [karma](https://github.com/prymitive/karma), an alert dashboard for Prometheus Alertmanager. Available as [services.karma](options.html#opt-services.karma.enable)
|
||||
|
||||
- [Komga](https://komga.org/), a free and open source comics/mangas media server. Available as [services.komga](#opt-services.komga.enable).
|
||||
|
||||
- [kthxbye](https://github.com/prymitive/kthxbye), an alert acknowledgement management daemon for Prometheus Alertmanager. Available as [services.kthxbye](options.html#opt-services.kthxbye.enable)
|
||||
|
||||
- [languagetool](https://languagetool.org/), a multilingual grammar, style, and spell checker. Available as [services.languagetool](options.html#opt-services.languagetool.enable).
|
||||
|
||||
- [Listmonk](https://listmonk.app), a self-hosted newsletter manager. Enable using [services.listmonk](options.html#opt-services.listmonk.enable).
|
||||
|
||||
- [Mepo](https://mepo.milesalan.com), a fast, simple, hackable OSM map viewer for mobile and desktop Linux. Available as [programs.mepo.enable](#opt-programs.mepo.enable).
|
||||
|
||||
- [merecat](https://troglobit.com/projects/merecat/), a small and easy HTTP server based on thttpd. Available as [services.merecat](#opt-services.merecat.enable)
|
||||
|
||||
- [netbird](https://netbird.io), a zero configuration VPN. Available as [services.netbird](options.html#opt-services.netbird.enable).
|
||||
|
||||
- [ntfy.sh](https://ntfy.sh), a push notification service. Available as [services.ntfy-sh](#opt-services.ntfy-sh.enable)
|
||||
|
||||
- [OpenRGB](https://gitlab.com/CalcProgrammer1/OpenRGB/-/tree/master), a FOSS tool for controlling RGB lighting. Available as [services.hardware.openrgb.enable](options.html#opt-services.hardware.openrgb.enable).
|
||||
|
||||
- [Outline](https://www.getoutline.com/), a wiki and knowledge base similar to Notion. Available as [services.outline](#opt-services.outline.enable).
|
||||
|
||||
- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul. Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- [persistent-evdev](https://github.com/aiberia/persistent-evdev), a daemon to add virtual proxy devices that mirror a physical input device but persist even if the underlying hardware is hot-plugged. Available as [services.persistent-evdev](#opt-services.persistent-evdev.enable).
|
||||
|
||||
- [Please](https://github.com/edneville/please), a Sudo clone written in Rust. Available as [security.please](#opt-security.please.enable).
|
||||
|
||||
- [Prometheus IPMI exporter](https://github.com/prometheus-community/ipmi_exporter), an IPMI exporter for Prometheus. Available as [services.prometheus.exporters.ipmi](#opt-services.prometheus.exporters.ipmi.enable).
|
||||
|
||||
- [Sachet](https://github.com/messagebird/sachet/), an SMS alerting tool for the Prometheus Alertmanager. Available as [services.prometheus.sachet](#opt-services.prometheus.sachet.enable).
|
||||
|
||||
- [schleuder](https://schleuder.org/), a mailing list manager with PGP support. Enable using [services.schleuder](#opt-services.schleuder.enable).
|
||||
|
||||
- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
|
||||
|
||||
- [Tandoor Recipes](https://tandoor.dev), a self-hosted multi-tenant recipe collection. Available as [services.tandoor-recipes](options.html#opt-services.tandoor-recipes.enable).
|
||||
|
||||
- [tmate-ssh-server](https://github.com/tmate-io/tmate-ssh-server), server side part of [tmate](https://tmate.io/). Available as [services.tmate-ssh-server](#opt-services.tmate-ssh-server.enable).
|
||||
|
||||
- [Uptime Kuma](https://uptime.kuma.pet/), a fancy self-hosted monitoring tool. Available as [services.uptime-kuma](#opt-services.uptime-kuma.enable).
|
||||
|
||||
- [WriteFreely](https://writefreely.org), a simple blogging platform with ActivityPub support. Available as [services.writefreely](options.html#opt-services.writefreely.enable).
|
||||
|
||||
- [xray](https://github.com/XTLS/Xray-core), a fully compatible v2ray-core replacement. Features XTLS, which when enabled on server and client, brings UDP FullCone NAT to proxy setups. Available as [services.xray](options.html#opt-services.xray.enable).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -27,6 +27,7 @@ let
|
||||
HOME_URL = "https://nixos.org/";
|
||||
DOCUMENTATION_URL = "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = "https://nixos.org/community.html";
|
||||
SUPPORT_END = "2023-06-30";
|
||||
BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
|
||||
};
|
||||
|
||||
@@ -114,7 +115,7 @@ in
|
||||
defaultChannel = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = "https://nixos.org/channels/nixos-unstable";
|
||||
default = "https://nixos.org/channels/nixos-22.11";
|
||||
description = lib.mdDoc "Default NixOS channel to which the root user is subscribed.";
|
||||
};
|
||||
|
||||
|
||||
@@ -491,6 +491,7 @@
|
||||
./services/hardware/vdr.nix
|
||||
./services/home-automation/home-assistant.nix
|
||||
./services/home-automation/zigbee2mqtt.nix
|
||||
./services/home-automation/evcc.nix
|
||||
./services/logging/SystemdJournal2Gelf.nix
|
||||
./services/logging/awstats.nix
|
||||
./services/logging/filebeat.nix
|
||||
|
||||
92
nixos/modules/services/home-automation/evcc.nix
Normal file
92
nixos/modules/services/home-automation/evcc.nix
Normal file
@@ -0,0 +1,92 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.evcc;
|
||||
|
||||
format = pkgs.formats.yaml {};
|
||||
configFile = format.generate "evcc.yml" cfg.settings;
|
||||
|
||||
package = pkgs.evcc;
|
||||
in
|
||||
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||
|
||||
options.services.evcc = with types; {
|
||||
enable = mkEnableOption (lib.mdDoc "EVCC, the extensible EV Charge Controller with PV integration");
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = listOf str;
|
||||
default = [];
|
||||
description = lib.mdDoc ''
|
||||
Extra arguments to pass to the evcc executable.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = format.type;
|
||||
description = lib.mdDoc ''
|
||||
evcc configuration as a Nix attribute set.
|
||||
|
||||
Check for possible options in the sample [evcc.dist.yaml](https://github.com/andig/evcc/blob/${package.version}/evcc.dist.yaml].
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.evcc = {
|
||||
after = [
|
||||
"network-online.target"
|
||||
"mosquitto.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${package}/bin/evcc --config ${configFile} ${escapeShellArgs cfg.extraArgs}";
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
DeviceAllow = [
|
||||
"char-ttyUSB"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
DynamicUser = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups= true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged"
|
||||
];
|
||||
UMask = "0077";
|
||||
User = "evcc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.buildDocsInSandbox = false;
|
||||
}
|
||||
@@ -19,29 +19,66 @@ in
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = format.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Your {file}`pinnwand.toml` as a Nix attribute set. Look up
|
||||
possible options in the [pinnwand.toml-example](https://github.com/supakeen/pinnwand/blob/master/pinnwand.toml-example).
|
||||
possible options in the [documentation](https://pinnwand.readthedocs.io/en/v${pkgs.pinnwand.version}/configuration.html).
|
||||
'';
|
||||
default = {};
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
database_uri = mkOption {
|
||||
type = types.str;
|
||||
default = "sqlite:////var/lib/pinnwand/pinnwand.db";
|
||||
example = "sqlite:///:memory";
|
||||
description = lib.mdDoc ''
|
||||
Database URI compatible with [SQLAlchemyhttps://docs.sqlalchemy.org/en/14/core/engines.html#database-urls].
|
||||
|
||||
Additional packages may need to be introduced into the environment for certain databases.
|
||||
'';
|
||||
};
|
||||
|
||||
paste_size = mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 262144;
|
||||
example = 524288;
|
||||
description = lib.mdDoc ''
|
||||
Maximum size of a paste in bytes.
|
||||
'';
|
||||
};
|
||||
paste_help = mkOption {
|
||||
type = types.str;
|
||||
default = ''
|
||||
<p>Welcome to pinnwand, this site is a pastebin. It allows you to share code with others. If you write code in the text area below and press the paste button you will be given a link you can share with others so they can view your code as well.</p><p>People with the link can view your pasted code, only you can remove your paste and it expires automatically. Note that anyone could guess the URI to your paste so don't rely on it being private.</p>
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Raw HTML help text shown in the header area.
|
||||
'';
|
||||
};
|
||||
footer = mkOption {
|
||||
type = types.str;
|
||||
default = ''
|
||||
View <a href="//github.com/supakeen/pinnwand" target="_BLANK">source code</a>, the <a href="/removal">removal</a> or <a href="/expiry">expiry</a> stories, or read the <a href="/about">about</a> page.
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
The footer in raw HTML.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.pinnwand.settings = {
|
||||
database_uri = mkDefault "sqlite:////var/lib/pinnwand/pinnwand.db";
|
||||
paste_size = mkDefault 262144;
|
||||
paste_help = mkDefault ''
|
||||
<p>Welcome to pinnwand, this site is a pastebin. It allows you to share code with others. If you write code in the text area below and press the paste button you will be given a link you can share with others so they can view your code as well.</p><p>People with the link can view your pasted code, only you can remove your paste and it expires automatically. Note that anyone could guess the URI to your paste so don't rely on it being private.</p>
|
||||
'';
|
||||
footer = mkDefault ''
|
||||
View <a href="//github.com/supakeen/pinnwand" target="_BLANK">source code</a>, the <a href="/removal">removal</a> or <a href="/expiry">expiry</a> stories, or read the <a href="/about">about</a> page.
|
||||
'';
|
||||
};
|
||||
systemd.services.pinnwand = {
|
||||
description = "Pinnwannd HTTP Server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
systemd.services = let
|
||||
hardeningOptions = {
|
||||
unitConfig.Documentation = "https://pinnwand.readthedocs.io/en/latest/";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.pinnwand}/bin/pinnwand --configuration-path ${configFile} http --port ${toString cfg.port}";
|
||||
User = "pinnwand";
|
||||
DynamicUser = true;
|
||||
|
||||
@@ -72,32 +109,14 @@ in
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = "@system-service";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged"
|
||||
];
|
||||
UMask = "0077";
|
||||
};
|
||||
|
||||
command = "${pkgs.pinnwand}/bin/pinnwand --configuration-path ${configFile}";
|
||||
in {
|
||||
pinnwand = {
|
||||
description = "Pinnwannd HTTP Server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
unitConfig.Documentation = "https://pinnwand.readthedocs.io/en/latest/";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${command} http --port ${toString(cfg.port)}";
|
||||
} // hardeningOptions;
|
||||
};
|
||||
|
||||
pinnwand-reaper = {
|
||||
description = "Pinnwand Reaper";
|
||||
startAt = "daily";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${command} -vvvv reap"; # verbosity increased to show number of deleted pastes
|
||||
} // hardeningOptions;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.buildDocsInSandbox = false;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ let
|
||||
poller = { inherit (cfg.log) debug quiet; };
|
||||
unifi = { inherit (cfg) controllers; };
|
||||
influxdb.disable = true;
|
||||
datadog.disable = true; # workaround for https://github.com/unpoller/unpoller/issues/442
|
||||
prometheus = {
|
||||
http_listen = "${cfg.listenAddress}:${toString cfg.port}";
|
||||
report_errors = cfg.log.prometheusErrors;
|
||||
@@ -30,7 +31,7 @@ in {
|
||||
};
|
||||
|
||||
serviceOpts.serviceConfig = {
|
||||
ExecStart = "${pkgs.unifi-poller}/bin/unifi-poller --config ${configFile}";
|
||||
ExecStart = "${pkgs.unifi-poller}/bin/unpoller --config ${configFile}";
|
||||
DynamicUser = false;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -100,6 +100,14 @@ in
|
||||
readOnly = true;
|
||||
type = lib.types.path;
|
||||
};
|
||||
tls_chain = lib.mkOption {
|
||||
description = lib.mdDoc "TLS chain in pem format.";
|
||||
type = lib.types.path;
|
||||
};
|
||||
tls_key = lib.mkOption {
|
||||
description = lib.mdDoc "TLS key in pem format.";
|
||||
type = lib.types.path;
|
||||
};
|
||||
log_level = lib.mkOption {
|
||||
description = lib.mdDoc "Log level of the server.";
|
||||
default = "default";
|
||||
|
||||
@@ -14,7 +14,7 @@ let
|
||||
serviceDirectories = cfg.packages;
|
||||
};
|
||||
|
||||
inherit (lib) mkOption types;
|
||||
inherit (lib) mkOption mkIf mkMerge types;
|
||||
|
||||
in
|
||||
|
||||
@@ -33,6 +33,18 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
implementation = mkOption {
|
||||
type = types.enum [ "dbus" "broker" ];
|
||||
default = "dbus";
|
||||
description = lib.mdDoc ''
|
||||
The implementation to use for the message bus defined by the D-Bus specification.
|
||||
Can be either the classic dbus daemon or dbus-broker, which aims to provide high
|
||||
performance and reliability, while keeping compatibility to the D-Bus
|
||||
reference implementation.
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
packages = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
@@ -66,66 +78,114 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.dbus
|
||||
];
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
environment.etc."dbus-1".source = configDir;
|
||||
|
||||
environment.etc."dbus-1".source = configDir;
|
||||
|
||||
users.users.messagebus = {
|
||||
uid = config.ids.uids.messagebus;
|
||||
description = "D-Bus system message bus daemon user";
|
||||
home = homeDir;
|
||||
group = "messagebus";
|
||||
};
|
||||
|
||||
users.groups.messagebus.gid = config.ids.gids.messagebus;
|
||||
|
||||
systemd.packages = [
|
||||
pkgs.dbus
|
||||
];
|
||||
|
||||
security.wrappers.dbus-daemon-launch-helper = {
|
||||
source = "${pkgs.dbus}/libexec/dbus-daemon-launch-helper";
|
||||
owner = "root";
|
||||
group = "messagebus";
|
||||
setuid = true;
|
||||
setgid = false;
|
||||
permissions = "u+rx,g+rx,o-rx";
|
||||
};
|
||||
|
||||
services.dbus.packages = [
|
||||
pkgs.dbus
|
||||
config.system.path
|
||||
];
|
||||
|
||||
systemd.services.dbus = {
|
||||
# Don't restart dbus-daemon. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
environment.pathsToLink = [
|
||||
"/etc/dbus-1"
|
||||
"/share/dbus-1"
|
||||
];
|
||||
environment = {
|
||||
LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
|
||||
users.users.messagebus = {
|
||||
uid = config.ids.uids.messagebus;
|
||||
description = "D-Bus system message bus daemon user";
|
||||
home = homeDir;
|
||||
group = "messagebus";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.dbus = {
|
||||
# Don't restart dbus-daemon. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
users.groups.messagebus.gid = config.ids.gids.messagebus;
|
||||
|
||||
# You still need the dbus reference implementation installed to use dbus-broker
|
||||
systemd.packages = [
|
||||
pkgs.dbus
|
||||
];
|
||||
};
|
||||
|
||||
systemd.user.sockets.dbus.wantedBy = [
|
||||
"sockets.target"
|
||||
];
|
||||
services.dbus.packages = [
|
||||
pkgs.dbus
|
||||
config.system.path
|
||||
];
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/etc/dbus-1"
|
||||
"/share/dbus-1"
|
||||
];
|
||||
};
|
||||
systemd.user.sockets.dbus.wantedBy = [
|
||||
"sockets.target"
|
||||
];
|
||||
}
|
||||
|
||||
(mkIf (cfg.implementation == "dbus") {
|
||||
environment.systemPackages = [
|
||||
pkgs.dbus
|
||||
];
|
||||
|
||||
security.wrappers.dbus-daemon-launch-helper = {
|
||||
source = "${pkgs.dbus}/libexec/dbus-daemon-launch-helper";
|
||||
owner = "root";
|
||||
group = "messagebus";
|
||||
setuid = true;
|
||||
setgid = false;
|
||||
permissions = "u+rx,g+rx,o-rx";
|
||||
};
|
||||
|
||||
systemd.services.dbus = {
|
||||
# Don't restart dbus-daemon. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
];
|
||||
environment = {
|
||||
LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.dbus = {
|
||||
# Don't restart dbus-daemon. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
];
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
(mkIf (cfg.implementation == "broker") {
|
||||
environment.systemPackages = [
|
||||
pkgs.dbus-broker
|
||||
];
|
||||
|
||||
systemd.packages = [
|
||||
pkgs.dbus-broker
|
||||
];
|
||||
|
||||
# Just to be sure we don't restart through the unit alias
|
||||
systemd.services.dbus.reloadIfChanged = true;
|
||||
systemd.user.services.dbus.reloadIfChanged = true;
|
||||
|
||||
# NixOS Systemd Module doesn't respect 'Install'
|
||||
# https://github.com/NixOS/nixpkgs/issues/108643
|
||||
systemd.services.dbus-broker = {
|
||||
aliases = [
|
||||
"dbus.service"
|
||||
];
|
||||
# Don't restart dbus. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
];
|
||||
environment = {
|
||||
LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.dbus-broker = {
|
||||
aliases = [
|
||||
"dbus.service"
|
||||
];
|
||||
# Don't restart dbus. Bad things tend to happen if we do.
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configDir
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -98,11 +98,11 @@ in {
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/alps ${escapeShellArgs cfg.args}";
|
||||
AmbientCapabilities = "";
|
||||
CapabilityBoundingSet = "";
|
||||
DynamicUser = true;
|
||||
## This is desirable but would restrict bindIP to 127.0.0.1
|
||||
#IPAddressAllow = "localhost";
|
||||
#IPAddressDeny = "any";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
@@ -122,8 +122,10 @@ in {
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SocketBindAllow = cfg.port;
|
||||
SocketBindDeny = "any";
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service @resources" "~@privileged @obsolete" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged @obsolete" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -999,8 +999,8 @@ in
|
||||
|
||||
```
|
||||
# snippet of HedgeDoc-related config
|
||||
services.hedgedoc.configuration.dbURL = "postgres://hedgedoc:\''${DB_PASSWORD}@db-host:5432/hedgedocdb";
|
||||
services.hedgedoc.configuration.minio.secretKey = "$MINIO_SECRET_KEY";
|
||||
services.hedgedoc.settings.dbURL = "postgres://hedgedoc:\''${DB_PASSWORD}@db-host:5432/hedgedocdb";
|
||||
services.hedgedoc.settings.minio.secretKey = "$MINIO_SECRET_KEY";
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
@@ -372,17 +372,19 @@ in {
|
||||
};
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
example = "mastodon@example.com";
|
||||
description = lib.mdDoc "SMTP login name.";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
passwordFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = "/var/lib/mastodon/secrets/smtp-password";
|
||||
description = lib.mdDoc ''
|
||||
Path to file containing the SMTP password.
|
||||
'';
|
||||
default = "/var/lib/mastodon/secrets/smtp-password";
|
||||
example = "/run/keys/mastodon-smtp-password";
|
||||
type = lib.types.str;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -467,6 +469,20 @@ in {
|
||||
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
|
||||
message = ''For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user and services.mastodon.database.user must be identical.'';
|
||||
}
|
||||
{
|
||||
assertion = cfg.smtp.authenticate -> (cfg.smtp.user != null);
|
||||
message = ''
|
||||
<option>services.mastodon.smtp.user</option> needs to be set if
|
||||
<option>services.mastodon.smtp.authenticate</option> is enabled.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = cfg.smtp.authenticate -> (cfg.smtp.passwordFile != null);
|
||||
message = ''
|
||||
<option>services.mastodon.smtp.passwordFile</option> needs to be set if
|
||||
<option>services.mastodon.smtp.authenticate</option> is enabled.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.mastodon-init-dirs = {
|
||||
|
||||
@@ -53,6 +53,13 @@ with lib;
|
||||
Guest memory in MB
|
||||
'';
|
||||
};
|
||||
bios = mkOption {
|
||||
type = types.enum [ "seabios" "ovmf" ];
|
||||
default = "seabios";
|
||||
description = ''
|
||||
Select BIOS implementation (seabios = Legacy BIOS, ovmf = UEFI).
|
||||
'';
|
||||
};
|
||||
|
||||
# optional configs
|
||||
name = mkOption {
|
||||
@@ -99,6 +106,17 @@ with lib;
|
||||
Additional options appended to qemu-server.conf
|
||||
'';
|
||||
};
|
||||
partitionTableType = mkOption {
|
||||
type = types.enum [ "efi" "hybrid" "legacy" "legacy+gpt" ];
|
||||
description = ''
|
||||
Partition table type to use. See make-disk-image.nix partitionTableType for details.
|
||||
Defaults to 'legacy' for 'proxmox.qemuConf.bios="seabios"' (default), other bios values defaults to 'efi'.
|
||||
Use 'hybrid' to build grub-based hybrid bios+efi images.
|
||||
'';
|
||||
default = if config.proxmox.qemuConf.bios == "seabios" then "legacy" else "efi";
|
||||
defaultText = lib.literalExpression ''if config.proxmox.qemuConf.bios == "seabios" then "legacy" else "efi"'';
|
||||
example = "hybrid";
|
||||
};
|
||||
filenameSuffix = mkOption {
|
||||
type = types.str;
|
||||
default = config.proxmox.qemuConf.name;
|
||||
@@ -122,9 +140,33 @@ with lib;
|
||||
${lib.concatStrings (lib.mapAttrsToList cfgLine properties)}
|
||||
#qmdump#map:virtio0:drive-virtio0:local-lvm:raw:
|
||||
'';
|
||||
inherit (cfg) partitionTableType;
|
||||
supportEfi = partitionTableType == "efi" || partitionTableType == "hybrid";
|
||||
supportBios = partitionTableType == "legacy" || partitionTableType == "hybrid" || partitionTableType == "legacy+gpt";
|
||||
hasBootPartition = partitionTableType == "efi" || partitionTableType == "hybrid";
|
||||
hasNoFsPartition = partitionTableType == "hybrid" || partitionTableType == "legacy+gpt";
|
||||
in {
|
||||
assertions = [
|
||||
{
|
||||
assertion = config.boot.loader.systemd-boot.enable -> config.proxmox.qemuConf.bios == "ovmf";
|
||||
message = "systemd-boot requires 'ovmf' bios";
|
||||
}
|
||||
{
|
||||
assertion = partitionTableType == "efi" -> config.proxmox.qemuConf.bios == "ovmf";
|
||||
message = "'efi' disk partitioning requires 'ovmf' bios";
|
||||
}
|
||||
{
|
||||
assertion = partitionTableType == "legacy" -> config.proxmox.qemuConf.bios == "seabios";
|
||||
message = "'legacy' disk partitioning requires 'seabios' bios";
|
||||
}
|
||||
{
|
||||
assertion = partitionTableType == "legacy+gpt" -> config.proxmox.qemuConf.bios == "seabios";
|
||||
message = "'legacy+gpt' disk partitioning requires 'seabios' bios";
|
||||
}
|
||||
];
|
||||
system.build.VMA = import ../../lib/make-disk-image.nix {
|
||||
name = "proxmox-${cfg.filenameSuffix}";
|
||||
inherit partitionTableType;
|
||||
postVM = let
|
||||
# Build qemu with PVE's patch that adds support for the VMA format
|
||||
vma = (pkgs.qemu_kvm.override {
|
||||
@@ -181,7 +223,18 @@ with lib;
|
||||
boot = {
|
||||
growPartition = true;
|
||||
kernelParams = [ "console=ttyS0" ];
|
||||
loader.grub.device = lib.mkDefault "/dev/vda";
|
||||
loader.grub = {
|
||||
device = lib.mkDefault (if (hasNoFsPartition || supportBios) then
|
||||
# Even if there is a separate no-fs partition ("/dev/disk/by-partlabel/no-fs" i.e. "/dev/vda2"),
|
||||
# which will be used the bootloader, do not set it as loader.grub.device.
|
||||
# GRUB installation fails, unless the whole disk is selected.
|
||||
"/dev/vda"
|
||||
else
|
||||
"nodev");
|
||||
efiSupport = lib.mkDefault supportEfi;
|
||||
efiInstallAsRemovable = lib.mkDefault supportEfi;
|
||||
};
|
||||
|
||||
loader.timeout = 0;
|
||||
initrd.availableKernelModules = [ "uas" "virtio_blk" "virtio_pci" ];
|
||||
};
|
||||
@@ -191,6 +244,10 @@ with lib;
|
||||
autoResize = true;
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/boot" = lib.mkIf hasBootPartition {
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
services.qemuGuest.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@ let
|
||||
|
||||
version = fileContents ../.version;
|
||||
versionSuffix =
|
||||
(if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
||||
(if stableBranch then "." else "beta") + "${toString (nixpkgs.revCount - 428633)}.${nixpkgs.shortRev}";
|
||||
|
||||
# Run the tests for each platform. You can run a test by doing
|
||||
# e.g. ‘nix-build release.nix -A tests.login.x86_64-linux’,
|
||||
|
||||
@@ -198,6 +198,7 @@ in {
|
||||
etebase-server = handleTest ./etebase-server.nix {};
|
||||
etesync-dav = handleTest ./etesync-dav.nix {};
|
||||
extra-python-packages = handleTest ./extra-python-packages.nix {};
|
||||
evcc = handleTest ./evcc.nix {};
|
||||
fancontrol = handleTest ./fancontrol.nix {};
|
||||
fcitx = handleTest ./fcitx {};
|
||||
fenics = handleTest ./fenics.nix {};
|
||||
@@ -479,7 +480,7 @@ in {
|
||||
pam-u2f = handleTest ./pam/pam-u2f.nix {};
|
||||
pam-ussh = handleTest ./pam/pam-ussh.nix {};
|
||||
pass-secret-service = handleTest ./pass-secret-service.nix {};
|
||||
patroni = handleTest ./patroni.nix {};
|
||||
patroni = handleTestOn ["x86_64-linux"] ./patroni.nix {};
|
||||
pantalaimon = handleTest ./matrix/pantalaimon.nix {};
|
||||
pantheon = handleTest ./pantheon.nix {};
|
||||
paperless = handleTest ./paperless.nix {};
|
||||
|
||||
@@ -90,7 +90,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
testScript = { nodes, ... }: ''
|
||||
server.start()
|
||||
server.wait_for_unit("postfix.service")
|
||||
server.wait_for_unit("dovecot2.service")
|
||||
@@ -99,6 +99,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
|
||||
client.start()
|
||||
client.wait_for_unit("alps.service")
|
||||
client.wait_for_open_port(${toString nodes.client.config.services.alps.port})
|
||||
client.succeed("test-alps-login")
|
||||
'';
|
||||
})
|
||||
|
||||
96
nixos/tests/evcc.nix
Normal file
96
nixos/tests/evcc.nix
Normal file
@@ -0,0 +1,96 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||
|
||||
{
|
||||
name = "evcc";
|
||||
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||
|
||||
nodes = {
|
||||
machine = { config, ... }: {
|
||||
services.evcc = {
|
||||
enable = true;
|
||||
settings = {
|
||||
network = {
|
||||
schema = "http";
|
||||
host = "localhost";
|
||||
port = 7070;
|
||||
};
|
||||
|
||||
log = "info";
|
||||
|
||||
site = {
|
||||
title = "NixOS Test";
|
||||
meters = {
|
||||
grid = "grid";
|
||||
pv = "pv";
|
||||
};
|
||||
};
|
||||
|
||||
meters = [ {
|
||||
type = "custom";
|
||||
name = "grid";
|
||||
power = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo -4500'";
|
||||
};
|
||||
} {
|
||||
type = "custom";
|
||||
name = "pv";
|
||||
power = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo 7500'";
|
||||
};
|
||||
} ];
|
||||
|
||||
chargers = [ {
|
||||
name = "dummy-charger";
|
||||
type = "custom";
|
||||
status = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo charger status F'";
|
||||
};
|
||||
enabled = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo charger enabled state false'";
|
||||
};
|
||||
enable = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo set charger enabled state true'";
|
||||
};
|
||||
maxcurrent = {
|
||||
source = "script";
|
||||
cmd = "/bin/sh -c 'echo set charger max current 7200'";
|
||||
};
|
||||
} ];
|
||||
|
||||
loadpoints = [ {
|
||||
title = "Dummy";
|
||||
charger = "dummy-charger";
|
||||
} ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("evcc.service")
|
||||
machine.wait_for_open_port(7070)
|
||||
|
||||
with subtest("Check package version propagates into frontend"):
|
||||
machine.fail(
|
||||
"curl --fail http://localhost:7070 | grep '0.0.1-alpha'"
|
||||
)
|
||||
machine.succeed(
|
||||
"curl --fail http://localhost:7070 | grep '${pkgs.evcc.version}'"
|
||||
)
|
||||
|
||||
with subtest("Check journal for errors"):
|
||||
_, output = machine.execute("journalctl -o cat -u evcc.service")
|
||||
assert "ERROR" not in output
|
||||
|
||||
with subtest("Check systemd hardening"):
|
||||
_, output = machine.execute("systemd-analyze security evcc.service | grep -v '✓'")
|
||||
machine.log(output)
|
||||
'';
|
||||
})
|
||||
@@ -3,7 +3,6 @@ import ./make-test-python.nix ({ lib, ... }:
|
||||
name = "fontconfig-default-fonts";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
jtojnar
|
||||
];
|
||||
|
||||
nodes.machine = { config, pkgs, ... }: {
|
||||
|
||||
@@ -13,26 +13,17 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
serverSettings = {
|
||||
origin = "https://${serverDomain}";
|
||||
domain = serverDomain;
|
||||
bindaddress = "[::1]:8443";
|
||||
bindaddress = "[::]:443";
|
||||
ldapbindaddress = "[::1]:636";
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."${serverDomain}" = {
|
||||
forceSSL = true;
|
||||
sslCertificate = certs."${serverDomain}".cert;
|
||||
sslCertificateKey = certs."${serverDomain}".key;
|
||||
locations."/".proxyPass = "http://[::1]:8443";
|
||||
tls_chain = certs."${serverDomain}".cert;
|
||||
tls_key = certs."${serverDomain}".key;
|
||||
};
|
||||
};
|
||||
|
||||
security.pki.certificateFiles = [ certs.ca.cert ];
|
||||
|
||||
networking.hosts."::1" = [ serverDomain ];
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
networking.firewall.allowedTCPPorts = [ 443 ];
|
||||
|
||||
users.users.kanidm.shell = pkgs.bashInteractive;
|
||||
|
||||
@@ -73,7 +64,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
start_all()
|
||||
server.wait_for_unit("kanidm.service")
|
||||
server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
|
||||
server.succeed("ldapsearch -H ldap://[::1]:636 -b '${ldapBaseDN}' -x '(name=test)'")
|
||||
server.succeed("ldapsearch -H ldaps://${serverDomain}:636 -b '${ldapBaseDN}' -x '(name=test)'")
|
||||
client.succeed("kanidm login -D anonymous && kanidm self whoami | grep anonymous@${serverDomain}")
|
||||
rv, result = server.execute("kanidmd recover_account -c ${serverConfigFile} idm_admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
|
||||
assert rv == 0
|
||||
|
||||
@@ -166,6 +166,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
|
||||
start_all()
|
||||
|
||||
etcd.wait_for_unit("etcd.service")
|
||||
|
||||
with subtest("should bootstrap a new patroni cluster"):
|
||||
wait_for_all_nodes_ready()
|
||||
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
import ./make-test-python.nix ({ pkgs, ...}:
|
||||
let
|
||||
pythonEnv = pkgs.python3.withPackages (py: with py; [ appdirs toml ]);
|
||||
|
||||
port = 8000;
|
||||
baseUrl = "http://server:${toString port}";
|
||||
|
||||
configureSteck = pkgs.writeScript "configure.py" ''
|
||||
#!${pythonEnv.interpreter}
|
||||
import appdirs
|
||||
import toml
|
||||
import os
|
||||
|
||||
CONFIG = {
|
||||
"base": "${baseUrl}/",
|
||||
"confirm": False,
|
||||
"magic": True,
|
||||
"ignore": True
|
||||
}
|
||||
|
||||
os.makedirs(appdirs.user_config_dir('steck'))
|
||||
with open(os.path.join(appdirs.user_config_dir('steck'), 'steck.toml'), "w") as fd:
|
||||
toml.dump(CONFIG, fd)
|
||||
'';
|
||||
in
|
||||
{
|
||||
name = "pinnwand";
|
||||
@@ -44,7 +24,32 @@ in
|
||||
|
||||
client = { pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.steck ];
|
||||
environment.systemPackages = [
|
||||
pkgs.steck
|
||||
|
||||
(pkgs.writers.writePython3Bin "setup-steck.py" {
|
||||
libraries = with pkgs.python3.pkgs; [ appdirs toml ];
|
||||
flakeIgnore = [
|
||||
"E501"
|
||||
];
|
||||
}
|
||||
''
|
||||
import appdirs
|
||||
import toml
|
||||
import os
|
||||
|
||||
CONFIG = {
|
||||
"base": "${baseUrl}/",
|
||||
"confirm": False,
|
||||
"magic": True,
|
||||
"ignore": True
|
||||
}
|
||||
|
||||
os.makedirs(appdirs.user_config_dir('steck'))
|
||||
with open(os.path.join(appdirs.user_config_dir('steck'), 'steck.toml'), "w") as fd:
|
||||
toml.dump(CONFIG, fd)
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -55,7 +60,7 @@ in
|
||||
client.wait_for_unit("network.target")
|
||||
|
||||
# create steck.toml config file
|
||||
client.succeed("${configureSteck}")
|
||||
client.succeed("setup-steck.py")
|
||||
|
||||
# wait until the server running pinnwand is reachable
|
||||
client.wait_until_succeeds("ping -c1 server")
|
||||
@@ -75,12 +80,6 @@ in
|
||||
if line.startswith("Removal link:"):
|
||||
removal_link = line.split(":", 1)[1]
|
||||
|
||||
|
||||
# start the reaper, it shouldn't do anything meaningful here
|
||||
server.systemctl("start pinnwand-reaper.service")
|
||||
server.wait_until_fails("systemctl is-active -q pinnwand-reaper.service")
|
||||
server.log(server.execute("journalctl -u pinnwand-reaper -e --no-pager")[1])
|
||||
|
||||
# check whether paste matches what we sent
|
||||
client.succeed(f"curl {raw_url} > /tmp/machine-id")
|
||||
client.succeed("diff /tmp/machine-id /etc/machine-id")
|
||||
@@ -89,6 +88,6 @@ in
|
||||
client.succeed(f"curl {removal_link}")
|
||||
client.fail(f"curl --fail {raw_url}")
|
||||
|
||||
server.log(server.succeed("systemd-analyze security pinnwand"))
|
||||
server.log(server.execute("systemd-analyze security pinnwand | grep '✗'")[1])
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -21,7 +21,7 @@ with pkgs.lib;
|
||||
type = "file";
|
||||
inputs = [ "journald" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "ndjson"; };
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ in import ../make-test-python.nix {
|
||||
${nodes.server.config.networking.primaryIPAddress} uploads.example.com
|
||||
'';
|
||||
environment.systemPackages = [
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
|
||||
(pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = "example.com"; })
|
||||
];
|
||||
};
|
||||
server = { config, pkgs, ... }: {
|
||||
@@ -82,6 +82,7 @@ in import ../make-test-python.nix {
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
# Check with sqlite storage
|
||||
start_all()
|
||||
server.wait_for_unit("prosody.service")
|
||||
server.succeed('prosodyctl status | grep "Prosody is running"')
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ in writeScriptBin "send-message" ''
|
||||
#!${(python3.withPackages (ps: [ ps.slixmpp ])).interpreter}
|
||||
import logging
|
||||
import sys
|
||||
import signal
|
||||
from types import MethodType
|
||||
|
||||
from slixmpp import ClientXMPP
|
||||
@@ -64,8 +65,13 @@ class CthonTest(ClientXMPP):
|
||||
log.info('MUC join success!')
|
||||
log.info('XMPP SCRIPT TEST SUCCESS')
|
||||
|
||||
def timeout_handler(signalnum, stackframe):
|
||||
print('ERROR: xmpp-sendmessage timed out')
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
signal.signal(signal.SIGALRM, timeout_handler)
|
||||
signal.alarm(120)
|
||||
logging.basicConfig(level=logging.DEBUG,
|
||||
format='%(levelname)-8s %(message)s')
|
||||
|
||||
@@ -76,7 +82,7 @@ if __name__ == '__main__':
|
||||
ct.register_plugin('xep_0363')
|
||||
# MUC
|
||||
ct.register_plugin('xep_0045')
|
||||
ct.connect(("server", 5222))
|
||||
ct.connect(("${connectTo}", 5222))
|
||||
ct.process(forever=False)
|
||||
|
||||
if not ct.test_succeeded:
|
||||
|
||||
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Checks whether the contrast between two colors meet the WCAG requirements";
|
||||
homepage = "https://gitlab.gnome.org/World/design/contrast";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Plug-in that adds GTK 3 header bar to the DeaDBeeF music player";
|
||||
homepage = "https://github.com/saivert/ddb_misc_headerbar_GTK3";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
||||
description = "Plugin for DeaDBeeF audio player that fetches and shows the song’s lyrics";
|
||||
homepage = "https://github.com/C0rn3j/deadbeef-lyricbar";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Audio effects for PipeWire applications.";
|
||||
homepage = "https://github.com/wwmm/easyeffects";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
};
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ mkDerivation, lib, fetchFromGitHub, pkg-config, sconsPackages, qtbase, lash, libjack2, jack ? libjack2, alsa-lib }:
|
||||
{ mkDerivation, lib, fetchFromGitHub, pkg-config, sconsPackages, qtbase, lash, libjack2, jack ? libjack2, alsa-lib
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "jackmix";
|
||||
@@ -11,9 +13,16 @@ mkDerivation rec {
|
||||
sha256 = "0p59411vk38lccn24r7nih10jpgg9i46yc26zpc3x13amxwwpd4h";
|
||||
};
|
||||
|
||||
patches = [ ./no_error.patch ];
|
||||
patches = [
|
||||
./no_error.patch
|
||||
(fetchpatch {
|
||||
name = "sconstruct-python3.patch";
|
||||
url = "https://github.com/kampfschlaefer/jackmix/commit/3a0c868b267728fdbc69cc3dc1941edac27d97f6.patch";
|
||||
hash = "sha256-MLgxIiZ0+C1IVEci9Q347DR+SJUlPG2N3iPvuhRptJU=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ sconsPackages.scons_3_1_2 pkg-config ];
|
||||
nativeBuildInputs = [ sconsPackages.scons_latest pkg-config ];
|
||||
buildInputs = [
|
||||
qtbase
|
||||
lash
|
||||
|
||||
@@ -1,19 +1,34 @@
|
||||
{ lib, stdenv, fetchurl, sconsPackages, pkg-config
|
||||
, libsamplerate, libsndfile, liblo, libjack2, boost }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, sconsPackages
|
||||
, rubberband
|
||||
, boost
|
||||
, libjack2
|
||||
, liblo
|
||||
, libsamplerate
|
||||
, libsndfile
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "klick";
|
||||
version = "0.12.2";
|
||||
version = "0.14.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://das.nasophon.de/download/${pname}-${version}.tar.gz";
|
||||
sha256 = "1289533c0849b1b66463bf27f7ce5f71736b655cfb7672ef884c7e6eb957ac42";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Allfifthstuning";
|
||||
repo = "klick";
|
||||
rev = version;
|
||||
hash = "sha256-jHyeVCmyy9ipbVaF7GSW19DOVpU9EQJoLcGq9uos+eY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ sconsPackages.scons_3_0_1 pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
rubberband
|
||||
sconsPackages.scons_latest
|
||||
];
|
||||
buildInputs = [ libsamplerate libsndfile liblo libjack2 boost ];
|
||||
prefixKey = "PREFIX=";
|
||||
NIX_CFLAGS_COMPILE = "-fpermissive";
|
||||
|
||||
meta = {
|
||||
homepage = "http://das.nasophon.de/klick/";
|
||||
|
||||
@@ -11,12 +11,12 @@ buildNpmPackage rec {
|
||||
hash = "sha256-XgwlRdwUSl4gIRKqk6BnMAKarVvp291zk8vmNkuRWKo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Use generated package-lock.json since upstream does not provide one in releases
|
||||
./package-lock.json.patch
|
||||
];
|
||||
# Use generated package-lock.json since upstream does not provide one in releases
|
||||
postPatch = ''
|
||||
ln -sT ${./package-lock.json} ./package-lock.json
|
||||
'';
|
||||
|
||||
npmDepsHash = "sha256-SGLcFjPnmhFoeXtP4gfGr4Qa1dTaXwSnzkweEvYW/1k=";
|
||||
npmDepsHash = "sha256-5KZXZ4agHcAh3gai5w9YodETIEGJtDq/kyEZOHb9dOc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
@@ -38,7 +38,7 @@ buildNpmPackage rec {
|
||||
runHook preInstall
|
||||
|
||||
# prune unused deps
|
||||
npm prune --omit dev $npmFlags
|
||||
npm prune --omit dev --no-save $npmFlags
|
||||
|
||||
# copy built app and node_modules directories
|
||||
mkdir -p $out/lib/node_modules/open-stage-control
|
||||
|
||||
18244
pkgs/applications/audio/open-stage-control/package-lock.json
generated
Normal file
18244
pkgs/applications/audio/open-stage-control/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -47,10 +47,7 @@ curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/v"$
|
||||
# Lock dependencies with npm
|
||||
(cd "$pkgdir" && npm install --package-lock-only --ignore-scripts --legacy-peer-deps)
|
||||
|
||||
# Turn lock file into patch file
|
||||
(cd "$pkgdir" && (diff -u /dev/null ./package-lock.json || [ $? -eq 1 ])) >"$pkgdir"/package-lock.json.patch
|
||||
|
||||
rm -f "$pkgdir"/{package.json,package-lock.json}
|
||||
rm -f "$pkgdir"/package.json
|
||||
|
||||
# Update FOD hash
|
||||
curhash="$(nixeval "$attr.npmDeps.outputHash")"
|
||||
|
||||
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Standalone lyrics fetcher/displayer";
|
||||
homepage = "https://github.com/osdlyrics/osdlyrics";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "soundtracker";
|
||||
version = "1.0.2.1";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
# Past releases get moved to the "old releases" directory.
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
# Nonetheless, only the name of the file seems to affect which file is
|
||||
# downloaded, so this path should be fine both for old and current releases.
|
||||
url = "mirror://sourceforge/soundtracker/soundtracker-${version}.tar.xz";
|
||||
sha256 = "0nh0dwz8nldc040q6n06vlazhss8ms42r2dffhjcrqj3hbrvfx82";
|
||||
sha256 = "sha256-k+TB1DIauOIeQSCVV5uYu69wwRx7vCRAlSCTAtDguKo=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
|
||||
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://wiki.gnome.org/Apps/DejaDup";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
, libXrandr
|
||||
, libXi
|
||||
, gnome
|
||||
, kdialog
|
||||
, libsForQt5
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@@ -71,7 +71,7 @@ rustPlatform.buildRustPackage rec {
|
||||
in
|
||||
''
|
||||
patchelf --set-rpath "${libPath}" "$out/bin/$pname"
|
||||
wrapProgram $out/bin/$pname --prefix PATH : ${lib.makeBinPath [ gnome.zenity kdialog ]}
|
||||
wrapProgram $out/bin/$pname --prefix PATH : ${lib.makeBinPath [ gnome.zenity libsForQt5.kdialog ]}
|
||||
'';
|
||||
|
||||
|
||||
|
||||
@@ -25,23 +25,21 @@
|
||||
|
||||
with lib;
|
||||
let
|
||||
version = "23.0";
|
||||
majorVersion = versions.major version;
|
||||
desktop = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorVersion}.x/debian/bitcoin-qt.desktop";
|
||||
# c2e5f3e is the last commit when the debian/bitcoin-qt.desktop file was changed
|
||||
url = "https://raw.githubusercontent.com/bitcoin-core/packaging/c2e5f3e20a8093ea02b73cbaf113bc0947b4140e/debian/bitcoin-qt.desktop";
|
||||
sha256 = "0cpna0nxcd1dw3nnzli36nf9zj28d2g9jf5y0zl9j18lvanvniha";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "bitcoin" else "bitcoind";
|
||||
inherit version;
|
||||
version = "24.0";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "26748bf49d6d6b4014d0fedccac46bf2bcca42e9d34b3acfd9e3467c415acc05";
|
||||
sha256 = "9cfa4a9f4acb5093e85b8b528392f0f05067f3f8fafacd4dcfe8a396158fd9f4";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
@@ -74,10 +72,6 @@ stdenv.mkDerivation rec {
|
||||
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||
];
|
||||
|
||||
# fix "Killed: 9 test/test_bitcoin"
|
||||
# https://github.com/NixOS/nixpkgs/issues/179474
|
||||
hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "fortify" "stackprotector" ];
|
||||
|
||||
checkInputs = [ python3 ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.6.12";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-izjKrzHbyRsUhlUAf0PELVGBt5JmzvBzgBytB9z80cI=";
|
||||
sha256 = "sha256-6E8TJ1NgWlLTegDQ4UcCQpAAQibbefg5x7qhSrSKAgc=";
|
||||
};
|
||||
|
||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||
|
||||
113
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
113
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
@@ -31,23 +31,23 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.All";
|
||||
version = "1.4.5";
|
||||
sha256 = "1x4500b71cmv8qba2phk1j0624w8gln5c1jzyw3x782ddvlbznna";
|
||||
version = "1.4.9";
|
||||
sha256 = "0r9ssz00d0zbbszs1ypc9jvbwg5myh9jmw46wvzk0jhp5xfz5mip";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.Charge";
|
||||
version = "1.3.12";
|
||||
sha256 = "0bf9k5wx9h53fwis6887gy43683xgljwk26kr44r6gzqbzwzac1m";
|
||||
version = "1.3.14";
|
||||
sha256 = "1frhj5jmncsdcb1x5jy733l40bqifdwirmq6mjdn3596fmgjvh9b";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.CLightning";
|
||||
version = "1.3.14";
|
||||
sha256 = "0320bm9fz6mym3b450avwx0ng8y334w4rm2gcpicnwglp53cagx7";
|
||||
version = "1.3.16";
|
||||
sha256 = "0nh1fcjpkl6l2par60p0w7nwc45za28iagmdsq6czz68kpvfx83c";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.Common";
|
||||
version = "1.3.13";
|
||||
sha256 = "1yy78w4zcl17z99l0n5p86ay9cvsbhwxm42f1f2ll9k2p495bmr3";
|
||||
version = "1.3.15";
|
||||
sha256 = "1axmdn6qdzxljdvidw8s68sfgy5ykmxv0nkzcdsgdmhisahaz2pa";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.Common";
|
||||
@@ -56,38 +56,23 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.Eclair";
|
||||
version = "1.3.12";
|
||||
sha256 = "0jqaimrcdgd7iwyy8fkqysrxfbz3gzvv4pi30fc0nz1x1b11w48j";
|
||||
version = "1.3.14";
|
||||
sha256 = "1ld5diahj75jbnqmvvsc0h65sbd4i73k7sik325yw4gvz4jmw2ih";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.LNBank";
|
||||
version = "1.3.14";
|
||||
sha256 = "1zsjg0zgp51vgkhq7vv05pxz5jrpahkjl042ilywb8jqlz3my9jw";
|
||||
version = "1.3.16";
|
||||
sha256 = "0nq36jg0qfj93djk5b9i42v8gm2zqkf8a2ddb69z52gsg8ixvcm6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.LND";
|
||||
version = "1.4.4";
|
||||
sha256 = "0qm7xgd19s629swnm6b83qv5b9p57b7bq9bi5l340yim6w8yb4mb";
|
||||
version = "1.4.7";
|
||||
sha256 = "144wlnlvkmn1hrl7kwsqfvlla3lknd599rmp6zf1nv0n4jsj15l4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BTCPayServer.Lightning.LNDhub";
|
||||
version = "1.0.7";
|
||||
sha256 = "10npvkaa6hr0a3lb4lnfakfnbzr87058irsa4jrbj238hc5m8zwg";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BuildBundlerMinifier";
|
||||
version = "3.2.449";
|
||||
sha256 = "1dcjlfl5w2vfppx2hq3jj6xy24id2x3hcajwylhphlz9jw2bnhsv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BundlerMinifier.Core";
|
||||
version = "3.2.449";
|
||||
sha256 = "1bqc8k346b9yl7a5ywbl5g1m5982qyg7s2kihak100fzlb7g7rxs";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "BundlerMinifier.TagHelpers";
|
||||
version = "3.2.435";
|
||||
sha256 = "0ksmby0lzgsxkv0xfzr840262kcqra9vds91mcx0rf20blksfvsk";
|
||||
version = "1.0.10";
|
||||
sha256 = "12c5gmd62vik0ar786jlhzf0gid4smi5ysl12mxpx1i0dndgapbh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "CsvHelper";
|
||||
@@ -186,8 +171,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "LNURL";
|
||||
version = "0.0.24";
|
||||
sha256 = "1hqa95gbcis03c0m5kwl7zzn26kwv1my94yq96766qp0rnl6c4lw";
|
||||
version = "0.0.26";
|
||||
sha256 = "0gb6n5zvf3mnmychbv3hmzbfllxamq26y1c18ql6y02wy2asrwff";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "MailKit";
|
||||
@@ -449,11 +434,6 @@
|
||||
version = "6.0.1";
|
||||
sha256 = "0ra0ldbg09r40jzvfqhpb3h42h80nafvka9hg51dja32k3mxn5gk";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Configuration.Abstractions";
|
||||
version = "1.1.2";
|
||||
sha256 = "0z83kxfzsgqlshg4x1mhdnhlrprrwsgnnibvwk257drzy9079994";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Configuration.Abstractions";
|
||||
version = "2.0.0";
|
||||
@@ -629,11 +609,6 @@
|
||||
version = "1.0.0";
|
||||
sha256 = "1sh9bidmhy32gkz6fkli79mxv06546ybrzppfw5v2aq0bda1ghka";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Logging.Abstractions";
|
||||
version = "1.1.2";
|
||||
sha256 = "0j9b4z3pf8a5xphx3ksn6jm01rf4z001vfll5kcbxw995xcidjw1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Logging.Abstractions";
|
||||
version = "2.0.0";
|
||||
@@ -659,11 +634,6 @@
|
||||
version = "6.0.0";
|
||||
sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Logging.Filter";
|
||||
version = "1.1.2";
|
||||
sha256 = "1pip87q89376xxpi3r5pf9vxhqxx21qrp179fbldbkr2m1577k9m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Logging";
|
||||
version = "2.0.0";
|
||||
@@ -714,11 +684,6 @@
|
||||
version = "1.1.0";
|
||||
sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Primitives";
|
||||
version = "1.1.1";
|
||||
sha256 = "0rcwxz1r89y96s8k3bmg0v6zdqanqfp09khy5l99wnl777y15g7x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Extensions.Primitives";
|
||||
version = "2.0.0";
|
||||
@@ -769,11 +734,6 @@
|
||||
version = "17.3.2";
|
||||
sha256 = "0pm06nxqi8aw04lciqy7iz8ln1qm5mx06cpwgqa2dfwvnjp7zxnm";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.NetCore.Analyzers";
|
||||
version = "3.3.2";
|
||||
sha256 = "1h1bjiiw64qncs61p2idwxswv4kzq06bbl2rlghiagv6sbjk4pnq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.NETCore.Platforms";
|
||||
version = "1.0.1";
|
||||
@@ -836,19 +796,14 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin.Altcoins";
|
||||
version = "3.0.8";
|
||||
sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
|
||||
version = "3.0.17";
|
||||
sha256 = "1rqcfpcs3c7zqlw3fnvnyw3d3mmplg5nsaikm50lnzpl8z3cq936";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin";
|
||||
version = "5.0.40";
|
||||
sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin";
|
||||
version = "6.0.18";
|
||||
sha256 = "1dr669h68cx6yfzr3n97yzzwbgnsv5g2008diyxngdjm55nh3q9s";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin";
|
||||
version = "6.0.8";
|
||||
@@ -861,8 +816,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin";
|
||||
version = "7.0.11";
|
||||
sha256 = "1v5fiyi2jci162jjga9cgmh2p6ig6yxj4zr151x0fa8rwaz5f1md";
|
||||
version = "7.0.14";
|
||||
sha256 = "18nxx13fz3i7kmigijnynvrbx2i5cb3v4m89nvnxl38vcw7w5jys";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitpayClient";
|
||||
@@ -871,8 +826,8 @@
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBXplorer.Client";
|
||||
version = "4.2.0";
|
||||
sha256 = "1adbn5cbr42cjfvijaf1lffhcrcn0ws1arfi7mrg3kjshbzfgims";
|
||||
version = "4.2.1";
|
||||
sha256 = "0sizhzz6ry40fphd3lqqj8r9ik103jzrq1ql57rl1zfh1490zq5y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NETStandard.Library";
|
||||
@@ -894,11 +849,6 @@
|
||||
version = "3.0.14";
|
||||
sha256 = "1njk1arrf8pbx0i0p3yww459i70p0fcx02vs0jnbb6znvcy4mvh6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Newtonsoft.Json";
|
||||
version = "11.0.2";
|
||||
sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Newtonsoft.Json";
|
||||
version = "12.0.3";
|
||||
@@ -959,11 +909,6 @@
|
||||
version = "5.11.0";
|
||||
sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NUglify";
|
||||
version = "1.5.14";
|
||||
sha256 = "00sy6m88z9q08ad7v55vczibxa74xwb2izrg9zinxdbihprgw92w";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "PeterO.Cbor";
|
||||
version = "4.1.3";
|
||||
@@ -1554,11 +1499,6 @@
|
||||
version = "4.3.0";
|
||||
sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Runtime.CompilerServices.Unsafe";
|
||||
version = "4.3.0";
|
||||
sha256 = "149xcsa1pphlrc2zfmca9n822g4mxk7s2a44phvf34r0fajm3hk8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Runtime.CompilerServices.Unsafe";
|
||||
version = "4.4.0";
|
||||
@@ -1874,11 +1814,6 @@
|
||||
version = "4.3.0";
|
||||
sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Text.Analyzers";
|
||||
version = "3.3.3";
|
||||
sha256 = "1fkx07xi049mlzskrw9422zpikdppsgf7vi2lq97qs5rvly3rfvp";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "TwentyTwenty.Storage.Amazon";
|
||||
version = "2.12.1";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, pkg-config, autoreconfHook
|
||||
, db5, openssl, boost, zlib, miniupnpc, libevent
|
||||
, protobuf, qtbase ? null
|
||||
, wrapQtAppsHook ? null, qttools, qmake ? null, qrencode
|
||||
, wrapQtAppsHook ? null, qttools ? null, qmake ? null, qrencode
|
||||
, withGui, withUpnp ? true, withUtils ? true, withWallet ? true
|
||||
, withZmq ? true, zeromq, util-linux ? null, Cocoa ? null }:
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "nbxplorer";
|
||||
version = "2.3.41";
|
||||
version = "2.3.49";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgarage";
|
||||
repo = "NBXplorer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xifL6XafK8FCtOoXt5H8ymCWETZlfzTKk51/saBGxHE=";
|
||||
sha256 = "sha256-ErAdFY65EYY988+xqSd6v57NbFeOE3Yt5mvn6C0TuRE=";
|
||||
};
|
||||
|
||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||
|
||||
5
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
5
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
@@ -199,6 +199,11 @@
|
||||
version = "7.0.14";
|
||||
sha256 = "18nxx13fz3i7kmigijnynvrbx2i5cb3v4m89nvnxl38vcw7w5jys";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NBitcoin";
|
||||
version = "7.0.18";
|
||||
sha256 = "02kkgymdb80cidibrs6qpy1zjwcfbkwv9zqz9s0swf5zp7qvcakn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NETStandard.Library";
|
||||
version = "1.6.1";
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{ lib, stdenv
|
||||
, autoPatchelfHook
|
||||
, makeWrapper
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, curl
|
||||
, dotnetCorePackages
|
||||
, lttng-ust_2_12
|
||||
, fontconfig
|
||||
, krb5
|
||||
, openssl
|
||||
@@ -11,29 +14,31 @@
|
||||
}:
|
||||
|
||||
let
|
||||
dotnet-runtime = dotnetCorePackages.runtime_5_0;
|
||||
libPath = lib.makeLibraryPath [
|
||||
dotnet-runtime = dotnetCorePackages.runtime_6_0;
|
||||
# These libraries are dynamically loaded by the application,
|
||||
# and need to be present in LD_LIBRARY_PATH
|
||||
runtimeLibs = [
|
||||
curl
|
||||
dotnet-runtime
|
||||
fontconfig.lib
|
||||
krb5
|
||||
openssl
|
||||
stdenv.cc.cc.lib
|
||||
xorg.libX11
|
||||
xorg.libICE
|
||||
xorg.libSM
|
||||
zlib
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wasabiwallet";
|
||||
version = "2.0.1.3";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
||||
sha256 = "sha256-cATqg/n4/BDQtuCVjHAx3EfMLmlX5EjeQ01gavy/L8o=";
|
||||
sha256 = "sha256-0DFl+UFxQckRM2qXFqDpKaRQ5sIMUbNj7l3zKPKAOnQ=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "wasabi";
|
||||
@@ -44,16 +49,19 @@ stdenv.mkDerivation rec {
|
||||
categories = [ "Network" "Utility" ];
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
buildInputs = runtimeLibs ++ [
|
||||
lttng-ust_2_12
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt/${pname} $out/bin $out/share/applications
|
||||
cp -Rv . $out/opt/${pname}
|
||||
cd $out/opt/${pname}
|
||||
for i in $(find . -type f -name '*.so') wassabee
|
||||
do
|
||||
patchelf --set-rpath ${libPath} $i
|
||||
done
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
|
||||
ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
|
||||
|
||||
makeWrapper "${dotnet-runtime}/bin/dotnet" "$out/bin/${pname}" \
|
||||
--add-flags "$out/opt/${pname}/WalletWasabi.Fluent.Desktop.dll" \
|
||||
--suffix "LD_LIBRARY_PATH" : "${lib.makeLibraryPath runtimeLibs}"
|
||||
|
||||
cp -v $desktopItem/share/applications/* $out/share/applications
|
||||
'';
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ in stdenv.mkDerivation (rec {
|
||||
meta = with lib; {
|
||||
description = "Sophisticated text editor for code, markup and prose";
|
||||
homepage = "https://www.sublimetext.com/";
|
||||
maintainers = with maintainers; [ jtojnar wmertens demin-dmitriy zimbatm ];
|
||||
maintainers = with maintainers; [ wmertens demin-dmitriy zimbatm ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
|
||||
@@ -152,7 +152,7 @@ in stdenv.mkDerivation (rec {
|
||||
meta = with lib; {
|
||||
description = "Sophisticated text editor for code, markup and prose";
|
||||
homepage = "https://www.sublimetext.com/";
|
||||
maintainers = with maintainers; [ jtojnar wmertens demin-dmitriy zimbatm ];
|
||||
maintainers = with maintainers; [ wmertens demin-dmitriy zimbatm ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
||||
|
||||
@@ -1406,8 +1406,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "elixir-ls";
|
||||
publisher = "JakeBecker";
|
||||
version = "0.11.0";
|
||||
sha256 = "sha256-okvwyD0m2r8ar85VtuBUNMUZGGrCfJ4DB9v7aSX5PjM=";
|
||||
version = "0.12.0";
|
||||
sha256 = "sha256-ZwdGcsvmEKDH5ZAkKiLEV/3ru74BittnxibMWbdkaco=";
|
||||
};
|
||||
meta = with lib; {
|
||||
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
|
||||
@@ -2517,8 +2517,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "code-spell-checker";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "2.11.0";
|
||||
sha256 = "sha256-ZYbkCe/FdSxmipV9TTq0AF/Ft01+LTUeo3sVyKMP3iQ=";
|
||||
version = "2.11.1";
|
||||
sha256 = "sha256-o6Se+xpqwrdJIMnVE/HaDGIoDqZkeX0nTGHa8GjaqVQ=";
|
||||
};
|
||||
meta = with lib; {
|
||||
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
, cmake
|
||||
, curl
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, ffmpeg
|
||||
, fluidsynth
|
||||
, gettext
|
||||
@@ -50,7 +49,7 @@ let
|
||||
mkLibretroCore =
|
||||
{ core
|
||||
, src ? (getCoreSrc core)
|
||||
, version ? "unstable-2022-10-18"
|
||||
, version ? "unstable-2022-11-21"
|
||||
, ...
|
||||
}@args:
|
||||
import ./mkLibretroCore.nix ({
|
||||
@@ -796,11 +795,6 @@ in
|
||||
puae = mkLibretroCore {
|
||||
core = "puae";
|
||||
makefile = "Makefile";
|
||||
# https://github.com/libretro/libretro-uae/pull/529
|
||||
patches = fetchpatch {
|
||||
url = "https://github.com/libretro/libretro-uae/commit/90ba4c9bb940e566781c3590553270ad69cf212e.patch";
|
||||
sha256 = "sha256-9xkRravvyFZc0xsIj0OSm2ux5BqYogfQ1TDnH9l6jKw=";
|
||||
};
|
||||
meta = {
|
||||
description = "Amiga emulator based on WinUAE";
|
||||
license = lib.licenses.gpl2Only;
|
||||
|
||||
@@ -45,12 +45,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
version = "1.12.0";
|
||||
version = "1.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
hash = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU=";
|
||||
hash = "sha256-eEe0mM9gUWgEzoRH1Iuet20US9eXNtCVSBi2kX1njVw=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
"beetle-psx": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-psx-libretro",
|
||||
"rev": "bd6b9ef3049fe3f70a18ee6f752a935ae83c2f2b",
|
||||
"sha256": "CXcLMOF6IXUrp14nyTQ5KK2LR+FyWcF0UcvHTxEVSo0="
|
||||
"rev": "798fab9d5bc82dde26442d9b4861d377d4689e31",
|
||||
"sha256": "wHCUSMdPbIudmNm4XXW/zH6TDz7x9DrMNV/L8H3aO/w="
|
||||
},
|
||||
"beetle-saturn": {
|
||||
"owner": "libretro",
|
||||
@@ -129,8 +129,8 @@
|
||||
"dolphin": {
|
||||
"owner": "libretro",
|
||||
"repo": "dolphin",
|
||||
"rev": "9810e29a1f3633d32b6643b97a1147d83311d73a",
|
||||
"sha256": "iIaVSJSC3mD1k751vQvWI6x0C/HhfjEaMwfX53FpZv4="
|
||||
"rev": "a8188dbc4e63d6c0867ed2196f5125130955f012",
|
||||
"sha256": "gf9OjeDazDPDnQ9S2+hV4CNxPAkCCaEhJDZF97a1//U="
|
||||
},
|
||||
"dosbox": {
|
||||
"owner": "libretro",
|
||||
@@ -141,8 +141,8 @@
|
||||
"eightyone": {
|
||||
"owner": "libretro",
|
||||
"repo": "81-libretro",
|
||||
"rev": "73f6cca62dabc84df946aea71cf457ce5ae5ea9d",
|
||||
"sha256": "oovIKMZXxtLc+zmbguagTVoMPngokdN3xTBnb/+KUjY="
|
||||
"rev": "340a51b250fb8fbf1a9e5d3ad3924044250064e0",
|
||||
"sha256": "Cz3gPwbME8lDMKju3dn8hM8O2u9h9+8EUg7Nf6a7epA="
|
||||
},
|
||||
"fbalpha2012": {
|
||||
"owner": "libretro",
|
||||
@@ -153,14 +153,14 @@
|
||||
"fbneo": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "758f24740d81ff833c1868befd98ccd11909255f",
|
||||
"sha256": "VhfsvohRWICWqKWry0fgUS76kiXBsnjY9DytxEvulKA="
|
||||
"rev": "a12455af75e60765da134b83051700e0fbe3803a",
|
||||
"sha256": "ujO9KVn7o6xueeEr5GHfOy7NimwNIvYxgMM9xJvtjvo="
|
||||
},
|
||||
"fceumm": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-fceumm",
|
||||
"rev": "3d3cc53c0177e296af2427c29bbb31902b26f3b8",
|
||||
"sha256": "Z5LqP6IBq0H6uM0027PSkW6JLvVDA/4CrO6bI478Z1o="
|
||||
"rev": "8c3f690e61a1d65dfb25510426ae88eeae93e1ae",
|
||||
"sha256": "vzPrAEII8SWj3Ki2OaZb0/9gbQDz04rp2dXf2LE1sXg="
|
||||
},
|
||||
"flycast": {
|
||||
"owner": "libretro",
|
||||
@@ -189,8 +189,8 @@
|
||||
"genesis-plus-gx": {
|
||||
"owner": "libretro",
|
||||
"repo": "Genesis-Plus-GX",
|
||||
"rev": "5cdb31854074de1662266a0a675866ea7b787b42",
|
||||
"sha256": "vMswSKM5aYlPZu5y4Z1L/+eaPBdQaLPPMKoC7B/xzqc="
|
||||
"rev": "3abf975785fe77267a399cc583ccf1469e081b86",
|
||||
"sha256": "QdiWKS7j80Sw0L+hf6efmQ40lQi/f95pFLQfoohoUKg="
|
||||
},
|
||||
"gpsp": {
|
||||
"owner": "libretro",
|
||||
@@ -219,8 +219,8 @@
|
||||
"mame": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame",
|
||||
"rev": "0d935696dce53a13eaf0705f4a108ee348f3c613",
|
||||
"sha256": "HnJ3eHzTpR7Lsi1ATn3B314y0KNKJ0+qNGcDbFvmZEA="
|
||||
"rev": "57622367cb780013690d6ef23b2066b500f6ce92",
|
||||
"sha256": "0iR1JGAhwYXXLnv8BDW1bsxfFywEI82aov2+MHw5w6Q="
|
||||
},
|
||||
"mame2000": {
|
||||
"owner": "libretro",
|
||||
@@ -231,14 +231,14 @@
|
||||
"mame2003": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-libretro",
|
||||
"rev": "cb0c89304b2cd584cda7105c6be4e69fa304f0e0",
|
||||
"sha256": "ob/aUh5NZCfQvpA+nEs2QhVXeNBBVZesX/xQfatY9wU="
|
||||
"rev": "dbdda8e7189d63061ac42f502c0cd2dc7f1f8651",
|
||||
"sha256": "XED/gunYOc+NnQ8YORw/ALP2eCTyvRdIxPiFpNf5nuA="
|
||||
},
|
||||
"mame2003-plus": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "d88d5c118e8d7075ec0a4e6deebb4cd3f18a8dd1",
|
||||
"sha256": "9offucQMCpMqo4StYscS6kivXCYHy4Sn+Cs/3MoNwsw="
|
||||
"rev": "5dd4a30500edc0b00c712750093aa287c9bb4ce2",
|
||||
"sha256": "Nvm5U6rpsDZdUJONtvZ6YmztuupLaXz2QT0SBJtzO/4="
|
||||
},
|
||||
"mame2010": {
|
||||
"owner": "libretro",
|
||||
@@ -285,14 +285,14 @@
|
||||
"mgba": {
|
||||
"owner": "libretro",
|
||||
"repo": "mgba",
|
||||
"rev": "199a03e719436018779fe9299706c597fb2e9231",
|
||||
"sha256": "3Q3MBzezCvl1Er45AeUM/QI0a+JiGn/PfYpqMaaiuds="
|
||||
"rev": "ec5ecb26deba8d7ac830fc66ade9fac0eeaeb4ae",
|
||||
"sha256": "kDDs+M7TPu6UhFnj9+XGI9whQFQ5/+7fSb0YUN7oMsg="
|
||||
},
|
||||
"mupen64plus": {
|
||||
"owner": "libretro",
|
||||
"repo": "mupen64plus-libretro-nx",
|
||||
"rev": "c10546e333d57eb2e5a6ccef1e84cb6f9274c526",
|
||||
"sha256": "dbS32slJBfz8DHeIQy20lAYw0+ig0LRgIaGfqW082xs="
|
||||
"rev": "1b67122ff6a923c93a56ff94273e3768a6da5dff",
|
||||
"sha256": "qORxhy7hXVdGUkQumOmGVXnF1kW0BShMNBVlaRu3a1w="
|
||||
},
|
||||
"neocd": {
|
||||
"owner": "libretro",
|
||||
@@ -303,8 +303,8 @@
|
||||
"nestopia": {
|
||||
"owner": "libretro",
|
||||
"repo": "nestopia",
|
||||
"rev": "a9ee6ca84f04990e209880fe47144e62b14253db",
|
||||
"sha256": "q3pD2Cm/a62x3xW8JymU9w82zHlT0BoPlaSfzjZzh/c="
|
||||
"rev": "5c360e55d5437ecd3520568ee44cf1af63d4696a",
|
||||
"sha256": "+1QQc4gVZ5ZHt/I0bjRkW+kbPaeGUNrjbrzUoVz4drM="
|
||||
},
|
||||
"np2kai": {
|
||||
"owner": "AZO234",
|
||||
@@ -316,8 +316,8 @@
|
||||
"nxengine": {
|
||||
"owner": "libretro",
|
||||
"repo": "nxengine-libretro",
|
||||
"rev": "aa32afb8df8461920037bdbbddbff00bf465c6de",
|
||||
"sha256": "Ic5YsNLoEZJ/vkjthwypwLN3ntB/5EX8bU92V80S7R4="
|
||||
"rev": "e271c6262d73f07e5d92d285503f1c049801c51a",
|
||||
"sha256": "PfzHV6/nGUdbnfZ8+aHuoIQhvKcxdbuKnjIMWIIFt7Q="
|
||||
},
|
||||
"o2em": {
|
||||
"owner": "libretro",
|
||||
@@ -346,8 +346,8 @@
|
||||
"pcsx_rearmed": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "5ced3945423cda0010597b27b7da6bce77b12baa",
|
||||
"sha256": "8O2XyEr40HqQf8mHxmvB6/UT837HZw8SrKBy/JH66p4="
|
||||
"rev": "a4e249a1373cf6269e1e4e0d60105e72210e67d3",
|
||||
"sha256": "NOz2NQonVWEhEhAgSFHSWv6bmuTPcw0R9ihISlGwkb0="
|
||||
},
|
||||
"picodrive": {
|
||||
"owner": "libretro",
|
||||
@@ -359,15 +359,15 @@
|
||||
"play": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "1126c39cd8ebf56af347c475139d4db97fc7cc19",
|
||||
"sha256": "H/cYFWl8rA/ZdoygEjr7h1y6Z0n29Z+OCzzVMvIuVyo=",
|
||||
"rev": "ad3b855c6d8cc62c85e2a5d2f659159fdfaa8d80",
|
||||
"sha256": "+uTf/xv2JHuNGx0bxFNXf0akRzonzRMT7gSvT2n12+o=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"ppsspp": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "4af4b0dddc638b00205d9943f17a2806e438fe83",
|
||||
"sha256": "5n+Mg2ZDTJd5fk1OZAiYnCT13G3LAWahXPA+MwaOF08=",
|
||||
"rev": "e654f6937a02f4a2ac8cce3574ab4f2db99f77d4",
|
||||
"sha256": "LTqRA3KMV/VuQH0eTWjpOqy0U944c4ofPNEsexf93Kc=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"prboom": {
|
||||
@@ -385,8 +385,8 @@
|
||||
"puae": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-uae",
|
||||
"rev": "4d8ebafe3f91c4998e8d73940e9558d863ecf93b",
|
||||
"sha256": "dzfZFm7L+Qe3WwSYiMLp3cQm8zk0pWVB68nBe/H1Hvc="
|
||||
"rev": "d9a8dfbde7f6967fea3cffe09cd87e1d79a1a3fd",
|
||||
"sha256": "uMn9ejknjwGmbc0JOu/xl30z3ff7vpxtA3qr2sv0glI="
|
||||
},
|
||||
"quicknes": {
|
||||
"owner": "libretro",
|
||||
@@ -415,8 +415,8 @@
|
||||
"snes9x": {
|
||||
"owner": "snes9xgit",
|
||||
"repo": "snes9x",
|
||||
"rev": "28be1a196d2c59ed4b6489d487187569a7370aff",
|
||||
"sha256": "FW4ynSS+R1ygQaCS0UrWGktfHGtcy0P/Mp/BXKfmII0="
|
||||
"rev": "3c4982edddfdba482204ed48cf0b1d41ccae5493",
|
||||
"sha256": "d4luyBSU/4PdsDd2jLwWSyckBPAqXMJ3C1sNmLO+E6U="
|
||||
},
|
||||
"snes9x2002": {
|
||||
"owner": "libretro",
|
||||
@@ -439,8 +439,8 @@
|
||||
"stella": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "7193c405327e0f2156d24d53836162f4b44af079",
|
||||
"sha256": "A9icQON+0WrknjGp/0wiFNSWs2ot2s0X5lucCdk4O/s="
|
||||
"rev": "fa49e034101a22344c7bd01648d514b6cc61ac7f",
|
||||
"sha256": "Svv+j7/9PvZ6djk2kfpbr9iUC8xqX8B4Plnf43Hj62A="
|
||||
},
|
||||
"stella2014": {
|
||||
"owner": "libretro",
|
||||
@@ -451,8 +451,8 @@
|
||||
"swanstation": {
|
||||
"owner": "libretro",
|
||||
"repo": "swanstation",
|
||||
"rev": "ff0b451a573885a5b3a4f291f7b22f3ffc667a17",
|
||||
"sha256": "jz8tkvgonc4icRt12tt1BBCCiwec0ucix7Hp7PNPl8E="
|
||||
"rev": "27a224fc9e86e0f061504878d1c0cbf3fd6891af",
|
||||
"sha256": "5kW9/4gMfyvo3ExlJVivx8LhW5as3Mq5fhlNrIFDUVM="
|
||||
},
|
||||
"tgbdual": {
|
||||
"owner": "libretro",
|
||||
@@ -494,8 +494,8 @@
|
||||
"virtualjaguar": {
|
||||
"owner": "libretro",
|
||||
"repo": "virtualjaguar-libretro",
|
||||
"rev": "263c979be4ca757c43fb525bd6f0887998e57041",
|
||||
"sha256": "6Q6Y0IFUWS9ZPhnAK3EUo4hMGPdBn8eNEYCK/zLgAKU="
|
||||
"rev": "2cc06899b839639397b8b30384a191424b6f529d",
|
||||
"sha256": "7FiU5/n1hVePttkz7aVfXXx88+zX06/5SJk3EaRYvhQ="
|
||||
},
|
||||
"yabause": {
|
||||
"owner": "libretro",
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "libretro-core-info";
|
||||
version = "1.12.0";
|
||||
version = "1.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-core-info";
|
||||
hash = "sha256-ByATDM0V40UJxigqVLyTWkHY5tiCC2dvZebksl8GsUI=";
|
||||
hash = "sha256-rTq2h+IGJduBkP4qCACmm3T2PvbZ0mOmwD1jLkJ2j/Q=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@ let
|
||||
in {
|
||||
mainline = libsForQt5.callPackage ./generic.nix rec {
|
||||
pname = "yuzu-mainline";
|
||||
version = "1162";
|
||||
version = "1245";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yuzu-emu";
|
||||
repo = "yuzu-mainline";
|
||||
rev = "mainline-0-${version}";
|
||||
sha256 = "sha256-1UNgB/3l6RN0OLRrmXqzwcEUgXlWGSE7PvHbZ8YSDro=";
|
||||
sha256 = "sha256-lWXlY1KQC067MvCRUFhmr0c7KDrHDuwJOhIWMKw1f+A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
, perl
|
||||
, makeWrapper
|
||||
, writeText
|
||||
, jdk11
|
||||
, jdk
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
@@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeWrapper $out/share/mucommander/mucommander.sh $out/bin/mucommander \
|
||||
--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
|
||||
--set JAVA_HOME ${jdk11}
|
||||
--set JAVA_HOME ${jdk}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, fltk, openexr, libGLU, libGL, ctl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openexr_viewers";
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/openexr/openexr_viewers-${version}.tar.gz";
|
||||
sha256 = "1ixx2wbjp4rvsf7h3bkja010gl1ihjrcjzy7h20jnn47ikg12vj8";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-fltk-config=${fltk}/bin/fltk-config
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make LDFLAGS="`fltk-config --ldflags` -lGL -lfltk_gl"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openexr fltk libGLU libGL ctl ];
|
||||
|
||||
meta = {
|
||||
description = "Application for viewing OpenEXR images on a display at various exposure settings";
|
||||
homepage = "http://openexr.com";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
}
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A simple color chooser written in GTK3";
|
||||
homepage = "https://gitlab.gnome.org/World/gcolor3";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ in stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "The GNU Image Manipulation Program";
|
||||
homepage = "https://www.gimp.org/";
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "gimp";
|
||||
|
||||
@@ -162,7 +162,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Vector graphics editor";
|
||||
homepage = "https://www.inkscape.org";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
longDescription = ''
|
||||
Inkscape is a feature-rich vector graphics editor that edits
|
||||
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
|
||||
description = "Inkscape extension which removes all matrix transforms by applying them recursively to shapes";
|
||||
homepage = "https://github.com/Klowner/inkscape-applytransforms";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -107,6 +107,6 @@ in buildPythonApplication rec {
|
||||
homepage = "http://mypaint.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ goibhniu jtojnar ];
|
||||
maintainers = with maintainers; [ goibhniu ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, python2Packages }:
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "screencloud";
|
||||
version = "1.2.0";
|
||||
|
||||
# API Keys. According to the author of the AUR package, these are only used
|
||||
# for tracking usage.
|
||||
consumerKey = "23e747012c68601f27ab69c6de129ed70552d55b6";
|
||||
consumerSecret = "4701cb00c1bd357bbcae7c3d713dd216";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "olav-st";
|
||||
repo = "screencloud";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s0dxa1sa37nvna5nfqdsp294810favj68qb7ghl78qna7zw0cim";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ qt4 quazip qt-mobility qxt python2Packages.python python2Packages.pycrypto ];
|
||||
|
||||
patchPhase = ''
|
||||
# Required to make the configure script work. Normally, screencloud's
|
||||
# CMakeLists file sets the install prefix to /opt by force. This is stupid
|
||||
# and breaks nix, so we force it to install where we want. Please don't
|
||||
# write CMakeLists files like this, as things like this are why we can't
|
||||
# have nice things.
|
||||
substituteInPlace "CMakeLists.txt" --replace "set(CMAKE_INSTALL_PREFIX \"/opt\")" ""
|
||||
'';
|
||||
|
||||
# We need to append /opt to our CMAKE_INSTALL_PREFIX, so we tell the Nix not
|
||||
# to add the argument for us.
|
||||
dontAddPrefix = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DQXT_QXTCORE_INCLUDE_DIR=${qxt}/include/QxtCore"
|
||||
"-DQXT_QXTCORE_LIB_RELEASE=${qxt}/lib/libQxtCore.so"
|
||||
"-DQXT_QXTGUI_INCLUDE_DIR=${qxt}/include/QxtGui"
|
||||
"-DQXT_QXTGUI_LIB_RELEASE=${qxt}/lib/libQxtGui.so"
|
||||
"-DCONSUMER_KEY_SCREENCLOUD=${consumerKey}"
|
||||
"-DCONSUMER_SECRET_SCREENCLOUD=${consumerSecret}"
|
||||
];
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$(echo */screencloud)
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# This needs to be set in preConfigure instead of cmakeFlags in order to
|
||||
# access the $prefix environment variable.
|
||||
export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix/opt $cmakeFlags"
|
||||
'';
|
||||
|
||||
# There are a number of issues with screencloud's installation. We need to add
|
||||
# pycrypto to the PYTHONPATH so that the SFTP plugin will work properly; and
|
||||
# we need to move the libPythonQt library into a folder where it can actually
|
||||
# be found.
|
||||
postInstall = ''
|
||||
patchShebangs $prefix/opt/screencloud/screencloud.sh
|
||||
substituteInPlace "$prefix/opt/screencloud/screencloud.sh" --replace "/opt" "$prefix/opt"
|
||||
sed -i "2 i\export PYTHONPATH=$(toPythonPath ${python2Packages.pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
|
||||
mkdir $prefix/bin
|
||||
mkdir $prefix/lib
|
||||
ln -s $prefix/opt/screencloud/screencloud.sh $prefix/bin/screencloud
|
||||
ln -s $prefix/opt/screencloud/libPythonQt.so $prefix/lib/libPythonQt.so
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://screencloud.net/";
|
||||
description = "Client for Screencloud, an easy to use screenshot sharing tool";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ forkk ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,17 @@
|
||||
{
|
||||
mkDerivation, lib,
|
||||
extra-cmake-modules, kdoctools,
|
||||
kio, kparts, kxmlgui, qtbase, qtscript, solid, qtquickcontrols2, kdeclarative
|
||||
{ mkDerivation
|
||||
, lib
|
||||
, extra-cmake-modules
|
||||
, kdoctools
|
||||
, kio
|
||||
, kparts
|
||||
, kxmlgui
|
||||
, qtbase
|
||||
, qtscript
|
||||
, solid
|
||||
, qtquickcontrols2
|
||||
, kdeclarative
|
||||
, kirigami2
|
||||
, kquickcharts
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@@ -15,7 +25,15 @@ mkDerivation {
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
propagatedBuildInputs = [
|
||||
kio kparts kxmlgui qtscript solid qtquickcontrols2 kdeclarative
|
||||
kio
|
||||
kparts
|
||||
kxmlgui
|
||||
qtscript
|
||||
solid
|
||||
qtquickcontrols2
|
||||
kdeclarative
|
||||
kirigami2
|
||||
kquickcharts
|
||||
];
|
||||
outputs = [ "out" "dev" ];
|
||||
}
|
||||
|
||||
@@ -55,8 +55,6 @@ in
|
||||
|
||||
substituteInPlace Makefile \
|
||||
--replace 'unknown' 'v${version}'
|
||||
|
||||
export CFLAGS="-march=native"
|
||||
'';
|
||||
|
||||
makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1";
|
||||
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ opencv4 ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -march=native -O3";
|
||||
NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -O3";
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/include/aruco
|
||||
|
||||
@@ -42,7 +42,7 @@ in
|
||||
nativeBuildInputs = [cmake pkg-config ninja copyDesktopItems];
|
||||
buildInputs = [qtbase qttools opencv4 procps eigen libXdmcp libevdev aruco];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -march=native -O3";
|
||||
NIX_CFLAGS_COMPILE = "-Wall -Wextra -Wpedantic -ffast-math -O3";
|
||||
dontWrapQtApps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, rustPlatform
|
||||
, xorg
|
||||
}:
|
||||
@@ -17,6 +18,15 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoSha256 = "00lnw48kn97gp45lylv5c6v6pil74flzpsq9k69xgvvjq9yqjzrx";
|
||||
|
||||
patches = [
|
||||
# Fixes "error[E0308]: mismatched types; expected `u8`, found `i8`" on aarch64
|
||||
# Remove with next version update
|
||||
(fetchpatch {
|
||||
url = "https://github.com/PonasKovas/rlaunch/commit/f78f36876bba45fe4e7310f58086ddc63f27a57e.patch";
|
||||
hash = "sha256-rTS1khw1zt3i1AJ11BhAILcmaohAwVc7Qfl6Fc76Kvs=";
|
||||
})
|
||||
];
|
||||
|
||||
# The x11_dl crate dlopen()s these libraries, so we have to inject them into rpath.
|
||||
postFixup = ''
|
||||
patchelf --set-rpath ${lib.makeLibraryPath (with xorg; [ libX11 libXft libXinerama ])} $out/bin/rlaunch
|
||||
@@ -26,6 +36,7 @@ rustPlatform.buildRustPackage rec {
|
||||
description = "A lightweight application launcher for X11";
|
||||
homepage = "https://github.com/PonasKovas/rlaunch";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ danc86 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "SwayNotificationCenter";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ErikReider";
|
||||
repo = "SwayNotificationCenter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Z8CFSaH4RsZ/Qgj+l+36p7smbiGV5RRQhZBBcA3iyK8=";
|
||||
hash = "sha256-RU6zzhRu7YK+zcazxj2wZ5vSwLwlilBaG9l+rEstefc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_15, libsecret }:
|
||||
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_21, libsecret }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "todoist-electron";
|
||||
version = "1.0.3";
|
||||
version = "1.0.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://electron-dl.todoist.com/linux/Todoist-${version}.AppImage";
|
||||
sha256 = "sha256-bHX/RWDfe+ht66U7xg4HBZxeWlNBu4gYlIVd+9OuMNU=";
|
||||
sha256 = "sha256-DfNFDiGYTFGetVRlAjpV/cdWcGzRDEGZjR0Dc9aAtXc=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${electron_15}/bin/electron $out/bin/${pname} \
|
||||
makeWrapper ${electron_21}/bin/electron $out/bin/${pname} \
|
||||
--add-flags $out/share/${pname}/resources/app.asar \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc libsecret ]}"
|
||||
'';
|
||||
|
||||
@@ -29,18 +29,19 @@
|
||||
, traySupport ? true, libdbusmenu-gtk3
|
||||
, udevSupport ? true, udev
|
||||
, upowerSupport ? true, upower
|
||||
, wireplumberSupport ? true, wireplumber
|
||||
, withMediaPlayer ? false, glib, gobject-introspection, python3, playerctl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "waybar";
|
||||
version = "0.9.15";
|
||||
version = "0.9.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexays";
|
||||
repo = "Waybar";
|
||||
rev = version;
|
||||
sha256 = "sha256-u2nEMS0lJ/Kf09+mWYWQLji9MVgjYAfUi5bmPEfTfFc=";
|
||||
sha256 = "sha256-hcU0ijWIN7TtIPkURVmAh0kanQWkBUa22nubj7rSfBs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -67,7 +68,8 @@ stdenv.mkDerivation rec {
|
||||
++ optional swaySupport sway
|
||||
++ optional traySupport libdbusmenu-gtk3
|
||||
++ optional udevSupport udev
|
||||
++ optional upowerSupport upower;
|
||||
++ optional upowerSupport upower
|
||||
++ optional wireplumberSupport wireplumber;
|
||||
|
||||
checkInputs = [ catch2_3 ];
|
||||
doCheck = runTests;
|
||||
@@ -86,6 +88,7 @@ stdenv.mkDerivation rec {
|
||||
sndio = sndioSupport;
|
||||
tests = runTests;
|
||||
upower_glib = upowerSupport;
|
||||
wireplumber = wireplumberSupport;
|
||||
}
|
||||
) ++ [
|
||||
"-Dsystemd=disabled"
|
||||
|
||||
@@ -180,8 +180,8 @@ stdenv.mkDerivation rec {
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
${optionalString vulkanSupport ''
|
||||
--prefix XDG_DATA_DIRS : "${addOpenGLRunpath.driverLink}/share"
|
||||
--add-flags ${escapeShellArg commandLineArgs}
|
||||
''}
|
||||
--add-flags ${escapeShellArg commandLineArgs}
|
||||
)
|
||||
'';
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"stable": {
|
||||
"version": "107.0.5304.110",
|
||||
"sha256": "1k7yjsb4i7m8i5mk018v7z25r4x1ypyprz4hnyrn7vk2983lhdfk",
|
||||
"sha256bin64": "06rlxwbvp7rpw2rdpnjzl1cn7cr1rwlb20wz8r0cndjcjyzd3rjj",
|
||||
"version": "107.0.5304.121",
|
||||
"sha256": "12z0fhgxcsdkf6shnsg9maj3v901226cjcy8y2x8m88maw2apc0j",
|
||||
"sha256bin64": "0dxcf0h5ngrfrdnygwvbxfjbwgaxp9dk3r4x0iin34m3b85mzzim",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-09-14",
|
||||
@@ -45,9 +45,9 @@
|
||||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "107.0.5304.110",
|
||||
"sha256": "1k7yjsb4i7m8i5mk018v7z25r4x1ypyprz4hnyrn7vk2983lhdfk",
|
||||
"sha256bin64": "06rlxwbvp7rpw2rdpnjzl1cn7cr1rwlb20wz8r0cndjcjyzd3rjj",
|
||||
"version": "107.0.5304.122",
|
||||
"sha256": "0f2jdvlnp1s5ia01lnqk0ykqji2x4ab9g4kxk637n4csf0i1gj85",
|
||||
"sha256bin64": null,
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-09-14",
|
||||
@@ -56,8 +56,8 @@
|
||||
"sha256": "1c0dvpp4im1hf277bs5w7rgqxz3g2bax266i2g6smi3pl7a8jpnp"
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "107.0.5304.110-1",
|
||||
"sha256": "14z9qi9i9l7kjx7gf74lzs63bpxqyd3wbqqpsvzvqgr2v0cgqahx"
|
||||
"rev": "107.0.5304.122-1",
|
||||
"sha256": "109j5jvsbj9dylj8prz7bkzc8czjv2c8bm0albwnkyxymcpd3w6p"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,10 +3,10 @@
|
||||
rec {
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "107.0";
|
||||
version = "107.0.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e";
|
||||
sha512 = "e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -45,7 +45,7 @@ assert with lib.strings; (
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "palemoon";
|
||||
version = "31.3.1";
|
||||
version = "31.4.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "repo.palemoon.org";
|
||||
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "Pale-Moon";
|
||||
rev = "${version}_Release";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-oLtCS5Izdk2ImyzKx2IXkzv6pJp86mvP99P0+XIteRA=";
|
||||
sha256 = "sha256-x+o1Bb0HwtWsIhz1gI/s5a4qCdOrni7KsF0ZZAlJBzg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -19,7 +19,7 @@ ac_add_options --enable-jemalloc
|
||||
ac_add_options --enable-strip
|
||||
ac_add_options --enable-devtools
|
||||
ac_add_options --enable-av1
|
||||
ac_add_options --enable-phoenix-extensions
|
||||
ac_add_options --enable-jxl
|
||||
|
||||
ac_add_options --disable-eme
|
||||
ac_add_options --disable-webrtc
|
||||
|
||||
@@ -87,7 +87,7 @@ let
|
||||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "11.5.7";
|
||||
version = "11.5.8";
|
||||
|
||||
lang = "en-US";
|
||||
|
||||
@@ -99,7 +99,7 @@ let
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "sha256-K50T9Fe6tMuP1J5gfwK9f/25ZeakQ9vsJi4IOPa6fMk=";
|
||||
sha256 = "sha256-/KK9oTijk5dEziAwp5966NaM2V4k1mtBjTJq88Ct7N0=";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
@@ -109,7 +109,7 @@ let
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "sha256-tbL/iTI3vR0gdMcLwOoWlfIDZNefIKA2hfvWKNNM9vE=";
|
||||
sha256 = "sha256-TGdJ5yIeo0YQ4XSsb9lv3vuW6qEjhFe7KBmkjYO6fAc=";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, buildNpmPackage
|
||||
, copyDesktopItems
|
||||
, electron_18
|
||||
, buildGoModule
|
||||
@@ -8,9 +9,9 @@
|
||||
, libdeltachat
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, nodePackages
|
||||
, noto-fonts-emoji
|
||||
, pkg-config
|
||||
, python3
|
||||
, roboto
|
||||
, rustPlatform
|
||||
, sqlcipher
|
||||
@@ -20,52 +21,48 @@
|
||||
|
||||
let
|
||||
libdeltachat' = libdeltachat.overrideAttrs (old: rec {
|
||||
version = "1.86.0";
|
||||
version = "1.102.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-core-rust";
|
||||
rev = version;
|
||||
hash = "sha256-VLS93Ffeit2rVmXxYkXcnf8eDA3DC2/wKYZTh56QCk0=";
|
||||
hash = "sha256-xw/lUNs39nkBrydpcgUBL3j6XrZFafKslxx6zUiElWw=";
|
||||
};
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${old.pname}-${version}";
|
||||
hash = "sha256-4rpoDQ3o0WdWg/TmazTI+J0hL/MxwHcNMXWMq7GE7Tk=";
|
||||
hash = "sha256-CiqYKFABHcFSjYUH/qop1xWCoygQJajI7nhv04ElD10=";
|
||||
};
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "turn-off-hard-errors-for-lints.patch";
|
||||
url = "https://github.com/deltachat/deltachat-core-rust/commit/7598c50dbaa2abcbd417d96a02743269f666597b.patch";
|
||||
hash = "sha256-Xss44v6Wf6mL3FK9hH+oFYZ0fBA9rSh4wDrr7nSUibQ=";
|
||||
})
|
||||
];
|
||||
});
|
||||
esbuild' = esbuild.override {
|
||||
buildGoModule = args: buildGoModule (args // rec {
|
||||
version = "0.12.29";
|
||||
version = "0.14.54";
|
||||
src = fetchFromGitHub {
|
||||
owner = "evanw";
|
||||
repo = "esbuild";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
|
||||
hash = "sha256-qCtpy69ROCspRgPKmCV0YY/EOSWiNU/xwDblU0bQp4w=";
|
||||
};
|
||||
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
|
||||
vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||
});
|
||||
};
|
||||
in nodePackages.deltachat-desktop.override rec {
|
||||
in buildNpmPackage rec {
|
||||
pname = "deltachat-desktop";
|
||||
version = "1.30.1";
|
||||
version = "1.34.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-desktop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gZjZbXiqhFVfThZOsvL/nKkf6MX+E3KB5ldEAIuzBYA=";
|
||||
hash = "sha256-M2ZLWaxVq9PvxJemwv+7jd0cXKQb6T5VCyLvIRF+9d0=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-wCsPKEgRpPsNmM0HzvS5QjlPnw8COPrOhQRIf+vYeig=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pkg-config
|
||||
python3
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
copyDesktopItems
|
||||
];
|
||||
@@ -81,20 +78,25 @@ in nodePackages.deltachat-desktop.override rec {
|
||||
USE_SYSTEM_LIBDELTACHAT = "true";
|
||||
VERSION_INFO_GIT_REF = src.rev;
|
||||
|
||||
postRebuild = ''
|
||||
preBuild = ''
|
||||
rm -r node_modules/deltachat-node/node/prebuilds
|
||||
|
||||
npm run build4production
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
npmBuildScript = "build4production";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
npm prune --production
|
||||
|
||||
install -D $out/lib/node_modules/deltachat-desktop/build/icon.png \
|
||||
$out/share/icons/hicolor/scalable/apps/deltachat.png
|
||||
mkdir -p $out/lib/node_modules/deltachat-desktop
|
||||
cp -r . $out/lib/node_modules/deltachat-desktop
|
||||
|
||||
awk '!/^#/ && NF' build/packageignore_list \
|
||||
| xargs -I {} sh -c "rm -rf {}" || true
|
||||
| xargs -I {} sh -c "rm -rf $out/lib/node_modules/deltachat-desktop/{}" || true
|
||||
|
||||
install -D build/icon.png \
|
||||
$out/share/icons/hicolor/scalable/apps/deltachat.png
|
||||
|
||||
ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
|
||||
$out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
|
||||
@@ -106,6 +108,8 @@ in nodePackages.deltachat-desktop.override rec {
|
||||
makeWrapper ${electron_18}/bin/electron $out/bin/deltachat \
|
||||
--set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
|
||||
--add-flags $out/lib/node_modules/deltachat-desktop
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = lib.singleton (makeDesktopItem {
|
||||
@@ -117,7 +121,12 @@ in nodePackages.deltachat-desktop.override rec {
|
||||
comment = meta.description;
|
||||
categories = [ "Network" "InstantMessaging" "Chat" ];
|
||||
startupWMClass = "DeltaChat";
|
||||
mimeTypes = [ "x-scheme-handler/openpgp4fpr" "x-scheme-handler/mailto" ];
|
||||
mimeTypes = [
|
||||
"x-scheme-handler/openpgp4fpr"
|
||||
"x-scheme-handler/dcaccount"
|
||||
"x-scheme-handler/dclogin"
|
||||
"x-scheme-handler/mailto"
|
||||
];
|
||||
});
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
{
|
||||
"name": "deltachat-desktop",
|
||||
"version": "1.30.1",
|
||||
"dependencies": {
|
||||
"@blueprintjs/core": "^4.1.2",
|
||||
"@deltachat/message_parser_wasm": "^0.4.0",
|
||||
"@deltachat/react-qr-reader": "^4.0.0",
|
||||
"@mapbox/geojson-extent": "^1.0.0",
|
||||
"application-config": "^1.0.1",
|
||||
"classnames": "^2.3.1",
|
||||
"debounce": "^1.2.0",
|
||||
"deltachat-node": "1.86.0",
|
||||
"emoji-js-clean": "^4.0.0",
|
||||
"emoji-mart": "^3.0.1",
|
||||
"emoji-regex": "^9.2.2",
|
||||
"error-stack-parser": "^2.0.7",
|
||||
"filesize": "^8.0.6",
|
||||
"immutable": "^4.0.0",
|
||||
"mapbox-gl": "^1.12.0",
|
||||
"mime-types": "^2.1.31",
|
||||
"moment": "^2.29.2",
|
||||
"path-browserify": "^1.0.1",
|
||||
"rc": "^1.2.8",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-string-replace": "^1.0.0",
|
||||
"react-virtualized-auto-sizer": "^1.0.5",
|
||||
"react-window": "^1.8.6",
|
||||
"react-window-infinite-loader": "^1.0.7",
|
||||
"react-zoom-pan-pinch": "^2.1.3",
|
||||
"source-map-support": "^0.5.19",
|
||||
"stackframe": "^1.2.1",
|
||||
"url-parse": "^1.5.9",
|
||||
"use-debounce": "^3.3.0",
|
||||
"@babel/core": "^7.7.7",
|
||||
"@babel/preset-env": "^7.7.7",
|
||||
"@babel/preset-react": "^7.7.4",
|
||||
"@types/debounce": "^1.2.0",
|
||||
"@types/emoji-mart": "^3.0.9",
|
||||
"@types/mapbox-gl": "^0.54.5",
|
||||
"@types/mime-types": "^2.1.0",
|
||||
"@types/node": "^14.14.20",
|
||||
"@types/rc": "^1.1.0",
|
||||
"@types/react": "^17.0.2",
|
||||
"@types/react-dom": "^17.0.2",
|
||||
"@types/react-window": "^1.8.4",
|
||||
"@types/react-window-infinite-loader": "^1.0.4",
|
||||
"@types/url-parse": "^1.4.3",
|
||||
"electron": "^18.0.3",
|
||||
"esbuild": "^0.12.29",
|
||||
"glob-watcher": "^5.0.5",
|
||||
"sass": "^1.26.5",
|
||||
"typescript": "^4.4.4",
|
||||
"xml-js": "^1.6.8"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch
|
||||
#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch prefetch-npm-deps
|
||||
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
@@ -28,18 +28,5 @@ tac default.nix \
|
||||
| sponge default.nix
|
||||
|
||||
src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)
|
||||
|
||||
jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@types/chai","@types/mocha","@types/node-fetch","@typescript-eslint/eslint-plugin","@typescript-eslint/parser","chai","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","mocha","node-fetch","prettier","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","ts-node","walk"]))) }' \
|
||||
"$src/package.json" > package.json.new
|
||||
|
||||
if cmp --quiet package.json{.new,}; then
|
||||
echo "package.json not changed, skip updating nodePackages"
|
||||
rm package.json.new
|
||||
else
|
||||
echo "package.json changed, updating nodePackages"
|
||||
mv package.json{.new,}
|
||||
|
||||
pushd ../../../../development/node-packages
|
||||
./generate.sh
|
||||
popd
|
||||
fi
|
||||
hash=$(prefetch-npm-deps $src/package-lock.json)
|
||||
sed -i "s,npmDepsHash = \".*\",npmDepsHash = \"$hash\"," default.nix
|
||||
|
||||
@@ -1,20 +1,41 @@
|
||||
{ lib, stdenv, fetchurl, pidgin, intltool, python2 } :
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pidgin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "purple-plugin-pack";
|
||||
version = "2.7.0";
|
||||
version = "2.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/rekkanoryo/purple-plugin-pack/downloads/purple-plugin-pack-${version}.tar.bz2";
|
||||
sha256 = "0g5hmy7fwgjq59j52h9yps28jsjjrfkd4r18gyx6hfd3g3kzbg1b";
|
||||
url = "mirror://sourceforge/pidgin/purple-plugin-pack-2.8.0.tar.xz";
|
||||
hash = "sha256-gszemnJRp1t+A6P5qSkBTY4AjBtvRuWGOPX0dto+JC0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ intltool ];
|
||||
buildInputs = [ pidgin python2 ];
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace "PURPLE.get_pkgconfig_variable('plugindir')" "'$out/lib/purple-2'" \
|
||||
--replace "PURPLE.get_pkgconfig_variable('datadir')" "'$out/share'" \
|
||||
--replace "PIDGIN.get_pkgconfig_variable('plugindir')" "'$out/lib/pidgin'" \
|
||||
--replace "PIDGIN.get_pkgconfig_variable('datadir')" "'$out/share'"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pidgin
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://bitbucket.org/rekkanoryo/purple-plugin-pack";
|
||||
description = "Plugin pack for Pidgin 2.x";
|
||||
license = licenses.gpl2;
|
||||
homepage = "https://keep.imfreedom.org/pidgin/purple-plugin-pack";
|
||||
description = "Collection of plugins for purple-based clients such as Pidgin";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ bdimcheff ];
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, fetchFromGitLab, jdk17_headless, coreutils, gradle_6, git, perl
|
||||
{ lib, stdenv, fetchurl, fetchFromGitLab, jdk17_headless, coreutils, gradle, git, perl
|
||||
, makeWrapper, fetchpatch, substituteAll, jre_minimal
|
||||
}:
|
||||
|
||||
@@ -36,7 +36,7 @@ let
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
nativeBuildInputs = [ gradle_6 perl ];
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
patches = [ ./0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
@@ -91,7 +91,7 @@ in stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ git gradle_6 makeWrapper ];
|
||||
nativeBuildInputs = [ git gradle makeWrapper ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, libxslt, telepathy-glib, python2, libxml2, dbus-glib, dbus
|
||||
, sqlite, libsoup, libnice, gnutls}:
|
||||
{ lib, stdenv, fetchurl, pkg-config, libxslt, telepathy-glib, python3, libxml2, dbus-glib, dbus
|
||||
, sqlite, libsoup, libnice, gnutls
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telepathy-gabble";
|
||||
@@ -10,8 +12,15 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "174nlkqm055vrhv11gy73m20jbsggcb0ddi51c7s9m3j5ibr2p0i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config libxslt ];
|
||||
buildInputs = [ libxml2 dbus-glib sqlite libsoup libnice telepathy-glib gnutls python2 ];
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/archlinux/svntogit-packages/raw/edcf78c831894000f2fbfd3e5818e363911c746a/trunk/telepathy-gabble-0.18.4-python3.patch";
|
||||
hash = "sha256-bvcZW6gbCNogqwPDaXHTbohe7c2GAYjXeHGyBEDVsB4=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config libxslt python3 ];
|
||||
buildInputs = [ libxml2 dbus-glib sqlite libsoup libnice telepathy-glib gnutls ];
|
||||
|
||||
checkInputs = [ dbus.daemon ];
|
||||
|
||||
|
||||
@@ -1,26 +1,17 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, pidgin, telepathy-glib, python2, glib, dbus-glib, pkg-config, libxslt }:
|
||||
{ lib, stdenv, fetchurl, fetchpatch, pidgin, telepathy-glib, python3, glib, dbus-glib, pkg-config, libxslt }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telepathy-haze";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze${version}.tar.gz";
|
||||
sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy";
|
||||
url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze-${version}.tar.gz";
|
||||
hash = "sha256-cEvvpC7sIXPspLrAH/0AQBRmXyutRtyJSOVCM2TN4wo=";
|
||||
};
|
||||
|
||||
buildInputs = [ glib telepathy-glib dbus-glib pidgin python2 ];
|
||||
buildInputs = [ glib telepathy-glib dbus-glib pidgin ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config libxslt ];
|
||||
|
||||
patches = [
|
||||
# Patch from Gentoo that helps telepathy-haze build with more
|
||||
# recent versions of pidgin.
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/gentoo/gentoo/master/net-voip/telepathy-haze/files/telepathy-haze-0.8.0-pidgin-2.10.12-compat.patch";
|
||||
sha256 = "0fa1p4n1559qd096w7ya4kvfnc1c98ykarkxzlpkwvzbczwzng3c";
|
||||
})
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config libxslt python3 ];
|
||||
|
||||
meta = {
|
||||
description = "A Telepathy connection manager based on libpurple";
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{ lib, stdenv, fetchurl, glib, dconf, pkg-config, dbus-glib, telepathy-glib, python2, libxslt, makeWrapper }:
|
||||
{ lib, stdenv, fetchurl, glib, dconf, pkg-config, dbus-glib, telepathy-glib, python3, libxslt, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telepathy-idle";
|
||||
version = "0.2.0";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh";
|
||||
hash = "sha256-g4fiXl+wtMvnAeXcCS1mbWUQuDP9Pn5GLpFw027DwV8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
buildInputs = [ glib telepathy-glib dbus-glib libxslt python2 (lib.getLib dconf) ];
|
||||
nativeBuildInputs = [ pkg-config python3 makeWrapper ];
|
||||
buildInputs = [ glib telepathy-glib dbus-glib libxslt (lib.getLib dconf) ];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/libexec/telepathy-idle" \
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib, stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, python2, pkg-config
|
||||
, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
|
||||
{ lib, stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, python3, pkg-config
|
||||
, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "telepathy-logger";
|
||||
@@ -10,12 +12,20 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/archlinux/svntogit-packages/raw/2b5bdbb4739d3517f5e7300edc8dab775743b96d/trunk/0001-tools-Fix-the-build-with-Python-3.patch";
|
||||
hash = "sha256-o1lfdZIIqaxn7ntQZnoOMqquc6efTHgSIxB5dpFWRgg=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper pkg-config intltool libxslt gobject-introspection
|
||||
python3
|
||||
];
|
||||
buildInputs = [
|
||||
dbus-glib libxml2 sqlite telepathy-glib
|
||||
dbus python2
|
||||
dbus
|
||||
];
|
||||
|
||||
configureFlags = [ "--enable-call" ];
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
let
|
||||
pname = "electron-mail";
|
||||
version = "5.0.1";
|
||||
version = "5.1.2";
|
||||
name = "ElectronMail-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "sha256-w6ZZPIJnAlA8WhNHtM9gsjr7U6wMYT21fGFmkDDAVJU=";
|
||||
sha256 = "sha256-PLDzAtH7T7QMrLavvcF3zOVTayCqEA1IghIUAAxkbEE=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zeronet-conservancy";
|
||||
version = "0.7.7";
|
||||
version = "0.7.8";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zeronet-conservancy";
|
||||
repo = "zeronet-conservancy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6qBdq6DoIKZUUGflz7kWu3S3pMJB4vkGUytpU5EatP0=";
|
||||
sha256 = "sha256-U61cQzZfEKCrnk/80yEwh8rh+VojXsvrAQV0ckFqM/4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user