Project import generated by Copybara.

GitOrigin-RevId: c97e777ff06fcb8d37dcdf5e21e9eff1f34f0e90
This commit is contained in:
Default email 2022-09-11 12:47:08 -03:00
parent bfe31111ba
commit 7bc014aa9c
375 changed files with 8927 additions and 5548 deletions

View file

@ -0,0 +1,21 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p html-tidy
set -euo pipefail
shopt -s inherit_errexit
normalize() {
tidy \
--anchor-as-name no \
--coerce-endtags no \
--escape-scripts no \
--fix-backslash no \
--fix-style-tags no \
--fix-uri no \
--indent yes \
--wrap 0 \
< "$1" \
2> /dev/null
}
diff -U3 <(normalize "$1") <(normalize "$2")

View file

@ -27,5 +27,13 @@ jobs:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Building NixOS manual
- name: Building NixOS manual with DocBook options
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true nixos/release.nix -A manual.x86_64-linux
- name: Building NixOS manual with Markdown options
run: |
export NIX_PATH=nixpkgs=$(pwd)
nix-build \
--option restrict-eval true \
--arg configuration '{ documentation.nixos.options.allowDocBook = false; }' \
nixos/release.nix \
-A manual.x86_64-linux

View file

@ -0,0 +1,64 @@
name: "Check NixOS Manual DocBook rendering against MD rendering"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Check every 24 hours
- cron: '0 0 * * *'
permissions:
contents: read
jobs:
check-rendering-equivalence:
permissions:
issues: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v10
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Build DocBook and MD manuals
run: |
export NIX_PATH=nixpkgs=$(pwd)
nix-build \
--option restrict-eval true \
-o docbook nixos/release.nix \
-A manual.x86_64-linux
nix-build \
--option restrict-eval true \
--arg configuration '{ documentation.nixos.options.allowDocBook = false; }' \
-o md nixos/release.nix \
-A manual.x86_64-linux
- name: Compare DocBook and MD manuals
id: check
run: |
export NIX_PATH=nixpkgs=$(pwd)
.github/workflows/compare-manuals.sh \
docbook/share/doc/nixos/options.html \
md/share/doc/nixos/options.html
# if the manual can't be built we don't want to notify anyone.
# while this may temporarily hide rendering failures it will be a lot
# less noisy until all nixpkgs pull requests have stopped using
# docbook for option docs.
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() && steps.check.conclusion == 'failure' }}
with:
issue-number: 189318
body: |
Markdown and DocBook manuals do not agree.
Check https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }} for details.

View file

@ -284,7 +284,10 @@ rec {
*/
literalDocBook = text:
if ! isString text then throw "literalDocBook expects a string."
else { _type = "literalDocBook"; inherit text; };
else
lib.warnIf (lib.isInOldestRelease 2211)
"literalDocBook is deprecated, use literalMD instead"
{ _type = "literalDocBook"; inherit text; };
/* Transition marker for documentation that's already migrated to markdown
syntax.

View file

@ -227,11 +227,11 @@ rec {
};
int = mkOptionType {
name = "int";
description = "signed integer";
check = isInt;
merge = mergeEqualOption;
};
name = "int";
description = "signed integer";
check = isInt;
merge = mergeEqualOption;
};
# Specialized subdomains of int
ints =
@ -292,10 +292,34 @@ rec {
port = ints.u16;
float = mkOptionType {
name = "float";
description = "floating point number";
check = isFloat;
merge = mergeEqualOption;
name = "float";
description = "floating point number";
check = isFloat;
merge = mergeEqualOption;
};
number = either int float;
numbers = let
betweenDesc = lowest: highest:
"${builtins.toJSON lowest} and ${builtins.toJSON highest} (both inclusive)";
in {
between = lowest: highest:
assert lib.assertMsg (lowest <= highest)
"numbers.between: lowest must be smaller than highest";
addCheck number (x: x >= lowest && x <= highest) // {
name = "numberBetween";
description = "integer or floating point number between ${betweenDesc lowest highest}";
};
nonnegative = addCheck number (x: x >= 0) // {
name = "numberNonnegative";
description = "nonnegative integer or floating point number, meaning >=0";
};
positive = addCheck number (x: x > 0) // {
name = "numberPositive";
description = "positive integer or floating point number, meaning >0";
};
};
str = mkOptionType {

View file

@ -1027,6 +1027,12 @@
fingerprint = "BF8B F725 DA30 E53E 7F11 4ED8 AAA5 0652 F047 9205";
}];
};
apraga = {
email = "alexis.praga@proton.me";
github = "apraga";
githubId = 914687;
name = "Alexis Praga";
};
ar1a = {
email = "aria@ar1as.space";
github = "ar1a";
@ -1075,6 +1081,12 @@
githubId = 628387;
name = "Arian van Putten";
};
arikgrahl = {
email = "mail@arik-grahl.de";
github = "arikgrahl";
githubId = 8049011;
name = "Arik Grahl";
};
aristid = {
email = "aristidb@gmail.com";
github = "aristidb";
@ -6043,6 +6055,12 @@
fingerprint = "A506 C38D 5CC8 47D0 DF01 134A DA8B 833B 5260 4E63";
}];
};
jcs090218 = {
email = "jcs090218@gmail.com";
github = "jcs090218";
githubId = 8685505;
name = "Jen-Chieh Shen";
};
jcumming = {
email = "jack@mudshark.org";
github = "jcumming";
@ -8599,6 +8617,13 @@
githubId = 71893;
name = "Michael Maclean";
};
mglolenstine = {
email = "mglolenstine@gmail.com";
github = "MGlolenstine";
githubId = 9406770;
matrix = "@mglolenstine:matrix.org";
name = "MGlolenstine";
};
mgregoire = {
email = "gregoire@martinache.net";
github = "M-Gregoire";
@ -15268,6 +15293,12 @@
fingerprint = "4384 B8E1 299F C028 1641 7B8F EC30 EFBE FA7E 84A4";
}];
};
bezmuth = {
email = "benkel97@protonmail.com";
name = "Ben Kelly";
github = "bezmuth";
githubId = 31394095;
};
cafkafk = {
email = "cafkafk@cafkafk.com";
matrix = "@cafkafk:matrix.cafkafk.com";
@ -15284,4 +15315,10 @@
githubId = 7775707;
name = "RB";
};
bpaulin = {
email = "brunopaulin@bpaulin.net";
github = "bpaulin";
githubId = 115711;
name = "bpaulin";
};
}

View file

@ -6,6 +6,7 @@
, extraSources ? []
, baseOptionsJSON ? null
, warningsAreErrors ? true
, allowDocBook ? true
, prefix ? ../../..
}:
@ -28,7 +29,7 @@ let
stripAnyPrefixes = lib.flip (lib.foldr lib.removePrefix) prefixesToStrip;
optionsDoc = buildPackages.nixosOptionsDoc {
inherit options revision baseOptionsJSON warningsAreErrors;
inherit options revision baseOptionsJSON warningsAreErrors allowDocBook;
transformOptions = opt: opt // {
# Clean up declaration sites to not refer to the NixOS source tree.
declarations = map stripAnyPrefixes opt.declarations;

View file

@ -44,26 +44,23 @@ The function `mkOption` accepts the following arguments.
: A textual representation of the default value to be rendered verbatim in
the manual. Useful if the default value is a complex expression or depends
on other values or packages.
Use `lib.literalExpression` for a Nix expression, `lib.literalDocBook` for
a plain English description in DocBook format.
Use `lib.literalExpression` for a Nix expression, `lib.literalMD` for
a plain English description in [Nixpkgs-flavored Markdown](
https://nixos.org/nixpkgs/manual/#sec-contributing-markup) format.
`example`
: An example value that will be shown in the NixOS manual.
You can use `lib.literalExpression` and `lib.literalDocBook` in the same way
You can use `lib.literalExpression` and `lib.literalMD` in the same way
as in `defaultText`.
`description`
: A textual description of the option, in DocBook format, that will be
: A textual description of the option, in [Nixpkgs-flavored Markdown](
https://nixos.org/nixpkgs/manual/#sec-contributing-markup) format, that will be
included in the NixOS manual. During the migration process from DocBook
to CommonMark the description may also be written in CommonMark, but has
to be wrapped in `lib.mdDoc` to differentiate it from DocBook. See
the nixpkgs manual for [the list of CommonMark extensions](
https://nixos.org/nixpkgs/manual/#sec-contributing-markup)
supported by NixOS documentation.
New documentation should preferably be written as CommonMark.
to CommonMark the description may also be written in DocBook, but this is
discouraged.
## Utility functions for common option patterns {#sec-option-declarations-util}

View file

@ -4,7 +4,7 @@ Option types are a way to put constraints on the values a module option
can take. Types are also responsible of how values are merged in case of
multiple value definitions.
## Basic Types {#sec-option-types-basic}
## Basic types {#sec-option-types-basic}
Basic types are the simplest available types in the module system. Basic
types include multiple string types that mainly differ in how definition
@ -25,6 +25,11 @@ merging is handled.
: A top-level store path. This can be an attribute set pointing
to a store path, like a derivation or a flake input.
`types.enum` *`l`*
: One element of the list *`l`*, e.g. `types.enum [ "left" "right" ]`.
Multiple definitions cannot be merged.
`types.anything`
: A type that accepts any value and recursively merges attribute sets
@ -95,7 +100,7 @@ merging is handled.
problems.
:::
Integer-related types:
### Numeric types {#sec-option-types-numeric}
`types.int`
@ -118,6 +123,10 @@ Integer-related types:
from 0 to 2^n1 respectively (e.g. `0`
to `255` for 8 bits).
`types.ints.between` *`lowest highest`*
: An integer between *`lowest`* and *`highest`* (both inclusive).
`types.ints.positive`
: A positive integer (that is > 0).
@ -127,12 +136,44 @@ Integer-related types:
: A port number. This type is an alias to
`types.ints.u16`.
String-related types:
`types.float`
: A floating point number.
::: {.warning}
Converting a floating point number to a string with `toString` or `toJSON`
may result in [precision loss](https://github.com/NixOS/nix/issues/5733).
:::
`types.number`
: Either a signed integer or a floating point number. No implicit conversion
is done between the two types, and multiple equal definitions will only be
merged if they have the same type.
`types.numbers.between` *`lowest highest`*
: An integer or floating point number between *`lowest`* and *`highest`* (both inclusive).
`types.numbers.nonnegative`
: A nonnegative integer or floating point number (that is >= 0).
`types.numbers.positive`
: A positive integer or floating point number (that is > 0).
### String types {#sec-option-types-string}
`types.str`
: A string. Multiple definitions cannot be merged.
`types.separatedString` *`sep`*
: A string. Multiple definitions are concatenated with *`sep`*, e.g.
`types.separatedString "|"`.
`types.lines`
: A string. Multiple definitions are concatenated with a new line
@ -144,7 +185,7 @@ String-related types:
`types.envVar`
: A string. Multiple definitions are concatenated with a collon `":"`.
: A string. Multiple definitions are concatenated with a colon `":"`.
`types.strMatching`
@ -152,24 +193,9 @@ String-related types:
definitions cannot be merged. The regular expression is processed
using `builtins.match`.
## Value Types {#sec-option-types-value}
## Submodule types {#sec-option-types-submodule}
Value types are types that take a value parameter.
`types.enum` *`l`*
: One element of the list *`l`*, e.g. `types.enum [ "left" "right" ]`.
Multiple definitions cannot be merged.
`types.separatedString` *`sep`*
: A string with a custom separator *`sep`*, e.g.
`types.separatedString "|"`.
`types.ints.between` *`lowest highest`*
: An integer between *`lowest`* and *`highest`* (both inclusive). Useful
for creating types like `types.port`.
Submodules are detailed in [Submodule](#section-option-types-submodule).
`types.submodule` *`o`*
@ -178,7 +204,6 @@ Value types are types that take a value parameter.
value. Submodules are used in composed types to create modular
options. This is equivalent to
`types.submoduleWith { modules = toList o; shorthandOnlyDefinesConfig = true; }`.
Submodules are detailed in [Submodule](#section-option-types-submodule).
`types.submoduleWith` { *`modules`*, *`specialArgs`* ? {}, *`shorthandOnlyDefinesConfig`* ? false }
@ -239,7 +264,7 @@ Value types are types that take a value parameter.
more convenient and discoverable than expecting the module user to
type-merge with the `attrsOf submodule` option.
## Composed Types {#sec-option-types-composed}
## Composed types {#sec-option-types-composed}
Composed types are types that take a type as parameter. `listOf
int` and `either int str` are examples of composed types.
@ -496,7 +521,7 @@ Types are mainly characterized by their `check` and `merge` functions.
of strings, and `defs` the list of defined values as a list. It is
possible to override a type merge function for custom needs.
## Custom Types {#sec-option-types-custom}
## Custom types {#sec-option-types-custom}
Custom types can be created with the `mkOptionType` function. As type
creation includes some more complex topics such as submodule handling,

View file

@ -69,8 +69,10 @@ options = {
verbatim in the manual. Useful if the default value is a
complex expression or depends on other values or packages. Use
<literal>lib.literalExpression</literal> for a Nix expression,
<literal>lib.literalDocBook</literal> for a plain English
description in DocBook format.
<literal>lib.literalMD</literal> for a plain English
description in
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-contributing-markup">Nixpkgs-flavored
Markdown</link> format.
</para>
</listitem>
</varlistentry>
@ -82,7 +84,7 @@ options = {
<para>
An example value that will be shown in the NixOS manual. You
can use <literal>lib.literalExpression</literal> and
<literal>lib.literalDocBook</literal> in the same way as in
<literal>lib.literalMD</literal> in the same way as in
<literal>defaultText</literal>.
</para>
</listitem>
@ -93,18 +95,12 @@ options = {
</term>
<listitem>
<para>
A textual description of the option, in DocBook format, that
will be included in the NixOS manual. During the migration
process from DocBook to CommonMark the description may also be
written in CommonMark, but has to be wrapped in
<literal>lib.mdDoc</literal> to differentiate it from DocBook.
See the nixpkgs manual for
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-contributing-markup">the
list of CommonMark extensions</link> supported by NixOS
documentation.
</para>
<para>
New documentation should preferably be written as CommonMark.
A textual description of the option, in
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-contributing-markup">Nixpkgs-flavored
Markdown</link> format, that will be included in the NixOS
manual. During the migration process from DocBook to
CommonMark the description may also be written in DocBook, but
this is discouraged.
</para>
</listitem>
</varlistentry>

View file

@ -6,7 +6,7 @@
in case of multiple value definitions.
</para>
<section xml:id="sec-option-types-basic">
<title>Basic Types</title>
<title>Basic types</title>
<para>
Basic types are the simplest available types in the module system.
Basic types include multiple string types that mainly differ in
@ -49,6 +49,20 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.enum</literal>
<emphasis><literal>l</literal></emphasis>
</term>
<listitem>
<para>
One element of the list
<emphasis><literal>l</literal></emphasis>, e.g.
<literal>types.enum [ &quot;left&quot; &quot;right&quot; ]</literal>.
Multiple definitions cannot be merged.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.anything</literal>
@ -150,186 +164,241 @@
</listitem>
</varlistentry>
</variablelist>
<para>
Integer-related types:
</para>
<variablelist>
<varlistentry>
<term>
<literal>types.int</literal>
</term>
<listitem>
<para>
A signed integer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.{s8, s16, s32}</literal>
</term>
<listitem>
<para>
Signed integers with a fixed length (8, 16 or 32 bits). They
go from 2^n/2 to 2^n/21 respectively (e.g.
<literal>128</literal> to <literal>127</literal> for 8
bits).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.unsigned</literal>
</term>
<listitem>
<para>
An unsigned integer (that is &gt;= 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.{u8, u16, u32}</literal>
</term>
<listitem>
<para>
Unsigned integers with a fixed length (8, 16 or 32 bits).
They go from 0 to 2^n1 respectively (e.g.
<literal>0</literal> to <literal>255</literal> for 8 bits).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.positive</literal>
</term>
<listitem>
<para>
A positive integer (that is &gt; 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.port</literal>
</term>
<listitem>
<para>
A port number. This type is an alias to
<literal>types.ints.u16</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
String-related types:
</para>
<variablelist>
<varlistentry>
<term>
<literal>types.str</literal>
</term>
<listitem>
<para>
A string. Multiple definitions cannot be merged.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.lines</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a new
line <literal>&quot;\n&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.commas</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a comma
<literal>&quot;,&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.envVar</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a
collon <literal>&quot;:&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.strMatching</literal>
</term>
<listitem>
<para>
A string matching a specific regular expression. Multiple
definitions cannot be merged. The regular expression is
processed using <literal>builtins.match</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<section xml:id="sec-option-types-numeric">
<title>Numeric types</title>
<variablelist>
<varlistentry>
<term>
<literal>types.int</literal>
</term>
<listitem>
<para>
A signed integer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.{s8, s16, s32}</literal>
</term>
<listitem>
<para>
Signed integers with a fixed length (8, 16 or 32 bits).
They go from 2^n/2 to 2^n/21 respectively (e.g.
<literal>128</literal> to <literal>127</literal> for 8
bits).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.unsigned</literal>
</term>
<listitem>
<para>
An unsigned integer (that is &gt;= 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.{u8, u16, u32}</literal>
</term>
<listitem>
<para>
Unsigned integers with a fixed length (8, 16 or 32 bits).
They go from 0 to 2^n1 respectively (e.g.
<literal>0</literal> to <literal>255</literal> for 8
bits).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.between</literal>
<emphasis><literal>lowest highest</literal></emphasis>
</term>
<listitem>
<para>
An integer between
<emphasis><literal>lowest</literal></emphasis> and
<emphasis><literal>highest</literal></emphasis> (both
inclusive).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.positive</literal>
</term>
<listitem>
<para>
A positive integer (that is &gt; 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.port</literal>
</term>
<listitem>
<para>
A port number. This type is an alias to
<literal>types.ints.u16</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.float</literal>
</term>
<listitem>
<para>
A floating point number.
</para>
<warning>
<para>
Converting a floating point number to a string with
<literal>toString</literal> or <literal>toJSON</literal>
may result in
<link xlink:href="https://github.com/NixOS/nix/issues/5733">precision
loss</link>.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.number</literal>
</term>
<listitem>
<para>
Either a signed integer or a floating point number. No
implicit conversion is done between the two types, and
multiple equal definitions will only be merged if they
have the same type.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.numbers.between</literal>
<emphasis><literal>lowest highest</literal></emphasis>
</term>
<listitem>
<para>
An integer or floating point number between
<emphasis><literal>lowest</literal></emphasis> and
<emphasis><literal>highest</literal></emphasis> (both
inclusive).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.numbers.nonnegative</literal>
</term>
<listitem>
<para>
A nonnegative integer or floating point number (that is
&gt;= 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.numbers.positive</literal>
</term>
<listitem>
<para>
A positive integer or floating point number (that is &gt;
0).
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section xml:id="sec-option-types-string">
<title>String types</title>
<variablelist>
<varlistentry>
<term>
<literal>types.str</literal>
</term>
<listitem>
<para>
A string. Multiple definitions cannot be merged.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.separatedString</literal>
<emphasis><literal>sep</literal></emphasis>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with
<emphasis><literal>sep</literal></emphasis>, e.g.
<literal>types.separatedString &quot;|&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.lines</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a new
line <literal>&quot;\n&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.commas</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a
comma <literal>&quot;,&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.envVar</literal>
</term>
<listitem>
<para>
A string. Multiple definitions are concatenated with a
colon <literal>&quot;:&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.strMatching</literal>
</term>
<listitem>
<para>
A string matching a specific regular expression. Multiple
definitions cannot be merged. The regular expression is
processed using <literal>builtins.match</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
</section>
<section xml:id="sec-option-types-value">
<title>Value Types</title>
<section xml:id="sec-option-types-submodule">
<title>Submodule types</title>
<para>
Value types are types that take a value parameter.
Submodules are detailed in
<link linkend="section-option-types-submodule">Submodule</link>.
</para>
<variablelist>
<varlistentry>
<term>
<literal>types.enum</literal>
<emphasis><literal>l</literal></emphasis>
</term>
<listitem>
<para>
One element of the list
<emphasis><literal>l</literal></emphasis>, e.g.
<literal>types.enum [ &quot;left&quot; &quot;right&quot; ]</literal>.
Multiple definitions cannot be merged.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.separatedString</literal>
<emphasis><literal>sep</literal></emphasis>
</term>
<listitem>
<para>
A string with a custom separator
<emphasis><literal>sep</literal></emphasis>, e.g.
<literal>types.separatedString &quot;|&quot;</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.ints.between</literal>
<emphasis><literal>lowest highest</literal></emphasis>
</term>
<listitem>
<para>
An integer between
<emphasis><literal>lowest</literal></emphasis> and
<emphasis><literal>highest</literal></emphasis> (both
inclusive). Useful for creating types like
<literal>types.port</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>types.submodule</literal>
@ -345,8 +414,6 @@
in composed types to create modular options. This is
equivalent to
<literal>types.submoduleWith { modules = toList o; shorthandOnlyDefinesConfig = true; }</literal>.
Submodules are detailed in
<link linkend="section-option-types-submodule">Submodule</link>.
</para>
</listitem>
</varlistentry>
@ -467,7 +534,7 @@
</variablelist>
</section>
<section xml:id="sec-option-types-composed">
<title>Composed Types</title>
<title>Composed types</title>
<para>
Composed types are types that take a type as parameter.
<literal>listOf int</literal> and
@ -850,7 +917,7 @@ nixThings = mkOption {
</variablelist>
</section>
<section xml:id="sec-option-types-custom">
<title>Custom Types</title>
<title>Custom types</title>
<para>
Custom types can be created with the
<literal>mkOptionType</literal> function. As type creation

View file

@ -243,6 +243,15 @@ OK
</para>
<programlisting>
# parted /dev/sda -- mkpart primary 1MB -8GB
</programlisting>
</listitem>
<listitem>
<para>
Set the root partitions boot flag to on. This allows the
disk to be booted from.
</para>
<programlisting>
# parted /dev/sda -- set 1 boot on
</programlisting>
</listitem>
<listitem>

View file

@ -265,6 +265,14 @@
<link linkend="opt-services.tempo.enable">services.tempo</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://www.ausweisapp.bund.de/">AusweisApp2</link>,
the authentication software for the German ID card. Available
as
<link linkend="opt-programs.ausweisapp.enable">programs.ausweisapp</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/zalando/patroni">Patroni</link>,
@ -577,6 +585,25 @@
as coreboots fork is no longer available.
</para>
</listitem>
<listitem>
<para>
Option descriptions, examples, and defaults writting in
DocBook are now deprecated. Using CommonMark is preferred and
will become the default in a future release.
</para>
</listitem>
<listitem>
<para>
The
<literal>documentation.nixos.options.allowDocBook</literal>
option was added to ease the transition to CommonMark option
documentation. Setting this option to <literal>false</literal>
causes an error for every option included in the manual that
uses DocBook documentation; it defaults to
<literal>true</literal> to preserve the previous behavior and
will be removed once the transition to CommonMark is complete.
</para>
</listitem>
<listitem>
<para>
The udisks2 service, available at

View file

@ -183,7 +183,13 @@ update /etc/fstab.
# parted /dev/sda -- mkpart primary 1MB -8GB
```
3. Finally, add a *swap* partition. The size required will vary
3. Set the root partition's boot flag to on. This allows the disk to be booted from.
```ShellSession
# parted /dev/sda -- set 1 boot on
```
4. Finally, add a *swap* partition. The size required will vary
according to needs, here a 8GiB one is created.
```ShellSession

View file

@ -94,6 +94,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
- [AusweisApp2](https://www.ausweisapp.bund.de/), the authentication software for the German ID card. Available as [programs.ausweisapp](#opt-programs.ausweisapp.enable).
- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
Available as [services.patroni](options.html#opt-services.patroni.enable).
@ -197,6 +199,10 @@ Use `configure.packages` instead.
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
- Option descriptions, examples, and defaults writting in DocBook are now deprecated. Using CommonMark is preferred and will become the default in a future release.
- The `documentation.nixos.options.allowDocBook` option was added to ease the transition to CommonMark option documentation. Setting this option to `false` causes an error for every option included in the manual that uses DocBook documentation; it defaults to `true` to preserve the previous behavior and will be removed once the transition to CommonMark is complete.
- The udisks2 service, available at `services.udisks2.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
This also means that polkit will now actually be disabled by default. The default for `security.polkit.enable` was already flipped in the previous release, but udisks2 being enabled by default re-enabled it.

View file

@ -34,6 +34,10 @@
# instead of printing warnings for eg options with missing descriptions (which may be lost
# by nix build unless -L is given), emit errors instead and fail the build
, warningsAreErrors ? true
# allow docbook option docs if `true`. only markdown documentation is allowed when set to
# `false`, and a different renderer may be used with different bugs and performance
# characteristics but (hopefully) indistinguishable output.
, allowDocBook ? true
}:
let
@ -127,26 +131,23 @@ in rec {
];
options = builtins.toFile "options.json"
(builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
# merge with an empty set if baseOptionsJSON is null to run markdown
# processing on the input options
baseJSON =
if baseOptionsJSON == null
then builtins.toFile "base.json" "{}"
else baseOptionsJSON;
}
''
# Export list of options in different format.
dst=$out/share/doc/nixos
mkdir -p $dst
${
if baseOptionsJSON == null
then ''
# `cp $options $dst/options.json`, but with temporary
# markdown processing
python ${./mergeJSON.py} $options <(echo '{}') > $dst/options.json
''
else ''
python ${./mergeJSON.py} \
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
${baseOptionsJSON} $options \
> $dst/options.json
''
}
python ${./mergeJSON.py} \
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
${lib.optionalString (! allowDocBook) "--error-on-docbook"} \
$baseJSON $options \
> $dst/options.json
brotli -9 < $dst/options.json > $dst/options.json.br

View file

@ -212,8 +212,17 @@ def convertMD(options: Dict[str, Any]) -> str:
return options
warningsAreErrors = sys.argv[1] == "--warnings-are-errors"
optOffset = 1 if warningsAreErrors else 0
warningsAreErrors = False
errorOnDocbook = False
optOffset = 0
for arg in sys.argv[1:]:
if arg == "--warnings-are-errors":
optOffset += 1
warningsAreErrors = True
if arg == "--error-on-docbook":
optOffset += 1
errorOnDocbook = True
options = pivot(json.load(open(sys.argv[1 + optOffset], 'r')))
overrides = pivot(json.load(open(sys.argv[2 + optOffset], 'r')))
@ -241,9 +250,33 @@ for (k, v) in overrides.items():
severity = "error" if warningsAreErrors else "warning"
def is_docbook(o, key):
val = o.get(key, {})
if not isinstance(val, dict):
return False
return val.get('_type', '') == 'literalDocBook'
# check that every option has a description
hasWarnings = False
hasErrors = False
for (k, v) in options.items():
if errorOnDocbook:
if isinstance(v.value.get('description', {}), str):
hasErrors = True
print(
f"\x1b[1;31merror: option {v.name} description uses DocBook\x1b[0m",
file=sys.stderr)
elif is_docbook(v.value, 'defaultText'):
hasErrors = True
print(
f"\x1b[1;31merror: option {v.name} default uses DocBook\x1b[0m",
file=sys.stderr)
elif is_docbook(v.value, 'example'):
hasErrors = True
print(
f"\x1b[1;31merror: option {v.name} example uses DocBook\x1b[0m",
file=sys.stderr)
if v.value.get('description', None) is None:
hasWarnings = True
print(f"\x1b[1;31m{severity}: option {v.name} has no description\x1b[0m", file=sys.stderr)
@ -254,6 +287,8 @@ for (k, v) in options.items():
f"\x1b[1;31m{severity}: option {v.name} has no type. Please specify a valid type, see " +
"https://nixos.org/manual/nixos/stable/index.html#sec-option-types\x1b[0m", file=sys.stderr)
if hasErrors:
sys.exit(1)
if hasWarnings and warningsAreErrors:
print(
"\x1b[1;31m" +

View file

@ -26,7 +26,7 @@ with lib;
# Provide networkmanager for easy wireless configuration.
networking.networkmanager.enable = true;
networking.wireless.enable = mkForce false;
networking.wireless.enable = mkImageMediaOverride false;
# KDE complains if power management is disabled (to be precise, if
# there is no power management backend such as upower).

View file

@ -99,7 +99,7 @@ let
exit 1
} >&2
'';
inherit (cfg.nixos.options) warningsAreErrors;
inherit (cfg.nixos.options) warningsAreErrors allowDocBook;
};
@ -255,6 +255,23 @@ in
'';
};
nixos.options.allowDocBook = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to allow DocBook option docs. When set to `false` all option using
DocBook documentation will cause a manual build error; additionally a new
renderer may be used.
::: {.note}
The `false` setting for this option is not yet fully supported. While it
should work fine and produce the same output as the previous toolchain
using DocBook it may not work in all circumstances. Whether markdown option
documentation is allowed is independent of this option.
:::
'';
};
nixos.options.warningsAreErrors = mkOption {
type = types.bool;
default = true;

View file

@ -128,6 +128,7 @@
./programs/adb.nix
./programs/appgate-sdp.nix
./programs/atop.nix
./programs/ausweisapp.nix
./programs/autojump.nix
./programs/bandwhich.nix
./programs/bash/bash.nix

View file

@ -22,10 +22,10 @@ with lib;
config = {
# Enable in installer, even if the minimal profile disables it.
documentation.enable = mkForce true;
documentation.enable = mkImageMediaOverride true;
# Show the manual.
documentation.nixos.enable = mkForce true;
documentation.nixos.enable = mkImageMediaOverride true;
# Use less privileged nixos user
users.users.nixos = {
@ -41,7 +41,7 @@ with lib;
# Allow passwordless sudo from nixos user
security.sudo = {
enable = mkDefault true;
wheelNeedsPassword = mkForce false;
wheelNeedsPassword = mkImageMediaOverride false;
};
# Automatically log in at the virtual consoles.

View file

@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.ausweisapp;
in
{
options.programs.ausweisapp = {
enable = mkEnableOption (lib.mdDoc "AusweisApp2");
openFirewall = mkOption {
description = lib.mdDoc ''
Whether to open the required firewall ports for the Smartphone as Card Reader (SaC) functionality of AusweisApp2.
'';
default = false;
type = lib.types.bool;
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ AusweisApp2 ];
networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 24727 ];
};
}

View file

@ -7,7 +7,7 @@ let
format = pkgs.formats.toml { };
in {
options.programs.rust-motd = {
enable = mkEnableOption "rust-motd";
enable = mkEnableOption (lib.mdDoc "rust-motd");
enableMotdInSSHD = mkOption {
default = true;
type = types.bool;

View file

@ -52,10 +52,11 @@ let
{ type = lib.types.commas;
default = "";
description = lib.mdDoc ''
A comma-separated list of capabilities to be given to the wrapper
program. For capabilities supported by the system check the
{manpage}`capabilities(7)`
manual page.
A comma-separated list of capability clauses to be given to the
wrapper program. The format for capability clauses is described in the
TEXTUAL REPRESENTATION section of the {manpage}`cap_from_text(3)`
manual page. For a list of capabilities supported by the system, check
the {manpage}`capabilities(7)` manual page.
::: {.note}
`cap_setpcap`, which is required for the wrapper

View file

@ -9,7 +9,7 @@ let
inherit name;
value = mkOption {
default = null;
inherit description;
description = lib.mdDoc description;
type = types.nullOr types.lines;
} // (if example == null then {} else { inherit example; });
};

View file

@ -96,10 +96,8 @@ let
};
} cfg.extraConfig;
configFile = pkgs.runCommandLocal "config.toml" {
nativeBuildInputs = [ pkgs.remarshal ];
} ''
remarshal -if json -of toml \
configFile = pkgs.runCommandLocal "config.toml" { } ''
${pkgs.buildPackages.remarshal}/bin/remarshal -if json -of toml \
< ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \
> $out
'';

View file

@ -6,7 +6,7 @@ in {
meta = { maintainers = with lib.maintainers; [ numkem ]; };
options = {
services.espanso = { enable = options.mkEnableOption "Espanso"; };
services.espanso = { enable = options.mkEnableOption (lib.mdDoc "Espanso"); };
};
config = mkIf cfg.enable {

View file

@ -43,8 +43,10 @@ in
format = pkgs.formats.toml { };
conf = format.generate "vector.toml" cfg.settings;
validateConfig = file:
pkgs.runCommand "validate-vector-conf" { } ''
${pkgs.vector}/bin/vector validate --no-environment "${file}"
pkgs.runCommand "validate-vector-conf" {
nativeBuildInputs = [ pkgs.buildPackages.vector ];
} ''
vector validate --no-environment "${file}"
ln -s "${file}" "$out"
'';
in

View file

@ -87,6 +87,14 @@ in
description = lib.mdDoc "Specifies the path of the repository directory. If it does not exist, Gollum will create it on startup.";
};
package = mkOption {
type = types.package;
default = pkgs.gollum;
defaultText = literalExpression "pkgs.gollum";
description = lib.mdDoc ''
The package used in the service
'';
};
};
config = mkIf cfg.enable {
@ -120,7 +128,7 @@ in
Group = config.users.groups.gollum.name;
WorkingDirectory = cfg.stateDir;
ExecStart = ''
${pkgs.gollum}/bin/gollum \
${cfg.package}/bin/gollum \
--port ${toString cfg.port} \
--host ${cfg.address} \
--config ${pkgs.writeText "gollum-config.rb" cfg.extraConfig} \

View file

@ -101,7 +101,7 @@ let
todosrht
]);
mkOptionNullOrStr = description: mkOption {
inherit description;
description = lib.mdDoc description;
type = with types; nullOr str;
default = null;
};

View file

@ -628,18 +628,18 @@ in {
};
allowedDomains = mkOption {
description = lib.mdDoc ''
To limit access to authenticated users who are members of one or more groups,
set allowedGroups to a comma- or space-separated list of group object IDs.
You can find object IDs for a specific group on the Azure portal.
Limits access to users who belong to specific domains.
Separate domains with space or comma.
'';
default = "";
type = types.str;
};
allowedGroups = mkOption {
description = lib.mdDoc ''
Limits access to users who belong to specific domains.
Separate domains with space or comma.
'';
To limit access to authenticated users who are members of one or more groups,
set allowedGroups to a comma- or space-separated list of group object IDs.
You can find object IDs for a specific group on the Azure portal.
'';
default = "";
type = types.str;
};

View file

@ -16,7 +16,7 @@ in
};
"${field}" = lib.mkOption {
type = int;
inherit description;
description = lib.mdDoc description;
};
location = lib.mkOption {
type = str;

View file

@ -11,7 +11,7 @@ in
v2rayEndpoint = mkOption {
type = types.str;
default = "127.0.0.1:54321";
description = ''
description = lib.mdDoc ''
v2ray grpc api endpoint
'';
};

View file

@ -396,12 +396,12 @@ in
};
precomputation.elgamal = mkEnableTrueOption "Precomputed ElGamal tables" // {
description = ''
description = lib.mdDoc ''
Whenever to use precomputated tables for ElGamal.
<command>i2pd</command> defaults to <literal>false</literal>
{command}`i2pd` defaults to `false`
to save 64M of memory (and looses some performance).
We default to <literal>true</literal> as that is what most
We default to `true` as that is what most
users want anyway.
'';
};

View file

@ -268,11 +268,11 @@ in
type = types.nullOr types.path;
default = null;
example = "/run/keys/keepalived.env";
description = ''
description = lib.mdDoc ''
Environment variables from this file will be interpolated into the
final config file using envsubst with this syntax: <literal>$ENVIRONMENT</literal>
or <literal>''${VARIABLE}</literal>.
The file should contain lines formatted as <literal>SECRET_VAR=SECRET_VALUE</literal>.
final config file using envsubst with this syntax: `$ENVIRONMENT`
or `''${VARIABLE}`.
The file should contain lines formatted as `SECRET_VAR=SECRET_VALUE`.
This is useful to avoid putting secrets into the nix store.
'';
};

View file

@ -152,7 +152,7 @@ rec {
option = mkOption {
type = types.attrsOf (types.submodule {options = paramsToOptions params;});
default = {};
inherit description;
description = lib.mdDoc description;
};
render = postfix: attrs:
let postfixedAttrs = mapAttrs' (name: nameValuePair "${name}-${postfix}") attrs;

View file

@ -325,11 +325,12 @@ in {
};
type = mkOption {
type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
type = types.enum [ "sendreceive" "sendonly" "receiveonly" "receiveencrypted" ];
default = "sendreceive";
description = lib.mdDoc ''
Whether to only send changes for this folder, only receive them
or both.
or both. `receiveencrypted` can be used for untrusted devices. See
<https://docs.syncthing.net/users/untrusted.html> for reference.
'';
};
@ -528,6 +529,8 @@ in {
};
systemd.services = {
# upstream reference:
# https://github.com/syncthing/syncthing/blob/main/etc/linux-systemd/system/syncthing%40.service
syncthing = mkIf cfg.systemService {
description = "Syncthing service";
after = [ "network.target" ];
@ -539,7 +542,7 @@ in {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Restart = "on-failure";
SuccessExitStatus = "2 3 4";
SuccessExitStatus = "3 4";
RestartForceExitStatus="3 4";
User = cfg.user;
Group = cfg.group;

View file

@ -187,12 +187,12 @@ in {
};
allowAuxiliaryImperativeNetworks = mkEnableOption (lib.mdDoc "support for imperative & declarative networks") // {
description = ''
description = lib.mdDoc ''
Whether to allow configuring networks "imperatively" (e.g. via
<literal>wpa_supplicant_gui</literal>) and declaratively via
<xref linkend="opt-networking.wireless.networks"/>.
`wpa_supplicant_gui`) and declaratively via
[](#opt-networking.wireless.networks).
Please note that this adds a custom patch to <literal>wpa_supplicant</literal>.
Please note that this adds a custom patch to `wpa_supplicant`.
'';
};

View file

@ -63,7 +63,7 @@ in {
KillMode = "process";
Restart = "on-failure";
EnvironmentFile = cfg.credentialsFile;
ExecStart = "${cfg.package}/bin/cachix ${lib.optionalString cfg.verbose "--verbose"} deploy agent ${cfg.name} ${if cfg.profile != null then profile else ""}";
ExecStart = "${cfg.package}/bin/cachix ${lib.optionalString cfg.verbose "--verbose"} deploy agent ${cfg.name} ${if cfg.profile != null then cfg.profile else ""}";
};
};
};

View file

@ -48,12 +48,12 @@ in
{
# interface
options.services.dolibarr = {
enable = mkEnableOption "dolibarr";
enable = mkEnableOption (lib.mdDoc "dolibarr");
domain = mkOption {
type = types.str;
default = "localhost";
description = ''
description = lib.mdDoc ''
Domain name of your server.
'';
};
@ -61,35 +61,35 @@ in
user = mkOption {
type = types.str;
default = "dolibarr";
description = ''
description = lib.mdDoc ''
User account under which dolibarr runs.
<note><para>
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the dolibarr application starts.
</para></note>
::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the dolibarr application starts.
:::
'';
};
group = mkOption {
type = types.str;
default = "dolibarr";
description = ''
description = lib.mdDoc ''
Group account under which dolibarr runs.
<note><para>
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the dolibarr application starts.
</para></note>
::: {.note}
If left as the default value this group will automatically be created
on system activation, otherwise you are responsible for
ensuring the group exists before the dolibarr application starts.
:::
'';
};
stateDir = mkOption {
type = types.str;
default = "/var/lib/dolibarr";
description = ''
description = lib.mdDoc ''
State and configuration directory dolibarr will use.
'';
};
@ -98,33 +98,33 @@ in
host = mkOption {
type = types.str;
default = "localhost";
description = "Database host address.";
description = lib.mdDoc "Database host address.";
};
port = mkOption {
type = types.port;
default = 3306;
description = "Database host port.";
description = lib.mdDoc "Database host port.";
};
name = mkOption {
type = types.str;
default = "dolibarr";
description = "Database name.";
description = lib.mdDoc "Database name.";
};
user = mkOption {
type = types.str;
default = "dolibarr";
description = "Database username.";
description = lib.mdDoc "Database username.";
};
passwordFile = mkOption {
type = with types; nullOr path;
default = null;
example = "/run/keys/dolibarr-dbpassword";
description = "Database password file.";
description = lib.mdDoc "Database password file.";
};
createLocally = mkOption {
type = types.bool;
default = true;
description = "Create the database and database user locally.";
description = lib.mdDoc "Create the database and database user locally.";
};
};

View file

@ -133,45 +133,45 @@ let
in {
options.services.writefreely = {
enable =
lib.mkEnableOption "Writefreely, build a digital writing community";
lib.mkEnableOption (lib.mdDoc "Writefreely, build a digital writing community");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.writefreely;
defaultText = lib.literalExpression "pkgs.writefreely";
description = "Writefreely package to use.";
description = lib.mdDoc "Writefreely package to use.";
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/writefreely";
description = "The state directory where keys and data are stored.";
description = lib.mdDoc "The state directory where keys and data are stored.";
};
user = mkOption {
type = types.str;
default = "writefreely";
description = "User under which Writefreely is ran.";
description = lib.mdDoc "User under which Writefreely is ran.";
};
group = mkOption {
type = types.str;
default = "writefreely";
description = "Group under which Writefreely is ran.";
description = lib.mdDoc "Group under which Writefreely is ran.";
};
host = mkOption {
type = types.str;
default = "";
description = "The public host name to serve.";
description = lib.mdDoc "The public host name to serve.";
example = "example.com";
};
settings = mkOption {
default = { };
description = ''
Writefreely configuration (<filename>config.ini</filename>). Refer to
<link xlink:href="https://writefreely.org/docs/latest/admin/config" />
description = lib.mdDoc ''
Writefreely configuration ({file}`config.ini`). Refer to
<https://writefreely.org/docs/latest/admin/config>
for details.
'';
@ -183,7 +183,7 @@ in {
theme = mkOption {
type = types.str;
default = "write";
description = "The theme to apply.";
description = lib.mdDoc "The theme to apply.";
};
};
@ -192,7 +192,7 @@ in {
type = types.port;
default = if cfg.nginx.enable then 18080 else 80;
defaultText = "80";
description = "The port WriteFreely should listen on.";
description = lib.mdDoc "The port WriteFreely should listen on.";
};
};
};
@ -203,60 +203,60 @@ in {
type = mkOption {
type = types.enum [ "sqlite3" "mysql" ];
default = "sqlite3";
description = "The database provider to use.";
description = lib.mdDoc "The database provider to use.";
};
name = mkOption {
type = types.str;
default = "writefreely";
description = "The name of the database to store data in.";
description = lib.mdDoc "The name of the database to store data in.";
};
user = mkOption {
type = types.nullOr types.str;
default = if cfg.database.type == "mysql" then "writefreely" else null;
defaultText = "writefreely";
description = "The database user to connect as.";
description = lib.mdDoc "The database user to connect as.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
description = "The file to load the database password from.";
description = lib.mdDoc "The file to load the database password from.";
};
host = mkOption {
type = types.str;
default = "localhost";
description = "The database host to connect to.";
description = lib.mdDoc "The database host to connect to.";
};
port = mkOption {
type = types.port;
default = 3306;
description = "The port used when connecting to the database host.";
description = lib.mdDoc "The port used when connecting to the database host.";
};
tls = mkOption {
type = types.bool;
default = false;
description =
"Whether or not TLS should be used for the database connection.";
lib.mdDoc "Whether or not TLS should be used for the database connection.";
};
migrate = mkOption {
type = types.bool;
default = true;
description =
"Whether or not to automatically run migrations on startup.";
lib.mdDoc "Whether or not to automatically run migrations on startup.";
};
createLocally = mkOption {
type = types.bool;
default = false;
description = ''
When <option>services.writefreely.database.type</option> is set to
<code>"mysql"</code>, this option will enable the MySQL service locally.
description = lib.mdDoc ''
When {option}`services.writefreely.database.type` is set to
`"mysql"`, this option will enable the MySQL service locally.
'';
};
};
@ -264,15 +264,15 @@ in {
admin = {
name = mkOption {
type = types.nullOr types.str;
description = "The name of the first admin user.";
description = lib.mdDoc "The name of the first admin user.";
default = null;
};
initialPasswordFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Path to a file containing the initial password for the admin user.
If not provided, the default password will be set to <code>nixos</code>.
If not provided, the default password will be set to `nixos`.
'';
default = pkgs.writeText "default-admin-pass" "nixos";
defaultText = "/nix/store/xxx-default-admin-pass";
@ -284,13 +284,13 @@ in {
type = types.bool;
default = false;
description =
"Whether or not to enable and configure nginx as a proxy for WriteFreely.";
lib.mdDoc "Whether or not to enable and configure nginx as a proxy for WriteFreely.";
};
forceSSL = mkOption {
type = types.bool;
default = false;
description = "Whether or not to force the use of SSL.";
description = lib.mdDoc "Whether or not to force the use of SSL.";
};
};
@ -299,7 +299,7 @@ in {
type = types.bool;
default = false;
description =
"Whether or not to automatically fetch and configure SSL certs.";
lib.mdDoc "Whether or not to automatically fetch and configure SSL certs.";
};
};
};

View file

@ -11,15 +11,6 @@ let
addCheck (listOf x) (y: length y == 2)
// { description = "pair of ${x.description}"; };
floatBetween = a: b: with types;
let
# toString prints floats with hardcoded high precision
floatToString = f: builtins.toJSON f;
in
addCheck float (x: x <= b && x >= a)
// { description = "a floating point number in " +
"range [${floatToString a}, ${floatToString b}]"; };
mkDefaultAttrs = mapAttrs (n: v: mkDefault v);
# Basically a tinkered lib.generators.mkKeyValueDefault
@ -93,7 +84,7 @@ in {
};
fadeSteps = mkOption {
type = pairOf (floatBetween 0.01 1);
type = pairOf (types.numbers.between 0.01 1);
default = [ 0.028 0.03 ];
example = [ 0.04 0.04 ];
description = lib.mdDoc ''
@ -133,7 +124,7 @@ in {
};
shadowOpacity = mkOption {
type = floatBetween 0 1;
type = types.numbers.between 0 1;
default = 0.75;
example = 0.8;
description = lib.mdDoc ''
@ -156,7 +147,7 @@ in {
};
activeOpacity = mkOption {
type = floatBetween 0 1;
type = types.numbers.between 0 1;
default = 1.0;
example = 0.8;
description = lib.mdDoc ''
@ -165,7 +156,7 @@ in {
};
inactiveOpacity = mkOption {
type = floatBetween 0.1 1;
type = types.numbers.between 0.1 1;
default = 1.0;
example = 0.8;
description = lib.mdDoc ''
@ -174,7 +165,7 @@ in {
};
menuOpacity = mkOption {
type = floatBetween 0 1;
type = types.numbers.between 0 1;
default = 1.0;
example = 0.8;
description = lib.mdDoc ''

View file

@ -148,6 +148,7 @@ let
+ optionalString dev.bypassWorkqueues " --perf-no_read_workqueue --perf-no_write_workqueue"
+ optionalString (dev.header != null) " --header=${dev.header}";
cschange = "cryptsetup luksChangeKey ${dev.device} ${optionalString (dev.header != null) "--header=${dev.header}"}";
fido2luksCredentials = dev.fido2.credentials ++ optional (dev.fido2.credential != null) dev.fido2.credential;
in ''
# Wait for luksRoot (and optionally keyFile and/or header) to appear, e.g.
# if on a USB drive.
@ -417,7 +418,7 @@ let
}
''}
${optionalString (luks.fido2Support && (dev.fido2.credential != null)) ''
${optionalString (luks.fido2Support && fido2luksCredentials != []) ''
open_with_hardware() {
local passsphrase
@ -433,7 +434,7 @@ let
echo "Please move your mouse to create needed randomness."
''}
echo "Waiting for your FIDO2 device..."
fido2luks open${optionalString dev.allowDiscards " --allow-discards"} ${dev.device} ${dev.name} ${dev.fido2.credential} --await-dev ${toString dev.fido2.gracePeriod} --salt string:$passphrase
fido2luks open${optionalString dev.allowDiscards " --allow-discards"} ${dev.device} ${dev.name} "${builtins.concatStringsSep "," fido2luksCredentials}" --await-dev ${toString dev.fido2.gracePeriod} --salt string:$passphrase
if [ $? -ne 0 ]; then
echo "No FIDO2 key found, falling back to normal open procedure"
open_normally
@ -444,7 +445,7 @@ let
# commands to run right before we mount our device
${dev.preOpenCommands}
${if (luks.yubikeySupport && (dev.yubikey != null)) || (luks.gpgSupport && (dev.gpgCard != null)) || (luks.fido2Support && (dev.fido2.credential != null)) then ''
${if (luks.yubikeySupport && (dev.yubikey != null)) || (luks.gpgSupport && (dev.gpgCard != null)) || (luks.fido2Support && fido2luksCredentials != []) then ''
open_with_hardware
'' else ''
open_normally
@ -695,6 +696,17 @@ in
description = lib.mdDoc "The FIDO2 credential ID.";
};
credentials = mkOption {
default = [];
example = [ "f1d00200d8dc783f7fb1e10ace8da27f8312d72692abfca2f7e4960a73f48e82e1f7571f6ebfcee9fb434f9886ccc8fcc52a6614d8d2" ];
type = types.listOf types.str;
description = lib.mdDoc ''
List of FIDO2 credential IDs.
Use this if you have multiple FIDO2 keys you want to use for the same luks device.
'';
};
gracePeriod = mkOption {
default = 10;
type = types.int;

View file

@ -1257,11 +1257,10 @@ let
default = {};
example = { Route = "fd00::/64"; };
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6RoutePrefix;
description = ''
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
<literal>[IPv6RoutePrefix]</literal> section of the unit. See
<citerefentry><refentrytitle>systemd.network</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details.
`[IPv6RoutePrefix]` section of the unit. See
{manpage}`systemd.network(5)` for details.
'';
};
};
@ -1411,12 +1410,11 @@ let
ipv6RoutePrefixes = mkOption {
default = [];
example = [ { Route = "fd00::/64"; LifetimeSec = 3600; } ];
example = [ { ipv6RoutePrefixConfig = { Route = "fd00::/64"; LifetimeSec = 3600; }; } ];
type = with types; listOf (submodule ipv6RoutePrefixOptions);
description = ''
description = lib.mdDoc ''
A list of ipv6RoutePrefix sections to be added to the unit. See
<citerefentry><refentrytitle>systemd.network</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details.
{manpage}`systemd.network(5)` for details.
'';
};

View file

@ -584,7 +584,7 @@ in
example = literalExpression ''
import pkgs.path { system = "x86_64-darwin"; }
'';
description = ''
description = lib.mdDoc ''
pkgs set to use for the host-specific packages of the vm runner.
Changing this to e.g. a Darwin package set allows running NixOS VMs on Darwin.
'';

View file

@ -189,6 +189,7 @@ in {
gobgpd = handleTest ./gobgpd.nix {};
gocd-agent = handleTest ./gocd-agent.nix {};
gocd-server = handleTest ./gocd-server.nix {};
gollum = handleTest ./gollum.nix {};
google-oslogin = handleTest ./google-oslogin {};
gotify-server = handleTest ./gotify-server.nix {};
grafana = handleTest ./grafana.nix {};

View file

@ -18,7 +18,7 @@ let
services.gitea = {
enable = true;
database = { inherit type; };
disableRegistration = true;
settings.service.DISABLE_REGISTRATION = true;
};
environment.systemPackages = [ pkgs.gitea pkgs.jq ];
services.openssh.enable = true;

View file

@ -0,0 +1,14 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "gollum";
nodes = {
webserver = { pkgs, lib, ... }: {
services.gollum.enable = true;
};
};
testScript = { nodes, ... }: ''
webserver.wait_for_unit("gollum")
webserver.wait_for_open_port(${toString nodes.webserver.config.services.gollum.port})
'';
})

View file

@ -47,9 +47,8 @@ in {
};
};
services.redis = {
enable = true;
};
services.redis.servers."nextcloud".enable = true;
services.redis.servers."nextcloud".port = 6379;
systemd.services.nextcloud-setup= {
requires = ["postgresql.service"];

View file

@ -37,9 +37,8 @@ in {
};
};
services.redis = {
enable = true;
};
services.redis.servers."nextcloud".enable = true;
services.redis.servers."nextcloud".port = 6379;
systemd.services.nextcloud-setup= {
requires = ["postgresql.service"];

View file

@ -0,0 +1,35 @@
{ lib
, python3Packages
}:
with python3Packages;
buildPythonApplication rec {
pname = "miniplayer";
version = "1.7.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-JUlUFj/5DOTLa1XCZX/9Nj3Z9W+k4gnpJONiS4qNBIU=";
};
propagatedBuildInputs = [
colorthief
ffmpeg-python
mpd2
pillow
pixcat
requests
ueberzug
];
# pythonImportsCheck is disabled because this package doesn't expose any modules.
meta = with lib; {
description = "A curses-based MPD client with basic functionality that can also display an album art";
homepage = "https://github.com/GuardKenzie/miniplayer";
license = licenses.mit;
maintainers = with maintainers; [ azahi ];
};
}

View file

@ -1,66 +1,168 @@
{ lib, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome, gtk3, gdk-pixbuf, librsvg,
tag ? "", xvfb-run, dbus, glibcLocales, glib, glib-networking, gobject-introspection, hicolor-icon-theme,
gst_all_1, withGstPlugins ? true,
xineBackend ? false, xine-lib,
withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
webkitgtk ? null,
keybinder3 ? null, gtksourceview ? null, libmodplug ? null, kakasi ? null, libappindicator-gtk3 ? null }:
{ lib
, fetchFromGitHub
, fetchpatch
, tag ? ""
# build time
, gettext
, gobject-introspection
, wrapGAppsHook
# runtime
, adwaita-icon-theme
, gdk-pixbuf
, glib
, glib-networking
, gtk3
, gtksourceview
, kakasi
, keybinder3
, libappindicator-gtk3
, libmodplug
, librsvg
, libsoup
, webkitgtk
# optional features
, withDbusPython ? false
, withPypresence ? false
, withPyInotify ? false
, withMusicBrainzNgs ? false
, withPahoMqtt ? false
, withSoco ? false
# backends
, withGstreamerBackend ? true, gst_all_1
, withGstPlugins ? withGstreamerBackend
, withXineBackend ? true, xine-lib
# tests
, dbus
, glibcLocales
, hicolor-icon-theme
, python3
, xvfb-run
}:
let optionals = lib.optionals; in
python3.pkgs.buildPythonApplication rec {
pname = "quodlibet${tag}";
version = "4.5.0";
format = "pyproject";
src = fetchurl {
url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
sha256 = "sha256-MBYVgp9lLLr+2zVTkjcWKli8HucaVn0kn3eJ2SaCRbw=";
src = fetchFromGitHub {
owner = "quodlibet";
repo = "quodlibet";
rev = "refs/tags/release-${version}";
hash = "sha256-G6zcdnHkevbVCrMoseWoSia5ajEor8nZhee6NeZIs8Q=";
};
nativeBuildInputs = [ wrapGAppsHook gettext ];
patches = [
(fetchpatch {
# Fixes cover globbing under python 3.10.5+
url = "https://github.com/quodlibet/quodlibet/commit/5eb7c30766e1dcb30663907664855ee94a3accc0.patch";
hash = "sha256-bDyEOE7Vs4df4BeN4QMvt6niisVEpvc1onmX5rtoAWc=";
})
];
checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest-xdist polib xvfb-run dbus.daemon glibcLocales ]);
outputs = [
"out"
"doc"
];
buildInputs = [ gnome.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ]
++ (if xineBackend then [ xine-lib ] else with gst_all_1;
[ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
nativeBuildInputs = [
gettext
gobject-introspection
wrapGAppsHook
] ++ (with python3.pkgs; [
sphinxHook
sphinx-rtd-theme
]);
propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo mutagen gst-python feedparser ]
++ optionals withDbusPython [ dbus-python ]
++ optionals withPyInotify [ pyinotify ]
++ optionals withMusicBrainzNgs [ musicbrainzngs ]
++ optionals withPahoMqtt [ paho-mqtt ];
buildInputs = [
adwaita-icon-theme
gdk-pixbuf
glib
glib-networking
gtk3
gtksourceview
kakasi
keybinder3
libappindicator-gtk3
libmodplug
libsoup
webkitgtk
] ++ lib.optionals (withXineBackend) [
xine-lib
] ++ lib.optionals (withGstreamerBackend) (with gst_all_1; [
gst-plugins-base
gstreamer
] ++ lib.optionals (withGstPlugins) [
gst-plugins-bad
gst-plugins-good
gst-plugins-ugly
]);
propagatedBuildInputs = with python3.pkgs; [
feedparser
gst-python
mutagen
pycairo
pygobject3
]
++ lib.optionals withDbusPython [ dbus-python ]
++ lib.optionals withPypresence [ pypresence ]
++ lib.optionals withPyInotify [ pyinotify ]
++ lib.optionals withMusicBrainzNgs [ musicbrainzngs ]
++ lib.optionals withPahoMqtt [ paho-mqtt ]
++ lib.optionals withSoco [ soco ];
LC_ALL = "en_US.UTF-8";
pytestFlags = lib.optionals (xineBackend || !withGstPlugins) [
"--ignore=tests/plugin/test_replaygain.py"
] ++ [
checkInputs = [
dbus.daemon
gdk-pixbuf
glibcLocales
hicolor-icon-theme
xvfb-run
] ++ (with python3.pkgs; [
polib
pytest
pytest-xdist
]);
pytestFlags = [
# requires networking
"--ignore=tests/test_browsers_iradio.py"
# the default theme doesn't have the required icons
"--ignore=tests/plugin/test_trayicon.py"
"--deselect=tests/test_browsers_iradio.py::TIRFile::test_download_tags"
# missing translation strings in potfiles
"--deselect=tests/test_po.py::TPOTFILESIN::test_missing"
# upstream does actually not enforce source code linting
"--ignore=tests/quality"
# build failure on Arch Linux
# https://github.com/NixOS/nixpkgs/pull/77796#issuecomment-575841355
"--ignore=tests/test_operon.py"
] ++ lib.optionals (withXineBackend || !withGstPlugins) [
"--ignore=tests/plugin/test_replaygain.py"
];
preCheck = ''
export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
export HOME=$(mktemp -d)
'';
checkPhase = ''
runHook preCheck
# otherwise tests can't find the app icons; instead of creating index.theme from scratch
# I re-used the one from hicolor-icon-theme which seems to work
cp "${hicolor-icon-theme}/share/icons/hicolor/index.theme" quodlibet/images/hicolor
env XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS" \
GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
HOME=$(mktemp -d) \
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
py.test $pytestFlags
xvfb-run -s '-screen 0 1920x1080x24' \
dbus-run-session --config-file=${dbus.daemon}/share/dbus-1/session.conf \
pytest $pytestFlags
runHook postCheck
'';
preFixup = lib.optionalString (kakasi != null) "gappsWrapperArgs+=(--prefix PATH : ${kakasi}/bin)";
preFixup = lib.optionalString (kakasi != null) ''
gappsWrapperArgs+=(--prefix PATH : ${kakasi}/bin)
'';
meta = with lib; {
description = "GTK-based audio player written in Python, using the Mutagen tagging library";

View file

@ -1,9 +1,8 @@
{ stdenv
, pkgs
, lib
, fetchFromGitHub
, pkg-config
, cmake
, cpp-utilities
, qtutilities
, mp4v2
@ -18,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "tageditor";
version = "3.3.10";
version = "3.7.5";
src = fetchFromGitHub {
owner = "martchus";
repo = "tageditor";
repo = pname;
rev = "v${version}";
sha256 = "16cmq7dyalcwc8gx1y9acngw5imjh8ydp4prxy7qpzk4fj3kpsak";
hash = "sha256-/0zzzOEkzNr1aIpPFdflFaM/0HTs3TlIRxau3Yt+Hog=";
};
nativeBuildInputs = [
@ -32,10 +31,10 @@ stdenv.mkDerivation rec {
cmake
wrapQtAppsHook
];
buildInputs = [
mp4v2
libid3tag
pkg-config
qtbase
qttools
qtx11extras
@ -45,7 +44,7 @@ stdenv.mkDerivation rec {
tagparser
];
meta = with pkgs.lib; {
meta = with lib; {
homepage = "https://github.com/Martchus/tageditor";
description = "A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska";
license = licenses.gpl2;
@ -53,4 +52,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
};
}

View file

@ -34,11 +34,11 @@ let
in
stdenv.mkDerivation rec {
pname = "bisq-desktop";
version = "1.9.4";
version = "1.9.5";
src = fetchurl {
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
sha256 = "sha256-8CgbJ5gfzIEh5ppwvQxYz1IES7Dd4MZCac0uVLh/YaY=";
sha256 = "1jmhngxyn2yf7k1dn98yr9d20jlvkmskbpzz5kbzci36v2wfmjrp";
};
nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg zip xz ];

View file

@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
version = "2.46.0";
version = "2.46.2";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-QbCiOzASqicd0Tns1sV9ZVoc/GmuoohB9wB/g0Z6uFA=";
hash = "sha256-fSfES+6+LCRTLdOy3RJaHzv0zRXkqT+0Rsdt2kSeU18=";
};
appimageContents = appimageTools.extractType2 {

View file

@ -159,10 +159,10 @@
elpaBuild {
pname = "aircon-theme";
ename = "aircon-theme";
version = "0.0.5";
version = "0.0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/aircon-theme-0.0.5.tar";
sha256 = "0k9nsm64szi2hvngx9ciyjn8ic9qprfm3gmwp33f0kakq05ykpd1";
url = "https://elpa.gnu.org/packages/aircon-theme-0.0.6.tar";
sha256 = "09yjjx9gy1x2i8xk7jlblzk6gkx7cgglb0pwxbl8n6aj19ba40nd";
};
packageRequires = [ emacs ];
meta = {
@ -234,10 +234,10 @@
elpaBuild {
pname = "async";
ename = "async";
version = "1.9.5";
version = "1.9.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/async-1.9.5.tar";
sha256 = "02f43vqlggy4qkqdggkl9mcg3rvagjysj45xgrx41jjx6cnjnm19";
url = "https://elpa.gnu.org/packages/async-1.9.6.tar";
sha256 = "0qyf1niqjhzaphb50q1znkwqzpdvqw3drivkzrqxrs747k7pm3my";
};
packageRequires = [ emacs ];
meta = {
@ -249,10 +249,10 @@
elpaBuild {
pname = "auctex";
ename = "auctex";
version = "13.1.3";
version = "13.1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.1.3.tar";
sha256 = "0v9rxwz6ngnwrgvzgdki861s136gq30lqhy2gcd9q0a36gb6zhwk";
url = "https://elpa.gnu.org/packages/auctex-13.1.4.tar";
sha256 = "1r9qysnfdbiblq3c95rgsh7vgy3k4qabnj0vicqhdkca0cl2b2bj";
};
packageRequires = [ emacs ];
meta = {
@ -354,10 +354,10 @@
elpaBuild {
pname = "blist";
ename = "blist";
version = "0.1";
version = "0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/blist-0.1.tar";
sha256 = "0p9jx7m05ynfi3bnd91jghw7101ym8qzm5r42rb1vy85pcf9lbad";
url = "https://elpa.gnu.org/packages/blist-0.2.tar";
sha256 = "1gsrj6clsfw36i7pdayfip615r80543j3iph6zm93p88wgwqigrq";
};
packageRequires = [];
meta = {
@ -493,10 +493,10 @@
elpaBuild {
pname = "cape";
ename = "cape";
version = "0.8";
version = "0.9";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cape-0.8.tar";
sha256 = "03zc1c2r8h3p9aqk2y8pwysiawbx0f5vgz7582d9qnixdygni117";
url = "https://elpa.gnu.org/packages/cape-0.9.tar";
sha256 = "0bjzm1jf3554q83mbmyj584v29cgb0s5wpj74y4p9iyy40g739rw";
};
packageRequires = [ emacs ];
meta = {
@ -628,10 +628,10 @@
elpaBuild {
pname = "cobol-mode";
ename = "cobol-mode";
version = "1.0.0";
version = "1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cobol-mode-1.0.0.el";
sha256 = "1zmcfpl7v787yacc7gxm8mkp53fmrznp5mnad628phf3vj4kwnxi";
url = "https://elpa.gnu.org/packages/cobol-mode-1.1.tar";
sha256 = "1ivp0pghrkflhr2md34a6a86gwns867bnl30nqzwq8m4qc5xqjra";
};
packageRequires = [ cl-lib ];
meta = {
@ -771,10 +771,10 @@
elpaBuild {
pname = "compat";
ename = "compat";
version = "28.1.2.0";
version = "28.1.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/compat-28.1.2.0.tar";
sha256 = "0gm2drvxdlmc3fjlapb5z8k1ymr6q7mrj9z7mb686jfy931b9mwr";
url = "https://elpa.gnu.org/packages/compat-28.1.2.2.tar";
sha256 = "1jymfbadvnbjfyml6lri7hc7gz4f97nadn7a7ifpcncm9mhi13bp";
};
packageRequires = [ emacs nadvice ];
meta = {
@ -786,10 +786,10 @@
elpaBuild {
pname = "consult";
ename = "consult";
version = "0.18";
version = "0.19";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.18.tar";
sha256 = "0nvi8f0jrji26sjmji8f7rvc8gr1zq49kliq39z7h970d8p10cx2";
url = "https://elpa.gnu.org/packages/consult-0.19.tar";
sha256 = "11dac6cl40xyg05wzxanxsc74f1kgnnkqlgf5gqlkq24gwmlgvyk";
};
packageRequires = [ compat emacs ];
meta = {
@ -801,10 +801,10 @@
elpaBuild {
pname = "consult-recoll";
ename = "consult-recoll";
version = "0.6.2";
version = "0.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-recoll-0.6.2.tar";
sha256 = "0ngisaxdsfmjcincxdjrpgj6q6vh4dav7b2bpfls9a7107rb2ycp";
url = "https://elpa.gnu.org/packages/consult-recoll-0.7.tar";
sha256 = "12a1qhp7yz6r5pblm68wp1zis0xnvsn2rm12rz9fircq8p3ff3j7";
};
packageRequires = [ consult emacs ];
meta = {
@ -831,10 +831,10 @@
elpaBuild {
pname = "corfu";
ename = "corfu";
version = "0.26";
version = "0.27";
src = fetchurl {
url = "https://elpa.gnu.org/packages/corfu-0.26.tar";
sha256 = "13wsb0llrnmk65m27drnyaqzv9qicnxbpvqcanj0k90iv411kw21";
url = "https://elpa.gnu.org/packages/corfu-0.27.tar";
sha256 = "1i8nl94aaa5p4bp0idsmph3z61lccg9a7plbsnpicy0klsaj69r2";
};
packageRequires = [ emacs ];
meta = {
@ -842,16 +842,16 @@
license = lib.licenses.free;
};
}) {};
coterm = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
coterm = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "coterm";
ename = "coterm";
version = "1.5";
version = "1.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/coterm-1.5.tar";
sha256 = "1v8cl3bw5z0f36iw8x3gcgiizml74m1kfxfrasyfx8k01nbxcfs8";
url = "https://elpa.gnu.org/packages/coterm-1.6.tar";
sha256 = "0ikfm1acdsckflv1hcy9lmssyac2099x2yybhvb6vkghcgy99p00";
};
packageRequires = [ emacs ];
packageRequires = [ compat emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/coterm.html";
license = lib.licenses.free;
@ -906,10 +906,10 @@
elpaBuild {
pname = "crdt";
ename = "crdt";
version = "0.3.0";
version = "0.3.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/crdt-0.3.0.tar";
sha256 = "0fmrmpjqyzxcmx38kwl6mifq412qfgm9ak7j4f54j33kbp10hjj7";
url = "https://elpa.gnu.org/packages/crdt-0.3.3.tar";
sha256 = "12xdqdp4zwd163wc19cjakabgjyzm4l4xg4bns6q1p60zgynbkx8";
};
packageRequires = [];
meta = {
@ -966,10 +966,10 @@
elpaBuild {
pname = "cursory";
ename = "cursory";
version = "0.2.1";
version = "0.3.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cursory-0.2.1.tar";
sha256 = "12q1icz1npan9fjn0sy2zfs3d0iz6b34hqsfggm187igq4zj3rrb";
url = "https://elpa.gnu.org/packages/cursory-0.3.0.tar";
sha256 = "1mgvdncqgf0ll2mn5zp47lvvbzrzgdga9dbbjwqaapzy6llfg51x";
};
packageRequires = [ emacs ];
meta = {
@ -1041,10 +1041,10 @@
elpaBuild {
pname = "debbugs";
ename = "debbugs";
version = "0.32";
version = "0.33";
src = fetchurl {
url = "https://elpa.gnu.org/packages/debbugs-0.32.tar";
sha256 = "1xp3mj3ndaljma0g7x9abziphgi2a6j8k1v52sb8xwgn4p5gdvby";
url = "https://elpa.gnu.org/packages/debbugs-0.33.tar";
sha256 = "1s4p3jf9yrm8pn5pljpkrw05n2p9v6fpl141rh1df7f7l0w80qbk";
};
packageRequires = [ emacs soap-client ];
meta = {
@ -1071,10 +1071,10 @@
elpaBuild {
pname = "denote";
ename = "denote";
version = "0.4.0";
version = "0.6.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/denote-0.4.0.tar";
sha256 = "031ia1k5fqzq154jhi4icvivhdg8yn7zfkwy81yf0ivcsivri54s";
url = "https://elpa.gnu.org/packages/denote-0.6.1.tar";
sha256 = "1yxfnwq2b32xrl52g61a9g3i53m94iybx0n8hh6nbmcv5x4y43ya";
};
packageRequires = [ emacs ];
meta = {
@ -1086,10 +1086,10 @@
elpaBuild {
pname = "detached";
ename = "detached";
version = "0.7";
version = "0.8.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/detached-0.7.tar";
sha256 = "1a2w6cmzy7c861rih9k2qbnmizyybrs1kwqp6lbz3wfs2h0zisrw";
url = "https://elpa.gnu.org/packages/detached-0.8.1.tar";
sha256 = "03riybjk2yls8wjkp1sqd30p0jpvrlz3qlj8r04cx7s1nn1kn9g3";
};
packageRequires = [ emacs ];
meta = {
@ -1131,10 +1131,10 @@
elpaBuild {
pname = "diff-hl";
ename = "diff-hl";
version = "1.8.8";
version = "1.9.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/diff-hl-1.8.8.tar";
sha256 = "10g1333xvki8aw5vhyijkpjn62jh9k3n4a5sh1z69hsfvxih5lqk";
url = "https://elpa.gnu.org/packages/diff-hl-1.9.0.tar";
sha256 = "00mqknqyibbqyfcvdvk1m7nwipfpsw3afbvipqmghh5zm2n7wjr4";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -1386,10 +1386,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20220626";
version = "20220828";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20220626.tar";
sha256 = "0n09dws1qy23a31s5iv75dzl6xy8m5m7qy9gf7sk1b3133ly4sf5";
url = "https://elpa.gnu.org/packages/eev-20220828.tar";
sha256 = "0znsimjq61p67c2q3qbia5qrimy847xy6gjpl1jgyrdlpgm9hv6r";
};
packageRequires = [ emacs ];
meta = {
@ -1397,6 +1397,21 @@
license = lib.licenses.free;
};
}) {};
ef-themes = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "ef-themes";
ename = "ef-themes";
version = "0.4.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ef-themes-0.4.2.tar";
sha256 = "0ik9kzdv5r1q7hw81nh3raiychpmwi61034y12pqvbq24njp0y72";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/ef-themes.html";
license = lib.licenses.free;
};
}) {};
eglot = callPackage ({ eldoc
, elpaBuild
, emacs
@ -1535,6 +1550,38 @@
license = lib.licenses.free;
};
}) {};
ement = callPackage ({ elpaBuild
, emacs
, fetchurl
, lib
, map
, plz
, svg-lib
, taxy
, taxy-magit-section
, transient }:
elpaBuild {
pname = "ement";
ename = "ement";
version = "0.1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ement-0.1.2.tar";
sha256 = "1n5k3rcgdq625b9fjhl53nl5zbis4dw0d00h4dk16m61nk98ra2l";
};
packageRequires = [
emacs
map
plz
svg-lib
taxy
taxy-magit-section
transient
];
meta = {
homepage = "https://elpa.gnu.org/packages/ement.html";
license = lib.licenses.free;
};
}) {};
emms = callPackage ({ cl-lib ? null
, elpaBuild
, fetchurl
@ -1774,10 +1821,10 @@
elpaBuild {
pname = "fontaine";
ename = "fontaine";
version = "0.3.0";
version = "0.4.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/fontaine-0.3.0.tar";
sha256 = "0ixi48w3d0yvmw1103gj7iq2acj90p0qlyhna4hpfhnwa247lp2k";
url = "https://elpa.gnu.org/packages/fontaine-0.4.0.tar";
sha256 = "1phbni32zgwml5mwldbqmqmkbhbdj4vf4bs98wj0my6d902x6lbw";
};
packageRequires = [ emacs ];
meta = {
@ -2208,10 +2255,10 @@
elpaBuild {
pname = "inspector";
ename = "inspector";
version = "0.5";
version = "0.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/inspector-0.5.tar";
sha256 = "19f2a0fw0zcrfirjhq7my910jiqxqkishyjprj87cahpksdp4cp9";
url = "https://elpa.gnu.org/packages/inspector-0.7.tar";
sha256 = "0cwfbg7bx4ni0xadba9v5jbkivz2slqwxcy7q8s3zipb4m578xbk";
};
packageRequires = [ emacs ];
meta = {
@ -2438,10 +2485,10 @@
elpaBuild {
pname = "kind-icon";
ename = "kind-icon";
version = "0.1.6";
version = "0.1.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/kind-icon-0.1.6.tar";
sha256 = "0ac53qrz217b054z51244r7whvjmyrq4941ld0bgl9crssrhb588";
url = "https://elpa.gnu.org/packages/kind-icon-0.1.7.tar";
sha256 = "02imi2qj329yrqvs23d4z7fv8bbaz0fvya6zdswb38blpdri4cn1";
};
packageRequires = [ emacs svg-lib ];
meta = {
@ -2543,10 +2590,10 @@
elpaBuild {
pname = "lin";
ename = "lin";
version = "0.4.0";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/lin-0.4.0.tar";
sha256 = "1fynn3fpf3c2yamlpp9j6rakgd21ivyvqrx0hmsgcyr115q5afm4";
url = "https://elpa.gnu.org/packages/lin-1.0.0.tar";
sha256 = "0b090g2l8mvm3b6k7s31v9lw48qjcvcif2p201wlqgipddm6s180";
};
packageRequires = [ emacs ];
meta = {
@ -2633,10 +2680,10 @@
elpaBuild {
pname = "logos";
ename = "logos";
version = "0.4.0";
version = "0.5.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/logos-0.4.0.tar";
sha256 = "12yypzfd6lf71qyix0a1088vkamh9ilq8inpmv2882w3r5dii345";
url = "https://elpa.gnu.org/packages/logos-0.5.0.tar";
sha256 = "026nzkgkfs96m9qxpng7h0kqvhxfah883pv4i08fz0950lrsxynd";
};
packageRequires = [ emacs ];
meta = {
@ -2663,10 +2710,10 @@
elpaBuild {
pname = "marginalia";
ename = "marginalia";
version = "0.13";
version = "0.14";
src = fetchurl {
url = "https://elpa.gnu.org/packages/marginalia-0.13.tar";
sha256 = "1d5y3d2plkxnmm4458l0gfpim6q3vzps3bsfakvnzf86hh5nm77j";
url = "https://elpa.gnu.org/packages/marginalia-0.14.tar";
sha256 = "0y1mz9688h56knyly7by3gl6v37q437c3lp5bsx6jajysb8v69xw";
};
packageRequires = [ emacs ];
meta = {
@ -2693,10 +2740,10 @@
elpaBuild {
pname = "math-symbol-lists";
ename = "math-symbol-lists";
version = "1.2.1";
version = "1.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/math-symbol-lists-1.2.1.el";
sha256 = "015q44qg9snrpz04syz89f9f79pzg5h7w88nh84p38klynkx2f86";
url = "https://elpa.gnu.org/packages/math-symbol-lists-1.3.tar";
sha256 = "0h330j7vxmb56z66xgynqlxkr5bnp5id25j0w4ikyms407sdyrbs";
};
packageRequires = [];
meta = {
@ -2862,10 +2909,10 @@
elpaBuild {
pname = "modus-themes";
ename = "modus-themes";
version = "2.5.0";
version = "2.6.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/modus-themes-2.5.0.tar";
sha256 = "0j2mx47fpbqvpwhkdskgrnyj5nzg25sqgxwsdvrvw22c7gxhirxn";
url = "https://elpa.gnu.org/packages/modus-themes-2.6.0.tar";
sha256 = "0i4y69rrdcm64mvqs5z7dmgx1xk0x7g5978q5gjblczlfka444k4";
};
packageRequires = [ emacs ];
meta = {
@ -3130,10 +3177,10 @@
elpaBuild {
pname = "num3-mode";
ename = "num3-mode";
version = "1.4";
version = "1.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/num3-mode-1.4.tar";
sha256 = "01cl5wc5xzf4milq6r5ps2f4ikpkdbdidk880svby9mhiw6agydh";
url = "https://elpa.gnu.org/packages/num3-mode-1.5.tar";
sha256 = "0i01v0sl0wi98xvc3wkk2lwc3nxmnhhpyrhr9gn88x5ygc0p4rdw";
};
packageRequires = [];
meta = {
@ -3235,10 +3282,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "9.5.4";
version = "9.5.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.5.4.tar";
sha256 = "1rcr1kyvd2l5h1i22z40x998jm4b6vk47i77y376blcrcx2dp26m";
url = "https://elpa.gnu.org/packages/org-9.5.5.tar";
sha256 = "13sykrkhb192vnmj5nlws5jc5a4fr7ynmyxpzanqlzx1gbdxv32p";
};
packageRequires = [ emacs ];
meta = {
@ -3655,10 +3702,10 @@
elpaBuild {
pname = "pulsar";
ename = "pulsar";
version = "0.4.0";
version = "0.5.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pulsar-0.4.0.tar";
sha256 = "027kpywdjfd1xm1fxkprbc04iq96lnyzw2f3499wyrfj4vxk2dn2";
url = "https://elpa.gnu.org/packages/pulsar-0.5.0.tar";
sha256 = "1bs6f8j1a7vypwm087zsrccv5kbahxyg3nhc65ffgpwrnxfp4v96";
};
packageRequires = [ emacs ];
meta = {
@ -3670,10 +3717,10 @@
elpaBuild {
pname = "pyim";
ename = "pyim";
version = "5.2.3";
version = "5.2.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pyim-5.2.3.tar";
sha256 = "189r0qkd8nv5zjg2ljbzbj086jb8xbl4yd1jliz4azaprv8fhqv0";
url = "https://elpa.gnu.org/packages/pyim-5.2.4.tar";
sha256 = "1dzl4xaf31nyjb5hnwwf29i75x0i8dakpmmagbn4ks5hi3jl2ig0";
};
packageRequires = [ async emacs xr ];
meta = {
@ -4181,10 +4228,10 @@
elpaBuild {
pname = "shell-command-plus";
ename = "shell-command+";
version = "2.3.2";
version = "2.4.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/shell-command+-2.3.2.tar";
sha256 = "03hmk4gr9kjy3238n0ys9na00py035j9s0y8d87c45f5af6c6g2c";
url = "https://elpa.gnu.org/packages/shell-command+-2.4.1.tar";
sha256 = "1pbv5g58647gq83vn5pg8c6kjhvjn3lj0wggz3iz3695yvl8aw4i";
};
packageRequires = [ emacs ];
meta = {
@ -4730,14 +4777,29 @@
license = lib.licenses.free;
};
}) {};
topspace = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "topspace";
ename = "topspace";
version = "0.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/topspace-0.3.1.tar";
sha256 = "1c2raqmbyv5bd48gimh6dazfb6dmipjmf1j0w53vyrs48dx6kskq";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/topspace.html";
license = lib.licenses.free;
};
}) {};
tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.5.3.1";
version = "2.5.3.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.3.1.tar";
sha256 = "0dqc5gmp20isrlanccvj6nhalmmsfg7bmm690gxfgrbqcc2vj69a";
url = "https://elpa.gnu.org/packages/tramp-2.5.3.2.tar";
sha256 = "1jcicb9f7c1nmaqg20yy2j4wd0qfch4llc26ga7q3ckhx41pvbiw";
};
packageRequires = [ emacs ];
meta = {
@ -5045,10 +5107,10 @@
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "0.25";
version = "0.26";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-0.25.tar";
sha256 = "1v0icwqp4ppa2j1k1fk4fc5zdzqb4hcdc7khjc1c31q0gad6l3xy";
url = "https://elpa.gnu.org/packages/vertico-0.26.tar";
sha256 = "070dkw7ii5lfg4m0bwl9blbyq3rgqs212my142ri69ig1fz9x5ad";
};
packageRequires = [ emacs ];
meta = {
@ -5462,4 +5524,19 @@
license = lib.licenses.free;
};
}) {};
zuul = callPackage ({ elpaBuild, emacs, fetchurl, lib, project }:
elpaBuild {
pname = "zuul";
ename = "zuul";
version = "0.4.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/zuul-0.4.0.tar";
sha256 = "1bm91g001q3n5m9ihxc719siiiy23pkpfkhplwi9p1i4i9zrpx5g";
};
packageRequires = [ emacs project ];
meta = {
homepage = "https://elpa.gnu.org/packages/zuul.html";
license = lib.licenses.free;
};
}) {};
}

View file

@ -232,6 +232,8 @@
tree-sitter-langs = callPackage ./tree-sitter-langs { final = self; };
tsc = callPackage ./tsc { };
yes-no = callPackage ./yes-no { };
youtube-dl = callPackage ./youtube-dl { };
# From old emacsPackages (pre emacsPackagesNg)

View file

@ -135,21 +135,16 @@
license = lib.licenses.free;
};
}) {};
autothemer = callPackage ({ cl-lib ? null
, dash
, elpaBuild
, emacs
, fetchurl
, lib }:
autothemer = callPackage ({ dash, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "autothemer";
ename = "autothemer";
version = "0.2.5";
version = "0.2.14";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/autothemer-0.2.5.tar";
sha256 = "1g07j8fmyqhhas0ci2f9l7i5l238cpb02vr93gyn2a3r3lq6wn4d";
url = "https://elpa.nongnu.org/nongnu/autothemer-0.2.14.tar";
sha256 = "14y8b807d75qym1qviiqy1s85495z9g7jvvfqqz42ngdnk87l3qb";
};
packageRequires = [ cl-lib dash emacs ];
packageRequires = [ dash emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/autothemer.html";
license = lib.licenses.free;
@ -219,10 +214,10 @@
elpaBuild {
pname = "buttercup";
ename = "buttercup";
version = "1.25";
version = "1.26";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/buttercup-1.25.tar";
sha256 = "1iadgn56sfakv927g9bk7fq7yjg0f3r10ygrmjpy46vgvfz0fqs6";
url = "https://elpa.nongnu.org/nongnu/buttercup-1.26.tar";
sha256 = "1ddzk6h4cxrl7mn8vr2qp4xjj2al3h5s3kwqxpdwd3zn6wqgyqm4";
};
packageRequires = [ emacs ];
meta = {
@ -245,16 +240,16 @@
license = lib.licenses.free;
};
}) {};
cdlatex = callPackage ({ auctex, elpaBuild, fetchurl, lib }:
cdlatex = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "cdlatex";
ename = "cdlatex";
version = "4.12";
version = "4.14";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.12.tar";
sha256 = "1m8liqxz76r8f3b8hvyyn7kqgq0fkk5pv4pqgdscbgw36vpcbkry";
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.14.tar";
sha256 = "114g2afnq86c6662ychd0v64aam7nhk3hacbwx1cavhg1k2l7kci";
};
packageRequires = [ auctex ];
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/cdlatex.html";
license = lib.licenses.free;
@ -273,10 +268,10 @@
elpaBuild {
pname = "cider";
ename = "cider";
version = "1.4.1";
version = "1.5.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cider-1.4.1.tar";
sha256 = "0l36pqmjqzv6ykmw593h6qd24pygq7171qfinvlp2fh8897ac2nj";
url = "https://elpa.nongnu.org/nongnu/cider-1.5.0.tar";
sha256 = "0vggh2l92m8hm2wqzcyka439fs0kzbbfknfgyn79hf2f2f405534";
};
packageRequires = [
clojure-mode
@ -793,6 +788,21 @@
license = lib.licenses.free;
};
}) {};
focus = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "focus";
ename = "focus";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/focus-1.0.0.tar";
sha256 = "0gicqiw7npcf18rfb99hm1s054m9l4izzcqzij2kpnc544aqgf9y";
};
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/focus.html";
license = lib.licenses.free;
};
}) {};
forth-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "forth-mode";
@ -832,10 +842,10 @@
elpaBuild {
pname = "geiser";
ename = "geiser";
version = "0.24";
version = "0.26.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.24.tar";
sha256 = "14qnni8ridrg3afh1wy9nvchbk0drn0h7ww5xgc6s03ivvmy7a71";
url = "https://elpa.nongnu.org/nongnu/geiser-0.26.1.tar";
sha256 = "1fq68gvyyrplxw8i0yma4q0yqmrzp00v1v7izlc5r7h58wryy39a";
};
packageRequires = [ emacs project transient ];
meta = {
@ -922,10 +932,10 @@
elpaBuild {
pname = "geiser-guile";
ename = "geiser-guile";
version = "0.23.2";
version = "0.26.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.23.2.tar";
sha256 = "1z2khagg425y5cfja694zxrj3lyw3awsmqd86b2hpqhrylrb8jaa";
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.26.1.tar";
sha256 = "1ay7v2qsl0kr9zvf6j1sss3gxniwrqp8xgxhxf7nhlkmkgcfp1wk";
};
packageRequires = [ emacs geiser ];
meta = {
@ -1123,10 +1133,10 @@
elpaBuild {
pname = "gruvbox-theme";
ename = "gruvbox-theme";
version = "1.27.0";
version = "1.30.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/gruvbox-theme-1.27.0.tar";
sha256 = "0p36b2rrhizfrj8i86zm810bh0w7qikb5cwpyn106yfvgcv39jl8";
url = "https://elpa.nongnu.org/nongnu/gruvbox-theme-1.30.1.tar";
sha256 = "19r3ffkyq779jjz0jvyxdf2zhm1yd1lax9sh0qsj1r5xrcmb15l7";
};
packageRequires = [ autothemer ];
meta = {
@ -1345,10 +1355,10 @@
elpaBuild {
pname = "inf-ruby";
ename = "inf-ruby";
version = "2.6.1";
version = "2.6.2";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.6.1.tar";
sha256 = "0z57wwpm7wh04yp7za8fmv4ib56np629kmk4djs8qaz5bv494znr";
url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.6.2.tar";
sha256 = "09p9pny4p0bfw6lw5pf17spyd77jb0pliapp3mfn7r3w8l8wi8xc";
};
packageRequires = [ emacs ];
meta = {
@ -1723,10 +1733,10 @@
elpaBuild {
pname = "org-auto-tangle";
ename = "org-auto-tangle";
version = "0.5.1";
version = "0.6.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/org-auto-tangle-0.5.1.tar";
sha256 = "12sy30yr8r3g7gmvcdsrrmy62lhvajg3gp62gj7p836kh9xllpsl";
url = "https://elpa.nongnu.org/nongnu/org-auto-tangle-0.6.0.tar";
sha256 = "07g1cwsr8j1sd8whshi9y2b69qx10g9vd77pmwki9ba4sy0m7b0p";
};
packageRequires = [ async emacs ];
meta = {
@ -1944,10 +1954,10 @@
elpaBuild {
pname = "php-mode";
ename = "php-mode";
version = "1.24.0";
version = "1.24.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.0.tar";
sha256 = "158850zdmz5irjy6cjai1i8j7qs1vwp95a2dli9f341lbpv2jvzp";
url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.1.tar";
sha256 = "0ixm7z2bq4aacbwyzx53alfnqwbdn36i5ixdi3qjhr8rh5k48vg1";
};
packageRequires = [ emacs ];
meta = {
@ -2338,10 +2348,10 @@
elpaBuild {
pname = "subed";
ename = "subed";
version = "1.0.7";
version = "1.0.8";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/subed-1.0.7.tar";
sha256 = "0js48yar8xgj3wjmlkv3k5208q1zvv74sg4lhk6asiy4cq3pqjia";
url = "https://elpa.nongnu.org/nongnu/subed-1.0.8.tar";
sha256 = "05dx4ywma7n73d0cihf4v8ayihm7gmfqpzvdycq4yk0zkxb958z1";
};
packageRequires = [ emacs ];
meta = {
@ -2614,10 +2624,10 @@
elpaBuild {
pname = "web-mode";
ename = "web-mode";
version = "17.2.3";
version = "17.3.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/web-mode-17.2.3.tar";
sha256 = "1fvkr3yvhx67wkcynid7xppaci3m1d5ggdaii3d4dfp57wwz5c13";
url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.1.tar";
sha256 = "0xlpxk9qscxip93lqyl1l5bzv6nxgq5yb8r05s4jslcipbbfil1d";
};
packageRequires = [ emacs ];
meta = {
@ -2712,10 +2722,10 @@
elpaBuild {
pname = "xah-fly-keys";
ename = "xah-fly-keys";
version = "17.19.20220806194323";
version = "17.22.20220909110152";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.19.20220806194323.tar";
sha256 = "1cflsvp1cpyr3zsj2dij3mc36lprwjdhrvxx2k8ilavhzi4dn64v";
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.22.20220909110152.tar";
sha256 = "1d8xkwcyd6dcxp926mwb8kgcpdqrcpmdv62ybdhx7izx0abia95y";
};
packageRequires = [ emacs ];
meta = {

View file

@ -1,17 +1,37 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p curl nix
#! nix-shell -i bash -p curl nix coreutils
set -euxo pipefail
export NIXPKGS_ALLOW_BROKEN=1
# This script piggybacks on the automatic code generation done by the nix-community emacs overlay
# You can use this to avoid running lengthy code generation jobs locally
curl -s -O https://raw.githubusercontent.com/nix-community/emacs-overlay/master/repos/elpa/elpa-generated.nix
nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages --show-trace
git diff --exit-code elpa-generated.nix > /dev/null || git commit -m "emacs.pkgs.elpa-packages: $(date --iso)" -- elpa-generated.nix
export NIXPKGS_ALLOW_BROKEN=1
curl -s -O https://raw.githubusercontent.com/nix-community/emacs-overlay/master/repos/melpa/recipes-archive-melpa.json
download_change() {
local FILE_LOCATION="$1"
local BASEURL="https://raw.githubusercontent.com/nix-community/emacs-overlay/master/repos"
curl -s -O "${BASEURL}/${FILE_LOCATION}"
}
commit_change() {
local MESSAGE="$1"
local FILENAME="$2"
git diff --exit-code "${FILENAME}" > /dev/null || \
git commit -m "${MESSAGE}: updated $(date --iso) (from overlay)" -- "${FILENAME}"
}
download_change "elpa/elpa-generated.nix"
nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages --show-trace
commit_change "elpa-packages" "elpa-generated.nix"
download_change "melpa/recipes-archive-melpa.json"
nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaStablePackages
nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaPackages
git diff --exit-code recipes-archive-melpa.json > /dev/null || git commit -m "emacs.pkgs.melpa-packages: $(date --iso)" -- recipes-archive-melpa.json
commit_change "melpa-packages" "recipes-archive-melpa.json"
download_change "nongnu/nongnu-generated.nix"
nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.nongnuPackages
commit_change "nongnu-packages" "nongnu-generated.nix"

View file

@ -0,0 +1,19 @@
{ lib, fetchurl, trivialBuild }:
trivialBuild {
pname = "yes-no";
version = "2017-10-01";
src = fetchurl {
url = "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/143bcaeb679a8fa8a548e92a5a9d5c2baff50d9c/yes-no.el";
sha256 = "03w4wfx885y89ckyd5d95n2571nmmzrll6kr0yan3ip2aw28xq3i";
};
meta = with lib; {
description = "Specify use of `y-or-n-p' or `yes-or-no-p' on a case-by-case basis";
homepage = "https://www.emacswiki.org/emacs/yes-no.el";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jcs090218 ];
platforms = platforms.all;
};
}

View file

@ -2609,6 +2609,30 @@ let
ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare-vsliveshare { };
vscjava.vscode-java-debug = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-java-debug";
publisher = "vscjava";
version = "0.44.0";
sha256 = "sha256-8/H7rihSKAvXp8QxK949txgMKwt6aYVN4EQdwhphIiQ=";
};
meta = {
license = lib.licenses.mit;
};
};
vscjava.vscode-java-test = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-java-test";
publisher = "vscjava";
version = "0.37.1";
sha256 = "sha256-QpDMG+0RbiRY9YQYXQhA6ESBoIjBeUxq+bEZ1Y71oSM=";
};
meta = {
license = lib.licenses.mit;
};
};
vscodevim.vim = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vim";

View file

@ -33,6 +33,7 @@
stdenv.mkDerivation rec {
pname = "pcsx2";
version = "1.7.3165";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "PCSX2";

View file

@ -9,10 +9,10 @@
let
# Keep these separate so the update script can regex them
rpcs3GitVersion = "13907-cdef752a9";
rpcs3Version = "0.0.23-13907-cdef752a9";
rpcs3Revision = "cdef752a9c2004010279cd4a6d77b451b42cc6ab";
rpcs3Sha256 = "1mw6k097rsiljaw34harhvr32dvrh4xv22ryinylijnsjlm3hcan";
rpcs3GitVersion = "14141-d686b48f6";
rpcs3Version = "0.0.24-14141-d686b48f6";
rpcs3Revision = "d686b48f6549c736661e14d1e0990b043c32e3c2";
rpcs3Sha256 = "1jzpb189isy9kc6l5cy1nfx0wq5cri753sh32b1xq259lkqihdp5";
ittapi = fetchFromGitHub {
owner = "intel";

View file

@ -27,13 +27,13 @@
buildDotnetModule rec {
pname = "ryujinx";
version = "1.1.248"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
version = "1.1.257"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub {
owner = "Ryujinx";
repo = "Ryujinx";
rev = "5ff5fe47bad947a95545390865c597bec6c62070";
sha256 = "0nfzf7q58mhdyszwv3mbz3wqf4w0m1p3fmf3cpga1pf9mfq65nqz";
rev = "81f1a4dc3161882b0385c9d4752fbba84b9eca96";
sha256 = "1p4c8k8pc47hl32bml050fvxyhdjcd002xx60rwvzlgvdgw6b3xq";
};
nugetDeps = ./deps.nix;

View file

@ -46,9 +46,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
version = "7.15";
version = "7.17";
url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
sha256 = "sha256-0auKGarm/mwIM8PYgqMkSKv6SihZDxRulUUOufWPuRw=";
sha256 = "sha256-JDa4rFDWKPTKOsUwDBgmY9/PpIuhulVIp3KOtmH7T0E=";
inherit (stable) gecko32 gecko64 patches;
mono = fetchurl rec {
@ -61,7 +61,7 @@ in rec {
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
sha256 = "sha256-JMig0EUgxdRwpeaxZcNQi+6xWHUg43bXB7jkm5skKC8=";
sha256 = "sha256-eC5nYX6Cjutd30rrAn6SavWlQtF8swMHDzsESN4SUmo=";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";

View file

@ -1,6 +1,5 @@
{ lib
, fetchFromGitHub
, fetchpatch
, meson
, ninja
, pkg-config
@ -19,7 +18,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "drawing";
version = "1.0.0";
version = "1.0.1";
format = "other";
@ -27,19 +26,9 @@ python3.pkgs.buildPythonApplication rec {
owner = "maoschanz";
repo = pname;
rev = version;
sha256 = "sha256-qNaljtuA5E/QaLJ9QILPRQCqOvKmX4ZGq/0z5unA8KA=";
sha256 = "sha256-9nosriI3Kdf1M5/TYFWn1jtQTqNKhBcFh7q3E4Uoq4s=";
};
patches = [
# Fix build with meson 0.61, can be removed on next update.
# https://github.com/NixOS/nixpkgs/issues/167584
(fetchpatch {
url = "https://github.com/maoschanz/drawing/commit/6dd271089af76b69322500778e3ad6615a117dcc.patch";
sha256 = "sha256-4pKWm3LYstVxZ4+gGsZDfM4K+7WBY8EYjylzc/CQZmo=";
includes = [ "data/meson.build" "help/meson.build" ];
})
];
nativeBuildInputs = [
appstream-glib
desktop-file-utils

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "20.2.3";
version = "20.3.0";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
sha256 = "sha256-O/gzXAzvaYJXpexjBSc6jNW1wX0ukwQcpFU8fq4qM4k=";
sha256 = "bfcd363f549ce8dc13ae2287cec5099e4bf1d0d4b6f8deef40a81279f78817e1";
};
nativeBuildInputs = [

View file

@ -0,0 +1,59 @@
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, pkg-config
, meson
, ninja
, glib
, gtk4
, libadwaita
, wrapGAppsHook4
, appstream-glib
, desktop-file-utils
}:
stdenv.mkDerivation rec {
pname = "eyedropper";
version = "0.2.0";
src = fetchFromGitHub {
owner = "FineFindus";
repo = pname;
rev = "v${version}";
hash = "sha256-xyvnnWts+VuUFlV/o1cGOM7482ReiHVsn+AfdExYBTM=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-8G1fJ5YiUAzMqDoIjWGDTvtPw8chkxPrOz/c9WZRbhM=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
appstream-glib
desktop-file-utils
] ++ (with rustPlatform; [
rust.cargo
rust.rustc
cargoSetupHook
]);
buildInputs = [
glib
gtk4
libadwaita
];
meta = with lib; {
description = "An easy-to-use color picker and editor";
homepage = "https://github.com/FineFindus/eyedropper";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ zendo ];
};
}

View file

@ -128,6 +128,7 @@ stdenv.mkDerivation rec {
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.sheepforce ];
hydraPlatforms = [];
mainProgram = "PixInsight";
};
}

View file

@ -0,0 +1,49 @@
{ lib
, fetchFromGitLab
, rustPlatform
, cargo
, pkg-config
, binutils-unwrapped
, gtk3-x11
, atk
, glib
, librsvg
, gdk-pixbuf
, wrapGAppsHook
}:
rustPlatform.buildRustPackage rec {
pname = "pizarra";
version = "1.7.3";
src = fetchFromGitLab {
owner = "categulario";
repo = "pizarra-gtk";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-XP+P2w6s47JQV4spKeMKe/Ktxid7uokGYH4IEJ5VHSc=";
};
cargoSha256 = "sha256-JQZ/95tRlmsrb0EJaPlE8G0fMSeEgLnDi3pkLjcJz/o=";
nativeBuildInputs = [ wrapGAppsHook pkg-config gdk-pixbuf ];
buildInputs = [ gtk3-x11 atk glib librsvg ];
meta = with lib; {
description = "A simple blackboard written in GTK";
longDescription = ''
A simple endless blackboard.
Contains various features, such as:
- Pencil
- Rectangle
- Ellipse
- Line
- Text
- Grids
'';
homepage = "https://pizarra.categulario.tk/en/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mglolenstine ];
};
}

View file

@ -24,6 +24,6 @@ mkDerivation {
qca-qt5 qtkeychain qtnetworkauth qtspeech qtxmlpatterns
];
qtWrapperArgs = [
"--prefix SASL_PATH : ${lib.makeSearchPath "lib/sasl2" [ cyrus_sasl libkgapi ]}"
"--prefix SASL_PATH : ${lib.makeSearchPath "lib/sasl2" [ cyrus_sasl.out libkgapi ]}"
];
}

View file

@ -1,7 +1,7 @@
{
stdenv, mkDerivation, lib,
extra-cmake-modules, kdoctools,
breeze-icons, chmlib ? null, discount, djvulibre, ebook_tools, kactivities,
breeze-icons, chmlib, discount, djvulibre, ebook_tools, kactivities,
karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts,
kpty, kpurpose, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler,
@ -16,8 +16,8 @@ mkDerivation {
kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kpurpose kwallet
kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5
qtdeclarative qtsvg threadweaver kcrash qtspeech
] ++ lib.optional (!stdenv.isAarch64) chmlib;
qtdeclarative qtsvg threadweaver kcrash qtspeech chmlib
];
# InitialPreference values are too high and end up making okular
# default for anything considered text/plain. Resetting to 1, which

View file

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "AusweisApp2";
version = "1.24.1";
version = "1.24.2";
src = fetchFromGitHub {
owner = "Governikus";
repo = "AusweisApp2";
rev = version;
sha256 = "sha256-Uoi12odfJGyNc8Ap7E/zm4xklYdPPQvCGNxjb9AWJOI=";
sha256 = "sha256-p38zcTFbCyImiGVCr5o/QQ6BT8U2SMiHeYE3aTNYpJs=";
};
nativeBuildInputs = [ cmake pkg-config ];

View file

@ -1,21 +1,22 @@
{ fetchFromGitHub, lib, rustPlatform }:
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "genact";
version = "1.0.0";
version = "1.0.2";
src = fetchFromGitHub {
owner = "svenstaro";
repo = pname;
rev = "v${version}";
sha256 = "sha256-sKFI7r0mwmzKiHy9HmskS10M5v/jZj/VeO4F9ZQl2g0=";
sha256 = "sha256-lZNVXBIYl9niqdwNcSzQwQTdxlA4kKQ/WrEt93cQDJU=";
};
cargoSha256 = "sha256-79IC51xdkelgsRJF+rz9UOTfrJ/HS6PbkyxySe0Qk4Q=";
cargoSha256 = "sha256-9IiA7KAaj9bLJ7QSB/ojLEiUVv0FGYsu9by4NSfMtiE=";
meta = with lib; {
description = "A nonsense activity generator";
homepage = "https://github.com/svenstaro/genact";
changelog = "https://github.com/svenstaro/genact/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};

View file

@ -1,4 +1,4 @@
{ lib, bundlerApp, bundlerUpdateScript, ruby, makeWrapper, git, docutils }:
{ lib, bundlerApp, bundlerUpdateScript, ruby, makeWrapper, git, docutils, nixosTests }:
bundlerApp rec {
pname = "gollum";
@ -10,6 +10,7 @@ bundlerApp rec {
nativeBuildInputs = [ makeWrapper ];
passthru.updateScript = bundlerUpdateScript "gollum";
passthru.tests.gollum = nixosTests.gollum;
meta = with lib; {
description = "A simple, Git-powered wiki with a sweet API and local frontend";

View file

@ -4,9 +4,9 @@
, curl, writeShellScript, common-updater-scripts }:
let
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.6-61e2338c/Hubstaff-1.6.6-61e2338c.sh";
version = "1.6.6-61e2338c";
sha256 = "0i5wxwnrgabirk1x9aii7m428dkr745sfm1lcql4yhlqx4mw6qn1";
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.7-5c6fee47/Hubstaff-1.6.7-5c6fee47.sh";
version = "1.6.7-5c6fee47";
sha256 = "0i0xlabdi4xhjkfwb6s4bwjnl4k3dj15k7aqjilmq5wb4rhhfpws";
rpath = lib.makeLibraryPath
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft

View file

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "nerd-font-patcher";
version = "2.1.0";
version = "2.2.2";
# This uses a sparse checkout because the repo is >2GB without it
src = fetchFromGitHub {
@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
font-patcher
/src/glyphs
'';
sha256 = "sha256-06dn6M2wCFO/uBHDR7VZHNHIybT4h/VGD9nHc4G0EKA=";
sha256 = "sha256-boZUd1PM8puc9BTgOwCJpkfk6VMdXLsIyp+fQmW/ZqI=";
};
propagatedBuildInputs = with python3Packages; [ fontforge ];
@ -22,15 +22,15 @@ python3Packages.buildPythonApplication rec {
postPatch = ''
sed -i font-patcher \
-e 's,__dir__ + "/src,"'$out'/share/${pname},'
-e 's,__dir__ + "/src,"'$out'/share/nerd-font-patcher,'
'';
dontBuild = true;
installPhase = ''
mkdir -p $out/bin $out/share/${pname}
install -Dm755 font-patcher $out/bin/${pname}
cp -ra src/glyphs $out/share/${pname}
mkdir -p $out/bin $out/share/nerd-font-patcher
install -Dm755 font-patcher $out/bin/nerd-font-patcher
cp -ra src/glyphs $out/share/nerd-font-patcher
'';
meta = with lib; {

View file

@ -0,0 +1,14 @@
diff --git a/types/wlr_output_layout.c b/types/wlr_output_layout.c
index eb672f06..f0f546da 100644
--- a/types/wlr_output_layout.c
+++ b/types/wlr_output_layout.c
@@ -242,6 +242,9 @@ bool wlr_output_layout_contains_point(struct wlr_output_layout *layout,
if (reference) {
struct wlr_output_layout_output *l_output =
wlr_output_layout_get(layout, reference);
+ if (!l_output) {
+ return false;
+ }
struct wlr_box *box = output_layout_output_get_box(l_output);
return wlr_box_contains_point(box, lx, ly);
} else {

View file

@ -21,36 +21,38 @@
let
phocWlroots = wlroots.overrideAttrs (old: {
patches = (old.patches or []) ++ [
# Temporary fix. Upstream report: https://source.puri.sm/Librem5/phosh/-/issues/422
# Revert "layer-shell: error on 0 dimension without anchors"
# https://source.puri.sm/Librem5/phosh/-/issues/422
(fetchpatch {
name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
url = "https://gitlab.alpinelinux.org/alpine/aports/-/raw/78fde4aaf1a74eb13a3f083cb6dfb29f578c3265/community/wlroots/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
sha256 = "1zjn7mwdj21z0jsc2mz90cnrzk97yqkiq58qqgpjav4h4dgpfb38";
url = "https://source.puri.sm/Librem5/wlroots/-/commit/4f66b0931aaaee65367102e9c4ccb736097412c7.patch";
hash = "sha256-2Vy5a4lWh8FP2PN6xRIZv6IlUuLZibT0MYW+EyvVULs=";
})
# xwayland: Allow to retrieve _NET_STARTUP_ID
# xdg-activation: Deduplicate token creation code
(fetchpatch {
name = "allow-to-retrieve-net-startup-id.patch";
url = "https://github.com/swaywm/wlroots/commit/66593071bc90a1cccaeedc636eb6f33c973f5362.patch";
sha256 = "sha256-yKf/twdUzrII5IakH7AH6LGyPDo9Nl/gIB0pTThSTfY=";
name = "xdg-activation-deduplicate-token-creation-code.patch";
url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/dd03d839ab56c3e5d7c607a8d76e58e0b75edb85.patch";
sha256 = "sha256-mxt68MISC24xpaBtVSc1F2W4cyNs5wQowtbUQH9Eqr8=";
})
# xdg-activation: Allow to submit tokens
# seat: Allow to cancel touches
(fetchpatch {
name = "allow-to-submit-tokens.patch";
url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4c59f7d46a949548caa55805b00922f846d58525.patch";
sha256 = "sha256-1kUIt6lV3HXN2BBBER8sjYVLTvgqELdSeFullJjNGo8=";
})
# xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
(fetchpatch {
name = "allow-to-retrieve-startup-id-via-net-startup-info.patch";
url = "https://github.com/swaywm/wlroots/commit/235bb6f2fcb8ee4174215ba74b5bc2f191c5960a.patch";
sha256 = "sha256-7AWBq12tF/781CmgvTaOvTIiiJMywxRn6eWp+jacdak=";
name = "seat-Allow-to-cancel-touches.patch";
url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/17b2b06633729f1826715c1d0b84614aa3cedb3a.patch";
sha256 = "sha256-BAeXa3ZB5TXnlq0ZP2+rZlVXEPWpLP4Wi4TLwoXjkz4=";
})
# From
# https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/13fcdba75cf5f21cfd49c1a05f4fa62f77619b40
# which has been merged upstream, but doesn't cleanly apply on to the
# latest released version.
./0001-handle-outputs-that-arent-in-the-layout.patch
];
});
in stdenv.mkDerivation rec {
pname = "phoc";
version = "0.13.0";
version = "0.21.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -58,7 +60,7 @@ in stdenv.mkDerivation rec {
owner = "Phosh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-65u59S6ntvkoQUO5BvkHZVcbj6cHIU4CgHWjzFo6s94=";
sha256 = "sha256-HPqhro6TE/Ukh4txBPrDoIuDaxSxd/ZkDVZU3+m3GFg=";
};
nativeBuildInputs = [

View file

@ -22,6 +22,7 @@
, libpng
, mpfr
, nlopt
, opencascade-occt
, openvdb
, pcre
, qhull
@ -48,7 +49,7 @@ let
in
stdenv.mkDerivation rec {
pname = "prusa-slicer";
version = "2.4.2";
version = "2.5.0";
nativeBuildInputs = [
cmake
@ -74,6 +75,7 @@ stdenv.mkDerivation rec {
libpng
mpfr
nlopt
opencascade-occt
openvdb
pcre
systemd
@ -133,7 +135,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "prusa3d";
repo = "PrusaSlicer";
sha256 = "17p56f0zmiryy8k4da02in1l6yxniz286gf9yz8s1gaz5ksqj4af";
sha256 = "sha256-wLe+5TFdkgQ1mlGYgp8HBzugeONSne17dsBbwblILJ4=";
rev = "version_${version}";
};

View file

@ -0,0 +1,41 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, rofi-unwrapped
, bluez
}:
stdenv.mkDerivation rec {
pname = "rofi-bluetooth";
version = "unstable-2021-03-05";
src = fetchFromGitHub {
owner = "nickclyde";
repo = "rofi-bluetooth";
# https://github.com/nickclyde/rofi-bluetooth/issues/19
rev = "893db1f2b549e7bc0e9c62e7670314349a29cdf2";
sha256 = "sha256-3oROJKEQCuSnLfbJ+JSSc9hcmJTPrLHRQJsrUcaOMss=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -D --target-directory=$out/bin/ ./rofi-bluetooth
wrapProgram $out/bin/rofi-bluetooth \
--prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped bluez ] }
runHook postInstall
'';
meta = with lib; {
description = "Rofi-based interface to connect to bluetooth devices and display status info";
homepage = "https://github.com/nickclyde/rofi-bluetooth";
license = licenses.gpl3Only;
maintainers = with maintainers; [ MoritzBoehme ];
platforms = platforms.linux;
};
}

View file

@ -7,6 +7,7 @@
, gspell
, gtk3
, gobject-introspection
, gitUpdater
}:
python3.pkgs.buildPythonApplication rec {
@ -73,6 +74,13 @@ python3.pkgs.buildPythonApplication rec {
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = gitUpdater {
inherit pname version;
ignoredVersions = ''master.*'';
};
};
meta = with lib; {
description = "A sticky notes app for the linux desktop";
homepage = "https://github.com/linuxmint/sticky";

View file

@ -37,6 +37,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.thehedgeh0g ];
mainProgram = "${pname}";
};
}

View file

@ -12,13 +12,13 @@
python3Packages.buildPythonApplication rec {
pname = "xdgmenumaker";
version = "1.6";
version = "2.0";
src = fetchFromGitHub {
owner = "gapan";
repo = pname;
rev = version;
sha256 = "Q38m8YrvkkTCY2dByvPj+Ee1DMSUbWvwSDI0kW182bU=";
sha256 = "CLFFsc/F6I8UOY/XbViWCAlnnu32E5gtEXg9+KSJqI0=";
};
format = "other";

View file

@ -32,15 +32,15 @@
}
},
"dev": {
"version": "106.0.5249.21",
"sha256": "0d3ha2r54sjx1rhaas0mrgk2dl4xvgb83r5pbq9qzh52z43ynmlv",
"sha256bin64": "0bawgqjkpllqif0jaah43vys57c9y8w7a5rjn35bxlmjrfmfwhwc",
"version": "107.0.5286.2",
"sha256": "111dk9qdxbad2agvnh8ijb18ip9vw32gdfxajqkrlqgcmmj61vsz",
"sha256bin64": "0l19ylpcrnzqj2imlhl13h0f5773znwx6h4xjzrac2z2lxkzmkmk",
"deps": {
"gn": {
"version": "2022-08-11",
"version": "2022-08-31",
"url": "https://gn.googlesource.com/gn",
"rev": "0bcd37bd2b83f1a9ee17088037ebdfe6eab6d31a",
"sha256": "13zks2z65kg7fzzsysq4mswd4bhhy3h7ycdrpxfilcvixx2n2gac"
"rev": "00b741b1568d56cf4e117dcb9f70cd42653b4c78",
"sha256": "0vi9gigzdyji8fql8k8sv1v5z0icjph8awz49xidn26bvly6526g"
}
}
},

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.12.11";
version = "1.12.12";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-vG1FSBHXaJBJk9dC61yZK1Vkr8PyQ7Q4TVZWRIsDY3E=";
hash = "sha256-aQUN1T6AH1TRj2pPkNFoS5Fmo3NPmmiEXFZfFeXtN1w=";
};
subPackages = [ "projects/gloo/cli/cmd" ];

View file

@ -13,15 +13,18 @@ buildGoModule rec {
vendorSha256 = "sha256-HmMh5jrRGs4rtN9GLddS9IwITyvVmOrL5TShhQeyxKU=";
nativeBuildInputs = [ installShellFiles ];
doCheck = false;
# TODO: enable after https://github.com/pulumi/kubespy/issues/72 is addressed.
# postInstall = ''
# for shell in bash zsh; do
# $out/bin/kubespy completion $shell > kubespy.$shell
# installShellCompletion kubespy.$shell
# done
# '';
ldflags = [ "-X" "github.com/pulumi/kubespy/version.Version=${version}" ];
postInstall = ''
for shell in bash fish zsh; do
$out/bin/kubespy completion $shell > kubespy.$shell
installShellCompletion kubespy.$shell
done
'';
meta = with lib; {
description = "A tool to observe Kubernetes resources in real time";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "node-problem-detector";
version = "0.8.11";
version = "0.8.12";
src = fetchFromGitHub {
owner = "kubernetes";
repo = pname;
rev = "v${version}";
sha256 = "sha256-dkOkHsQ1ZfB5rSFuFRlrKf605EIo/7IkyyYz3ZhMggQ=";
sha256 = "sha256-FLOkGeGl2tpLCyJxiGubzo+d2fieF/aNfhNJ2nzOtfw=";
};
vendorSha256 = null;

View file

@ -0,0 +1,24 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec{
pname = "pinniped";
version = "0.17.0";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "pinniped";
rev = "v${version}";
sha256 = "sha256-0h7zyKe2gmC1n9EB5FRVI/io7Yj+91ZAtLy+1u3gyO0=";
};
subPackages = "cmd/pinniped";
vendorSha256 = "sha256-8ohyyciL1ORYOxPu64W0jXASTv+vVZR8StutzbF9N4Y=";
meta = with lib; {
description = "Tool to securely log in to your Kubernetes clusters";
homepage = "https://pinniped.dev/";
license = licenses.asl20;
maintainers = with maintainers; [ bpaulin ];
};
}

View file

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec {
pname = "flexget";
version = "3.3.25";
version = "3.3.26";
# Fetch from GitHub in order to use `requirements.in`
src = fetchFromGitHub {
owner = "flexget";
repo = "flexget";
rev = "refs/tags/v${version}";
hash = "sha256-kfpri6AFNb9GcAIDVhFV1uSDSNNSopReWRKuvWifcTU=";
hash = "sha256-5THgUOQv9gPUh9emWiBs/tSNsOX4ZVh+jvKEpWsy05w=";
};
postPatch = ''

View file

@ -3,7 +3,7 @@
buildGoPackage rec {
pname = "coyim";
version = "0.3.11";
version = "0.4";
goPackagePath = "github.com/coyim/coyim";
@ -11,7 +11,7 @@ buildGoPackage rec {
owner = "coyim";
repo = "coyim";
rev = "v${version}";
sha256 = "1g8nf56j17rdhhj7pv3ha1rb2mfc0mdvyzl35pgcki08w7iw08j3";
sha256 = "sha256-dpTU5Tx1pfUGZMt9QNEYDytgArhhvEvh1Yvj6IAjgeI=";
};
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
@ -23,6 +23,5 @@ buildGoPackage rec {
homepage = "https://coy.im/";
license = licenses.gpl3;
platforms = platforms.linux;
broken = true; #fails to build with go >= 1.16
};
}

View file

@ -3,7 +3,7 @@ let
versions = if stdenv.isLinux then {
stable = "0.0.19";
ptb = "0.0.29";
canary = "0.0.138";
canary = "0.0.139";
} else {
stable = "0.0.264";
ptb = "0.0.59";
@ -22,7 +22,7 @@ let
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "sha256-NojoHrrgdvLiMgWYPClXzWjWXuvHz7urhyHzMnZwvBY=";
sha256 = "sha256-/PfO0TWRxMrK+V1XkYmdaXQ6SfyJNBFETaR9oV90itI=";
};
};
aarch64-darwin = {
@ -53,7 +53,7 @@ let
downloadPage = "https://discordapp.com/download";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ MP2E devins2518 ];
maintainers = with maintainers; [ MP2E devins2518 artturin infinidoge ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]
++ lib.optionals (branch != "stable") [ "aarch64-darwin" ];
};

View file

@ -23,14 +23,14 @@
stdenv.mkDerivation rec {
pname = "fractal-next";
version = "unstable-2022-07-21";
version = "unstable-2022-09-09";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "fractal";
rev = "d076bd24419ac6172c2c1a7cc023a5dca938ef07";
hash = "sha256-2bS6PZuMbR/VgSpMD31sQR4ZkhWNu1CLSl6MX0f/m5A=";
rev = "5f0a4b48a745ccce202d14e7d02e14f51598fb42";
hash = "sha256-7s2ytHpM5pZ0dhnVMA8KDWIBaSWds7t9GB6Wav+0dQA=";
};
cargoDeps = rustPlatform.fetchCargoTarball {

View file

@ -1,665 +1,665 @@
{
version = "102.2.1";
version = "102.2.2";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/af/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/af/thunderbird-102.2.2.tar.bz2";
locale = "af";
arch = "linux-x86_64";
sha256 = "d38c09e55cf1438269d80461672a615c155e975d65c8c35f5879f4236702c9eb";
sha256 = "81f0274a9358a25a70589923a114d92452f2f693490e93ebdf65efa955c6e36a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ar/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ar/thunderbird-102.2.2.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha256 = "881eb9bafcea2646ab0830cc5a7d3ed2979b0e745ddb7a018336ed7b8382e491";
sha256 = "27ebc77615606d1b7c3c2a2d5f9a3b1cf5343c7f17fa127467a410c02336780e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ast/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ast/thunderbird-102.2.2.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha256 = "17cba24fa82d4b3a16be5d44ea9be4b7bb1aff4b206841d5eb169815951a9f7f";
sha256 = "05cf9d371640de3421c42ea464f6de6bdb1bc4eaff6ee43bbcff82513d034776";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/be/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/be/thunderbird-102.2.2.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha256 = "271b5d606fc489918cec8d8d316f0b8cf295a296b95a1dd458dd0b7f68fe148b";
sha256 = "9c85da8f62f1300462c2bad9d19988c17ef7cc1bf093703b3c8d695c1049b832";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/bg/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/bg/thunderbird-102.2.2.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha256 = "1e68a8cd66f72712f74bc3735af6c0016256ebfe1c7c2e820624268ed8837350";
sha256 = "3235edcae2382d6198fa66ac2c03f4e01fbf0890c7dc944921abfadb38e8303d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/br/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/br/thunderbird-102.2.2.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha256 = "82ab077f9a5f43875c6c82ad7d0e17f9c0b893e0bf307574fa8506e3220c8604";
sha256 = "0c690d54d04b585f106d2ebf47aec2643ef730dff513ee3ef20d7d5ce884bfce";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ca/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ca/thunderbird-102.2.2.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha256 = "2ed8291572dbfaee211f5b9fdb97d4faa591f853815d9eaa43b704270551b02e";
sha256 = "814820aada02f77ac7f7bbf46488269b12f4112bd0d27820ec4cfbe9b07195e7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cak/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/cak/thunderbird-102.2.2.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
sha256 = "a5e472616951c799e6dbbdfedc3e8ba497812b027ab22c909166c3e452a29d74";
sha256 = "12bfe570291becd5aa074be7dacba8f6b01068d9046e0c35aa0016cd7487b198";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cs/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/cs/thunderbird-102.2.2.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha256 = "1d3d1e0355275152050a0c5d32fc0b0f6b53f336d02837ca7653416888e271b5";
sha256 = "dbabd84e1380447fdd7435362fcdc0daf60af718693381336195d31790cd2331";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cy/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/cy/thunderbird-102.2.2.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha256 = "4b2f3cc7e1e81abdc52969cd08cd3586e14ea2ff574c8c3b334109dab00ccd64";
sha256 = "2817bb295ea0f6d180dcdaed2e5152b1e89e25eb9d12eaebae6f5d74b7e9c06a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/da/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/da/thunderbird-102.2.2.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha256 = "89613187e078a6f341ad8799cb4980cca770b2a0ccb0969740f53e5e7073f00b";
sha256 = "de91ba53ab1a416c5326611930c4b8031e9f7038791164e08ec9079ae49a6111";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/de/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/de/thunderbird-102.2.2.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha256 = "4b7a030cb532a94a6eb3cc1343144bb90abcb7b2fcd3df81dc126b831d0a2740";
sha256 = "547576de35e0e7950d0d1150167e4bba6d7802abe498c97324fd3856a0d0eb51";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/dsb/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/dsb/thunderbird-102.2.2.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha256 = "e1d05cac1f513ba573239dd677da6edb94cda9badef57b168f498b5bc218a3ee";
sha256 = "e64baa142d019eacf84ed9a30ca9490a7aa34cc647774f4b4be4eb9e852875da";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/el/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/el/thunderbird-102.2.2.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha256 = "d63891c05b56970021fdc455fe67d2d6f27233670e436b52522cfd012c503c74";
sha256 = "e04c18427b47eda0583e62ec88a07bcba8b625d47762e355bbba0b5dd81807fe";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-CA/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/en-CA/thunderbird-102.2.2.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
sha256 = "34c81ec572000433e356ec5f13dbe461ca788b19ca0af9fc34ab50d7feda9cd1";
sha256 = "cbb9ab2c74fa24e70be67defd94ea4777f7d4f45ba4e6f6074915dcb72756c43";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-GB/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/en-GB/thunderbird-102.2.2.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha256 = "2e9aeef97495ebe462a62cfd0d9966b66cdf0a0464a8d5d012cf3d430b4a28cb";
sha256 = "8b86fa495e54a99ef5bba2d6f1b507138ac85a5425e88f2e568e82501337b679";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-US/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/en-US/thunderbird-102.2.2.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha256 = "92883c21319411096c355569c43b6cae2cbe7770c1814a9997ea7b9746431271";
sha256 = "a406c23d5e7cc372d68cd5d08f3c86c611fcb63a9b78a944e3e1a048fcb6dbec";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-AR/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/es-AR/thunderbird-102.2.2.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha256 = "51730734c71b67ffc865646453fec802e92852fd9ab7eb371d31d9c3e843f810";
sha256 = "831b31ce85bb7668befc8eed476befad689805c1ca5b2393ff433a391e2069bb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-ES/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/es-ES/thunderbird-102.2.2.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha256 = "c61667e937b15fdb22e03b7875a474e422069800780df73529b6811cdb384824";
sha256 = "5e942c3308489d73f3c2f3a923d5fd4e8712e0b10f5a9d4e785b743afb92ffdf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-MX/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/es-MX/thunderbird-102.2.2.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
sha256 = "7c5a404101f20fd9624c5402e8ba2c0699986739302de5739ad3304e2ea234f6";
sha256 = "eb0ba009a05c402c215ca04bc32ca85e130fb26feb16d8f484dd5a6780f2d0ad";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/et/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/et/thunderbird-102.2.2.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha256 = "5fb2498c2a7e1a76512ace5421bfff47a1ef336cf95f671e85188dce7c8fea78";
sha256 = "1020c72f7316ee97510b7f6d8cceea49753f3f00d33cf33f6246abb492eca0ca";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/eu/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/eu/thunderbird-102.2.2.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha256 = "0eb3f3ca7e23e950ebafbdb6d4f4200279cc8e18a042a91ad163eb83c939c704";
sha256 = "2c95c74fdb3115d2ac41b5ddf5fba8da63fb0946b87d1bc77740298ca55c0b40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fi/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/fi/thunderbird-102.2.2.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha256 = "ae76c531ac5b826593310b2b4b2e01d877dd246379a7ae8427f6039eb5dd581f";
sha256 = "0407e22920c7830d9f4214a6e42cd85fbbeff2c2422c3c9c10d5ec7330f4795f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/fr/thunderbird-102.2.2.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha256 = "3b344b3348487c393ea72012eb6fd82dd647e31cb1dd0c305dbe6aafa8438c53";
sha256 = "8a3da1833d1088d87ef9a73e1dcdd875b0db5aa57bba659c7423e6a9052beb9d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fy-NL/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/fy-NL/thunderbird-102.2.2.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha256 = "3143c39b7e3aac2d90e6d68e2d1f782a306fdabd69641a4aa31afd02b6cd172f";
sha256 = "880e2585652b91265030345cb4bcf8aebbc5361a49d31edbe0a193b954df5214";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ga-IE/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ga-IE/thunderbird-102.2.2.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha256 = "db877b69e105c8d14b6ff420448712eafbaf6580a13fd415eb5112930a8633b8";
sha256 = "e19acf7c7e3013cb39114615ad19dbc28d62b9b538d0cdffda44f50c4e105781";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/gd/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/gd/thunderbird-102.2.2.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha256 = "3025fcddde35315267b3f0cc9d57696c5462bbe6705fb26b7a1be1eb670ca984";
sha256 = "c4ac7117cad296e84aece7868d8747f7d70b9a5a94f2a7b2c7eb4711790dc5c5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/gl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/gl/thunderbird-102.2.2.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha256 = "39469544764d5607d73d3ffc0eafbcd2117072b2af6dba1a4a7ab43c3af2eb75";
sha256 = "b8a73f3349113154a2b330b44570138e0a715c0452058034ac33cdde1cd1d896";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/he/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/he/thunderbird-102.2.2.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha256 = "52c67f10bda950e12822207d41c6b425079d29f0d1d5654bb10b6e1d88751828";
sha256 = "6a26ca35bec64b24d71d50e5c2bdf2139e442768a89153169d33ce8ba6b31d2c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/hr/thunderbird-102.2.2.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha256 = "e584a8f724d8e337743f9ad22e637089c5771c082091e221aad55b97541e0c16";
sha256 = "3c2010dd691155bd1f3184870905994a58f70e7911b5ab51496cfe6ae89597e6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hsb/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/hsb/thunderbird-102.2.2.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha256 = "0304b06dd0f23ca59f85e34e3068cd9ac3275c815e2e2004358540b38cf058c9";
sha256 = "6adb0e04a8a3c9104f343ad6365acd2889499fbca192b80ff86652636d09a3b7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hu/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/hu/thunderbird-102.2.2.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha256 = "ef155776003ddccfe863e920f31b45f673ef445c01556d69b6ed086561a74768";
sha256 = "a46951b9a21b804685024ada9f386b6d81393bc66516affe2abf996d88835f40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hy-AM/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/hy-AM/thunderbird-102.2.2.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha256 = "c65a335777b3cd9ab95b14007a9b6f10304b17c267388889a7f299ea61c44fbf";
sha256 = "37f04ccbe1a0ab6a2e25118aaf50186e2555f186f0d8a1b3352caa9b6158ee18";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/id/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/id/thunderbird-102.2.2.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha256 = "a407cd50ed7b4fce63b2607632a82c4e9b853b76ba522a564aae219afd0034ed";
sha256 = "9e754ea12d18fb9257712a95a93883685bc0afc3be1ebaec03d3aee5c2960efc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/is/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/is/thunderbird-102.2.2.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha256 = "6035248bcfde9fea269fa10ff3a87f035e3552b8cf76c10dfc86dd889cc7e958";
sha256 = "c046d691e9a11b59ec8dcb325ed072a47e7e447e2abe06a8e52e280879d38386";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/it/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/it/thunderbird-102.2.2.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha256 = "afeef80077a18120cff1854d54067ccbc92b30f9c0e75b41067ec1e398340eb9";
sha256 = "6d3e7bd4eaec2b8a88bebf883ade76be411a073f9c12ec0a9bb3c66cc9981e8b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ja/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ja/thunderbird-102.2.2.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha256 = "1d98a3c50d1aff70bec9ae9335708a85cf4458fbe0ff49db45a57f4d29614de4";
sha256 = "5400f7453a76a5c761b8c22b4f50d444bd8112c3afe3a43b0e6338cfda4fe56e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ka/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ka/thunderbird-102.2.2.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
sha256 = "5c749efe25f328be5f17ba2b2eeda41af0ce69f0f3e9cbc8bb55d58a3990d99a";
sha256 = "840cc16f368ebc3e6aa357ce3b41bacbafdccb510729fae8f1b76fc1c5bfb621";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/kab/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/kab/thunderbird-102.2.2.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
sha256 = "93b93383e4bad3b4f930bcbc35d178639a50fd7a30eaac573bc74b895955ec5a";
sha256 = "c67e24314357d8f2d1e857339c234dbb1813e1ba4df0e107d25f3aefefebcac2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/kk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/kk/thunderbird-102.2.2.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
sha256 = "298e2c42888f29b90fdc6589b6336c5c2261a5331f5d52db89ee5b6618ec120f";
sha256 = "5b23cacf902762ec8f90536e3f1cb951077d674495fbfa3764707197dc413d89";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ko/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ko/thunderbird-102.2.2.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha256 = "75625d041a0193cfd8015174a1eaddd7315f3030258e58828df4b3521863bba8";
sha256 = "1c236ec1fe62e2e7969a4821aaad80a143347a5b775ea8ebb75b51c08c2acc80";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/lt/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/lt/thunderbird-102.2.2.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha256 = "c5705caf0c71efb566a0d1828ec36e940940eeee23d37b9d66246abbb28114bc";
sha256 = "ec59fae4f57313a4bb4ea9009369af1f12ad82e24f9013c8b34a73fc41762713";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/lv/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/lv/thunderbird-102.2.2.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
sha256 = "d26ea9198e8d5e9ae5f51fa2456181bd979694d7bc9bcab8f3a82c01233760d6";
sha256 = "99828bf55cf13781efbaac4e0e99d42b669bd9be0f78302fd69efb6270dd225f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ms/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ms/thunderbird-102.2.2.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
sha256 = "6dca09cd5f9306d102bca42d01607b63e1219324d1107447a728bab8693aeb8b";
sha256 = "f8f6c88e562650d9c19988ad9bb878fec1c79af5a163beff1693a203f79341c9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nb-NO/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/nb-NO/thunderbird-102.2.2.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha256 = "8d2a62dd4ccade7544ecfc6a4f88bd354f70089cf161f2fe92aeb9886e6f6411";
sha256 = "cbdab2fcf1bfd0dcac3c1e0e988bce513d789f6bba8e1b7cc65db1cf997b36d2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/nl/thunderbird-102.2.2.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha256 = "b82895cfc2058be4b7818ea17521deb014a17659ddb57c093cbdc26ab3e7f7cb";
sha256 = "d8b3e422b7aa8baf63f4f8b057c57aa824e5e0b9cf9588f0076567cc2ef70559";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nn-NO/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/nn-NO/thunderbird-102.2.2.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha256 = "aea319db70387a2f075776fcf07b29e433ca16f898af70689d9cd4ed9d98d52f";
sha256 = "7b5eff29d874d33f07ea5e38b51fe1d0c2451b9d07ee9eea164ace136e6c86c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pa-IN/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/pa-IN/thunderbird-102.2.2.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha256 = "02c366563dd39f64ae11f9377c62434291aaedd951cea43e867a236dcd99dc2d";
sha256 = "ddee5093d6caccfe6f8666efc4978194302beea23396c7884c18144b077934c5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/pl/thunderbird-102.2.2.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha256 = "5e2b8d486eacda9a8913e0ab60e2c4079d3fb89e827ca1fba871f2b6295c6cbc";
sha256 = "ca14c3d7061aa0c0cc65651b21d10a83f375b730ca9d372095408e729d8e31dd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pt-BR/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/pt-BR/thunderbird-102.2.2.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha256 = "83339737a6ff360f1036a5b11b56f6d6648011f0c206a13da2b557aa85f4e2a0";
sha256 = "0d4801320dd611ef12a858e0f1da9ba1077634d73c510c7660aebcfbec423ce7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pt-PT/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/pt-PT/thunderbird-102.2.2.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha256 = "4950899b2da0a706f39767199ec412e9da2b670bf15c29153244c5eb3a317731";
sha256 = "a54938d91562d0fcab6875395b58f18dcc51f22727a289ecdf402f1cdc48639e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/rm/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/rm/thunderbird-102.2.2.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha256 = "d9030e30196b03c341b1fd9078447d9baf7542a119617494ea73d11192f194e0";
sha256 = "b9df55f6fb6268bc534e0a82636af2fbbb7e046b46c6134bd50abf37254671f5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ro/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ro/thunderbird-102.2.2.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha256 = "d3be25f071698102abc71b50d71253326a9201ff9db3e7935afdd27d728985e1";
sha256 = "6c2ce54a34d5a1a6e3e29431998955793dd49157db74679951f537f61fcbac74";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ru/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/ru/thunderbird-102.2.2.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha256 = "f9a520adaca32180b01f18fb9b8280145075248378a4a1fd273c9687733cbf42";
sha256 = "fac401762dd4cd9ca5870064212fbf928d63751827446a6e5ea870fdbdde4aae";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/sk/thunderbird-102.2.2.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha256 = "4045843feb9303bc65612d1060f874d21fdf39c0abadc84c84af0017b1fcee32";
sha256 = "928958768474f0fe3d081be979891ca54a162fc24d7e8e27930d9035d330ffaa";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/sl/thunderbird-102.2.2.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha256 = "d914ee5a953b4ec651e634d7c2b971987ccb2ebdd130dd3ee4ab3d0cae274f59";
sha256 = "a34dddb780a858e61a665661d1e2384cf853b431229689d860fef3622c9d0e0f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sq/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/sq/thunderbird-102.2.2.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha256 = "2fd3128af2a55cae9a8adc248afcc9497d602f0d36cb2cd7ff51aaca1b064487";
sha256 = "fcae87e539cfa1b73ee78de3ca3d23a81d6b6cdaa81e22e819b07355b7112a2b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/sr/thunderbird-102.2.2.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha256 = "2c5ffe0a8f4d431c37cb7f39fbd145937839425232aa72e173b88fa49628ded6";
sha256 = "524da643994d056e0ecc1eb5d241eb4cc906e71fe0c821cec5eef78cadf695c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sv-SE/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/sv-SE/thunderbird-102.2.2.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha256 = "e98429f73e6379ebfb2bf98f9396f86025e158543e664b2b219875964dae6e1c";
sha256 = "40ad15ecddd5d936da810f470faba93157c0b453503a48a83f7e69d2f6f742c9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/th/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/th/thunderbird-102.2.2.tar.bz2";
locale = "th";
arch = "linux-x86_64";
sha256 = "605a86e6be2eabd0ade653f93fe62e6ae47eb80951fa9c7ab9035d13bc22e52f";
sha256 = "b08db7a7a5f15aa7d0257858942f861457941b27e2ae2d73f0c65876c8fa2b11";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/tr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/tr/thunderbird-102.2.2.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha256 = "51dfa4db80dd7596c24e6a0b67e1196d59b9083de63550862fccb6672535825a";
sha256 = "126defec4dbab1cb25f23899542166628201ecc1d80ed566b99e427f1ce6e6cb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/uk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/uk/thunderbird-102.2.2.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha256 = "a6fcd5719501d801ed0e9f39ac100309945e567d535e6972791ca97c509131fd";
sha256 = "5b9af3defc3547caba361e3ebd460a3682a09a1207bac5abee08b67cb530d710";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/uz/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/uz/thunderbird-102.2.2.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
sha256 = "e4666827e963fd2180babba2a117425cadff2bf47674e30225ec4f046cde1adf";
sha256 = "af88cbbd45ae2c168c52d0d2f19d4940a4d448e4c3b68125eb359a2c6dbffb36";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/vi/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/vi/thunderbird-102.2.2.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha256 = "67cfdc9bb1753852250aeb523f2f91ec2fdfcab910ca1e38ac61e3922f281ee9";
sha256 = "dd6071e000258aae9406e7750238c96101a5280989a68b955b4ad3129a62768a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/zh-CN/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/zh-CN/thunderbird-102.2.2.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha256 = "f2bcca607b71c567f0ba3414e668e033633f05fff7404a1cd321d165172a36b6";
sha256 = "da9f27ff43aa88c9e394b75b246a27639ef51f95203e955d16d3075872b43c0e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/zh-TW/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-x86_64/zh-TW/thunderbird-102.2.2.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha256 = "e827be51e3af98fd484bb82d387754e5375cb7a5749bd1b8d0401632172165ed";
sha256 = "57006f7eb829e7a2e8f6323bd01276e065b98da51a5b40e9d52c5fe057afe224";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/af/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/af/thunderbird-102.2.2.tar.bz2";
locale = "af";
arch = "linux-i686";
sha256 = "42e10d674f9bc1220a1ae08f5c20551ceb9030700991681b32df137fb1fbbda6";
sha256 = "45b8a62bfa3a1c4c0d33a9c6332c3db769d6262740fdf63523cdac6a73c877f1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ar/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ar/thunderbird-102.2.2.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha256 = "d5a6370d2e20fea976165cc0d84c13832b8ded075fefdc98f21e1ab530dc8624";
sha256 = "aa0c2fa1e459e3c7089fc0ca35c0abd259deca9f1a2dbea9a788f41e9bb9d927";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ast/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ast/thunderbird-102.2.2.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha256 = "19f2ac39f04b47fb2789b0c0df8b9e0634062bcd3f117cf2cf776a39d701ec7e";
sha256 = "7c6d00d2d4bc270159fe383001070192612c360b19307d3f30564b251740e8e8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/be/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/be/thunderbird-102.2.2.tar.bz2";
locale = "be";
arch = "linux-i686";
sha256 = "4e007951f445b5c9daf36523535db459e869b50b732a8e82f64b3c0d898c512f";
sha256 = "1834f3bff9a9e59a350c4da3fc9accc06e7948db4be13a888b5ffbf41bd3665f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/bg/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/bg/thunderbird-102.2.2.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha256 = "6430c82f5ebc4daa2fc099d54f0aacc1d680a4c603fe69fe117490d58d9c7af3";
sha256 = "77e09e97aa320c88c952a99ccf1f81b64374ed96dc124268baf138e0c41b9f1a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/br/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/br/thunderbird-102.2.2.tar.bz2";
locale = "br";
arch = "linux-i686";
sha256 = "84568e1ec4284d1f81cf5f5627de0e19db7a32f57cb621210df27f61178961ea";
sha256 = "256d12149eae5a9cd171f45b8fca86c69ab2161058921019d1decbb1c4931e60";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ca/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ca/thunderbird-102.2.2.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha256 = "496bd038e349d2480c7ca8c05f8ec9ccd93d0e17210cf1ffe8f65c470a2db5ad";
sha256 = "e1311c92360ed218361341f61529b2c4abd6c90a8458fd95c9401db9d4103011";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cak/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/cak/thunderbird-102.2.2.tar.bz2";
locale = "cak";
arch = "linux-i686";
sha256 = "f1e811a5f1e821ecffb6d4d110f19fe55ef153992cbcf53980fd56c16552f663";
sha256 = "34e6a9743bfbb88d6ddb00fc8343c4da5a7849dcc913ac1e9a17e44b35666da4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cs/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/cs/thunderbird-102.2.2.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha256 = "6ff1add590d03bb49fab16ead5b549eb32c5767998ecc955c394163ef36d8554";
sha256 = "c650dd57f13520963f59eb67931c6fa12c862515c31a505d026df0d5aef78342";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cy/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/cy/thunderbird-102.2.2.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha256 = "6605ab434753eda8d9f67eb57d470616e9c3b202978d655738bdd4f478cbfd42";
sha256 = "56511f4b9dfe2c4525c960a2031031881049adc8b4ef3daed9f8d12cf8dd81bf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/da/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/da/thunderbird-102.2.2.tar.bz2";
locale = "da";
arch = "linux-i686";
sha256 = "7f60ac0c21c4894dbaacc43e74753e5dd29a768a31167eb3b0ad86c0333c247e";
sha256 = "fde094d4ea03acafc9804964d14c4ffe091467f4bbc0871552344aadde758345";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/de/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/de/thunderbird-102.2.2.tar.bz2";
locale = "de";
arch = "linux-i686";
sha256 = "9d9ee8d7d92cbfa94732d915cfd4fd86278ff08225c4099d421f48527c5b279a";
sha256 = "3ab1e257a58e01a107989a62854a407f9faf5ee4d1f6223221ad6fc9bd8a08ca";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/dsb/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/dsb/thunderbird-102.2.2.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha256 = "37c2ea9d16be51d4cbd9eff62d0a146681d52caa63e2407e1f0d8d422b7c62de";
sha256 = "28fe086cad5e27a9baa68b28d9556914a385796d2420c2238f83f08c61efc982";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/el/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/el/thunderbird-102.2.2.tar.bz2";
locale = "el";
arch = "linux-i686";
sha256 = "e3804af2c4a34c8ec6679e7a06449d00416641d17f2d58d15e745b25cac4fb82";
sha256 = "94eaf766fae60a5204a8fef9306db32a32ccd670bc77fecf8f062b6f6c12096a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-CA/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/en-CA/thunderbird-102.2.2.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
sha256 = "6d2dc53467776fc068935a1181c3ec7f6c2ab9c6387ff8c12b4f689b904e9430";
sha256 = "01652e32486efe2a610a3649d93128ecbb4d83c2b88a9f635775e95600255d56";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-GB/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/en-GB/thunderbird-102.2.2.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha256 = "f0a2db3262832de3cf5edf4721327538af261a8eaae831337a1f1f732045f1a2";
sha256 = "444a6814a90f982a9b515ae34831b0a421dc3543f50492219553d3c918f03913";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-US/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/en-US/thunderbird-102.2.2.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha256 = "04754457bbcd3b037c27cf5c1186ab1224fc01d3b1106c76ca21d26770ff28a1";
sha256 = "66c7f533483337423fec636873278dc9d7af72acbee25cd4696b055006faae34";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-AR/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/es-AR/thunderbird-102.2.2.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha256 = "9fd407ef93b7c613709312350b5ba520f06c5b0d664e315ef671f85e5af50ac0";
sha256 = "74b59f5777a884b281f64872ce268f5a096a571e5b37158f26757725f569f4e9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-ES/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/es-ES/thunderbird-102.2.2.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha256 = "a3975e3489c8c67374a7ade117a45c85aa42c5379670204571dce0118f7aaf8f";
sha256 = "feea88b74e5b3576a333b4a9b867afaf4412540ba45103ade194af28013a1259";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-MX/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/es-MX/thunderbird-102.2.2.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
sha256 = "857d1f4073ffbfa81a1ad17d219ccde4f8a8b18adc6e3e2f844020be32e1c5a8";
sha256 = "fbf4a44defa20ee88152ad45ed2368bbf97f4d1979e7ac731ba08e7d0caf1be9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/et/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/et/thunderbird-102.2.2.tar.bz2";
locale = "et";
arch = "linux-i686";
sha256 = "37b5f428f5f16dc80736de0c2f23ca24003de5d4639e1500f303b1f4aa664460";
sha256 = "abd03a775f1295e16dbbb2c4116f5193fc73b99e39b3a0f9e7a5de9eced240c9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/eu/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/eu/thunderbird-102.2.2.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha256 = "0e4a8abe3b956d304d79218d63f64b01ef566122d00d025ef69c07f73aa87fec";
sha256 = "90f90a640af343f87279af424da423d927dfaf3a08d9155a9469d42a734e7bfa";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fi/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/fi/thunderbird-102.2.2.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha256 = "0a3242f6d791ab5f1be52b67d8f95ac8245bc7cf556f9dda814c2827d8f60e40";
sha256 = "d8fbcad40e09ad5d193d3a520ee9fec023df89e545e9aae75bface677d2b2c8a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/fr/thunderbird-102.2.2.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha256 = "32c67c444bbe3d920aa4c30226fdbf469d5caba7a066b3d84270d0f9e0daabe5";
sha256 = "a78e8962cd4121e5a4a2ceb573d7b69a61ed3706163ff47c6d1c960847cb7ded";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fy-NL/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/fy-NL/thunderbird-102.2.2.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha256 = "0405585c63321c44f3f459356db4bbd0cf73cccf7ae6c8684b13152e3aa3b7f3";
sha256 = "39f416be5d19d31c84fd8c02805a1d5fdadb665aabccaeee78ab1e53fffaa9ad";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ga-IE/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ga-IE/thunderbird-102.2.2.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha256 = "54e4e55b3339d6436591d8967de6c1cffab94da38d064df6fc0d8b85c4475d84";
sha256 = "d270e50e6c79f37401c080567caec4e852a3138a3f3fe095a759d1d6e118b691";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/gd/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/gd/thunderbird-102.2.2.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha256 = "46130971e0b49bb45c6895d7cf9ec890d7f95fda6479bba38cf180d36e4c4eb7";
sha256 = "62723dd4145b2aab4d91e3d7be6763474c23eb969407b532eb21e8e95d00c497";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/gl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/gl/thunderbird-102.2.2.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha256 = "6e0ae14bb163b5a10c58cbdd49793e69d9d5042b0045f40be4c595781ad84c92";
sha256 = "933795b2c0d3ab6b56d943470f3c0b5df3b4907acbdccb9f7f70ea300e094a50";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/he/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/he/thunderbird-102.2.2.tar.bz2";
locale = "he";
arch = "linux-i686";
sha256 = "6d353e9ec5a72366b991854aea9163385ab902c812690c0161790c882343e5a4";
sha256 = "265d98ccba83b5eff448318d2208e11cbac484d0eec01f796bfee590d4473657";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/hr/thunderbird-102.2.2.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha256 = "a05a828b434cb2677b1d3c9f317d5448db003c1373edbb84d1822182a93d3e7c";
sha256 = "bc120009485b1d3b91cbd87018b6e4af229d1beabb2f6aed18d498ec58cb6fdb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hsb/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/hsb/thunderbird-102.2.2.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha256 = "4573f6938c41160f1d4c79be035f24426bc83d9440b36ca269004b729a5564e2";
sha256 = "8d1cf043172256f022d6ead46545b36cc366570838d6d45814b78b8484d504e7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hu/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/hu/thunderbird-102.2.2.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha256 = "727246ee523554d64ff72611d353aead8c8b79e8f55cf187b3fb3d9f442a947e";
sha256 = "93c1ab56e082c2e9d579031570e496175f7fa701840a5a8c25604ecb0b333c78";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hy-AM/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/hy-AM/thunderbird-102.2.2.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha256 = "467c8af9d3cfdbd18ea04214369b9d262c9d925a171a2f56548af00ec85a3611";
sha256 = "f141fdd4521ad0bd2c7133f8a7b87bfea09f2c82be7c72271370555f80426c8a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/id/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/id/thunderbird-102.2.2.tar.bz2";
locale = "id";
arch = "linux-i686";
sha256 = "4177b047863412c9ef91d8552440b7fa1f848b8675cc55b881a4cc5fdb157303";
sha256 = "708aa8829a18291d7e2cced2be4f161cdd2752cf6b642200159d7e4f20b496ff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/is/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/is/thunderbird-102.2.2.tar.bz2";
locale = "is";
arch = "linux-i686";
sha256 = "cb8cc7838fe3c4182d887c711c636b66d017b1854a2fadbb0f6e862a54a66d40";
sha256 = "de55318223875e4a43a35159a1c9ee795367d8ad447f29e4bb285fcb450f3e05";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/it/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/it/thunderbird-102.2.2.tar.bz2";
locale = "it";
arch = "linux-i686";
sha256 = "9e9214820e407c0067cf60a3b360e8f5a608225a41708a0fd25d00fb91e46d00";
sha256 = "722b270098611484878e2a6cb912aababe665e781a469bbdb46818ff18e077e0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ja/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ja/thunderbird-102.2.2.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha256 = "ffa126f9b4a25165163df6eca65299c553b087fc2313f6dd1c7b266d41a1769f";
sha256 = "96f27b3877f0b23d8fd09efc5ceb6a5162d0c704abcc84ae34493e120da69cea";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ka/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ka/thunderbird-102.2.2.tar.bz2";
locale = "ka";
arch = "linux-i686";
sha256 = "563eb58790172bf3a037f5828786dfb7624e3f03b81c1a57a4126f102e9572f8";
sha256 = "75e43501045da981ce21f3b52391379f03de3f4df731ff85bd83e2881b2adc71";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/kab/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/kab/thunderbird-102.2.2.tar.bz2";
locale = "kab";
arch = "linux-i686";
sha256 = "c79ff5505434a23ef88c2b1aadd9e70562ad9ea77fdb379169e3495725cad1a3";
sha256 = "5a2861bc768fededbcf7d3fd0e9bc565be2fd5badfb18524edf762425e8da933";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/kk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/kk/thunderbird-102.2.2.tar.bz2";
locale = "kk";
arch = "linux-i686";
sha256 = "bfc4037fa631727d454c5b22af1e8861b436c40aa2bafda007221e5d5a813dd7";
sha256 = "1014bcbb12c623164871e3416bde2218326d887d527c1f76d8579b451a673d81";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ko/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ko/thunderbird-102.2.2.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha256 = "386921200c4b6544407994c5d1d73a3671a383f1e5b69d5f34b7a8ec727bc646";
sha256 = "03ed9709c1bfa2066f8ab596faf5f4b9a37174bde7da3d32448770021d1bf48f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/lt/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/lt/thunderbird-102.2.2.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha256 = "2027b59fc1a8f11dbc8ce693296a26604e9ba579e34df02e9f0c8243eda38e94";
sha256 = "cc06df43b59a768415d6d07051eb67892e8e849ef0ff1799ad094dbe1671a954";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/lv/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/lv/thunderbird-102.2.2.tar.bz2";
locale = "lv";
arch = "linux-i686";
sha256 = "a5179ee6caa6847b36e9494e09d3c233beb9bb8651c586b11ce160b054e12d73";
sha256 = "362877abf9d52b936fdde5913655ad3e88097503415cdd38bffc35032094bd92";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ms/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ms/thunderbird-102.2.2.tar.bz2";
locale = "ms";
arch = "linux-i686";
sha256 = "6d1f11d137da476fe7dbe04e7d5692c5dc81931d30e116217083ad187fdc37cc";
sha256 = "64224aa3c1032528e9a233e992c95be4f8fa72c27a95e8ca38803265c2dd9c41";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nb-NO/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/nb-NO/thunderbird-102.2.2.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha256 = "d7a50f3f8734d249e565cbf1078627fb0e3cfa42f293574127bd2fa549652be9";
sha256 = "389f8bdfdbe6b6f05a6bc4154b2381aa4810787d18bb22a4f4dafd3f2f7f4e17";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/nl/thunderbird-102.2.2.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha256 = "8962f690d105d4589df0279770b63f0b90485cb499f86e953393dd4116a87b2c";
sha256 = "409729a161f278ff03c5505aca4ea4894c4fb973a3ab34bad9375a8aeea898c6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nn-NO/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/nn-NO/thunderbird-102.2.2.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha256 = "d0b940decdc8d77a0a6371ded16c551d8ce081134c4bb7d795adde39c5844254";
sha256 = "bd3712769496d416f4c3a5df2ccca46cfdfbd1ffd55346af5abb9fa7c50410ea";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pa-IN/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/pa-IN/thunderbird-102.2.2.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha256 = "dd5a2d9b78085786039ca20ef88f991285ff7b59ce47857b7d81bc74faa6ec54";
sha256 = "47ffb31c017241cfb6cfbd9a205b159adfd21be9b079f996a5d4ba05b0cc20d2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/pl/thunderbird-102.2.2.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha256 = "9da17d31bbacc006c2a9530d42d864ea56c9cf5b84a73d03add270bc275543b0";
sha256 = "ca50e4489e3a949f37b2310e7fb1d24bf24c26e7000bacd051ab77968397a882";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pt-BR/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/pt-BR/thunderbird-102.2.2.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha256 = "81fee2a7ba6a2b0b8607e412324b2eebd1dc3f28194dc7de1efa5af9f1fa23a6";
sha256 = "3a411aa23669d0c2b9146cd64986d7e9bfda6832e3b86a8f17f08a4fcbc05ab4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pt-PT/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/pt-PT/thunderbird-102.2.2.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha256 = "82e354e1642b8018c0a6f2ccc3d3d38f3a7aa39333a30d9a6ea7c6c52df6d6f5";
sha256 = "10613a544aff584af3da980ecf511f180b1d3cf7fe01828e2a37f593487bca6f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/rm/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/rm/thunderbird-102.2.2.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha256 = "d7fa26de70531e74931892a78a5148f95df92d29a94e7ce5aeef11168c1069ce";
sha256 = "60797ab2c9393806bd5ab3b4b9fb9048775fb30c58ccc436f4b21a0a39ceaf97";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ro/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ro/thunderbird-102.2.2.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha256 = "c4392159cabd3cf19b575d8a0598b0d52a1f9fb993234d1170240c6c6a5e4fa6";
sha256 = "40f11c3afad15a07f506b5b8d7dd74317b37720a398e890dd73911882ab9354e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ru/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/ru/thunderbird-102.2.2.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha256 = "ac3d6fc7b555298ae05cb3b0fef2b6264ff11a5961f5e044664022e80bb9ae34";
sha256 = "10935eb98bc6d83fe9b8e5e567a9f30a00abff8b5b3e4c527ecebd7ee56ec122";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/sk/thunderbird-102.2.2.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha256 = "41cc5938d5b64508bcc095ddfbe3eef3cde3dd88a8f145ed279bf825785fde50";
sha256 = "07e6c734108896e827e97671afe30aa709e701b2e64f1d1b692aee7155479cb4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sl/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/sl/thunderbird-102.2.2.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha256 = "f8fb013b2705ce34749d1470e799d47c09b5ba94a9580a5e2d12be8b660c58c7";
sha256 = "b862cd06ba4a1c8a16269d2c7fda76c7b97aebf0d60ac6828cc7b3dbb51b6468";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sq/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/sq/thunderbird-102.2.2.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha256 = "dc7407c4cb28070693b7862bc29b465a4d96c473b5b4f553d238390c694804a1";
sha256 = "28792eca6aa976a712c4f2c619e22c70263f7941c2c99a3aa9d83e5eb6cf00b8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/sr/thunderbird-102.2.2.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha256 = "640731bbc689acb4874bc0f439f34213e30812bafae3ef94471945b13ae27243";
sha256 = "69460ea89828e4db9a93f2a005a146a503f5fd5c022665cedfbf9ee62bd826e6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sv-SE/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/sv-SE/thunderbird-102.2.2.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha256 = "6d71d4ffa6393bc997566dc604992c093c24bd3a978b947704f82f03893fccfd";
sha256 = "08cf31fe3ad5d214278c9c79ad84defa2166d2b84917a6e7b11b7abfe113df09";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/th/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/th/thunderbird-102.2.2.tar.bz2";
locale = "th";
arch = "linux-i686";
sha256 = "faecaf65b8737dc63d2ea469ba1181c1e0a71c334baf29c8677730faecffb57c";
sha256 = "ef0c353c78ead98ffdf929912631dc3bee4087acd070dec878ce3bf9709a8f23";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/tr/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/tr/thunderbird-102.2.2.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha256 = "c6401dfca452996547b3f33dead4690f9e376313920ef7880774c8a3e556b213";
sha256 = "fe9e77c1739e33c5e226253a79070dd6e15d813d81cfbadca187cbeaa6fada9a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/uk/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/uk/thunderbird-102.2.2.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha256 = "05fc335e16ad0c28a59a6ba51566161f92c0053b12b0ec56409e62eaf77fa2b2";
sha256 = "3e12f9228479fb2361186eeee6174f4256990c829b369b4f762e75e89a7cfd12";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/uz/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/uz/thunderbird-102.2.2.tar.bz2";
locale = "uz";
arch = "linux-i686";
sha256 = "5690ad8156e70dba56ed7664f99ac335409e88f5fc0d05be530774fdeedd20ee";
sha256 = "ad59e3da2b1b3f20f910e979d85e60253b07f11410dca635399681cb50d372ad";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/vi/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/vi/thunderbird-102.2.2.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha256 = "41cb6da3b59cfa31ebf28e67f93349977dcd640df5491fa451f19bc0670aa2d9";
sha256 = "a0342a62cd34cb6879e38717c05e272d2f45990078d0b920906ce400db3cc206";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/zh-CN/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/zh-CN/thunderbird-102.2.2.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha256 = "79f9f7e1620efa56ab2a8f3a1d1aea91cf82a0c12b6f0bbac01bbd5fdc6b3c63";
sha256 = "6506ef24bcf862da6860a166a1a14c95187518e72bbb560b114eceb9d77a7c8f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/zh-TW/thunderbird-102.2.1.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.2/linux-i686/zh-TW/thunderbird-102.2.2.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha256 = "763790430eff0c8689cb045e30920b1c0fe239a324ce739b153f8a16ccb07b25";
sha256 = "479d149ec221ddead41c6e6b8f3f854487ea833ff80fe6efa31061600938299e";
}
];
}

View file

@ -39,13 +39,13 @@ rec {
};
thunderbird-102 = (buildMozillaMach rec {
pname = "thunderbird";
version = "102.2.1";
version = "102.2.2";
application = "comm/mail";
applicationName = "Mozilla Thunderbird";
binaryName = pname;
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "7b69cfffb5de56690cbbd97f6b627733072dee498a15adfece990f9019df8df948762ce8eb2ca2d91ef12ff56262fb1905476d8a477aed70bc71cd2f9f986ea4";
sha512 = "fe72ddb81d35d4a85b25a6d955a0b0f705aeda2dca0f572efca7ce94041c4ddcead6c690bda8d4bded4c43e12a15669f9608db6debec38d8b5157a914e280db5";
};
extraPatches = [
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.

View file

@ -26,7 +26,7 @@
mkDerivation rec {
pname = "nextcloud-client";
version = "3.5.4";
version = "3.6.0";
outputs = [ "out" "dev" ];
@ -34,7 +34,7 @@ mkDerivation rec {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
sha256 = "sha256-ennKNUuoyhpVfG1XPzJKrop0i77BAB3C2MNqZPOXNkc=";
sha256 = "sha256-wAxq5xFlofn2xEguvewMvGcel9O+CN/1AycR3tv/xMA=";
};
patches = [
@ -77,8 +77,6 @@ mkDerivation rec {
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
# See also: https://bugreports.qt.io/browse/QTBUG-85967
"--set QML_DISABLE_DISK_CACHE 1"
# make xdg-open overrideable at runtime
"--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}"
];

View file

@ -2,12 +2,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "fava";
version = "1.22.2";
version = "1.22.3";
format = "pyproject";
src = python3.pkgs.fetchPypi {
inherit pname version;
sha256 = "sha256-Oarh0a0q+PYFojsYmdX763vFRSQhtm09z4ruSxXDpSA=";
sha256 = "sha256-e8/VOn0WmrUO69x/4hKGtgKuj11U1Qv7OUhfOL/p5Ds=";
};
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];

Some files were not shown because too many files have changed in this diff Show more