Merge commit '9d8e096346e9c51041858b3b301ffe1d7d4e63d5' into haskell-updates
This commit is contained in:
@@ -11,7 +11,7 @@ on:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write # adding the 'has: port to stable' label
|
||||
issues: write # adding the 'has: port to stable' and 'has: backport failed' label
|
||||
pull-requests: write # creating backport pull requests
|
||||
|
||||
defaults:
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
|
||||
- name: Create backport PRs
|
||||
id: backport
|
||||
uses: korthout/backport-action@7c3f6cd5843cac11bc59a04a1b7699af93261670 # v4.5.0
|
||||
uses: korthout/backport-action@bf97bcfb53d5250af8b9a15fab0f56158a63b224 # v4.5.1
|
||||
with:
|
||||
# Config README: https://github.com/korthout/backport-action#backport-action
|
||||
add_author_as_reviewer: true
|
||||
@@ -82,3 +82,16 @@ jobs:
|
||||
issue_number: context.payload.pull_request.number,
|
||||
labels: [ '8.has: port to stable' ]
|
||||
})
|
||||
|
||||
- name: "Add 'has: failed backport' label"
|
||||
if: steps.backport.outputs.was_successful == 'false'
|
||||
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
# Not using the app on purpose to avoid triggering another workflow run after adding this label.
|
||||
script: |
|
||||
await github.rest.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
labels: [ '8.has: failed backport' ]
|
||||
})
|
||||
|
||||
@@ -91,7 +91,7 @@ jobs:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
|
||||
run: gh api /rate_limit | jq
|
||||
|
||||
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
|
||||
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
|
||||
name: Labels from touched files
|
||||
if: |
|
||||
github.event_name == 'pull_request_target' &&
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
configuration-path: .github/labeler.yml # default
|
||||
sync-labels: true
|
||||
|
||||
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
|
||||
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
|
||||
name: Labels from touched files (no sync)
|
||||
if: |
|
||||
github.event_name == 'pull_request_target' &&
|
||||
@@ -111,7 +111,7 @@ jobs:
|
||||
configuration-path: .github/labeler-no-sync.yml
|
||||
sync-labels: false
|
||||
|
||||
- uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
|
||||
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
|
||||
name: Labels from touched files (development branches)
|
||||
# Development branches like staging-next, haskell-updates and python-updates get special labels.
|
||||
# This is to avoid the mass of labels there, which is mostly useless - and really annoying for
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
target-as-trusted-at: ${{ inputs.targetSha }}
|
||||
|
||||
- uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
with:
|
||||
# Sandbox is disabled on MacOS by default.
|
||||
extra_nix_config: sandbox = true
|
||||
|
||||
@@ -147,7 +147,7 @@ jobs:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
target-as-trusted-at: ${{ inputs.targetSha }}
|
||||
|
||||
- uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- uses: cachix/cachix-action@1eb2ef646ac0255473d23a5907ad7b04ce94065c # v17
|
||||
continue-on-error: true
|
||||
|
||||
@@ -136,7 +136,7 @@ jobs:
|
||||
core.info(`Found pinned.json commit: ${ciPinBumpCommit}`)
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- name: Load supported versions
|
||||
id: versions
|
||||
@@ -184,7 +184,7 @@ jobs:
|
||||
target-as-trusted-at: ${{ inputs.targetSha }}
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- uses: cachix/cachix-action@1eb2ef646ac0255473d23a5907ad7b04ce94065c # v17
|
||||
continue-on-error: true
|
||||
@@ -274,7 +274,7 @@ jobs:
|
||||
merge-multiple: true
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- name: Combine all output paths and eval stats
|
||||
run: |
|
||||
@@ -481,7 +481,7 @@ jobs:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- name: Ensure flake outputs on all systems still evaluate
|
||||
run: nix flake check --all-systems --no-build './nixpkgs/untrusted?shallow=1'
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
with:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
|
||||
- uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
# TODO: Figure out how to best enable caching for the treefmt job. Cachix won't work well,
|
||||
# because the cache would be invalidated on every commit - treefmt checks every file.
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
with:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
|
||||
- uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- uses: cachix/cachix-action@1eb2ef646ac0255473d23a5907ad7b04ce94065c # v17
|
||||
continue-on-error: true
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
merged-as-untrusted-at: ${{ inputs.mergedSha }}
|
||||
target-as-trusted-at: ${{ inputs.targetSha }}
|
||||
|
||||
- uses: cachix/install-nix-action@ab739621df7a23f52766f9ccc97f38da6b7af14f # v31.10.5
|
||||
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
|
||||
|
||||
- uses: cachix/cachix-action@1eb2ef646ac0255473d23a5907ad7b04ce94065c # v17
|
||||
continue-on-error: true
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// @ts-check
|
||||
const { classify } = require('../supportedBranches.js')
|
||||
const { getCommitDetailsForPR } = require('./get-pr-commit-details')
|
||||
|
||||
/**
|
||||
@@ -32,6 +33,27 @@ async function checkManualFileEdits({ github, context, core, repoPath, dry }) {
|
||||
return
|
||||
}
|
||||
|
||||
const baseBranchType = classify(
|
||||
pr.base.ref.replace(/^refs\/heads\//, ''),
|
||||
).type
|
||||
const headBranchType = classify(
|
||||
pr.head.ref.replace(/^refs\/heads\//, ''),
|
||||
).type
|
||||
|
||||
if (
|
||||
baseBranchType.includes('development') &&
|
||||
headBranchType.includes('development') &&
|
||||
pr.base.repo.id === pr.head.repo?.id
|
||||
) {
|
||||
// This matches, for example, PRs from NixOS:staging-next to NixOS:master, or vice versa.
|
||||
// Ignore them: we should only care about PRs introducing *new* commits.
|
||||
// We still want to run on PRs from, e.g., Someone:master to NixOS:master, though.
|
||||
core.info(
|
||||
'This PR is from one development branch to another. Skipping checks.',
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
const details = await getCommitDetailsForPR({ core, pr, repoPath })
|
||||
|
||||
if (
|
||||
|
||||
@@ -93,6 +93,8 @@
|
||||
This update introduces several breaking changes: the Python plugin interface is now v5.0, the `PATH` plugin has been renamed to `Commandline`, and the QStylesheets-based widgets box model frontend has been removed.
|
||||
For more information read the [changelog for 34.0.0](https://albertlauncher.github.io/2026/01/19/albert-v34.0.0-released/).
|
||||
|
||||
- `asciinema_3` is now renamed to `asciinema` and the old `asciinema` version 2.x.x written in python was removed.
|
||||
|
||||
- `sing-box` has been updated to 1.13.0, which has removed some deprecated options. See [upstream documentation](https://sing-box.sagernet.org/configuration/) for details and migration options.
|
||||
|
||||
- `cargo-codspeed` has been updated from `3.0.5` to `4.2.0`. Version `4.0.0` includes breaking changes. For more information read the [changelog for 4.0.0](https://github.com/CodSpeedHQ/codspeed-rust/releases/tag/v4.0.0).
|
||||
|
||||
@@ -31,6 +31,22 @@ Unfree software is not tested or built in Nixpkgs continuous integration, and th
|
||||
Most unfree licenses prohibit either executing or distributing the software.
|
||||
:::
|
||||
|
||||
The `NIXPKGS_CONFIG` environment variable can override the configuration file location.
|
||||
Nixpkgs resolves the config in this order:
|
||||
|
||||
1. `$NIXPKGS_CONFIG`, if set and the file exists.
|
||||
2. `~/.config/nixpkgs/config.nix`, if it exists.
|
||||
3. `~/.nixpkgs/config.nix` (legacy), if it exists.
|
||||
4. Empty configuration.
|
||||
|
||||
On NixOS, `NIXPKGS_CONFIG` points to `/etc/nix/nixpkgs-config.nix` system-wide.
|
||||
Drop a file there to apply configuration to `nix-env`, `nix-shell`, and other user-level commands.
|
||||
NixOS does not create this file.
|
||||
The [`nixpkgs.config`](https://nixos.org/manual/nixos/stable/options#opt-nixpkgs.config) option does not affect `nix-env`, `nix-shell`, or other user-level commands.
|
||||
|
||||
This lookup applies to non-flake usage like channels and `<nixpkgs>`.
|
||||
Flakes ignore it; pass `config` directly when importing `nixpkgs`.
|
||||
|
||||
## Installing broken packages {#sec-allow-broken}
|
||||
|
||||
There are several ways to try compiling a package which has been marked as broken.
|
||||
|
||||
@@ -527,6 +527,11 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "DOC License";
|
||||
};
|
||||
|
||||
docBookDtd = {
|
||||
spdxId = "DocBook-DTD";
|
||||
fullName = "DocBook DTD License";
|
||||
};
|
||||
|
||||
drl10 = {
|
||||
spdxId = "DRL-1.0";
|
||||
fullName = "Detection Rule License 1.0";
|
||||
|
||||
+2
-1
@@ -589,7 +589,8 @@ let
|
||||
in
|
||||
modulesPath: initialModules: args: {
|
||||
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
# Intentionally not shared with `modules` above: this allows `collected`
|
||||
# Intentionally not shared with `modules` above: this allows
|
||||
# the return value of `collectStructuredModules`
|
||||
# to be garbage collected after `filterModules` returns.
|
||||
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
};
|
||||
|
||||
+1
-2
@@ -337,7 +337,6 @@ rec {
|
||||
|
||||
/**
|
||||
Concatenate a list of strings, adding a newline at the end of each one.
|
||||
Defined as `concatMapStrings (s: s + "\n")`.
|
||||
|
||||
# Inputs
|
||||
|
||||
@@ -361,7 +360,7 @@ rec {
|
||||
|
||||
:::
|
||||
*/
|
||||
concatLines = concatMapStrings (s: s + "\n");
|
||||
concatLines = lines: optionalString (lines != [ ]) (concatStringsSep "\n" lines + "\n");
|
||||
|
||||
/**
|
||||
Given string `s`, replace every occurrence of the string `from` with the string `to`.
|
||||
|
||||
@@ -4537,6 +4537,12 @@
|
||||
githubId = 1945;
|
||||
name = "Casey Rodarmor";
|
||||
};
|
||||
caseyavila = {
|
||||
email = "casey@theavilas.org";
|
||||
github = "caseyavila";
|
||||
githubId = 53847249;
|
||||
name = "Casey Avila";
|
||||
};
|
||||
catap = {
|
||||
email = "kirill@korins.ky";
|
||||
github = "catap";
|
||||
@@ -4604,6 +4610,12 @@
|
||||
githubId = 9086315;
|
||||
name = "Connor Brewster";
|
||||
};
|
||||
cbrxyz = {
|
||||
email = "me@cbrxyz.com";
|
||||
github = "cbrxyz";
|
||||
githubId = 52760912;
|
||||
name = "Cameron Brown";
|
||||
};
|
||||
ccellado = {
|
||||
email = "annplague@gmail.com";
|
||||
github = "ccellado";
|
||||
@@ -7978,12 +7990,6 @@
|
||||
github = "EmanuelM153";
|
||||
githubId = 134736553;
|
||||
};
|
||||
emattiza = {
|
||||
email = "nix@mattiza.dev";
|
||||
github = "emattiza";
|
||||
githubId = 11719476;
|
||||
name = "Evan Mattiza";
|
||||
};
|
||||
embr = {
|
||||
email = "hi@liclac.eu";
|
||||
github = "liclac";
|
||||
@@ -9218,6 +9224,12 @@
|
||||
githubId = 119691;
|
||||
name = "Michael Gough";
|
||||
};
|
||||
fraioveio = {
|
||||
email = "francesco@vecchia.lol";
|
||||
github = "FraioVeio";
|
||||
githubId = 181361445;
|
||||
name = "Francesco Vecchia";
|
||||
};
|
||||
franciscod = {
|
||||
github = "franciscod";
|
||||
githubId = 726447;
|
||||
@@ -14036,13 +14048,6 @@
|
||||
github = "keller00";
|
||||
githubId = 8452750;
|
||||
};
|
||||
kennyballou = {
|
||||
email = "kb@devnulllabs.io";
|
||||
github = "kennyballou";
|
||||
githubId = 2186188;
|
||||
name = "Kenny Ballou";
|
||||
keys = [ { fingerprint = "932F 3E8E 1C0F 4A98 95D7 B8B8 B0CA A28A 0295 8308"; } ];
|
||||
};
|
||||
kenran = {
|
||||
email = "johannes.maier@mailbox.org";
|
||||
github = "kenranunderscore";
|
||||
@@ -19073,6 +19078,12 @@
|
||||
{ fingerprint = "5A1D C7CE 51DC 0A85 6DEA 41F7 31A8 CE0D 2E7D 30C3"; }
|
||||
];
|
||||
};
|
||||
naomieow = {
|
||||
name = "Naomi Roberts";
|
||||
email = "mia@naomieow.xyz";
|
||||
github = "naomieow";
|
||||
githubId = 79906167;
|
||||
};
|
||||
naora = {
|
||||
name = "Joris Gundermann";
|
||||
email = "jorisgundermann@gmail.com";
|
||||
@@ -19901,6 +19912,12 @@
|
||||
name = "Alessio Caiazza";
|
||||
matrix = "@alessio:caiazza.info";
|
||||
};
|
||||
nomadium = {
|
||||
email = "miguel@miguel.cc";
|
||||
github = "nomadium";
|
||||
githubId = 79817;
|
||||
name = "Miguel Landaeta";
|
||||
};
|
||||
nomaterials = {
|
||||
email = "nomaterials@gmail.com";
|
||||
github = "no-materials";
|
||||
@@ -20132,9 +20149,6 @@
|
||||
github = "nukdokplex";
|
||||
githubId = 25458915;
|
||||
name = "Viktor Titov";
|
||||
keys = [
|
||||
{ fingerprint = "7CE2 4C42 942D 58EA 99F6 F00A A47E 7374 3EF6 FCC4"; }
|
||||
];
|
||||
};
|
||||
nullcube = {
|
||||
email = "nullcub3@gmail.com";
|
||||
@@ -23069,6 +23083,13 @@
|
||||
githubId = 4196789;
|
||||
name = "Nathan Ringo";
|
||||
};
|
||||
remidupre = {
|
||||
email = "remi+nixpkgs@dupre.io";
|
||||
github = "remi-dupre";
|
||||
githubId = 1173464;
|
||||
name = "Rémi Dupré";
|
||||
keys = [ { fingerprint = "4762 C65B F8D8 6A33 65C1 D10A 4613 02CD 1249 4653"; } ];
|
||||
};
|
||||
remix7531 = {
|
||||
email = "remix7531@mailbox.org";
|
||||
github = "remix7531";
|
||||
@@ -23599,6 +23620,13 @@
|
||||
githubId = 53882428;
|
||||
name = "Erik Rodriguez";
|
||||
};
|
||||
roehrijn = {
|
||||
email = "jan.roehrich@loft.sh";
|
||||
github = "roehrijn";
|
||||
githubId = 2474078;
|
||||
name = "Jan Roehrich";
|
||||
keys = [ { fingerprint = "21C1 F506 455E 95B4 EB39 D566 BAE1 2FF6 0C8A 97F2"; } ];
|
||||
};
|
||||
rogarb = {
|
||||
email = "rogarb@rgarbage.fr";
|
||||
github = "rogarb";
|
||||
|
||||
@@ -110,6 +110,8 @@
|
||||
|
||||
- [dsearch](https://github.com/AvengeMedia/danksearch), a fast filesystem search service with fuzzy matching. Available as [programs.dsearch](#opt-programs.dsearch.enable).
|
||||
|
||||
- [Rustical](https://github.com/lennart-k/rustical), a CalDav/CardDav server aiming to be simple, fast and passwordless. Available as [services.rustical](options.html#opt-services.rustical.enable).
|
||||
|
||||
- [Elephant](https://github.com/abenz1267/elephant), a data provider service and backend for building custom application launchers. Available as [services.elephant](#opt-services.elephant.enable).
|
||||
|
||||
- [Dunst](https://github.com/dunst-project/dunst), a lightweight and customizable notification daemon. Available as [services.dunst](#opt-services.dunst.enable).
|
||||
@@ -162,6 +164,8 @@
|
||||
|
||||
- `systemd.coredump.extraConfig` has been removed in favor of the structured [](#opt-systemd.coredump.settings.Coredump) option. Use `systemd.coredump.settings.Coredump` to set any `coredump.conf(5)` option directly. For example, replace `systemd.coredump.extraConfig = "Storage=journal";` with `systemd.coredump.settings.Coredump.Storage = "journal";`.
|
||||
|
||||
- `services.home-assistant.config.lovelace.mode` has been renamed to `lovelace.dashboards` and `lovelace.resource_mode` to match the [configuration format](https://www.home-assistant.io/dashboards/dashboards/) required by Home Assistant 2026.8. Users who explicitly set `lovelace.mode` should remove it; the module generates the correct entries automatically.
|
||||
|
||||
- `opentrack`, `slushload`, `synthesia`, `vtfedit`, `winbox`, `wineasio`, and `yabridge` use wineWow64Packages instead of wineWowPackages as wine versions >= 11.0 have deprecated wineWowPackages. As such, the prefixes for these packages are NOT backwards compatible and need to be regenerated with potential for data loss.
|
||||
|
||||
- []{#sec-release-26.05-incompatibilities-profiles-hardened-removed} `profiles/hardened` has been removed, because:
|
||||
|
||||
@@ -29,7 +29,6 @@ in
|
||||
[
|
||||
pkgs.libsForQt5.qtstyleplugin-kvantum
|
||||
pkgs.breeze-qt5
|
||||
pkgs.qtcurve
|
||||
];
|
||||
'';
|
||||
description = ''
|
||||
|
||||
@@ -38,7 +38,7 @@ in
|
||||
name = "i2c-udev-rules";
|
||||
text = ''
|
||||
# allow group ${cfg.group} and users with a seat use of i2c devices
|
||||
ACTION=="add", KERNEL=="i2c-[0-9]*", TAG+="uaccess", GROUP="${cfg.group}", MODE="660"
|
||||
ACTION!="remove", KERNEL=="i2c-[0-9]*", TAG+="uaccess", GROUP="${cfg.group}", MODE="660"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/70-i2c.rules";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ./installation-cd-graphical-calamares.nix ];
|
||||
|
||||
isoImage.edition = lib.mkDefault "cosmic";
|
||||
isoImage.configurationName = "COSMIC (Linux LTS)";
|
||||
|
||||
environment.pathsToLink = [ "/share/calamares" ];
|
||||
|
||||
services = {
|
||||
desktopManager.cosmic.enable = true;
|
||||
displayManager = {
|
||||
# Greeter needs to be enabled to handle an idle logout and login
|
||||
cosmic-greeter.enable = true;
|
||||
|
||||
# No need to have a lockscreen on an installer ISO, enable autologin
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "nixos";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules =
|
||||
let
|
||||
desktopDir = "/home/nixos/Desktop";
|
||||
filesInHomePerms = "0644 nixos users -";
|
||||
dirsInHomePerms = "0755 nixos users - -";
|
||||
CosmicAppList_favorites = "${pkgs.writeText "favorites" ''
|
||||
[
|
||||
"calamares",
|
||||
"firefox",
|
||||
"gparted",
|
||||
"com.system76.CosmicFiles",
|
||||
"com.system76.CosmicEdit",
|
||||
"com.system76.CosmicTerm",
|
||||
"com.system76.CosmicSettings",
|
||||
]''}";
|
||||
in
|
||||
[
|
||||
# Need to create ${desktopDir} first or we get an ownership issue because
|
||||
# otherwise ${desktopDir} gets the ownership of `root:root`.
|
||||
"d ${desktopDir} ${dirsInHomePerms}"
|
||||
"L+ ${desktopDir}/calamares.desktop ${filesInHomePerms} ${pkgs.calamares-nixos}/share/applications/calamares.desktop"
|
||||
"L+ ${desktopDir}/firefox.desktop ${filesInHomePerms} ${pkgs.firefox}/share/applications/firefox.desktop"
|
||||
"L+ ${desktopDir}/gparted.desktop ${filesInHomePerms} ${pkgs.gparted}/share/applications/gparted.desktop"
|
||||
"L+ ${desktopDir}/nixos-manual.desktop ${filesInHomePerms} /run/current-system/sw/share/applications/nixos-manual.desktop"
|
||||
|
||||
# Same as ${desktopDir}, need to create all directories in the hierarchy
|
||||
"d /home/nixos/.config ${dirsInHomePerms}"
|
||||
"d /home/nixos/.config/cosmic ${dirsInHomePerms}"
|
||||
"d /home/nixos/.config/cosmic/com.system76.CosmicAppList ${dirsInHomePerms}"
|
||||
"d /home/nixos/.config/cosmic/com.system76.CosmicAppList/v1 ${dirsInHomePerms}"
|
||||
"L+ /home/nixos/.config/cosmic/com.system76.CosmicAppList/v1/favorites ${filesInHomePerms} ${CosmicAppList_favorites}"
|
||||
];
|
||||
|
||||
specialisation = {
|
||||
cosmic_latest_kernel.configuration =
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ ./latest-kernel.nix ];
|
||||
isoImage.configurationName = lib.mkForce "COSMIC (Linux ${config.boot.kernelPackages.kernel.version})";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -7,7 +7,10 @@
|
||||
|
||||
isoImage.edition = lib.mkDefault "plasma6";
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.desktopManager.plasma6 = {
|
||||
enable = true;
|
||||
enableQt5Integration = false;
|
||||
};
|
||||
|
||||
# Automatically login as nixos.
|
||||
services.displayManager = {
|
||||
|
||||
@@ -1768,6 +1768,7 @@
|
||||
./services/web-apps/rimgo.nix
|
||||
./services/web-apps/rss-bridge.nix
|
||||
./services/web-apps/rsshub.nix
|
||||
./services/web-apps/rustical.nix
|
||||
./services/web-apps/rutorrent.nix
|
||||
./services/web-apps/screego.nix
|
||||
./services/web-apps/selfoss.nix
|
||||
|
||||
@@ -70,7 +70,10 @@ let
|
||||
|
||||
zluda = {
|
||||
onFeatures = [
|
||||
"amd-gpu"
|
||||
"cuda"
|
||||
"gpu"
|
||||
"opengl"
|
||||
];
|
||||
paths = [
|
||||
pkgs.addDriverRunpath.driverLink
|
||||
|
||||
@@ -571,7 +571,7 @@ in
|
||||
lib.nameValuePair (redisName name) {
|
||||
description = "System user for the redis-server instance ${name}";
|
||||
isSystemUser = true;
|
||||
group = redisName name;
|
||||
group = conf.group;
|
||||
}
|
||||
) (lib.filterAttrs (name: conf: conf.user == redisName name) enabledServers);
|
||||
users.groups = lib.mapAttrs' (
|
||||
|
||||
@@ -191,8 +191,8 @@ in
|
||||
# Only symlink the KIO plugins, so we don't accidentally pull any services
|
||||
# like KCMs or kcookiejar
|
||||
let
|
||||
kioPluginPath = "${pkgs.plasma5Packages.qtbase.qtPluginPrefix}/kf5/kio";
|
||||
inherit (pkgs.plasma5Packages) kio;
|
||||
kioPluginPath = "${pkgs.libsForQt5.qtbase.qtPluginPrefix}/kf5/kio";
|
||||
inherit (pkgs.libsForQt5.__internalKF5) kio;
|
||||
in
|
||||
pkgs.runCommand "kio5-plugins-only" { } ''
|
||||
mkdir -p $out/${kioPluginPath}
|
||||
|
||||
@@ -141,7 +141,6 @@ in
|
||||
systemd.packages = [ cfg.package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
services.udev.packages = [ cfg.package ];
|
||||
services.supergfxd.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
meta.maintainers = pkgs.asusctl.meta.maintainers;
|
||||
|
||||
@@ -30,6 +30,7 @@ let
|
||||
mapAttrsToList
|
||||
mergeAttrsList
|
||||
mkEnableOption
|
||||
mkDefault
|
||||
mkIf
|
||||
mkMerge
|
||||
mkOption
|
||||
@@ -70,7 +71,7 @@ let
|
||||
# Filter null values from the configuration, so that we can still advertise
|
||||
# optional options in the config attribute.
|
||||
filteredConfig = converge (filterAttrsRecursive (_: v: !elem v [ null ])) (
|
||||
recursiveUpdate customLovelaceModulesResources (cfg.config or { })
|
||||
recursiveUpdate (customLovelaceModulesResources // themesConfig) (cfg.config or { })
|
||||
);
|
||||
configFile = renderYAMLFile "configuration.yaml" filteredConfig;
|
||||
|
||||
@@ -142,13 +143,146 @@ let
|
||||
paths = cfg.customLovelaceModules;
|
||||
};
|
||||
|
||||
# Create parts of the lovelace config that reference lovelave modules as resources
|
||||
# Create parts of the lovelace config that reference lovelace modules as resources
|
||||
customLovelaceModulesResources = {
|
||||
lovelace.resources = map (card: {
|
||||
url = "/local/nixos-lovelace-modules/${card.entrypoint or (card.pname + ".js")}?${card.version}";
|
||||
type = "module";
|
||||
}) cfg.customLovelaceModules;
|
||||
};
|
||||
|
||||
# Create a directory that holds all lovelace themes
|
||||
themesDir = pkgs.buildEnv {
|
||||
name = "home-assistant-themes";
|
||||
paths = cfg.themes;
|
||||
};
|
||||
|
||||
# Auto-inject frontend.themes include directive when themes are used.
|
||||
themesConfig =
|
||||
if cfg.themes != [ ] then
|
||||
{
|
||||
frontend.themes = "!include_dir_merge_named ${themesDir}/themes";
|
||||
}
|
||||
else
|
||||
{ };
|
||||
|
||||
componentsUsingBluetooth = [
|
||||
# Components that require the AF_BLUETOOTH address family
|
||||
"august"
|
||||
"august_ble"
|
||||
"airthings_ble"
|
||||
"aranet"
|
||||
"bluemaestro"
|
||||
"bluetooth"
|
||||
"bluetooth_adapters"
|
||||
"bluetooth_le_tracker"
|
||||
"bluetooth_tracker"
|
||||
"bthome"
|
||||
"default_config"
|
||||
"eufylife_ble"
|
||||
"esphome"
|
||||
"fjaraskupan"
|
||||
"gardena_bluetooth"
|
||||
"govee_ble"
|
||||
"homekit_controller"
|
||||
"inkbird"
|
||||
"improv_ble"
|
||||
"keymitt_ble"
|
||||
"ld2410_ble"
|
||||
"leaone"
|
||||
"led_ble"
|
||||
"medcom_ble"
|
||||
"melnor"
|
||||
"moat"
|
||||
"mopeka"
|
||||
"motionblinds_ble"
|
||||
"oralb"
|
||||
"private_ble_device"
|
||||
"qingping"
|
||||
"rapt_ble"
|
||||
"ruuvi_gateway"
|
||||
"ruuvitag_ble"
|
||||
"sensirion_ble"
|
||||
"sensorpro"
|
||||
"sensorpush"
|
||||
"shelly"
|
||||
"snooz"
|
||||
"switchbot"
|
||||
"thermobeacon"
|
||||
"thermopro"
|
||||
"tilt_ble"
|
||||
"xiaomi_ble"
|
||||
"yalexs_ble"
|
||||
];
|
||||
componentsUsingPacketCapture = [
|
||||
"default_config" # includes dhcp
|
||||
"dhcp"
|
||||
];
|
||||
componentsUsingPing = [
|
||||
# Components that require the capset syscall for the ping wrapper
|
||||
"ping"
|
||||
"wake_on_lan"
|
||||
];
|
||||
componentsUsingSerialDevices = [
|
||||
# Components that require access to serial devices (/dev/tty*)
|
||||
# List generated from home-assistant documentation:
|
||||
# git clone https://github.com/home-assistant/home-assistant.io/
|
||||
# cd source/_integrations
|
||||
# rg "/dev/tty" -l | cut -d'/' -f3 | cut -d'.' -f1 | sort
|
||||
# And then extended by references found in the source code, these
|
||||
# mostly the ones using config flows already.
|
||||
"acer_projector"
|
||||
"alarmdecoder"
|
||||
"aurora_abb_powerone"
|
||||
"blackbird"
|
||||
"bryant_evolution"
|
||||
"crownstone"
|
||||
"deconz"
|
||||
"dsmr"
|
||||
"edl21"
|
||||
"elkm1"
|
||||
"elv"
|
||||
"enocean"
|
||||
"homeassistant_hardware"
|
||||
"homeassistant_yellow"
|
||||
"firmata"
|
||||
"flexit"
|
||||
"gpsd"
|
||||
"insteon"
|
||||
"kwb"
|
||||
"lacrosse"
|
||||
"landisgyr_heat_meter"
|
||||
"modbus"
|
||||
"modem_callerid"
|
||||
"mysensors"
|
||||
"nad"
|
||||
"numato"
|
||||
"nut"
|
||||
"opentherm_gw"
|
||||
"otbr"
|
||||
"rainforst_raven"
|
||||
"rflink"
|
||||
"rfxtrx"
|
||||
"scsgate"
|
||||
"serial"
|
||||
"serial_pm"
|
||||
"sms"
|
||||
"upb"
|
||||
"usb"
|
||||
"velbus"
|
||||
"w800rf32"
|
||||
"zha"
|
||||
"zwave"
|
||||
"zwave_js"
|
||||
|
||||
# Custom components, maintained manually.
|
||||
"amshan"
|
||||
"benqprojector"
|
||||
];
|
||||
componentsUsingInputDevices = [
|
||||
# Components that require access to input devices (/dev/input/*)
|
||||
"keyboard_remote"
|
||||
];
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
@@ -319,7 +453,35 @@ in
|
||||
Available cards can be found below `pkgs.home-assistant-custom-lovelace-modules`.
|
||||
|
||||
::: {.note}
|
||||
Automatic loading only works with lovelace in `yaml` mode.
|
||||
When non-empty, `lovelace.resource_mode` is automatically set to `"yaml"`
|
||||
so that resources are loaded from the YAML configuration.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
themes = mkOption {
|
||||
type = types.listOf (
|
||||
types.addCheck types.package (p: p.isHomeAssistantTheme or false)
|
||||
// {
|
||||
name = "home-assistant-theme";
|
||||
description = "package that is a Home Assistant theme";
|
||||
}
|
||||
);
|
||||
default = [ ];
|
||||
example = literalExpression ''
|
||||
with pkgs.home-assistant-themes; [
|
||||
material-you-theme
|
||||
];
|
||||
'';
|
||||
description = ''
|
||||
List of themes to load.
|
||||
|
||||
Available themes can be found below `pkgs.home-assistant-themes`.
|
||||
|
||||
::: {.note}
|
||||
When `themes` is set, the module takes authoritative control
|
||||
over the `frontend.themes` setting in
|
||||
{option}`services.home-assistant.config`.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
@@ -428,21 +590,57 @@ in
|
||||
|
||||
lovelace = {
|
||||
# https://www.home-assistant.io/lovelace/dashboards/
|
||||
mode = mkOption {
|
||||
type = types.enum [
|
||||
"yaml"
|
||||
"storage"
|
||||
];
|
||||
dashboards.nixos-lovelace = mkOption {
|
||||
type = types.nullOr format.type;
|
||||
default =
|
||||
if (cfg.lovelaceConfig != null || cfg.lovelaceConfigFile != null) then "yaml" else "storage";
|
||||
if cfg.lovelaceConfig != null || cfg.lovelaceConfigFile != null then
|
||||
{
|
||||
mode = "yaml";
|
||||
filename = "ui-lovelace.yaml";
|
||||
title = "Overview";
|
||||
icon = "mdi:view-dashboard";
|
||||
show_in_sidebar = true;
|
||||
}
|
||||
else
|
||||
null;
|
||||
defaultText = literalExpression ''
|
||||
if (cfg.lovelaceConfig != null || cfg.lovelaceConfigFile != null)
|
||||
then "yaml"
|
||||
else "storage";
|
||||
if cfg.lovelaceConfig != null || cfg.lovelaceConfigFile != null then {
|
||||
mode = "yaml";
|
||||
filename = "ui-lovelace.yaml";
|
||||
title = "Overview";
|
||||
icon = "mdi:view-dashboard";
|
||||
show_in_sidebar = true;
|
||||
} else null
|
||||
'';
|
||||
example = "yaml";
|
||||
description = ''
|
||||
In what mode should the main Lovelace panel be, `yaml` or `storage` (UI managed).
|
||||
Default NixOS-managed Lovelace dashboard. Automatically populated
|
||||
when {option}`lovelaceConfig` or {option}`lovelaceConfigFile` is set.
|
||||
|
||||
Additional dashboards can be defined under
|
||||
`config.lovelace.dashboards.<name>`.
|
||||
|
||||
See <https://www.home-assistant.io/lovelace/dashboards/> for details.
|
||||
'';
|
||||
};
|
||||
|
||||
resource_mode = mkOption {
|
||||
type = types.nullOr (
|
||||
types.enum [
|
||||
"yaml"
|
||||
"storage"
|
||||
]
|
||||
);
|
||||
default = if cfg.customLovelaceModules != [ ] then "yaml" else null;
|
||||
defaultText = literalExpression ''
|
||||
if cfg.customLovelaceModules != [ ] then "yaml" else null
|
||||
'';
|
||||
description = ''
|
||||
Set to `"yaml"` to load Lovelace resources from YAML configuration,
|
||||
or `"storage"` to manage them through the UI. See
|
||||
<https://www.home-assistant.io/dashboards/dashboards/#resource_mode>.
|
||||
|
||||
Automatically set to `"yaml"` when {option}`customLovelaceModules`
|
||||
is non-empty.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -510,7 +708,7 @@ in
|
||||
'';
|
||||
description = ''
|
||||
Your {file}`ui-lovelace.yaml` as a Nix attribute set.
|
||||
Setting this option will automatically set `lovelace.mode` to `yaml`.
|
||||
Setting this option will automatically configure a Lovelace dashboard in YAML mode.
|
||||
|
||||
Beware that setting this option will delete your previous {file}`ui-lovelace.yaml`
|
||||
'';
|
||||
@@ -521,8 +719,8 @@ in
|
||||
type = types.nullOr types.path;
|
||||
example = "/path/to/ui-lovelace.yaml";
|
||||
description = ''
|
||||
Your {file}`ui-lovelace.yaml` managed as configuraton file.
|
||||
Setting this option will automatically set `lovelace.mode` to `yaml`.
|
||||
Your {file}`ui-lovelace.yaml` managed as configuration file.
|
||||
Setting this option will automatically configure a Lovelace dashboard in YAML mode.
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -619,6 +817,19 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
warnings = optionals (cfg.config ? lovelace.mode) [
|
||||
''
|
||||
services.home-assistant.config.lovelace.mode is deprecated.
|
||||
Home Assistant 2026.8 renames the legacy top-level `lovelace.mode`
|
||||
setting in favour of per-dashboard configuration.
|
||||
|
||||
Use `services.home-assistant.config.lovelace.dashboards` and
|
||||
`services.home-assistant.config.lovelace.resource_mode` instead.
|
||||
|
||||
See https://www.home-assistant.io/dashboards/dashboards/ for details.
|
||||
''
|
||||
];
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.openFirewall -> cfg.config != null;
|
||||
@@ -628,6 +839,10 @@ in
|
||||
assertion = !(cfg.lovelaceConfig != null && cfg.lovelaceConfigFile != null);
|
||||
message = "Only one of `lovelaceConfig` or `lovelaceConfigFile` can be configured at the same time.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.themes != [ ] -> !(hasAttrByPath [ "frontend" "themes" ] (cfg.config or { }));
|
||||
message = "`services.home-assistant.themes` and `services.home-assistant.config.frontend.themes` cannot both be set. When `themes` is non-empty the module sets `frontend.themes` authoritatively.";
|
||||
}
|
||||
];
|
||||
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.config.http.server_port ];
|
||||
@@ -711,6 +926,7 @@ in
|
||||
ln -fns "''${paths[@]}" "${cfg.configDir}/custom_components/"
|
||||
done
|
||||
'';
|
||||
|
||||
removeBlueprints = ''
|
||||
# remove blueprints symlinked in from below the /nix/store
|
||||
readarray -d "" blueprints < <(find "${cfg.configDir}/blueprints" -maxdepth 2 -type l -print0)
|
||||
@@ -757,6 +973,10 @@ in
|
||||
"CAP_NET_ADMIN"
|
||||
"CAP_NET_RAW"
|
||||
]
|
||||
++ optionals (any useComponent componentsUsingPacketCapture) [
|
||||
# Raw packet capture using AF_PACKET
|
||||
"CAP_NET_RAW"
|
||||
]
|
||||
++ optionals (useComponent "emulated_hue") [
|
||||
# Alexa looks for the service on port 80
|
||||
# https://www.home-assistant.io/integrations/emulated_hue
|
||||
@@ -769,119 +989,6 @@ in
|
||||
"CAP_NET_RAW"
|
||||
]
|
||||
);
|
||||
componentsUsingBluetooth = [
|
||||
# Components that require the AF_BLUETOOTH address family
|
||||
"august"
|
||||
"august_ble"
|
||||
"airthings_ble"
|
||||
"aranet"
|
||||
"bluemaestro"
|
||||
"bluetooth"
|
||||
"bluetooth_adapters"
|
||||
"bluetooth_le_tracker"
|
||||
"bluetooth_tracker"
|
||||
"bthome"
|
||||
"default_config"
|
||||
"eufylife_ble"
|
||||
"esphome"
|
||||
"fjaraskupan"
|
||||
"gardena_bluetooth"
|
||||
"govee_ble"
|
||||
"homekit_controller"
|
||||
"inkbird"
|
||||
"improv_ble"
|
||||
"keymitt_ble"
|
||||
"ld2410_ble"
|
||||
"leaone"
|
||||
"led_ble"
|
||||
"medcom_ble"
|
||||
"melnor"
|
||||
"moat"
|
||||
"mopeka"
|
||||
"motionblinds_ble"
|
||||
"oralb"
|
||||
"private_ble_device"
|
||||
"qingping"
|
||||
"rapt_ble"
|
||||
"ruuvi_gateway"
|
||||
"ruuvitag_ble"
|
||||
"sensirion_ble"
|
||||
"sensorpro"
|
||||
"sensorpush"
|
||||
"shelly"
|
||||
"snooz"
|
||||
"switchbot"
|
||||
"thermobeacon"
|
||||
"thermopro"
|
||||
"tilt_ble"
|
||||
"xiaomi_ble"
|
||||
"yalexs_ble"
|
||||
];
|
||||
componentsUsingPing = [
|
||||
# Components that require the capset syscall for the ping wrapper
|
||||
"ping"
|
||||
"wake_on_lan"
|
||||
];
|
||||
componentsUsingSerialDevices = [
|
||||
# Components that require access to serial devices (/dev/tty*)
|
||||
# List generated from home-assistant documentation:
|
||||
# git clone https://github.com/home-assistant/home-assistant.io/
|
||||
# cd source/_integrations
|
||||
# rg "/dev/tty" -l | cut -d'/' -f3 | cut -d'.' -f1 | sort
|
||||
# And then extended by references found in the source code, these
|
||||
# mostly the ones using config flows already.
|
||||
"acer_projector"
|
||||
"alarmdecoder"
|
||||
"aurora_abb_powerone"
|
||||
"blackbird"
|
||||
"bryant_evolution"
|
||||
"crownstone"
|
||||
"deconz"
|
||||
"dsmr"
|
||||
"edl21"
|
||||
"elkm1"
|
||||
"elv"
|
||||
"enocean"
|
||||
"homeassistant_hardware"
|
||||
"homeassistant_yellow"
|
||||
"firmata"
|
||||
"flexit"
|
||||
"gpsd"
|
||||
"insteon"
|
||||
"kwb"
|
||||
"lacrosse"
|
||||
"landisgyr_heat_meter"
|
||||
"modbus"
|
||||
"modem_callerid"
|
||||
"mysensors"
|
||||
"nad"
|
||||
"numato"
|
||||
"nut"
|
||||
"opentherm_gw"
|
||||
"otbr"
|
||||
"rainforst_raven"
|
||||
"rflink"
|
||||
"rfxtrx"
|
||||
"scsgate"
|
||||
"serial"
|
||||
"serial_pm"
|
||||
"sms"
|
||||
"upb"
|
||||
"usb"
|
||||
"velbus"
|
||||
"w800rf32"
|
||||
"zha"
|
||||
"zwave"
|
||||
"zwave_js"
|
||||
|
||||
# Custom components, maintained manually.
|
||||
"amshan"
|
||||
"benqprojector"
|
||||
];
|
||||
componentsUsingInputDevices = [
|
||||
# Components that require access to input devices (/dev/input/*)
|
||||
"keyboard_remote"
|
||||
];
|
||||
in
|
||||
{
|
||||
ExecStart = escapeSystemdExecArgs (
|
||||
@@ -958,6 +1065,9 @@ in
|
||||
]
|
||||
++ optionals (any useComponent componentsUsingBluetooth) [
|
||||
"AF_BLUETOOTH"
|
||||
]
|
||||
++ optionals (any useComponent componentsUsingPacketCapture) [
|
||||
"AF_PACKET"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
@@ -980,9 +1090,11 @@ in
|
||||
];
|
||||
UMask = "0077";
|
||||
};
|
||||
path = [
|
||||
pkgs.unixtools.ping # needed for ping
|
||||
];
|
||||
path =
|
||||
with pkgs;
|
||||
lib.optionals (useComponent "go2rtc") [ pkgs.go2rtc ]
|
||||
++ lib.optionals (useComponent "picotts") [ pkgs.picotts ]
|
||||
++ lib.optionals (any useComponent componentsUsingPing) [ unixtools.ping ];
|
||||
};
|
||||
|
||||
systemd.targets.home-assistant = rec {
|
||||
|
||||
@@ -36,8 +36,6 @@ let
|
||||
generic = (
|
||||
cfg.server.extraOptions
|
||||
// {
|
||||
user = "root";
|
||||
group = "root";
|
||||
port = cfg.server.listenPort;
|
||||
}
|
||||
// (optionalAttrs (cfg.server.listenAddress != null) {
|
||||
@@ -155,8 +153,8 @@ in
|
||||
before = [ "multi-user.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.nbd}/bin/nbd-server -C ${serverConfig}";
|
||||
Type = "forking";
|
||||
ExecStart = "${pkgs.nbd}/bin/nbd-server -n -C ${serverConfig}";
|
||||
Type = "simple";
|
||||
|
||||
DeviceAllow = map (path: "${path} rw") allowedDevices;
|
||||
BindPaths = boundPaths;
|
||||
|
||||
@@ -9,7 +9,7 @@ let
|
||||
iniFmt = pkgs.formats.ini { };
|
||||
in
|
||||
{
|
||||
options.programs.reframe = {
|
||||
options.services.reframe = {
|
||||
enable = lib.mkEnableOption "DRM/KMS based remote desktop for Linux that supports Wayland/NVIDIA/headless/login…";
|
||||
package = lib.mkPackageOption pkgs "reframe" { };
|
||||
configs = lib.mkOption {
|
||||
@@ -113,7 +113,7 @@ in
|
||||
"cpu"
|
||||
"gpu"
|
||||
];
|
||||
default = true;
|
||||
default = "cpu";
|
||||
description = ''
|
||||
Set to `gpu` to use GPU damage region detection, which may be more efficiency but may cause artifacts depending on GPU vendors.
|
||||
Set to `cpu` to use CPU damage region detection if you get bugs with `gpu`.
|
||||
@@ -173,7 +173,7 @@ in
|
||||
description = "ReFrame Remote Desktop";
|
||||
};
|
||||
users.groups.reframe = { };
|
||||
environment.etc = builtins.mapAttrs' (
|
||||
environment.etc = lib.mapAttrs' (
|
||||
name: value:
|
||||
lib.nameValuePair "reframe/${name}.conf" {
|
||||
mode = "0644";
|
||||
|
||||
@@ -147,7 +147,7 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
boot.kernelModules = [ "uinput" ];
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
services.udev.packages = [ cfg.package ];
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ let
|
||||
types
|
||||
optional
|
||||
optionalString
|
||||
escapeShellArg
|
||||
;
|
||||
|
||||
cfg = config.services.lasuite-docs;
|
||||
@@ -76,6 +77,20 @@ let
|
||||
SystemCallArchitectures = "native";
|
||||
UMask = "0077";
|
||||
};
|
||||
|
||||
# Convert environment variables to be used as systemd-run arguments
|
||||
envArgs = lib.concatStringsSep " " (
|
||||
lib.mapAttrsToList (name: value: "-E ${escapeShellArg "${name}=${value}"}") pythonEnvironment
|
||||
);
|
||||
|
||||
# Easier usage of django manage.py stuff
|
||||
manage = pkgs.writeShellScriptBin "lasuite-docs-manage" ''
|
||||
exec ${lib.getExe' config.systemd.package "systemd-run"} \
|
||||
-p User=${commonServiceConfig.User} -p DynamicUser=yes \
|
||||
-p StateDirectory=${commonServiceConfig.StateDirectory} --working-directory=${commonServiceConfig.WorkingDirectory} \
|
||||
--quiet --collect --pipe --pty \
|
||||
${envArgs} ${lib.getExe cfg.backendPackage} "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.services.lasuite-docs = {
|
||||
@@ -346,6 +361,7 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ manage ];
|
||||
systemd.services.lasuite-docs-postgresql-setup = mkIf cfg.postgresql.createLocally {
|
||||
wantedBy = [ "lasuite-docs.target" ];
|
||||
requiredBy = [ "lasuite-docs.service" ];
|
||||
@@ -534,6 +550,10 @@ in
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/static/" = {
|
||||
alias = "${cfg.backendPackage}/share/static/";
|
||||
};
|
||||
|
||||
locations."/collaboration/ws/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.collaborationServer.port}";
|
||||
recommendedProxySettings = true;
|
||||
|
||||
@@ -7,12 +7,16 @@
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
elem
|
||||
getExe
|
||||
mapAttrs
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkMerge
|
||||
mkPackageOption
|
||||
mkOption
|
||||
mkRemovedOptionModule
|
||||
mkRenamedOptionModule
|
||||
types
|
||||
optional
|
||||
optionalString
|
||||
@@ -77,12 +81,37 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "lasuite-meet" "backendPackage" ]
|
||||
[ "services" "lasuite-meet" "package" ]
|
||||
)
|
||||
(mkRemovedOptionModule [
|
||||
"services"
|
||||
"lasuite-meet"
|
||||
"frontendPackage"
|
||||
] "services.lasuite-mette.package.frotend should be used instead")
|
||||
];
|
||||
|
||||
options.services.lasuite-meet = {
|
||||
enable = mkEnableOption "SuiteNumérique Meet";
|
||||
|
||||
backendPackage = mkPackageOption pkgs "lasuite-meet" { };
|
||||
package = mkPackageOption pkgs "lasuite-meet" { };
|
||||
|
||||
frontendPackage = mkPackageOption pkgs "lasuite-meet-frontend" { };
|
||||
addons = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"outlook"
|
||||
]
|
||||
);
|
||||
default = [ ];
|
||||
example = ''
|
||||
[
|
||||
"outlook"
|
||||
]
|
||||
'';
|
||||
description = "Addons to use and configure";
|
||||
};
|
||||
|
||||
bind = mkOption {
|
||||
type = types.str;
|
||||
@@ -295,7 +324,7 @@ in
|
||||
'';
|
||||
description = ''
|
||||
Configuration options of meet.
|
||||
See https://github.com/suitenumerique/meet/blob/v${cfg.backendPackage.version}/docs/env.md
|
||||
See https://github.com/suitenumerique/meet/blob/v${cfg.package.version}/docs/env.md
|
||||
`REDIS_URL` and `CELERY_BROKER_URL` are set if `services.lasuite-meet.redis.createLocally` is true.
|
||||
`DB_NAME` `DB_USER` and `DB_HOST` are set if `services.lasuite-meet.postgresql.createLocally` is true.
|
||||
'';
|
||||
@@ -340,20 +369,20 @@ in
|
||||
)
|
||||
fi
|
||||
''}
|
||||
if [ "${cfg.backendPackage.version}" != "$(cat .version)" ]; then
|
||||
${getExe cfg.backendPackage} migrate
|
||||
echo -n "${cfg.backendPackage.version}" > .version
|
||||
if [ "${cfg.package.version}" != "$(cat .version)" ]; then
|
||||
${getExe cfg.package} migrate
|
||||
echo -n "${cfg.package.version}" > .version
|
||||
fi
|
||||
'';
|
||||
|
||||
environment = pythonEnvironment;
|
||||
|
||||
serviceConfig = {
|
||||
BindReadOnlyPaths = "${cfg.backendPackage}/share/static:/var/lib/lasuite-meet/static";
|
||||
BindReadOnlyPaths = "${cfg.package}/share/static:/var/lib/lasuite-meet/static";
|
||||
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[
|
||||
(lib.getExe' cfg.backendPackage "gunicorn")
|
||||
(lib.getExe' cfg.package "gunicorn")
|
||||
"--bind=${cfg.bind}"
|
||||
]
|
||||
++ cfg.gunicorn.extraArgs
|
||||
@@ -381,7 +410,7 @@ in
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[ (lib.getExe' cfg.backendPackage "celery") ]
|
||||
[ (lib.getExe' cfg.package "celery") ]
|
||||
++ cfg.celery.extraArgs
|
||||
++ [
|
||||
"--app=meet.celery_app"
|
||||
@@ -417,36 +446,97 @@ in
|
||||
services.nginx = mkIf cfg.enableNginx {
|
||||
enable = true;
|
||||
|
||||
virtualHosts.${cfg.domain} = {
|
||||
root = cfg.frontendPackage;
|
||||
virtualHosts.${cfg.domain} = mkMerge [
|
||||
{
|
||||
root = cfg.package.frontend;
|
||||
|
||||
extraConfig = ''
|
||||
error_page 404 = /index.html;
|
||||
'';
|
||||
|
||||
locations."/api" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/admin" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/static" = {
|
||||
root = "${cfg.backendPackage}/share";
|
||||
};
|
||||
|
||||
locations."/livekit" = mkIf cfg.livekit.enable {
|
||||
proxyPass = "http://localhost:${toString config.services.livekit.settings.port}";
|
||||
recommendedProxySettings = true;
|
||||
proxyWebsockets = true;
|
||||
extraConfig = ''
|
||||
rewrite ^/livekit/(.*)$ /$1 break;
|
||||
error_page 404 = /index.html;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
locations."/api" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/admin" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/static" = {
|
||||
root = "${cfg.package}/share";
|
||||
};
|
||||
}
|
||||
(mkIf cfg.livekit.enable {
|
||||
locations."/livekit" = {
|
||||
proxyPass = "http://localhost:${toString config.services.livekit.settings.port}";
|
||||
recommendedProxySettings = true;
|
||||
proxyWebsockets = true;
|
||||
extraConfig = ''
|
||||
rewrite ^/livekit/(.*)$ /$1 break;
|
||||
'';
|
||||
};
|
||||
})
|
||||
(mkIf (elem "outlook" cfg.addons) {
|
||||
locations."= /.well-known/windows-app-web-link" = {
|
||||
alias = pkgs.writeText "lasuite-meet-winsows-app-web-link.json" ''
|
||||
[{
|
||||
"packageFamilyName" : "Visio_g3z6ba6vek6vg",
|
||||
"paths" : [ "*" ]
|
||||
}]
|
||||
'';
|
||||
extraConfig = ''
|
||||
default_type application/json;
|
||||
add_header Content-Disposition "attachment; filename=windows-app-web-link";
|
||||
'';
|
||||
};
|
||||
|
||||
locations."= /addons/outlook/manifest.xml" = {
|
||||
alias = pkgs.stdenv.mkDerivation {
|
||||
name = "lasuite-meet-manifest.xml";
|
||||
buildCommand = ''
|
||||
substitute ${cfg.package.addons.outlook}/manifest.xml $out \
|
||||
--replace-fail "__APP_NAME__" "LaSuite Meet" \
|
||||
--replace-fail "https://localhost:3000/" "https://${cfg.domain}/addons/outlook/"
|
||||
'';
|
||||
};
|
||||
extraConfig = ''
|
||||
add_header Access-Control-Allow-Origin "*";
|
||||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||||
add_header X-Frame-Options "DENY";
|
||||
add_header Content-Security-Policy "frame-ancestors 'none'";
|
||||
'';
|
||||
};
|
||||
|
||||
locations."/addons/outlook/" = {
|
||||
alias = "${cfg.package.addons.outlook}/";
|
||||
extraConfig = ''
|
||||
error_page 404 =200 /index.html;
|
||||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||||
add_header Pragma "no-cache" always;
|
||||
add_header Expires 0 always;
|
||||
|
||||
set $ms_domains "https://*.live.com https://*.office.com https://*.microsoft.com https://*.office365.com https://*.sharepoint.com";
|
||||
|
||||
set $nonce $request_id;
|
||||
|
||||
set $csp "upgrade-insecure-requests; ";
|
||||
set $csp "''${csp}frame-ancestors ''${ms_domains}; ";
|
||||
set $csp "''${csp}script-src 'nonce-''${nonce}' 'strict-dynamic'; ";
|
||||
set $csp "''${csp}connect-src 'self' ''${ms_domains}; ";
|
||||
set $csp "''${csp}frame-src 'none'; ";
|
||||
set $csp "''${csp}object-src 'none'; ";
|
||||
set $csp "''${csp}base-uri 'none'; ";
|
||||
|
||||
add_header Content-Security-Policy $csp;
|
||||
|
||||
sub_filter 'NONCE_PLACEHOLDER' $nonce;
|
||||
sub_filter_once off;
|
||||
'';
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ in
|
||||
environment = env;
|
||||
|
||||
path = with pkgs; [
|
||||
nodejs_20
|
||||
cfg.package.nodejs
|
||||
yarn
|
||||
ffmpeg-headless
|
||||
openssl
|
||||
@@ -946,7 +946,7 @@ in
|
||||
})
|
||||
(lib.attrsets.setAttrByPath
|
||||
[ cfg.user "packages" ]
|
||||
[ peertubeEnv pkgs.nodejs_20 pkgs.yarn pkgs.ffmpeg-headless ]
|
||||
[ peertubeEnv cfg.package.nodejs pkgs.yarn pkgs.ffmpeg-headless ]
|
||||
)
|
||||
(lib.mkIf cfg.redis.enableUnixSocket {
|
||||
${config.services.peertube.user}.extraGroups = [ "redis-peertube" ];
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkPackageOption
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.services.rustical;
|
||||
|
||||
format = pkgs.formats.toml { };
|
||||
configFile = format.generate "rustical.toml" cfg.settings;
|
||||
in
|
||||
|
||||
{
|
||||
options.services.rustical = {
|
||||
enable = mkEnableOption "RustiCali CalDAV/CardDAV server";
|
||||
|
||||
package = mkPackageOption pkgs "rustical" { };
|
||||
|
||||
settings = mkOption {
|
||||
description = ''
|
||||
Your {file}`/etc/rustical/config.toml` as a Nix attribute set.
|
||||
|
||||
Possible options can be found in the [Config struct]. A default
|
||||
configuration can be viewed by running `rustical gen-config`.
|
||||
|
||||
[Config struct]: https://lennart-k.github.io/rustical/_crate/rustical/config/struct.Config.html
|
||||
'';
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
data_store.sqlite = {
|
||||
db_url = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/rustical/db.sqlite3";
|
||||
description = ''
|
||||
Path where the sqlite database is stored.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
frontend = {
|
||||
enabled = mkEnableOption "the HTTP frontend" // {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
http = {
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "[::1]";
|
||||
example = "[::]";
|
||||
description = ''
|
||||
Host address to bind the HTTP service to.
|
||||
|
||||
:::{.note}
|
||||
Rustical expects to be hosted behind a reverse proxy that
|
||||
provides HTTPS. Without HTTPS, the web frontend and some clients
|
||||
(e.g. Apple Calendar) may not work.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 4000;
|
||||
description = ''
|
||||
Port to bind the HTTP service to.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
dav_push.enabled = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable [WebDav Push] support.
|
||||
|
||||
This allows the server to notify clients about changed data.
|
||||
|
||||
[WebDav Push]: https://github.com/bitfireAT/webdav-push/
|
||||
'';
|
||||
};
|
||||
|
||||
nextcloud_login.enabled = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to emulate the Nextcloud login flow.
|
||||
|
||||
This is supported in [DAVx5] and enables automatic app token generation.
|
||||
|
||||
[DAVx5]: https://www.davx5.com/
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environmentFiles = mkOption {
|
||||
type = with types; listOf path;
|
||||
default = [ ];
|
||||
example = [ "/run/keys/rustical.env" ];
|
||||
description = ''
|
||||
Environment files to load into the runtime environment.
|
||||
|
||||
Check the documentation for how to construct [environment variables].
|
||||
|
||||
:::{.tip}
|
||||
Environment variables can substitute any config value and are useful for
|
||||
hiding secrets.
|
||||
:::
|
||||
|
||||
[environment variables]: https://lennart-k.github.io/rustical/installation/configuration/#environment-variables
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# install the config at a path where the cli will find it
|
||||
environment.etc."rustical/config.toml".source = configFile;
|
||||
|
||||
# provide the rustical cli
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.rustical = {
|
||||
description = "RustiCal CalDav/CardDav server";
|
||||
documentation = [ "https://lennart-k.github.io/rustical/" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
restartTriggers = [ configFile ];
|
||||
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
EnvironmentFile = cfg.environmentFiles;
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "rustical";
|
||||
|
||||
CapabilityBoundingSet = "";
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged @resources"
|
||||
];
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
UMask = "0077";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -412,7 +412,9 @@ in
|
||||
|
||||
echo -n "$kernelParams" > $out/kernel-params
|
||||
|
||||
ln -s ${initrdPath} $out/initrd
|
||||
${optionalString config.boot.initrd.enable ''
|
||||
ln -s ${initrdPath} $out/initrd
|
||||
''}
|
||||
|
||||
${optionalString (config.boot.initrd.secrets != { }) ''
|
||||
ln -s ${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets $out
|
||||
|
||||
@@ -395,7 +395,7 @@ def option_from_config(name: str, config_path: List[str]) -> str:
|
||||
return ""
|
||||
if isinstance(value, bool):
|
||||
value = bool_to_yes_no(value)
|
||||
return f"{name}: {config(*config_path)}\n"
|
||||
return f"{name}: {value}\n"
|
||||
|
||||
|
||||
def install_bootloader() -> None:
|
||||
|
||||
@@ -204,11 +204,11 @@ let
|
||||
poolImported "${pool}" || poolImport "${pool}" # Try one last time, e.g. to import a degraded pool.
|
||||
fi
|
||||
if poolImported "${pool}"; then
|
||||
${lib.optionalString config.boot.initrd.clevis.enable (
|
||||
lib.concatMapStringsSep "\n" (
|
||||
elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key -L prompt ${elem} || true "
|
||||
) (lib.filter (p: (lib.elemAt (lib.splitString "/" p) 0) == pool) clevisDatasets)
|
||||
)}
|
||||
${lib.optionalString config.boot.initrd.clevis.enable (
|
||||
lib.concatMapStringsSep "\n" (
|
||||
elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key -L prompt ${elem} || true "
|
||||
) (lib.filter (p: (lib.elemAt (lib.splitString "/" p) 0) == pool) clevisDatasets)
|
||||
)}
|
||||
|
||||
|
||||
${lib.optionalString keyLocations.hasKeys ''
|
||||
|
||||
@@ -24,9 +24,10 @@ in
|
||||
options = {
|
||||
virtualisation.kvmgt = {
|
||||
enable = mkEnableOption ''
|
||||
KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card.
|
||||
Currently only one graphical device can be shared. To allow users to access the device without root add them
|
||||
to the kvm group: `users.extraUsers.<yourusername>.extraGroups = [ "kvm" ];`
|
||||
KVMGT (iGVT-g) VGPU support.
|
||||
When enabled on a host, allows Qemu/KVM guests to share host's Intel integrated graphics card.
|
||||
Currently only one graphical device can be shared.
|
||||
To allow host users to access the device without root add them to the kvm group: `users.extraUsers.<yourusername>.extraGroups = [ "kvm" ];`
|
||||
'';
|
||||
# multi GPU support is under the question
|
||||
device = mkOption {
|
||||
@@ -38,8 +39,8 @@ in
|
||||
default = { };
|
||||
type = with types; attrsOf (submodule [ { options = vgpuOptions; } ]);
|
||||
description = ''
|
||||
Virtual GPUs to be used in Qemu. You can find devices via {command}`ls /sys/bus/pci/devices/*/mdev_supported_types`
|
||||
and find info about device via {command}`cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description`
|
||||
Virtual GPUs of the host to be used in Qemu.
|
||||
You can find devices via {command}`ls /sys/bus/pci/devices/*/mdev_supported_types` and find info about device via {command}`cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description`
|
||||
'';
|
||||
example = {
|
||||
i915-GVTg_V5_8.uuid = [ "a297db4a-f4c2-11e6-90f6-d3b88d6c9525" ];
|
||||
|
||||
@@ -1469,6 +1469,7 @@ in
|
||||
rtkit = runTest ./rtkit.nix;
|
||||
rtorrent = runTest ./rtorrent.nix;
|
||||
rush = runTest ./rush.nix;
|
||||
rustical = runTest ./web-apps/rustical.nix;
|
||||
rustls-libssl = runTest ./rustls-libssl.nix;
|
||||
rxe = runTest ./rxe.nix;
|
||||
sabnzbd = runTest ./sabnzbd.nix;
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
''
|
||||
start_all()
|
||||
|
||||
harmonia.wait_for_unit("harmonia.service")
|
||||
harmonia.wait_for_unit("harmonia.socket")
|
||||
|
||||
client01.wait_until_succeeds("curl -f http://harmonia:5000/nix-cache-info | grep '${toString nodes.harmonia.services.harmonia.cache.settings.priority}' >&2")
|
||||
client01.succeed("curl -f http://harmonia:5000/version | grep '${nodes.harmonia.services.harmonia.package.version}' >&2")
|
||||
|
||||
@@ -11,7 +11,10 @@ in
|
||||
meta.maintainers = lib.teams.home-assistant.members;
|
||||
|
||||
nodes.hass =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
@@ -24,6 +27,9 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
# required for dbus activation in the bluetooth component
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
services.home-assistant = {
|
||||
enable = true;
|
||||
inherit configDir;
|
||||
@@ -65,6 +71,11 @@ in
|
||||
mini-graph-card
|
||||
];
|
||||
|
||||
# test loading themes
|
||||
themes = with pkgs.home-assistant-themes; [
|
||||
material-you-theme
|
||||
];
|
||||
|
||||
config = {
|
||||
homeassistant = {
|
||||
name = "Home";
|
||||
@@ -77,9 +88,30 @@ in
|
||||
# configure the recorder component to use the postgresql db
|
||||
recorder.db_url = "postgresql://@/hass";
|
||||
|
||||
# without these some components that are loaded anyway fail to find
|
||||
# their dependencies
|
||||
default_config = { };
|
||||
# this is effecitvely default_config (2026.5.0), but with components
|
||||
# skipped that would cause ERRORs in the sandbox
|
||||
bluetooth = { };
|
||||
cloud = { };
|
||||
conversation = { };
|
||||
dhcp = { };
|
||||
energy = { };
|
||||
file = { };
|
||||
# Requires go2rtc service
|
||||
# go2rtc = { };
|
||||
history = { };
|
||||
# Requires DNS and HTTP queries
|
||||
# homeassistant_alerts = { };
|
||||
logbook = { };
|
||||
media_source = { };
|
||||
mobile_app = { };
|
||||
my = { };
|
||||
ssdp = { };
|
||||
stream = { };
|
||||
sun = { };
|
||||
usage_prediction = { };
|
||||
usb = { };
|
||||
webhook = { };
|
||||
zeroconf = { };
|
||||
|
||||
# include some popular integrations, that absolutely shouldn't break
|
||||
knx = { };
|
||||
@@ -223,6 +255,11 @@ in
|
||||
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'")
|
||||
hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js")
|
||||
|
||||
with subtest("Check that themes are referenced and installed"):
|
||||
hass.succeed("grep -q '!include_dir_merge_named.*themes' '${configDir}/configuration.yaml'")
|
||||
themes_dir = hass.succeed("sed -n 's/.*!include_dir_merge_named \\(.*\\)/\\1/p' '${configDir}/configuration.yaml'").strip()
|
||||
hass.succeed(f"test -f {themes_dir}/material_you.yaml")
|
||||
|
||||
with subtest("Check that optional dependencies are in the PYTHONPATH"):
|
||||
env = get_unit_property("Environment")
|
||||
python_path = env.split("PYTHONPATH=")[1].split()[0]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
name = "invidious";
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ];
|
||||
};
|
||||
machine =
|
||||
{ lib, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.invidious = {
|
||||
enable = true;
|
||||
@@ -142,7 +142,7 @@
|
||||
# invidious does connect to the sig helper though and crashes when the sig helper is not available
|
||||
machine.wait_for_open_port(80)
|
||||
curl_assert_status_code("http://invidious.example.com/search", 200)
|
||||
machine.succeed("journalctl -eu invidious.service | grep -o \"SigHelper: Using helper at 'tcp://127.0.0.1:2999'\"")
|
||||
machine.succeed("journalctl -eu invidious.service | grep -o \"WARNING: Invidious companion is required to view and playback videos\"")
|
||||
|
||||
postgres_tcp.wait_for_unit("postgresql.target")
|
||||
activate_specialisation("postgres-tcp")
|
||||
|
||||
@@ -180,7 +180,7 @@ in
|
||||
|
||||
start_all()
|
||||
|
||||
harmonia.wait_for_unit("harmonia.service")
|
||||
harmonia.wait_for_unit("harmonia.socket")
|
||||
|
||||
ncps0.wait_for_unit("ncps.service")
|
||||
ncps1.wait_for_unit("ncps.service")
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
''
|
||||
start_all()
|
||||
|
||||
harmonia.wait_for_unit("harmonia.service")
|
||||
harmonia.wait_for_unit("harmonia.socket")
|
||||
|
||||
ncps.wait_for_unit("ncps.service")
|
||||
|
||||
|
||||
@@ -23,12 +23,7 @@
|
||||
mdadm
|
||||
e2fsprogs
|
||||
]; # for mdadm and mkfs.ext4
|
||||
boot.swraid = {
|
||||
enable = true;
|
||||
mdadmConf = ''
|
||||
ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc
|
||||
'';
|
||||
};
|
||||
boot.swraid.enable = true;
|
||||
environment.etc."mdadm.conf".text = ''
|
||||
MAILADDR test@example.com
|
||||
'';
|
||||
@@ -64,12 +59,12 @@
|
||||
assert "hello" in machine.succeed("cat /test")
|
||||
assert "md0" in machine.succeed("cat /proc/mdstat")
|
||||
|
||||
expected_config = """MAILADDR test@example.com
|
||||
# Verify the RAID array was properly auto-detected and assembled
|
||||
detail = machine.succeed("mdadm --detail /dev/md0")
|
||||
assert "raid1" in detail, f"Expected raid1 in mdadm detail output: {detail}"
|
||||
assert "/dev/vdb" in detail, f"Expected /dev/vdb in array: {detail}"
|
||||
assert "/dev/vdc" in detail, f"Expected /dev/vdc in array: {detail}"
|
||||
|
||||
ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc
|
||||
"""
|
||||
got_config = machine.execute("cat /etc/mdadm.conf")[1]
|
||||
assert expected_config == got_config, repr((expected_config, got_config))
|
||||
machine.wait_for_unit("mdmonitor.service")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
name = "rustical";
|
||||
|
||||
meta.maintainers = pkgs.rustical.meta.maintainers;
|
||||
|
||||
nodes.machine =
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.rustical.enable = true;
|
||||
environment.systemPackages = with pkgs; [ calendar-cli ];
|
||||
};
|
||||
|
||||
testScript =
|
||||
{
|
||||
nodes,
|
||||
...
|
||||
}:
|
||||
let
|
||||
port = toString nodes.machine.services.rustical.settings.http.port;
|
||||
url = "http://localhost:${toString port}";
|
||||
|
||||
createPrincipalScript = pkgs.writeScript "rustical-create-principal" ''
|
||||
#!${lib.getExe pkgs.expect}
|
||||
spawn rustical principals create alice --password
|
||||
expect "Enter your password:\r"
|
||||
send "foobar\r"
|
||||
expect eof
|
||||
'';
|
||||
|
||||
calendarCliConfig = (pkgs.formats.json { }).generate "rustical-test-calendar-cli.json" {
|
||||
default = {
|
||||
caldav_user = "alice";
|
||||
caldav_url = "${url}/caldav/";
|
||||
calendar_url = "${url}/caldav/principal/alice";
|
||||
};
|
||||
testcal = {
|
||||
inherits = "default";
|
||||
calendar_url = "${url}/caldav/principal/alice/testcal";
|
||||
};
|
||||
};
|
||||
in
|
||||
# python
|
||||
''
|
||||
machine.wait_for_unit("rustical.service")
|
||||
machine.wait_for_open_port(${port})
|
||||
|
||||
with subtest("Smoketest"):
|
||||
machine.succeed("curl --fail ${url}")
|
||||
|
||||
with subtest("Create principal"):
|
||||
machine.succeed("${createPrincipalScript}")
|
||||
machine.succeed("rustical principals list | grep alice")
|
||||
|
||||
with subtest("Generate token for principal"):
|
||||
machine.succeed("curl -f -c cookies.txt -d 'username=alice&password=foobar' ${url}/frontend/login")
|
||||
machine.succeed("curl -f -b cookies.txt -d 'name=mytoken' ${url}/frontend/user/alice/app_token > token.txt")
|
||||
|
||||
with subtest("Interact with caldav"):
|
||||
machine.succeed('calendar-cli --config-file ${calendarCliConfig} --caldav-pass "$(cat token.txt)" calendar create testcal')
|
||||
machine.succeed('calendar-cli --config-file ${calendarCliConfig} --config-section testcal --caldav-pass "$(cat token.txt)" calendar add 2013-10-01 testevent')
|
||||
|
||||
machine.log(machine.execute("systemd-analyze security rustical.service | grep -v ✓")[1])
|
||||
'';
|
||||
}
|
||||
@@ -13,13 +13,13 @@ let
|
||||
|
||||
pname = "ghostel";
|
||||
|
||||
version = "0.18.1-unstable-2026-04-24";
|
||||
version = "0-unstable-2026-05-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dakra";
|
||||
repo = "ghostel";
|
||||
rev = "fdfb68f70ca6f43277ef8a0ba4103631857e4ad4";
|
||||
hash = "sha256-u3zUj5uUHqFEP7mjmADNB6n6n/LmGR6ne0ylalop8WI=";
|
||||
rev = "5bce751687f3b33978a4244a1611648bbedb7124";
|
||||
hash = "sha256-MAV3iQeriZhE9SGwVEnKs2rwebbEnPP1LiHuCAjlGE8=";
|
||||
};
|
||||
|
||||
module = stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "kakoune-unwrapped";
|
||||
version = "2025.06.03";
|
||||
version = "2026.04.12";
|
||||
src = fetchFromGitHub {
|
||||
repo = "kakoune";
|
||||
owner = "mawww";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-AJvh6NVFpbPsyzfeii/5muE+i4TwfxhwhDVgMLYOJCM=";
|
||||
hash = "sha256-m8q1+TooDREbQD848ciHxeHwMajmlmhAhCqGmdbThIU=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
||||
@@ -1,50 +1,55 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchFromGitLab,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
kdoctools,
|
||||
wrapQtAppsHook,
|
||||
qtscript,
|
||||
kconfig,
|
||||
kinit,
|
||||
shared-mime-info,
|
||||
xz,
|
||||
qttools,
|
||||
karchive,
|
||||
kcrash,
|
||||
kcmutils,
|
||||
kconfig,
|
||||
kconfigwidgets,
|
||||
kcrash,
|
||||
knewstuff,
|
||||
kparts,
|
||||
qca-qt5,
|
||||
shared-mime-info,
|
||||
qca,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "okteta";
|
||||
version = "0.26.25";
|
||||
version = "0.26.25-unstable-2026-04-28";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/okteta/${finalAttrs.version}/src/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-K+GJG/SYyzgDDKXbGtAixQJVfBwLj/asP9rIJUpbt2s=";
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "utilities";
|
||||
repo = "okteta";
|
||||
rev = "9ab055f50e7569c9a0bc401be4b5686dc1e61dcc";
|
||||
hash = "sha256-1ih0kFS7opA5w1QyB7MQAOYFoSAUPKNM8fRi1G/mq2U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qtscript
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
buildInputs = [ shared-mime-info ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
kconfig
|
||||
kinit
|
||||
buildInputs = [
|
||||
shared-mime-info
|
||||
xz
|
||||
|
||||
qttools
|
||||
|
||||
karchive
|
||||
kcmutils
|
||||
kconfig
|
||||
kconfigwidgets
|
||||
kcrash
|
||||
knewstuff
|
||||
kparts
|
||||
qca-qt5
|
||||
karchive
|
||||
kcrash
|
||||
qca
|
||||
];
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -4950,10 +4950,13 @@ assertNoAdditions {
|
||||
};
|
||||
});
|
||||
|
||||
vim-flog = super.vim-flog.overrideAttrs {
|
||||
vim-flog = super.vim-flog.overrideAttrs (old: {
|
||||
# Not intended to be required, used by vim plugin
|
||||
nvimSkipModules = "flog.graph_bin";
|
||||
};
|
||||
meta = old.meta // {
|
||||
license = lib.licenses.vim;
|
||||
};
|
||||
});
|
||||
|
||||
vim-fugitive = super.vim-fugitive.overrideAttrs (old: {
|
||||
meta = old.meta // {
|
||||
|
||||
@@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-cn/GLWORkVa/mJRdpV5jqOm5iFW1QFFrTlGPGCzm1/o=";
|
||||
hash = "sha256-6+fMMB8Vgvmi3JO6YMqMiiHWdlq+PfTD1/zemIqf5sw=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-w7RB1WI5Lyn8LkFarIgwSTbuECuLF0wT5ht3jnGO+9A=";
|
||||
hash = "sha256-HA2I2+4F5NSLWJJpArTDcEHIAJShARjgomM2GcVwj5Q=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
hash = "sha256-XTE03L6SrIGZNaz2/XSKGLp3D45EWeh6RUxgBabURz0=";
|
||||
hash = "sha256-MaclGEzgUAHLV2Fe8O3ex6yjfnM73Clory0n+BVNZIs=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-Xq2+C9/g9y+K9s6qIMgUZxyyPaMSLQI31uLyR5dAyww=";
|
||||
hash = "sha256-YR/geLezoi+UPa7Eo0M4wQmRGuHiRTK74BdkGGOxPis=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.1.131";
|
||||
version = "2.1.133";
|
||||
}
|
||||
// sources.${stdenvNoCC.hostPlatform.system}
|
||||
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
|
||||
|
||||
@@ -871,8 +871,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "catppuccin-vsc";
|
||||
publisher = "catppuccin";
|
||||
version = "3.18.1";
|
||||
hash = "sha256-Kph5nQgbRSgDVqo2n2eXoQXh7ga0o8/oNkQyoSZxHZo=";
|
||||
version = "3.19.0";
|
||||
hash = "sha256-6/NHZkg37b6RyZIP89FMltSii+7sC5UTfHYFgyYyl4A=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc/changelog";
|
||||
@@ -1760,8 +1760,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "foam-vscode";
|
||||
publisher = "foam";
|
||||
version = "0.39.0";
|
||||
hash = "sha256-kOzr8YjwHdA3Tgo4JeEAWda4tBrXjMQNBITNhmy9cP4=";
|
||||
version = "0.40.3";
|
||||
hash = "sha256-NGC6uW1biseqQ04fD3K4mK4D4rcGVqt0LBlGFC1Exu8=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/foam.foam-vscode/changelog";
|
||||
@@ -3534,8 +3534,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "mvllow";
|
||||
name = "rose-pine";
|
||||
version = "2.15.1";
|
||||
hash = "sha256-GCN201yqr4lf2rc0ZV+iWkZi69qGOXFKhLPMhJ08U2w=";
|
||||
version = "2.15.2";
|
||||
hash = "sha256-5jXlCFk/86BL1yojTRuhRzS3XqcwcCpl/gmApcTdlBw=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
@@ -3898,8 +3898,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "redhat";
|
||||
name = "vscode-yaml";
|
||||
version = "1.22.0";
|
||||
hash = "sha256-Xsy2350zAxSEhJgCl5/bVwWEwaXgmnN0Y/orDjwNuw4=";
|
||||
version = "1.23.0";
|
||||
hash = "sha256-GC7AIQIUw+F5rBscTe+ulKt/97s7p636TLRvmcT9b9c=";
|
||||
};
|
||||
meta = {
|
||||
description = "YAML Language Support by Red Hat, with built-in Kubernetes syntax support";
|
||||
@@ -4218,8 +4218,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "shd101wyy";
|
||||
name = "markdown-preview-enhanced";
|
||||
version = "0.8.24";
|
||||
hash = "sha256-SKDg0AVzlDFPq3ZHE65vX6OUPWeZGTJb5DaVs/y14UY=";
|
||||
version = "0.8.25";
|
||||
hash = "sha256-0yOtvHL24eJizmzXAC956Tx9eNJaWDPl/OAhmFv2KJk=";
|
||||
};
|
||||
meta = {
|
||||
description = "Provides a live preview of markdown using either markdown-it or pandoc";
|
||||
@@ -4530,8 +4530,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "svelte-vscode";
|
||||
publisher = "svelte";
|
||||
version = "109.15.0";
|
||||
hash = "sha256-/1we+6X3l7MCx96ELz7wg6oDDAcYCJBt7XJ4X0ihwx0=";
|
||||
version = "110.0.0";
|
||||
hash = "sha256-l5L0uqHpBR6nWzr8/edz3EU8+BP9yqRRFhpnngG0RGY=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/sveltejs/language-tools/releases";
|
||||
|
||||
@@ -26,8 +26,8 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-mr5GwwfuNoLhKM5bAhNAO3j0ow4FcyZhvQlVnAENoyg=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-Yuxuqr1BiviSw+dGNHLs2jAy8ADlBvRks6Kmy7FmCMw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "latex-workshop";
|
||||
publisher = "James-Yu";
|
||||
version = "10.14.1";
|
||||
hash = "sha256-lsbiKzZTlkq/9K7ptLg0kHAd4i5OyNh2pLGGYUOJS9A=";
|
||||
version = "10.15.2";
|
||||
hash = "sha256-H/WJdkwfiNIFBc4dW6XqB6QopKZYjYN/zDVUpoY3erk=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
|
||||
|
||||
@@ -34,7 +34,7 @@ let
|
||||
};
|
||||
makeCacheWritable = true;
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libsecret
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
@@ -42,10 +42,10 @@ let
|
||||
nodejs-slim.python
|
||||
npmHooks.npmConfigHook
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
cctools.libtool
|
||||
clang_20 # clang_21 breaks @vscode/vsce's optional dependency keytar
|
||||
];
|
||||
|
||||
@@ -32,7 +32,7 @@ let
|
||||
hash = "sha256-vktxhQA2a+D9Nr4vhbmGCnNdGzt0U89K50g0SgiV5SE=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libsecret
|
||||
];
|
||||
|
||||
@@ -41,10 +41,10 @@ let
|
||||
nodejs-slim.python
|
||||
npmHooks.npmConfigHook
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
clang_20 # clang_21 breaks @vscode/vsce's optional dependency keytar
|
||||
];
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-kQjxcqHEClQtG6x2QM1/zixN6rvcEivX8vicNydDdOw=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-t2sPuhn8xdk6hGfmViPGG+5TAhtBBOMYNoOb6DlPzws=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -47,7 +47,7 @@ let
|
||||
pkg-config
|
||||
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [ clang_20 ]; # clang_21 breaks keytar
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ clang_20 ]; # clang_21 breaks keytar
|
||||
|
||||
# Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
|
||||
installPhase = ''
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-dev";
|
||||
publisher = "saoudrizwan";
|
||||
version = "3.81.0";
|
||||
hash = "sha256-gVQmKuyUH+bXpr7X2Z23U2oKFnAV2mxhckjef2uL8KQ=";
|
||||
version = "3.82.0";
|
||||
hash = "sha256-+CtWfRGumMTFckmU9Z8TAwrn35WiUrri1x6XL9khOnM=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -22,7 +22,7 @@ buildNpmPackage {
|
||||
python3
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [ clang_20 ]; # clang_21 breaks keytar
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ clang_20 ]; # clang_21 breaks keytar
|
||||
|
||||
buildInputs = [ libsecret ];
|
||||
|
||||
|
||||
@@ -35,17 +35,17 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-YF0zu0aqZpGGGaf5uNqaVaL1sMQuEVIzZ1Mczuwnfq4=";
|
||||
x86_64-darwin = "sha256-zv6Ryr1wTR9+osEhtAHO4viXAI4pc7Yk47dex622ymg=";
|
||||
aarch64-linux = "sha256-Mym9ijieF7jVAyZJ/3sO0Wp5JJ4c+/8psCjxrlEH/ok=";
|
||||
aarch64-darwin = "sha256-qLshyr9jGyx5dxUGnf5GftlTSoA1OeAWtIvK1aDxqCQ=";
|
||||
armv7l-linux = "sha256-JdyQ+65gJCU8Ye2darRV4Hi0//0imkX56bvc52MNLcM=";
|
||||
x86_64-linux = "sha256-HcZIRGB0y8U5huxXN9jNrhMD0Jjmn+QNUU60EHGduXo=";
|
||||
x86_64-darwin = "sha256-mMDxEAt/Lst4ifeczcL+QT8mVVXNk8fDNTM1YHGZ8tY=";
|
||||
aarch64-linux = "sha256-o0JV1Vc6utTmJkH9uTSylBsYM3mAfiDIgwg3LUOBWb0=";
|
||||
aarch64-darwin = "sha256-8ixVOUe4EcNX/z0jnux1hXOhnG1JuhbssH2BARqU80o=";
|
||||
armv7l-linux = "sha256-KxrSOVCdfa4L9RlnHybwGLRciMFwC/COsctX+5nqR/c=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.118.1";
|
||||
version = "1.119.0";
|
||||
|
||||
# The update server (update.code.visualstudio.com) expects the version path
|
||||
# segment in X.Y.Z form, so we normalize X.Y to X.Y.0 (e.g. "1.110" → "1.110.0").
|
||||
@@ -53,7 +53,7 @@ let
|
||||
downloadVersion = lib.versions.pad 3 version;
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "034f571df509819cc10b0c8129f66ef77a542f0e";
|
||||
rev = "8b640eef5a6c6089c029249d48efa5c99adf7d51";
|
||||
in
|
||||
buildVscode {
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
@@ -86,7 +86,7 @@ buildVscode {
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
hash = "sha256-is+djb3G/Lchc4+rqNgjW5xH6vD+OuHDKH7MBKPAJoA=";
|
||||
hash = "sha256-FyRpbjxY8PWr8z+ttn1H93ud4raFAJz704Vn38+LYCM=";
|
||||
};
|
||||
stdenv = stdenvNoCC;
|
||||
};
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mednafen-pce-fast";
|
||||
version = "0-unstable-2026-04-20";
|
||||
version = "0-unstable-2026-05-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "beetle-pce-fast-libretro";
|
||||
rev = "95b5274dfeda36f7e77c70daa666a63302ad83cf";
|
||||
hash = "sha256-BEt2g63jBOrgWk0tYp8DJVC65AbeSVRQz9rIMwjj2Sg=";
|
||||
rev = "9ba79648d6ec85e833aef719d7f359117498d89c";
|
||||
hash = "sha256-VSZelshWjMxIe8sumNZZ6WHm1WTE9r2xm62og0YLGlY=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mednafen-psx" + lib.optionalString withHw "-hw";
|
||||
version = "0-unstable-2026-05-01";
|
||||
version = "0-unstable-2026-05-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "beetle-psx-libretro";
|
||||
rev = "ab72423afd429c1e96ca56fbd39094a71270842b";
|
||||
hash = "sha256-j1ZCbB0hKcxay/0BkkuoncYPAkMTgSGEAOzYNgJaAh4=";
|
||||
rev = "c699953afa01bc3f179edbcb14c4cfbeee6107a2";
|
||||
hash = "sha256-s009GuPnsufDT70dBmhwfZmYjdf7pYO13FjycYvUF4c=";
|
||||
};
|
||||
|
||||
extraBuildInputs = lib.optionals withHw [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "desmume";
|
||||
version = "0-unstable-2026-04-20";
|
||||
version = "0-unstable-2026-05-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "desmume";
|
||||
rev = "a4db60dc63f36134ffebfe524b56e87a0b05f20f";
|
||||
hash = "sha256-v9jppfo85wR4KrblE9HtI/psQiQafn4OIXmDofxqOfc=";
|
||||
rev = "a55c393de8ecf19df8111f65b8e12d08b9616520";
|
||||
hash = "sha256-0+uSOg1asszgnDbdRsfWQY/E2Ky2tK3KxkcNV2mGjBQ=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "fbneo";
|
||||
version = "0-unstable-2026-04-30";
|
||||
version = "0-unstable-2026-05-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "fbneo";
|
||||
rev = "806cbc866c973caf442b4b6c6058f867b36bd1fb";
|
||||
hash = "sha256-kHB2Zz6mjhZiYDtoMIuaFvB2C/RIU89e2JNeBzHgIuU=";
|
||||
rev = "776ae715211d3ef2413b2828e9e9d50d869a6822";
|
||||
hash = "sha256-NgPs8H8/ysD18J2G9StaLM5e05EzgjLW8c2kTrcOXZI=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore rec {
|
||||
core = "snes9x2010";
|
||||
version = "0-unstable-2026-04-09";
|
||||
version = "0-unstable-2026-05-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "snes9x2010";
|
||||
rev = "a7a4bfaed4c6408908c76af20ad625e1645c3d11";
|
||||
hash = "sha256-mtTgh/koM7jS7/cH7qRgTa+xJXBBJSdxHHbhOd/q4i4=";
|
||||
rev = "d9cba8a41b3407ebb929816a7033e0407fd7b2d0";
|
||||
hash = "sha256-OdJStJK823PayWS+bmwG+kDrdx6KeVWYiSAu61C9UFs=";
|
||||
};
|
||||
|
||||
makeFlags = [ "GIT_VERSION=${builtins.substring 0 7 src.rev}" ];
|
||||
|
||||
@@ -268,16 +268,6 @@ stdenv.mkDerivation (
|
||||
}
|
||||
'';
|
||||
|
||||
# Fix dcomp test for aarch64
|
||||
postPatch = lib.optionalString (useStaging && stdenv.hostPlatform.isAarch64) ''
|
||||
if [ -f dlls/dcomp/tests/dcomp.c ]; then
|
||||
substituteInPlace dlls/dcomp/tests/dcomp.c \
|
||||
--replace-fail \
|
||||
'#error "Unsupported architecture"' \
|
||||
'__asm__ __volatile__("mov %0, sp" : "=r"(stack_pointer));'
|
||||
fi
|
||||
'';
|
||||
|
||||
configureFlags =
|
||||
prevConfigFlags
|
||||
++ lib.optionals waylandSupport [ "--with-wayland" ]
|
||||
|
||||
@@ -151,9 +151,9 @@ rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the hash for staging as well.
|
||||
version = "11.7";
|
||||
version = "11.8";
|
||||
url = "https://dl.winehq.org/wine/source/11.x/wine-${version}.tar.xz";
|
||||
hash = "sha256-sBqyHHn+3mx71THUadma/Z3N9T6ymviK2sajMutDX58=";
|
||||
hash = "sha256-U6qFmV1Ll/ARahxWuKahQXcw71mid4GdLT0xNk6lVrA=";
|
||||
|
||||
patches = [
|
||||
# Also look for root certificates at $NIX_SSL_CERT_FILE
|
||||
@@ -163,7 +163,7 @@ rec {
|
||||
# see https://gitlab.winehq.org/wine/wine-staging
|
||||
staging = fetchFromGitLab {
|
||||
inherit version;
|
||||
hash = "sha256-EjAmwSZu/Q/8QfFERnV5iz1n5CsWPneBHflQDaD4LAc=";
|
||||
hash = "sha256-lW5dfCfsB+z84mlLpfmkR7QDxmhL+RcBufSftUutHto=";
|
||||
domain = "gitlab.winehq.org";
|
||||
owner = "wine";
|
||||
repo = "wine-staging";
|
||||
|
||||
@@ -76,7 +76,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "inkscape";
|
||||
version = "1.4.3";
|
||||
version = "1.4.4";
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
@@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://inkscape.org/release/inkscape-${finalAttrs.version}/source/archive/xz/dl/inkscape-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-6DosPbVwtsWh/w/M/nCYg3s/a9dLEzVnk3yKkXEO0dE=";
|
||||
sha256 = "sha256-u85XU6Hgi4caXPFsZl6wYHAKqrmmo3ncY/TE2bO4hW4=";
|
||||
};
|
||||
|
||||
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
kdePackages,
|
||||
wrapQtAppsHook,
|
||||
}:
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
kdePackages.extra-cmake-modules
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
if stdenv.isDarwin then
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
''
|
||||
mkdir -p "$out"
|
||||
mv diffpdf.app "$out"/
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
extra-cmake-modules,
|
||||
wrapQtAppsHook,
|
||||
kiconthemes,
|
||||
kio,
|
||||
kjobwidgets,
|
||||
kxmlgui,
|
||||
testers,
|
||||
k4dirstat,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "k4dirstat";
|
||||
version = "3.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeromerobert";
|
||||
repo = "k4dirstat";
|
||||
rev = version;
|
||||
hash = "sha256-TXMUtiPS7qRLm6cCy2ZntYrcNJ0fn6X+3o3P5u7oo08=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kiconthemes
|
||||
kio
|
||||
kjobwidgets
|
||||
kxmlgui
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = k4dirstat;
|
||||
command = "k4dirstat -platform offscreen --version &>/dev/stdout";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/jeromerobert/k4dirstat";
|
||||
description = "Small utility program that sums up disk usage for directory trees";
|
||||
mainProgram = "k4dirstat";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.raboof ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
wrapQtAppsHook,
|
||||
kactivities,
|
||||
qtbase,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "KSmoothDock";
|
||||
version = "6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dangvd";
|
||||
repo = "ksmoothdock";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hO7xgjFMFrEhQs3oc2peFTjSVEDsl7Ma/TeVybEZMEk=";
|
||||
};
|
||||
|
||||
# Upstream seems dead and there are new deprecation warnings in KF5.100
|
||||
# Remember, kids: friends don't let friends build with -Werror
|
||||
postPatch = ''
|
||||
substituteInPlace src/CMakeLists.txt --replace "-Werror" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kactivities
|
||||
qtbase
|
||||
];
|
||||
|
||||
cmakeDir = "../src";
|
||||
|
||||
meta = {
|
||||
description = "Cool desktop panel for KDE Plasma 5";
|
||||
mainProgram = "ksmoothdock";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://dangvd.github.io/ksmoothdock/";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
extra-cmake-modules,
|
||||
shared-mime-info,
|
||||
wrapQtAppsHook,
|
||||
kcoreaddons,
|
||||
kdbusaddons,
|
||||
ki18n,
|
||||
kio,
|
||||
solid,
|
||||
kidletime,
|
||||
knotifications,
|
||||
kconfig,
|
||||
kinit,
|
||||
kjobwidgets,
|
||||
kcmutils,
|
||||
plasma-framework,
|
||||
libgit2,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kup";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
repo = "kup";
|
||||
owner = "system";
|
||||
rev = "kup-${version}";
|
||||
hash = "sha256-G/GXmcQI1OBnCE7saPHeHDAMeL2WR6nVttMlKV2e01I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
shared-mime-info
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kcoreaddons
|
||||
kdbusaddons
|
||||
ki18n
|
||||
kio
|
||||
solid
|
||||
kidletime
|
||||
knotifications
|
||||
kconfig
|
||||
kinit
|
||||
kjobwidgets
|
||||
plasma-framework
|
||||
libgit2
|
||||
kcmutils
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Backup tool for KDE";
|
||||
homepage = "https://apps.kde.org/kup";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.pwoelfel ];
|
||||
};
|
||||
}
|
||||
@@ -5,7 +5,6 @@
|
||||
cmake,
|
||||
qttools,
|
||||
wrapQtAppsHook,
|
||||
kirigami2,
|
||||
qtquickcontrols2,
|
||||
qtlocation,
|
||||
qtsensors,
|
||||
@@ -37,7 +36,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kirigami2
|
||||
qtquickcontrols2
|
||||
qtlocation
|
||||
qtsensors
|
||||
@@ -47,7 +45,7 @@ stdenv.mkDerivation rec {
|
||||
s2geometry
|
||||
];
|
||||
|
||||
cmakeFlags = [ "-DFLAVOR=kirigami" ];
|
||||
cmakeFlags = [ "-DFLAVOR=qtcontrols" ];
|
||||
|
||||
pythonPath = with python3.pkgs; [ gpxpy ];
|
||||
|
||||
|
||||
@@ -4,51 +4,63 @@
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
pkg-config,
|
||||
qmake,
|
||||
cmake,
|
||||
qtbase,
|
||||
kcoreaddons,
|
||||
kwidgetsaddons,
|
||||
qtsvg,
|
||||
wrapQtAppsHook,
|
||||
qttools,
|
||||
pugixml,
|
||||
}:
|
||||
|
||||
let
|
||||
singleApplication = fetchFromGitHub {
|
||||
owner = "itay-grudev";
|
||||
repo = "SingleApplication";
|
||||
tag = "v3.2.0";
|
||||
hash = "sha256-qjpPYPe1Oism6TetD/dMvTo1qyZKOsOPW+MzzNpJf3A=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qelectrotech";
|
||||
version = "0.9.0";
|
||||
version = "0.100";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qelectrotech";
|
||||
repo = "qelectrotech-source-mirror";
|
||||
tag = "0.9";
|
||||
hash = "sha256-tj8q+mRVtdeDXbpiv4retdbNiIfvAFlutXn7BmjqFYU=";
|
||||
tag = version;
|
||||
hash = "sha256-ElkqRiIHSXavXEw1ioFKL1cGnaBb2GXZuxgl98O4WuI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# stripped down version of https://codeberg.org/gentoo/gentoo/src/branch/master/sci-electronics/qelectrotech/files/qelectrotech-0.90_pre20250820-cmake.patch
|
||||
./system-pugixml.patch
|
||||
];
|
||||
|
||||
# fix wrong cmake conditional
|
||||
postPatch = ''
|
||||
substituteInPlace qelectrotech.pro \
|
||||
--replace-fail 'GIT_COMMIT_SHA="\\\"$(shell git -C \""$$_PRO_FILE_PWD_"\" rev-parse --verify HEAD)\\\""' \
|
||||
'GIT_COMMIT_SHA="\\\"${version}\\\""' \
|
||||
--replace-fail "COMPIL_PREFIX = '/usr/local/'" \
|
||||
"COMPIL_PREFIX = '$out/'" \
|
||||
--replace-fail "INSTALL_PREFIX = '/usr/local/'" \
|
||||
"INSTALL_PREFIX = '$out/'"
|
||||
substituteInPlace cmake/fetch_kdeaddons.cmake \
|
||||
--replace-fail "DEFINED BUILD_WITH_KF5" "BUILD_WITH_KF5"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_WITH_KF5=OFF"
|
||||
# relies on vendored catch2
|
||||
"-DPACKAGE_TESTS=OFF"
|
||||
"-DFETCHCONTENT_SOURCE_DIR_SINGLEAPPLICATION=${singleApplication}"
|
||||
"-DBUILD_PUGIXML=OFF"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pkg-config
|
||||
qmake
|
||||
cmake
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
kcoreaddons
|
||||
kwidgetsaddons
|
||||
qtbase
|
||||
qtsvg
|
||||
];
|
||||
|
||||
qmakeFlags = [
|
||||
"INSTALLROOT=$(out)"
|
||||
pugixml
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -121,7 +121,6 @@
|
||||
${QET_DIR}/sources/NameList
|
||||
${QET_DIR}/sources/NameList/ui
|
||||
${QET_DIR}/sources/utils
|
||||
- ${QET_DIR}/pugixml/src
|
||||
${QET_DIR}/sources/dataBase
|
||||
${QET_DIR}/sources/dataBase/ui
|
||||
${QET_DIR}/sources/factory/ui
|
||||
--- a/cmake/qet_compilation_vars.cmake
|
||||
+++ b/cmake/qet_compilation_vars.cmake
|
||||
@@ -421,10 +421,6 @@
|
||||
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.cpp
|
||||
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.h
|
||||
|
||||
- ${QET_DIR}/pugixml/src/pugiconfig.hpp
|
||||
- ${QET_DIR}/pugixml/src/pugixml.cpp
|
||||
- ${QET_DIR}/pugixml/src/pugixml.hpp
|
||||
-
|
||||
${QET_DIR}/sources/qetgraphicsitem/conductor.cpp
|
||||
${QET_DIR}/sources/qetgraphicsitem/conductor.h
|
||||
${QET_DIR}/sources/qetgraphicsitem/conductortextitem.cpp
|
||||
--- a/sources/diagramcontext.h
|
||||
+++ b/sources/diagramcontext.h
|
||||
@@ -17,7 +17,7 @@
|
||||
*/
|
||||
#ifndef DIAGRAM_CONTEXT_H
|
||||
#define DIAGRAM_CONTEXT_H
|
||||
-#include "pugixml/src/pugixml.hpp"
|
||||
+#include <pugixml.hpp>
|
||||
|
||||
#include <QDomElement>
|
||||
#include <QHash>
|
||||
--- a/sources/ElementsCollection/elementslocation.h
|
||||
+++ b/sources/ElementsCollection/elementslocation.h
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include "../NameList/nameslist.h"
|
||||
#include "../diagramcontext.h"
|
||||
-#include "pugixml/src/pugixml.hpp"
|
||||
+#include <pugixml.hpp>
|
||||
|
||||
#include <QIcon>
|
||||
#include <QString>
|
||||
--- a/sources/NameList/nameslist.h
|
||||
+++ b/sources/NameList/nameslist.h
|
||||
@@ -17,7 +17,7 @@
|
||||
*/
|
||||
#ifndef NAMES_LIST_H
|
||||
#define NAMES_LIST_H
|
||||
-#include "pugixml/src/pugixml.hpp"
|
||||
+#include <pugixml.hpp>
|
||||
|
||||
#include <QtXml>
|
||||
/**
|
||||
|
||||
@@ -2,26 +2,29 @@
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
kdoctools,
|
||||
wrapQtAppsHook,
|
||||
knotifyconfig,
|
||||
kidletime,
|
||||
kwindowsystem,
|
||||
kstatusnotifieritem,
|
||||
ktextwidgets,
|
||||
kcrash,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rsibreak";
|
||||
version = "0.12.13";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/rsibreak/${version}/rsibreak-${version}.tar.xz";
|
||||
sha256 = "N0C+f788fq5yotSC54H2K4WDc6PnGi8Nh/vXL4v0fxo=";
|
||||
url = "mirror://kde/stable/rsibreak/${lib.versions.majorMinor version}/rsibreak-${version}.tar.xz";
|
||||
hash = "sha256-arLOCcV9D+UXgwjqlfh9675VrpjPs3QkkireJZO60SA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
wrapQtAppsHook
|
||||
@@ -30,6 +33,7 @@ stdenv.mkDerivation rec {
|
||||
knotifyconfig
|
||||
kidletime
|
||||
kwindowsystem
|
||||
kstatusnotifieritem
|
||||
ktextwidgets
|
||||
kcrash
|
||||
];
|
||||
|
||||
@@ -828,28 +828,28 @@
|
||||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "147.0.7727.137",
|
||||
"version": "148.0.7778.96",
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "f2f7ec41f2c170d6f1899406f11a48411760a683",
|
||||
"hash": "sha256-/4Zz169PVxRGFubknL+5hbUX9uRnOGArjt0dA8u0I88="
|
||||
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
|
||||
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
|
||||
},
|
||||
"gn": {
|
||||
"version": "0-unstable-2026-03-05",
|
||||
"rev": "d8c2f07d653520568da7cace755a87dad241b72d",
|
||||
"hash": "sha256-3AfExm7NL5GJXyC5JCPbGC70D59doRfIZIgpt6MLy9Y="
|
||||
"version": "0-unstable-2026-04-01",
|
||||
"rev": "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a",
|
||||
"hash": "sha256-BTPD8WM1pVAMkFDlHekMdWFGyf63KdhKkKwsqikqoBQ="
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "147.0.7727.137-1",
|
||||
"hash": "sha256-MtsTk7aV7qpeXYBTxfEauCJlcoWYxdsQFbtN9ockSME="
|
||||
"rev": "148.0.7778.96-1",
|
||||
"hash": "sha256-yuc51ursl3pNyqSuTT9391AAlytoTzEMeronxjsNM7g="
|
||||
},
|
||||
"npmHash": "sha256-ByB1Ea5tduIJZXyydeBWsoS8OPABOgwHe+dNXRssdvc="
|
||||
"npmHash": "sha256-JuVcY8iFRDWcPcP4Pg+qm5rnTXkiVfNsqSkXbDWqsE8="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "68ba233a543d25e75c30f1228dd3bafa2da96937",
|
||||
"hash": "sha256-ktIkQRYWcyKnZKEhvxFGssMZ///ctd/Ue3VIYPvQzuM=",
|
||||
"rev": "8625e066febc721e015ea99842da12901eb7ed73",
|
||||
"hash": "sha256-coeBYfNPtiRRPuqoBRaxkTQI/a2pYNLI1slUdU1dZAc=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -859,8 +859,8 @@
|
||||
},
|
||||
"src/third_party/compiler-rt/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
|
||||
"rev": "338a5c004c774a8927899b1f1c0c25a82d14510f",
|
||||
"hash": "sha256-2lj4oF8IbJoPOBWwQ4ZfDQjPklxQyNyG5AcHazxEYcs="
|
||||
"rev": "76287b5da8e155135536c8e3a67432d97d74fe3a",
|
||||
"hash": "sha256-q6syHriTR8TCQSqTWbbAkVVK0a/i4wojdEGN7sWGxUY="
|
||||
},
|
||||
"src/third_party/libc++/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
|
||||
@@ -874,13 +874,13 @@
|
||||
},
|
||||
"src/third_party/libunwind/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
|
||||
"rev": "78884e23fe39cf5cc6987ea188a9b802d65a21c9",
|
||||
"hash": "sha256-G8CtxDHzo8WtJ6qrtghXBoYCWwnDvXcAueEGzLc6C14="
|
||||
"rev": "6ca46ff28e3578c57cbead6f233969eb3dabc176",
|
||||
"hash": "sha256-JW4kqpVTCFDN4WZE2S5gEkX1O7eDycl+adm3KGlUoTU="
|
||||
},
|
||||
"src/third_party/llvm-libc/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
|
||||
"rev": "c42ab4598a74eea2cf3efff9d44b22de155d41af",
|
||||
"hash": "sha256-NJCdrmVyF80aQLtrdVgcWQadhj5w7nKrLShaZDen1GA="
|
||||
"rev": "2a826f2fda3cf8d75b47cbc3bb1d9b244f13a6ab",
|
||||
"hash": "sha256-OWe2lAT5XbADWuxHgg53lZiU0My/ys86FEXvn4zlVx0="
|
||||
},
|
||||
"src/chrome/test/data/perf/canvas_bench": {
|
||||
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
|
||||
@@ -899,18 +899,18 @@
|
||||
},
|
||||
"src/docs/website": {
|
||||
"url": "https://chromium.googlesource.com/website.git",
|
||||
"rev": "d3b3b620e65ebaf511c6c8399b98a081cd644a66",
|
||||
"hash": "sha256-xTGvhQUKOgt007WdvzN4eDpue8nheEMSV+Cl3Tnwviw="
|
||||
"rev": "44319eca109f9678595924a90547c1f6650d8664",
|
||||
"hash": "sha256-Trkan7bzRaLFlTkRfNGh7ssoZ3QpMh+mxQacsSM+d2I="
|
||||
},
|
||||
"src/media/cdm/api": {
|
||||
"url": "https://chromium.googlesource.com/chromium/cdm.git",
|
||||
"rev": "9920660ea0162f88c44a648de177e6f8cb976d07",
|
||||
"hash": "sha256-rC/aV3vsFzXQ8BiOIK+OTXxTsgTLEEqC19KDAot1PTs="
|
||||
"rev": "33c977516b3dfe5b065bc298aa74175e1999ab51",
|
||||
"hash": "sha256-GsaRxLnsz1jrFZ3m5tv65d1dioG23uJnmfa+WD7XcFc="
|
||||
},
|
||||
"src/net/third_party/quiche/src": {
|
||||
"url": "https://quiche.googlesource.com/quiche.git",
|
||||
"rev": "435c98c0d9ab7a2b60592c5297635b4791745191",
|
||||
"hash": "sha256-dhsq9kLRcXPxv0Ih6CQhDvLAGjh3EgSCl28Cxjk2aos="
|
||||
"rev": "21ffbe4c7b717d00d2d768c259b5b330fd754ac3",
|
||||
"hash": "sha256-yKMmfdSBvbB3T042TJbZ1Mw+y0kyfHP0knQVFWAFPTg="
|
||||
},
|
||||
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
|
||||
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
|
||||
@@ -919,8 +919,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "534e0d1c1d0fcb4b57fd6a3fb9284cd14eaa28cd",
|
||||
"hash": "sha256-o3UV8X27G7wpaDiKDzgMZN64+d9JQrvcQXpSybxi/h4="
|
||||
"rev": "cc0e3572e8789f4a184dd9714a04b3d98ae81015",
|
||||
"hash": "sha256-3KVTEBcnQTn99ccdKzylzUvua2jlS4g8/nfIDdLk6ug="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -934,8 +934,8 @@
|
||||
},
|
||||
"src/third_party/angle/third_party/VK-GL-CTS/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
|
||||
"rev": "1cf4ed5bc0620ea514404609b1a2958c4518b86d",
|
||||
"hash": "sha256-IZ5tVrld2+wDOWaYX93j2eLZJJs/EMW1+FtxhOeWi6w="
|
||||
"rev": "f52e89f885064b9109501bca16c813bb29389993",
|
||||
"hash": "sha256-3jx4QVR9nB3WggfrORGJGifmJQhAYVSPusa7RlR16qg="
|
||||
},
|
||||
"src/third_party/anonymous_tokens/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
|
||||
@@ -954,48 +954,53 @@
|
||||
},
|
||||
"src/third_party/dav1d/libdav1d": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
|
||||
"rev": "b546257f770768b2c88258c533da38b91a06f737",
|
||||
"hash": "sha256-E3da/LJ8HNy1osExmupovqnL8JHgVNzPUCG5F8TJKXQ="
|
||||
"rev": "d69235dd804b24c04ed05639cffcc912cd6cfd75",
|
||||
"hash": "sha256-iKq6TYscIBK4ydv+0msNV3tcs82Ljk5ZNr954Qv2lII="
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "049880d58d6636a819168c00f44f8a4ed1e33e51",
|
||||
"hash": "sha256-AHUos4ejvcsHTDdretkDHAeyLugtI6Jg14Hb9MbbPPs="
|
||||
"rev": "19696dd088b8ed5804e2f02a8f83f5afdb3e99e3",
|
||||
"hash": "sha256-ihnVPCk9412UzCmoABWVUhiGaIdIYxiYMkk43KDqpg8="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw": {
|
||||
"src/third_party/dawn/third_party/glfw3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
"rev": "b35641f4a3c62aa86a0b3c983d163bc0fe36026d",
|
||||
"hash": "sha256-E1zXIDiw87badrLOZTvV+Wh9NZHu51nb70ZK9vlAlqE="
|
||||
"rev": "043378876a67b092f5d0d3d9748660121a336dd3",
|
||||
"hash": "sha256-4QSD1/uxWfYZPMjShB0h639eqAfuBRXAVfOm6BbZCBs="
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxc": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
|
||||
"rev": "2888a8764a33693f5a351e0c4ec87f430ccb0f7a",
|
||||
"hash": "sha256-xAe7SdcOeNiqNF6pYwMPMnd9/2yTWUlVdH1aCco/PEo="
|
||||
"rev": "eb67a9085c758516d940e1ce3fed0acfb6518209",
|
||||
"hash": "sha256-z+yIuVweIyLdOiZDRfSppjTRoYq8S93+JNUla4Umot8="
|
||||
},
|
||||
"src/third_party/dawn/third_party/dxheaders": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
"rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
|
||||
"hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA="
|
||||
},
|
||||
"src/third_party/dawn/third_party/khronos/OpenGL-Registry": {
|
||||
"src/third_party/dawn/third_party/directx-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
"rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
|
||||
"hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA="
|
||||
},
|
||||
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
|
||||
"rev": "5bae8738b23d06968e7c3a41308568120943ae77",
|
||||
"hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE="
|
||||
},
|
||||
"src/third_party/dawn/third_party/khronos/EGL-Registry": {
|
||||
"src/third_party/dawn/third_party/EGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
|
||||
"rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
|
||||
"hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-cts": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
|
||||
"rev": "d213d4b8dba58ca7a0685e30cfaf1d29f4fc5d5b",
|
||||
"hash": "sha256-6YGLG9BMQbF2pjV40su5ddHMqDW8/CEwM3RDEc/t2kM="
|
||||
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
|
||||
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
|
||||
"rev": "b2b04dde36a941434c88ccff7a730d7e464d638c",
|
||||
"hash": "sha256-+/qXZNkm26p+becMVcyHNUPyEUCejSV+tyTGFE4ivak="
|
||||
"rev": "7d3186c3dd2c708703524027b46b8703534ab3cc",
|
||||
"hash": "sha256-yE3/mfhqc7YtVNg4f/nrUpuRUGRjOzdwl++vPvd+mvc="
|
||||
},
|
||||
"src/third_party/highway/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
|
||||
@@ -1009,13 +1014,13 @@
|
||||
},
|
||||
"src/third_party/libpfm4/src": {
|
||||
"url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git",
|
||||
"rev": "964baf9d35d5f88d8422f96d8a82c672042e7064",
|
||||
"hash": "sha256-awpZ22rovLZWQkX/qog93vL4u2gJ+F3w5IGFNlZ0heQ="
|
||||
"rev": "977a25bb3dfe45f653a6cee71ffaae9a92fc3095",
|
||||
"hash": "sha256-t4LMG38GksMEM5DktyJ0qLUX1biXErQ57MaMtd7hoeo="
|
||||
},
|
||||
"src/third_party/boringssl/src": {
|
||||
"url": "https://boringssl.googlesource.com/boringssl.git",
|
||||
"rev": "27bc28d7f03fb9e3752980dce01de1a529236532",
|
||||
"hash": "sha256-u+yvIPrdb9fWzJXJeIidUQ1MkKUx6sKLs7vdW68QhYc="
|
||||
"rev": "d8be2b4a71155bf82da092ef543176351eeb59ff",
|
||||
"hash": "sha256-fZc95YrREDbf0YcO6zahIjdX6TcRJANcH9MrkLIIIHw="
|
||||
},
|
||||
"src/third_party/breakpad/breakpad": {
|
||||
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
|
||||
@@ -1029,13 +1034,13 @@
|
||||
},
|
||||
"src/third_party/catapult": {
|
||||
"url": "https://chromium.googlesource.com/catapult.git",
|
||||
"rev": "e0ebf38a01214aba11f31daa1c743782def031d5",
|
||||
"hash": "sha256-njtIcvzo2v9uDuP+AostVAZRTtH2vePsshF4cANHkxo="
|
||||
"rev": "4f1d71f6841d210b3a06ab3ef2e2ed679af0ee56",
|
||||
"hash": "sha256-aHlf8gw3KxbKoyyajP4w586iYybx7HSkcKtLcZIgiDE="
|
||||
},
|
||||
"src/third_party/catapult/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "22be07d7809409644d7e292d9495fa8a251d5f29",
|
||||
"hash": "sha256-HR6iEDwmxFaiLi+h3MwsNfBOtBNbrKvmRNgMVog3A0Y="
|
||||
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
|
||||
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
|
||||
},
|
||||
"src/third_party/ced/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
|
||||
@@ -1059,8 +1064,8 @@
|
||||
},
|
||||
"src/third_party/cpuinfo/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
|
||||
"rev": "7364b490b5f78d58efe23ea76e74210fd6c3c76f",
|
||||
"hash": "sha256-lB6e5zcw5UiwTOf+a+B35apXP5t1bxI6yOMiEeFwIwY="
|
||||
"rev": "7607ca500436b37ad23fb8d18614bec7796b68a7",
|
||||
"hash": "sha256-LnLtCMMRg+DwB7MijBdt/tmCKD/zN5y2oTgXlYw3hTg="
|
||||
},
|
||||
"src/third_party/crc32c/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
|
||||
@@ -1069,28 +1074,28 @@
|
||||
},
|
||||
"src/third_party/cros_system_api": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
|
||||
"rev": "1fb70b2851b292e48b612482a6d4d1b4c343c862",
|
||||
"hash": "sha256-YBN8ogJn5Yup9GYrsE9UW15KPCuXbhD6hdqXWWCPD20="
|
||||
"rev": "c27a09148de373889e5d2bf616c4e85a68050ae2",
|
||||
"hash": "sha256-a/mAa1+if6B1FHe9crO8PDpc3o8M+CeIuXjXT0lwZOY="
|
||||
},
|
||||
"src/third_party/crossbench": {
|
||||
"url": "https://chromium.googlesource.com/crossbench.git",
|
||||
"rev": "19cee54825bc57215266f5b14a5874bfbbb57543",
|
||||
"hash": "sha256-HVwX8E3/7yw7zUqZrptN1iSBWF4ls0FAzPObPagNYtM="
|
||||
"rev": "c179f7919aade97c5cff64d14b9171736e7aaef9",
|
||||
"hash": "sha256-Hxazf58z9imnGO1aj2NRtsQ+BYrfAuIuZscADpr1NVI="
|
||||
},
|
||||
"src/third_party/crossbench-web-tests": {
|
||||
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
|
||||
"rev": "909ad1733b50f28510c840ebad7b878a5ce07715",
|
||||
"hash": "sha256-RYih9sn4rIBnFW/styZaUl5H0A1eEy3//DypZjY6n0M="
|
||||
"rev": "b19e4e52c33fb8a105c3fc99598b0b9b4bc59752",
|
||||
"hash": "sha256-7vCQw91L2c97dnVdrJ53zL8hi0KZffDJJjk7GaG3b/U="
|
||||
},
|
||||
"src/third_party/depot_tools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
|
||||
"rev": "4ce8ba39a3488397a2d1494f167020f21de502f3",
|
||||
"hash": "sha256-WTzjmLFjh1yDDEvYE7Qfx8aBxMLdATx14+Jprwh8ZgQ="
|
||||
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
|
||||
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "854a02be78c7ffea104cb523636efa991bef5c5b",
|
||||
"hash": "sha256-CzzUueh2QXX+ExGqh5+JpnDoWF8DiFDff7fWmC01xfg="
|
||||
"rev": "6efd6eb1d85fd67fdcc2385c54fa56c524bec3f7",
|
||||
"hash": "sha256-1pr3+RK519m+wtcacJB3PcDTL+qSHlOn1ctxpoLzTf8="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
@@ -1104,8 +1109,8 @@
|
||||
},
|
||||
"src/third_party/eigen3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
|
||||
"rev": "54458cb39d1081d0cfe6b77ed8e085d457a4c921",
|
||||
"hash": "sha256-WXxSe2AY3hSMXz7lHNeFefOHGGkdXoSQLC6FuOa6Exo="
|
||||
"rev": "a3074053a614df7a3896cb4edbcba40222a5f549",
|
||||
"hash": "sha256-9AHpSqemqdwXoMiP3hH1YuEd3+nrudeVGTpInw+8BU4="
|
||||
},
|
||||
"src/third_party/farmhash/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
|
||||
@@ -1119,13 +1124,13 @@
|
||||
},
|
||||
"src/third_party/federated_compute/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
|
||||
"rev": "271aa00f8aec5bc801f542710efe1b2f0b5f0ef9",
|
||||
"hash": "sha256-6ZATBYkyIdGuhG0Ps2vr0DT9nq1LhW2XCWWAkiZh9Hc="
|
||||
"rev": "eb170f645b270c7979edb863fd2cf8edab2b2fd1",
|
||||
"hash": "sha256-Cp0WQBbqWvPdrKCMQhH4Z6zl6YlIPLjafWZEwdkYWlc="
|
||||
},
|
||||
"src/third_party/ffmpeg": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
|
||||
"rev": "946d97db8d906277085e361892b7efda5152e2f1",
|
||||
"hash": "sha256-UxrmVqfX6TvFy1yxWXIQbd3ABD3jEAtDesgfnbJGg1E="
|
||||
"rev": "b5e18fb9da84e26ceef30d4e4886696bf59337c0",
|
||||
"hash": "sha256-JHAicFKBvtkwmZPRBKYPT6JVqYqF8hyXxU0H7kfgCBs="
|
||||
},
|
||||
"src/third_party/flac": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
|
||||
@@ -1154,18 +1159,18 @@
|
||||
},
|
||||
"src/third_party/freetype/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
|
||||
"rev": "45556a19aab9502b91d6f30931e0cb5256f683f8",
|
||||
"hash": "sha256-eMt2orPeG81o42O/HU+4B5b/G62TYAVIEeWwOmiML14="
|
||||
"rev": "99b479dc34728936b006679a31e12b8cf432fc55",
|
||||
"hash": "sha256-H5RzBFYWIp/QYKyeBM2wfuX7FvXHPbhCAp7qne5Zvhw="
|
||||
},
|
||||
"src/third_party/fxdiv/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
|
||||
"rev": "63058eff77e11aa15bf531df5dd34395ec3017c8",
|
||||
"hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38="
|
||||
},
|
||||
"src/third_party/harfbuzz-ng/src": {
|
||||
"src/third_party/harfbuzz/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||
"rev": "5d4e96ad8d00fc871ffa17707b2ca08fa850e7d6",
|
||||
"hash": "sha256-9ef1P2JVJc7ZiP7TObFOxJbccCLsEgjhj+Z/ooEAGiI="
|
||||
"rev": "4fc96139259ebc35f40118e0382ac8037d928e5c",
|
||||
"hash": "sha256-/RT2OPWFiVwFqmNS4o+gE0JrcVO1cQDkCkgrSEe7BzE="
|
||||
},
|
||||
"src/third_party/ink/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
|
||||
@@ -1174,13 +1179,13 @@
|
||||
},
|
||||
"src/third_party/ink_stroke_modeler/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git",
|
||||
"rev": "3fa5129ed1ae6f8b2ec4e9b60fa5d08cc81e2d78",
|
||||
"hash": "sha256-/TBxFsmLH1h3kfeE90LhR0RWJ3NrCTiLKklcaPbean8="
|
||||
"rev": "da42d439389c90ec7574f0381ec53e7f5be0c2eb",
|
||||
"hash": "sha256-W5HgVe0v9O/EuhpKMHp83PLq4p6cuBul3QUGLYdF6rY="
|
||||
},
|
||||
"src/third_party/instrumented_libs": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git",
|
||||
"rev": "69015643b3f68dbd438c010439c59adc52cac808",
|
||||
"hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU="
|
||||
"rev": "e8cb570a9a2ee9128e2214c73417ad2a3c47780b",
|
||||
"hash": "sha256-5cb9qhSEzb941pF5HH0Br+x9wEH7MiGwQttvErb2mZo="
|
||||
},
|
||||
"src/third_party/emoji-segmenter/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
|
||||
@@ -1214,8 +1219,8 @@
|
||||
},
|
||||
"src/third_party/icu": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/icu.git",
|
||||
"rev": "ee5f27adc28bd3f15b2c293f726d14d2e336cbd5",
|
||||
"hash": "sha256-UQWSAekvYc1bTEAEQTPdeB406Uqb0mptpnGRZSaLewo="
|
||||
"rev": "ff7995a708a10ab44db101358083c7f74752da9f",
|
||||
"hash": "sha256-yQ55MGzqkVkp/arTlmKqySBvQFtaPaBk9UUAFE0imhE="
|
||||
},
|
||||
"src/third_party/nlohmann_json/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/nlohmann/json.git",
|
||||
@@ -1229,8 +1234,8 @@
|
||||
},
|
||||
"src/third_party/leveldatabase/src": {
|
||||
"url": "https://chromium.googlesource.com/external/leveldb.git",
|
||||
"rev": "4ee78d7ea98330f7d7599c42576ca99e3c6ff9c5",
|
||||
"hash": "sha256-ANtMVRZmW6iOjDVn2y15ak2fTagFTTaz1Se6flUHL8w="
|
||||
"rev": "7ee830d02b623e8ffe0b95d59a74db1e58da04c5",
|
||||
"hash": "sha256-a1fcVI9Vsm1qE17Fnx5UxwOy4ZFMMJ0OKwNs/gZHYQI="
|
||||
},
|
||||
"src/third_party/libFuzzer/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
|
||||
@@ -1239,8 +1244,8 @@
|
||||
},
|
||||
"src/third_party/fuzztest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
|
||||
"rev": "1f7726d61f7afa9aca1198a9395ede472ed70366",
|
||||
"hash": "sha256-RhJ676e6Kr/muR0ZCfZOAcs3kfoK7CjG2cwOpYG/JCY="
|
||||
"rev": "800c545cf9d6e9c01328a1974f93a7e6564a74fd",
|
||||
"hash": "sha256-Pvz+CWTBcWE0N0yfNGZhXDgUrGeIaCNfEjP1jYmF6G0="
|
||||
},
|
||||
"src/third_party/domato/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
|
||||
@@ -1254,13 +1259,13 @@
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "ab9876a5983227865ee26e91caac87c6b8750e27",
|
||||
"hash": "sha256-V40GL7fKj1qratP0KcrhedEPDIsg0XVb3ha5nroM0ws="
|
||||
"rev": "b63f30b6d30028a3d7d9c5223def8f3ad97dcc4c",
|
||||
"hash": "sha256-LaBEcVcSB8WB9ZNRgPSiGaKdQL5f3wll2sPb9OhN5SE="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
"rev": "c05daf3e2e6d83f2a359ab97094ce042944020a9",
|
||||
"hash": "sha256-vVKAgvPdba0Lt3BUStOQsILlhiHNJeIv1jS9691+a80="
|
||||
"rev": "7466a44ac80893803d4a7168b98dc6cd02d1fe2d",
|
||||
"hash": "sha256-x1MRNtGLmwlRNenoQKz2Bgm3J5eHlNiJZtzhT9lttmk="
|
||||
},
|
||||
"src/third_party/nearby/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
|
||||
@@ -1314,8 +1319,8 @@
|
||||
},
|
||||
"src/third_party/cros-components/src": {
|
||||
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
|
||||
"rev": "ddb611c60142c72be3719e753a42fb434b6f2458",
|
||||
"hash": "sha256-M/b7PKEu+mFxsEeedJeppkwl8aZnX/932zqWlrCx8Y4="
|
||||
"rev": "fb512780dcc5ba4b5be9e8a3118919002077c760",
|
||||
"hash": "sha256-7wx73HZ6aqXQvLxwX6XnJAPefi/t47gIhvDH3FRT1j4="
|
||||
},
|
||||
"src/third_party/libdrm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
|
||||
@@ -1324,8 +1329,8 @@
|
||||
},
|
||||
"src/third_party/expat/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||
"rev": "69d6c054c1bd5258c2a13405a7f5628c72c177c2",
|
||||
"hash": "sha256-qe8O7otL6YcDDBx2DS/+c5mWIS8Rf8RQXVtLFMIAeyk="
|
||||
"rev": "f31adfd584b7f6c50bbf4d22eb928538ffc9145a",
|
||||
"hash": "sha256-tLz4RejYQ/kFXhsWTduuGcinfUkqxYKPCpsou+WlvBc="
|
||||
},
|
||||
"src/third_party/libipp/libipp": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
|
||||
@@ -1369,13 +1374,13 @@
|
||||
},
|
||||
"src/third_party/libvpx/source/libvpx": {
|
||||
"url": "https://chromium.googlesource.com/webm/libvpx.git",
|
||||
"rev": "aec2a6f1cd6e3d9e8cf5d9682fcb8a442799bd22",
|
||||
"hash": "sha256-PNreh1VisA46I0WZqq8wZRCjbQRiVMxbL5Gl2Bfzo3M="
|
||||
"rev": "47ac1ec7f3de7d7cb3d070844c427c8f1fa9d6fc",
|
||||
"hash": "sha256-RyYnkLYafiS6kQKeOmzohtxFRXudDzgEmQkG+qKHozc="
|
||||
},
|
||||
"src/third_party/libwebm/source": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebm.git",
|
||||
"rev": "f2a982d748b80586ae53b89a2e6ebbc305848b8c",
|
||||
"hash": "sha256-SxDGt7nPVkSxwRF/lMmcch1h+C2Dyh6GZUXoZjnXWb4="
|
||||
"rev": "b7a1e4767fbb02ad467f45ba378e858e897028da",
|
||||
"hash": "sha256-Lzfs15Us8MDDQYvLRVf6xKg9A76aXPnTukx/A8Mf7rw="
|
||||
},
|
||||
"src/third_party/libwebp/src": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebp.git",
|
||||
@@ -1404,8 +1409,8 @@
|
||||
},
|
||||
"src/third_party/nasm": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
|
||||
"rev": "af5eeeb054bebadfbb79c7bcd100a95e2ad4525f",
|
||||
"hash": "sha256-vH3OUzfLZbaPY4DMAvSW0jKYRJmOa7aE8EfIJtZ1/Xs="
|
||||
"rev": "45252858722aad12e545819b2d0f370eb865431b",
|
||||
"hash": "sha256-0KsHYi76IaVNwk0dBhem2AnUXd9PpeS+jUsY+zPmeJ8="
|
||||
},
|
||||
"src/third_party/neon_2_sse/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
|
||||
@@ -1419,8 +1424,8 @@
|
||||
},
|
||||
"src/third_party/openscreen/src": {
|
||||
"url": "https://chromium.googlesource.com/openscreen",
|
||||
"rev": "571620ad60afc9f317d77605c65335f5412aada2",
|
||||
"hash": "sha256-ktR3EpmkjueEmEip2oUTcSclVkUlPi/7+qmhElG+Bzs="
|
||||
"rev": "448a19d1f24e0f8ce85ad0c1c6a50cf370ae69d7",
|
||||
"hash": "sha256-hRDFnoqAH4HoWZ3oTWlzNge2nwlxpUC/GEq0MQVzBw8="
|
||||
},
|
||||
"src/third_party/openscreen/src/buildtools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
|
||||
@@ -1434,13 +1439,13 @@
|
||||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "e5bafd3be58c26673576fd5bb5cbf413b485de5b",
|
||||
"hash": "sha256-umtG2n6kWYD0hT44GpmnwUVztkZ0RtQDV0h0+4CTC9w="
|
||||
"rev": "a78c62d93a8f514ea2cd98a70bd1d21226be9d93",
|
||||
"hash": "sha256-qd3Oa/JFzoI5hKDY2/OQAzdr2z9srUj0H6oKz0R516U="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
"rev": "728eb5626a3bc701d044dd16d9cd289360ff47c3",
|
||||
"hash": "sha256-LeGGkzSMfVXuioVJmRi/TjMYgG/0YrK7PckBJTejSHU="
|
||||
"rev": "46432bb2a7a60e10fcee516f1692e6846d098a8d",
|
||||
"hash": "sha256-jVih4xWota4SZQi4yEtaIP+4qgD03OsELt2aaulIXik="
|
||||
},
|
||||
"src/third_party/protobuf-javascript/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
|
||||
@@ -1454,8 +1459,8 @@
|
||||
},
|
||||
"src/third_party/pyelftools": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
|
||||
"rev": "19b3e610c86fcadb837d252c794cb5e8008826ae",
|
||||
"hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4="
|
||||
"rev": "8047437615d66d3267ac0134834b80e70639d572",
|
||||
"hash": "sha256-rEnt08K90/Psfa+SQgTUG3YGrhp4/udXG9VKIwPM7pk="
|
||||
},
|
||||
"src/third_party/quic_trace/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
|
||||
@@ -1484,8 +1489,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "6e0fbe154ccaf018b2dd1f0e42eec285e7d79d00",
|
||||
"hash": "sha256-oqfNOSQB+5sbAnw4tPBXn22rk6Ai5b2aZNLJUyM181k="
|
||||
"rev": "afe8b760ada5128164f9826866b4381a3463df41",
|
||||
"hash": "sha256-HsKHffZWTls362kjokxzdhaxb/xJD1g70VHGk9l6GVM="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -1499,13 +1504,13 @@
|
||||
},
|
||||
"src/third_party/sqlite/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
|
||||
"rev": "727f7c8991f7b622a8b5c833cff99871a8c2cd8e",
|
||||
"hash": "sha256-L42hkqcsuyMkNUeornIul7AYNgachkYpfNFE8H/VeVc="
|
||||
"rev": "508ab21dc25702ed6690c4dd77da209a6bcd1239",
|
||||
"hash": "sha256-SfvLfBKdPjFvZ7CzUeFMcyoHdCzQgNRQwZyzb6MRtJg="
|
||||
},
|
||||
"src/third_party/swiftshader": {
|
||||
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
|
||||
"rev": "313545f85af72f954820e54f4110cda591a6cf7b",
|
||||
"hash": "sha256-EGgC5nK68Wk0b466K9yvLlGMxBd/CeI+KTgyoE+x6DY="
|
||||
"rev": "89556131bf9d48af3c5c9fbb9a3322e706da89a3",
|
||||
"hash": "sha256-h0utcwCnzwhFufggkBNeA674x2Kqwu4sz3jQ/9eoQv0="
|
||||
},
|
||||
"src/third_party/text-fragments-polyfill/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
|
||||
@@ -1514,23 +1519,23 @@
|
||||
},
|
||||
"src/third_party/tflite/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
|
||||
"rev": "b476481b77f6e939e813ac93df22a4a6e7a3dd57",
|
||||
"hash": "sha256-oKLFjed5sbYjEX5kddkAEdhkVOwFf5ddEUlOS55zLWE="
|
||||
"rev": "de8d7f65b6eb670e4dad0225d0d6f99bebaab559",
|
||||
"hash": "sha256-r2b+/VBffxsh1sRM2xcFiBx9K6GD6FsaQXpfFMBFUag="
|
||||
},
|
||||
"src/third_party/litert/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
|
||||
"rev": "82bf3bef8a04a416bcb9d1cca5bdd51a6b3ab4ba",
|
||||
"hash": "sha256-uMBuoGQIgRhmc8KJqLUnf13XK9tveuS0/OzzwKHKNUw="
|
||||
"rev": "588075c77c6895cce6397d41d2890b1aa0a14372",
|
||||
"hash": "sha256-rcEPZNSV0DiDrmoBCtJ07wFzzpmpM93jG4jYaEdNWvI="
|
||||
},
|
||||
"src/third_party/vulkan-deps": {
|
||||
"url": "https://chromium.googlesource.com/vulkan-deps",
|
||||
"rev": "4a9f2cec3d5e7cb4810cf84716f597aff768ffa4",
|
||||
"hash": "sha256-PyBxtzesZR/5jrWt96DxK7QwRoG8qhzWzbiE1fqdqkI="
|
||||
"rev": "0ced1107c62836f439f684a5696c4bd69e09fce3",
|
||||
"hash": "sha256-VOyN618wzyyO2Wh18gCnw+FCr/NbegX3A/54MClyhwc="
|
||||
},
|
||||
"src/third_party/glslang/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
|
||||
"rev": "b11b03839c940685b0201026bd2a4ffef1d5a4b8",
|
||||
"hash": "sha256-FjUqETWBiI91hq5wGomPmCeW7K4k9kn5r74pUP0QFNo="
|
||||
"rev": "715c8500e7cd67f2eba9e60e98852a1ed49d2f15",
|
||||
"hash": "sha256-vSbMdTjlRVvYLi5ZvTVmfe76oAQ4AhqyD+ohvkvIYIs="
|
||||
},
|
||||
"src/third_party/spirv-cross/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
|
||||
@@ -1539,38 +1544,38 @@
|
||||
},
|
||||
"src/third_party/spirv-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
|
||||
"rev": "f88a2d766840fc825af1fc065977953ba1fa4a91",
|
||||
"hash": "sha256-VhcGQ+Tr9sH0ZEIk0oJsXh8MvCo2qpA2W3i8YVCwKaE="
|
||||
"rev": "6dd7ba990830f7c15ac1345ff3b43ef6ffdad216",
|
||||
"hash": "sha256-UKBVs2s05hP+paPq1dZFaUEQQ9Kx9acHxYUyJVx22eY="
|
||||
},
|
||||
"src/third_party/spirv-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
|
||||
"rev": "7d8d9e58c384949f1615c069d4c9346bf51b9738",
|
||||
"hash": "sha256-AxS7vHw3RoXZLayWEDKBU7H0M1BZ9RMVdIsD/4rYap8="
|
||||
"rev": "2d14d2e76aa7de72404b17078eda15c20a6a0389",
|
||||
"hash": "sha256-8Xtzq8WOdFEw+uEJqMW39LLHt2m165K9OJsIFZuifoM="
|
||||
},
|
||||
"src/third_party/vulkan-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
|
||||
"rev": "74d8a6cb930c68ef617b202c3ff3c59d919e086b",
|
||||
"hash": "sha256-bZKNFiZMVYDxa6RKb1c/GxIR+eEFQAyYNaEptzQW5TE="
|
||||
"rev": "afe9eb980aa928a66d1c9c06f38c55dd59868720",
|
||||
"hash": "sha256-/yolWlC7ruRiJ0gSdCoSlqL9+j2uJAh+o+H0OG37pq4="
|
||||
},
|
||||
"src/third_party/vulkan-loader/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
|
||||
"rev": "363f465abadab0a8dcfc5c85d2c691e9b0b788d6",
|
||||
"hash": "sha256-Zk2QyKu19g52vzGpNq5Qm+mlEgqk4jCFn/861eK8+64="
|
||||
"rev": "df84d2be47457a8dfd7eb66f8c2b031683bd1ba5",
|
||||
"hash": "sha256-8ParcURRRU3eS9Oej/vHTwOwvYy3HsVJsKh2wQLKUgM="
|
||||
},
|
||||
"src/third_party/vulkan-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
|
||||
"rev": "59f963ce1b1d16cc92137a241a0fe98d637d21f4",
|
||||
"hash": "sha256-Hh0N4N4XN7p7PBKk2uCU5g9TO9vmxJbomC1Gvf5oDZc="
|
||||
"rev": "90bf5bc4fd8bea0d300f6564af256a51a34124b8",
|
||||
"hash": "sha256-tmTD/waVX/duaKXvj0FNUS+ncL1agM73kK7pEfHEsSA="
|
||||
},
|
||||
"src/third_party/vulkan-utility-libraries/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
|
||||
"rev": "20fb10eb1ec08ccd5cacec32b7df1b0e99e48a0c",
|
||||
"hash": "sha256-4XsQN94JsQXFGwJKp3W2gdTCCxUZrpCKiRVXzxL+Qs0="
|
||||
"rev": "48b1fd1a65e436bae806cb6180c9338846b9de97",
|
||||
"hash": "sha256-B3GXmwJEvnGcER5DJt0FGrwqNi3t8iV6VgX8uOrExlU="
|
||||
},
|
||||
"src/third_party/vulkan-validation-layers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
|
||||
"rev": "20948525099c0ea030ec5b149c809e48010be4ed",
|
||||
"hash": "sha256-H05Ms2a770ApiCz5ERiIm8g893TJG9gRRuM9Qr4bj60="
|
||||
"rev": "ac146eef210b6f52b842111c5d3419ab32a7293f",
|
||||
"hash": "sha256-GqjVHxtda1a47+9G+nqh4qNMJmQaUdZNMUGQ8kAIIkk="
|
||||
},
|
||||
"src/third_party/vulkan_memory_allocator": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
|
||||
@@ -1604,23 +1609,23 @@
|
||||
},
|
||||
"src/third_party/webgl/src": {
|
||||
"url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
|
||||
"rev": "8fc2a0dff53abfc0cf2c140d8420759b2036cc54",
|
||||
"hash": "sha256-cU7kfmxgaem6rPHGW+VwjxfKe7c0u1tCc98MQjsp5l8="
|
||||
"rev": "216b10fafd3f6a900c715a8c758a4c7f9883b030",
|
||||
"hash": "sha256-Aax2hr/9Zq6Avk+TMU1OMBLGshUL6hyRTX6eoOQesqM="
|
||||
},
|
||||
"src/third_party/webgpu-cts/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
|
||||
"rev": "54441b8d176b12a5e2b01b8db78191ace56d7f34",
|
||||
"hash": "sha256-gGvvKMTUJGm4ZwM7C1xTY1DKskCmlrCpSl3HLgVZqoY="
|
||||
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
|
||||
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
|
||||
},
|
||||
"src/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "22be07d7809409644d7e292d9495fa8a251d5f29",
|
||||
"hash": "sha256-HR6iEDwmxFaiLi+h3MwsNfBOtBNbrKvmRNgMVog3A0Y="
|
||||
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
|
||||
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "28452dff1bf86fec881a47949d4dedd4a2fe1f09",
|
||||
"hash": "sha256-KBz94jvdVgxWuTuSoeHKNdY7wEJDGqG3xVsSVB3ubRQ="
|
||||
"rev": "9600e77d854090669817d22aa2fc941ee92aaacd",
|
||||
"hash": "sha256-jTJv53qt971Va5q6MaULysYiChBVmsFYxG9fzkcE0ak="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@@ -1632,25 +1637,20 @@
|
||||
"rev": "b65be9e699847c975440108a42f05412cc7fddac",
|
||||
"hash": "sha256-PySen9syu0OshtlHAZw666FeSQXdnsV8nlW9RmxgapM="
|
||||
},
|
||||
"src/third_party/xdg-utils": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
|
||||
"rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44",
|
||||
"hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U="
|
||||
},
|
||||
"src/third_party/xnnpack/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
|
||||
"rev": "abd8e60edf09db5f5ba8e7fa2f1fcab0ae0807e1",
|
||||
"hash": "sha256-VdrA2UwQ7/kHbnlIXBmga3ZjAqWaxCDQcDAssbLrh/M="
|
||||
"rev": "1812bbe2928a32f26c5e48466712ba6460cf290c",
|
||||
"hash": "sha256-xal21wjgeql3MjQXw6F1ezcRsnhVKod5jv0nYWroJ1o="
|
||||
},
|
||||
"src/third_party/zstd/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
|
||||
"rev": "1168da0e567960d50cba1b58c9b0ba047ece4733",
|
||||
"hash": "sha256-T2CwRpL/XT/OsBrRfxC8kNIm43U4qPMBju8Ug13Qebo="
|
||||
"rev": "3ae099b48dfcfe02b1b3ba81ab85457f8a922e9f",
|
||||
"hash": "sha256-futF0sM6z9HAl6AMJwUULBRByN92FTBjRIzYb2vBFGg="
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "c152c31c55cd54fd239772532a86c802d95b4617",
|
||||
"hash": "sha256-7qEPh9l94LqyaA9qW0ZfFmmFyMNTjTJaeunLgDhtFuM="
|
||||
"rev": "ddc9a95905de5268332a8f0216dc2bc67d26e829",
|
||||
"hash": "sha256-x2FGL3J+JaWO1m6jBrcayR7Vlz90fYEAuufm4PULYyM="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
build_with_tflite_lib=false
|
||||
chrome_pgo_phase=0
|
||||
clang_use_chrome_plugins=false
|
||||
disable_fieldtrial_testing_config=true
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "140.10.1esr";
|
||||
version = "140.10.2esr";
|
||||
applicationName = "Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "aa3481dbdda0a302acefff52007ba2e6927962523408b942a7df673e80618fc381faf1ca70ebaac3760645bf7cb382b85658af49beca705cd636ce9de58349a5";
|
||||
sha512 = "bda7d5e6d59a2ad310e3f3e6e8ec05c78222edce266671d5d454dfa3e8f0086add3b9c0099db907cb62b2587ed47026ba7b3aa4f0406693d142d8d91b818d551";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -110,13 +110,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"bpg_proxmox": {
|
||||
"hash": "sha256-nQIpxNiWYFHYgmiLjva+3tyOVdjrap35Zmy1nRWwpH4=",
|
||||
"hash": "sha256-RgyPVv3CWHgArDjmcz46j578hgleHFQ81MJ5OUWXnBk=",
|
||||
"homepage": "https://registry.terraform.io/providers/bpg/proxmox",
|
||||
"owner": "bpg",
|
||||
"repo": "terraform-provider-proxmox",
|
||||
"rev": "v0.104.0",
|
||||
"rev": "v0.106.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-pgFHrO71UGfH/w4Du7ocy437FNtptoDTWHmARQG/5A0="
|
||||
"vendorHash": "sha256-AxXZRn2D6iEIG6p00KGQi1kMkt2F/ZyeBsXHR345wag="
|
||||
},
|
||||
"brightbox_brightbox": {
|
||||
"hash": "sha256-pwFbCP+qDL/4IUfbPRCkddkbsEEeAu7Wp12/mDL0ABA=",
|
||||
@@ -310,11 +310,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"digitalocean_digitalocean": {
|
||||
"hash": "sha256-qiXN8ktqhJuN7Sb9XHf5HFaBfJASEpVkE07pAHg80QU=",
|
||||
"hash": "sha256-LmG3NpDkGgaQRworjC+CEhXxMO1lPbgOVhFTiObNkCA=",
|
||||
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
|
||||
"owner": "digitalocean",
|
||||
"repo": "terraform-provider-digitalocean",
|
||||
"rev": "v2.85.0",
|
||||
"rev": "v2.85.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -328,13 +328,13 @@
|
||||
"vendorHash": "sha256-fP6brpY/wRI1Yjgapzi+FfOci65gxWeOZulXbGdilrE="
|
||||
},
|
||||
"dnsimple_dnsimple": {
|
||||
"hash": "sha256-pbc7jLhIm+ogcpCBhi4CVsr2qM5vDzH0QuP3+cEVYLw=",
|
||||
"hash": "sha256-j3O1gztyDCiq0Rchcx1lYktY2EhaNaa3t1yL+lH7IAg=",
|
||||
"homepage": "https://registry.terraform.io/providers/dnsimple/dnsimple",
|
||||
"owner": "dnsimple",
|
||||
"repo": "terraform-provider-dnsimple",
|
||||
"rev": "v2.0.1",
|
||||
"rev": "v2.1.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-DRMbcAR+DDrxrg1jNgnoWUg+OjlKm7wkqgIN6Hhkp3U="
|
||||
"vendorHash": "sha256-1CpswocnTe6aj4TP7fMGy6mv0d/yX8FcYAKkAW5k7kk="
|
||||
},
|
||||
"dnsmadeeasy_dme": {
|
||||
"hash": "sha256-JH9YcM9Fvd1x0BJpLUZCm6a9hZZxySrkFVLP89FO3fU=",
|
||||
@@ -382,11 +382,11 @@
|
||||
"vendorHash": "sha256-WFlKj1IO9ylXn5frdnLcctQawjUXBTqcoMhQUQTU06A="
|
||||
},
|
||||
"exoscale_exoscale": {
|
||||
"hash": "sha256-qjevix8bIRY3MKLlTZK/uUHS8nmKgjPk/rgqNWRdKes=",
|
||||
"hash": "sha256-eK9XWu1Hh/sFWkUO5r0HIcw8tIhhP1nzkI41B0DpMZg=",
|
||||
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
|
||||
"owner": "exoscale",
|
||||
"repo": "terraform-provider-exoscale",
|
||||
"rev": "v0.68.0",
|
||||
"rev": "v0.69.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -508,13 +508,13 @@
|
||||
"vendorHash": "sha256-4I3YwVn3lGSDXKLqzlOlY4TlaSSJk6uKBNeCn7IdX6w="
|
||||
},
|
||||
"hashicorp_awscc": {
|
||||
"hash": "sha256-SMG66AP5IWbnwUOQBsf0p1WT1ht4a740Z7ltLgyhN2o=",
|
||||
"hash": "sha256-x1IcDODMayfVCZYz4kVf809Up0ictjJ0AzM0rA2z3Ks=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/awscc",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-awscc",
|
||||
"rev": "v1.82.0",
|
||||
"rev": "v1.83.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-2muLyg2LPj0broth01BZBysOdZyXaY/QzJWYjxTyKEw="
|
||||
"vendorHash": "sha256-jLJECrwL9JoWz2FSfTM/yQGzBg3gsrGtGpiZFRYwbII="
|
||||
},
|
||||
"hashicorp_azuread": {
|
||||
"hash": "sha256-BkQwLkGu8Xmb4laoXOLDbSPyya5v8HBBNIya5hUBlV8=",
|
||||
@@ -571,13 +571,13 @@
|
||||
"vendorHash": "sha256-xIagZvWtlNpz5SQfxbA7r9ojAeS3CW2pwV337ObKOwU="
|
||||
},
|
||||
"hashicorp_google": {
|
||||
"hash": "sha256-ZS5KnCC40Tt0G8aHd+wIYllEAfvT+e7zliuoo9fduTA=",
|
||||
"hash": "sha256-6cvRvVQmKRi4kyNAo/UAGN00bO+uCJYvf661xYW/QCQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-google",
|
||||
"rev": "v7.30.0",
|
||||
"rev": "v7.31.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-9Vs/ksWpdusfIHOM1jXZ6XYptLReY7LeQKflXlsOWj8="
|
||||
"vendorHash": "sha256-UoS4iIVHhCQ+Zk+SJmsMHJgJBKLMbfMVmtm4MDmzT68="
|
||||
},
|
||||
"hashicorp_google-beta": {
|
||||
"hash": "sha256-ltqZ6nyl/leYsV2pBJVgOtcOYIyfDmDLsZLfHTPOyew=",
|
||||
@@ -715,22 +715,22 @@
|
||||
"vendorHash": "sha256-fWnf2l9a7bzXtofA+Aow6F17K+slpMpXEYZPuqDNwfg="
|
||||
},
|
||||
"huaweicloud_huaweicloud": {
|
||||
"hash": "sha256-Eg811AwJwuHZ/270+TNh6JskCGRUt0ikk6yShjtVtcU=",
|
||||
"hash": "sha256-CtqPtXccE6I+yDj/7XbjbACMwCGMv+pSEIa5DVh+AGo=",
|
||||
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
|
||||
"owner": "huaweicloud",
|
||||
"repo": "terraform-provider-huaweicloud",
|
||||
"rev": "v1.90.0",
|
||||
"rev": "v1.91.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
"ibm-cloud_ibm": {
|
||||
"hash": "sha256-FeH8XVy+xTal2bbylEfvVqqqoURvuNKNzcK1fv+Ng50=",
|
||||
"hash": "sha256-sd7/8xjsNwP5ALFDMCbKy6L7zke2wxK2gylSbqpeD9o=",
|
||||
"homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
|
||||
"owner": "IBM-Cloud",
|
||||
"repo": "terraform-provider-ibm",
|
||||
"rev": "v2.0.2",
|
||||
"rev": "v2.1.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-HDZiRZoq3/2E8aK/whBBeLVPcWYXYZqTNPa4DvNG2aQ="
|
||||
"vendorHash": "sha256-euaLEnXZ9xmee5nTymFqPeUU4cewE+Ij6ZKGksNy25o="
|
||||
},
|
||||
"icinga_icinga2": {
|
||||
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
|
||||
@@ -842,13 +842,13 @@
|
||||
"vendorHash": "sha256-OgKOjLwDQxJiv+VWdOzjMcUDPu9LOuhyTRyLyM39vLM="
|
||||
},
|
||||
"linode_linode": {
|
||||
"hash": "sha256-nrNyOcaC5wKJijfubBBuEBKA6dT6Ajo33MR4P80j29k=",
|
||||
"hash": "sha256-prYSxbzRCrB3IDpctEUBLIHpV2iwHHILDlCceRVdIvw=",
|
||||
"homepage": "https://registry.terraform.io/providers/linode/linode",
|
||||
"owner": "linode",
|
||||
"repo": "terraform-provider-linode",
|
||||
"rev": "v3.11.0",
|
||||
"rev": "v3.12.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-91mdCcM5BSNdgW1/mMbuNtAxc4TH1abW8xbRcbHAnNc="
|
||||
"vendorHash": "sha256-4PQGnRL+z3EgVsTbKLXCBYwbzhd57tPije8RMJNrkKs="
|
||||
},
|
||||
"loafoe_htpasswd": {
|
||||
"hash": "sha256-1HCvAGWsYlcYCA8iOmBb/AawxHPLuoxxQWLzNy0x79M=",
|
||||
@@ -914,22 +914,22 @@
|
||||
"vendorHash": "sha256-JRqBv5N+i5yhKrC+Eenm1xmwylNF7k/EIJXaklrsFfA="
|
||||
},
|
||||
"mongey_kafka-connect": {
|
||||
"hash": "sha256-XMGpK22Ww8swvfrnbClxjErVmkBKX3dxdlkjgNJHlCE=",
|
||||
"hash": "sha256-A20rLdvunuTU3zZOJ1bj/yIaWs+xsdvSmpDPuxN7XQc=",
|
||||
"homepage": "https://registry.terraform.io/providers/Mongey/kafka-connect",
|
||||
"owner": "Mongey",
|
||||
"repo": "terraform-provider-kafka-connect",
|
||||
"rev": "v0.4.3",
|
||||
"rev": "v0.5.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-5cqj1O57snU+NoVqmWc/KIGnowQNMww+rJxYfIPvHWU="
|
||||
"vendorHash": "sha256-ulhKT0DaS6gg9Ucz9pqqIg4mxRpGDGz2rN1R0RNuumg="
|
||||
},
|
||||
"mongodb_mongodbatlas": {
|
||||
"hash": "sha256-2qthbblL0yh/SZjZg+49OkLi1EVODQxGWN41xD3AMpQ=",
|
||||
"hash": "sha256-8HZOdEHD5KwVuSDe3EDX54nPqn3Uz6kooi/HEGoI3F0=",
|
||||
"homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
|
||||
"owner": "mongodb",
|
||||
"repo": "terraform-provider-mongodbatlas",
|
||||
"rev": "v2.11.0",
|
||||
"rev": "v2.12.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-65I0oFyE9252aRaHvmYhOX8RTyH6UDE3Ude4b/LIkdo="
|
||||
"vendorHash": "sha256-c864XU6t/ehD1KhlV0aBddEc0eifWHHWeS67BH3odbM="
|
||||
},
|
||||
"namecheap_namecheap": {
|
||||
"hash": "sha256-eV2K3KHTEXEEt1WXwfYfNMK+gLUY0EoHFQg9kLdAI3s=",
|
||||
@@ -941,13 +941,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"nats-io_jetstream": {
|
||||
"hash": "sha256-xEWUMZBGLjUK3iab0VPQfR02WYnx2KEChG2nApvwW54=",
|
||||
"hash": "sha256-DRpHKfzvb5ubeTXoLis52RacvWSHjLBhC5/8oFTAS0w=",
|
||||
"homepage": "https://registry.terraform.io/providers/nats-io/jetstream",
|
||||
"owner": "nats-io",
|
||||
"repo": "terraform-provider-jetstream",
|
||||
"rev": "v0.3.0",
|
||||
"rev": "v0.4.0",
|
||||
"spdx": "Apache-2.0",
|
||||
"vendorHash": "sha256-+ZUPqDQ/YhDVJ/ukvp/Zk6nOCa/NKDPgeGqTRnrXEtQ="
|
||||
"vendorHash": "sha256-z1Qi/07jh0A8PNo87dVMAq2O5+oc33J7/SNx7rrm/Kg="
|
||||
},
|
||||
"nbering_ansible": {
|
||||
"hash": "sha256-3nha5V4rNgVzgqliebmbC5e12Lj/zlCsyyiIVFlmUrY=",
|
||||
@@ -959,13 +959,13 @@
|
||||
"vendorHash": "sha256-OAd8SeTqTrH0kMoM2LsK3vM2PI23b3gl57FaJYM9hM0="
|
||||
},
|
||||
"newrelic_newrelic": {
|
||||
"hash": "sha256-j4DQRsw7QP7d83HTIchgSVt3CPUCIJ8CKmuMSKr5GaQ=",
|
||||
"hash": "sha256-m8KZQUmDyMTR3S1BC5nmo15j5TUDV3ZZsy4hg16VZlc=",
|
||||
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
||||
"owner": "newrelic",
|
||||
"repo": "terraform-provider-newrelic",
|
||||
"rev": "v3.85.1",
|
||||
"rev": "v3.87.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-zFg0xT6iLBxnM9ysKB/Dmveffp6Ohbj9akgr6lbU8MI="
|
||||
"vendorHash": "sha256-W/a04lDiPVh/tkcWz9eJp/pupI46cXxqukdv1h17xYY="
|
||||
},
|
||||
"ns1-terraform_ns1": {
|
||||
"hash": "sha256-MX/Wd9Lztjn7uwDzJjs4bsSSp0PFzUgsu4jXke9jHL8=",
|
||||
@@ -1031,13 +1031,13 @@
|
||||
"vendorHash": "sha256-ofzbDmivXgH1i1Gjhpyp0bk3FDs5SnxwoRuNAWyMqyI="
|
||||
},
|
||||
"opentelekomcloud_opentelekomcloud": {
|
||||
"hash": "sha256-rhufSDVO6Yu5EXwduREFg3dkA/SkjzTyW3rR+Tqivbg=",
|
||||
"hash": "sha256-NQ8yB4maHOF/sfFSSeCW9MNnAo/PgYrXAPRuM4NNti0=",
|
||||
"homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
|
||||
"owner": "opentelekomcloud",
|
||||
"repo": "terraform-provider-opentelekomcloud",
|
||||
"rev": "v1.36.64",
|
||||
"rev": "v1.36.65",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-qtH6jjhzGRGaHYKjpJLPWjwRL5PQIyOPvI33BVf4cO4="
|
||||
"vendorHash": "sha256-NOsmv0G+tfNwqbPF8U4vihp3cd5Kn9N0dJBWh9m5X+Y="
|
||||
},
|
||||
"opsgenie_opsgenie": {
|
||||
"hash": "sha256-Y67kcg/ovvZc22l1CBz0Mqu7DAIit5F0jQNfQrl2EGI=",
|
||||
@@ -1049,11 +1049,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"oracle_oci": {
|
||||
"hash": "sha256-xB/wHvFmv14Lz1IR4+n7+l+RbRJCtDqZisLURK9IB4E=",
|
||||
"hash": "sha256-Yt46N9wVwgz8VbPSHQF1UQ4XT1ENIcE+yeKmO0JqnlM=",
|
||||
"homepage": "https://registry.terraform.io/providers/oracle/oci",
|
||||
"owner": "oracle",
|
||||
"repo": "terraform-provider-oci",
|
||||
"rev": "v8.12.0",
|
||||
"rev": "v8.13.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1391,11 +1391,11 @@
|
||||
"vendorHash": "sha256-ozAYLFkilSK0Nygdglhz3VNtRVKoLDGRnrVvg4nWyH4="
|
||||
},
|
||||
"turbot_turbot": {
|
||||
"hash": "sha256-zh809E1qII8EJm7QFHEORju2WF//+A2uk7olrCNdBkU=",
|
||||
"hash": "sha256-sJODPeFzU3vaiHbKlGe1dR5Pi7aS56JcmZUe8Yg1BcQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/turbot/turbot",
|
||||
"owner": "turbot",
|
||||
"repo": "terraform-provider-turbot",
|
||||
"rev": "v1.13.1",
|
||||
"rev": "v1.13.3",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1481,13 +1481,13 @@
|
||||
"vendorHash": "sha256-rUYHapEVqRupLOPVbcAH8YP0cuXclMmYTQUkqeOwCN0="
|
||||
},
|
||||
"vultr_vultr": {
|
||||
"hash": "sha256-gw4Eo4wrBDAycQyN7xGHe/w1VazTSgtIcAlBBrePrgs=",
|
||||
"hash": "sha256-IKXby/v1oNjxwgzbFTSDQYEEWbV8v8qzB4ZC9ISEf5o=",
|
||||
"homepage": "https://registry.terraform.io/providers/vultr/vultr",
|
||||
"owner": "vultr",
|
||||
"repo": "terraform-provider-vultr",
|
||||
"rev": "v2.31.0",
|
||||
"rev": "v2.31.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-bKf0QittBRoEbuz0JvmcyCyus1wPP3pacuYmq2RLV08="
|
||||
"vendorHash": "sha256-XQcxOSvZKXyq+k8N5n1lMM1ThbWfDXBm1Hc+Rmagu7I="
|
||||
},
|
||||
"wgebis_mailgun": {
|
||||
"hash": "sha256-Li4eyqZ6huO5Q+XTcQ+HQCg8IOjhxGU9Z4Uw3TbMdAc=",
|
||||
|
||||
@@ -200,8 +200,8 @@ rec {
|
||||
mkTerraform = attrs: pluggable (generic attrs);
|
||||
|
||||
terraform_1 = mkTerraform {
|
||||
version = "1.15.0";
|
||||
hash = "sha256-cKgZFCPLusXXSjcff/PmKGIdSm3wRY1DpduXBRrgcDc=";
|
||||
version = "1.15.2";
|
||||
hash = "sha256-jwmyZJHGfi2oO8FBebPKBQdXt61w02H6zbbqSXxMhMM=";
|
||||
vendorHash = "sha256-Gv6V5aXqTuQoG1StbD/7Ln2QrLpMsW6fbUJUkyZMkvk=";
|
||||
patches = [ ./provider-path-0_15.patch ];
|
||||
passthru = {
|
||||
|
||||
+4
@@ -17,6 +17,10 @@ let
|
||||
inherit stdenv;
|
||||
# N/A on Qt5
|
||||
kimageformats = null;
|
||||
unwrapped = libsForQt5.callPackage ../telegram-desktop/unwrapped.nix {
|
||||
inherit stdenv;
|
||||
kcoreaddons = null;
|
||||
};
|
||||
};
|
||||
version = "1.4.9";
|
||||
tg_owt = telegram-desktop.tg_owt.overrideAttrs (oldAttrs: {
|
||||
|
||||
+2
-2
@@ -45,14 +45,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "telegram-desktop-unwrapped";
|
||||
version = "6.7.6";
|
||||
version = "6.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-TGI1SLtzjjDaodQc+JIVRRiwCy9PCO3MuPfv2DpDFxo=";
|
||||
hash = "sha256-CcibFBPbviakOsf+BpAF8U0CRWIt3zO/KiHycwRw2V0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -16,20 +16,9 @@
|
||||
boost,
|
||||
zlib,
|
||||
qtscript,
|
||||
phonon,
|
||||
libdbusmenu,
|
||||
qca-qt5,
|
||||
openldap,
|
||||
|
||||
withKDE ? true, # enable KDE integration
|
||||
extra-cmake-modules,
|
||||
kconfigwidgets,
|
||||
kcoreaddons,
|
||||
knotifications,
|
||||
knotifyconfig,
|
||||
ktextwidgets,
|
||||
kwidgetsaddons,
|
||||
kxmlgui,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -39,7 +28,6 @@ in
|
||||
|
||||
assert monolithic -> !client && !enableDaemon;
|
||||
assert client || enableDaemon -> !monolithic;
|
||||
assert !buildClient -> !withKDE; # KDE is used by the client only
|
||||
|
||||
let
|
||||
edf = flag: feature: [ ("-D" + feature + (if flag then "=ON" else "=OFF")) ];
|
||||
@@ -76,17 +64,6 @@ stdenv.mkDerivation rec {
|
||||
]
|
||||
++ lib.optionals buildClient [
|
||||
libdbusmenu
|
||||
phonon
|
||||
]
|
||||
++ lib.optionals (buildClient && withKDE) [
|
||||
extra-cmake-modules
|
||||
kconfigwidgets
|
||||
kcoreaddons
|
||||
knotifications
|
||||
knotifyconfig
|
||||
ktextwidgets
|
||||
kwidgetsaddons
|
||||
kxmlgui
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@@ -97,8 +74,7 @@ stdenv.mkDerivation rec {
|
||||
++ edf monolithic "WANT_MONO"
|
||||
++ edf enableDaemon "WANT_CORE"
|
||||
++ edf enableDaemon "WITH_LDAP"
|
||||
++ edf client "WANT_QTCLIENT"
|
||||
++ edf withKDE "WITH_KDE";
|
||||
++ edf client "WANT_QTCLIENT";
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
# K&R-style declarations in vendored mimetex break under gcc 15's C23 default.
|
||||
env.NIX_CFLAGS_COMPILE = "-std=gnu17";
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace app/app.pro \
|
||||
--replace /usr/local/bin $out/bin \
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
extra-cmake-modules,
|
||||
shared-mime-info,
|
||||
bison,
|
||||
flex,
|
||||
wrapQtAppsHook,
|
||||
|
||||
qtbase,
|
||||
@@ -33,7 +36,7 @@
|
||||
netcdf,
|
||||
cfitsio,
|
||||
libcerf,
|
||||
# cantor,
|
||||
cantor,
|
||||
zlib,
|
||||
lz4,
|
||||
readstat,
|
||||
@@ -44,30 +47,33 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "labplot";
|
||||
version = "2.10.1";
|
||||
version = "2.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/labplot/labplot-${version}.tar.xz";
|
||||
sha256 = "sha256-K24YFRfPtuDf/3uJXz6yDHzjWeZzLThUXgdXya6i2u8=";
|
||||
hash = "sha256-4oFVv930DltvfEeRMTVW0eSBOARPIW8hDVFbn21sEGo=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
# Disable Vector BLF since it depends on DBC parser which fails to be detected
|
||||
"-DENABLE_VECTOR_BLF=OFF"
|
||||
patches = [
|
||||
# backport build fix
|
||||
# FIXME: remove in next update
|
||||
(fetchpatch {
|
||||
url = "https://invent.kde.org/education/labplot/-/commit/c2db2ec28aa8958f7041ae5cd03ddae9f44e5aa3.diff";
|
||||
hash = "sha256-0biKZXWMs5y1U9phAivEAbd2N4C/CiOKvk/QRAaPimo=";
|
||||
})
|
||||
];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "matio-fix-compilation-for-latest-version-1.5.27.patch";
|
||||
url = "https://github.com/KDE/labplot/commit/d6142308ffa492d9f7cea00fad3b4cd1babfd00c.patch";
|
||||
hash = "sha256-qD5jj6GxBKbQezKJb1Z8HnwFO84WJBGQDawS/6o/wHE=";
|
||||
})
|
||||
cmakeFlags = [
|
||||
"-DQT_FIND_PRIVATE_MODULES=ON"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
extra-cmake-modules
|
||||
shared-mime-info
|
||||
bison
|
||||
flex
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
@@ -97,7 +103,7 @@ stdenv.mkDerivation rec {
|
||||
netcdf
|
||||
cfitsio
|
||||
libcerf
|
||||
# cantor
|
||||
cantor
|
||||
zlib
|
||||
lz4
|
||||
readstat
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
libvlc,
|
||||
libv4l,
|
||||
libx11,
|
||||
kidletime,
|
||||
kdelibs4support,
|
||||
libxscrnsaver,
|
||||
wrapQtAppsHook,
|
||||
qtx11extras,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kaffeine";
|
||||
version = "2.0.19";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
repo = "kaffeine";
|
||||
owner = "Multimedia";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AHyUS2vyeuWFLRXdIoy1sbssDgzz7N957vyf5rWiooI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libvlc
|
||||
libv4l
|
||||
libx11
|
||||
kidletime
|
||||
qtx11extras
|
||||
kdelibs4support
|
||||
libxscrnsaver
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "KDE media player";
|
||||
homepage = "https://apps.kde.org/kaffeine/";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.pasqui23 ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "kaffeine";
|
||||
};
|
||||
}
|
||||
@@ -5,11 +5,8 @@
|
||||
qmake,
|
||||
qttools,
|
||||
wrapQtAppsHook,
|
||||
phonon,
|
||||
phonon-backend-vlc,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
qtx11extras,
|
||||
mpv,
|
||||
|
||||
# "Free" key generated by pasqui23
|
||||
@@ -18,21 +15,21 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "minitube";
|
||||
version = "3.9.3";
|
||||
version = "4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
hash = "sha256-ROqROQsV8ddrxYT5mMdkf6rCgCoGr1jpxQ1ohcoEaQs=";
|
||||
rev = version;
|
||||
repo = "minitube";
|
||||
owner = "flaviotordini";
|
||||
tag = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-JAxdPiiPDpmhJBiNtlaMbdcC/YEGJyc9mP3kBvee/74=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Taken from FreeBSD; already merged upstream in the media submodule
|
||||
# (https://github.com/flaviotordini/media/commit/f6b7020f273e1fc06e6e204fab37a7c8edaa857a)
|
||||
./lib_media_src_mpv_mpvwidget.patch
|
||||
];
|
||||
# https://github.com/NixOS/nixpkgs/issues/214765
|
||||
postPatch = ''
|
||||
substituteInPlace locale/locale.pri \
|
||||
--replace-fail '$$[QT_INSTALL_BINS]/lrelease' '${lib.getDev qttools}/bin/lrelease'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
@@ -41,11 +38,8 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
phonon
|
||||
phonon-backend-vlc
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtx11extras
|
||||
mpv
|
||||
];
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
diff -Nur a/lib/media/src/mpv/mpvwidget.cpp b/lib/media/src/mpv/mpvwidget.cpp
|
||||
--- a/lib/media/src/mpv/mpvwidget.cpp
|
||||
+++ b/lib/media/src/mpv/mpvwidget.cpp
|
||||
@@ -30,7 +30,11 @@
|
||||
qDebug() << "initializeGL" << nativeParent;
|
||||
if (nativeParent == nullptr) qFatal("No native parent");
|
||||
|
||||
- mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
|
||||
+ #if MPV_CLIENT_API_VERSION < MPV_MAKE_VERSION(2,0)
|
||||
+ mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
|
||||
+ #else
|
||||
+ mpv_opengl_init_params gl_init_params{get_proc_address, this};
|
||||
+ #endif
|
||||
mpv_render_param params[]{{MPV_RENDER_PARAM_API_TYPE, (void *)MPV_RENDER_API_TYPE_OPENGL},
|
||||
{MPV_RENDER_PARAM_OPENGL_INIT_PARAMS, &gl_init_params},
|
||||
{MPV_RENDER_PARAM_INVALID, nullptr},
|
||||
@@ -10,7 +10,7 @@
|
||||
cairo,
|
||||
ceres-solver,
|
||||
expat,
|
||||
extra-cmake-modules,
|
||||
kdePackages,
|
||||
glog,
|
||||
libxdmcp,
|
||||
python312,
|
||||
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
kdePackages.extra-cmake-modules
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
qrcodegencpp,
|
||||
simde,
|
||||
nix-update-script,
|
||||
extra-cmake-modules,
|
||||
kdePackages,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -121,7 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
wrapQtAppsHook
|
||||
extra-cmake-modules
|
||||
kdePackages.extra-cmake-modules
|
||||
]
|
||||
++ optional scriptingSupport swig
|
||||
++ optional cudaSupport autoAddDriverRunpath;
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "obs-plugin-countdown";
|
||||
version = "2.1.1";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ashmanix";
|
||||
repo = "obs-plugin-countdown";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-rDs+X2eH8aUUH6phEo/pelUY1mHnnJNc6mqcT/lT+6c=";
|
||||
hash = "sha256-0E2pNRg4vwXK54aYuWYZyuRJaNrpwX7X0Dq6V8B/SgA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -222,9 +222,14 @@ let
|
||||
ro_mounts+=(--ro-bind /etc /.host-etc)
|
||||
fi
|
||||
|
||||
declare -A etc_ignored_set
|
||||
for ign in "''${etc_ignored[@]}"; do
|
||||
etc_ignored_set[$ign]=1
|
||||
done
|
||||
|
||||
# link selected etc entries from the actual root
|
||||
for i in ${escapeShellArgs etcBindEntries}; do
|
||||
if [[ "''${etc_ignored[@]}" =~ "$i" ]]; then
|
||||
if [[ -n "''${etc_ignored_set[$i]:-}" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ -e $i ]]; then
|
||||
@@ -232,11 +237,21 @@ let
|
||||
fi
|
||||
done
|
||||
|
||||
declare -A ignored_set
|
||||
for ign in "''${ignored[@]}"; do
|
||||
ignored_set[$ign]=1
|
||||
done
|
||||
|
||||
declare -a auto_mounts
|
||||
# loop through all directories in the root
|
||||
for dir in /*; do
|
||||
# if it is a directory and it is not ignored
|
||||
if [[ -d "$dir" ]] && [[ ! "''${ignored[@]}" =~ "$dir" ]]; then
|
||||
# if it is a directory and not already provided by the FHS env or
|
||||
# explicitly ignored, bind-mount it into the chroot. Use exact match
|
||||
# via associative array because regex substring matching incorrectly
|
||||
# skips prefixes (e.g. /sb would match /sbin and never get mounted,
|
||||
# breaking --chdir when CWD is on a custom mount like /sb/project).
|
||||
# https://github.com/NixOS/nixpkgs/issues/241151
|
||||
if [[ -d "$dir" ]] && [[ -z "''${ignored_set[$dir]:-}" ]]; then
|
||||
# add it to the mount list
|
||||
auto_mounts+=(--bind "$dir" "$dir")
|
||||
fi
|
||||
|
||||
@@ -325,6 +325,7 @@ lib.makeOverridable
|
||||
buildDependencies_ = buildDependencies;
|
||||
processedAttrs = [
|
||||
"src"
|
||||
"propagatedBuildInputs"
|
||||
"nativeBuildInputs"
|
||||
"buildInputs"
|
||||
"crateBin"
|
||||
@@ -418,7 +419,8 @@ lib.makeOverridable
|
||||
buildInputs =
|
||||
lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]
|
||||
++ (crate.buildInputs or [ ])
|
||||
++ buildInputs_;
|
||||
++ buildInputs_
|
||||
++ completePropagatedBuildInputs;
|
||||
dependencies = map lib.getLib dependencies_;
|
||||
buildDependencies = map lib.getLib buildDependencies_;
|
||||
|
||||
@@ -428,6 +430,16 @@ lib.makeOverridable
|
||||
++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
|
||||
);
|
||||
|
||||
# Propagated native build inputs from this crate and all transitive Rust
|
||||
# dependencies. Analogous to completeDeps but for native library deps:
|
||||
# a crate can declare `propagatedBuildInputs` in its override and they
|
||||
# will automatically be added to the buildInputs of every crate that
|
||||
# depends on it, without having to repeat them up the dependency tree.
|
||||
completePropagatedBuildInputs = lib.unique (
|
||||
(crate.propagatedBuildInputs or [ ])
|
||||
++ lib.concatMap (dep: dep.completePropagatedBuildInputs or [ ]) dependencies
|
||||
);
|
||||
|
||||
# Create a list of features that are enabled by the crate itself and
|
||||
# through the features argument of buildRustCrate. Exclude features
|
||||
# with a forward slash, since they are passed through to dependencies,
|
||||
|
||||
@@ -1060,6 +1060,69 @@ rec {
|
||||
test -x '${pkg}/bin/rcgen' && touch $out
|
||||
''
|
||||
);
|
||||
|
||||
# Test that propagatedBuildInputs declared in a crate override are
|
||||
# collected by completePropagatedBuildInputs and propagate transitively
|
||||
# to all crates that depend on it.
|
||||
propagatedBuildInputsTest =
|
||||
let
|
||||
fakeNativeLib = runCommand "fake-native-lib" { } "mkdir -p $out/lib && touch $out/lib/libfoo.a";
|
||||
|
||||
# Library crate that declares a native dep via propagatedBuildInputs
|
||||
libCrate = mkHostCrate {
|
||||
crateName = "mylib";
|
||||
src = mkLib "src/lib.rs";
|
||||
propagatedBuildInputs = [ fakeNativeLib ];
|
||||
};
|
||||
|
||||
# Binary crate with a direct dependency on libCrate
|
||||
binCrate = mkHostCrate {
|
||||
crateName = "mybin";
|
||||
src = mkFile "src/main.rs" "fn main() {}";
|
||||
dependencies = [ libCrate ];
|
||||
};
|
||||
|
||||
# Intermediate library that depends on libCrate
|
||||
transitiveLib = mkHostCrate {
|
||||
crateName = "transitivelib";
|
||||
src = mkLib "src/lib.rs";
|
||||
dependencies = [ libCrate ];
|
||||
};
|
||||
|
||||
# Binary crate that only depends on transitiveLib (not libCrate directly)
|
||||
transitiveBin = mkHostCrate {
|
||||
crateName = "transitivebin";
|
||||
src = mkFile "src/main.rs" "fn main() {}";
|
||||
dependencies = [ transitiveLib ];
|
||||
};
|
||||
in
|
||||
runCommand "propagated-build-inputs-test"
|
||||
{
|
||||
libCrateInputs = libCrate.completePropagatedBuildInputs;
|
||||
binCrateInputs = binCrate.completePropagatedBuildInputs;
|
||||
transitiveBinInputs = transitiveBin.completePropagatedBuildInputs;
|
||||
}
|
||||
''
|
||||
# libCrate itself should have fakeNativeLib in completePropagatedBuildInputs
|
||||
echo "$libCrateInputs" | grep -q "${fakeNativeLib}" || {
|
||||
echo "ERROR: fakeNativeLib not in libCrate.completePropagatedBuildInputs"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# binCrate depends on libCrate, so fakeNativeLib should propagate
|
||||
echo "$binCrateInputs" | grep -q "${fakeNativeLib}" || {
|
||||
echo "ERROR: fakeNativeLib not propagated to binCrate.completePropagatedBuildInputs"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# transitiveBin → transitiveLib → libCrate: fakeNativeLib should propagate transitively
|
||||
echo "$transitiveBinInputs" | grep -q "${fakeNativeLib}" || {
|
||||
echo "ERROR: fakeNativeLib not transitively propagated to transitiveBin.completePropagatedBuildInputs"
|
||||
exit 1
|
||||
}
|
||||
|
||||
touch $out
|
||||
'';
|
||||
}
|
||||
);
|
||||
test = releaseTools.aggregate {
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
passthru.tests = {
|
||||
test = tests.rust-hooks.cargoBuildHook;
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.isLinux) {
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isLinux) {
|
||||
testCross = pkgsCross.riscv64.tests.rust-hooks.cargoBuildHook;
|
||||
};
|
||||
} ./cargo-build-hook.sh;
|
||||
@@ -41,7 +41,7 @@
|
||||
passthru.tests = {
|
||||
test = tests.rust-hooks.cargoCheckHook;
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.isLinux) {
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isLinux) {
|
||||
testCross = pkgsCross.riscv64.tests.rust-hooks.cargoCheckHook;
|
||||
};
|
||||
} ./cargo-check-hook.sh;
|
||||
@@ -54,7 +54,7 @@
|
||||
passthru.tests = {
|
||||
test = tests.rust-hooks.cargoInstallHook;
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.isLinux) {
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isLinux) {
|
||||
testCross = pkgsCross.riscv64.tests.rust-hooks.cargoInstallHook;
|
||||
};
|
||||
} ./cargo-install-hook.sh;
|
||||
@@ -68,7 +68,7 @@
|
||||
passthru.tests = {
|
||||
test = tests.rust-hooks.cargoNextestHook;
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.isLinux) {
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isLinux) {
|
||||
testCross = pkgsCross.riscv64.tests.rust-hooks.cargoNextestHook;
|
||||
};
|
||||
} ./cargo-nextest-hook.sh;
|
||||
@@ -107,7 +107,7 @@
|
||||
passthru.tests = {
|
||||
test = tests.rust-hooks.cargoSetupHook;
|
||||
}
|
||||
// lib.optionalAttrs (stdenv.isLinux) {
|
||||
// lib.optionalAttrs (stdenv.hostPlatform.isLinux) {
|
||||
testCross = pkgsCross.riscv64.tests.rust-hooks.cargoSetupHook;
|
||||
};
|
||||
} ./cargo-setup-hook.sh;
|
||||
|
||||
@@ -52,6 +52,9 @@ installFonts() {
|
||||
if [ -n "${webfont-}" ]; then
|
||||
installFont 'woff' "$webfont/share/fonts/woff"
|
||||
installFont 'woff2' "$webfont/share/fonts/woff2"
|
||||
elif [[ "${dontInstallWebfonts-}" != 1 && -n "$(find . \( -iname "*.woff" -o -iname "*.woff2" \) -print)" ]]; then
|
||||
nixErrorLog "Consider adding \"webfont\" to outputs to install woff/woff2 files."
|
||||
nixErrorLog "Alternatively, set dontInstallWebfonts to silence this."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
@@ -10,13 +10,13 @@ telegram-desktop.override {
|
||||
inherit withWebkit;
|
||||
unwrapped = telegram-desktop.unwrapped.overrideAttrs (old: rec {
|
||||
pname = "64gram-unwrapped";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TDesktop-x64";
|
||||
repo = "tdesktop";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Xhyk/rCb4EakU0Nc80U1QN3PyMqlLBtcYb+zGjllhDM=";
|
||||
hash = "sha256-C3DpwMF+0P2YKLG+USZMrBqRmfTSoF82YPMAgj33L+Y=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
kdePackages,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
freetype,
|
||||
@@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qt5.wrapQtAppsHook
|
||||
]
|
||||
++ lib.optionals enableWayland [
|
||||
extra-cmake-modules
|
||||
kdePackages.extra-cmake-modules
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"DESTDIR="
|
||||
]
|
||||
++ lib.optional stdenv.isDarwin "PLATFORM=mac";
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin "PLATFORM=mac";
|
||||
|
||||
# Even with PLATFORM=mac, the Makefile specifies some GCC-specific CFLAGS that
|
||||
# are not supported by modern Clang on macOS
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail "-funswitch-loops" "" \
|
||||
--replace-fail "-fgcse-after-reload" ""
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user