Compare commits

...

180 Commits

Author SHA1 Message Date
Patrizio Bekerle
8ccdad907f
cura5: fix package for wayland (#76)
Some checks failed
CI / checks (nur) (push) Successful in 3m40s
CI / build-and-update (xeals, xeals) (push) Successful in 7m3s
Update flake inputs / update-flake (push) Failing after 2m44s
2024-12-11 11:57:09 +11:00
47b05d81c1
ci: fix github auth
Some checks failed
CI / checks (nur) (push) Successful in 3m42s
CI / build-and-update (xeals, xeals) (push) Successful in 7m6s
Update flake inputs / update-flake (push) Failing after 4m56s
2024-12-08 12:30:14 +11:00
d5421d87db
gersemi: remove upstreamed package
Some checks failed
CI / build-and-update (xeals, xeals) (push) Waiting to run
CI / checks (nur) (push) Has been cancelled
2024-12-08 12:28:48 +11:00
Arne Keller
d2eec57ac2
cura5: fix path of cura5 (#75)
Some checks failed
CI / build-and-update (xeals, xeals) (push) Waiting to run
CI / checks (nur) (push) Has been cancelled
2024-12-08 12:26:28 +11:00
cf0dcee23f
modules/betanin: spring cleaning prepping for upstream
Some checks failed
CI / checks (nur) (push) Successful in 3m24s
CI / build-and-update (xeals, xeals) (push) Successful in 18m39s
Update flake inputs / update-flake (push) Failing after 44s
2024-08-15 15:24:13 +10:00
706e911539
betanin: 0.4.0 -> 0.5.6
Some checks failed
CI / checks (nur) (push) Successful in 3m23s
CI / build-and-update (xeals, xeals) (push) Failing after 7m13s
2024-08-15 14:56:38 +10:00
5f20482f72
atlauncher: remove upstreamed package 2024-08-15 14:11:32 +10:00
f515a00748
samrewritten: remove upstreamed package 2024-08-15 14:11:32 +10:00
eb40cab148
monaspace: remove upstreamed package 2024-08-15 14:11:32 +10:00
739324df92
wg2nd: init
Some checks failed
CI / checks (nur) (push) Successful in 3m24s
CI / build-and-update (xeals, xeals) (push) Failing after 18m0s
Update flake inputs / update-flake (push) Failing after 50s
2024-07-24 21:00:30 +10:00
a840f3f3d6
flake: update inputs 2024-07-24 21:00:26 +10:00
36897a543d
thor: init at 1.0.4
Some checks failed
CI / checks (nur) (push) Successful in 3m25s
CI / build-and-update (xeals, xeals) (push) Failing after 17m46s
2024-03-04 14:37:06 +11:00
161a4a3164
ci: update to install-nix-action@v24
Some checks failed
CI / checks (nur) (push) Successful in 3m4s
CI / build-and-update (xeals, xeals) (push) Failing after 13m52s
Removes the need to provide an access token given how much we really
need to call out to GitHub.
2024-01-15 13:42:28 +11:00
6920f115fc
flake: update inputs
Some checks failed
CI / checks (nur) (push) Successful in 3m5s
CI / build-and-update (xeals, xeals) (push) Failing after 4m37s
2024-01-15 12:04:50 +11:00
c3ae074b0e
gersemi: 0.10.0 -> 0.11.0 2024-01-15 12:04:24 +11:00
17013e425e
modules/koillection: init
Some checks failed
CI / checks (nur) (push) Successful in 3m6s
CI / build-and-update (xeals, xeals) (push) Failing after 4m15s
Currently fails to build as the frontend can't be built (due to using
Yarn's v2 lockfile format).
2024-01-12 14:51:49 +11:00
e5934da311
koillection: init at 1.5.2 2024-01-12 14:48:30 +11:00
4c8d7df432
atlauncher: 3.4.35.2 -> 3.4.35.4
Some checks failed
CI / checks (nur) (push) Successful in 3m4s
CI / build-and-update (xeals, xeals) (push) Failing after 2m23s
2024-01-04 15:23:33 +11:00
94a18eac26
cura5: 5.5.0 -> 5.6.0 2024-01-04 15:19:32 +11:00
0b76292a1f
cardboard: remove
Upstreamed and maintained.
2024-01-04 15:17:12 +11:00
747aae7774
flake: remove lib inherit 2024-01-04 15:16:49 +11:00
95d04865b6
ci: remove travis spec 2024-01-04 15:02:43 +11:00
92401c5f6d
flake: remove apps, add formatter 2024-01-04 15:01:00 +11:00
3cd3ab43e4
docs: update README
Remove info that no longer applies
2024-01-04 14:57:21 +11:00
02172cd3cf
flake: update inputs 2024-01-04 14:57:07 +11:00
388891aa55
Merge branch 'gitea-actions'
All checks were successful
CI / checks (nur) (push) Successful in 3m2s
CI / build-and-update (xeals, xeals) (push) Successful in 2m57s
2024-01-04 14:29:52 +11:00
a6c7ddbb34
gersemi: init at 0.10.0
Some checks failed
CI / checks (nur) (push) Failing after 42s
CI / build-and-update (xeals, xeals) (push) Successful in 3m48s
2024-01-04 11:13:32 +11:00
98797b25cf
ci: override github access token
All checks were successful
CI / checks (nur) (push) Successful in 4m0s
CI / build-and-update (xeals, xeals) (push) Successful in 5m6s
CI / checks (nur) (pull_request) Successful in 3m8s
CI / build-and-update (xeals, xeals) (pull_request) Successful in 3m3s
2023-11-14 22:06:28 +11:00
0a0ce21db9
ci: downgrade actions/checkout to v3
Some checks failed
CI / build-and-update (xeals, xeals) (push) Successful in 6m10s
CI / checks (nur) (push) Failing after 47s
v4 is not mirrored by Gitea
2023-11-14 21:28:19 +11:00
c1563bf348
ci: namespace all uses 2023-11-14 21:23:39 +11:00
f496e54902
ci: move github workflows to gitea 2023-11-14 21:22:13 +11:00
github-actions[bot]
4720d618ae
flake: update inputs (#71)
Some checks failed
CI / checks (nur) (push) Failing after 1m35s
CI / build-and-update (xeals, xeals) (push) Failing after 1s
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a0b3b06b7a82c965ae0bb1d59f6e386fe755001d' (2023-11-05)
  → 'github:NixOS/nixpkgs/911ad1e67f458b6bcf0278fa85e33bb9924fed7e' (2023-11-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-14 21:18:55 +11:00
0fe44e3a8b
atlauncher: 3.4.34.0 -> 3.4.35.2 2023-11-13 09:28:45 +11:00
ef2a2412ff
monaspace: init at 1.000 2023-11-10 10:45:21 +11:00
149270cfb1
modules/porkbun-ddns: init 2023-11-09 09:50:08 +11:00
273d1906e1
porkbun-ddns: init 2023-11-09 09:46:17 +11:00
github-actions[bot]
a28eebd24f
flake: update inputs (#70)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29)
  → 'github:NixOS/nixpkgs/a0b3b06b7a82c965ae0bb1d59f6e386fe755001d' (2023-11-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-06 22:40:14 +00:00
github-actions[bot]
2fb4aa7a7d
flake: update inputs (#69)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/51d906d2341c9e866e48c2efcaac0f2d70bfd43e' (2023-10-21)
  → 'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-31 02:20:44 +00:00
870d0e90bd
alacritty-ligatures: remove 2023-10-26 10:12:12 +11:00
c2e4b1331c
protonmail-bridge: remove
Not been used or updated in years, and was never properly implemented
anyway.
2023-10-26 10:12:12 +11:00
6be46457dd
picom-animations: remove 2023-10-26 10:12:12 +11:00
b099d2b28c
polybar: remove 2023-10-26 10:12:12 +11:00
e83e621d6c
cura: 5.4.0 -> 5.5.0 2023-10-26 10:12:12 +11:00
github-actions[bot]
c401d92d7e
flake: update inputs (#68)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d' (2023-10-15)
  → 'github:NixOS/nixpkgs/51d906d2341c9e866e48c2efcaac0f2d70bfd43e' (2023-10-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-23 23:52:05 +00:00
github-actions[bot]
ec2163ee6a
flake: update inputs (#67)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5aabb5780a11c500981993d49ee93cfa6df9307b' (2023-10-08)
  → 'github:NixOS/nixpkgs/12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d' (2023-10-15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-16 07:49:19 +00:00
0627c79441
ci: disable nixpkgs-fmt and deadnix 2023-10-10 11:39:01 +11:00
f3efd6f932
spotify-ripper: rename vorbis-tools 2023-10-10 11:36:05 +11:00
github-actions[bot]
45cf064f13
flake: update inputs (#66)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d7186d62bb68fac3c90f1d95515e613ef299e992' (2023-10-01)
  → 'github:NixOS/nixpkgs/5aabb5780a11c500981993d49ee93cfa6df9307b' (2023-10-08)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-09 09:34:08 +00:00
github-actions[bot]
25b0104686
flake: update inputs (#65)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5148520bfab61f99fd25fb9ff7bfbb50dad3c9db' (2023-09-17)
  → 'github:NixOS/nixpkgs/d7186d62bb68fac3c90f1d95515e613ef299e992' (2023-10-01)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-02 23:25:56 +00:00
aa31825452
modules/betanin: fix service script 2023-09-27 17:37:42 +10:00
b130423331
flake: disable linters 2023-09-27 17:24:53 +10:00
fc9e687e8d
modules/betanin: simplify configuration
Use secret settings configuration that a handful of other NixOS modules
do. Remove assertions. Remove beets config file setting.
2023-09-27 17:24:50 +10:00
a1ac03e295
modules/betanin: support settings 2023-09-27 16:32:01 +10:00
56bb9289f6
modules/betanin: init 2023-09-27 16:29:36 +10:00
8da5c3d901
betanin: init at 0.4.0.ffe45c02 2023-09-27 13:58:41 +10:00
6dd12b13cd
atlauncher: 3.4.33.1 -> 3.4.34.0 2023-09-25 10:17:41 +10:00
59f910fe3f
cura5: rework to include desktop item 2023-09-21 13:12:39 +10:00
93b6195542
all: refactor to follow RFC140 2023-09-21 12:28:32 +10:00
github-actions[bot]
029f6e7795
flake: update inputs (#63)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23)
  → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/78058d810644f5ed276804ce7ea9e82d92bee293' (2023-09-10)
  → 'github:NixOS/nixpkgs/5148520bfab61f99fd25fb9ff7bfbb50dad3c9db' (2023-09-17)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-18 10:05:15 +00:00
dependabot[bot]
19eb6aefbe
ci: bump cachix/install-nix-action from 22 to 23 (#61)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 22 to 23.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v22...v23)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 08:03:18 +00:00
dependabot[bot]
26b35fa847
ci: bump actions/checkout from 3 to 4 (#60)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 07:57:17 +00:00
github-actions[bot]
ec92a006c3
flake: update inputs (#62)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d816b5ab44187a2dd84806630ce77a733724f95f' (2023-09-03)
  → 'github:NixOS/nixpkgs/78058d810644f5ed276804ce7ea9e82d92bee293' (2023-09-10)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-11 07:57:09 +00:00
github-actions[bot]
622b3cbdfe
flake: update inputs (#59)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cddebdb60de376c1bdb7a4e6ee3d98355453fe56' (2023-08-27)
  → 'github:NixOS/nixpkgs/d816b5ab44187a2dd84806630ce77a733724f95f' (2023-09-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-06 01:21:01 +00:00
6be9b3fd57
atlauncher: 3.4.33.0 -> 3.4.33.1 2023-08-30 09:42:02 +10:00
dependabot[bot]
1991f762ff
ci: bump DeterminateSystems/update-flake-lock from 19 to 20 (#57)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 19 to 20.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/v19...v20)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 12:14:40 +00:00
github-actions[bot]
7ef07f63fb
flake: update inputs (#58)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
  → 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3476a10478587dec90acb14ec6bde0966c545cc0' (2023-08-20)
  → 'github:NixOS/nixpkgs/cddebdb60de376c1bdb7a4e6ee3d98355453fe56' (2023-08-27)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-28 12:14:26 +00:00
9aace44d90
atlauncher: disable update checking 2023-08-25 09:13:38 +10:00
a7e7286d6e
atlauncher: pin Java at 17 2023-08-25 09:09:41 +10:00
f407a90461
atlauncher: 3.4.20.2 -> 3.4.33.0 2023-08-25 09:08:11 +10:00
github-actions[bot]
9416bec1d7
flake: update inputs (#56)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/750fc50bfd132a44972aa15bb21937ae26303bc4' (2023-08-13)
  → 'github:NixOS/nixpkgs/3476a10478587dec90acb14ec6bde0966c545cc0' (2023-08-20)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-21 22:44:03 +00:00
github-actions[bot]
104c9a0747
flake: update inputs (#55)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5068bc8fe943bde3c446326da8d0ca9c93d5a682' (2023-08-07)
  → 'github:NixOS/nixpkgs/750fc50bfd132a44972aa15bb21937ae26303bc4' (2023-08-13)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-14 23:30:58 +00:00
github-actions[bot]
b986324ca8
flake: update inputs (#54)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3acb5c4264c490e7714d503c7166a3fde0c51324' (2023-07-30)
  → 'github:NixOS/nixpkgs/5068bc8fe943bde3c446326da8d0ca9c93d5a682' (2023-08-07)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-07 06:51:59 +00:00
github-actions[bot]
34b7a0d308
flake: update inputs (#53)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/af8cd5ded7735ca1df1a1174864daab75feeb64a' (2023-07-23)
  → 'github:NixOS/nixpkgs/3acb5c4264c490e7714d503c7166a3fde0c51324' (2023-07-30)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-31 07:17:27 +00:00
github-actions[bot]
10c372b1e3
flake: update inputs (#52)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/66c990850b878437510cc6096e6babce86de5dcb' (2023-07-16)
  → 'github:NixOS/nixpkgs/af8cd5ded7735ca1df1a1174864daab75feeb64a' (2023-07-23)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-25 01:09:25 +00:00
github-actions[bot]
af1f94f029
flake: update inputs (#51)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
  → 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2b356dae6208d422236c4cdc48f3bed749f9daea' (2023-07-09)
  → 'github:NixOS/nixpkgs/66c990850b878437510cc6096e6babce86de5dcb' (2023-07-16)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-17 07:15:20 +00:00
43236beb53
cura5: init at 5.4.0 2023-07-15 19:19:55 +10:00
github-actions[bot]
1f97131fc1
flake: update inputs (#50)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cd99c2b3c9f160cd004318e0697f90bbd5960825' (2023-07-01)
  → 'github:NixOS/nixpkgs/2b356dae6208d422236c4cdc48f3bed749f9daea' (2023-07-09)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-10 08:53:44 +00:00
github-actions[bot]
a7195c6042
flake: update inputs (#49)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/07059ee2fa34f1598758839b9af87eae7f7ae6ea' (2023-06-25)
  → 'github:NixOS/nixpkgs/cd99c2b3c9f160cd004318e0697f90bbd5960825' (2023-07-01)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-03 06:56:10 +00:00
github-actions[bot]
8e77024084
flake: update inputs (#48)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
  → 'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/91430887645a0953568da2f3e9a3a3bb0a0378ac' (2023-06-18)
  → 'github:NixOS/nixpkgs/07059ee2fa34f1598758839b9af87eae7f7ae6ea' (2023-06-25)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-26 10:38:27 +00:00
dfd1f1720d
protonmail-bridge: remove qtdoc from inputs 2023-06-20 16:25:43 +10:00
5531e40958
cardboard: remove xwayland from inputs 2023-06-20 16:25:43 +10:00
267995206a
alacritty-ligatures: fix cargoDeps output hash 2023-06-20 16:25:43 +10:00
a2fbb58011
flake: upport channel-less in NUR check
Interestingly doesn't actually fail like `nix flake check` does.
2023-06-20 16:22:46 +10:00
3d79b690e4
ci: disallow continue on check failure
Has been hiding issues with the NUR update for a month due to a change
in `buildRustPackage`.
2023-06-20 16:00:45 +10:00
dependabot[bot]
5f205a48c2
ci: bump cachix/install-nix-action from 21 to 22 (#46)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 21 to 22.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v21...v22)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-19 23:51:43 +00:00
github-actions[bot]
7de26a6d71
flake: update inputs (#47)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9401a0c780b49faf6c28adf55764f230301d0dce' (2023-06-11)
  → 'github:NixOS/nixpkgs/91430887645a0953568da2f3e9a3a3bb0a0378ac' (2023-06-18)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-19 23:51:25 +00:00
github-actions[bot]
97ca7a2f35
flake: update inputs (#45)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2e56a850786211972d99d2bb39665a9b5a1801d6' (2023-06-04)
  → 'github:NixOS/nixpkgs/9401a0c780b49faf6c28adf55764f230301d0dce' (2023-06-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-12 07:37:05 +00:00
github-actions[bot]
734650a80a
flake: update inputs (#44)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/cfacdce06f30d2b68473a46042957675eebb3401' (2023-04-11)
  → 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6b554aae1cf48cb39d4a61a51f826859027a93e2' (2023-05-28)
  → 'github:NixOS/nixpkgs/2e56a850786211972d99d2bb39665a9b5a1801d6' (2023-06-04)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-06 02:24:05 +00:00
github-actions[bot]
0d269dba16
flake: update inputs (#43)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/85340996ba67cc02f01ba324e18b1306892ed6f5' (2023-05-21)
  → 'github:NixOS/nixpkgs/6b554aae1cf48cb39d4a61a51f826859027a93e2' (2023-05-28)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-30 09:22:05 +10:00
dependabot[bot]
8f2e2d2372
ci: bump cachix/install-nix-action from 20 to 21 (#42)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 20 to 21.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v20...v21)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:21:55 +10:00
7a84f381fc
ytarchive: 0.2.2 -> 0.2.2+0304577
Upstream has rewritten in Go and removed all the Python tags, so we fix
the revision at the last Python version.
2023-05-23 10:06:24 +10:00
698ad1803d
amdgpu-fan: patch bad placeholder version 2023-05-23 10:04:20 +10:00
github-actions[bot]
896b46b2f4
flake: update inputs (#41)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0cb867999eec4085e1c9ca61c09b72261fa63bb4' (2023-05-15)
  → 'github:NixOS/nixpkgs/85340996ba67cc02f01ba324e18b1306892ed6f5' (2023-05-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-22 17:58:45 +10:00
github-actions[bot]
16c3c01730
flake: update inputs (#40)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/eb751d65225ec53de9cf3d88acbf08d275882389' (2023-05-07)
  → 'github:NixOS/nixpkgs/0cb867999eec4085e1c9ca61c09b72261fa63bb4' (2023-05-15)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-16 09:10:03 +10:00
github-actions[bot]
26f6048226
flake: update inputs (#39)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8b3bc690e201c8d3cbd14633dbf3462a820e73f2' (2023-05-01)
  → 'github:NixOS/nixpkgs/eb751d65225ec53de9cf3d88acbf08d275882389' (2023-05-07)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-09 10:18:12 +10:00
github-actions[bot]
69bc4e5e49
flake: update inputs (#38)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2362848adf8def2866fabbffc50462e929d7fffb' (2023-04-21)
  → 'github:NixOS/nixpkgs/8b3bc690e201c8d3cbd14633dbf3462a820e73f2' (2023-05-01)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-02 15:40:52 +10:00
dependabot[bot]
8c691f457a
ci: bump DeterminateSystems/update-flake-lock from 18 to 19 (#34)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 18 to 19.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v18...v19)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-27 11:08:54 +10:00
github-actions[bot]
ea79df8fbf
flake: update inputs (#37)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/db34d7561caa508ece0265a56f382c5d3b7a6c1b' (2023-04-17)
  → 'github:NixOS/nixpkgs/2362848adf8def2866fabbffc50462e929d7fffb' (2023-04-21)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-26 14:34:51 +10:00
github-actions[bot]
bfc5062bb6
flake: update inputs (#36)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/033b9f258ca96a10e543d4442071f614dc3f8412' (2023-04-09)
  → 'github:numtide/flake-utils/cfacdce06f30d2b68473a46042957675eebb3401' (2023-04-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a' (2023-04-09)
  → 'github:NixOS/nixpkgs/db34d7561caa508ece0265a56f382c5d3b7a6c1b' (2023-04-17)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-17 17:16:24 +10:00
github-actions[bot]
2df4be1363
flake: update inputs (#35)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
  → 'github:numtide/flake-utils/033b9f258ca96a10e543d4442071f614dc3f8412' (2023-04-09)
• Added input 'flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
  → 'github:NixOS/nixpkgs/da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a' (2023-04-09)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-11 10:15:10 +10:00
github-actions[bot]
4b69efc799
flake: update inputs (#33)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0cd51a933d91078775b300cf0f29aa3495231aa2' (2023-03-26)
  → 'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-04 11:11:38 +10:00
dependabot[bot]
9898d8265c
ci: bump DeterminateSystems/update-flake-lock from 17 to 18 (#32)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 17 to 18.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v17...v18)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:11:25 +10:00
github-actions[bot]
509a3f9918
flake: update inputs (#31)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5a05160f7671434e1c833b1b01284b876e04eca4' (2023-03-19)
  → 'github:NixOS/nixpkgs/0cd51a933d91078775b300cf0f29aa3495231aa2' (2023-03-26)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-28 09:25:55 +11:00
github-actions[bot]
93bdded413
flake: update inputs (#30)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)
  → 'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b38db2c901b30a37d345751f4f6418d416e7e46e' (2023-03-12)
  → 'github:NixOS/nixpkgs/5a05160f7671434e1c833b1b01284b876e04eca4' (2023-03-19)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-21 09:27:17 +11:00
github-actions[bot]
f6fe0ddb84
flake: update inputs (#29)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a1240f6b4a0bcc84fc48008b396a140d9f3638f6' (2023-03-05)
  → 'github:NixOS/nixpkgs/b38db2c901b30a37d345751f4f6418d416e7e46e' (2023-03-12)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-13 18:53:36 +11:00
dependabot[bot]
803f73b8b8
ci: bump DeterminateSystems/update-flake-lock from 16 to 17 (#28)
Bumps [DeterminateSystems/update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) from 16 to 17.
- [Release notes](https://github.com/DeterminateSystems/update-flake-lock/releases)
- [Commits](https://github.com/DeterminateSystems/update-flake-lock/compare/v16...v17)

---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 10:55:12 +11:00
bced319f32
ci: fix dependabot config 2023-03-07 10:08:01 +11:00
github-actions[bot]
a798e65465
flake: update inputs (#27)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9952d6bc395f5841262b006fbace8dd7e143b634' (2023-02-26)
  → 'github:NixOS/nixpkgs/a1240f6b4a0bcc84fc48008b396a140d9f3638f6' (2023-03-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-07 10:07:32 +11:00
d36de346ad
packages: convert path interpolation to concat
I have no idea what the fuck is happening here but interpolating the
path leads to the whole result being converted to a (-n invalid) store
path, but concat doesn't. The former results in realisation failing
running under `nix-build`, i.e., NUR updates.
2023-03-06 12:08:33 +11:00
b7f88d78b5
flake: add check for NUR reproducibility 2023-03-06 12:02:00 +11:00
71f6ac0f46
atlauncher: add compat for sourceProvenance
Occasionally gets evaluated with nixpkgs-22.05 which doesn't have these
definitions.
2023-03-06 11:55:56 +11:00
561afaf18c
default: refactor 2023-03-06 10:30:13 +11:00
f0dc2d521d
all: format 2023-03-06 10:13:37 +11:00
4586c00f4e
ci: bump cachix/install-nix-action 2023-03-06 09:49:33 +11:00
Alper Çelik
162045b8d7
default: add unit packages (#26) 2023-03-06 09:40:35 +11:00
fc1f1b328b
ci: update dependabot commit format 2023-02-28 09:38:36 +11:00
github-actions[bot]
4be1dd48ce
flake: update inputs (#25)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f5dad40450d272a1ea2413f4a67ac08760649e89' (2023-02-22)
  → 'github:NixOS/nixpkgs/9952d6bc395f5841262b006fbace8dd7e143b634' (2023-02-26)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-28 09:34:46 +11:00
8bbc8afb15
docs: update badge path 2023-02-23 13:47:07 +11:00
6faef6e0ac
go-qt: bump qt version 2023-02-23 13:39:21 +11:00
29516dc3d8
ci: allow style checks to fail 2023-02-23 13:37:14 +11:00
github-actions[bot]
a2f24f4591
flake: update inputs (#24)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bd4dffcdb7c577d74745bd1eff6230172bd176d5' (2022-04-17)
  → 'github:NixOS/nixpkgs/f5dad40450d272a1ea2413f4a67ac08760649e89' (2023-02-22)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-23 13:23:56 +11:00
8f34b7a6fa
ci: adjust update job messages 2023-02-23 13:23:04 +11:00
5410671050
all: embrace unit packages where possible 2023-02-23 11:46:04 +11:00
e053da240d
protonmail-bridge: bump qt version 2023-02-23 11:10:17 +11:00
d0e26ddb24
ci: fix update job definition 2023-02-23 11:06:35 +11:00
2efddce7c5
ci: fix check job definition 2023-02-23 11:01:35 +11:00
3d8a9cfa9a
ci: add flake input job 2023-02-23 10:59:58 +11:00
782b05c59e
ci: run checks 2023-02-23 10:51:53 +11:00
67adbe7089
ci: fix NUR update endpoint 2023-02-23 10:50:16 +11:00
5399368853
ci: disabled scheduled build
Since we now pin nixpkgs to the same as the flake input, builds are
deterministic from run to run and there's no point running when the
version hasn't changed.
2023-02-23 10:24:59 +11:00
ec62dc7950
ci: convert build action to full flakes 2023-02-23 10:24:19 +11:00
f20db9aa1b
ci: pin nixpkgs to locked version instead of <nixpkgs> 2023-02-23 10:24:19 +11:00
b21cbda697
flake: refactor 2023-02-23 09:49:36 +11:00
ada5f02f08
go-qt: mark as broken 2023-02-14 10:19:47 +11:00
dependabot[bot]
c387334fa5
build(deps): bump cachix/install-nix-action from 18 to 19 (#22)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 18 to 19.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v18...v19)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 16:59:32 +11:00
dependabot[bot]
57711572f6
build(deps): bump cachix/cachix-action from 11 to 12 (#21)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 11 to 12.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v11...v12)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 16:19:02 +11:00
a83dcb3ed5
all: apply deadnix 2022-10-26 10:53:36 +11:00
a70a0e914b
all: apply nixpkgs-fmt 2022-10-26 10:53:36 +11:00
46b331a413 atlauncher: add opengl to library path 2022-10-18 19:37:22 +11:00
b8e4f0929a
psst: 20210122.gec114ac -> 20221012.d70ed81 2022-10-18 17:00:13 +11:00
85aebac63d
atlauncher: init at 3.4.20.2 2022-10-18 16:32:10 +11:00
dependabot[bot]
0254963dec
build(deps): bump cachix/cachix-action from 10 to 11 (#19)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 10 to 11.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v10...v11)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 10:00:01 +11:00
dependabot[bot]
0b3995a7e3
build(deps): bump cachix/install-nix-action from 17 to 18 (#20)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 17 to 18.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v17...v18)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 09:59:54 +11:00
7414d45aa4 polybar: update patch 2022-04-20 09:42:36 +10:00
ee0cf26f5b polybar: update patch 2022-04-20 09:42:28 +10:00
dependabot[bot]
658b1fa08c
ci: cachix/install-nix-action: 16 -> 17
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 16 to 17.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v16...v17)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 14:46:02 +10:00
dependabot[bot]
fc33441151
ci: bump actions/checkout: 2.4.0 -> 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 09:29:22 +10:00
0bb9971c38
psst: refactor for makeDesktopItem changes 2022-03-01 11:16:32 +11:00
1530197670
flake: update inputs 2022-03-01 11:15:00 +11:00
2c575d6596
spotify-ripper: 20161231.gd046419 -> 20210724.5bfd3f7
pytest-forked removed support for python2 in their 1.4.0 release,
breaking the pinned version of mutagen that the old version of
spotify-ripper requires. We rebase onto another fork that has updated it
a bit, adding support for python3 and unpinning their dependencies.
2022-01-25 10:18:28 +11:00
dependabot[bot]
5648d1d005
ci: cachix/install-nix-action: 15 -> 16
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 15 to 16.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v15...v16)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-04 19:12:53 +11:00
dependabot[bot]
d97d0fc259
ci: cachix/install-nix-action: 14 -> 15
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 14 to 15.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v14...v15)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 20:34:24 +11:00
f5adcca761 modules: remove deprecated literalExample 2021-11-13 19:15:05 +11:00
6d3581ac49 flake: add singular nixosModule output 2021-11-13 19:05:18 +11:00
94be83c704 modules/dunst: init 2021-11-13 18:52:41 +11:00
fe773352f5 flake: reorganise, remove flake-utils 2021-11-13 18:52:08 +11:00
311fb3ff98 protonmail-bridge: 1.5.6 -> 1.8.10 2021-11-11 22:52:27 +11:00
260db819e7 protonmail-bridge: update build args 2021-11-11 22:52:27 +11:00
ba5c904cb7 flake: update inputs 2021-11-11 22:52:27 +11:00
f616baa7b2 ci: merge workflow changes from upstream 2021-11-11 22:52:22 +11:00
dependabot[bot]
d1ad137626
ci: actions/checkout: 2.3.4 -> 2.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-08 21:03:23 +11:00
0335b240b6 ytarchive: init at 0.2.2 2021-10-02 13:44:16 +10:00
dependabot[bot]
7edffe7e56
ci: cachix/install-nix-action: 13 -> 14
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 13 to 14.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v13...v14)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-16 17:20:35 +10:00
f218f59184
alacritty-ligatures: mark as build locally
Sick of it producing issues that don't crop up building localling and
breaking CI.
2021-06-12 14:57:11 +10:00
1b190f8a81
cardboard: mark as broken 2021-06-12 14:36:39 +10:00
f7f4206afa
alacritty-ligatures: refactor into standalone file 2021-06-12 14:36:39 +10:00
dependabot[bot]
ca67f392b5
ci: cachix/cachix-action: v9 -> v10
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from v9 to v10.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v9...73e75d1a0cd4330597a571e8f9dedb41faa2fc4e)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-12 11:11:23 +10:00
dependabot[bot]
3ce504e445
ci: bump cachix/cachix-action from v8 to v9 (#9)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from v8 to v9.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v8...2689c27f57daedc905895d92ad18fe5ce470df9e)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-12 11:11:23 +10:00
dependabot[bot]
58abb0d562
ci: bump cachix/install-nix-action from v12 to v13 (#10)
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from v12 to v13.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v12...8d6d5e949675fbadb765c6b1a975047fa5f09b27)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-12 11:11:23 +10:00
2cf1b51843
flake: update inputs 2021-06-12 11:11:23 +10:00
d8ae11352e
alacritty-ligatures: remove terminfo output 2021-06-12 11:11:23 +10:00
7078ef0677
ci: disable nixos-unstable channel in matrix 2021-06-12 11:11:23 +10:00
b2c0121005
alacritty-ligatures: 0.7.1.20210107.gada2680 -> 0.7.2.20210209.g3ed0430 2021-06-12 11:11:23 +10:00
cf95fb9600
radeon-profile-daemon: add wrapQtAppsHook
Required as part of the latest staging-next commit set to Nixpkgs [1].

Note that this breaks builds on all current non-unstable Nixpkgs
branches (but as the repository notes, they are not supported anyway).

[1]: 02924cf951/doc/languages-frameworks/qt.section.md
2021-06-12 11:11:23 +10:00
3c27e38073
flake: update inputs 2021-02-20 21:26:04 +11:00
Jörg Thalheim
86f1713639
alacritty-ligatures: fix rpath flag 2021-02-05 10:21:00 +11:00
3dbd760954
flake: update inputs 2021-02-01 08:50:19 +11:00
8b290acc50
protonmail-bridge: separate builder into new file 2021-02-01 08:50:19 +11:00
b960c361a9
treewide: stdenv.lib -> lib
https://github.com/NixOS/nixpkgs/issues/108938
2021-02-01 08:50:19 +11:00
Jörg Thalheim
0c87ddac9e
alacritty-ligatures: fix commit hash 2021-01-31 18:12:20 +11:00
58 changed files with 1626 additions and 1657 deletions

View File

@ -4,3 +4,5 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "weekly" interval: "weekly"
commit-message:
prefix: "ci"

View File

@ -1,14 +1,27 @@
name: "Build and populate cache" name: "CI"
on: on:
pull_request: pull_request:
push: push:
schedule:
# rebuild everyday at 6:50
# TIP: Choose a random time here so not all repositories are build at once:
# https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new
- cron: '50 6 * * *'
jobs: jobs:
tests:
checks:
strategy:
matrix:
check:
# - nixpkgs-fmt
# - deadnix
- nur
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: https://gitea.com/actions/checkout@v3
- name: Install nix
uses: https://github.com/cachix/install-nix-action@v24
- name: Check ${{ matrix.check }}
# Depends on nixos/nix#7759 to simply `nix flake check`
run: nix run .#checks.$(nix eval --raw --impure --expr "builtins.currentSystem").${{ matrix.check }}
build-and-update:
strategy: strategy:
matrix: matrix:
# Set this to notify the global nur package registry that changes are # Set this to notify the global nur package registry that changes are
@ -28,30 +41,22 @@ jobs:
# in your repository settings in Github found at https://github.com/<your_githubname>/nur-packages/settings/secrets # in your repository settings in Github found at https://github.com/<your_githubname>/nur-packages/settings/secrets
cachixName: cachixName:
- xeals - xeals
nixPath:
- nixpkgs=channel:nixos-unstable
- nixpkgs=channel:nixpkgs-unstable
# Disable due to buildGoModule and buildRustPackage
# - nixpkgs=channel:nixos-20.03
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2.3.4 uses: https://gitea.com/actions/checkout@v3
- name: Install nix - name: Install nix
uses: cachix/install-nix-action@v12 uses: https://github.com/cachix/install-nix-action@v24
with:
nix_path: "${{ matrix.nixPath }}"
- name: Show nixpkgs version - name: Show nixpkgs version
run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version' run: nix eval --impure --expr '(import ./flake-compat.nix { src = ./.; }).lib.version'
- name: Setup cachix - name: Setup cachix
uses: cachix/cachix-action@v8 uses: https://github.com/cachix/cachix-action@v12
if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }} if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }}
with: with:
name: ${{ matrix.cachixName }} name: ${{ matrix.cachixName }}
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Build nix packages - name: Build nix packages
# TODO switch to default nixpkgs channel once nix-build-uncached 1.0.0 is in stable run: nix develop .#ci -c nix-build-uncached ci.nix -A cacheOutputs
run: nix run -I 'nixpkgs=channel:nixos-unstable' nixpkgs.nix-build-uncached -c nix-build-uncached ci.nix -A cacheOutputs
- name: Trigger NUR update - name: Trigger NUR update
if: ${{ matrix.nurRepo != '<YOUR_REPO_NAME>' }} if: ${{ matrix.nurRepo != '<YOUR_REPO_NAME>' }}
run: curl -XPOST "https://nur-update.herokuapp.com/update?repo=${{ matrix.nurRepo }}" run: curl -XPOST "https://nur-update.nix-community.org/update?repo=${{ matrix.nurRepo }}"

View File

@ -0,0 +1,24 @@
name: "Update flake inputs"
on:
workflow_dispatch:
schedule:
# bump weekly at 6:50
- cron: '50 6 * * 1'
jobs:
update-flake:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: cachix/install-nix-action@v23
with:
extra_nix_config: |
access-tokens = github.com=${{ secrets.INPUT_GITHUB_ACCESS_TOKEN }}
- name: "flake: update inputs"
uses: DeterminateSystems/update-flake-lock@v20
with:
pr-title: "flake: update inputs"
pr-labels: dependencies
commit-msg: "flake: update inputs"

View File

@ -1,28 +0,0 @@
version: ~> 1.0
import: nix-community/nix-travis-ci:nix.yml@main
dist: xenial
os: linux
env:
global:
- CACHIX_CACHE="xeals"
- NUR_REPO="xeals"
jobs:
include:
- env: NIX_PATH=nixpkgs=channel:nixpkgs-unstable
- env: NIX_PATH=nixpkgs=channel:nixos-unstable
# - env: NIX_PATH=nixpkgs=channel:nixos-20.03
script:
- nix-build ci.nix -kA buildOutputs
- nix eval -f default.nix 'lib'
- nix eval -f default.nix 'modules'
- nix eval -f default.nix 'overlays'
after_success:
- if [ -n "${CACHIX_CACHE}" ]; then nix-build ci.nix -kA cacheOutputs | cachix push "${CACHIX_CACHE}"; fi
- if [[ NUR_REPO != "xeals" && "cron" != "${TRAVIS_EVENT_TYPE}" && "false" = "${TRAVIS_PULL_REQUEST}" && "master" = "${TRAVIS_BRANCH}" ]]; then
curl -XPOST "https://nur-update.herokuapp.com/update?repo=${NUR_REPO}"; fi

View File

@ -2,44 +2,26 @@
**My personal [NUR](https://github.com/nix-community/NUR) repository** **My personal [NUR](https://github.com/nix-community/NUR) repository**
[![Build and populate cache](https://github.com/xeals/nur-packages/workflows/Build%20and%20populate%20cache/badge.svg)](https://github.com/xeals/nur-packages/actions) [![Cachix Cache](https://img.shields.io/badge/cachix-xeals-blue.svg)](https://xeals.cachix.org) [CI](https://git.xeals.me/xeals/nur-packages/actions) [![Cachix Cache](https://img.shields.io/badge/cachix-xeals-blue.svg)](https://xeals.cachix.org)
## Noteworthy packages ## Using
### Jetbrains with plugins Using packages is easier through the combined [NUR](https://github.com/nix-community/NUR) flake.
A fan of the Emacs/Vim/VSCode plugin builder? Now enjoy it with your favourite Jetbrains IDE!
The system is mostly proof-of-concept and there are a couple of issues with it at the moment, but it works for what is available in the repo.
#### Using
```nix ```nix
{ pkgs ? import <nixpkgs> {} }: # flake.nix
let {
xeals = import (builtins.fetchTarball "https://git.xeal.me/xeals/nur-packages/archive/master.tar.gz") { inputs = {
inherit pkgs; xeals.url = "git+https://git.xeal.me/xeals/nur-packages"; # Direct
xeals.url = "github:xeals/nur-packages"; # GitHub mirror
}; };
in
# e.g., for IntelliJ IDEA outputs = { nixpkgs, xeals, ... }: {
xeals.jetbrains.ideaCommunityWithPlugins (jpkgs: [ nixosConfigurations.foo = nixpkgs.lib.nixosSystem {
jpkgs.ideavim modules = [
jpkgs.checkstyle-idea xeals.nixosModules.betanin
]) ];
};
};
}
``` ```
#### Issues
- [ ] The plugin derivation overrides the base instead of extending it; this is really only an issue for the open-source IDEs, and only once they're actually built from source (instead of repackaging the JARs)
- [ ] Plugins must be manually added to the repo; long-term, I'd really want some way to scrape them, or at least have a script to add and update
### spotify-ripper
`spotify-ripper` is pretty flexible in the formats it supports, so the derivation allows you to customize which support packages to build with.
The default package comes with nothing (which is not entirely useful -- this will probably change at some point). See [the builder](./pkgs/tools/misc/spotify-ripper/default.nix) for options.
## General issues
- [ ] `spotify-ripper` does not build on stable NixOS channels before 20.09 when built with m4a or mp4 support, as `fdk-aac-encoder` is not available
- [ ] Due to changes in toolchains affected fixed output hashes, anything using `buildGoModule` and `buildRustPackage` will fail on NixOS 20.03. Override the hashes of `vendor` and `cargoDeps` attributes as needed

6
ci.nix
View File

@ -9,7 +9,7 @@
# then your CI will be able to build and cache only those packages for # then your CI will be able to build and cache only those packages for
# which this is possible. # which this is possible.
{ pkgs ? import <nixpkgs> {} }: { pkgs ? import ./flake-compat.nix { src = ./.; } }:
with builtins; with builtins;
@ -29,8 +29,8 @@ let
let let
f = p: f = p:
if shouldRecurseForDerivations p then flattenPkgs p if shouldRecurseForDerivations p then flattenPkgs p
else if isDerivation p then [p] else if isDerivation p then [ p ]
else []; else [ ];
in in
concatMap f (attrValues s); concatMap f (attrValues s);

View File

@ -7,9 +7,11 @@
# nix-build -A mypackage # nix-build -A mypackage
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
let
import ./pkgs/top-level/all-packages.nix { inherit pkgs; } system = pkgs.stdenv.hostPlatform.system;
// { packages = import ./pkgs/top-level { localSystem = system; inherit pkgs; };
in
packages // {
# The `lib`, `modules`, and `overlay` names are special # The `lib`, `modules`, and `overlay` names are special
lib = import ./lib { inherit pkgs; }; # functions lib = import ./lib { inherit pkgs; }; # functions
modules = import ./modules; # NixOS modules modules = import ./modules; # NixOS modules

12
flake-compat.nix Normal file
View File

@ -0,0 +1,12 @@
{ src, system ? builtins.currentSystem or "unknown-system" }:
let
lockFilePath = "${src}/flake.lock";
lockFile = builtins.fromJSON (builtins.readFile lockFilePath);
nixpkgs = lockFile.nodes.nixpkgs.locked;
tarball = fetchTarball {
url = "https://github.com/${nixpkgs.owner}/${nixpkgs.repo}/archive/${nixpkgs.rev}.zip";
sha256 = nixpkgs.narHash;
};
in
import tarball { inherit system; }

30
flake.lock generated
View File

@ -1,12 +1,15 @@
{ {
"nodes": { "nodes": {
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1605370193, "lastModified": 1710146030,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -17,11 +20,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1611414562, "lastModified": 1719931832,
"narHash": "sha256-u002KfYA7Uk3vffnnmLz88BmxOzixYFdh+8II6ZT+Kg=", "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9d6fd2ba135c5b5c85c3332604d39b43e93b8298", "rev": "0aeab749216e4c073cece5d34bc01b79e717c3e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -36,6 +39,21 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -1,47 +1,57 @@
{ {
description = "xeals's flake"; description = "xeals's Nix repository";
inputs = { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }: outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem
(system:
let let
inherit (flake-utils.lib) eachDefaultSystem flattenTree; pkgs = import nixpkgs { inherit system; };
inherit (nixpkgs.lib.attrsets) filterAttrs mapAttrs;
in in
{ {
nixosModules = mapAttrs (_: path: import path) (import ./modules); packages = import ./pkgs/top-level { localSystem = system; inherit pkgs; };
formatter = pkgs.writeShellScriptBin "nur-packages-fmt" ''
${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt .
${pkgs.deadnix}/bin/deadnix -e .
'';
checks = {
# Ensures that the NUR bot can evaluate and find all our packages.
# Normally we'd also run with `--option restrict-eval true`, but
# this is incompatible with flakes because reasons.
nur = pkgs.writeShellScriptBin "nur-check" ''
# Prefer nixpkgs channel (actual build), otherwise read from flake.lock (CI)
if ! nixpkgs=$(nix-instantiate --find-file nixpkgs 2>/dev/null); then
_rev=$(${pkgs.jq}/bin/jq -r .nodes.nixpkgs.locked.rev flake.lock)
nixpkgs="https://github.com/nixos/nixpkgs/archive/''${_rev}.tar.gz"
fi
nix-env -f . -qa \* --meta \
--allowed-uris https://static.rust-lang.org \
--option allow-import-from-derivation true \
--drv-path --show-trace \
-I nixpkgs="$nixpkgs" \
-I ./ \
--json | ${pkgs.jq}/bin/jq -r 'values | .[].name'
'';
};
devShells.ci = pkgs.mkShellNoCC {
buildInputs = [ pkgs.nix-build-uncached ];
};
})
// {
nixosModules = nixpkgs.lib.mapAttrs (_: path: import path) (import ./modules) // {
default = {
imports = nixpkgs.lib.attrValues self.nixosModules;
};
};
overlays = import ./overlays // { overlays = import ./overlays // {
pkgs = final: prev: import ./pkgs/top-level/all-packages.nix { pkgs = prev; }; pkgs = _: prev: import ./pkgs/top-level/all-packages.nix { pkgs = prev; };
default = _: _: { xeals = nixpkgs.lib.composeExtensions self.overlays.pkgs; };
}; };
overlay = final: prev: {
xeals = nixpkgs.lib.composeExtensions self.overlays.pkgs;
}; };
} // eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
xPkgs = import ./pkgs/top-level/all-packages.nix { inherit pkgs; };
mkApp = opts: { type = "app"; } // opts;
in
rec {
packages = filterAttrs
(attr: drv: builtins.elem system (drv.meta.platforms or [ ]))
(flattenTree xPkgs);
apps = flattenTree {
alacritty = mkApp { program = "${packages.alacritty-ligatures}/bin/alacritty"; };
protonmail-bridge = mkApp { program = "${packages.protonmail-bridge}/bin/protonmail-bridge"; };
protonmail-bridge-headless = mkApp { program = "${packages.protonmail-bridge}/bin/protonmail-bridge"; };
psst = {
cli = mkApp { program = "${packages.psst}/bin/psst-cli"; };
gui = mkApp { program = "${packages.psst}/bin/psst-gui"; };
};
samrewritten = mkApp { program = "${packages.samrewritten}/bin/samrewritten"; };
spotify-ripper = mkApp { program = "${packages.spotify-ripper}/bin/spotify-ripper"; };
};
});
} }

View File

@ -2,6 +2,10 @@
amdgpu-common = ./services/hardware/amdgpu-common.nix; amdgpu-common = ./services/hardware/amdgpu-common.nix;
amdgpu-fan = ./services/hardware/amdgpu-fan.nix; amdgpu-fan = ./services/hardware/amdgpu-fan.nix;
amdgpu-pwm = ./services/hardware/amdgpu-pwm.nix; amdgpu-pwm = ./services/hardware/amdgpu-pwm.nix;
betanin = ./services/web-apps/betanin.nix;
dunst = ./services/x11/dunst.nix;
koillection = ./services/web-apps/koillection.nix;
porkbun-ddns = ./services/networking/porkbun-ddns.nix;
radeon-profile-daemon = ./services/hardware/radeon-profile-daemon.nix; radeon-profile-daemon = ./services/hardware/radeon-profile-daemon.nix;
} }

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { lib, ... }:
with lib; with lib;
@ -7,7 +7,7 @@ with lib;
cards = mkOption { cards = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ "card0" ]; default = [ "card0" ];
example = literalExample ''[ "card0" ]''; example = [ "card0" "card1" ];
description = '' description = ''
A list of cards to enable fan configuration for. The identifiers for A list of cards to enable fan configuration for. The identifiers for
each device can be found in /sys/class/drm/ as card0, card1, etc. each device can be found in /sys/class/drm/ as card0, card1, etc.

View File

@ -33,14 +33,12 @@ in
[ 75 89 ] [ 75 89 ]
[ 80 100 ] [ 80 100 ]
]; ];
example = literalExample '' example = [
[
[ 0 0 ] [ 0 0 ]
[ 40 30 ] [ 40 30 ]
[ 60 50 ] [ 60 50 ]
[ 80 100 ] [ 80 100 ]
] ];
'';
description = '' description = ''
A list of temperature-fan speed pairs. The temperature is specified in A list of temperature-fan speed pairs. The temperature is specified in
degrees celcius, and speed is specified in %. degrees celcius, and speed is specified in %.

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
with lib; with lib;

View File

@ -0,0 +1,74 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkOption types;
cfg = config.services.porkbun-ddns;
in
{
options = {
services.porkbun-ddns = {
enable = lib.mkEnableOption "Porkbun dynamic DNS client";
package = mkOption {
# TODO: How do I use mkPackageOption when the package isn't in the
# package set?
type = types.package;
default = pkgs.callPackage ../../../pkgs/by-name/po/porkbun-ddns/package.nix { };
defaultText = "pkgs.porkbun-ddns";
description = lib.mdDoc "The porkbun-ddns package to use.";
};
interval = mkOption {
type = types.str;
default = "10m";
description = lib.mdDoc ''
Interval to update dynamic DNS records. The default is to update every
10 minutes. The format is described in {manpage}`systemd.time(7)`.
'';
};
domains = mkOption {
type = types.listOf types.str;
default = [ ];
description = lib.mdDoc "Domains to update.";
};
apiKeyFile = mkOption {
type = types.nullOr types.path;
description = lib.mdDoc ''
File containing the API key to use when running the client.
'';
};
secretApiKeyFile = mkOption {
type = types.nullOr types.path;
description = lib.mdDoc ''
File containing the secret API key to use when running the
client.
'';
};
};
};
config = lib.mkIf cfg.enable {
systemd.services.porkbun-ddns = {
description = "Porkbun dynamic DNS client";
script = ''
${cfg.package}/bin/porkbun-ddns \
-K ${cfg.apiKeyFile} \
-S ${cfg.secretApiKeyFile} \
${lib.concatStringsSep " " cfg.domains}
'';
};
systemd.timers.porkbun-ddns = {
description = "Porkbun dynamic DNS client";
wants = [ "network-online.target" ];
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = cfg.interval;
OnUnitActiveSec = cfg.interval;
};
};
};
}

View File

@ -0,0 +1,167 @@
{ config, lib, pkgs, ... }:
let
inherit (builtins) hashString;
inherit (lib) mkIf mkOption optionalAttrs types;
cfg = config.services.betanin;
settingsFormat = pkgs.formats.toml { };
beetsFormat = pkgs.formats.yaml { };
in
{
options.services.betanin = {
enable = lib.mkEnableOption "betanin";
package = mkOption {
description = "Package containing betanin program.";
type = types.package;
default = pkgs.betanin or (import ../../.. { inherit pkgs; }).betanin;
};
openFirewall = mkOption {
description = "Open ports in the firewall for the server.";
type = types.bool;
default = false;
};
port = mkOption {
description = "Port to access betanin on.";
type = types.port;
default = 9393;
};
user = mkOption {
description = "User that the betanin program should run under.";
type = types.str;
default = "betanin";
};
group = mkOption {
description = "Group that the betanin program should run under.";
type = types.str;
default = "betanin";
};
dataDir = mkOption {
description = "Directory to store application data.";
type = types.str;
default = "/var/lib/betanin";
};
settings = mkOption {
type = settingsFormat.type;
default = { };
example = lib.literalExpression ''
{
frontend = {
username = "foo";
password = { _secret = "/run/secrets/betaninPasswordFile"; };
};
clients = {
api_key = { _secret = "/run/secrets/betaninApiKeyFile"; };
};
server = {
num_parallel_jobs = 1;
};
}
'';
description = ''
Configuration for betanin.
Options containing secret data should be set to an attribute set
containing the attribute `_secret` - a string pointing to a file
containing the value the option should be set to.
'';
};
beets.settings = mkOption {
type = beetsFormat.type;
default = { };
description = "Configuration for beets used by betanin.";
};
};
config = mkIf cfg.enable {
services.betanin.settings = {
notifications = {
# Required to exist.
services = { };
strings = {
title = lib.mkDefault "[betanin] torrent `$name` $status";
body = lib.mkDefault "@ $time. view/use the console at http://127.0.0.1:${toString cfg.port}/$console_path";
};
};
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
systemd.services.betanin =
let
isSecret = v: lib.isAttrs v && v ? _secret && lib.isString v._secret;
sanitisedConfig = lib.mapAttrsRecursiveCond
(as: !isSecret as)
(_: v: if isSecret v then hashString "sha256" v._secret else v)
cfg.settings;
settingsFile = settingsFormat.generate "betanin.toml" sanitisedConfig;
secretPaths = lib.catAttrs "_secret" (lib.collect isSecret cfg.settings);
mkSecretReplacement = file: ''
replace-secret ${hashString "sha256" file} ${file} "${cfg.dataDir}/.config/betanin/config.toml"
'';
secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
beetsFile = beetsFormat.generate "betanin-beets.yaml" cfg.beets.settings;
in
{
description = "Betanin service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.replace-secret ];
environment = {
HOME = cfg.dataDir;
};
script = ''
ln -sf ${beetsFile} ${cfg.dataDir}/.config/beets/config.yaml
cat ${settingsFile} > ${cfg.dataDir}/.config/betanin/config.toml
${secretReplacements}
${cfg.package}/bin/betanin --port ${toString cfg.port}
'';
serviceConfig = {
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
Restart = "always";
WorkingDirectory = cfg.dataDir;
StateDirectory = mkIf (cfg.dataDir == "/var/lib/betanin") "betanin";
};
};
systemd.tmpfiles.rules = [
"d ${cfg.dataDir} 0710 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.config 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.config/betanin 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.config/beets 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.local 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.local/share 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/.local/share/betanin 0750 ${cfg.user} ${cfg.group} - -"
];
users.users = optionalAttrs (cfg.user == "betanin") {
${cfg.user} = {
isSystemUser = true;
group = cfg.group;
};
};
users.groups = optionalAttrs (cfg.group == "betanin") {
${cfg.group} = { };
};
};
}

View File

@ -0,0 +1,318 @@
{ config, lib, modulesPath, options, pkgs, ... }:
let
inherit (lib) literalExpression mkEnableOption mkIf mkOption optionalString types;
opt = options.services.koillection;
cfg = config.services.koillection;
db = cfg.database;
koillection = (pkgs.koillection or pkgs.callPackage ../../../pkgs/by-name/ko/koillection/package.nix { }).override {
dataDir = cfg.dataDir;
};
inherit (koillection.passthru) phpPackage;
in
{
options.services.koillection = {
enable = mkEnableOption "Koillection, a collection manager";
user = mkOption {
type = types.str;
default = "koillection";
description = lib.mdDoc "User Koillection runs as.";
};
group = mkOption {
type = types.str;
default = "koillection";
description = lib.mdDoc "Group Koillection runs as.";
};
hostName = lib.mkOption {
type = types.str;
default = config.networking.fqdnOrHostName;
defaultText = "config.networking.fqdnOrHostName";
example = "koillection.example.com";
description = lib.mdDoc "The hostname to serve Koillection on.";
};
dataDir = mkOption {
description = lib.mdDoc "Koillection data directory";
default = "/var/lib/koillection";
type = types.path;
};
database = {
host = mkOption {
type = types.str;
default = if db.createLocally then "/run/postgresql" else null;
defaultText = literalExpression ''
if config.${opt.database.createLocally}
then "/run/postgresql"
else null
'';
example = "192.168.12.85";
description = lib.mdDoc "Database host address or unix socket.";
};
port = mkOption {
type = types.port;
default = 5432;
description = lib.mdDoc "Database host port.";
};
name = mkOption {
type = types.str;
default = "koillection";
description = lib.mdDoc "Database name.";
};
user = mkOption {
type = types.str;
default = cfg.user;
defaultText = literalExpression "user";
description = lib.mdDoc "Database username.";
};
passwordFile = mkOption {
type = with types; nullOr path;
default = null;
example = "/run/keys/koillection-dbpassword";
description = lib.mdDoc ''
A file containing the password corresponding to
{option}`database.user`.
'';
};
createLocally = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Create the database and database user locally.";
};
};
poolConfig = mkOption {
type = with types; attrsOf (oneOf [ str int bool ]);
default = {
"pm" = "dynamic";
"pm.max_children" = 32;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 2;
"pm.max_spare_servers" = 4;
"pm.max_requests" = 500;
};
description = lib.mdDoc ''
Options for the bookstack PHP pool. See the documentation on `php-fpm.conf`
for details on configuration directives.
'';
};
nginx = mkOption {
type = types.submodule (
lib.recursiveUpdate
(import "${modulesPath}/services/web-servers/nginx/vhost-options.nix" { inherit config lib; })
{ }
);
default = { };
example = literalExpression ''
{
serverAliases = [
"koillection.''${config.networking.domain}"
];
# To enable encryption and let let's encrypt take care of certificate
forceSSL = true;
enableACME = true;
}
'';
description = lib.mdDoc ''
With this option, you can customize the nginx virtualHost settings.
'';
};
config = mkOption {
type = with types;
attrsOf
(nullOr
(either
(oneOf [ bool int port path str ])
(submodule {
options = {
_secret = mkOption {
type = nullOr str;
description = lib.mdDoc ''
The path to a file containing the value the option should
be set to in the final configuration file.
'';
};
};
})));
default = { };
example = literalExpression ''
'';
};
};
config = mkIf cfg.enable {
services.koillection.config = {
APP_ENV = "prod";
# DB_DRIVER = "pdo_pgsql";
DB_USER = db.user;
DB_PASSWORD._secret = db.passwordFile;
DB_HOST = db.host;
DB_PORT = db.port;
DB_NAME = db.name;
# FIXME
# DB_VERSION = lib.versions.major config.services.postgresql.package.version;
DB_VERSION = "15";
PHP_TZ = config.time.timeZone;
};
services.postgresql = mkIf db.createLocally {
enable = true;
ensureDatabases = [ db.name ];
ensureUsers = [{
name = db.user;
ensureDBOwnership = true;
}];
};
services.phpfpm.pools.koillection = {
inherit (cfg) user group;
inherit phpPackage;
# Copied from docker/php.ini
phpOptions = ''
max_execution_time = 200
apc.enabled = 1
apc.shm_size = 64M
apc.ttl = 7200
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.max_wasted_percentage = 10
opcache.validate_timestamps = 0
opcache.preload = ${koillection}/share/php/koillection/config/preload.php
opcache.preload_user = ${cfg.user}
expose_php = Off
session.cookie_httponly = 1
realpath_cache_size = 4096K
realpath_cache_ttle = 600
'';
settings = {
"listen.mode" = "0660";
"listen.owner" = cfg.user;
"listen.group" = cfg.group;
} // cfg.poolConfig;
};
services.nginx = {
enable = lib.mkDefault true;
virtualHosts."${cfg.hostName}" = lib.mkMerge [
cfg.nginx
{
root = lib.mkForce "${koillection}/share/php/koillection/public";
extraConfig = optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;";
locations = {
"/" = {
index = "index.php";
extraConfig = ''try_files $uri $uri/ /index.php?query_string;'';
};
"~ \.php$" = {
extraConfig = ''
try_files $uri $uri/ /index.php?$query_string;
include ${config.services.nginx.package}/conf/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_pass unix:${config.services.phpfpm.pools."koillection".socket};
${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"}
'';
};
"~ \.(js|css|gif|png|ico|jpg|jpeg)$" = {
extraConfig = "expires 365d;";
};
};
}
];
};
systemd.services.koillection-setup = {
description = "Preparation tasks for koillection";
before = [ "phpfpm-koillection.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
User = cfg.user;
WorkingDirectory = koillection;
RuntimeDirectory = "koillection/cache";
RuntimeDirectoryMode = "0700";
};
path = [ pkgs.replace-secret ];
script =
let
isSecret = v: lib.isAttrs v && v ? _secret && lib.isString v._secret;
koillectionEnvVars = lib.generators.toKeyValue {
mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
mkValueString = v: with builtins;
if isInt v then toString v
else if lib.isString v then v
else if true == v then "true"
else if false == v then "false"
else if isSecret v then hashString "sha256" v._secret
else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
};
};
secretPaths = lib.mapAttrsToList (_: v: v._secret) (lib.filterAttrs (_: isSecret) cfg.config);
mkSecretReplacement = file: ''
replace-secret ${lib.escapeShellArgs [ ( builtins.hashString "sha256" file ) file "${cfg.dataDir}/.env" ]}
'';
secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! builtins.elem v [{ } null])) cfg.config;
koillectionEnv = pkgs.writeText "koillection.env" (koillectionEnvVars filteredConfig);
in
''
# error handling
set -euo pipefail
# set permissions
umask 077
# create .env file
install -T -m 0600 -o ${cfg.user} ${koillectionEnv} "${cfg.dataDir}/.env"
${secretReplacements}
# prepend `base64:` if it does not exist in APP_KEY
if ! grep 'APP_KEY=base64:' "${cfg.dataDir}/.env" >/dev/null; then
sed -i 's/APP_KEY=/APP_KEY=base64:/' "${cfg.dataDir}/.env"
fi
# migrate db
${lib.getExe phpPackage} ${koillection}/share/php/koillection/bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration
# dump translations
# TODO: Might need pointing somewhere else.
${lib.getExe phpPackage} ${koillection}/share/php/koillection/bin/console app:translations:dump
'';
};
systemd.tmpfiles.rules = [
"d ${cfg.dataDir} 0710 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/public 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/public/uploads 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/var 0700 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/var/cache 0700 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/var/cache/prod 0700 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/var/logs 0700 ${cfg.user} ${cfg.group} - -"
];
users = {
users = mkIf (cfg.user == "koillection") {
koillection = {
inherit (cfg) group;
isSystemUser = true;
};
"${config.services.nginx.user}".extraGroups = [ cfg.group ];
};
groups = mkIf (cfg.group == "koillection") {
koillection = { };
};
};
};
}

View File

@ -0,0 +1,68 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.dunst;
in
{
options.services.dunst = {
enable = mkEnableOption "dunst";
package = mkOption {
type = types.package;
default = pkgs.dunst;
};
settings = mkOption {
type = types.nullOr types.attrs;
default = null;
description = ''
Configuration set alternative to <literal>configFile</literal>.
'';
example = {
global = {
monitor = 0;
follow = "none";
};
};
};
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = "Path to dunstrc configuration file.";
};
};
config = mkIf cfg.enable {
assertions = [
{
assertion = !(cfg.settings != null && cfg.configFile != null);
message = "only one of services.dunst.settings or .configFile may be specified";
}
];
environment.systemPackages = [ (getOutput "man" cfg.package) ];
systemd.user.services.dunst = {
description = "Dunst notification daemon";
documentation = [ "man:dunst(1)" ];
after = [ "graphical-session-pre.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
Type = "dbus";
BusName = "org.freedesktop.Notifications";
ExecStart =
let
config =
if (cfg.settings != null)
then pkgs.writeText "dunstrc" (generators.toINI { } cfg.settings)
else if (cfg.configFile != null)
then cfg.configFile
else null;
in
"${cfg.package}/bin/dunst ${optionalString (config != null) "-conf ${config}"}";
};
};
};
}

View File

@ -2,7 +2,7 @@
# case where you don't want to add the whole NUR namespace to your # case where you don't want to add the whole NUR namespace to your
# configuration. # configuration.
self: super: _self: super:
let let

View File

@ -1,4 +1,4 @@
{ stdenv { lib
, fetchFromGitHub , fetchFromGitHub
, python3Packages , python3Packages
@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
doCheck = false; doCheck = false;
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://github.com/Prior99/mopidy-subidy"; homepage = "https://github.com/Prior99/mopidy-subidy";
description = "Mopidy extension for playing music from Subsonic servers"; description = "Mopidy extension for playing music from Subsonic servers";
license = licenses.bsd3; license = licenses.bsd3;

View File

@ -21,9 +21,10 @@ let
]; ];
}; };
generateCommon = lib.makeOverridable ({ generateCommon = lib.makeOverridable (
common ? ./manual-common-packages.nix { common ? ./manual-common-packages.nix
}: let }:
let
imported = import common { imported = import common {
inherit (self) callPackage; inherit (self) callPackage;
@ -35,7 +36,10 @@ let
jetbrainsPlugins = super // overrides; jetbrainsPlugins = super // overrides;
in jetbrainsPlugins // { inherit commonBuild; }); in
jetbrainsPlugins // { inherit commonBuild; }
);
in generateCommon { } in
generateCommon { }

View File

@ -9,9 +9,10 @@ let
jetbrainsPlatforms = [ "idea-community" "idea-ultimate" ]; jetbrainsPlatforms = [ "idea-community" "idea-ultimate" ];
}; };
generateIdea = lib.makeOverridable ({ generateIdea = lib.makeOverridable (
idea ? ./manual-idea-packages.nix { idea ? ./manual-idea-packages.nix
}: let }:
let
imported = import idea { imported = import idea {
inherit (self) callPackage; inherit (self) callPackage;
@ -23,7 +24,10 @@ let
ideaPlugins = super // overrides; ideaPlugins = super // overrides;
in ideaPlugins // { inherit ideaBuild; }); in
ideaPlugins // { inherit ideaBuild; }
);
in generateIdea { } in
generateIdea { }

View File

@ -1,13 +0,0 @@
diff --git a/include/components/types.hpp b/include/components/types.hpp
index 8125d4b..c435f4a 100644
--- a/include/components/types.hpp
+++ b/include/components/types.hpp
@@ -57,7 +57,7 @@ enum class controltag {
R, // Reset all open tags (B, F, T, o, u). Used at module edges
};
-enum class mousebtn { NONE = 0, LEFT, MIDDLE, RIGHT, SCROLL_UP, SCROLL_DOWN, DOUBLE_LEFT, DOUBLE_MIDDLE, DOUBLE_RIGHT };
+enum class mousebtn { NONE = 0, LEFT, MIDDLE, RIGHT, SCROLL_UP, SCROLL_DOWN, DOUBLE_LEFT, DOUBLE_MIDDLE, DOUBLE_RIGHT, EXTRA };
enum class strut {
LEFT = 0,

View File

@ -1,44 +0,0 @@
{ qtbase, go, goModules }:
{
pname = "protonmail-bridge";
tags = "pmapi_prod";
QT_PKG_CONFIG = "true";
QT_VERSION = qtbase.version;
nativeBuildInputs = [
goModules.qt
qtbase
];
buildPhase = ''
cp cmd/Desktop-Bridge/main.go .
## Enable writable vendor
GOMODULE=gomodule
mv vendor $GOMODULE-vendor
mkdir vendor
readarray -t files < <(find $GOMODULE-vendor/ -type f | grep -v github.com/therecipe/qt | sed "s/$GOMODULE-//")
for f in "''${files[@]}"; do
mkdir -p $(dirname $f)
cp -s $PWD/$GOMODULE-$f $f
done
unset GOMODULE
##
mkdir -p vendor/github.com/therecipe
cp -r gomodule-vendor/github.com/therecipe/qt vendor/github.com/therecipe/qt
chmod -R a+w vendor/github.com/therecipe/qt
# Add vendor to GOPATH because fuck
mkdir -p $GOPATH
ln -s $PWD/vendor $GOPATH/src
qtsetup check
GOROOT=${go}/share/go qtdeploy "''${buildFlagsArray[@]}" build desktop
'';
meta.broken = true;
}

View File

@ -1,69 +0,0 @@
{ stdenv
, fetchFromGitHub
, buildGoModule
, go
, goModules
, libsecret
, pkg-config
, qtbase
, qtdoc
}:
let
builder =
{ pname
, tags
, ...
}@args:
buildGoModule (stdenv.lib.recursiveUpdate args rec {
inherit pname;
version = "1.5.6";
src = fetchFromGitHub {
owner = "ProtonMail";
repo = "proton-bridge";
rev = "br-${version}";
sha256 = "1na8min9cmn82lpad58abw6837k303fr09l6cvzswaxs73f231ig";
};
vendorSha256 = "1219xa1347877bfhnid15y6w9s4hf1czbrmll2iha4gpsmg066bb";
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
pkg-config
];
buildInputs = (args.buildInputs or [ ]) ++ [
libsecret
];
buildFlagsArray =
let
t = "github.com/ProtonMail/proton-bridge/pkg/constants";
in
[
"-tags=${tags}"
''
-ldflags=
-X ${t}.Version=${version}
-X ${t}.Revision=unknown
-X ${t}.BuildDate=unknown
''
];
meta = with stdenv.lib; {
description = "Integrate ProtonMail paid account with any program that supports IMAP and SMTP";
homepage = "https://protonmail.com";
license = licenses.gpl3;
plaforms = platforms.x86_64;
};
});
in
{
protonmail-bridge = builder (import ./app.nix { inherit qtbase go goModules; });
protonmail-bridge-headless = builder (import ./headless.nix { });
}

View File

@ -1,768 +0,0 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "github.com/0xAX/notificator";
fetch = {
type = "git";
url = "https://github.com/0xAX/notificator";
rev = "3962a5ea8da1";
sha256 = "1lkn6mmghsd4a2h3na8x0r5xgckjn3c0v5vsp6bzhl2k1zxb640p";
};
}
{
goPackagePath = "github.com/BurntSushi/toml";
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "v0.3.1";
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
};
}
{
goPackagePath = "github.com/ProtonMail/go-appdir";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-appdir";
rev = "v1.1.0";
sha256 = "1pl43h5f79g2r0z98glrxasbb69yzigpd85csl7zmyhg63vzbkqw";
};
}
{
goPackagePath = "github.com/ProtonMail/go-apple-mobileconfig";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-apple-mobileconfig";
rev = "7ea9927a11f6";
sha256 = "1vlm9m54xmq0r8bhgwzdmxnxf97sz01lgi6lw8pcjbljmzb9l75f";
};
}
{
goPackagePath = "github.com/ProtonMail/go-autostart";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-autostart";
rev = "c5272053443a";
sha256 = "0cjnsbqrkhlapma2070cqcxr4wkvv55is3byqn8zmkzi0l3217nf";
};
}
{
goPackagePath = "github.com/ProtonMail/go-imap-id";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-imap-id";
rev = "ed0baee567ee";
sha256 = "1kljw64pi3kabbd3gi7zy9wqzaypsxrdi5mfwf6akl438bq44jm4";
};
}
{
goPackagePath = "github.com/ProtonMail/go-mime";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-mime";
rev = "09454e3dbe72";
sha256 = "1ncca6191nf0lsfhhhdxdbhxg3b2q1cmvjhq2428g0b50dlfkrnn";
};
}
{
goPackagePath = "github.com/ProtonMail/go-vcard";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-vcard";
rev = "33aaa0a0c8a5";
sha256 = "19cify6lxd2yirqc92yfgzvn5qlc8a01a2kxjdg83jv0lx6ps26q";
};
}
{
goPackagePath = "github.com/ProtonMail/gopenpgp";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/gopenpgp";
rev = "d398098113ed";
sha256 = "0ry69mymb6q00g4khdbzllrz7b44zhxvdzavhz6936n9dzsay13v";
};
}
{
goPackagePath = "github.com/abiosoft/ishell";
fetch = {
type = "git";
url = "https://github.com/abiosoft/ishell";
rev = "v2.0.0";
sha256 = "11r6l133aaz6khm60x0a410ckpzvqzv2az7z5b088c2vddnp538r";
};
}
{
goPackagePath = "github.com/abiosoft/readline";
fetch = {
type = "git";
url = "https://github.com/abiosoft/readline";
rev = "155bce2042db";
sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r";
};
}
{
goPackagePath = "github.com/allan-simon/go-singleinstance";
fetch = {
type = "git";
url = "https://github.com/allan-simon/go-singleinstance";
rev = "79edcfdc2dfc";
sha256 = "06xrxifz5cd98iji7v46zq9xf63zf77sqbr72w1ics3s2hyfkpjz";
};
}
{
goPackagePath = "github.com/andybalholm/cascadia";
fetch = {
type = "git";
url = "https://github.com/andybalholm/cascadia";
rev = "v1.1.0";
sha256 = "1slh68ysbixc21gbni4msrgq971n59gnn2x3ys196jd413a6qf0f";
};
}
{
goPackagePath = "github.com/cention-sany/utf7";
fetch = {
type = "git";
url = "https://github.com/cention-sany/utf7";
rev = "26cad61bd60a";
sha256 = "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm";
};
}
{
goPackagePath = "github.com/certifi/gocertifi";
fetch = {
type = "git";
url = "https://github.com/certifi/gocertifi";
rev = "c7c1fbc02894";
sha256 = "018bsy1vclsdk2kns9f37giabibg3kggk3vpj0yr3dv0k72gzybk";
};
}
{
goPackagePath = "github.com/chzyer/logex";
fetch = {
type = "git";
url = "https://github.com/chzyer/logex";
rev = "v1.1.10";
sha256 = "08pbjj3wx9acavlwyr055isa8a5hnmllgdv5k6ra60l5y1brmlq4";
};
}
{
goPackagePath = "github.com/chzyer/test";
fetch = {
type = "git";
url = "https://github.com/chzyer/test";
rev = "a1ea475d72b1";
sha256 = "0rns2aqk22i9xsgyap0pq8wi4cfaxsri4d9q6xxhhyma8jjsnj2k";
};
}
{
goPackagePath = "github.com/cpuguy83/go-md2man";
fetch = {
type = "git";
url = "https://github.com/cpuguy83/go-md2man";
rev = "f79a8a8ca69d";
sha256 = "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv";
};
}
{
goPackagePath = "github.com/cucumber/godog";
fetch = {
type = "git";
url = "https://github.com/cucumber/godog";
rev = "v0.8.1";
sha256 = "00bplmx3r7mjaxyf1ky1mh9ps17p78656xjpkqf3wkfhchssm3ny";
};
}
{
goPackagePath = "github.com/danieljoos/wincred";
fetch = {
type = "git";
url = "https://github.com/danieljoos/wincred";
rev = "v1.0.2";
sha256 = "1ym8mygjrf3rw1qka9irw76b2yisr2l5pq2w581s40yldnbfq4lc";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/docker/docker-credential-helpers";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/docker-credential-helpers";
rev = "0326642117d8";
sha256 = "02qfw1w6v14kfjlc6slg7hvv2raan5263ivymdn2pjm3hdcgs7lh";
};
}
{
goPackagePath = "github.com/emersion/go-imap";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-imap";
rev = "0e686f0e855f";
sha256 = "1gijqy3wq6lbqbrljl4l12w5snji3c9fpvywhk9wyd56mdsy7wyr";
};
}
{
goPackagePath = "github.com/emersion/go-imap-appendlimit";
fetch = {
type = "git";
url = "https://github.com/emersion/go-imap-appendlimit";
rev = "beeb382f2a42";
sha256 = "089kgnryvignl9z5c3fi5bxyc3jl7jgmz6ykhk73n8nqp8kgi43b";
};
}
{
goPackagePath = "github.com/emersion/go-imap-idle";
fetch = {
type = "git";
url = "https://github.com/emersion/go-imap-idle";
rev = "e03ba1e0ed89";
sha256 = "0yavndwl9g3q4j97659kq1mpyc22q27vq0lg0f7v704irmbbkanp";
};
}
{
goPackagePath = "github.com/emersion/go-imap-move";
fetch = {
type = "git";
url = "https://github.com/emersion/go-imap-move";
rev = "88aef42b0f1d";
sha256 = "006l76qxkf7gnb0kc7r9xmxg7nmmwfw8sf5lsg05093rwcg232f4";
};
}
{
goPackagePath = "github.com/emersion/go-imap-quota";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-imap-quota";
rev = "20f0ba8904de";
sha256 = "1qvhzsm0wjg0ndk963l9wcmdiyacbrmslhvmg1zhj3k9np41ravv";
};
}
{
goPackagePath = "github.com/emersion/go-imap-specialuse";
fetch = {
type = "git";
url = "https://github.com/emersion/go-imap-specialuse";
rev = "ba031ced6a62";
sha256 = "0f8rxgr4z5a7nphhz6vnsqgjr04wwrvdcnsxp5rl2lh60yvj3wig";
};
}
{
goPackagePath = "github.com/emersion/go-imap-unselect";
fetch = {
type = "git";
url = "https://github.com/emersion/go-imap-unselect";
rev = "1e6dc73ac8fe";
sha256 = "0higgjn41ksgsl11zphljbz690i17swzhfkij51dghjnj9q287ff";
};
}
{
goPackagePath = "github.com/emersion/go-sasl";
fetch = {
type = "git";
url = "https://github.com/emersion/go-sasl";
rev = "430746ea8b9b";
sha256 = "11rhbayr1w3zhpl3q7gd6i15qz97pk0k4xs0n39m91hrgl1fj03c";
};
}
{
goPackagePath = "github.com/emersion/go-smtp";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/go-smtp";
rev = "8261df20d309";
sha256 = "0n6k7xbffzsxfjcc74q21nh8dp5s44v3xh9hrsi7a147n8qm83iq";
};
}
{
goPackagePath = "github.com/emersion/go-textwrapper";
fetch = {
type = "git";
url = "https://github.com/emersion/go-textwrapper";
rev = "d0e65e56babe";
sha256 = "1nw8qpjjbpkz49wd19yg2qsln1dmdfxi83wp2aa819cv6xxf2y7l";
};
}
{
goPackagePath = "github.com/emersion/go-vcard";
fetch = {
type = "git";
url = "https://github.com/emersion/go-vcard";
rev = "8856043f13c5";
sha256 = "1dzw5awqbkf2nc09ynmn3zlylj4n1na96rziv5z8p42b1bmbklwk";
};
}
{
goPackagePath = "github.com/fatih/color";
fetch = {
type = "git";
url = "https://github.com/fatih/color";
rev = "v1.9.0";
sha256 = "086z8ssmr1fn9ba4mqnw7pnccfpys6l5yfhvycv1gdrsk7n27mvs";
};
}
{
goPackagePath = "github.com/flynn-archive/go-shlex";
fetch = {
type = "git";
url = "https://github.com/flynn-archive/go-shlex";
rev = "3f9db97f8568";
sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
};
}
{
goPackagePath = "github.com/getsentry/raven-go";
fetch = {
type = "git";
url = "https://github.com/getsentry/raven-go";
rev = "v0.2.0";
sha256 = "0imfwmsb72168fqandf2lxhzhngf2flxhzaar8hcnnfjv2a291lf";
};
}
{
goPackagePath = "github.com/go-resty/resty";
fetch = {
type = "git";
url = "https://github.com/go-resty/resty";
rev = "v2.2.0";
sha256 = "0khfcq07kq6z2vq0i42an8fd16pl1rc980rlf7c1x4szsf8qcajm";
};
}
{
goPackagePath = "github.com/go-test/deep";
fetch = {
type = "git";
url = "https://github.com/go-test/deep";
rev = "v1.0.2";
sha256 = "1dax5bbp95lvkns0jjwf6l3rqj5q4xxd37whpqa8nyyjcakdxnqd";
};
}
{
goPackagePath = "github.com/gogs/chardet";
fetch = {
type = "git";
url = "https://github.com/gogs/chardet";
rev = "2404f7772561";
sha256 = "1dki2pqhnzcmzlqrq4d4jwknnjxm82xqnmizjjdblb6h98ans1cd";
};
}
{
goPackagePath = "github.com/golang/mock";
fetch = {
type = "git";
url = "https://github.com/golang/mock";
rev = "v1.4.3";
sha256 = "1p37xnja1dgq5ykx24n7wincwz2gahjh71b95p8vpw7ss2g8j8wx";
};
}
{
goPackagePath = "github.com/google/go-cmp";
fetch = {
type = "git";
url = "https://github.com/google/go-cmp";
rev = "v0.4.0";
sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
};
}
{
goPackagePath = "github.com/gopherjs/gopherjs";
fetch = {
type = "git";
url = "https://github.com/gopherjs/gopherjs";
rev = "3e4dfb77656c";
sha256 = "0bmapn4dskpr4a79kcr5irkw19px4a71ls5gspffxiva7sapgyvw";
};
}
{
goPackagePath = "github.com/hashicorp/errwrap";
fetch = {
type = "git";
url = "https://github.com/hashicorp/errwrap";
rev = "v1.0.0";
sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
};
}
{
goPackagePath = "github.com/hashicorp/go-multierror";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-multierror";
rev = "v1.0.0";
sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
};
}
{
goPackagePath = "github.com/jameskeane/bcrypt";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/bcrypt";
rev = "7509ea014998";
sha256 = "12xi8i4sb6q4h4wd6w1phqpzxpff5c629ard8cnkjp7qmznvcc20";
};
}
{
goPackagePath = "github.com/jaytaylor/html2text";
fetch = {
type = "git";
url = "https://github.com/jaytaylor/html2text";
rev = "61d9dc4d7195";
sha256 = "19cn6k8anx8w2ar8kwza6vlijim2xbj4hqxy1m79y0m386b2hapl";
};
}
{
goPackagePath = "github.com/jhillyerd/enmime";
fetch = {
type = "git";
url = "https://github.com/jhillyerd/enmime";
rev = "v0.8.0";
sha256 = "1wzz3hzf8bnn0wbxznzrfdrs4x7qxdgqpf1xirlsisq8z0r8hn9z";
};
}
{
goPackagePath = "github.com/kardianos/osext";
fetch = {
type = "git";
url = "https://github.com/kardianos/osext";
rev = "2bc1f35cddc0";
sha256 = "1pvrbrvmrf4mx0fxbfaphbzgqgwn8v6lkfk2vyrs0znxrs1xyc5r";
};
}
{
goPackagePath = "github.com/keybase/go-keychain";
fetch = {
type = "git";
url = "https://github.com/keybase/go-keychain";
rev = "86d4642e4ce2";
sha256 = "05prxx2bbcqwk5lwk1gdqsrwy256mp4k4im316h9ar3sh42frha6";
};
}
{
goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
fetch = {
type = "git";
url = "https://github.com/konsorten/go-windows-terminal-sequences";
rev = "v1.0.2";
sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
};
}
{
goPackagePath = "github.com/logrusorgru/aurora";
fetch = {
type = "git";
url = "https://github.com/logrusorgru/aurora";
rev = "e9ef32dff381";
sha256 = "19laya9dav84miw3d0c9vgiv577wzrhydv5mdiii59sgbd780hhq";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "v0.1.4";
sha256 = "1yxcz08kminqr1221zxpibnbzfcgs3fafin0z9zqb3gqvf74jywz";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "v0.0.11";
sha256 = "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali";
};
}
{
goPackagePath = "github.com/mattn/go-runewidth";
fetch = {
type = "git";
url = "https://github.com/mattn/go-runewidth";
rev = "v0.0.4";
sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
};
}
{
goPackagePath = "github.com/miekg/dns";
fetch = {
type = "git";
url = "https://github.com/miekg/dns";
rev = "v1.1.29";
sha256 = "1bkk930cg46w1akii60bqqkgy9h9axlcfnqk252r6w8qqpf4z5hh";
};
}
{
goPackagePath = "github.com/myesui/uuid";
fetch = {
type = "git";
url = "https://github.com/myesui/uuid";
rev = "v1.0.0";
sha256 = "1si8cfjin9dyzprnyvfk8pckbsvg97hzs9hffz91505lpidlb9bc";
};
}
{
goPackagePath = "github.com/nsf/jsondiff";
fetch = {
type = "git";
url = "https://github.com/nsf/jsondiff";
rev = "8443391ee9b6";
sha256 = "1zxk0mzil5x197zaqjld403f3vvzilgvciq1z62zl1c1vbwbpwch";
};
}
{
goPackagePath = "github.com/olekukonko/tablewriter";
fetch = {
type = "git";
url = "https://github.com/olekukonko/tablewriter";
rev = "v0.0.1";
sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "v0.9.1";
sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/russross/blackfriday";
fetch = {
type = "git";
url = "https://github.com/russross/blackfriday";
rev = "v2.0.1";
sha256 = "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j";
};
}
{
goPackagePath = "github.com/saintfish/chardet";
fetch = {
type = "git";
url = "https://github.com/saintfish/chardet";
rev = "3af4cd4741ca";
sha256 = "0czh50md64k9lbllayq0asir3174saxb88yzxrh640yhfxd98pcb";
};
}
{
goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
fetch = {
type = "git";
url = "https://github.com/shurcooL/sanitized_anchor_name";
rev = "v1.0.0";
sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "v1.4.2";
sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
};
}
{
goPackagePath = "github.com/skratchdot/open-golang";
fetch = {
type = "git";
url = "https://github.com/skratchdot/open-golang";
rev = "eef842397966";
sha256 = "0n6387csjn024db8wldadsiy8ljz7lk7szl6ls28fcbkax7rw86y";
};
}
{
goPackagePath = "github.com/ssor/bom";
fetch = {
type = "git";
url = "https://github.com/ssor/bom";
rev = "6386211fdfcf";
sha256 = "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld";
};
}
{
goPackagePath = "github.com/stretchr/objx";
fetch = {
type = "git";
url = "https://github.com/stretchr/objx";
rev = "v0.2.0";
sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.5.1";
sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
};
}
{
goPackagePath = "github.com/therecipe/qt";
fetch = {
type = "git";
url = "https://github.com/therecipe/qt";
rev = "5074eb6d8c41";
sha256 = "1zpil531gjravag76p1032c7wizpskzanymdpc74rs8ixckws9zi";
};
}
{
goPackagePath = "github.com/twinj/uuid";
fetch = {
type = "git";
url = "https://github.com/twinj/uuid";
rev = "v1.0.0";
sha256 = "1si8cfjin9dyzprnyvfk8pckbsvg97hzs9hffz91505lpidlb9bc";
};
}
{
goPackagePath = "github.com/urfave/cli";
fetch = {
type = "git";
url = "https://github.com/urfave/cli";
rev = "v1.22.3";
sha256 = "1lz6i6h4mcb4zqclj2lgy34hwpj1bpkxwzkgrqikfsd8pp9wyq9q";
};
}
{
goPackagePath = "go.etcd.io/bbolt";
fetch = {
type = "git";
url = "https://github.com/etcd-io/bbolt";
rev = "v1.3.3";
sha256 = "0dn0zngks9xiz0rrrb3911f73ghl64z84jsmzai2yfmzqr7cdkqc";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://github.com/ProtonMail/crypto";
rev = "d3d8a14a4d4f";
sha256 = "1w5q5snw1nqsdwqffvk0rlmsqx5b6mpfi45adr2j4lzzpw1ab03a";
};
}
{
goPackagePath = "golang.org/x/mod";
fetch = {
type = "git";
url = "https://go.googlesource.com/mod";
rev = "c90efee705ee";
sha256 = "0i5md645rmcy5z5ij9ng428k9rz4g3k1kjy3blsq1264rn426gdf";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "244492dfa37a";
sha256 = "0vm2q44phz4vjnzq9428rjk58c82fxf003whczp7c9ryn9fazh7s";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "112230192c58";
sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "33540a1f6037";
sha256 = "0fjcv0vzvi6za0b4xmnk3932pr9f9gczzf03y0kgq3ry9rqg169y";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "v0.3.2";
sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "49a3e744a425";
sha256 = "0xx4gv9wpv36crk7gv7imf5vzzs2mz7zla2q2jkck3xnzff8fw3v";
};
}
{
goPackagePath = "golang.org/x/xerrors";
fetch = {
type = "git";
url = "https://go.googlesource.com/xerrors";
rev = "9bdfabe68543";
sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
};
}
{
goPackagePath = "gopkg.in/check.v1";
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "20d25e280405";
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
};
}
{
goPackagePath = "gopkg.in/stretchr/testify.v1";
fetch = {
type = "git";
url = "https://gopkg.in/stretchr/testify.v1";
rev = "v1.2.2";
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "v2.2.2";
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
};
}
{
goPackagePath = "rsc.io/quote";
fetch = {
type = "git";
url = "https://github.com/rsc/quote";
rev = "v3.1.0";
sha256 = "0nvv97hwwrl1mx5gzsbdm1ndnwpg3m7i2jb10ig9wily7zmvki0i";
};
}
{
goPackagePath = "rsc.io/sampler";
fetch = {
type = "git";
url = "https://github.com/rsc/sampler";
rev = "v1.3.0";
sha256 = "0byxk2ynba50py805kcvbvjzh59l1r308i1xgyzpw6lff4xx9xjh";
};
}
]

View File

@ -1,30 +0,0 @@
{}:
rec {
pname = "protonmail-bridge-headless";
tags = "pmapi_prod nogui";
# FIXME: There's something fucky going on in the buildFlagsArray
# substitution. I shouldn't need to do this.
buildPhase =
let
t = "github.com/ProtonMail/proton-bridge/pkg/constants";
in
''
runHook preBuild
go install \
-tags="${tags}" \
-ldflags="-X ${t}.Version=1.3.2 -X ${t}.Revision=unknown -X ${t}.BuildDate=unknown" \
cmd/Desktop-Bridge/main.go
mv $GOPATH/bin/main $GOPATH/bin/Desktop-Bridge
runHook postBuild
'';
# Fix up name.
postInstall = ''
mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge
'';
}

View File

@ -1,62 +0,0 @@
diff --git a/cardboard/meson.build b/cardboard/meson.build
index b236f71..a90f230 100644
--- a/cardboard/meson.build
+++ b/cardboard/meson.build
@@ -4,24 +4,15 @@ xkbcommon = dependency('xkbcommon')
xcb = dependency('xcb', required: get_option('xwayland'))
wlroots_version = '>=0.10.0'
-wlroots_proj = subproject(
+wlroots = dependency(
'wlroots',
- default_options: ['examples=false'],
required: true,
version: wlroots_version,
)
-wlroots = wlroots_proj.get_variable('wlroots')
-wlroots_conf = wlroots_proj.get_variable('conf_data')
-wlroots_has_xwayland = wlroots_conf.get('WLR_HAS_XWAYLAND') == 1
+have_xwayland = xcb.found()
-if get_option('xwayland').enabled() and not wlroots_has_xwayland
- error('Cannot enable Xwayland support in cardboard: wlroots has been built without Xwayland support')
-endif
-have_xwayland = xcb.found() and wlroots_has_xwayland
-
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
conf_data = configuration_data()
conf_data.set10('HAVE_XWAYLAND', have_xwayland)
diff --git a/cutter/meson.build b/cutter/meson.build
index f1260a4..1485f37 100644
--- a/cutter/meson.build
+++ b/cutter/meson.build
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-only
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
executable(
'cutter',
diff --git a/libcardboard/meson.build b/libcardboard/meson.build
index 89698fe..3ac8115 100644
--- a/libcardboard/meson.build
+++ b/libcardboard/meson.build
@@ -1,11 +1,9 @@
# SPDX-License-Identifier: GPL-3.0-only
libcardboard_inc = include_directories('include')
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
-cereal_proj = subproject('cereal', required: true)
-cereal = cereal_proj.get_variable('cereal_dep')
+cereal = dependency('cereal', required: true, method: 'cmake')
sources = files(
'src/command_protocol.cpp',

View File

@ -1,71 +0,0 @@
{ stdenv
, fetchFromGitLab
, fetchzip
, cereal
, cmake
, git
, libGL
, libX11
, libinput
, libxkbcommon
, mesa
, meson
, ninja
, pixman
, pkg-config
, tl-expected
, wayland
, wayland-protocols
, wlroots
, xwayland
}:
stdenv.mkDerivation rec {
pname = "cardboard";
version = "20210120.g7b15613";
src = fetchFromGitLab {
owner = "cardboardwm";
repo = "cardboard";
rev = "7b15613e6e1222a6a83d69a2e5da2810dfb45522";
sha256 = "044sb0lv1gcywpdncvlv7npxvbsqcc1mwpk0f6i73dinchdz7gmq";
};
patches = [
./0001-use-system-dependencies.patch
];
# CMake likes to own the configurePhase, but we only need it for dependency
# discovery. Remove it.
configurePhase = "mesonConfigurePhase";
nativeBuildInputs = [
cmake
meson
ninja
pkg-config
];
buildInputs = [
cereal
libGL
libX11
libinput
libxkbcommon
pixman
tl-expected
wayland
wayland-protocols
wlroots
];
passthru.providedSessions = [ "cardboard" ];
meta = {
description = "Scrollable tiling Wayland compositor designed with laptops in mind";
homepage = "https://gitlab.com/cardboardwm/cardboard";
license = stdenv.lib.licenses.gpl3;
platforms = wlroots.meta.platforms;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv { lib
, fetchFromGitHub , fetchFromGitHub
, python3Packages , python3Packages
@ -20,7 +20,12 @@ python3Packages.buildPythonApplication rec {
pyyaml pyyaml
]; ];
meta = with stdenv.lib; { patchPhase = ''
substituteInPlace setup.py \
--replace PROJECTVERSION "${version}"
'';
meta = with lib; {
description = "Fan controller for AMD graphics cards running the amdgpu driver on Linux"; description = "Fan controller for AMD graphics cards running the amdgpu driver on Linux";
homepage = "https://github.com/chestm007/amdgpu-fan"; homepage = "https://github.com/chestm007/amdgpu-fan";
license = licenses.gpl2; license = licenses.gpl2;

View File

@ -0,0 +1,82 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, python3
, beets
}:
let
version = "0.5.6";
src = fetchFromGitHub {
owner = "sentriz";
repo = "betanin";
rev = "v${version}";
hash = "sha256-8JzZfxXzey6vGwsnpXTea/gTMFwmeeavimn5njHIEg0=";
};
client = buildNpmPackage {
pname = "betanin_client";
inherit version src;
sourceRoot = "${src.name}/betanin_client";
npmDepsHash = "sha256-VkCQKpkDCTDejv8eRAN2Zfbq8TlWLdtqVJU3fo9hQrI=";
NODE_ENV = "production";
NODE_OPTIONS = "--openssl-legacy-provider";
npmInstallFlags = [ "--include=dev" ];
installPhase = ''
cp -r dist $out
'';
};
in
python3.pkgs.buildPythonApplication {
pname = "betanin";
inherit version src;
format = "pyproject";
patches = [ ./paths.patch ];
postPatch = ''
export clientDistDir="${client}"
export libPrefix="${python3.libPrefix}"
substituteAllInPlace betanin/paths.py
# pythonRelaxDepsHook doesn't work
sed -i 's/Flask <3.0.0/Flask/' pyproject.toml
'';
build-system = with python3.pkgs; [ setuptools ];
dependencies = (with python3.pkgs; [
apprise
alembic
click
flask
flask-cors
flask-jwt-extended
flask_migrate
flask-restx
flask-socketio
flask-sqlalchemy
gevent
pyxdg
loguru
ptyprocess
python-engineio
python-socketio
sqlalchemy
sqlalchemy-utils
toml
]) ++ [
beets
];
meta = {
homepage = "https://github.com/sentriz/betanin";
description = "beets based mitm of your torrent client and music player";
license = lib.licenses.gpl3Only;
maintainers = [ ];
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,24 @@
--- a/betanin/paths.py
+++ b/betanin/paths.py
@@ -19,11 +19,3 @@
BEETS_DIR = xdg.BaseDirectory.save_config_path("beets")
-CLIENT_DIST_DIR = _first_existing(
- os.path.join(os.getcwd(), "betanin_client", "dist"),
- os.path.join(site.getusersitepackages(), "betanin_client", "dist"),
- os.path.join(site.getsitepackages()[0], "betanin_client", "dist"),
-)
-MIGRATIONS_DIR = _first_existing(
- os.path.join(os.getcwd(), "betanin_migrations"),
- os.path.join(site.getusersitepackages(), "betanin_migrations"),
- os.path.join(site.getsitepackages()[0], "betanin_migrations"),
-)
+CLIENT_DIST_DIR = "@clientDistDir@"
+MIGRATIONS_DIR = "@out@/lib/@libPrefix@/site-packages/betanin_migrations"
@@ -38,6 +38,2 @@
CONFIG_PATH = os.path.join(CONFIG_DIR, "config.toml")
-VERSION_PATH = _first_existing(
- os.path.join(os.getcwd(), "betanin/version.txt"),
- os.path.join(site.getusersitepackages(), "betanin", "version.txt"),
- os.path.join(site.getsitepackages()[0], "betanin", "version.txt"),
-)
+VERSION_PATH = "@out@/lib/@libPrefix@/site-packages/betanin/version.txt"

View File

@ -0,0 +1,94 @@
{ lib
, stdenv
, fetchurl
, writeScriptBin
, appimageTools
, copyDesktopItems
, makeDesktopItem
}:
let
pname = "cura5";
version = "5.6.0";
name = "${pname}-${version}";
cura5 = appimageTools.wrapType2 {
inherit pname version;
src = fetchurl {
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/Ultimaker-Cura-${version}-linux-X64.AppImage";
hash = "sha256-EHiWoNpLKHPzv6rZrtNgEr7y//iVcRYeV/TaCn8QpEA=";
};
extraPkgs = _: [ ];
};
script = writeScriptBin pname ''
#!${stdenv.shell}
# AppImage version of Cura loses current working directory and treats all paths relateive to $HOME.
# So we convert each of the files passed as argument to an absolute path.
# This fixes use cases like `cd /path/to/my/files; cura mymodel.stl anothermodel.stl`.
args=()
for a in "$@"; do
if [ -e "$a" ]; then
a="$(realpath "$a")"
fi
args+=("$a")
done
QT_QPA_PLATFORM=xcb exec "${cura5}/bin/cura5" "''${args[@]}"
'';
in
stdenv.mkDerivation rec {
inherit pname version;
dontUnpack = true;
nativeBuildInputs = [ copyDesktopItems ];
desktopItems = [
# Based on upstream.
# https://github.com/Ultimaker/Cura/blob/main/packaging/AppImage/cura.desktop.jinja
(makeDesktopItem {
name = "cura";
desktopName = "UltiMaker Cura";
genericName = "3D Printing Software";
comment = meta.longDescription;
exec = "cura5";
icon = "cura-icon";
terminal = false;
type = "Application";
mimeTypes = [
"model/stl"
"application/vnd.ms-3mfdocument"
"application/prs.wavefront-obj"
"image/bmp"
"image/gif"
"image/jpeg"
"image/png"
"text/x-gcode"
"application/x-amf"
"application/x-ply"
"application/x-ctm"
"model/vnd.collada+xml"
"model/gltf-binary"
"model/gltf+json"
"model/vnd.collada+xml+zip"
];
categories = [ "Graphics" ];
keywords = [ "3D" "Printing" ];
})
];
# TODO: Extract cura-icon from AppImage source.
installPhase = ''
mkdir -p $out/bin
cp ${script}/bin/cura5 $out/bin/cura5
runHook postInstall
'';
meta = {
description = "3D printing software";
homepage = "https://github.com/ultimaker/cura";
longDescription = ''
Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great.
'';
license = lib.licenses.lgpl3;
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,25 @@
*** a/src/Kernel.php
--- b/src/Kernel.php
@@ -8,6 +8,21 @@ class Kernel extends BaseKernel
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
class Kernel extends BaseKernel
{
use MicroKernelTrait;
+
+ public function getDataDir(): string
+ {
+ return '@dataDir@';
+ }
+
+ public function getCacheDir(): string
+ {
+ return $this->getDataDir() . '/var/cache/' . $this->getEnvironment();
+ }
+
+ public function getLogDir(): string
+ {
+ return $this->getDataDir() . '/var/logs';
+ }
}

View File

@ -0,0 +1,69 @@
{ lib
, dataDir ? "/var/lib/koillection"
# REVIEW: This supposed to be aliased by the caller, which means it shouldn't
# go in by-name, I think.
, php83
, fetchFromGitHub
, mkYarnPackage
, fetchYarnDeps
}:
php83.buildComposerProject (finalAttrs: {
pname = "koillection";
version = "1.5.2";
src = fetchFromGitHub {
owner = "benjaminjonard";
repo = "koillection";
rev = finalAttrs.version;
hash = "sha256-r2rkHhp0F5QfwJuKeu4UdPoluDXxpyhYpie1zUk1h5c=";
};
frontend = mkYarnPackage {
inherit (finalAttrs) pname version;
src = "${finalAttrs.src}/assets";
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/assets/yarn.lock";
hash = "";
};
};
patches = [
./koillection-dirs.patch
];
postPatch = ''
substituteInPlace src/Kernel.php \
--replace "@dataDir@" "${dataDir}"
'';
# Lock file uses exact constraints, which Composer doesn't like.
composerStrictValidation = false;
# Actually installs plugins, i.e., Symfony.
composerNoPlugins = false;
vendorHash = "sha256-LU9ZN4qUNUpSBGH6AChw3qU4RjgsoPJmLL01FS7UKRQ=";
postInstall = ''
local koillection_out=$out/share/php/koillection
rm -R $koillection_out/public/uploads
ln -s ${dataDir}/.env $koillection_out/.env.local
ln -s ${dataDir}/public/uploads $koillection_out/public/uploads
cp -r ${finalAttrs.frontend} assets/
'';
passthru = {
phpPackage = php83;
};
meta = {
description = "Self-hosted service allowing users to manage any kind of collections";
homepage = "https://github.com/benjaminjonard/koillection";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
broken = true; # Blocked on NixOS/nixpkgs#254369
};
})

View File

@ -1,7 +1,7 @@
{ stdenv { stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, coreutils
, autoreconfHook , autoreconfHook
}: }:
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/include $out/lib mkdir -p $out/include $out/lib
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://github.com/xant/libhl"; homepage = "https://github.com/xant/libhl";
description = "Simple and fast C library implementing a thread-safe API to manage hash-tables, linked lists, lock-free ring buffers and queues "; description = "Simple and fast C library implementing a thread-safe API to manage hash-tables, linked lists, lock-free ring buffers and queues ";
license = licenses.lgpl3; license = licenses.lgpl3;

View File

@ -1,4 +1,5 @@
{ stdenv { stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook , autoreconfHook
@ -25,10 +26,10 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-moduledir=\${out}/lib/security" ]; configureFlags = [ "--with-moduledir=\${out}/lib/security" ];
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://github.com/cruegge/pam-gnupg"; homepage = "https://github.com/cruegge/pam-gnupg";
description = "Unlock GnuPG keys on login"; description = "Unlock GnuPG keys on login";
license = licenses.gpl3; license = licenses.gpl3;
inherit (pam.meta) platforms; platforms = pam.meta.platforms;
}; };
} }

View File

@ -0,0 +1,25 @@
{ lib
, stdenv
, python3
}:
let
python = python3.withPackages (py: [ py.requests ]);
in
stdenv.mkDerivation {
name = "porkbun-ddns";
src = ./.;
inherit python;
installPhase = ''
mkdir -p $out/bin
install -Dm0755 $src/porkbun-ddns.py $out/bin/porkbun-ddns
substituteAllInPlace $out/bin/porkbun-ddns
'';
meta = {
description = "Porkbun dynamic DNS script";
license = lib.licenses.gpl3;
platforms = python.meta.platforms;
};
}

View File

@ -0,0 +1,176 @@
#!@python@/bin/python
import argparse
import json
import os
import re
import requests
from dataclasses import dataclass, fields as datafields
from enum import Enum, unique
from typing import List, Optional
APIBASE = "https://porkbun.com/api/json/v3/dns"
def dataclass_from_dict(klass: object, d: dict):
try:
fieldtypes = {f.name: f.type for f in datafields(klass)}
return klass(**{f: dataclass_from_dict(fieldtypes[f], d[f]) for f in d})
except:
return d # Not a dataclass field
def remove_domain(domain: str, name: str):
return re.sub(f"\\.?{domain}$", "", name)
@unique
class RecordType(Enum):
a = "A"
aaaa = "AAAA"
cname = "CNAME"
mx = "MX"
srv = "SRV"
txt = "TXT"
@dataclass
class Record:
id: str
name: str
type: str
content: str
ttl: str
prio: str = ""
notes: str = ""
@dataclass
class Retrieval:
status: str
records: List[Record]
class ApiError(Exception):
pass
class ArgumentError(Exception):
pass
class PorkbunClient:
def __init__(self, apikey: str, secretapikey: str):
self.apikey = apikey
self.secretapikey = secretapikey
def _make_payload(self, **kwargs):
return json.dumps(
{"apikey": self.apikey, "secretapikey": self.secretapikey, **kwargs}
)
def edit_record(
self,
domain: str,
record: Record,
name: Optional[str] = None,
type: Optional[RecordType] = None,
content: Optional[str] = None,
ttl: Optional[int] = None,
priority: Optional[str] = None,
) -> bool:
return self.edit(
domain,
record.id,
name=name or record.name,
type=type or RecordType(record.type),
content=content or record.content,
ttl=ttl or record.ttl,
priority=priority or record.prio,
)
def edit(
self,
domain: str,
id: str,
name: str,
type: RecordType,
content: str,
ttl: int = 300,
priority: Optional[str] = None,
) -> bool:
# API returns FQN name rather than the actual prefix, so scrub it
name = remove_domain(domain, name)
payload = self._make_payload(
name=name, type=type.value, content=content, ttl=str(ttl), prio=priority
)
res = requests.post(f"{APIBASE}/edit/{domain}/{id}", data=payload)
body = res.json()
if body["status"] != "SUCCESS":
raise ApiError(body["message"])
return True
def delete(self, domain: str, id: str) -> bool:
payload = self._make_payload()
res = requests.post(f"{APIBASE}/delete/{domain}/{id}", data=payload)
body = res.json()
if body["status"] != "SUCCESS":
raise ApiError(body["message"])
return True
def retrieve(self, domain: str) -> List[Retrieval]:
payload = self._make_payload()
res = requests.post(f"{APIBASE}/retrieve/{domain}", data=payload)
body = res.json()
if body["status"] != "SUCCESS":
raise ApiError(body["message"])
return [dataclass_from_dict(Record, d) for d in body["records"]]
def current_ip() -> str:
return requests.get("https://ifconfig.me").text
def _load_key(key: Optional[str], keyfile: Optional[str]) -> str:
if keyfile is not None:
with open(keyfile) as f:
return f.read().strip()
if key is not None:
return key
raise ArgumentError("key or key file is required")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Wrapper around Porkbun DNS API")
keyarg = parser.add_mutually_exclusive_group(required=True)
keyarg.add_argument("-k", "--key", metavar="KEY", type=str, help="API key")
keyarg.add_argument(
"-K", "--key-file", metavar="FILE", type=str, help="API key file"
)
secretarg = parser.add_mutually_exclusive_group(required=True)
secretarg.add_argument(
"-s", "--secret", metavar="SECRET", type=str, help="secret API key"
)
secretarg.add_argument(
"-S", "--secret-file", metavar="FILE", type=str, help="secret API key file"
)
parser.add_argument("domains", type=str, nargs="+", help="domain(s) to update")
args = parser.parse_args()
try:
apikey = _load_key(args.key, args.key_file)
secretapikey = _load_key(args.secret, args.secret_file)
except Exception as e:
print("error: " + str(e))
parser.print_help()
exit(1)
current_ip = current_ip()
client = PorkbunClient(apikey, secretapikey)
for domain in args.domains:
recs = client.retrieve(domain)
arecs = [r for r in recs if r.type == RecordType.a.value]
for arec in arecs:
if arec.content != current_ip:
client.edit_record(domain, arec, content=current_ip)
print(f"Pointed '{arec.name}' to {current_ip}")

View File

@ -1,9 +1,10 @@
{ stdenv { lib
, fetchFromGitHub , fetchFromGitHub
, rustPlatform , rustPlatform
, cmake
, pkg-config , pkg-config
, alsaLib
, dbus
, openssl , openssl
# GUI # GUI
@ -14,27 +15,27 @@
}: }:
let let
inherit (stdenv.lib) optional optionals; inherit (lib) optional optionals;
in in
assert withGui -> gtk3.meta.available; assert withGui -> gtk3.meta.available;
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "psst"; pname = "psst";
version = "20210122.gec114ac"; version = "20221012.d70ed81";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jpochyla"; owner = "jpochyla";
repo = "psst"; repo = "psst";
rev = "ec114ac8299179c8dd51bc026d6060dc75658b83"; rev = "d70ed8104533dc15bc36b989ba8428872c9b578f";
sha256 = "02mh6hjnlimadc3w899hccss31p1r4sxgb5880zwn7yiycbq3yyj"; hash = "sha256-ZKhHN0ruLb6ZVKkrKv/YawRsVop6SP1QF/nrtkmA8P8=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
cargoSha256 = "1m01rycnpy9asspih1x9l5ppfbjnqcfdycmzgkrmdwzah3x8s8xc"; cargoSha256 = "sha256-zH6+EV78FDVOYEFXk0f54pH2Su0QpK1I0bHqzIiMdBo=";
nativeBuildInputs = [ pkg-config ] nativeBuildInputs = [ pkg-config ]
++ optional withGui copyDesktopItems; ++ optional withGui copyDesktopItems;
buildInputs = [ openssl ] buildInputs = [ alsaLib dbus openssl ]
++ optional withGui gtk3; ++ optional withGui gtk3;
cargoBuildFlags = optionals (!withGui) [ cargoBuildFlags = optionals (!withGui) [
@ -54,16 +55,16 @@ rustPlatform.buildRustPackage rec {
name = pname; name = pname;
desktopName = "psst"; desktopName = "psst";
genericName = "Spotify Player"; genericName = "Spotify Player";
categories = "AudioVideo;Audio;Network;Player;"; categories = [ "AudioVideo" "Audio" "Network" "Player" ];
comment = "Spotify client with native GUI"; comment = "Spotify client with native GUI";
exec = "psst-gui"; exec = "psst-gui";
extraEntries = "Keywords=spotify;music;"; keywords = [ "spotify" "music" ];
icon = "spotify"; icon = "spotify";
type = "Application"; type = "Application";
}) })
]; ];
meta = with stdenv.lib; { meta = with lib; {
description = "Fast and multi-platform Spotify client with native GUI "; description = "Fast and multi-platform Spotify client with native GUI ";
homepage = "https://github.com/jpochyla/psst"; homepage = "https://github.com/jpochyla/psst";
license = licenses.mit; license = licenses.mit;

View File

@ -2,7 +2,7 @@ diff --git a/setup.py b/setup.py
index a800b3b..8967921 100755 index a800b3b..8967921 100755
--- a/setup.py --- a/setup.py
+++ b/setup.py +++ b/setup.py
@@ -22,14 +22,13 @@ setup( @@ -33,14 +33,13 @@ setup(
name='spotify-ripper', name='spotify-ripper',
version='2.9.1', version='2.9.1',
packages=find_packages(exclude=["tests"]), packages=find_packages(exclude=["tests"]),
@ -18,11 +18,7 @@ index a800b3b..8967921 100755
], ],
}, },
@@ -67,7 +66,5 @@ setup( @@ -121,3 +121,2 @@ setup(
'Programming Language :: Python :: 3', return True
'Programming Language :: Python :: 3.4',
],
- long_description=_read('README.rst'),
)
-create_default_dir() -create_default_dir()

View File

@ -1,54 +1,64 @@
{ stdenv { lib
, fetchFromGitHub , fetchFromGitHub
, python2Packages , python3Packages
, lame
, aacSupport ? false, faac , aacSupport ? false
, alacSupport ? false, libav , faac
, flacSupport ? false, flac , alacSupport ? false
, m4aSupport ? false, mp4Support ? false, fdk-aac-encoder , libav
, oggSupport ? false, vorbisTools , flacSupport ? false
, opusSupport ? false, opusTools , flac
, m4aSupport ? false
, mp4Support ? false
, fdk-aac-encoder
, oggSupport ? false
, vorbis-tools
, opusSupport ? false
, opusTools
}: }:
assert aacSupport -> faac.meta.available; assert aacSupport -> faac.meta.available;
assert alacSupport -> libav.meta.available; assert alacSupport -> libav.meta.available;
assert flacSupport -> flac.meta.available; assert flacSupport -> flac.meta.available;
assert m4aSupport || mp4Support -> fdk-aac-encoder.meta.available; assert m4aSupport || mp4Support -> fdk-aac-encoder.meta.available;
assert oggSupport -> vorbisTools.meta.available; assert oggSupport -> vorbis-tools.meta.available;
assert opusSupport -> opusTools.meta.available; assert opusSupport -> opusTools.meta.available;
python2Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "spotify-ripper"; pname = "spotify-ripper";
version = "20161231.gd046419"; version = "20210724.5bfd3f7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hbashton"; owner = "ast261";
repo = pname; repo = pname;
rev = "d0464193dead7bd3ac7580e98bde86a0f323acae"; rev = "5bfd3f7a52f2767b433fd315145409837a3c33f0";
sha256 = "003d6br20f1cf4qvmpl62bk0k4h4v66ib76wn36c23bnh9x5q806"; sha256 = "sha256-LLunGzs9Mg4S00Su260b+M5w/XwS+kICl/YXQdR/cPI=";
}; };
propagatedBuildInputs = (with python2Packages; [ propagatedBuildInputs = (with python3Packages; [
colorama colorama
mutagen mutagen
pyspotify pyspotify
requests requests
schedule schedule
setuptools setuptools
spotipy
]) ++ [ ]) ++ [
lame
(if flacSupport then flac else null) (if flacSupport then flac else null)
(if alacSupport then libav else null) (if alacSupport then libav else null)
(if aacSupport then faac else null) (if aacSupport then faac else null)
(if (m4aSupport || mp4Support) then fdk-aac-encoder else null) (if (m4aSupport || mp4Support) then fdk-aac-encoder else null)
(if oggSupport then vorbisTools else null) (if oggSupport then vorbis-tools else null)
(if opusSupport then opusTools else null) (if opusSupport then opusTools else null)
]; ];
# Remove impure executables. # Remove impure executables.
patches = [ ./fix-setup.patch ]; patches = [ ./fix-setup.patch ];
meta = { meta = with lib; {
description = "Rip Spotify URIs to audio files, including ID3 tags and cover art"; description = "Rip Spotify URIs to audio files, including ID3 tags and cover art";
longDescription = '' longDescription = ''
Spotify-ripper is a small ripper script for Spotify that rips Spotify URIs Spotify-ripper is a small ripper script for Spotify that rips Spotify URIs
@ -58,6 +68,6 @@ python2Packages.buildPythonApplication rec {
''; '';
homepage = "https://github.com/hbashton/spotify-ripper"; homepage = "https://github.com/hbashton/spotify-ripper";
# spotify-ripper itself is MIT, but the upstream libspotify is unfree. # spotify-ripper itself is MIT, but the upstream libspotify is unfree.
license = stdenv.lib.licenses.unfree; license = licenses.unfree;
}; };
} }

View File

@ -0,0 +1,16 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "K4os.Compression.LZ4"; version = "1.3.5"; sha256 = "1nv9inhz0n25lhkw9xgp6g5xbqmcdccdhx6mwrli0pdp6hjmlh9k"; })
(fetchNuGet { pname = "K4os.Compression.LZ4.Streams"; version = "1.3.5"; sha256 = "09m0jxq6558r1v1l4rsc8c0n6nlacz2d8c03as6kvvvz2gr7h506"; })
(fetchNuGet { pname = "K4os.Hash.xxHash"; version = "1.0.8"; sha256 = "0vz1f81z4rh7a576fdzbc6wmj7p4gaca1rch3anvh1s5qd7xdd10"; })
(fetchNuGet { pname = "Serilog"; version = "3.0.0-dev-02022"; sha256 = "0c7gqhzkcdzmhycq60mzwqwcycl99ksk4q0pmwz140japasfhcqk"; })
(fetchNuGet { pname = "Serilog.Exceptions"; version = "8.4.0"; sha256 = "1v0rnhr616wj85gb6wvafj22kvnphp7m9vsyalcc25hwa1jvlryr"; })
(fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.1-dev-00910"; sha256 = "00h3sd0lxnx53jmgqh84pw73zk3d710dvlgkf4x135vfhax9bw7m"; })
(fetchNuGet { pname = "SharpCompress"; version = "0.33.0"; sha256 = "1j94hfjvkygpp97svv75jay0rmnx9ygg86d5syyahl9hayns4ig9"; })
(fetchNuGet { pname = "Spectre.Console"; version = "0.47.1-preview.0.8"; sha256 = "1r6v16lh7mqxxh3j9lqryif8skx3q9nkgf5gnp5xpc4im3a52wql"; })
(fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.7.0"; sha256 = "04qw9km34pmzr2alckb3mqdb4fpqwlvzk59lg8c7jfidghcl4jqq"; })
]

View File

@ -0,0 +1,32 @@
{ lib
, fetchFromGitHub
, buildDotnetModule
, dotnetCorePackages
}:
buildDotnetModule rec {
pname = "thor";
version = "1.0.4";
src = fetchFromGitHub {
owner = "Samsung-Loki";
repo = "Thor";
rev = version;
hash = "sha256-tYzPpgbM9rCDdLW0ERZWmmxzMYpe1BNyFwmpaLQXRGQ=";
};
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0;
nugetDeps = ./nugetDeps.nix;
projectFile = "TheAirBlow.Thor.Shell/TheAirBlow.Thor.Shell.csproj";
postFixup = ''
mv $out/bin/TheAirBlow.Thor.Shell $out/bin/thor
'';
meta = {
homepage = "https://github.com/Samsung-Loki/Thor";
description = "An alternative to Heimdall";
license = lib.licenses.mpl20;
};
}

View File

@ -0,0 +1,27 @@
{ lib
, stdenv
, fetchFromGitHub
, libcap
}: stdenv.mkDerivation {
pname = "wg2nd";
version = "20240605.23a3710";
src = fetchFromGitHub {
owner = "flu0r1ne";
repo = "wg2nd";
rev = "23a37100f121edd0c1291c4a78901662eae5d58b";
hash = "sha256-XY19Vicg8l/2stlWj1QqJt0pJOi/kueQpBufVlLJVxk=";
};
buildInputs = [ libcap ];
installPhase = ''
PREFIX=$out BINDIR=/bin make install
'';
meta = {
description = "WireGuard to systemd-networkd Configuration Converter";
homepage = "https://git.flu0r1ine.net/wg2nd/about";
license = [ lib.licenses.gpl2Only lib.licenses.mit ];
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,38 @@
{ stdenv
, lib
, fetchFromGitHub
, python3
, ffmpeg
}:
stdenv.mkDerivation rec {
pname = "ytarchive";
version = "0.2.2+0304577";
src = fetchFromGitHub {
owner = "Kethsar";
repo = "ytarchive";
# NOTE: Last revision where it was written in Python, so don't change
# without rewriting the derivation.
rev = "030457749d6c8d1d62240bfbad659326f3cd3a30";
hash = "sha256-mvmdkxZxlEbWc7GR8LfyxTJOeEhjCoYyeatDx8l1uhM=";
};
propagatedBuildInputs = [
python3
ffmpeg
];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
installPhase = ''
install -Dm00755 ytarchive.py $out/bin/ytarchive
'';
meta = with lib; {
description = "Garbage Youtube livestream downloader";
homepage = "https://github.com/Kethsar/ytarchive";
license = licenses.mit;
platforms = python3.meta.platforms;
};
}

View File

@ -1,4 +1,5 @@
{ stdenv { stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, installShellFiles , installShellFiles
@ -25,10 +26,10 @@ stdenv.mkDerivation {
installShellCompletion --zsh _zshz installShellCompletion --zsh _zshz
''; '';
meta = { meta = with lib; {
description = ''Jump quickly to directories that you have visited "frecently." A native ZSH port of z.sh.''; description = ''Jump quickly to directories that you have visited "frecently." A native ZSH port of z.sh.'';
homepage = "https://github.com/agkozak/zsh-z"; homepage = "https://github.com/agkozak/zsh-z";
license = stdenv.lib.licenses.mit; license = licenses.mit;
platforms = zsh.meta.platforms; platforms = zsh.meta.platforms;
}; };
} }

View File

@ -1,67 +0,0 @@
{ stdenv
, fetchFromGitHub
, buildGoModule
, makeWrapper
, go
, pkg-config
, qmake
, removeReferencesTo
}:
buildGoModule rec {
pname = "go-qt";
version = "20200904.gc0c124a";
src = fetchFromGitHub {
owner = "therecipe";
repo = "qt";
rev = "c0c124a5770d357908f16fa57e0aa0ec6ccd3f91";
sha256 = "197wdh2v0g5g2dpb1gcd5gp0g4wqzip34cawisvy6z7mygmsc8rd";
};
# fails with `GOFLAGS=-vendor=mod -trimpath`
allowGoReference = true;
preFixup = ''
find $out -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${go} '{}' +
'';
vendorSha256 = "00wghn93xz240ddj47b8mkbx3cg7c0486igp6vv0x9r6ylhywsm6";
subPackages = [ "cmd/..." ];
nativeBuildInputs = [ makeWrapper ];
# Fixes inconsistent vendoring.
postPatch = ''
cat <<EOM >>go.mod
require (
github.com/therecipe/env_darwin_amd64_513 v0.0.0-20190626001412-d8e92e8db4d0
github.com/therecipe/env_linux_amd64_513 v0.0.0-20190626000307-e137a3934da6
github.com/therecipe/env_windows_amd64_513 v0.0.0-20190626000028-79ec8bd06fb2
github.com/therecipe/env_windows_amd64_513/Tools v0.0.0-20190626000028-79ec8bd06fb2
github.com/therecipe/qt/internal/binding/files/docs/5.12.0 v0.0.0-20200904063919-c0c124a5770d
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200904063919-c0c124a5770d
)
EOM
'';
doCheck = true;
checkPhase = ''
$GOPATH/bin/qtsetup test
'';
postFixup = ''
for bin in $out/bin/*; do
wrapProgram $bin \
--set QT_PKG_CONFIG true \
--prefix PATH : ${pkg-config}/bin \
--prefix PATH : ${qmake}/bin
done
'';
meta = with stdenv.lib; {
homepage = "https://github.com/therecipe/qt";
description = "Qt bindings for Go";
license = licenses.lgpl3;
};
}

View File

@ -1,111 +0,0 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/gopherjs/gopherjs";
fetch = {
type = "git";
url = "https://github.com/gopherjs/gopherjs";
rev = "bd77b112433e";
sha256 = "0bsj69jb0glfvqhqld4c78840iagd0iy2b92878i5w4sgp40k7i1";
};
}
{
goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
fetch = {
type = "git";
url = "https://github.com/konsorten/go-windows-terminal-sequences";
rev = "v1.0.2";
sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "v1.4.1";
sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
};
}
{
goPackagePath = "github.com/stretchr/objx";
fetch = {
type = "git";
url = "https://github.com/stretchr/objx";
rev = "v0.2.0";
sha256 = "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.3.0";
sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://github.com/golang/crypto";
rev = "df01cb2cc480549d72034218dd98bf97671450ac";
sha256 = "1fhz0rym06j0fds0wg8xf6i9mm37m6qgdv83qxfh3nh0mgzf19qs";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://github.com/golang/net";
rev = "afa5a82059c6356159f699d81beff22a81842231";
sha256 = "1zhcr1m7n550m0lqjqg1rl2qrnghkl3a25vcm6cgpiqvk89f8lba";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://github.com/golang/sys";
rev = "e8e3143a4f4a00f1fafef0dd82ba78223281b01b";
sha256 = "02pdj4gr658r99kqwxy6v4lb8w2h0zaiqq1jyqrsxqiyapijhw87";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://github.com/golang/text";
rev = "f4905fbd45b6790792202848439271c74074bbfd";
sha256 = "184d6ap2g92jvx0532lymdqbnx9vi9ips4dq5lnqbby0caccc6r1";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://github.com/golang/tools";
rev = "aa740d4807891cb493e9f727901baf334b9fabce";
sha256 = "0431y2xw39dss0ldxhbmm7ip4d2cr2w9km2a5psgwan6v481kz0a";
};
}
]

View File

@ -1,4 +1,4 @@
{ stdenv { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
}: }:
@ -14,9 +14,9 @@ buildPythonPackage rec {
doCheck = false; doCheck = false;
meta = { meta = with lib; {
homepage = "https://stuffivelearned.org/doku.php?id=programming:python:py-sonic"; homepage = "https://stuffivelearned.org/doku.php?id=programming:python:py-sonic";
license = stdenv.lib.licenses.gpl3; license = licenses.gpl3;
description = "A python wrapper library for the Subsonic REST API"; description = "A python wrapper library for the Subsonic REST API";
}; };
} }

View File

@ -1,16 +1,18 @@
{ stdenv { stdenv
, lib
, fetchFromGitHub , fetchFromGitHub
, qtbase , qtbase
, qmake , qmake
, wrapQtAppsHook ? null # Temporary backwards compatibility
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "radeon-profile-daemon"; pname = "radeon-profile-daemon";
version = "20190603.g06qxq2h"; version = "20190603.g06qxq2h";
nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase ]; buildInputs = [ qtbase ];
nativeBuildInputs = [ qmake wrapQtAppsHook ];
src = ( src = (
fetchFromGitHub { fetchFromGitHub {
@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
--replace "/usr/" "$out/" --replace "/usr/" "$out/"
''; '';
meta = with stdenv.lib; { meta = with lib; {
description = "System daemon for reading current clocks of AMD Radeon cards"; description = "System daemon for reading current clocks of AMD Radeon cards";
homepage = "https://github.com/marazmista/radeon-profile-daemon"; homepage = "https://github.com/marazmista/radeon-profile-daemon";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;

View File

@ -1,49 +0,0 @@
{ stdenv
, fetchFromGitHub
, makeWrapper
, curl
, gnumake
, gnutls
, gtk3
, gtkmm3
, pkg-config
, yajl
}:
stdenv.mkDerivation rec {
pname = "SamRewritten";
version = "2.1";
src = fetchFromGitHub {
owner = "PaulCombal";
repo = pname;
rev = "202008";
sha256 = "ab7903b997675b0d4d7eede15430fc5ca2736e6c25c7f95a7c97e1ce25582a1c";
};
nativeBuildInputs = [ gnumake pkg-config ];
buildInputs = [
curl
gnutls
gtk3
gtkmm3
yajl
];
NIX_CFLAGS_LINK = "-pthread";
makeFlags = [ "PREFIX=$(out)" ];
postFixup = ''
substituteInPlace $out/share/applications/samrewritten.desktop \
--replace /usr/bin/samrewritten $out/bin/samrewritten
'';
meta = with stdenv.lib; {
description = "Steam Achievement Manager For Linux";
homepage = "https://github.com/PaulCombal/SamRewritten";
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -1,57 +1,6 @@
{ pkgs }: { pkgs }:
rec { rec {
# Alacritty with the unmerged ligature patches applied.
alacritty-ligatures = pkgs.alacritty.overrideAttrs (oldAttrs: rec {
pname = "${oldAttrs.pname}-ligatures";
version = "0.7.1.20210107.gada2680";
src = pkgs.fetchFromGitHub {
owner = "zenixls2";
repo = "alacritty";
fetchSubmodules = true;
rev = "ada2680e79a8f53cd350263c8cc91d2e2a264d81";
sha256 = "0c0k1ib1dl35731zyjb32apyn28xc63mhbwsig5mz3hnkyk5nisr";
};
cargoDeps = oldAttrs.cargoDeps.overrideAttrs (pkgs.lib.const {
name = "${pname}-${version}-vendor.tar.gz";
inherit src;
outputHash = "1d1yz4xmal0f3c0pcn59lxfh5a3532nv7dv7s95svvi8qsvnk9gv";
});
ligatureInputs = [
pkgs.fontconfig
pkgs.freetype
pkgs.libglvnd
pkgs.stdenv.cc.cc.lib
pkgs.xlibs.libxcb
];
buildInputs = (oldAttrs.buildInputs or []) ++ ligatureInputs;
# HACK: One of the ligature libraries required the C++ stdlib at runtime,
# and I can't work out a better way to push it to the RPATH.
postInstall = pkgs.lib.optional (!pkgs.stdenv.isDarwin) ''
patchelf \
--set-rpath ${pkgs.lib.makeLibraryPath ligatureInputs}:"$(patchelf --show-rpath $out/bin/alacritty)" \
$out/bin/alacritty
'';
meta = oldAttrs.meta // {
description = "Alacritty with ligature patch applied";
homepage = "https://github.com/zenixls2/alacritty/tree/ligature";
};
});
amdgpu-fan = pkgs.callPackage ../tools/misc/amdgpu-fan { };
cardboard = pkgs.callPackage ../applications/window-managers/cardboard { };
goModules = pkgs.recurseIntoAttrs rec {
qt = pkgs.libsForQt512.callPackage ../development/go-modules/qt { };
};
# A functional Jetbrains IDE-with-plugins package set. # A functional Jetbrains IDE-with-plugins package set.
jetbrains = pkgs.dontRecurseIntoAttrs rec { jetbrains = pkgs.dontRecurseIntoAttrs rec {
jetbrainsPluginsFor = variant: import ../top-level/jetbrains-plugins.nix { jetbrainsPluginsFor = variant: import ../top-level/jetbrains-plugins.nix {
@ -72,98 +21,13 @@ rec {
ideaUltimateWithPlugins = ideaUltimatePlugins.jetbrainsWithPlugins; ideaUltimateWithPlugins = ideaUltimatePlugins.jetbrainsWithPlugins;
}; };
libhl = pkgs.callPackage ../development/libraries/libhl { };
mopidy-subidy = pkgs.callPackage ../applications/audio/mopidy/subidy.nix { mopidy-subidy = pkgs.callPackage ../applications/audio/mopidy/subidy.nix {
python3Packages = pkgs.python3Packages // python3Packages; python3Packages = pkgs.python3Packages // python3Packages;
}; };
pam_gnupg = pkgs.callPackage ../os-specific/linux/pam_gnupg { };
picom-animations = pkgs.picom.overrideAttrs (oldAttrs: {
pname = "picom-animations";
src = pkgs.fetchFromGitHub {
owner = "jonaburg";
repo = "picom";
rev = "d718c94";
sha256 = "165mc53ryyxn2ybkhikmk51ay3k18mvlsym3am3mgr8cpivmf2rm";
};
});
polybar = pkgs.polybar.overrideAttrs (oldAttrs: {
# Enables an extra button in formatting, indirectly allowing the use of
# the mouse forward and backward buttons.
patches = (oldAttrs.patches or [ ]) ++ [ ../applications/misc/polybar/9button.patch ];
});
psst = pkgs.callPackage ../applications/audio/psst { };
python2Packages =
let
fixVersion =
{ package
, version
, sha256
, extra ? (oldAttrs: { })
}: package.overrideAttrs (oldAttrs: rec {
inherit version;
src = pkgs.python2Packages.fetchPypi {
inherit (oldAttrs) pname;
inherit version sha256;
};
} // extra oldAttrs);
in
pkgs.recurseIntoAttrs rec {
colorama_0_3_3 = fixVersion {
package = pkgs.python2Packages.colorama;
version = "0.3.3";
sha256 = "1716z9pq1r5ys3nkg7wdrb3h2f9rmd0zdxpxzmx3bgwgf6xg48gb";
};
mutagen_1_30 = fixVersion {
package = pkgs.python2Packages.mutagen;
version = "1.30";
sha256 = "0kv2gjnzbj1w0bswmxm7wi05x6ypi7jk52s0lb8gw8s459j41gyd";
extra = oldAttrs: {
patches = [ ];
};
};
pyspotify_2_0_5 = fixVersion {
package = pkgs.python2Packages.pyspotify;
version = "2.0.5";
sha256 = "0y16c024rrvbvfdqj1n0k4b25b1nbza3i7kspg5b0ci2src1rm7v";
};
overlay = {
colorama = colorama_0_3_3;
mutagen = mutagen_1_30;
pyspotify = pyspotify_2_0_5;
};
};
python3Packages = pkgs.recurseIntoAttrs { python3Packages = pkgs.recurseIntoAttrs {
py-sonic = pkgs.python3.pkgs.callPackage ../development/python-modules/py-sonic { }; py-sonic = pkgs.python3.pkgs.callPackage ../development/python-modules/py-sonic { };
}; };
# The one in Nixpkgs still extracts the pre-built Debian package instead
# of building from source.
protonmailBridgePackages = pkgs.libsForQt512.callPackage ../applications/networking/protonmail-bridge {
inherit goModules;
};
protonmail-bridge = protonmailBridgePackages.protonmail-bridge;
protonmail-bridge-headless = protonmailBridgePackages.protonmail-bridge-headless;
radeon-profile-daemon = pkgs.libsForQt5.callPackage ../tools/misc/radeon-profile-daemon { }; radeon-profile-daemon = pkgs.libsForQt5.callPackage ../tools/misc/radeon-profile-daemon { };
samrewritten = pkgs.callPackage ../tools/misc/samrewritten { };
spotify-ripper = pkgs.callPackage ../tools/misc/spotify-ripper {
# NOTE: Not available in 20.03. Specifying it this way lets me cheat the
# build auto-failing on 20.03 because of the attribute not existing.
inherit (pkgs) fdk-aac-encoder;
python2Packages = pkgs.python2Packages // python2Packages.overlay;
};
zsh-z = pkgs.callPackage ../shells/zsh/zsh-z { };
} }

View File

@ -0,0 +1,56 @@
# This file turns the pkgs/by-name directory (see its README.md for more info)
# into an overlay that adds all the defined packages.
#
# No validity checks are done here, instead this file is optimised for
# performance, and validity checks are done by CI on PRs.
#
# This file is based on Nixpkgs' `pkgs/top-level/by-name-overlay.nix` in order
# to utilise the same infrastructure and layout, with some adjustments to fit
# our derivative project.
{ lib
, pkgs
}:
# Type: Path -> Overlay
baseDirectory:
let
inherit (builtins)
readDir
;
inherit (lib.attrsets)
mapAttrs
mapAttrsToList
mergeAttrsList
;
# Package files for a single shard
# Type: String -> String -> AttrsOf Path
namesForShard = shard: type:
if type != "directory" then
# Ignore all non-directories. Technically only README.md is allowed as a file in the base directory, so we could alternatively:
# - Assume that README.md is the only file and change the condition to `shard == "README.md"` for a minor performance improvement.
# This would however cause very poor error messages if there's other files.
# - Ensure that README.md is the only file, throwing a better error message if that's not the case.
# However this would make for a poor code architecture, because one type of error would have to be duplicated in the validity checks and here.
# Additionally in either of those alternatives, we would have to duplicate the hardcoding of "README.md"
{ }
else
mapAttrs
(name: _: baseDirectory + "/${shard}/${name}/package.nix")
(readDir (baseDirectory + "/${shard}"));
# The attribute set mapping names to the package files defining them
# This is defined up here in order to allow reuse of the value (it's kind of expensive to compute)
# if the overlay has to be applied multiple times
packageFiles = mergeAttrsList (mapAttrsToList namesForShard (readDir baseDirectory));
in
# TODO: Consider optimising this using `builtins.deepSeq packageFiles`,
# which could free up the above thunks and reduce GC times.
# Currently this would be hard to measure until we have more packages
# and ideally https://github.com/NixOS/nix/pull/8895
_self: _super:
mapAttrs
(_name: file: pkgs.callPackage file { })
packageFiles

View File

@ -0,0 +1,19 @@
# Composes the packages collection.
{
# The system packages will be build and used on.
localSystem
# Nixpkgs
, pkgs
# Nixpkgs lib
, lib ? pkgs.lib
}:
let
allPackages = import ./stage.nix {
inherit lib pkgs;
};
available = lib.filterAttrs
(_: drv: builtins.elem localSystem (drv.meta.platforms or [ ]));
in
available allPackages

View File

@ -20,14 +20,16 @@ let
inherit lib; inherit lib;
}; };
in lib.makeScope newScope (self: lib.makeOverridable ({ in
jetbrainsPlugins ? mkJetbrainsPlugins self lib.makeScope newScope (self: lib.makeOverridable
({ jetbrainsPlugins ? mkJetbrainsPlugins self
, ideaPlugins ? mkIdeaPlugins self , ideaPlugins ? mkIdeaPlugins self
}: ({ } }: ({ }
// jetbrainsPlugins // { inherit jetbrainsPlugins; } // jetbrainsPlugins // { inherit jetbrainsPlugins; }
// ideaPlugins // { inherit ideaPlugins; } // ideaPlugins // { inherit ideaPlugins; }
// { // {
inherit variant; inherit variant;
jetbrainsWithPlugins = jetbrainsWithPlugins self variant; jetbrainsWithPlugins = jetbrainsWithPlugins self variant;
}) })
) { }) )
{ })

24
pkgs/top-level/stage.nix Normal file
View File

@ -0,0 +1,24 @@
# Composes a single bootstrapping of the package collection. The result is a set
# of all the packages for some particular platform.
{ lib
, pkgs
}:
let
# An overlay to auto-call packages in .../by-name.
autoCalledPackages =
import ./by-name-overlay.nix { inherit pkgs lib; } ../by-name;
allPackages = _self: _super:
import ./all-packages.nix { inherit pkgs; };
toFix = (lib.flip lib.composeManyExtensions) (_self: { }) [
autoCalledPackages
allPackages
];
in
# Return the complete set of packages.
lib.fix toFix