Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2023-02-18 00:13:45 +00:00
committed by GitHub
167 changed files with 2467 additions and 1439 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ in pkgs.runCommand "doc-support" {}
ln -s ${epub-xsl} ./epub.xsl
ln -s ${xhtml-xsl} ./xhtml.xsl
ln -s ${../../nixos/doc/xmlformat.conf} ./xmlformat.conf
ln -s ${./xmlformat.conf} ./xmlformat.conf
ln -s ${pkgs.documentation-highlighter} ./highlightjs
echo -n "${version}" > ./version
+6 -6
View File
@@ -1417,6 +1417,12 @@
githubId = 12958979;
name = "Mika Naylor";
};
avakhrenev = {
email = "avakhrenev@gmail.com";
github = "avakhrenev";
githubId = 1060224;
name = "Alexey Vakhrenev";
};
avaq = {
email = "nixpkgs@account.avaq.it";
github = "Avaq";
@@ -3756,12 +3762,6 @@
githubId = 14034137;
name = "Mostly Void";
};
dizfer = {
email = "david@izquierdofernandez.com";
github = "DIzFer";
githubId = 8852888;
name = "David Izquierdo";
};
djacu = {
email = "daniel.n.baker@gmail.com";
github = "djacu";
-2
View File
@@ -1,2 +0,0 @@
generated
manual-combined.xml
-30
View File
@@ -1,30 +0,0 @@
.PHONY: all
all: manual-combined.xml
.PHONY: debug
debug: generated manual-combined.xml
manual-combined.xml: generated *.xml **/*.xml
rm -f ./manual-combined.xml
nix-shell --pure -Q --packages xmloscopy \
--run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml"
.PHONY: format
format:
nix-shell --pure -Q --packages xmlformat \
--run "find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
xmlformat --config-file '../xmlformat.conf' -i {}"
.PHONY: fix-misc-xml
fix-misc-xml:
find . -iname '*.xml' -type f \
-exec ../varlistentry-fixer.rb {} ';'
.PHONY: clean
clean:
rm -f manual-combined.xml generated
generated:
nix-build ../../release.nix \
--attr manualGeneratedSources.x86_64-linux \
--out-link ./generated
@@ -21,8 +21,8 @@ which is often not what you want. By contrast, in the imperative
approach, containers are configured and updated independently from the
host system.
```{=docbook}
<xi:include href="imperative-containers.section.xml" />
<xi:include href="declarative-containers.section.xml" />
<xi:include href="container-networking.section.xml" />
```{=include=} sections
imperative-containers.section.md
declarative-containers.section.md
container-networking.section.md
```
@@ -0,0 +1,14 @@
# Administration {#ch-running}
This chapter describes various aspects of managing a running NixOS system, such as how to use the {command}`systemd` service manager.
```{=include=} chapters
service-mgmt.chapter.md
rebooting.chapter.md
user-sessions.chapter.md
control-groups.chapter.md
logging.chapter.md
cleaning-store.chapter.md
containers.chapter.md
troubleshooting.chapter.md
```
@@ -1,21 +0,0 @@
<part xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="ch-running">
<title>Administration</title>
<partintro xml:id="ch-running-intro">
<para>
This chapter describes various aspects of managing a running NixOS system,
such as how to use the <command>systemd</command> service manager.
</para>
</partintro>
<xi:include href="../from_md/administration/service-mgmt.chapter.xml" />
<xi:include href="../from_md/administration/rebooting.chapter.xml" />
<xi:include href="../from_md/administration/user-sessions.chapter.xml" />
<xi:include href="../from_md/administration/control-groups.chapter.xml" />
<xi:include href="../from_md/administration/logging.chapter.xml" />
<xi:include href="../from_md/administration/cleaning-store.chapter.xml" />
<xi:include href="../from_md/administration/containers.chapter.xml" />
<xi:include href="../from_md/administration/troubleshooting.chapter.xml" />
</part>
@@ -3,10 +3,10 @@
This chapter describes solutions to common problems you might encounter
when you manage your NixOS system.
```{=docbook}
<xi:include href="boot-problems.section.xml" />
<xi:include href="maintenance-mode.section.xml" />
<xi:include href="rollback.section.xml" />
<xi:include href="store-corruption.section.xml" />
<xi:include href="network-problems.section.xml" />
```{=include=} sections
boot-problems.section.md
maintenance-mode.section.md
rollback.section.md
store-corruption.section.md
network-problems.section.md
```
@@ -11,8 +11,8 @@ manual](https://nixos.org/nix/manual/#chap-writing-nix-expressions), but
here we give a short overview of the most important constructs useful in
NixOS configuration files.
```{=docbook}
<xi:include href="config-file.section.xml" />
<xi:include href="abstractions.section.xml" />
<xi:include href="modularity.section.xml" />
```{=include=} sections
config-file.section.md
abstractions.section.md
modularity.section.md
```
@@ -0,0 +1,27 @@
# Configuration {#ch-configuration}
This chapter describes how to configure various aspects of a NixOS machine through the configuration file {file}`/etc/nixos/configuration.nix`. As described in [](#sec-changing-config), changes to this file only take effect after you run {command}`nixos-rebuild`.
```{=include=} chapters
config-syntax.chapter.md
package-mgmt.chapter.md
user-mgmt.chapter.md
file-systems.chapter.md
x-windows.chapter.md
wayland.chapter.md
gpu-accel.chapter.md
xfce.chapter.md
networking.chapter.md
linux-kernel.chapter.md
subversion.chapter.md
```
```{=include=} chapters
@MODULE_CHAPTERS@
```
```{=include=} chapters
profiles.chapter.md
kubernetes.chapter.md
```
<!-- Apache; libvirtd virtualisation -->
@@ -1,31 +0,0 @@
<part xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="ch-configuration">
<title>Configuration</title>
<partintro xml:id="ch-configuration-intro">
<para>
This chapter describes how to configure various aspects of a NixOS machine
through the configuration file
<filename>/etc/nixos/configuration.nix</filename>. As described in
<xref linkend="sec-changing-config" />, changes to this file only take
effect after you run <command>nixos-rebuild</command>.
</para>
</partintro>
<xi:include href="../from_md/configuration/config-syntax.chapter.xml" />
<xi:include href="../from_md/configuration/package-mgmt.chapter.xml" />
<xi:include href="../from_md/configuration/user-mgmt.chapter.xml" />
<xi:include href="../from_md/configuration/file-systems.chapter.xml" />
<xi:include href="../from_md/configuration/x-windows.chapter.xml" />
<xi:include href="../from_md/configuration/wayland.chapter.xml" />
<xi:include href="../from_md/configuration/gpu-accel.chapter.xml" />
<xi:include href="../from_md/configuration/xfce.chapter.xml" />
<xi:include href="../from_md/configuration/networking.chapter.xml" />
<xi:include href="../from_md/configuration/linux-kernel.chapter.xml" />
<xi:include href="../from_md/configuration/subversion.chapter.xml" />
<xi:include href="../generated/modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
<xi:include href="../from_md/configuration/profiles.chapter.xml" />
<xi:include href="../from_md/configuration/kubernetes.chapter.xml" />
<!-- Apache; libvirtd virtualisation -->
</part>
@@ -40,7 +40,7 @@ configuration use `pkgs` prefix (variable).
To "uninstall" a package, simply remove it from
[](#opt-environment.systemPackages) and run `nixos-rebuild switch`.
```{=docbook}
<xi:include href="customizing-packages.section.xml" />
<xi:include href="adding-custom-packages.section.xml" />
```{=include=} sections
customizing-packages.section.md
adding-custom-packages.section.md
```
@@ -36,7 +36,7 @@ dropping you to the emergency shell. You can make a mount asynchronous
and non-critical by adding `options = [ "nofail" ];`.
:::
```{=docbook}
<xi:include href="luks-file-systems.section.xml" />
<xi:include href="sshfs-file-systems.section.xml" />
```{=include=} sections
luks-file-systems.section.md
sshfs-file-systems.section.md
```
@@ -3,14 +3,14 @@
This section describes how to configure networking components
on your NixOS machine.
```{=docbook}
<xi:include href="network-manager.section.xml" />
<xi:include href="ssh.section.xml" />
<xi:include href="ipv4-config.section.xml" />
<xi:include href="ipv6-config.section.xml" />
<xi:include href="firewall.section.xml" />
<xi:include href="wireless.section.xml" />
<xi:include href="ad-hoc-network-config.section.xml" />
<xi:include href="renaming-interfaces.section.xml" />
```{=include=} sections
network-manager.section.md
ssh.section.md
ipv4-config.section.md
ipv6-config.section.md
firewall.section.md
wireless.section.md
ad-hoc-network-config.section.md
renaming-interfaces.section.md
```
<!-- TODO: OpenVPN, NAT -->
@@ -12,7 +12,7 @@ NixOS has two distinct styles of package management:
`nix-env` command. This style allows mixing packages from different
Nixpkgs versions. It's the only choice for non-root users.
```{=docbook}
<xi:include href="declarative-packages.section.xml" />
<xi:include href="ad-hoc-packages.section.xml" />
```{=include=} sections
declarative-packages.section.md
ad-hoc-packages.section.md
```
@@ -19,16 +19,16 @@ install media, many are actually intended to be used in real installs.
What follows is a brief explanation on the purpose and use-case for each
profile. Detailing each option configured by each one is out of scope.
```{=docbook}
<xi:include href="profiles/all-hardware.section.xml" />
<xi:include href="profiles/base.section.xml" />
<xi:include href="profiles/clone-config.section.xml" />
<xi:include href="profiles/demo.section.xml" />
<xi:include href="profiles/docker-container.section.xml" />
<xi:include href="profiles/graphical.section.xml" />
<xi:include href="profiles/hardened.section.xml" />
<xi:include href="profiles/headless.section.xml" />
<xi:include href="profiles/installation-device.section.xml" />
<xi:include href="profiles/minimal.section.xml" />
<xi:include href="profiles/qemu-guest.section.xml" />
```{=include=} sections
profiles/all-hardware.section.md
profiles/base.section.md
profiles/clone-config.section.md
profiles/demo.section.md
profiles/docker-container.section.md
profiles/graphical.section.md
profiles/hardened.section.md
profiles/headless.section.md
profiles/installation-device.section.md
profiles/minimal.section.md
profiles/qemu-guest.section.md
```
+79 -98
View File
@@ -68,56 +68,6 @@ let
optionIdPrefix = "test-opt-";
};
sources = runCommand "manual-sources" {
inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ];
nativeBuildInputs = [ pkgs.nixos-render-docs ];
} ''
mkdir $out
cd $out
cp -r --no-preserve=all $inputs/* .
declare -a convert_args
while read -r mf; do
if [[ "$mf" = *.chapter.md ]]; then
convert_args+=("--chapter")
else
convert_args+=("--section")
fi
convert_args+=("from_md/''${mf%.md}.xml" "$mf")
done < <(find . -type f -name '*.md')
nixos-render-docs manual docbook-fragment \
--manpage-urls ${manpageUrls} \
"''${convert_args[@]}"
'';
modulesDoc = runCommand "modules.xml" {
nativeBuildInputs = [ pkgs.nixos-render-docs ];
} ''
nixos-render-docs manual docbook-section \
--manpage-urls ${manpageUrls} \
"$out" \
--section \
--section-id modules \
--chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc}
'';
generatedSources = runCommand "generated-docbook" {} ''
mkdir $out
ln -s ${modulesDoc} $out/modules.xml
ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml
ln -s ${testOptionsDoc.optionsDocBook} $out/test-options-db.xml
printf "%s" "${version}" > $out/version
'';
copySources =
''
cp -prd $sources/* . # */
ln -s ${generatedSources} ./generated
chmod -R u+w .
'';
toc = builtins.toFile "toc.xml"
''
<toc role="chunk-toc">
@@ -148,70 +98,102 @@ let
"--stringparam chunk.toc ${toc}"
];
linterFunctions = ''
# outputs the context of an xmllint error output
# LEN lines around the failing line are printed
function context {
# length of context
local LEN=6
# lines to print before error line
local BEFORE=4
# xmllint output lines are:
# file.xml:1234: there was an error on line 1234
while IFS=':' read -r file line rest; do
echo
if [[ -n "$rest" ]]; then
echo "$file:$line:$rest"
local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))
# number lines & filter context
nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p"
else
if [[ -n "$line" ]]; then
echo "$file:$line"
else
echo "$file"
fi
fi
done
}
function lintrng {
xmllint --debug --noout --nonet \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
"$1" \
2>&1 | context 1>&2
# ^ redirect assumes xmllint doesnt print to stdout
}
'';
manual-combined = runCommand "nixos-manual-combined"
{ inherit sources;
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
{ inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ];
nativeBuildInputs = [ pkgs.nixos-render-docs pkgs.libxml2.bin pkgs.libxslt.bin ];
meta.description = "The NixOS manual as plain docbook XML";
}
''
${copySources}
cp -r --no-preserve=all $inputs/* .
xmllint --xinclude --output ./manual-combined.xml ./manual.xml
xmllint --xinclude --noxincludenode \
--output ./man-pages-combined.xml ./man-pages.xml
substituteInPlace ./manual.md \
--replace '@NIXOS_VERSION@' "${version}"
substituteInPlace ./configuration/configuration.md \
--replace \
'@MODULE_CHAPTERS@' \
${lib.escapeShellArg (lib.concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)}
substituteInPlace ./nixos-options.md \
--replace \
'@NIXOS_OPTIONS_JSON@' \
${optionsDoc.optionsJSON}/share/doc/nixos/options.json
substituteInPlace ./development/writing-nixos-tests.section.md \
--replace \
'@NIXOS_TEST_OPTIONS_JSON@' \
${testOptionsDoc.optionsJSON}/share/doc/nixos/options.json
# outputs the context of an xmllint error output
# LEN lines around the failing line are printed
function context {
# length of context
local LEN=6
# lines to print before error line
local BEFORE=4
nixos-render-docs manual docbook \
--manpage-urls ${manpageUrls} \
--revision ${lib.escapeShellArg revision} \
./manual.md \
./manual-combined.xml
# xmllint output lines are:
# file.xml:1234: there was an error on line 1234
while IFS=':' read -r file line rest; do
echo
if [[ -n "$rest" ]]; then
echo "$file:$line:$rest"
local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))
# number lines & filter context
nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p"
else
if [[ -n "$line" ]]; then
echo "$file:$line"
else
echo "$file"
fi
fi
done
}
function lintrng {
xmllint --debug --noout --nonet \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
"$1" \
2>&1 | context 1>&2
# ^ redirect assumes xmllint doesnt print to stdout
}
${linterFunctions}
mkdir $out
cp manual-combined.xml $out/
cp man-pages-combined.xml $out/
lintrng $out/manual-combined.xml
lintrng $out/man-pages-combined.xml
'';
manpages-combined = runCommand "nixos-manpages-combined.xml"
{ nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
meta.description = "The NixOS manpages as plain docbook XML";
}
''
mkdir generated
cp -prd ${./man-pages.xml} man-pages.xml
ln -s ${optionsDoc.optionsDocBook} generated/options-db.xml
xmllint --xinclude --noxincludenode --output $out ./man-pages.xml
${linterFunctions}
lintrng $out
'';
in rec {
inherit generatedSources;
inherit (optionsDoc) optionsJSON optionsNix optionsDocBook optionsUsedDocbook;
# Generate the NixOS manual.
manualHTML = runCommand "nixos-manual-html"
{ inherit sources;
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
{ nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
meta.description = "The NixOS manual in HTML format";
allowedReferences = ["out"];
}
@@ -248,8 +230,7 @@ in rec {
manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";
manualEpub = runCommand "nixos-manual-epub"
{ inherit sources;
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ];
{ nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ];
}
''
# Generate the epub manual.
@@ -300,7 +281,7 @@ in rec {
--param man.endnotes.are.numbered 0 \
--param man.break.after.slash 1 \
${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \
${manual-combined}/man-pages-combined.xml
${manpages-combined}
''
else ''
mkdir -p $out/share/man/man5
@@ -0,0 +1,43 @@
# Developing the NixOS Test Driver {#chap-developing-the-test-driver}
The NixOS test framework is a project of its own.
It consists of roughly the following components:
- `nixos/lib/test-driver`: The Python framework that sets up the test and runs the [`testScript`](#test-opt-testScript)
- `nixos/lib/testing`: The Nix code responsible for the wiring, written using the (NixOS) Module System.
These components are exposed publicly through:
- `nixos/lib/default.nix`: The public interface that exposes the `nixos/lib/testing` entrypoint.
- `flake.nix`: Exposes the `lib.nixos`, including the public test interface.
Beyond the test driver itself, its integration into NixOS and Nixpkgs is important.
- `pkgs/top-level/all-packages.nix`: Defines the `nixosTests` attribute, used
by the package `tests` attributes and OfBorg.
- `nixos/release.nix`: Defines the `tests` attribute built by Hydra, independently, but analogous to `nixosTests`
- `nixos/release-combined.nix`: Defines which tests are channel blockers.
Finally, we have legacy entrypoints that users should move away from, but are cared for on a best effort basis.
These include `pkgs.nixosTest`, `testing-python.nix` and `make-test-python.nix`.
## Testing changes to the test framework {#sec-test-the-test-framework}
When making significant changes to the test framework, we run the tests on Hydra, to avoid disrupting the larger NixOS project.
For this, we use the `python-test-refactoring` branch in the `NixOS/nixpkgs` repository, and its [corresponding Hydra jobset](https://hydra.nixos.org/jobset/nixos/python-test-refactoring).
This branch is used as a pointer, and not as a feature branch.
1. Rebase the PR onto a recent, good evaluation of `nixos-unstable`
2. Create a baseline evaluation by force-pushing this revision of `nixos-unstable` to `python-test-refactoring`.
3. Note the evaluation number (we'll call it `<previous>`)
4. Push the PR to `python-test-refactoring` and evaluate the PR on Hydra
5. Create a comparison URL by navigating to the latest build of the PR and adding to the URL `?compare=<previous>`. This is not necessary for the evaluation that comes right after the baseline.
Review the removed tests and newly failed tests using the constructed URL; otherwise you will accidentally compare iterations of the PR instead of changes to the PR base.
As we currently have some flaky tests, newly failing tests are expected, but should be reviewed to make sure that
- The number of failures did not increase significantly.
- All failures that do occur can reasonably be assumed to fail for a different reason than the changes.
@@ -0,0 +1,15 @@
# Development {#ch-development}
This chapter describes how you can modify and extend NixOS.
```{=include=} chapters
sources.chapter.md
writing-modules.chapter.md
building-parts.chapter.md
bootspec.chapter.md
what-happens-during-a-system-switch.chapter.md
writing-documentation.chapter.md
nixos-tests.chapter.md
developing-the-test-driver.chapter.md
testing-installer.chapter.md
```
@@ -1,20 +0,0 @@
<part xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="ch-development">
<title>Development</title>
<partintro xml:id="ch-development-intro">
<para>
This chapter describes how you can modify and extend NixOS.
</para>
</partintro>
<xi:include href="../from_md/development/sources.chapter.xml" />
<xi:include href="../from_md/development/writing-modules.chapter.xml" />
<xi:include href="../from_md/development/building-parts.chapter.xml" />
<xi:include href="../from_md/development/bootspec.chapter.xml" />
<xi:include href="../from_md/development/what-happens-during-a-system-switch.chapter.xml" />
<xi:include href="../from_md/development/writing-documentation.chapter.xml" />
<xi:include href="../from_md/development/nixos-tests.chapter.xml" />
<xi:include href="../from_md/development/testing-installer.chapter.xml" />
</part>
@@ -5,9 +5,9 @@ NixOS tests are kept in the directory `nixos/tests`, and are executed
(using Nix) by a testing framework that automatically starts one or more
virtual machines containing the NixOS system(s) required for the test.
```{=docbook}
<xi:include href="writing-nixos-tests.section.xml" />
<xi:include href="running-nixos-tests.section.xml" />
<xi:include href="running-nixos-tests-interactively.section.xml" />
<xi:include href="linking-nixos-tests-to-packages.section.xml" />
```{=include=} sections
writing-nixos-tests.section.md
running-nixos-tests.section.md
running-nixos-tests-interactively.section.md
linking-nixos-tests-to-packages.section.md
```
@@ -47,7 +47,7 @@ Most of these actions are either self-explaining but some of them have to do
with our units or the activation script. For this reason, these topics are
explained in the next sections.
```{=docbook}
<xi:include href="unit-handling.section.xml" />
<xi:include href="activation-script.section.xml" />
```{=include=} sections
unit-handling.section.md
activation-script.section.md
```
@@ -83,7 +83,7 @@ Keep the following guidelines in mind when you create and add a topic:
## Adding a Topic to the Book {#sec-writing-docs-adding-a-topic}
Open the parent XML file and add an `xi:include` element to the list of
Open the parent CommonMark file and add a line to the list of
chapters with the file name of the topic that you created. If you
created a `section`, you add the file to the `chapter` file. If you created
a `chapter`, you add the file to the `part` file.
@@ -189,14 +189,14 @@ in {
```
:::
```{=docbook}
<xi:include href="option-declarations.section.xml" />
<xi:include href="option-types.section.xml" />
<xi:include href="option-def.section.xml" />
<xi:include href="assertions.section.xml" />
<xi:include href="meta-attributes.section.xml" />
<xi:include href="importing-modules.section.xml" />
<xi:include href="replace-modules.section.xml" />
<xi:include href="freeform-modules.section.xml" />
<xi:include href="settings-options.section.xml" />
```{=include=} sections
option-declarations.section.md
option-types.section.md
option-def.section.md
assertions.section.md
meta-attributes.section.md
importing-modules.section.md
replace-modules.section.md
freeform-modules.section.md
settings-options.section.md
```
@@ -470,6 +470,8 @@ In that case, `numpy` is chosen from the generic `python3Packages`.
The following options can be used when writing tests.
```{=docbook}
<xi:include href="../../generated/test-options-db.xml" xpointer="test-options-list"/>
```{=include=} options
id-prefix: test-opt-
list-id: test-options-list
source: @NIXOS_TEST_OPTIONS_JSON@
```
@@ -0,0 +1,11 @@
# Installation {#ch-installation}
This section describes how to obtain, install, and configure NixOS for first-time use.
```{=include=} chapters
obtaining.chapter.md
installing.chapter.md
changing-config.chapter.md
upgrading.chapter.md
building-nixos.chapter.md
```
@@ -1,18 +0,0 @@
<part xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="ch-installation">
<title>Installation</title>
<partintro xml:id="ch-installation-intro">
<para>
This section describes how to obtain, install, and configure NixOS for
first-time use.
</para>
</partintro>
<xi:include href="../from_md/installation/obtaining.chapter.xml" />
<xi:include href="../from_md/installation/installing.chapter.xml" />
<xi:include href="../from_md/installation/changing-config.chapter.xml" />
<xi:include href="../from_md/installation/upgrading.chapter.xml" />
<xi:include href="../from_md/installation/building-nixos.chapter.xml" />
</part>
@@ -602,11 +602,11 @@ With a partitioned disk.
## Additional installation notes {#sec-installation-additional-notes}
```{=docbook}
<xi:include href="installing-usb.section.xml" />
<xi:include href="installing-pxe.section.xml" />
<xi:include href="installing-kexec.section.xml" />
<xi:include href="installing-virtualbox-guest.section.xml" />
<xi:include href="installing-from-other-distro.section.xml" />
<xi:include href="installing-behind-a-proxy.section.xml" />
```{=include=} sections
installing-usb.section.md
installing-pxe.section.md
installing-kexec.section.md
installing-virtualbox-guest.section.md
installing-from-other-distro.section.md
installing-behind-a-proxy.section.md
```
-31
View File
@@ -1,31 +0,0 @@
<refentry xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refmeta>
<refentrytitle><filename>configuration.nix</filename>
</refentrytitle><manvolnum>5</manvolnum>
<refmiscinfo class="source">NixOS</refmiscinfo>
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><filename>configuration.nix</filename></refname>
<refpurpose>NixOS system configuration specification</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<para>
The file <filename>/etc/nixos/configuration.nix</filename> contains the
declarative specification of your NixOS system configuration. The command
<command>nixos-rebuild</command> takes this file and realises the system
configuration specified therein.
</para>
</refsection>
<refsection>
<title>Options</title>
<para>
You can use the following options in <filename>configuration.nix</filename>.
</para>
<xi:include href="./generated/options-db.xml"
xpointer="configuration-variable-list" />
</refsection>
</refentry>
+29 -1
View File
@@ -14,5 +14,33 @@
<copyright><year>2007-2022</year><holder>Eelco Dolstra and the Nixpkgs/NixOS contributors</holder>
</copyright>
</info>
<xi:include href="man-configuration.xml" />
<refentry>
<refmeta>
<refentrytitle><filename>configuration.nix</filename>
</refentrytitle><manvolnum>5</manvolnum>
<refmiscinfo class="source">NixOS</refmiscinfo>
<!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
</refmeta>
<refnamediv>
<refname><filename>configuration.nix</filename></refname>
<refpurpose>NixOS system configuration specification</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<para>
The file <filename>/etc/nixos/configuration.nix</filename> contains the
declarative specification of your NixOS system configuration. The command
<command>nixos-rebuild</command> takes this file and realises the system
configuration specified therein.
</para>
</refsection>
<refsection>
<title>Options</title>
<para>
You can use the following options in <filename>configuration.nix</filename>.
</para>
<xi:include href="./generated/options-db.xml"
xpointer="configuration-variable-list" />
</refsection>
</refentry>
</reference>
+53
View File
@@ -0,0 +1,53 @@
# NixOS Manual {#book-nixos-manual}
## Version @NIXOS_VERSION@
<!--
this is the top-level structure file for the nixos manual.
the manual structure extends the nixpkgs commonmark further with include
blocks to allow better organization of input text. there are six types of
include blocks: preface, parts, chapters, sections, appendix, and options.
each type except `options`` corresponds to the docbook elements of (roughly)
the same name, and can itself can further include blocks to denote its
substructure.
non-`options`` include blocks are fenced code blocks that list a number of
files to include, in the form
```{=include=} <type>
<file-name-1>
<file-name-2>
<...>
```
`options` include blocks do not list file names but contain a list of key-value
pairs that describe the options to be included and how to convert them into
elements of the manual output type:
```{=include=} options
id-prefix: <options id prefix>
list-id: <variable list element id>
source: <path to options.json>
```
-->
```{=include=} preface
preface.md
```
```{=include=} parts
installation/installation.md
configuration/configuration.md
administration/running.md
development/development.md
```
```{=include=} chapters
contributing-to-this-manual.chapter.md
```
```{=include=} appendix
nixos-options.md
release-notes/release-notes.md
```
-23
View File
@@ -1,23 +0,0 @@
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="book-nixos-manual">
<info>
<title>NixOS Manual</title>
<subtitle>Version <xi:include href="./generated/version" parse="text" />
</subtitle>
</info>
<xi:include href="preface.xml" />
<xi:include href="installation/installation.xml" />
<xi:include href="configuration/configuration.xml" />
<xi:include href="administration/running.xml" />
<xi:include href="development/development.xml" />
<xi:include href="./from_md/contributing-to-this-manual.chapter.xml" />
<appendix xml:id="ch-options">
<title>Configuration Options</title>
<xi:include href="./generated/options-db.xml"
xpointer="configuration-variable-list" />
</appendix>
<xi:include href="release-notes/release-notes.xml" />
</book>
+7
View File
@@ -0,0 +1,7 @@
# Configuration Options {#ch-options}
```{=include=} options
id-prefix: opt-
list-id: configuration-variable-list
source: @NIXOS_OPTIONS_JSON@
```
+11
View File
@@ -0,0 +1,11 @@
# Preface {#preface}
This manual describes how to install, use and extend NixOS, a Linux distribution based on the purely functional package management system [Nix](https://nixos.org/nix), that is composed using modules and packages defined in the [Nixpkgs](https://nixos.org/nixpkgs) project.
Additional information regarding the Nix package manager and the Nixpkgs project can be found in respectively the [Nix manual](https://nixos.org/nix/manual) and the [Nixpkgs manual](https://nixos.org/nixpkgs/manual).
If you encounter problems, please report them on the [`Discourse`](https://discourse.nixos.org), the [Matrix room](https://matrix.to/#nix:nixos.org), or on the [`#nixos` channel on Libera.Chat](irc://irc.libera.chat/#nixos). Alternatively, consider [contributing to this manual](#chap-contributing). Bugs should be reported in [NixOS GitHub issue tracker](https://github.com/NixOS/nixpkgs/issues).
::: {.note}
Commands prefixed with `#` have to be run as root, either requiring to login as root user or temporarily switching to it using `sudo` for example.
:::
-42
View File
@@ -1,42 +0,0 @@
<preface xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="preface">
<title>Preface</title>
<para>
This manual describes how to install, use and extend NixOS, a Linux
distribution based on the purely functional package management system
<link xlink:href="https://nixos.org/nix">Nix</link>, that is composed
using modules and packages defined in the
<link xlink:href="https://nixos.org/nixpkgs">Nixpkgs</link> project.
</para>
<para>
Additional information regarding the Nix package manager and the Nixpkgs
project can be found in respectively the
<link xlink:href="https://nixos.org/nix/manual">Nix manual</link> and the
<link xlink:href="https://nixos.org/nixpkgs/manual">Nixpkgs manual</link>.
</para>
<para>
If you encounter problems, please report them on the
<literal
xlink:href="https://discourse.nixos.org">Discourse</literal>,
the <link
xlink:href="https://matrix.to/#nix:nixos.org">Matrix room</link>,
or on the <link
xlink:href="irc://irc.libera.chat/#nixos">
<literal>#nixos</literal> channel on Libera.Chat</link>.
Alternatively, consider <link
xlink:href="#chap-contributing">
contributing to this manual</link>. Bugs should be
reported in
<link
xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS
GitHub issue tracker</link>.
</para>
<note>
<para>
Commands prefixed with <literal>#</literal> have to be run as root, either
requiring to login as root user or temporarily switching to it using
<literal>sudo</literal> for example.
</para>
</note>
</preface>
@@ -0,0 +1,25 @@
# Release Notes {#ch-release-notes}
This section lists the release notes for each stable version of NixOS and current unstable revision.
```{=include=} sections
rl-2305.section.md
rl-2211.section.md
rl-2205.section.md
rl-2111.section.md
rl-2105.section.md
rl-2009.section.md
rl-2003.section.md
rl-1909.section.md
rl-1903.section.md
rl-1809.section.md
rl-1803.section.md
rl-1709.section.md
rl-1703.section.md
rl-1609.section.md
rl-1603.section.md
rl-1509.section.md
rl-1412.section.md
rl-1404.section.md
rl-1310.section.md
```
@@ -1,30 +0,0 @@
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="ch-release-notes">
<title>Release Notes</title>
<para>
This section lists the release notes for each stable version of NixOS and
current unstable revision.
</para>
<xi:include href="../from_md/release-notes/rl-2305.section.xml" />
<xi:include href="../from_md/release-notes/rl-2211.section.xml" />
<xi:include href="../from_md/release-notes/rl-2205.section.xml" />
<xi:include href="../from_md/release-notes/rl-2111.section.xml" />
<xi:include href="../from_md/release-notes/rl-2105.section.xml" />
<xi:include href="../from_md/release-notes/rl-2009.section.xml" />
<xi:include href="../from_md/release-notes/rl-2003.section.xml" />
<xi:include href="../from_md/release-notes/rl-1909.section.xml" />
<xi:include href="../from_md/release-notes/rl-1903.section.xml" />
<xi:include href="../from_md/release-notes/rl-1809.section.xml" />
<xi:include href="../from_md/release-notes/rl-1803.section.xml" />
<xi:include href="../from_md/release-notes/rl-1709.section.xml" />
<xi:include href="../from_md/release-notes/rl-1703.section.xml" />
<xi:include href="../from_md/release-notes/rl-1609.section.xml" />
<xi:include href="../from_md/release-notes/rl-1603.section.xml" />
<xi:include href="../from_md/release-notes/rl-1509.section.xml" />
<xi:include href="../from_md/release-notes/rl-1412.section.xml" />
<xi:include href="../from_md/release-notes/rl-1404.section.xml" />
<xi:include href="../from_md/release-notes/rl-1310.section.xml" />
</appendix>
-8
View File
@@ -1,8 +0,0 @@
let
pkgs = import ../../.. { };
in
pkgs.mkShell {
name = "nixos-manual";
packages = with pkgs; [ xmlformat jing xmloscopy ruby ];
}
-124
View File
@@ -1,124 +0,0 @@
#!/usr/bin/env ruby
# This script is written intended as a living, evolving tooling
# to fix oopsies within the docbook documentation.
#
# This is *not* a formatter. It, instead, handles some known cases
# where something bad happened, and fixing it manually is tedious.
#
# Read the code to see the different cases it handles.
#
# ALWAYS `make format` after fixing with this!
# ALWAYS read the changes, this tool isn't yet proven to be always right.
require "rexml/document"
include REXML
if ARGV.length < 1 then
$stderr.puts "Needs a filename."
exit 1
end
filename = ARGV.shift
doc = Document.new(File.open(filename))
$touched = false
# Fixing varnames having a sibling element without spacing.
# This is to fix an initial `xmlformat` issue where `term`
# would mangle as spaces.
#
# <varlistentry>
# <term><varname>types.separatedString</varname><replaceable>sep</replaceable> <----
# </term>
# ...
#
# Generates: types.separatedStringsep
# ^^^^
#
# <varlistentry xml:id='fun-makeWrapper'>
# <term>
# <function>makeWrapper</function><replaceable>executable</replaceable><replaceable>wrapperfile</replaceable><replaceable>args</replaceable> <----
# </term>
#
# Generates: makeWrapperexecutablewrapperfileargs
# ^^^^ ^^^^ ^^ ^^
#
# <term>
# <option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable> <-----
# </term>
#
# Generates: --optionnamevalue
# ^^ ^^
doc.elements.each("//varlistentry/term") do |term|
["varname", "function", "option", "replaceable"].each do |prev_name|
term.elements.each(prev_name) do |el|
if el.next_element and
el.next_element.name == "replaceable" and
el.next_sibling_node.class == Element
then
$touched = true
term.insert_after(el, Text.new(" "))
end
end
end
end
# <cmdsynopsis>
# <command>nixos-option</command>
# <arg>
# <option>-I</option><replaceable>path</replaceable> <------
# </arg>
#
# Generates: -Ipath
# ^^
doc.elements.each("//cmdsynopsis/arg") do |term|
["option", "replaceable"].each do |prev_name|
term.elements.each(prev_name) do |el|
if el.next_element and
el.next_element.name == "replaceable" and
el.next_sibling_node.class == Element
then
$touched = true
term.insert_after(el, Text.new(" "))
end
end
end
end
# <cmdsynopsis>
# <arg>
# <group choice='req'>
# <arg choice='plain'>
# <option>--profile-name</option>
# </arg>
#
# <arg choice='plain'>
# <option>-p</option>
# </arg>
# </group><replaceable>name</replaceable> <----
# </arg>
#
# Generates: [{--profile-name | -p }name]
# ^^^^
doc.elements.each("//cmdsynopsis/arg") do |term|
["group"].each do |prev_name|
term.elements.each(prev_name) do |el|
if el.next_element and
el.next_element.name == "replaceable" and
el.next_sibling_node.class == Element
then
$touched = true
term.insert_after(el, Text.new(" "))
end
end
end
end
if $touched then
doc.context[:attribute_quote] = :quote
doc.write(output: File.open(filename, "w"))
end
+1 -1
View File
@@ -22,7 +22,7 @@ in
};
timeout = lib.mkOption {
type = types.nullOr types.int;
default = null; # NOTE: null values are filtered out by `meta`.
default = 3600; # 1 hour
description = mdDoc ''
The [{option}`test`](#test-opt-test)'s [`meta.timeout`](https://nixos.org/manual/nixpkgs/stable/#var-meta-timeout) in seconds.
'';
+1
View File
@@ -67,6 +67,7 @@ with lib;
stoken = super.stoken.override { withGTK3 = false; };
# translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
util-linux = super.util-linux.override { translateManpages = false; };
vim-full = super.vim-full.override { guiSupport = false; };
zbar = super.zbar.override { enableVideo = false; withXorg = false; };
}));
};
+21 -65
View File
@@ -8,19 +8,9 @@ let
keyboard = {
options = {
devices = mkOption {
type = types.addCheck (types.listOf types.str)
(devices: (length devices) > 0);
type = types.listOf types.str;
example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ];
# TODO replace note with tip, which has not been implemented yet in
# nixos/lib/make-options-doc/mergeJSON.py
description = mdDoc ''
Paths to keyboard devices.
::: {.note}
To avoid unnecessary triggers of the service unit, unplug devices in
the order of the list.
:::
'';
description = mdDoc "Paths to keyboard devices.";
};
config = mkOption {
type = types.lines;
@@ -44,8 +34,10 @@ let
cap (tap-hold 100 100 caps lctl))
'';
description = mdDoc ''
Configuration other than `defcfg`. See [example config
files](https://github.com/jtroo/kanata) for more information.
Configuration other than `defcfg`.
See [example config files](https://github.com/jtroo/kanata)
for more information.
'';
};
extraDefCfg = mkOption {
@@ -53,8 +45,12 @@ let
default = "";
example = "danger-enable-cmd yes";
description = mdDoc ''
Configuration of `defcfg` other than `linux-dev`. See [example
config files](https://github.com/jtroo/kanata) for more information.
Configuration of `defcfg` other than `linux-dev` (generated
from the devices option) and
`linux-continue-if-no-devs-found` (hardcoded to be yes).
See [example config files](https://github.com/jtroo/kanata)
for more information.
'';
};
extraArgs = mkOption {
@@ -67,8 +63,7 @@ let
default = null;
example = 6666;
description = mdDoc ''
Port to run the notification server on. `null` will not run the
server.
Port to run the TCP server on. `null` will not run the server.
'';
};
};
@@ -76,28 +71,23 @@ let
mkName = name: "kanata-${name}";
mkDevices = devices: concatStringsSep ":" devices;
mkDevices = devices:
optionalString ((length devices) > 0) "linux-dev ${concatStringsSep ":" devices}";
mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" ''
(defcfg
${keyboard.extraDefCfg}
linux-dev ${mkDevices keyboard.devices})
${mkDevices keyboard.devices}
linux-continue-if-no-devs-found yes)
${keyboard.config}
'';
mkService = name: keyboard: nameValuePair (mkName name) {
description = "kanata for ${mkDevices keyboard.devices}";
# Because path units are used to activate service units, which
# will start the old stopped services during "nixos-rebuild
# switch", stopIfChanged here is a workaround to make sure new
# services are running after "nixos-rebuild switch".
stopIfChanged = false;
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''
${cfg.package}/bin/kanata \
${getExe cfg.package} \
--cfg ${mkConfig name keyboard} \
--symlink-path ''${RUNTIME_DIRECTORY}/${name} \
${optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \
@@ -146,37 +136,10 @@ let
UMask = "0077";
};
};
mkPathName = i: name: "${mkName name}-${toString i}";
mkPath = name: n: i: device:
nameValuePair (mkPathName i name) {
description =
"${toString (i+1)}/${toString n} kanata trigger for ${name}, watching ${device}";
wantedBy = optional (i == 0) "multi-user.target";
pathConfig = {
PathExists = device;
# (ab)use systemd.path to construct a trigger chain so that the
# service unit is only started when all paths exist
# however, manual of systemd.path says Unit's suffix is not ".path"
Unit =
if (i + 1) == n
then "${mkName name}.service"
else "${mkPathName (i + 1) name}.path";
};
unitConfig.StopPropagatedFrom = optional (i > 0) "${mkName name}.service";
};
mkPaths = name: keyboard:
let
n = length keyboard.devices;
in
imap0 (mkPath name n) keyboard.devices
;
in
{
options.services.kanata = {
enable = mkEnableOption (lib.mdDoc "kanata");
enable = mkEnableOption (mdDoc "kanata");
package = mkOption {
type = types.package;
default = pkgs.kanata;
@@ -201,14 +164,7 @@ in
config = mkIf cfg.enable {
hardware.uinput.enable = true;
systemd = {
paths = trivial.pipe cfg.keyboards [
(mapAttrsToList mkPaths)
concatLists
listToAttrs
];
services = mapAttrs' mkService cfg.keyboards;
};
systemd.services = mapAttrs' mkService cfg.keyboards;
};
meta.maintainers = with maintainers; [ linj ];
+44 -7
View File
@@ -223,22 +223,59 @@ in {
'';
};
ensureAccounts = mkOption {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
List of IMAP accounts which get automatically created. Note that for
a complete setup, user credentials for these accounts are required too
and can be created using the command `maddyctl creds`.
This option does not delete accounts which are not (anymore) listed.
'';
example = [
"user1@localhost"
"user2@localhost"
];
};
};
};
config = mkIf cfg.enable {
systemd = {
packages = [ pkgs.maddy ];
services.maddy = {
serviceConfig = {
User = cfg.user;
Group = cfg.group;
StateDirectory = [ "maddy" ];
services = {
maddy = {
serviceConfig = {
User = cfg.user;
Group = cfg.group;
StateDirectory = [ "maddy" ];
};
restartTriggers = [ config.environment.etc."maddy/maddy.conf".source ];
wantedBy = [ "multi-user.target" ];
};
restartTriggers = [ config.environment.etc."maddy/maddy.conf".source ];
wantedBy = [ "multi-user.target" ];
maddy-ensure-accounts = {
script = ''
${optionalString (cfg.ensureAccounts != []) ''
${concatMapStrings (account: ''
if ! ${pkgs.maddy}/bin/maddyctl imap-acct list | grep "${account}"; then
${pkgs.maddy}/bin/maddyctl imap-acct create ${account}
fi
'') cfg.ensureAccounts}
''}
'';
serviceConfig = {
Type = "oneshot";
User= "maddy";
};
after = [ "maddy.service" ];
wantedBy = [ "multi-user.target" ];
};
};
};
environment.etc."maddy/maddy.conf" = {
@@ -270,7 +270,7 @@ in
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper DocService/docservice /run/onlyoffice/config";
ExecStartPre = onlyoffice-prestart;
ExecStartPre = [ onlyoffice-prestart ];
Group = "onlyoffice";
Restart = "always";
RuntimeDirectory = "onlyoffice";
+51 -29
View File
@@ -1,7 +1,8 @@
{ config, pkgs, lib, ... }:
let
cfg = config.boot.initrd.systemd.repart;
cfg = config.systemd.repart;
initrdCfg = config.boot.initrd.systemd.repart;
writeDefinition = name: partitionConfig: pkgs.writeText
"${name}.conf"
@@ -24,45 +25,59 @@ let
'';
in
{
options.boot.initrd.systemd.repart = {
enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // {
options = {
boot.initrd.systemd.repart.enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // {
description = lib.mdDoc ''
Grow and add partitions to a partition table a boot time in the initrd.
Grow and add partitions to a partition table at boot time in the initrd.
systemd-repart only works with GPT partition tables.
To run systemd-repart after the initrd, see
`options.systemd.repart.enable`.
'';
};
partitions = lib.mkOption {
type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ]));
default = { };
example = {
"10-root" = {
Type = "root";
systemd.repart = {
enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // {
description = lib.mdDoc ''
Grow and add partitions to a partition table.
systemd-repart only works with GPT partition tables.
To run systemd-repart while in the initrd, see
`options.boot.initrd.systemd.repart.enable`.
'';
};
partitions = lib.mkOption {
type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ]));
default = { };
example = {
"10-root" = {
Type = "root";
};
"20-home" = {
Type = "home";
SizeMinBytes = "512M";
SizeMaxBytes = "2G";
};
};
"20-home" = {
Type = "home";
SizeMinBytes = "512M";
SizeMaxBytes = "2G";
};
description = lib.mdDoc ''
Specify partitions as a set of the names of the definition files as the
key and the partition configuration as its value. The partition
configuration can use all upstream options. See <link
xlink:href="https://www.freedesktop.org/software/systemd/man/repart.d.html"/>
for all available options.
'';
};
description = lib.mdDoc ''
Specify partitions as a set of the names of the definition files as the
key and the partition configuration as its value. The partition
configuration can use all upstream options. See <link
xlink:href="https://www.freedesktop.org/software/systemd/man/repart.d.html"/>
for all available options.
'';
};
};
config = lib.mkIf cfg.enable {
# Link the definitions into /etc so that they are included in the
# /nix/store of the sysroot. This also allows the user to run the
# systemd-repart binary after activation manually while automatically
# picking up the definition files.
config = lib.mkIf (cfg.enable || initrdCfg.enable) {
# Always link the definitions into /etc so that they are also included in
# the /nix/store of the sysroot during early userspace (i.e. while in the
# initrd).
environment.etc."repart.d".source = definitionsDirectory;
boot.initrd.systemd = {
boot.initrd.systemd = lib.mkIf initrdCfg.enable {
additionalUpstreamUnits = [
"systemd-repart.service"
];
@@ -73,7 +88,7 @@ in
# Override defaults in upstream unit.
services.systemd-repart = {
# Unset the coniditions as they cannot be met before activation because
# Unset the conditions as they cannot be met before activation because
# the definition files are not stored in the expected locations.
unitConfig.ConditionDirectoryNotEmpty = [
" " # required to unset the previous value.
@@ -97,5 +112,12 @@ in
after = [ "sysroot.mount" ];
};
};
systemd = lib.mkIf cfg.enable {
additionalUpstreamSystemUnits = [
"systemd-repart.service"
];
};
};
}
+1 -1
View File
@@ -163,7 +163,7 @@ in
###### implementation
config = mkIf cfg.enable (mkMerge [{
boot.kernelModules = [ "bridge" "veth" ];
boot.kernelModules = [ "bridge" "veth" "br_netfilter" "xt_nat" ];
boot.kernel.sysctl = {
"net.ipv4.conf.all.forwarding" = mkOverride 98 true;
"net.ipv4.conf.default.forwarding" = mkOverride 98 true;
@@ -9,8 +9,7 @@ let
extraPackages = cfg.extraPackages
# setuid shadow
++ [ "/run/wrappers" ]
# include pkgs.zfs by default in the wrapped podman used by the module so it is cached
++ (if (builtins.elem "zfs" config.boot.supportedFilesystems) then [ config.boot.zfs.package ] else [ pkgs.zfs ]);
++ lib.optional (builtins.elem "zfs" config.boot.supportedFilesystems) config.boot.zfs.package;
});
# Provides a fake "docker" binary mapping to podman
@@ -184,6 +183,10 @@ in
systemd.packages = [ cfg.package ];
systemd.services.podman.serviceConfig = {
ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ];
};
systemd.services.podman-prune = {
description = "Prune podman resources";
@@ -204,6 +207,10 @@ in
systemd.sockets.podman.wantedBy = [ "sockets.target" ];
systemd.sockets.podman.socketConfig.SocketGroup = "podman";
systemd.user.services.podman.serviceConfig = {
ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ];
};
systemd.user.sockets.podman.wantedBy = [ "sockets.target" ];
systemd.tmpfiles.packages = [
-1
View File
@@ -144,7 +144,6 @@ in rec {
manual = manualHTML; # TODO(@oxij): remove eventually
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages);
manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources);
options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
+1 -1
View File
@@ -9,6 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
hostname = "server";
primaryDomain = "server";
openFirewall = true;
ensureAccounts = [ "postmaster@server" ];
};
};
@@ -50,7 +51,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
server.wait_for_open_port(587)
server.succeed("maddyctl creds create --password test postmaster@server")
server.succeed("maddyctl imap-acct create postmaster@server")
client.succeed("send-testmail")
client.succeed("test-imap")
+1 -1
View File
@@ -1,6 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "pass-secret-service";
meta.maintainers = with lib; [ aidalgol ];
meta.maintainers = [ lib.maintainers.aidalgol ];
nodes.machine = { nodes, pkgs, ... }:
{
+4 -4
View File
@@ -1,4 +1,4 @@
import ./make-test-python.nix ({ pkgs, ...} :
import ./make-test-python.nix ({ pkgs, lib, ...} :
let
@@ -11,9 +11,9 @@ let
};
# Only allow the demo data to be used (only if it's unfreeRedistributable).
unfreePredicate = pkg: with pkgs.lib; let
unfreePredicate = pkg: with lib; let
allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ];
allowLicenses = [ lib.licenses.unfreeRedistributable ];
in elem pkg.pname allowPackageNames &&
elem (pkg.meta.license or null) allowLicenses;
@@ -31,7 +31,7 @@ in
rec {
name = "quake3";
meta = with pkgs.stdenv.lib.maintainers; {
meta = with lib.maintainers; {
maintainers = [ domenkozar eelco ];
};
+30 -4
View File
@@ -52,9 +52,6 @@ let
};
};
boot.initrd.systemd.enable = true;
boot.initrd.systemd.repart.enable = true;
# systemd-repart operates on disks with a partition table. The qemu module,
# however, creates separate filesystem images without a partition table, so
# we have to create a disk image manually.
@@ -88,7 +85,10 @@ in
nodes.machine = { config, pkgs, ... }: {
imports = [ common ];
boot.initrd.systemd.repart.partitions = {
boot.initrd.systemd.enable = true;
boot.initrd.systemd.repart.enable = true;
systemd.repart.partitions = {
"10-root" = {
Type = "linux-generic";
};
@@ -105,4 +105,30 @@ in
assert "Growing existing partition 1." in systemd_repart_logs
'';
};
after-initrd = makeTest {
name = "systemd-repart-after-initrd";
meta.maintainers = with maintainers; [ nikstur ];
nodes.machine = { config, pkgs, ... }: {
imports = [ common ];
systemd.repart.enable = true;
systemd.repart.partitions = {
"10-root" = {
Type = "linux-generic";
};
};
};
testScript = { nodes, ... }: ''
${useDiskImage nodes.machine}
machine.start()
machine.wait_for_unit("multi-user.target")
systemd_repart_logs = machine.succeed("journalctl --unit systemd-repart.service")
assert "Growing existing partition 1." in systemd_repart_logs
'';
};
}
+7 -6
View File
@@ -1,6 +1,6 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchFromGitLab
, meson
, ninja
, pkg-config
@@ -18,14 +18,15 @@
python3Packages.buildPythonApplication rec {
pname = "eartag";
version = "0.3.1";
version = "0.3.2";
format = "other";
src = fetchFromGitHub {
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "knuxify";
repo = pname;
rev = "refs/tags/${version}";
sha256 = "sha256-gN3V5ZHlhHp52Jg/i+hDLEDpSvP8yFngujyw5ZncQQg=";
rev = version;
sha256 = "sha256-XvbfQtE8LsztQ2VByG2jLYND3qVpH6owdAgh3b//lI4=";
};
postPatch = ''
@@ -67,7 +68,7 @@ python3Packages.buildPythonApplication rec {
'';
meta = with lib; {
homepage = "https://github.com/knuxify/eartag";
homepage = "https://gitlab.gnome.org/knuxify/eartag";
description = "Simple music tag editor";
# This seems to be using ICU license but we're flagging it to MIT license
# since ICU license is a modified version of MIT and to prevent it from
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "pianotrans";
version = "1.0";
version = "1.0.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "azuwis";
repo = pname;
rev = "v${version}";
hash = "sha256-6Otup1Yat1dBZdSoR4lDfpytUQ2RbDXC6ieo835Nw+U=";
hash = "sha256-gRbyUQmPtGvx5QKAyrmeJl0stp7hwLBWwjSbJajihdE=";
};
propagatedBuildInputs = with python3.pkgs; [
@@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
version = "2.51.0";
version = "2.53.2";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-qpgzGJsj7hrrK2i+xP0T+hcw7WMlGBILbHVJBHD5duo=";
hash = "sha256-RGeJWUMZagXM/8SHHOpTpcnsz+BShnGp2yvt31qo5lI=";
};
appimageContents = appimageTools.extractType2 {
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation rec {
pname = "cemu";
version = "2.0-22";
version = "2.0-26";
src = fetchFromGitHub {
owner = "cemu-project";
repo = "Cemu";
rev = "v${version}";
hash = "sha256-ZQfJHQnT5mV6GC3dO6QV1fGsnyZMYqXiVdBSsimL5yU=";
hash = "sha256-+y+PJE2biRvuxIwrFVMjmkZyD8/zhHVMw6vzNKlsOZE=";
};
patches = [
@@ -5,25 +5,36 @@
, pkg-config
, makeWrapper
, alsa-lib
, libX11
, curl
, egl-wayland
, libao
, libdecor
, libevdev
, udev
, libffi
, libGL
, libpulseaudio
, SDL2
, libX11
, libXext
, libxkbcommon
, libzip
, mesa
, miniupnpc
, udev
, vulkan-headers
, vulkan-loader
, wayland
, zlib
}:
stdenv.mkDerivation rec {
pname = "flycast";
version = "2.0";
version = "2.1";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "v${version}";
sha256 = "sha256-vSyLg2lAJBV7crKVbGRbi1PUuCwHF9GB/8pjMTlaigA=";
rev = "V${version}";
sha256 = "sha256-PRInOqg9OpaUVLwSj1lOxDtjpVaYehkRsp0jLrVKPyY=";
fetchSubmodules = true;
};
@@ -35,13 +46,24 @@ stdenv.mkDerivation rec {
buildInputs = [
alsa-lib
libX11
curl
egl-wayland
libao
libdecor
libevdev
udev
libffi
libGL
libpulseaudio
SDL2
libX11
libXext
libxkbcommon
libzip
mesa # for libgbm
miniupnpc
udev
vulkan-headers
wayland
zlib
];
postFixup = ''
@@ -0,0 +1,33 @@
{ appimageTools, fetchurl, lib }:
let
pname = "protonup-qt";
version = "2.7.4";
src = fetchurl {
url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage";
sha256 = "yKc+KOQfqciqULnChVLf6y9npoSYM6Fmu7mYGEKmpkA=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 rec {
inherit pname version src;
extraInstallCommands = ''
mv $out/bin/{${pname}-${version},${pname}}
mkdir -p $out/share/{applications,pixmaps}
cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop
cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=net.davidotek.pupgui2' 'Exec=${pname}' \
--replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}'
'';
meta = with lib; {
homepage = "https://davidotek.github.io/protonup-qt/";
description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface.";
license = licenses.gpl3;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
mainProgram = "protonup-qt";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michaelBelsanti ];
};
}
+3 -3
View File
@@ -10,18 +10,18 @@
buildGoModule rec {
pname = "usql";
version = "0.13.8";
version = "0.13.9";
src = fetchFromGitHub {
owner = "xo";
repo = "usql";
rev = "v${version}";
hash = "sha256-oNsA9VM6MN2czeZSTFGvmCWX0T3iVaAhQk1mVRyKgWw=";
hash = "sha256-hcAwwu1bp7QJLt+mrUZYK6YeX/uRmfRa8JnUfrTzf3k=";
};
buildInputs = [ unixODBC icu ];
vendorHash = "sha256-LG5gTHXB1ItDZFbTBHyZGHZLaSYb8wekIHkahTMXzkk=";
vendorHash = "sha256-BehI6O+WpCcgMGabTFMCpYHN3CIo3Zb5rBQuGLsWRc0=";
proxyVendor = true;
# Exclude broken impala & hive driver
@@ -2,16 +2,18 @@
buildGoModule rec {
pname = "helm-diff";
version = "3.5.0";
version = "3.6.0";
src = fetchFromGitHub {
owner = "databus23";
repo = pname;
rev = "v${version}";
sha256 = "sha256-evFdMM2AilKQPdSCUzKo6RuC4OC4zfjj+JzFvtkSrdk=";
sha256 = "sha256-JeQP2KXoLxkyRZVFcd6Rrz5xyJd+F3plzznAVP3Um8g=";
};
vendorSha256 = "sha256-9i4ryBpaK7mMbsOpIaaZWBRjewD1MtTpf4zJ0yU0KMg=";
vendorSha256 = "sha256-d5NSqCJrk9QhV5gVOKUG/uJxuvt8X8hiQd8yJEoXPL0=";
ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ];
# NOTE: Remove the install and upgrade hooks.
postPatch = ''
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "helm-secrets";
version = "3.8.3";
version = "4.2.2";
src = fetchFromGitHub {
owner = "jkroepke";
repo = pname;
rev = "v${version}";
hash = "sha256-FpF/d+e5T6nb0OENaYLY+3ATZ+qcAeih5/yKI+AtfKA=";
hash = "sha256-aqRgny1vU+dxpZpzwL4aSbYfTGrZbRffQy81mMBvnJk=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
# NOTE: helm-secrets is comprised of shell scripts.
dontBuild = true;
# NOTE: Remove the install and upgrade hooks.
# NOTE: Fix version string
postPatch = ''
sed -i '/^hooks:/,+2 d' plugin.yaml
sed -i 's/^version:.*/version: "${version}"/' plugin.yaml
'';
installPhase = ''
@@ -1,6 +1,6 @@
{ lib
, buildGoModule
, buildGo119Module
, buildGo120Module
, fetchFromGitHub
, nixosTests
}:
@@ -47,24 +47,24 @@ rec {
nomad = nomad_1_4;
nomad_1_2 = generic {
buildGoModule = buildGo119Module;
version = "1.2.15";
sha256 = "sha256-p9yRjSapQAhuHv+slUmYI25bUb1N1A7LBiJOdk1++iI=";
vendorSha256 = "sha256-6d3tE337zVAIkzQzAnV2Ya5xwwhuzmKgtPUJcJ9HRto=";
buildGoModule = buildGo120Module;
version = "1.2.16";
sha256 = "sha256-fhfUpcG91EgIzJ4mCS7geyIJyTSHS2e8t4yYiI3PqpQ=";
vendorSha256 = "sha256-kwCDsGFw+25Mimgt/cTK/Z2H7Qh5n4rjr3kIBvjcPL8=";
};
nomad_1_3 = generic {
buildGoModule = buildGo119Module;
version = "1.3.8";
sha256 = "sha256-hUmDWgGV8HAXew8SpcbhaiaF9VfBN5mk1W7t5lhnZ9I=";
vendorSha256 = "sha256-IfYobyDFriOldJnNfRK0QVKBfttoZZ1iOkt4cBQxd00=";
buildGoModule = buildGo120Module;
version = "1.3.9";
sha256 = "sha256-xfoIzLDG/OfqAPQqeLvQZ11uESWFNyOyLP6Imi+S96w=";
vendorSha256 = "sha256-kW0goicoM1lM1NEHPTfozg2EKR1daf33UxT/mVabyfY=";
};
nomad_1_4 = generic {
buildGoModule = buildGo119Module;
version = "1.4.3";
sha256 = "sha256-GQVfrn9VlzfdIj73W3hBpHcevsXZcb6Uj808HUCZUUg=";
vendorSha256 = "sha256-JQRpsQhq5r/QcgFwtnptmvnjBEhdCFrXFrTKkJioL3A=";
buildGoModule = buildGo120Module;
version = "1.4.4";
sha256 = "sha256-mAimuWolTJ3lMY/ArnLZFu+GZv9ADdGsriXsTcEgdYc=";
vendorSha256 = "sha256-QtP7pzsIBd2S79AUcbOeVG71Mb5qK706rq5DkT41VqM=";
passthru.tests.nomad = nixosTests.nomad;
};
}
@@ -110,29 +110,29 @@
"vendorHash": null
},
"aws": {
"hash": "sha256-gAIZQIljgrYNtaDrPqWnd7K0rQkKz67hQWJyVgs4ZNs=",
"hash": "sha256-WBb1cio+vxt7QM3bM1T2OEusHXpQs/bjUFxRGCFTbIE=",
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
"owner": "hashicorp",
"repo": "terraform-provider-aws",
"rev": "v4.54.0",
"rev": "v4.55.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-9YvQP1QWnT2Rb9D65j6g2edxTDaoGisVlQWFNnH4lSs="
"vendorHash": "sha256-WndEg+n0hId7R35OeHamP+OxzzRee7f+qXIhWmos8WI="
},
"azuread": {
"hash": "sha256-Byr6AJ1kP6fBxBCD8vLxQD5tz8fI3Z1fcCa0rXS9rhs=",
"hash": "sha256-StoT7ujiJhEMpQ4wMN/qzILFxJ18ZkgLkY56LwxKY+Y=",
"homepage": "https://registry.terraform.io/providers/hashicorp/azuread",
"owner": "hashicorp",
"repo": "terraform-provider-azuread",
"rev": "v2.33.0",
"rev": "v2.34.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
"azurerm": {
"hash": "sha256-b2KEq7QBpPR7100VCFIe9KGMm8Soy2wr/TAbUT0NxEQ=",
"hash": "sha256-40oarnfSdA2Sif40C1gi+SupY4bNsp78TBfgNDCFf7U=",
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
"owner": "hashicorp",
"repo": "terraform-provider-azurerm",
"rev": "v3.43.0",
"rev": "v3.44.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -1027,13 +1027,13 @@
"vendorHash": null
},
"snowflake": {
"hash": "sha256-uO3LgEQjeHS8kbolFZ3jb6FltMAiWNTVsjCSrsI776M=",
"hash": "sha256-aFRjbr0Gzu2GtxJrIEl7ahEcnOQOprJQnetaIzPePAo=",
"homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
"owner": "Snowflake-Labs",
"repo": "terraform-provider-snowflake",
"rev": "v0.56.3",
"rev": "v0.56.4",
"spdx": "MIT",
"vendorHash": "sha256-ulgTRY8qQ5oXONkwYtffRl1QMNnbvyn0zYiYqqvwrUU="
"vendorHash": "sha256-shzsn3N6pVFe6ecaoXpv6ZZ27MEUUV82gnRMHFEtYlU="
},
"sops": {
"hash": "sha256-D1Yzs8hDimMP9y8ZRbizEhic3vGtLcZjOVSuSMUAqPk=",
@@ -1,18 +1,17 @@
{ lib, stdenv, fetchFromGitHub, cppcheck, libmrss, libiconv }:
{ lib, stdenv, fetchFromGitHub, libmrss, libiconv }:
stdenv.mkDerivation {
pname = "rsstail";
version = "2.1";
src = fetchFromGitHub {
sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6";
rev = "6f2436185372b3f945a4989406c4b6a934fe8a95";
repo = "rsstail";
owner = "folkertvanheusden";
repo = "rsstail";
rev = "6f2436185372b3f945a4989406c4b6a934fe8a95";
sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6";
};
buildInputs = [ libmrss ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
nativeCheckInputs = [ cppcheck ];
postPatch = ''
substituteInPlace Makefile --replace -liconv_hook ""
@@ -21,7 +20,8 @@ stdenv.mkDerivation {
makeFlags = [ "prefix=$(out)" ];
enableParallelBuilding = true;
doCheck = true;
# just runs cppcheck linter
doCheck = false;
meta = with lib; {
description = "Monitor RSS feeds for new entries";
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
RSSTail is more or less an RSS reader: it monitors an RSS feed and if it
detects a new entry it'll emit only that new entry.
'';
homepage = "http://www.vanheusden.com/rsstail/";
homepage = "https://www.vanheusden.com/rsstail/";
license = licenses.gpl2Plus;
maintainers = [ maintainers.Necior ];
platforms = platforms.unix;
@@ -5,7 +5,7 @@
python3Packages.buildPythonApplication rec {
pname = "flexget";
version = "3.5.23";
version = "3.5.24";
format = "pyproject";
# Fetch from GitHub in order to use `requirements.in`
@@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
owner = "flexget";
repo = "flexget";
rev = "refs/tags/v${version}";
hash = "sha256-VWpcXwiQHpQ3X/rmm6fWfPfuUoUmWQMfOq5A87nED3A=";
hash = "sha256-4RQBaqC3nmyEq9Kqg0n9KIN9Gw4Z+uCl6hQeqo/NTls=";
};
postPatch = ''
@@ -56,6 +56,10 @@ stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
./tg_owt.patch
];
postPatch = lib.optionalString stdenv.isLinux ''
substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
--replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \
@@ -0,0 +1,23 @@
--- a/src/modules/include/module_common_types_public.h
+++ b/src/modules/include/module_common_types_public.h
@@ -11,6 +11,7 @@
#ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
#define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+#include <cstdint>
#include <limits>
#include "absl/types/optional.h"
diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h
index 28c95ea9..790b0b73 100644
--- a/src/common_video/h265/h265_pps_parser.h
+++ b/src/common_video/h265/h265_pps_parser.h
@@ -13,6 +13,8 @@
#include "absl/types/optional.h"
+#include <stdint.h>
+
namespace rtc {
class BitBuffer;
}
@@ -55,11 +55,11 @@
stdenv.mkDerivation rec {
pname = "webex";
version = "42.10.0.24000";
version = "42.12.0.24485";
src = fetchurl {
url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221019145240/Webex_ubuntu.7z";
sha256 = "03b77a3fcce76f04cf684bcdecb3bcce97c5a8b6cc36b40967cc14fa9a46c102";
url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221206141837/Webex_ubuntu.7z";
sha256 = "4c09c13b760abbdcc8bc1a74d137f8bc23386da4425cbefd8ea75bd0a877fdbf";
};
buildInputs = [
@@ -1,4 +1,4 @@
{ buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }:
{ pkgsBuildBuild, go, buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }:
let
common = { stname, target, postInstall ? "" }:
@@ -22,7 +22,12 @@ let
buildPhase = ''
runHook preBuild
go run build.go -no-upgrade -version v${version} build ${target}
(
export GOOS="${pkgsBuildBuild.go.GOOS}" GOARCH="${pkgsBuildBuild.go.GOARCH}" CC=$CC_FOR_BUILD
go build build.go
go generate github.com/syncthing/syncthing/lib/api/auto github.com/syncthing/syncthing/cmd/strelaypoolsrv/auto
)
./build -goos ${go.GOOS} -goarch ${go.GOARCH} -no-upgrade -version v${version} build ${target}
runHook postBuild
'';
@@ -0,0 +1,70 @@
{ lib
, stdenv
, fetchFromGitHub
, testers
, cmake
, gsl
, libtool
, mpi
, nest
, pkg-config
, python3
, readline
, autoPatchelfHook
, withPython ? false
, withMpi ? false
}:
stdenv.mkDerivation rec {
pname = "nest";
version = "3.3";
src = fetchFromGitHub {
owner = "nest";
repo = "nest-simulator";
rev = "v${version}";
sha256 = "sha256-wmn5LOOHlSuyPdV6O6v7j10dxdcvqpym6MfveZdL+dU=";
};
postPatch = ''
patchShebangs cmake/CheckFiles/check_return_val.sh
# fix PyNEST installation path
# it expects CMAKE_INSTALL_LIBDIR to be relative
substituteInPlace cmake/ProcessOptions.cmake \
--replace "\''${CMAKE_INSTALL_LIBDIR}/python" "lib/python"
'';
nativeBuildInputs = [
cmake
pkg-config
autoPatchelfHook
];
buildInputs = [
gsl
readline
libtool # libltdl
] ++ lib.optionals withPython [
python3
python3.pkgs.cython
] ++ lib.optional withMpi mpi;
cmakeFlags = [
"-Dwith-python=${if withPython then "ON" else "OFF"}"
"-Dwith-mpi=${if withMpi then "ON" else "OFF"}"
"-Dwith-openmp=${if stdenv.isDarwin then "OFF" else "ON"}"
];
passthru.tests.version = testers.testVersion {
package = nest;
command = "nest --version";
};
meta = with lib; {
description = "NEST is a command line tool for simulating neural networks";
homepage = "https://www.nest-simulator.org/";
license = licenses.gpl2;
maintainers = with maintainers; [ jiegec ];
platforms = platforms.unix;
};
}
@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "cwltool";
version = "3.1.20230209161050";
version = "3.1.20230213100550";
format = "setuptools";
src = fetchFromGitHub {
owner = "common-workflow-language";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-gc/KSJS3KcxXc3xDyJSXavaxtwhKBiihgdI7yc7d2I8=";
hash = "sha256-BtHkIVadcccnYYX8lRqiCzO+/qFeBaZfdUuu6qrjysk=";
};
postPatch = ''
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=$(out)" ];
NIX_CFLAGS_COMPILE = [
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
# Needed with GCC 12
"-Wno-error=maybe-uninitialized"
];
@@ -8,6 +8,7 @@
, wayland-scanner
, obs-studio
, libX11
, libxcb
, vulkan-headers
, vulkan-loader
, libGL
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libGL
libX11
libxcb
vulkan-headers
vulkan-loader
wayland
@@ -14,52 +14,10 @@
, go-md2man
, nixosTests
, python3
, makeWrapper
, symlinkJoin
, extraPackages ? [ ]
, runc
, crun
, conmon
, slirp4netns
, fuse-overlayfs
, util-linux
, iptables
, iproute2
, catatonit
, gvproxy
, aardvark-dns
, netavark
, testers
, podman
}:
let
# do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed
binPath = lib.makeBinPath ([
] ++ lib.optionals stdenv.isLinux [
runc
crun
conmon
slirp4netns
fuse-overlayfs
util-linux
iptables
iproute2
] ++ extraPackages);
helpersBin = symlinkJoin {
name = "podman-helper-binary-wrapper";
# this only works for some binaries, others may need to be be added to `binPath` or in the modules
paths = [
gvproxy
] ++ lib.optionals stdenv.isLinux [
aardvark-dns
catatonit # added here for the pause image and also set in `containersConf` for `init_path`
netavark
];
};
in
buildGoModule rec {
pname = "podman";
version = "4.4.1";
@@ -80,9 +38,9 @@ buildGoModule rec {
doCheck = false;
outputs = [ "out" "man" ];
outputs = [ "out" "man" ] ++ lib.optionals stdenv.isLinux [ "rootlessport" ];
nativeBuildInputs = [ pkg-config go-md2man installShellFiles makeWrapper python3 ];
nativeBuildInputs = [ pkg-config go-md2man installShellFiles python3 ];
buildInputs = lib.optionals stdenv.isLinux [
btrfs-progs
@@ -94,16 +52,13 @@ buildGoModule rec {
systemd
];
HELPER_BINARIES_DIR = "${helpersBin}/bin";
PREFIX = "${placeholder "out"}";
buildPhase = ''
runHook preBuild
patchShebangs .
${if stdenv.isDarwin then ''
make podman-remote # podman-mac-helper uses FHS paths
'' else ''
make bin/podman bin/rootlessport bin/quadlet
make bin/podman bin/rootlessport
''}
make docs
runHook postBuild
@@ -111,20 +66,26 @@ buildGoModule rec {
installPhase = ''
runHook preInstall
mkdir -p {$out/{bin,etc,lib,share},$man} # ensure paths exist for the wrapper
${if stdenv.isDarwin then ''
install bin/darwin/podman -Dt $out/bin
mv bin/{darwin/podman,podman}
'' else ''
make install.bin install.systemd
install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
for s in contrib/systemd/**/*.in; do
substituteInPlace "$s" --replace "@@PODMAN@@" "podman" # don't use unwrapped binary
done
PREFIX=$out make install.systemd
install -Dm555 bin/rootlessport -t $rootlessport/bin
''}
make install.completions install.man
wrapProgram $out/bin/podman \
--prefix PATH : ${lib.escapeShellArg binPath}
install -Dm555 bin/podman -t $out/bin
PREFIX=$out make install.completions
MANDIR=$man/share/man make install.man
runHook postInstall
'';
postFixup = lib.optionalString stdenv.isLinux ''
RPATH=$(patchelf --print-rpath $out/bin/.podman-wrapped)
patchelf --set-rpath "${lib.makeLibraryPath [ systemd ]}":$RPATH $out/bin/.podman-wrapped
RPATH=$(patchelf --print-rpath $out/bin/podman)
patchelf --set-rpath "${lib.makeLibraryPath [ systemd ]}":$RPATH $out/bin/podman
'';
passthru.tests = {
@@ -0,0 +1,78 @@
{ podman-unwrapped
, runCommand
, makeWrapper
, symlinkJoin
, lib
, stdenv
, extraPackages ? []
, runc # Default container runtime
, crun # Container runtime (default with cgroups v2 for podman/buildah)
, conmon # Container runtime monitor
, slirp4netns # User-mode networking for unprivileged namespaces
, fuse-overlayfs # CoW for images, much faster than default vfs
, util-linux # nsenter
, iptables
, iproute2
, catatonit
, gvproxy
, aardvark-dns
, netavark
}:
# do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed
let
binPath = lib.makeBinPath ([
] ++ lib.optionals stdenv.isLinux [
runc
crun
conmon
slirp4netns
fuse-overlayfs
util-linux
iptables
iproute2
] ++ extraPackages);
helpersBin = symlinkJoin {
name = "${podman-unwrapped.pname}-helper-binary-wrapper-${podman-unwrapped.version}";
# this only works for some binaries, others may need to be be added to `binPath` or in the modules
paths = [
gvproxy
] ++ lib.optionals stdenv.isLinux [
aardvark-dns
catatonit # added here for the pause image and also set in `containersConf` for `init_path`
netavark
podman-unwrapped.rootlessport
];
};
in runCommand podman-unwrapped.name {
name = "${podman-unwrapped.pname}-wrapper-${podman-unwrapped.version}";
inherit (podman-unwrapped) pname version passthru;
preferLocalBuild = true;
meta = builtins.removeAttrs podman-unwrapped.meta [ "outputsToInstall" ];
outputs = [
"out"
"man"
];
nativeBuildInputs = [
makeWrapper
];
} ''
ln -s ${podman-unwrapped.man} $man
mkdir -p $out/bin
ln -s ${podman-unwrapped}/etc $out/etc
ln -s ${podman-unwrapped}/lib $out/lib
ln -s ${podman-unwrapped}/share $out/share
makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \
--set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \
--prefix PATH : ${lib.escapeShellArg binPath}
''
+42
View File
@@ -0,0 +1,42 @@
{ lib, stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation rec {
pname = "nasin-nanpa";
version = "2.5.1";
srcs = [
(fetchurl {
name = "nasin-nanpa.otf";
url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}.otf";
hash = "sha256-++uOrqFzQ6CB/OPEmBivpjMfAtFk3PSsCNpFBjOtGEg=";
})
(fetchurl {
name = "nasin-nanpa-lasina-kin.otf";
url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}-lasina-kin.otf";
hash = "sha256-4WIX74y2O4NaKi/JQrgTbOxlKDQKJ/F9wkQuoOdWuTI=";
})
];
dontUnpack = true;
installPhase = ''
mkdir -p $out/share/fonts/opentype
for src in $srcs; do
file=$(stripHash $src)
cp $src $out/share/fonts/opentype/$file
done
'';
meta = with lib; {
homepage = "https://github.com/ETBCOR/nasin-nanpa";
description = "UCSUR OpenType monospaced font for the Toki Pona writing system, Sitelen Pona";
longDescription = ''
ni li nasin pi sitelen pona.
sitelen ale pi nasin ni li sama mute weka.
sitelen pi nasin ni li lon nasin UCSUR kin.
'';
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ somasis ];
};
}
@@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-square";
version = "23.02.05";
version = "23.02.16";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-FZt/3RugPHjanlxKjITSpaIb5RoKzI9mJvmPn7CNqS4=";
sha256 = "sha256-z9LHSfhCTeHsf4XtPJeOqOqfKHHz0B7n2hciIpCQ9H4=";
};
nativeBuildInputs = [ gtk3 ];
@@ -45,7 +45,7 @@ stdenvNoCC.mkDerivation (attrs // {
installPhase = attrs.installPhase or ''
runHook preInstall
mix deps.get ''${mixEnv:+--only $mixEnv}
mix deps.get ''${MIX_ENV:+--only $MIX_ENV}
find "$TEMPDIR/deps" -path '*/.git/*' -a ! -name HEAD -exec rm -rf {} +
cp -r --no-preserve=mode,ownership,timestamps $TEMPDIR/deps $out
runHook postInstall
+2
View File
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
cmakeFlags = [
# file RPATH_CHANGE could not write new RPATH
"-DCMAKE_SKIP_BUILD_RPATH=ON"
# ensure determinism in the compiler build
"-DZIG_TARGET_MCPU=baseline"
];
+3
View File
@@ -62,6 +62,9 @@ stdenv.mkDerivation rec {
cmakeFlags = [
# file RPATH_CHANGE could not write new RPATH
"-DCMAKE_SKIP_BUILD_RPATH=ON"
# ensure determinism in the compiler build
"-DZIG_TARGET_MCPU=baseline"
];
doCheck = true;
+2 -12
View File
@@ -1,6 +1,5 @@
{ stdenv
, lib
, fetchpatch
, fetchurl
, pkg-config
, hidapi
@@ -11,10 +10,10 @@
stdenv.mkDerivation rec {
pname = "openocd";
version = "0.11.0";
version = "0.12.0";
src = fetchurl {
url = "mirror://sourceforge/project/${pname}/${pname}/${version}/${pname}-${version}.tar.bz2";
sha256 = "0z8y7mmv0mhn2l5gs3vz6l7cnwak7agklyc7ml33f7gz99rwx8s3";
sha256 = "sha256-ryVHiL6Yhh8r2RA/5uYKd07Jaow3R0Tu+Rl/YEMHWvo=";
};
nativeBuildInputs = [ pkg-config ];
@@ -22,15 +21,6 @@ stdenv.mkDerivation rec {
buildInputs = [ hidapi libftdi1 libusb1 ]
++ lib.optional stdenv.isLinux libgpiod;
patches = [
# Patch is upstream, so can be removed when OpenOCD 0.12.0 or later is released.
(fetchpatch
{
url = "https://github.com/openocd-org/openocd/commit/cff0e417da58adef1ceef9a63a99412c2cc87ff3.patch";
sha256 = "Xxzf5miWy4S34sbQq8VQdAbY/oqGyhL/AJxiEPRuj3Q=";
})
];
configureFlags = [
"--disable-werror"
"--enable-jtag_vpi"
@@ -54,14 +54,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "flatpak";
version = "1.14.1";
version = "1.14.2";
# TODO: split out lib once we figure out what to do with triggerdir
outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
src = fetchurl {
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
sha256 = "sha256-CjyCM0MBjMWJhrbIJUVgnIzb8Pul8B2IMHvRSstd058="; # Taken from https://github.com/flatpak/flatpak/releases/
sha256 = "sha256-yAcR6s9CqZB49jlqplVV3Wv3PuxjF3a3np17cmK293Q="; # Taken from https://github.com/flatpak/flatpak/releases/
};
patches = [
@@ -1,11 +1,11 @@
diff --git a/common/flatpak-run.c b/common/flatpak-run.c
index 146c4f87..bcdad2bc 100644
index d35b4652..b4bb4a44 100644
--- a/common/flatpak-run.c
+++ b/common/flatpak-run.c
@@ -1710,6 +1710,7 @@ static const ExportData default_exports[] = {
{"GST_PTP_HELPER", NULL},
{"GST_PTP_HELPER_1_0", NULL},
{"GST_INSTALL_PLUGINS_HELPER", NULL},
@@ -1899,6 +1899,7 @@ static const ExportData default_exports[] = {
{"KRB5CCNAME", NULL},
{"XKB_CONFIG_ROOT", NULL},
{"GIO_EXTRA_MODULES", NULL},
+ {"GDK_PIXBUF_MODULE_FILE", NULL},
};
@@ -1,6 +1,6 @@
/* hunspell dictionaries */
{ lib, stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }:
{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }:
let
@@ -878,4 +878,28 @@ rec {
shortDescription = "Norwegian Nynorsk (Norway)";
license = with lib.licenses; [ gpl2Only ];
};
/* TOKI PONA */
tok = mkDict rec {
pname = "hunspell-dict-tok";
version = "20220829";
dictFileName = "tok";
readmeFile = "README.en.adoc";
src = fetchzip {
url = "https://github.com/somasis/hunspell-tok/releases/download/${version}/hunspell-tok-${version}.tar.gz";
sha256 = "sha256-RiAODKXPUeIcf8IFcU6Tacehq5S8GYuPTuxEiN2CXD0=";
};
dontBuild = true;
meta = with lib; {
description = "Hunspell dictionary for Toki Pona";
homepage = "https://github.com/somasis/hunspell-tok";
license = with lib.licenses; [ cc0 publicDomain cc-by-sa-30 cc-by-sa-40 ];
maintainers = with maintainers; [ somasis ];
platforms = platforms.all;
};
};
}
@@ -25,10 +25,8 @@ stdenv.mkDerivation rec {
buildInputs = [ hwdata ];
prePatch = ''
substituteInPlace meson.build \
--replace "find_program('tool/gen-search-table.py')" "find_program('python3')" \
--replace "gen_search_table," "gen_search_table, '$src/tool/gen-search-table.py',"
postPatch = ''
patchShebangs tool/gen-search-table.py
'';
meta = with lib; {
@@ -7,7 +7,6 @@
, rocm-cmake
, hip
, clang-tools-extra
, cppcheck
, openmp
, rocblas
, rocmlir
@@ -70,7 +69,6 @@ in stdenv.mkDerivation (finalAttrs: {
rocm-cmake
hip
clang-tools-extra
cppcheck
python3Packages.python
] ++ lib.optionals buildDocs [
latex
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, sqlite, cppcheck, gtest }:
{ lib, stdenv, fetchFromGitHub, cmake, sqlite, gtest }:
stdenv.mkDerivation rec {
pname = "sqlitecpp";
@@ -12,7 +12,6 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake ];
nativeCheckInputs = [ cppcheck ];
buildInputs = [ sqlite gtest ];
doCheck = true;
+1 -1
View File
@@ -101,6 +101,6 @@ stdenv.mkDerivation rec {
details and threading mechanisms for scalability and performance.
'';
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice dizfer ];
maintainers = with maintainers; [ thoughtpolice ];
};
}
@@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "tl-expected-unstable";
version = "2019-11-11"; # 5 commits ahead of version 1.0.0
version = "2023-02-15"; # 37 commits ahead of version 1.0.0
src = fetchFromGitHub {
owner = "TartanLlama";
repo = "expected";
rev = "1d9c5d8c0da84b8ddc54bd3d90d632eec95c1f13";
rev = "9d812f5e3b5bc68023f6e31d29489cdcaacef606";
fetchSubmodules = true;
sha256 = "0rzfn9yyg70zwpxbmv22qy0015baymi2rdd65ixmcb31fgnap68i";
hash = "sha256-ZokcGQgHH37nmTMLmxFcun4S1RjXuXb9NfWHet8Fbc4=";
};
nativeBuildInputs = [ cmake ];
@@ -69,7 +69,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "webkitgtk";
version = "2.38.4";
version = "2.38.5";
name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "5.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}";
outputs = [ "out" "dev" "devdoc" ];
@@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
hash = "sha256-T0fqKaLU1fFe7z3J4tbG8Gfo3oY6P2RFXhzPlpPMHTY=";
hash = "sha256-QMIMQwIidN9Yk/IrEFT6iUw+6gVzibsIruCMWwuwwac=";
};
patches = lib.optionals stdenv.isLinux [
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "ansible-doctor";
version = "2.0.0";
version = "2.0.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "thegeeklab";
repo = "ansible-doctor";
rev = "refs/tags/v${version}";
hash = "sha256-P2PC90coR+FpQkO+SUon72bDLTYJhZ5qbcOdCKuFFwE=";
hash = "sha256-xUg7+7oWxIVdKLOGIE1uxh7SSjkz/w0//OyMF1HhEJk=";
};
pythonRelaxDeps = true;
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "arcam-fmj";
version = "1.2.0";
version = "1.2.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "elupus";
repo = "arcam_fmj";
rev = "refs/tags/${version}";
hash = "sha256-stoxDb25K/h55rwR0faWO0AOjSJmjZNbMbOAuUE2iSM=";
hash = "sha256-nRInKju3Q4En+SiSl6DOeeTRK56TzKPweoVXsvzs45I=";
};
propagatedBuildInputs = [
@@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchPypi
, cython
, jinja2
, numpy
, pyparsing
, setuptools
, sympy
, pytest
, pytest-xdist
, python
}:
buildPythonPackage rec {
pname = "brian2";
version = "2.5.1";
src = fetchPypi {
pname = "Brian2";
inherit version;
sha256 = "sha256-x1EcS7PFCsjPYsq3Lt87SJRW4J5DE/OfdFs3NuyHiLw=";
};
propagatedBuildInputs = [
cython
jinja2
numpy
pyparsing
setuptools
sympy
];
checkInputs = [
pytest
pytest-xdist
];
checkPhase = ''
runHook preCheck
# Cython cache lies in home directory
export HOME=$(mktemp -d)
cd $HOME && ${python.interpreter} -c "import brian2;assert brian2.test()"
runHook postCheck
'';
meta = with lib; {
description = "A clock-driven simulator for spiking neural networks";
homepage = "https://briansimulator.org/";
license = licenses.cecill21;
maintainers = with maintainers; [ jiegec ];
};
}
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "canonicaljson";
version = "1.6.4";
version = "1.6.5";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-bAmyEZUR8w6xEmz82XOhCCTiDxz9JQOc3j0SGN2cjY8=";
hash = "sha256-aN/BV7AR4H2Uv3S11MzAGVhYTtlC2d/V/dcGYJ6BzUs=";
};
nativeBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Encodes objects and arrays as RFC 7159 JSON";
homepage = "https://github.com/matrix-org/python-canonicaljson";
changelog = "https://github.com/matrix-org/python-canonicaljson/blob/v${version}/CHANGES.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
@@ -3,48 +3,41 @@
, build
, buildPythonPackage
, fetchPypi
, fetchpatch
, git
, mock
, pep517
, pytestCheckHook
, toml
, tomli
, pythonOlder
}:
buildPythonPackage rec {
pname = "check-manifest";
version = "0.48";
version = "0.49";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-O1dfHa3nvrMHjvS/M6lFGYNEV8coHbxyaxXFRmtVxlc=";
hash = "sha256-ZKZARFVCzyJpGWV8e3jQLZwcpbHCXX5m4OH/MlBg9BY=";
};
patches = [
# Fix git submodule tests using file: protocol
(fetchpatch {
url = "https://github.com/mgedmin/check-manifest/pull/159.patch";
hash = "sha256-CDtuIoHgP4THLt+xF32C/OrjakwPOEVTKUh5JuQB5wM=";
})
];
propagatedBuildInputs = [
build
pep517
toml
] ++ lib.optionals (pythonOlder "3.11") [
tomli
];
nativeCheckInputs = [
breezy
git
mock
pytestCheckHook
];
checkInputs = [
breezy
];
disabledTests = [
# Test wants to setup a venv
"test_build_sdist_pep517_isolated"
@@ -57,6 +50,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Check MANIFEST.in in a Python source package for completeness";
homepage = "https://github.com/mgedmin/check-manifest";
changelog = "https://github.com/mgedmin/check-manifest/blob/${version}/CHANGES.rst";
license = licenses.mit;
maintainers = with maintainers; [ lewo ];
};
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "cwl-utils";
version = "0.22";
version = "0.23";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "common-workflow-language";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-vOIheOcDG8qdPtcN0kkBN3URodknDLTC7BzYGIiD2RA=";
hash = "sha256-tr4QQ/p0jx/e5kHx4WSYfo06/qMNFyxIGsaAA8nBBoA=";
};
propagatedBuildInputs = [
@@ -1,5 +1,4 @@
{ lib
, asynctest
, aiohttp
, blinker
, buildPythonPackage
@@ -30,7 +29,7 @@
buildPythonPackage rec {
pname = "elastic-apm";
version = "6.14.0";
version = "6.15.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -39,7 +38,7 @@ buildPythonPackage rec {
owner = "elastic";
repo = "apm-agent-python";
rev = "refs/tags/v${version}";
hash = "sha256-T1TWILlJZffTISVt8YSi8ZYSXOHieh6SV55j8W333LQ=";
hash = "sha256-Uoybe6Mx7ZLs2GaOnl278Xj6KlTEgrOuNxMRmPpSq8k=";
};
propagatedBuildInputs = [
@@ -54,22 +53,18 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
pytestCheckHook
];
checkInputs = [
asynctest
ecs-logging
httpx
jinja2
jsonschema
Logbook
mock
httpx
pytest-asyncio
pytest-bdd
pytest-mock
pytest-localserver
pytest-mock
pytest-random-order
pytestCheckHook
sanic-testing
structlog
webob
@@ -1,46 +0,0 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, lark, docopt, pyyaml, setuptools }:
let lark080 = lark.overrideAttrs (old: rec {
# gdtoolkit needs exactly this lark version
version = "0.8.0";
src = fetchFromGitHub {
owner = "lark-parser";
repo = "lark";
rev = version;
sha256 = "su7kToZ05OESwRCMPG6Z+XlFUvbEb3d8DgsTEcPJMg4=";
};
});
in
buildPythonPackage rec {
pname = "gdtoolkit";
version = "3.3.1";
propagatedBuildInputs = [
lark080
docopt
pyyaml
setuptools
];
# If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
src = fetchFromGitHub {
owner = "Scony";
repo = "godot-gdscript-toolkit";
rev = version;
sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn";
};
disabled = pythonOlder "3.7";
# Tests cannot be run because they need network to install additional dependencies using pip and tox
doCheck = false;
pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
meta = with lib; {
description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter";
homepage = "https://github.com/Scony/godot-gdscript-toolkit";
license = licenses.mit;
maintainers = with maintainers; [ shiryel ];
};
}
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "griffe";
version = "0.25.4";
version = "0.25.5";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-AZZhwHtVhdHkztzr/Hdi63VC5CjK2Vz8h8zizmSUdNY=";
hash = "sha256-0+n5v93ERcQDKNtXxSZYfCUMTRzcbtQEXl023KSxfrE=";
};
postPatch = ''

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