mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00
Merge remote-tracking branch 'origin/master' into haskell-updates
This commit is contained in:
commit
372d0a707e
396 changed files with 3361 additions and 1935 deletions
2
.github/workflows/direct-push.yml
vendored
2
.github/workflows/direct-push.yml
vendored
|
@ -22,7 +22,7 @@ jobs:
|
||||||
if: steps.ismerge.outputs.ismerge != 'true'
|
if: steps.ismerge.outputs.ismerge != 'true'
|
||||||
- name: Warn if the commit was a direct push
|
- name: Warn if the commit was a direct push
|
||||||
if: steps.ismerge.outputs.ismerge != 'true'
|
if: steps.ismerge.outputs.ismerge != 'true'
|
||||||
uses: peter-evans/commit-comment@v1
|
uses: peter-evans/commit-comment@v2
|
||||||
with:
|
with:
|
||||||
body: |
|
body: |
|
||||||
@${{ github.actor }}, you pushed a commit directly to master/release branch
|
@${{ github.actor }}, you pushed a commit directly to master/release branch
|
||||||
|
|
|
@ -540,10 +540,11 @@ If you do need to do create this sort of patch file, one way to do so is with gi
|
||||||
|
|
||||||
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
|
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
|
||||||
|
|
||||||
|
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
|
||||||
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
|
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
|
||||||
- `extraPrefix`: Prefix pathnames by this string.
|
- `extraPrefix`: Prefix pathnames by this string.
|
||||||
- `excludes`: Exclude files matching this pattern.
|
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
|
||||||
- `includes`: Include only files matching this pattern.
|
- `includes`: Include only files matching these patterns (applies after the above arguments).
|
||||||
- `revert`: Revert the patch.
|
- `revert`: Revert the patch.
|
||||||
|
|
||||||
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
|
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
|
||||||
|
|
|
@ -122,7 +122,7 @@ Reviewing process:
|
||||||
- [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
|
- [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
|
||||||
- Ensure that the module tests, if any, are succeeding.
|
- Ensure that the module tests, if any, are succeeding.
|
||||||
- Ensure that the introduced options are correct.
|
- Ensure that the introduced options are correct.
|
||||||
- Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
|
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
|
||||||
- Description, default and example should be provided.
|
- Description, default and example should be provided.
|
||||||
- Ensure that option changes are backward compatible.
|
- Ensure that option changes are backward compatible.
|
||||||
- `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible.
|
- `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible.
|
||||||
|
@ -157,7 +157,7 @@ Reviewing process:
|
||||||
|
|
||||||
- Ensure that the module tests, if any, are succeeding.
|
- Ensure that the module tests, if any, are succeeding.
|
||||||
- Ensure that the introduced options are correct.
|
- Ensure that the introduced options are correct.
|
||||||
- Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
|
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
|
||||||
- Description, default and example should be provided.
|
- Description, default and example should be provided.
|
||||||
- Ensure that module `meta` field is present
|
- Ensure that module `meta` field is present
|
||||||
- Maintainers should be declared in `meta.maintainers`.
|
- Maintainers should be declared in `meta.maintainers`.
|
||||||
|
|
|
@ -609,17 +609,9 @@ rec {
|
||||||
throw "The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
throw "The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
||||||
else
|
else
|
||||||
let
|
let
|
||||||
/* Add the modules of the current option to the list of modules
|
|
||||||
already collected. The options attribute except either a list of
|
|
||||||
submodules or a submodule. For each submodule, we add the file of the
|
|
||||||
current option declaration as the file use for the submodule. If the
|
|
||||||
submodule defines any filename, then we ignore the enclosing option file. */
|
|
||||||
options' = toList opt.options.options;
|
|
||||||
|
|
||||||
getSubModules = opt.options.type.getSubModules or null;
|
getSubModules = opt.options.type.getSubModules or null;
|
||||||
submodules =
|
submodules =
|
||||||
if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
|
if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
|
||||||
else if opt.options ? options then map (coerceOption opt._file) options' ++ res.options
|
|
||||||
else res.options;
|
else res.options;
|
||||||
in opt.options // res //
|
in opt.options // res //
|
||||||
{ declarations = res.declarations ++ [opt._file];
|
{ declarations = res.declarations ++ [opt._file];
|
||||||
|
@ -802,27 +794,13 @@ rec {
|
||||||
compare = a: b: (a.priority or 1000) < (b.priority or 1000);
|
compare = a: b: (a.priority or 1000) < (b.priority or 1000);
|
||||||
in sort compare defs';
|
in sort compare defs';
|
||||||
|
|
||||||
|
# This calls substSubModules, whose entire purpose is only to ensure that
|
||||||
|
# option declarations in submodules have accurate position information.
|
||||||
|
# TODO: Merge this into mergeOptionDecls
|
||||||
fixupOptionType = loc: opt:
|
fixupOptionType = loc: opt:
|
||||||
let
|
if opt.type.getSubModules or null == null
|
||||||
options = opt.options or
|
then opt // { type = opt.type or types.unspecified; }
|
||||||
(throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
|
else opt // { type = opt.type.substSubModules opt.options; options = []; };
|
||||||
|
|
||||||
# Hack for backward compatibility: convert options of type
|
|
||||||
# optionSet to options of type submodule. FIXME: remove
|
|
||||||
# eventually.
|
|
||||||
f = tp:
|
|
||||||
if tp.name == "option set" || tp.name == "submodule" then
|
|
||||||
throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
|
|
||||||
else if (tp.functor.wrapped.name or null) == "optionSet" then
|
|
||||||
if tp.name == "attrsOf" then types.attrsOf (types.submodule options)
|
|
||||||
else if tp.name == "listOf" then types.listOf (types.submodule options)
|
|
||||||
else if tp.name == "nullOr" then types.nullOr (types.submodule options)
|
|
||||||
else tp
|
|
||||||
else tp;
|
|
||||||
in
|
|
||||||
if opt.type.getSubModules or null == null
|
|
||||||
then opt // { type = f (opt.type or types.unspecified); }
|
|
||||||
else opt // { type = opt.type.substSubModules opt.options; options = []; };
|
|
||||||
|
|
||||||
|
|
||||||
/* Properties. */
|
/* Properties. */
|
||||||
|
|
|
@ -79,8 +79,6 @@ rec {
|
||||||
visible ? null,
|
visible ? null,
|
||||||
# Whether the option can be set only once
|
# Whether the option can be set only once
|
||||||
readOnly ? null,
|
readOnly ? null,
|
||||||
# Deprecated, used by types.optionSet.
|
|
||||||
options ? null
|
|
||||||
} @ attrs:
|
} @ attrs:
|
||||||
attrs // { _type = "option"; };
|
attrs // { _type = "option"; };
|
||||||
|
|
||||||
|
|
|
@ -749,14 +749,6 @@ rec {
|
||||||
nestedTypes.finalType = finalType;
|
nestedTypes.finalType = finalType;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Obsolete alternative to configOf. It takes its option
|
|
||||||
# declarations from the ‘options’ attribute of containing option
|
|
||||||
# declaration.
|
|
||||||
optionSet = mkOptionType {
|
|
||||||
name = "optionSet";
|
|
||||||
description = "option set";
|
|
||||||
deprecationMessage = "Use `types.submodule' instead";
|
|
||||||
};
|
|
||||||
# Augment the given type with an additional type check function.
|
# Augment the given type with an additional type check function.
|
||||||
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
|
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
|
||||||
|
|
||||||
|
|
|
@ -2824,6 +2824,12 @@
|
||||||
githubId = 49904992;
|
githubId = 49904992;
|
||||||
name = "Dawid Sowa";
|
name = "Dawid Sowa";
|
||||||
};
|
};
|
||||||
|
dbeckwith = {
|
||||||
|
email = "djbsnx@gmail.com";
|
||||||
|
github = "dbeckwith";
|
||||||
|
githubId = 1279939;
|
||||||
|
name = "Daniel Beckwith";
|
||||||
|
};
|
||||||
dbirks = {
|
dbirks = {
|
||||||
email = "david@birks.dev";
|
email = "david@birks.dev";
|
||||||
github = "dbirks";
|
github = "dbirks";
|
||||||
|
|
|
@ -57,7 +57,7 @@ def get_date_lists(
|
||||||
except ValueError:
|
except ValueError:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if my_date is None or my_date > cutoffdate:
|
if my_date is None or my_date > cutoffdate or "preserve, reason:" in line.lower():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if "=" not in line:
|
if "=" not in line:
|
||||||
|
|
|
@ -158,6 +158,12 @@ The following methods are available on machine objects:
|
||||||
e.g., `send_chars("foobar\n")` will type the string `foobar`
|
e.g., `send_chars("foobar\n")` will type the string `foobar`
|
||||||
followed by the Enter key.
|
followed by the Enter key.
|
||||||
|
|
||||||
|
`send_console`
|
||||||
|
|
||||||
|
: Send keys to the kernel console. This allows interaction with the systemd
|
||||||
|
emergency mode, for example. Takes a string that is sent, e.g.,
|
||||||
|
`send_console("\n\nsystemctl default\n")`.
|
||||||
|
|
||||||
`execute`
|
`execute`
|
||||||
|
|
||||||
: Execute a shell command, returning a list `(status, stdout)`.
|
: Execute a shell command, returning a list `(status, stdout)`.
|
||||||
|
@ -272,6 +278,13 @@ The following methods are available on machine objects:
|
||||||
Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends
|
Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends
|
||||||
the guest session.
|
the guest session.
|
||||||
|
|
||||||
|
`console_interact`
|
||||||
|
|
||||||
|
: Allows you to directly interact with QEMU's stdin. This should
|
||||||
|
only be used during test development, not in production tests.
|
||||||
|
Output from QEMU is only read line-wise. `Ctrl-c` kills QEMU and
|
||||||
|
`Ctrl-d` closes console and returns to the test runner.
|
||||||
|
|
||||||
To test user units declared by `systemd.user.services` the optional
|
To test user units declared by `systemd.user.services` the optional
|
||||||
`user` argument can be used:
|
`user` argument can be used:
|
||||||
|
|
||||||
|
|
|
@ -261,6 +261,19 @@ start_all()
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<literal>send_console</literal>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Send keys to the kernel console. This allows interaction
|
||||||
|
with the systemd emergency mode, for example. Takes a string
|
||||||
|
that is sent, e.g.,
|
||||||
|
<literal>send_console("\n\nsystemctl default\n")</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>
|
<term>
|
||||||
<literal>execute</literal>
|
<literal>execute</literal>
|
||||||
|
@ -502,6 +515,21 @@ machine.systemctl("list-jobs --no-pager", "any-user") # spaw
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<literal>console_interact</literal>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allows you to directly interact with QEMU’s stdin. This
|
||||||
|
should only be used during test development, not in
|
||||||
|
production tests. Output from QEMU is only read line-wise.
|
||||||
|
<literal>Ctrl-c</literal> kills QEMU and
|
||||||
|
<literal>Ctrl-d</literal> closes console and returns to the
|
||||||
|
test runner.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
<para>
|
<para>
|
||||||
To test user units declared by
|
To test user units declared by
|
||||||
|
|
|
@ -25,6 +25,16 @@
|
||||||
<literal>services.nginx.virtualHosts.*.enableACME</literal>).
|
<literal>services.nginx.virtualHosts.*.enableACME</literal>).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
GNOME has been upgraded to 42. Please take a look at their
|
||||||
|
<link xlink:href="https://release.gnome.org/42/">Release
|
||||||
|
Notes</link> for details. Notably, it replaces gedit with
|
||||||
|
GNOME Text Editor, GNOME Terminal with GNOME Console (formerly
|
||||||
|
King’s Cross), and GNOME Screenshot with a tool built into the
|
||||||
|
Shell.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
PHP 8.1 is now available
|
PHP 8.1 is now available
|
||||||
|
@ -678,6 +688,16 @@
|
||||||
6.x</link> and renamed to <literal>gnome-secrets</literal>.
|
6.x</link> and renamed to <literal>gnome-secrets</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>services.gnome.experimental-features.realtime-scheduling</literal>
|
||||||
|
option has been removed, as GNOME Shell now
|
||||||
|
<link xlink:href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060">uses
|
||||||
|
rtkit</link>. Use
|
||||||
|
<literal>security.rtkit.enable = true;</literal> instead. As
|
||||||
|
before, you will need to have it enabled using GSettings.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If you previously used
|
If you previously used
|
||||||
|
@ -1668,6 +1688,12 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>programs.nncp</literal> options were added for
|
||||||
|
generating host-global NNCP configuration.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -11,6 +11,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
the option to use DNS-01 validation when using `enableACME` on
|
the option to use DNS-01 validation when using `enableACME` on
|
||||||
web server virtual hosts (e.g. `services.nginx.virtualHosts.*.enableACME`).
|
web server virtual hosts (e.g. `services.nginx.virtualHosts.*.enableACME`).
|
||||||
|
|
||||||
|
- GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly King’s Cross), and GNOME Screenshot with a tool built into the Shell.
|
||||||
|
|
||||||
- PHP 8.1 is now available
|
- PHP 8.1 is now available
|
||||||
|
|
||||||
- Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
|
- Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
|
||||||
|
@ -277,6 +279,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
- The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
|
- The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
|
||||||
|
|
||||||
|
- `services.gnome.experimental-features.realtime-scheduling` option has been removed, as GNOME Shell now [uses rtkit](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060). Use `security.rtkit.enable = true;` instead. As before, you will need to have it enabled using GSettings.
|
||||||
|
|
||||||
- If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
|
- If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
|
||||||
|
|
||||||
- Ntopng (`services.ntopng`) is updated to 5.2.1 and uses a separate Redis instance if `system.stateVersion` is at least `22.05`. Existing setups shouldn't be affected.
|
- Ntopng (`services.ntopng`) is updated to 5.2.1 and uses a separate Redis instance if `system.stateVersion` is at least `22.05`. Existing setups shouldn't be affected.
|
||||||
|
@ -589,4 +593,6 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
- Testing has been enabled for `aarch64-linux` in addition to `x86_64-linux`.
|
- Testing has been enabled for `aarch64-linux` in addition to `x86_64-linux`.
|
||||||
- The `spark3` package is now usable on `aarch64-darwin` as a result of [#158613](https://github.com/NixOS/nixpkgs/pull/158613) and [#158992](https://github.com/NixOS/nixpkgs/pull/158992).
|
- The `spark3` package is now usable on `aarch64-darwin` as a result of [#158613](https://github.com/NixOS/nixpkgs/pull/158613) and [#158992](https://github.com/NixOS/nixpkgs/pull/158992).
|
||||||
|
|
||||||
|
- The `programs.nncp` options were added for generating host-global NNCP configuration.
|
||||||
|
|
||||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||||
|
|
|
@ -23,8 +23,9 @@ in rec {
|
||||||
inherit (unit) text;
|
inherit (unit) text;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
name=${shellEscape name}
|
||||||
echo -n "$text" > $out/${shellEscape name}
|
mkdir -p "$out/$(dirname "$name")"
|
||||||
|
echo -n "$text" > "$out/$name"
|
||||||
''
|
''
|
||||||
else
|
else
|
||||||
pkgs.runCommand "unit-${mkPathSafeName name}-disabled"
|
pkgs.runCommand "unit-${mkPathSafeName name}-disabled"
|
||||||
|
@ -32,8 +33,9 @@ in rec {
|
||||||
allowSubstitutes = false;
|
allowSubstitutes = false;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p $out
|
name=${shellEscape name}
|
||||||
ln -s /dev/null $out/${shellEscape name}
|
mkdir -p "$out/$(dirname "$name")"
|
||||||
|
ln -s /dev/null "$out/$name"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
boolValues = [true false "yes" "no"];
|
boolValues = [true false "yes" "no"];
|
||||||
|
|
|
@ -198,7 +198,7 @@ class StartCommand:
|
||||||
) -> subprocess.Popen:
|
) -> subprocess.Popen:
|
||||||
return subprocess.Popen(
|
return subprocess.Popen(
|
||||||
self.cmd(monitor_socket_path, shell_socket_path),
|
self.cmd(monitor_socket_path, shell_socket_path),
|
||||||
stdin=subprocess.DEVNULL,
|
stdin=subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.STDOUT,
|
stderr=subprocess.STDOUT,
|
||||||
shell=True,
|
shell=True,
|
||||||
|
@ -558,6 +558,28 @@ class Machine:
|
||||||
pass_fds=[self.shell.fileno()],
|
pass_fds=[self.shell.fileno()],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def console_interact(self) -> None:
|
||||||
|
"""Allows you to interact with QEMU's stdin
|
||||||
|
|
||||||
|
The shell can be exited with Ctrl+D. Note that Ctrl+C is not allowed to be used.
|
||||||
|
QEMU's stdout is read line-wise.
|
||||||
|
|
||||||
|
Should only be used during test development, not in the production test."""
|
||||||
|
self.log("Terminal is ready (there is no prompt):")
|
||||||
|
|
||||||
|
assert self.process
|
||||||
|
assert self.process.stdin
|
||||||
|
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
char = sys.stdin.buffer.read(1)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
break
|
||||||
|
if char == b"": # ctrl+d
|
||||||
|
self.log("Closing connection to the console")
|
||||||
|
break
|
||||||
|
self.send_console(char.decode())
|
||||||
|
|
||||||
def succeed(self, *commands: str, timeout: Optional[int] = None) -> str:
|
def succeed(self, *commands: str, timeout: Optional[int] = None) -> str:
|
||||||
"""Execute each command and check that it succeeds."""
|
"""Execute each command and check that it succeeds."""
|
||||||
output = ""
|
output = ""
|
||||||
|
@ -834,6 +856,12 @@ class Machine:
|
||||||
self.send_monitor_command("sendkey {}".format(key))
|
self.send_monitor_command("sendkey {}".format(key))
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
|
|
||||||
|
def send_console(self, chars: str) -> None:
|
||||||
|
assert self.process
|
||||||
|
assert self.process.stdin
|
||||||
|
self.process.stdin.write(chars.encode())
|
||||||
|
self.process.stdin.flush()
|
||||||
|
|
||||||
def start(self) -> None:
|
def start(self) -> None:
|
||||||
if self.booted:
|
if self.booted:
|
||||||
return
|
return
|
||||||
|
|
|
@ -91,29 +91,9 @@ let
|
||||||
SERIAL 0 115200
|
SERIAL 0 115200
|
||||||
TIMEOUT ${builtins.toString syslinuxTimeout}
|
TIMEOUT ${builtins.toString syslinuxTimeout}
|
||||||
UI vesamenu.c32
|
UI vesamenu.c32
|
||||||
MENU TITLE NixOS
|
|
||||||
MENU BACKGROUND /isolinux/background.png
|
MENU BACKGROUND /isolinux/background.png
|
||||||
MENU RESOLUTION 800 600
|
|
||||||
MENU CLEAR
|
|
||||||
MENU ROWS 6
|
|
||||||
MENU CMDLINEROW -4
|
|
||||||
MENU TIMEOUTROW -3
|
|
||||||
MENU TABMSGROW -2
|
|
||||||
MENU HELPMSGROW -1
|
|
||||||
MENU HELPMSGENDROW -1
|
|
||||||
MENU MARGIN 0
|
|
||||||
|
|
||||||
# FG:AARRGGBB BG:AARRGGBB shadow
|
${config.isoImage.syslinuxTheme}
|
||||||
MENU COLOR BORDER 30;44 #00000000 #00000000 none
|
|
||||||
MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none
|
|
||||||
MENU COLOR TABMSG 31;40 #80000000 #00000000 none
|
|
||||||
MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none
|
|
||||||
MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none
|
|
||||||
MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none
|
|
||||||
MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none
|
|
||||||
MENU COLOR TITLE 1;36;44 #00000000 #00000000 none
|
|
||||||
MENU COLOR UNSEL 37;44 #FF000000 #00000000 none
|
|
||||||
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
|
|
||||||
|
|
||||||
DEFAULT boot
|
DEFAULT boot
|
||||||
|
|
||||||
|
@ -601,6 +581,37 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
isoImage.syslinuxTheme = mkOption {
|
||||||
|
default = ''
|
||||||
|
MENU TITLE NixOS
|
||||||
|
MENU RESOLUTION 800 600
|
||||||
|
MENU CLEAR
|
||||||
|
MENU ROWS 6
|
||||||
|
MENU CMDLINEROW -4
|
||||||
|
MENU TIMEOUTROW -3
|
||||||
|
MENU TABMSGROW -2
|
||||||
|
MENU HELPMSGROW -1
|
||||||
|
MENU HELPMSGENDROW -1
|
||||||
|
MENU MARGIN 0
|
||||||
|
|
||||||
|
# FG:AARRGGBB BG:AARRGGBB shadow
|
||||||
|
MENU COLOR BORDER 30;44 #00000000 #00000000 none
|
||||||
|
MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none
|
||||||
|
MENU COLOR TABMSG 31;40 #80000000 #00000000 none
|
||||||
|
MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none
|
||||||
|
MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none
|
||||||
|
MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none
|
||||||
|
MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none
|
||||||
|
MENU COLOR TITLE 1;36;44 #00000000 #00000000 none
|
||||||
|
MENU COLOR UNSEL 37;44 #FF000000 #00000000 none
|
||||||
|
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
|
||||||
|
'';
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
The syslinux theme used for BIOS boot.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
isoImage.appendToMenuLabel = mkOption {
|
isoImage.appendToMenuLabel = mkOption {
|
||||||
default = " Installer";
|
default = " Installer";
|
||||||
example = " Live System";
|
example = " Live System";
|
||||||
|
|
|
@ -118,6 +118,7 @@
|
||||||
./misc/version.nix
|
./misc/version.nix
|
||||||
./misc/wordlist.nix
|
./misc/wordlist.nix
|
||||||
./misc/nixops-autoluks.nix
|
./misc/nixops-autoluks.nix
|
||||||
|
./programs/_1password-gui.nix
|
||||||
./programs/adb.nix
|
./programs/adb.nix
|
||||||
./programs/appgate-sdp.nix
|
./programs/appgate-sdp.nix
|
||||||
./programs/atop.nix
|
./programs/atop.nix
|
||||||
|
@ -184,6 +185,7 @@
|
||||||
./programs/nix-ld.nix
|
./programs/nix-ld.nix
|
||||||
./programs/neovim.nix
|
./programs/neovim.nix
|
||||||
./programs/nm-applet.nix
|
./programs/nm-applet.nix
|
||||||
|
./programs/nncp.nix
|
||||||
./programs/npm.nix
|
./programs/npm.nix
|
||||||
./programs/noisetorch.nix
|
./programs/noisetorch.nix
|
||||||
./programs/oblogout.nix
|
./programs/oblogout.nix
|
||||||
|
|
69
nixos/modules/programs/_1password-gui.nix
Normal file
69
nixos/modules/programs/_1password-gui.nix
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.programs._1password-gui;
|
||||||
|
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
programs._1password-gui = {
|
||||||
|
enable = mkEnableOption "The 1Password Desktop application with browser integration";
|
||||||
|
|
||||||
|
groupId = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
example = literalExpression "5000";
|
||||||
|
description = ''
|
||||||
|
The GroupID to assign to the onepassword group, which is needed for browser integration. The group ID must be 1000 or greater.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
polkitPolicyOwners = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = literalExpression "[\"user1\" \"user2\" \"user3\"]";
|
||||||
|
description = ''
|
||||||
|
A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. By default, no users will have such access.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs._1password-gui;
|
||||||
|
defaultText = literalExpression "pkgs._1password-gui";
|
||||||
|
example = literalExpression "pkgs._1password-gui";
|
||||||
|
description = ''
|
||||||
|
The 1Password derivation to use. This can be used to upgrade from the stable release that we keep in nixpkgs to the betas.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = let
|
||||||
|
package = cfg.package.override {
|
||||||
|
polkitPolicyOwners = cfg.polkitPolicyOwners;
|
||||||
|
};
|
||||||
|
in mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ package ];
|
||||||
|
users.groups.onepassword.gid = cfg.groupId;
|
||||||
|
|
||||||
|
security.wrappers = {
|
||||||
|
"1Password-BrowserSupport" =
|
||||||
|
{ source = "${cfg.package}/share/1password/1Password-BrowserSupport";
|
||||||
|
owner = "root";
|
||||||
|
group = "onepassword";
|
||||||
|
setuid = false;
|
||||||
|
setgid = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"1Password-KeyringHelper" =
|
||||||
|
{ source = "${cfg.package}/share/1password/1Password-KeyringHelper";
|
||||||
|
owner = "root";
|
||||||
|
group = "onepassword";
|
||||||
|
setuid = true;
|
||||||
|
setgid = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
101
nixos/modules/programs/nncp.nix
Normal file
101
nixos/modules/programs/nncp.nix
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
nncpCfgFile = "/run/nncp.hjson";
|
||||||
|
programCfg = config.programs.nncp;
|
||||||
|
settingsFormat = pkgs.formats.json { };
|
||||||
|
jsonCfgFile = settingsFormat.generate "nncp.json" programCfg.settings;
|
||||||
|
pkg = programCfg.package;
|
||||||
|
in {
|
||||||
|
options.programs.nncp = {
|
||||||
|
|
||||||
|
enable =
|
||||||
|
mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "uucp";
|
||||||
|
description = ''
|
||||||
|
The group under which NNCP files shall be owned.
|
||||||
|
Any member of this group may access the secret keys
|
||||||
|
of this NNCP node.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.nncp;
|
||||||
|
defaultText = literalExpression "pkgs.nncp";
|
||||||
|
description = "The NNCP package to use system-wide.";
|
||||||
|
};
|
||||||
|
|
||||||
|
secrets = mkOption {
|
||||||
|
type = with types; listOf str;
|
||||||
|
example = [ "/run/keys/nncp.hjson" ];
|
||||||
|
description = ''
|
||||||
|
A list of paths to NNCP configuration files that should not be
|
||||||
|
in the Nix store. These files are layered on top of the values at
|
||||||
|
<xref linkend="opt-programs.nncp.settings"/>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = settingsFormat.type;
|
||||||
|
description = ''
|
||||||
|
NNCP configuration, see
|
||||||
|
<link xlink:href="http://www.nncpgo.org/Configuration.html"/>.
|
||||||
|
At runtime these settings will be overlayed by the contents of
|
||||||
|
<xref linkend="opt-programs.nncp.secrets"/> into the file
|
||||||
|
<literal>${nncpCfgFile}</literal>. Node keypairs go in
|
||||||
|
<literal>secrets</literal>, do not specify them in
|
||||||
|
<literal>settings</literal> as they will be leaked into
|
||||||
|
<literal>/nix/store</literal>!
|
||||||
|
'';
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf programCfg.enable {
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = [ pkg ];
|
||||||
|
etc."nncp.hjson".source = nncpCfgFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.nncp.settings = {
|
||||||
|
spool = mkDefault "/var/spool/nncp";
|
||||||
|
log = mkDefault "/var/spool/nncp/log";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${programCfg.settings.spool} 0770 root ${programCfg.group}"
|
||||||
|
"f ${programCfg.settings.log} 0770 root ${programCfg.group}"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.nncp-config = {
|
||||||
|
path = [ pkg ];
|
||||||
|
description = "Generate NNCP configuration";
|
||||||
|
wantedBy = [ "basic.target" ];
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
script = ''
|
||||||
|
umask u=rw
|
||||||
|
nncpCfgDir=$(mktemp --directory nncp.XXX)
|
||||||
|
for f in ${jsonCfgFile} ${toString config.programs.nncp.secrets}; do
|
||||||
|
tmpdir=$(mktemp --directory nncp.XXX)
|
||||||
|
nncp-cfgdir -cfg $f -dump $tmpdir
|
||||||
|
find $tmpdir -size 1c -delete
|
||||||
|
cp -a $tmpdir/* $nncpCfgDir/
|
||||||
|
rm -rf $tmpdir
|
||||||
|
done
|
||||||
|
nncp-cfgdir -load $nncpCfgDir > ${nncpCfgFile}
|
||||||
|
rm -rf $nncpCfgDir
|
||||||
|
chgrp ${programCfg.group} ${nncpCfgFile}
|
||||||
|
chmod g+r ${nncpCfgFile}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ ehmry ];
|
||||||
|
}
|
|
@ -111,6 +111,13 @@ in
|
||||||
description = "Whether to run squid web proxy.";
|
description = "Whether to run squid web proxy.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
default = pkgs.squid;
|
||||||
|
defaultText = literalExpression "pkgs.squid";
|
||||||
|
type = types.package;
|
||||||
|
description = "Squid package to use.";
|
||||||
|
};
|
||||||
|
|
||||||
proxyAddress = mkOption {
|
proxyAddress = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -157,17 +164,21 @@ in
|
||||||
users.groups.squid = {};
|
users.groups.squid = {};
|
||||||
|
|
||||||
systemd.services.squid = {
|
systemd.services.squid = {
|
||||||
description = "Squid caching web proxy";
|
description = "Squid caching proxy";
|
||||||
|
documentation = [ "man:squid(8)" ];
|
||||||
after = [ "network.target" "nss-lookup.target" ];
|
after = [ "network.target" "nss-lookup.target" ];
|
||||||
wantedBy = [ "multi-user.target"];
|
wantedBy = [ "multi-user.target"];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
mkdir -p "/var/log/squid"
|
mkdir -p "/var/log/squid"
|
||||||
chown squid:squid "/var/log/squid"
|
chown squid:squid "/var/log/squid"
|
||||||
|
${cfg.package}/bin/squid --foreground -z -f ${squidConfig}
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type="forking";
|
|
||||||
PIDFile="/run/squid.pid";
|
PIDFile="/run/squid.pid";
|
||||||
ExecStart = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}";
|
ExecStart = "${cfg.package}/bin/squid --foreground -YCs -f ${squidConfig}";
|
||||||
|
ExecReload="kill -HUP $MAINPID";
|
||||||
|
KillMode="mixed";
|
||||||
|
NotifyAccess="all";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -129,6 +129,14 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
plugins = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.path;
|
||||||
|
default = [];
|
||||||
|
description = ''
|
||||||
|
Keycloak plugin jar, ear files or derivations with them
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
database = {
|
database = {
|
||||||
type = mkOption {
|
type = mkOption {
|
||||||
type = enum [ "mysql" "postgresql" ];
|
type = enum [ "mysql" "postgresql" ];
|
||||||
|
@ -787,6 +795,14 @@ in
|
||||||
|
|
||||||
umask u=rwx,g=,o=
|
umask u=rwx,g=,o=
|
||||||
|
|
||||||
|
install_plugin() {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
find "$1" -type f \( -iname \*.ear -o -iname \*.jar \) -exec install -m 0500 -o keycloak -g keycloak "{}" "/run/keycloak/deployments/" \;
|
||||||
|
else
|
||||||
|
install -m 0500 -o keycloak -g keycloak "$1" "/run/keycloak/deployments/"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
|
install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
|
||||||
install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
|
install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
|
||||||
|
|
||||||
|
@ -794,7 +810,9 @@ in
|
||||||
|
|
||||||
export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
|
export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
|
||||||
add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
|
add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
|
||||||
'' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
|
''
|
||||||
|
+ lib.optionalString (cfg.plugins != []) (lib.concatStringsSep "\n" (map (pl: "install_plugin ${lib.escapeShellArg pl}") cfg.plugins)) + "\n"
|
||||||
|
+ optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
|
||||||
pushd /run/keycloak/ssl/
|
pushd /run/keycloak/ssl/
|
||||||
cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
|
cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
|
||||||
"$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \
|
"$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \
|
||||||
|
|
|
@ -132,6 +132,10 @@ in
|
||||||
[ "environment" "gnome3" "excludePackages" ]
|
[ "environment" "gnome3" "excludePackages" ]
|
||||||
[ "environment" "gnome" "excludePackages" ]
|
[ "environment" "gnome" "excludePackages" ]
|
||||||
)
|
)
|
||||||
|
(mkRemovedOptionModule
|
||||||
|
[ "services" "gnome" "experimental-features" "realtime-scheduling" ]
|
||||||
|
"Set `security.rtkit.enable = true;` to make realtime scheduling possible. (Still needs to be enabled using GSettings.)"
|
||||||
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
@ -142,38 +146,6 @@ in
|
||||||
core-utilities.enable = mkEnableOption "GNOME core utilities";
|
core-utilities.enable = mkEnableOption "GNOME core utilities";
|
||||||
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
|
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
|
||||||
games.enable = mkEnableOption "GNOME games";
|
games.enable = mkEnableOption "GNOME games";
|
||||||
|
|
||||||
experimental-features = {
|
|
||||||
realtime-scheduling = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Makes mutter (which propagates to gnome-shell) request a low priority real-time
|
|
||||||
scheduling which is only available on the wayland session.
|
|
||||||
To enable this experimental feature it requires a restart of the compositor.
|
|
||||||
Note that enabling this option only enables the <emphasis>capability</emphasis>
|
|
||||||
for realtime-scheduling to be used. It doesn't automatically set the gsetting
|
|
||||||
so that mutter actually uses realtime-scheduling. This would require adding <literal>
|
|
||||||
rt-scheduler</literal> to <literal>/org/gnome/mutter/experimental-features</literal>
|
|
||||||
with dconf-editor. You cannot use extraGSettingsOverrides because that will only
|
|
||||||
change the default value of the setting.
|
|
||||||
|
|
||||||
Please be aware of these known issues with the feature in nixos:
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/90201">NixOS/nixpkgs#90201</link>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/86730">NixOS/nixpkgs#86730</link>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.desktopManager.gnome = {
|
services.xserver.desktopManager.gnome = {
|
||||||
|
@ -480,29 +452,6 @@ in
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
# Enable soft realtime scheduling, only supported on wayland
|
|
||||||
(mkIf serviceCfg.experimental-features.realtime-scheduling {
|
|
||||||
security.wrappers.".gnome-shell-wrapped" = {
|
|
||||||
source = "${pkgs.gnome.gnome-shell}/bin/.gnome-shell-wrapped";
|
|
||||||
owner = "root";
|
|
||||||
group = "root";
|
|
||||||
capabilities = "cap_sys_nice=ep";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.gnome-shell-wayland = let
|
|
||||||
gnomeShellRT = with pkgs.gnome; pkgs.runCommand "gnome-shell-rt" {} ''
|
|
||||||
mkdir -p $out/bin/
|
|
||||||
cp ${gnome-shell}/bin/gnome-shell $out/bin
|
|
||||||
sed -i "s@${gnome-shell}/bin/@${config.security.wrapperDir}/@" $out/bin/gnome-shell
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
# Note we need to clear ExecStart before overriding it
|
|
||||||
serviceConfig.ExecStart = ["" "${gnomeShellRT}/bin/gnome-shell"];
|
|
||||||
# Do not use the default environment, it provides a broken PATH
|
|
||||||
environment = mkForce {};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
||||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
|
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
|
||||||
(mkIf serviceCfg.core-utilities.enable {
|
(mkIf serviceCfg.core-utilities.enable {
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
|
@ -513,18 +462,18 @@ in
|
||||||
cheese
|
cheese
|
||||||
eog
|
eog
|
||||||
epiphany
|
epiphany
|
||||||
gedit
|
pkgs.gnome-text-editor
|
||||||
gnome-calculator
|
gnome-calculator
|
||||||
gnome-calendar
|
gnome-calendar
|
||||||
gnome-characters
|
gnome-characters
|
||||||
gnome-clocks
|
gnome-clocks
|
||||||
|
pkgs.gnome-console
|
||||||
gnome-contacts
|
gnome-contacts
|
||||||
gnome-font-viewer
|
gnome-font-viewer
|
||||||
gnome-logs
|
gnome-logs
|
||||||
gnome-maps
|
gnome-maps
|
||||||
gnome-music
|
gnome-music
|
||||||
pkgs.gnome-photos
|
pkgs.gnome-photos
|
||||||
gnome-screenshot
|
|
||||||
gnome-system-monitor
|
gnome-system-monitor
|
||||||
gnome-weather
|
gnome-weather
|
||||||
nautilus
|
nautilus
|
||||||
|
@ -547,7 +496,6 @@ in
|
||||||
programs.file-roller.enable = notExcluded pkgs.gnome.file-roller;
|
programs.file-roller.enable = notExcluded pkgs.gnome.file-roller;
|
||||||
programs.geary.enable = notExcluded pkgs.gnome.geary;
|
programs.geary.enable = notExcluded pkgs.gnome.geary;
|
||||||
programs.gnome-disks.enable = notExcluded pkgs.gnome.gnome-disk-utility;
|
programs.gnome-disks.enable = notExcluded pkgs.gnome.gnome-disk-utility;
|
||||||
programs.gnome-terminal.enable = notExcluded pkgs.gnome.gnome-terminal;
|
|
||||||
programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
|
programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
|
||||||
services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;
|
services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;
|
||||||
|
|
||||||
|
|
|
@ -220,9 +220,7 @@ in
|
||||||
] config.environment.pantheon.excludePackages);
|
] config.environment.pantheon.excludePackages);
|
||||||
|
|
||||||
programs.evince.enable = mkDefault true;
|
programs.evince.enable = mkDefault true;
|
||||||
programs.evince.package = pkgs.pantheon.evince;
|
|
||||||
programs.file-roller.enable = mkDefault true;
|
programs.file-roller.enable = mkDefault true;
|
||||||
programs.file-roller.package = pkgs.pantheon.file-roller;
|
|
||||||
|
|
||||||
# Settings from elementary-default-settings
|
# Settings from elementary-default-settings
|
||||||
environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
|
environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
|
||||||
|
@ -304,7 +302,6 @@ in
|
||||||
environment.systemPackages = with pkgs.pantheon; [
|
environment.systemPackages = with pkgs.pantheon; [
|
||||||
contractor
|
contractor
|
||||||
file-roller-contract
|
file-roller-contract
|
||||||
gnome-bluetooth-contract
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
|
|
|
@ -141,7 +141,7 @@ in
|
||||||
GDM_X_SERVER_EXTRA_ARGS = toString
|
GDM_X_SERVER_EXTRA_ARGS = toString
|
||||||
(filter (arg: arg != "-terminate") cfg.xserverArgs);
|
(filter (arg: arg != "-terminate") cfg.xserverArgs);
|
||||||
# GDM is needed for gnome-login.session
|
# GDM is needed for gnome-login.session
|
||||||
XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share";
|
XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share:${pkgs.gnome.gnome-control-center}/share";
|
||||||
} // optionalAttrs (xSessionWrapper != null) {
|
} // optionalAttrs (xSessionWrapper != null) {
|
||||||
# Make GDM use this wrapper before running the session, which runs the
|
# Make GDM use this wrapper before running the session, which runs the
|
||||||
# configured setupCommands. This relies on a patched GDM which supports
|
# configured setupCommands. This relies on a patched GDM which supports
|
||||||
|
|
|
@ -56,8 +56,6 @@ in
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
path = with pkgs; [ getent iptables iproute kmod nftables util-linux which ];
|
|
||||||
|
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
|
ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
|
||||||
};
|
};
|
||||||
|
@ -68,6 +66,10 @@ in
|
||||||
ExecStopPost = "${pkgs.waydroid}/bin/waydroid session stop";
|
ExecStopPost = "${pkgs.waydroid}/bin/waydroid session stop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/misc 0755 root root -" # for dnsmasq.leases
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -519,7 +519,7 @@ in
|
||||||
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
||||||
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
|
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
|
||||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||||
systemd-unit-path = handleTest ./systemd-unit-path.nix {};
|
systemd-misc = handleTest ./systemd-misc.nix {};
|
||||||
taskserver = handleTest ./taskserver.nix {};
|
taskserver = handleTest ./taskserver.nix {};
|
||||||
teeworlds = handleTest ./teeworlds.nix {};
|
teeworlds = handleTest ./teeworlds.nix {};
|
||||||
telegraf = handleTest ./telegraf.nix {};
|
telegraf = handleTest ./telegraf.nix {};
|
||||||
|
|
|
@ -3,4 +3,10 @@
|
||||||
makeInstalledTest {
|
makeInstalledTest {
|
||||||
tested = pkgs.gjs;
|
tested = pkgs.gjs;
|
||||||
withX11 = true;
|
withX11 = true;
|
||||||
|
|
||||||
|
testConfig = {
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.gjs
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,7 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
keycloak = { ... }: {
|
keycloak = { config, ... }: {
|
||||||
|
|
||||||
security.pki.certificateFiles = [
|
security.pki.certificateFiles = [
|
||||||
certs.ca.cert
|
certs.ca.cert
|
||||||
];
|
];
|
||||||
|
@ -36,6 +35,10 @@ let
|
||||||
username = "bogus";
|
username = "bogus";
|
||||||
passwordFile = pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH";
|
passwordFile = pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH";
|
||||||
};
|
};
|
||||||
|
plugins = with config.services.keycloak.package.plugins; [
|
||||||
|
keycloak-discord
|
||||||
|
keycloak-metrics-spi
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@ -102,8 +105,21 @@ let
|
||||||
### Realm Setup ###
|
### Realm Setup ###
|
||||||
|
|
||||||
# Get an admin interface access token
|
# Get an admin interface access token
|
||||||
|
keycloak.succeed("""
|
||||||
|
curl -sSf -d 'client_id=admin-cli' \
|
||||||
|
-d 'username=admin' \
|
||||||
|
-d 'password=${initialAdminPassword}' \
|
||||||
|
-d 'grant_type=password' \
|
||||||
|
'${frontendUrl}/realms/master/protocol/openid-connect/token' \
|
||||||
|
| jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
|
||||||
|
""")
|
||||||
|
|
||||||
|
# Register the metrics SPI
|
||||||
keycloak.succeed(
|
keycloak.succeed(
|
||||||
"curl -sSf -d 'client_id=admin-cli' -d 'username=admin' -d 'password=${initialAdminPassword}' -d 'grant_type=password' '${frontendUrl}/realms/master/protocol/openid-connect/token' | jq -r '\"Authorization: bearer \" + .access_token' >admin_auth_header"
|
"${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt",
|
||||||
|
"KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password '${initialAdminPassword}'",
|
||||||
|
"KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'",
|
||||||
|
"curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Publish the realm, including a test OIDC client and user
|
# Publish the realm, including a test OIDC client and user
|
||||||
|
|
|
@ -29,10 +29,23 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "systemd-unit-path";
|
name = "systemd-misc";
|
||||||
|
|
||||||
machine = { pkgs, lib, ... }: {
|
machine = { pkgs, lib, ... }: {
|
||||||
boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
|
boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
|
||||||
|
|
||||||
|
users.users.limited = {
|
||||||
|
isNormalUser = true;
|
||||||
|
uid = 1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.units."user-1000.slice.d/limits.conf" = {
|
||||||
|
text = ''
|
||||||
|
[Slice]
|
||||||
|
TasksAccounting=yes
|
||||||
|
TasksMax=100
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
|
@ -43,5 +56,7 @@ in
|
||||||
)
|
)
|
||||||
machine.succeed("systemctl start example.service")
|
machine.succeed("systemctl start example.service")
|
||||||
machine.succeed("systemctl status example.service | grep 'Active: active'")
|
machine.succeed("systemctl status example.service | grep 'Active: active'")
|
||||||
|
|
||||||
|
machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
|
@ -5,6 +5,7 @@
|
||||||
, ninja
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, gnome
|
, gnome
|
||||||
|
, gnome-desktop
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, wayland
|
, wayland
|
||||||
|
@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk3
|
gtk3
|
||||||
gnome.gnome-desktop
|
gnome-desktop
|
||||||
wayland
|
wayland
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
libxml2
|
libxml2
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "1.3.3";
|
version = "1.3.3";
|
||||||
|
|
||||||
airwave-src = fetchFromGitHub {
|
airwave-src = fetchFromGitHub {
|
||||||
|
@ -38,7 +37,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
multiStdenv.mkDerivation {
|
multiStdenv.mkDerivation {
|
||||||
name = "airwave-${version}";
|
pname = "airwave";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
src = airwave-src;
|
src = airwave-src;
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
|
{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = packageName + "-" + version ;
|
pname = "aj-snapshot" ;
|
||||||
packageName = "aj-snapshot" ;
|
|
||||||
version = "0.9.9";
|
version = "0.9.9";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
|
url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
|
||||||
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
|
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ams";
|
pname = "ams";
|
||||||
version = "unstable-2019-04-27";
|
version = "unstable-2019-04-27";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
pulseaudio }:
|
pulseaudio }:
|
||||||
|
|
||||||
bitwig-studio1.overrideAttrs (oldAttrs: rec {
|
bitwig-studio1.overrideAttrs (oldAttrs: rec {
|
||||||
name = "bitwig-studio-${version}";
|
pname = "bitwig-studio";
|
||||||
version = "2.5";
|
version = "2.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cardinal-${version}";
|
pname = "cardinal";
|
||||||
version = "22.02";
|
version = "22.02";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cmt";
|
pname = "cmt";
|
||||||
version = "1.17";
|
version = "1.17";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.ladspa.org/download/${name}_${version}.tgz";
|
url = "http://www.ladspa.org/download/cmt_${version}.tgz";
|
||||||
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
|
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -112,6 +112,5 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||||
maintainers = [ maintainers.abbradar ];
|
maintainers = [ maintainers.abbradar ];
|
||||||
repositories.git = "https://github.com/Alexey-Yakovenko/deadbeef";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.95.0";
|
version = "0.95.0";
|
||||||
name = "jamin-${version}";
|
pname = "jamin";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/jamin/jamin-${version}.tar.gz";
|
url = "mirror://sourceforge/jamin/jamin-${version}.tar.gz";
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, stdenv, fetchurl, alsa-lib, libX11, libXi, libXtst, xorgproto }:
|
{ lib, stdenv, fetchFromGitHub, alsa-lib, libX11, libXi, libXtst, xorgproto }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "mid2key-r1";
|
pname = "mid2key";
|
||||||
|
version = "1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://mid2key.googlecode.com/files/${name}.tar.gz";
|
owner = "dnschneid";
|
||||||
|
repo = "mid2key";
|
||||||
|
rev = "v${version}";
|
||||||
sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
|
sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
{ stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }:
|
{ stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit type;
|
pname = "${lib.toLower type}-edit";
|
||||||
baseName = "${type}-Edit";
|
inherit version;
|
||||||
name = "${lib.toLower baseName}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
inherit url;
|
inherit url;
|
||||||
|
@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp ${baseName} $out/bin
|
cp ${pname} $out/bin
|
||||||
'';
|
'';
|
||||||
preFixup = let
|
preFixup = let
|
||||||
# we prepare our library path in the let clause to avoid it become part of the input of mkDerivation
|
# we prepare our library path in the let clause to avoid it become part of the input of mkDerivation
|
||||||
|
@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${libPath}" \
|
--set-rpath "${libPath}" \
|
||||||
$out/bin/${baseName}
|
$out/bin/${pname}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.darwin;
|
platforms = platforms.darwin;
|
||||||
maintainers = [];
|
maintainers = [];
|
||||||
repositories.git = "https://github.com/musescore/MuseScore";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,5 @@ mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ vandenoever turion doronbehar ];
|
maintainers = with maintainers; [ vandenoever turion doronbehar ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
repositories.git = "https://github.com/musescore/MuseScore";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qmidiarp";
|
pname = "qmidiarp";
|
||||||
version = "0.6.5";
|
version = "0.6.5";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.code.sf.net/p/qmidiarp/code";
|
url = "https://git.code.sf.net/p/qmidiarp/code";
|
||||||
sha256 = "1g2143gzfbihqr2zi3k2v1yn1x3mwfbb2khmcd4m4cq3hcwhhlx9";
|
sha256 = "1g2143gzfbihqr2zi3k2v1yn1x3mwfbb2khmcd4m4cq3hcwhhlx9";
|
||||||
rev = "qmidiarp-0.6.5";
|
rev = "qmidiarp-${version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -58,6 +58,5 @@ mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.bjornfor ];
|
maintainers = [ maintainers.bjornfor ];
|
||||||
repositories.svn = "https://svn.code.sf.net/p/qmmp-dev/code";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, lv2, pkg-config, libGLU, libGL, cairo, pango, libjack2 }:
|
{ lib, stdenv, fetchFromGitHub, lv2, pkg-config, libGLU, libGL, cairo, pango, libjack2 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "sisco.lv2-${version}";
|
|
||||||
version = "0.7.0";
|
version = "0.7.0";
|
||||||
|
|
||||||
robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
|
robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
|
||||||
|
@ -22,7 +21,8 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit name;
|
pname = "sisco.lv2";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
srcs = [ src robtkSrc ];
|
srcs = [ src robtkSrc ];
|
||||||
sourceRoot = src.name;
|
sourceRoot = src.name;
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "snd";
|
pname = "snd";
|
||||||
version = "22.1";
|
version = "22.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||||
sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
|
sha256 = "sha256-MZ8Vm/d+0r7YsXdySKcH5rqXBh4iFLyUe44LBOD58E0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -45,7 +45,7 @@ let runtimeDeps = []
|
||||||
|
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "soundkonverter";
|
pname = "soundkonverter";
|
||||||
version = "3.0.1";
|
version = "3.0.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dfaust";
|
owner = "dfaust";
|
||||||
|
|
33
pkgs/applications/audio/synaesthesia/default.nix
Normal file
33
pkgs/applications/audio/synaesthesia/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchzip
|
||||||
|
, SDL
|
||||||
|
, pkg-config
|
||||||
|
, libSM
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "synaesthesia";
|
||||||
|
version = "2.4";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://logarithmic.net/pfh-files/synaesthesia/synaesthesia-${version}.tar.gz";
|
||||||
|
sha256 = "0nzsdxbah0shm2vlziaaw3ilzlizd3d35rridkpg40nfxmq84qnx";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
SDL
|
||||||
|
libSM
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://logarithmic.net/pfh/synaesthesia";
|
||||||
|
description = "Program for representing sounds visually";
|
||||||
|
license = lib.licenses.gpl2Only;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
maintainers = [ lib.maintainers.infinisil ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
|
pname = "bitcoin" + optionalString (!withGui) "d" + "-unlimited";
|
||||||
version = "1.9.2.0";
|
version = "1.9.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
pname = "dogecoin" + optionalString (!withGui) "d";
|
||||||
version = "1.14.5";
|
version = "1.14.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -11,8 +11,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
pname = "litecoin" + optionalString (!withGui) "d";
|
||||||
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
|
||||||
version = "0.18.1";
|
version = "0.18.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "namecoin" + optionalString (!withGui) "d";
|
||||||
version = "nc22.0";
|
version = "nc22.0";
|
||||||
name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "namecoin";
|
owner = "namecoin";
|
||||||
|
|
|
@ -38,13 +38,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cudatext";
|
pname = "cudatext";
|
||||||
version = "1.158.2";
|
version = "1.159.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexey-T";
|
owner = "Alexey-T";
|
||||||
repo = "CudaText";
|
repo = "CudaText";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-YrRG+LaG39q/6Ry3cXo9XUwtvokkBl96XuQfE22QxZI=";
|
sha256 = "sha256-DRVJLzAdhw+ke+B2KFlkgLXgU4+Mq3LQ0PRYg52Aq/o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
},
|
},
|
||||||
"ATSynEdit": {
|
"ATSynEdit": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2022.03.17",
|
"rev": "2022.03.23",
|
||||||
"sha256": "sha256-aJZGHodydkqfe2BJLKWUzIX6vbdiGKs4z5ZqtteM6NU="
|
"sha256": "sha256-D/pQ4TSWUaL97Nau3bGi7rc8MxnvuoDcD7HDNEDwmsk="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Cmp": {
|
"ATSynEdit_Cmp": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
@ -26,13 +26,13 @@
|
||||||
},
|
},
|
||||||
"EControl": {
|
"EControl": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2022.03.17",
|
"rev": "2022.03.23",
|
||||||
"sha256": "sha256-sWRKRhUYf07TIrVWRqtpsYPZu0dPm0EhSIqoDLmkG0Y="
|
"sha256": "sha256-QXq75VoAnYqAhe3Fvsz1szZyBz4dHEpYJZqTSCR80v8="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Ex": {
|
"ATSynEdit_Ex": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2022.03.17",
|
"rev": "2022.03.23",
|
||||||
"sha256": "sha256-FndLHJuCOyFr0IGUL4zFRjkEvTyNF3tHUO/Wx5IaV2Y="
|
"sha256": "sha256-m1rkWvRC1i1nLPIhiG6g8LGU96vTuGGqLFrSzw9A9x0="
|
||||||
},
|
},
|
||||||
"Python-for-Lazarus": {
|
"Python-for-Lazarus": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
, json-glib
|
, json-glib
|
||||||
, jsonrpc-glib
|
, jsonrpc-glib
|
||||||
, libdazzle
|
, libdazzle
|
||||||
|
, libhandy
|
||||||
, libpeas
|
, libpeas
|
||||||
, libportal-gtk3
|
, libportal-gtk3
|
||||||
, libxml2
|
, libxml2
|
||||||
|
@ -40,21 +41,20 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-builder";
|
pname = "gnome-builder";
|
||||||
version = "41.3";
|
version = "42.0";
|
||||||
|
|
||||||
outputs = [ "out" "devdoc" ];
|
outputs = [ "out" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
|
sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fix build with latest libportal
|
# Fix appstream validation
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
|
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
|
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch";
|
||||||
sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
|
sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -87,6 +87,7 @@ stdenv.mkDerivation rec {
|
||||||
json-glib
|
json-glib
|
||||||
jsonrpc-glib
|
jsonrpc-glib
|
||||||
libdazzle
|
libdazzle
|
||||||
|
libhandy
|
||||||
libxml2
|
libxml2
|
||||||
ostree
|
ostree
|
||||||
pcre
|
pcre
|
||||||
|
@ -103,10 +104,6 @@ stdenv.mkDerivation rec {
|
||||||
xvfb-run
|
xvfb-run
|
||||||
];
|
];
|
||||||
|
|
||||||
prePatch = ''
|
|
||||||
patchShebangs build-aux/meson/post_install.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Ddocs=true"
|
"-Ddocs=true"
|
||||||
|
|
||||||
|
@ -122,6 +119,10 @@ stdenv.mkDerivation rec {
|
||||||
# understand why. Somebody should look into fixing this.
|
# understand why. Somebody should look into fixing this.
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs build-aux/meson/post_install.py
|
||||||
|
'';
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
export NO_AT_BRIDGE=1
|
export NO_AT_BRIDGE=1
|
||||||
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
|
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{ meta
|
{ meta
|
||||||
, name
|
, pname
|
||||||
, product
|
, product
|
||||||
, productShort ? product
|
, productShort ? product
|
||||||
, src
|
, src
|
||||||
|
@ -17,7 +17,7 @@ let
|
||||||
loname = lib.toLower productShort;
|
loname = lib.toLower productShort;
|
||||||
in
|
in
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
inherit meta src version;
|
inherit pname meta src version;
|
||||||
desktopName = product;
|
desktopName = product;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
@ -32,6 +32,5 @@ in
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
nativeBuildInputs = [ undmg ];
|
nativeBuildInputs = [ undmg ];
|
||||||
pname = lib.concatStringsSep "-" (lib.init (lib.splitString "-" name));
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,9 +24,9 @@ let
|
||||||
|
|
||||||
# Sorted alphabetically
|
# Sorted alphabetically
|
||||||
|
|
||||||
buildClion = { name, version, src, license, description, wmClass, ... }:
|
buildClion = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "CLion";
|
product = "CLion";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/clion/";
|
homepage = "https://www.jetbrains.com/clion/";
|
||||||
|
@ -62,9 +62,9 @@ let
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
buildDataGrip = { name, version, src, license, description, wmClass, ... }:
|
buildDataGrip = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "DataGrip";
|
product = "DataGrip";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/datagrip/";
|
homepage = "https://www.jetbrains.com/datagrip/";
|
||||||
|
@ -78,9 +78,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildGoland = { name, version, src, license, description, wmClass, ... }:
|
buildGoland = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "Goland";
|
product = "Goland";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/go/";
|
homepage = "https://www.jetbrains.com/go/";
|
||||||
|
@ -106,9 +106,9 @@ let
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
buildIdea = { name, version, src, license, description, wmClass, product, ... }:
|
buildIdea = { pname, version, src, license, description, wmClass, product, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk product;
|
inherit pname version src wmClass jdk product;
|
||||||
productShort = "IDEA";
|
productShort = "IDEA";
|
||||||
extraLdPath = [ zlib ];
|
extraLdPath = [ zlib ];
|
||||||
extraWrapperArgs = [
|
extraWrapperArgs = [
|
||||||
|
@ -129,9 +129,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildMps = { name, version, src, license, description, wmClass, product, ... }:
|
buildMps = { pname, version, src, license, description, wmClass, product, ... }:
|
||||||
(mkJetBrainsProduct rec {
|
(mkJetBrainsProduct rec {
|
||||||
inherit name version src wmClass jdk product;
|
inherit pname version src wmClass jdk product;
|
||||||
productShort = "MPS";
|
productShort = "MPS";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/mps/";
|
homepage = "https://www.jetbrains.com/mps/";
|
||||||
|
@ -146,9 +146,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildPhpStorm = { name, version, src, license, description, wmClass, ... }:
|
buildPhpStorm = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "PhpStorm";
|
product = "PhpStorm";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/phpstorm/";
|
homepage = "https://www.jetbrains.com/phpstorm/";
|
||||||
|
@ -162,9 +162,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildPycharm = { name, version, src, license, description, wmClass, product, ... }:
|
buildPycharm = { pname, version, src, license, description, wmClass, product, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk product;
|
inherit pname version src wmClass jdk product;
|
||||||
productShort = "PyCharm";
|
productShort = "PyCharm";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/pycharm/";
|
homepage = "https://www.jetbrains.com/pycharm/";
|
||||||
|
@ -186,9 +186,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildRider = { name, version, src, license, description, wmClass, ... }:
|
buildRider = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "Rider";
|
product = "Rider";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/rider/";
|
homepage = "https://www.jetbrains.com/rider/";
|
||||||
|
@ -211,9 +211,9 @@ let
|
||||||
'');
|
'');
|
||||||
});
|
});
|
||||||
|
|
||||||
buildRubyMine = { name, version, src, license, description, wmClass, ... }:
|
buildRubyMine = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "RubyMine";
|
product = "RubyMine";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/ruby/";
|
homepage = "https://www.jetbrains.com/ruby/";
|
||||||
|
@ -223,9 +223,9 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildWebStorm = { name, version, src, license, description, wmClass, ... }:
|
buildWebStorm = { pname, version, src, license, description, wmClass, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit name version src wmClass jdk;
|
inherit pname version src wmClass jdk;
|
||||||
product = "WebStorm";
|
product = "WebStorm";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/webstorm/";
|
homepage = "https://www.jetbrains.com/webstorm/";
|
||||||
|
@ -251,7 +251,7 @@ in
|
||||||
# Sorted alphabetically
|
# Sorted alphabetically
|
||||||
|
|
||||||
clion = buildClion rec {
|
clion = buildClion rec {
|
||||||
name = "clion-${version}";
|
pname = "clion";
|
||||||
version = products.clion.version;
|
version = products.clion.version;
|
||||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -264,7 +264,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
datagrip = buildDataGrip rec {
|
datagrip = buildDataGrip rec {
|
||||||
name = "datagrip-${version}";
|
pname = "datagrip";
|
||||||
version = products.datagrip.version;
|
version = products.datagrip.version;
|
||||||
description = "Your Swiss Army Knife for Databases and SQL";
|
description = "Your Swiss Army Knife for Databases and SQL";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -277,7 +277,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
goland = buildGoland rec {
|
goland = buildGoland rec {
|
||||||
name = "goland-${version}";
|
pname = "goland";
|
||||||
version = products.goland.version;
|
version = products.goland.version;
|
||||||
description = "Up and Coming Go IDE";
|
description = "Up and Coming Go IDE";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -290,7 +290,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
pname = "idea-community";
|
||||||
product = "IntelliJ IDEA CE";
|
product = "IntelliJ IDEA CE";
|
||||||
version = products.idea-community.version;
|
version = products.idea-community.version;
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
|
@ -304,7 +304,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
pname = "idea-ultimate";
|
||||||
product = "IntelliJ IDEA";
|
product = "IntelliJ IDEA";
|
||||||
version = products.idea-ultimate.version;
|
version = products.idea-ultimate.version;
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
|
@ -318,7 +318,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
mps = buildMps rec {
|
mps = buildMps rec {
|
||||||
name = "mps-${version}";
|
pname = "mps";
|
||||||
product = "MPS ${products.mps.version-major-minor}";
|
product = "MPS ${products.mps.version-major-minor}";
|
||||||
version = products.mps.version;
|
version = products.mps.version;
|
||||||
description = "Create your own domain-specific language";
|
description = "Create your own domain-specific language";
|
||||||
|
@ -332,7 +332,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
phpstorm = buildPhpStorm rec {
|
phpstorm = buildPhpStorm rec {
|
||||||
name = "phpstorm-${version}";
|
pname = "phpstorm";
|
||||||
version = products.phpstorm.version;
|
version = products.phpstorm.version;
|
||||||
description = "Professional IDE for Web and PHP developers";
|
description = "Professional IDE for Web and PHP developers";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -345,7 +345,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
pname = "pycharm-community";
|
||||||
product = "PyCharm CE";
|
product = "PyCharm CE";
|
||||||
version = products.pycharm-community.version;
|
version = products.pycharm-community.version;
|
||||||
description = "PyCharm Community Edition";
|
description = "PyCharm Community Edition";
|
||||||
|
@ -359,7 +359,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
pname = "pycharm-professional";
|
||||||
product = "PyCharm";
|
product = "PyCharm";
|
||||||
version = products.pycharm-professional.version;
|
version = products.pycharm-professional.version;
|
||||||
description = "PyCharm Professional Edition";
|
description = "PyCharm Professional Edition";
|
||||||
|
@ -373,7 +373,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
rider = buildRider rec {
|
rider = buildRider rec {
|
||||||
name = "rider-${version}";
|
pname = "rider";
|
||||||
version = products.rider.version;
|
version = products.rider.version;
|
||||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -386,7 +386,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
ruby-mine = buildRubyMine rec {
|
ruby-mine = buildRubyMine rec {
|
||||||
name = "ruby-mine-${version}";
|
pname = "ruby-mine";
|
||||||
version = products.ruby-mine.version;
|
version = products.ruby-mine.version;
|
||||||
description = "The Most Intelligent Ruby and Rails IDE";
|
description = "The Most Intelligent Ruby and Rails IDE";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
@ -399,7 +399,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
webstorm = buildWebStorm rec {
|
webstorm = buildWebStorm rec {
|
||||||
name = "webstorm-${version}";
|
pname = "webstorm";
|
||||||
version = products.webstorm.version;
|
version = products.webstorm.version;
|
||||||
description = "Professional IDE for Web and JavaScript development";
|
description = "Professional IDE for Web and JavaScript development";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
|
|
@ -3,30 +3,29 @@
|
||||||
, vmopts ? null
|
, vmopts ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{ name, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
|
{ pname, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let loName = toLower productShort;
|
let loName = toLower productShort;
|
||||||
hiName = toUpper productShort;
|
hiName = toUpper productShort;
|
||||||
mainProgram = concatStringsSep "-" (init (splitString "-" name));
|
|
||||||
vmoptsName = loName
|
vmoptsName = loName
|
||||||
+ lib.optionalString stdenv.hostPlatform.is64bit "64"
|
+ lib.optionalString stdenv.hostPlatform.is64bit "64"
|
||||||
+ ".vmoptions";
|
+ ".vmoptions";
|
||||||
in
|
in
|
||||||
|
|
||||||
with stdenv; lib.makeOverridable mkDerivation (rec {
|
with stdenv; lib.makeOverridable mkDerivation (rec {
|
||||||
inherit name src;
|
inherit pname version src;
|
||||||
meta = args.meta // { inherit mainProgram; };
|
meta = args.meta // { mainProgram = pname; };
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = mainProgram;
|
name = pname;
|
||||||
exec = mainProgram;
|
exec = pname;
|
||||||
comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
|
comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
|
||||||
desktopName = product;
|
desktopName = product;
|
||||||
genericName = meta.description;
|
genericName = meta.description;
|
||||||
categories = [ "Development" ];
|
categories = [ "Development" ];
|
||||||
icon = mainProgram;
|
icon = pname;
|
||||||
startupWMClass = wmClass;
|
startupWMClass = wmClass;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -62,16 +61,16 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
|
mkdir -p $out/{bin,$pname,share/pixmaps,libexec/${pname}}
|
||||||
cp -a . $out/$name
|
cp -a . $out/$pname
|
||||||
ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
|
ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png
|
||||||
mv bin/fsnotifier* $out/libexec/${name}/.
|
mv bin/fsnotifier* $out/libexec/${pname}/.
|
||||||
|
|
||||||
jdk=${jdk.home}
|
jdk=${jdk.home}
|
||||||
item=${desktopItem}
|
item=${desktopItem}
|
||||||
|
|
||||||
makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
|
makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}" \
|
||||||
--prefix PATH : "$out/libexec/${name}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
|
--prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
|
||||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
|
||||||
# Some internals want libstdc++.so.6
|
# Some internals want libstdc++.so.6
|
||||||
stdenv.cc.cc.lib libsecret e2fsprogs
|
stdenv.cc.cc.lib libsecret e2fsprogs
|
||||||
|
|
|
@ -32,7 +32,8 @@ rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sizedLogo = size: stdenv.mkDerivation {
|
sizedLogo = size: stdenv.mkDerivation {
|
||||||
name = ''octave-logo-${octave.version}-${size}x${size}.png'';
|
pname = "octave-logo-${size}x${size}.png";
|
||||||
|
inherit (octave) version;
|
||||||
|
|
||||||
src = octave.src;
|
src = octave.src;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "micro";
|
pname = "micro";
|
||||||
|
@ -24,6 +24,8 @@ buildGoModule rec {
|
||||||
install -Dt $out/share/applications assets/packaging/micro.desktop
|
install -Dt $out/share/applications assets/packaging/micro.desktop
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests.expect = callPackage ./test-with-expect.nix {};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://micro-editor.github.io";
|
homepage = "https://micro-editor.github.io";
|
||||||
description = "Modern and intuitive terminal-based text editor";
|
description = "Modern and intuitive terminal-based text editor";
|
||||||
|
|
30
pkgs/applications/editors/micro/test-with-expect.nix
Normal file
30
pkgs/applications/editors/micro/test-with-expect.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ micro, expect, runCommand, writeScript, runtimeShell }:
|
||||||
|
|
||||||
|
let expect-script = writeScript "expect-script" ''
|
||||||
|
#!${expect}/bin/expect -f
|
||||||
|
|
||||||
|
spawn micro file.txt
|
||||||
|
expect "file.txt"
|
||||||
|
|
||||||
|
send "Hello world!"
|
||||||
|
expect "Hello world!"
|
||||||
|
|
||||||
|
# Send ctrl-q (exit)
|
||||||
|
send "\021"
|
||||||
|
|
||||||
|
expect "Save changes to file.txt before closing?"
|
||||||
|
send "y"
|
||||||
|
|
||||||
|
expect eof
|
||||||
|
''; in
|
||||||
|
runCommand "micro-test-expect"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [ micro expect ];
|
||||||
|
passthru = { inherit expect-script; };
|
||||||
|
} ''
|
||||||
|
# Micro really wants a writable $HOME for its config directory.
|
||||||
|
export HOME=$(pwd)
|
||||||
|
expect -f ${expect-script}
|
||||||
|
grep "Hello world!" file.txt
|
||||||
|
touch $out
|
||||||
|
''
|
|
@ -2,7 +2,7 @@
|
||||||
qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml, qtquick1, libGLU }:
|
qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml, qtquick1, libGLU }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qxmledit-${version}" ;
|
pname = "qxmledit" ;
|
||||||
version = "0.9.15" ;
|
version = "0.9.15" ;
|
||||||
src = fetchFromGitHub ( lib.importJSON ./qxmledit.json ) ;
|
src = fetchFromGitHub ( lib.importJSON ./qxmledit.json ) ;
|
||||||
nativeBuildInputs = [ qmake ] ;
|
nativeBuildInputs = [ qmake ] ;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, lib, pkgArches, callPackage, makeSetupHook,
|
{ stdenv, lib, pkgArches, callPackage, makeSetupHook,
|
||||||
name, version, src, mingwGccs, monos, geckos, platforms,
|
pname, version, src, mingwGccs, monos, geckos, platforms,
|
||||||
bison, flex, fontforge, makeWrapper, pkg-config,
|
bison, flex, fontforge, makeWrapper, pkg-config,
|
||||||
autoconf, hexdump, perl, nixosTests,
|
autoconf, hexdump, perl, nixosTests,
|
||||||
supportFlags,
|
supportFlags,
|
||||||
|
@ -13,7 +13,7 @@ with import ./util.nix { inherit lib; };
|
||||||
|
|
||||||
let
|
let
|
||||||
patches' = patches;
|
patches' = patches;
|
||||||
prevName = name;
|
prevName = pname;
|
||||||
prevPlatforms = platforms;
|
prevPlatforms = platforms;
|
||||||
prevConfigFlags = configureFlags;
|
prevConfigFlags = configureFlags;
|
||||||
setupHookDarwin = makeSetupHook {
|
setupHookDarwin = makeSetupHook {
|
||||||
|
@ -42,9 +42,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
||||||
make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
|
make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
|
||||||
'';
|
'';
|
||||||
}) // rec {
|
}) // rec {
|
||||||
inherit src;
|
inherit version src;
|
||||||
|
|
||||||
name = if supportFlags.waylandSupport then "${prevName}-wayland" else prevName;
|
pname = prevName + lib.optionalString supportFlags.waylandSupport "wayland";
|
||||||
|
|
||||||
# Fixes "Compiler cannot create executables" building wineWow with mingwSupport
|
# Fixes "Compiler cannot create executables" building wineWow with mingwSupport
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -9,7 +9,7 @@ let
|
||||||
vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
|
vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
|
||||||
in with src; {
|
in with src; {
|
||||||
wine32 = pkgsi686Linux.callPackage ./base.nix {
|
wine32 = pkgsi686Linux.callPackage ./base.nix {
|
||||||
name = "wine-${version}";
|
pname = "wine";
|
||||||
inherit src version supportFlags patches moltenvk;
|
inherit src version supportFlags patches moltenvk;
|
||||||
pkgArches = [ pkgsi686Linux ];
|
pkgArches = [ pkgsi686Linux ];
|
||||||
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
|
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
|
||||||
|
@ -19,7 +19,7 @@ in with src; {
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
wine64 = callPackage ./base.nix {
|
wine64 = callPackage ./base.nix {
|
||||||
name = "wine64-${version}";
|
pname = "wine64";
|
||||||
inherit src version supportFlags patches moltenvk;
|
inherit src version supportFlags patches moltenvk;
|
||||||
pkgArches = [ pkgs ];
|
pkgArches = [ pkgs ];
|
||||||
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
|
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
|
||||||
|
@ -30,7 +30,7 @@ in with src; {
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||||
};
|
};
|
||||||
wineWow = callPackage ./base.nix {
|
wineWow = callPackage ./base.nix {
|
||||||
name = "wine-wow-${version}";
|
pname = "wine-wow";
|
||||||
inherit src version supportFlags patches moltenvk;
|
inherit src version supportFlags patches moltenvk;
|
||||||
stdenv = stdenv_32bit;
|
stdenv = stdenv_32bit;
|
||||||
pkgArches = [ pkgs pkgsi686Linux ];
|
pkgArches = [ pkgs pkgsi686Linux ];
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "grass";
|
pname = "grass";
|
||||||
version = "7.8.6";
|
version = "7.8.6";
|
||||||
|
|
||||||
src = with lib; fetchFromGitHub {
|
src = with lib; fetchFromGitHub {
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "drawio";
|
pname = "drawio";
|
||||||
version = "16.5.1";
|
version = "17.2.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
|
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
|
||||||
sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9";
|
sha256 = "28019774a18f6e74c0d126346ae3551b5eb9c73aae13fe87f6d49120c183697a";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -36,13 +36,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-photos";
|
pname = "gnome-photos";
|
||||||
version = "40.0";
|
version = "42.0";
|
||||||
|
|
||||||
outputs = [ "out" "installedTests" ];
|
outputs = [ "out" "installedTests" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0";
|
sha256 = "JcsoFCUZnex7BF8T8y+PlgNMsMuLlNlvnf+vT1vmhVE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A simple and fast image viewer for X";
|
description = "A simple and fast image viewer for X";
|
||||||
homepage = "http://lxde.sourceforge.net/gpicview/";
|
homepage = "http://lxde.sourceforge.net/gpicview/";
|
||||||
repositories.git = "git://lxde.git.sourceforge.net/gitroot/lxde/gpicview";
|
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ lovek323 ];
|
maintainers = with maintainers; [ lovek323 ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
|
@ -33,11 +33,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gthumb";
|
pname = "gthumb";
|
||||||
version = "3.12.0";
|
version = "3.12.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-Pe/8AwOE5ktXNhxDfHm0ga4Uie9EyHroVugbsQ2OOD8=";
|
sha256 = "sha256-ZDBmOgAHBpbGgeXru4AQc/1GpG1oEsKeL5pPgRr6Gfw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
, cairo
|
, cairo
|
||||||
, cmake
|
, cmake
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, fetchpatch
|
||||||
, gettext
|
, gettext
|
||||||
, ghostscript
|
, ghostscript
|
||||||
, glib
|
, glib
|
||||||
|
@ -71,6 +72,13 @@ stdenv.mkDerivation rec {
|
||||||
# e.g., those from the "Effects" menu.
|
# e.g., those from the "Effects" menu.
|
||||||
python3 = "${python3Env}/bin/python";
|
python3 = "${python3Env}/bin/python";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# Fix build with poppler 22.03
|
||||||
|
# https://gitlab.com/inkscape/inkscape/-/merge_requests/4187
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
|
||||||
|
sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
applytransforms = callPackage ./extensions/applytransforms { };
|
applytransforms = callPackage ./extensions/applytransforms { };
|
||||||
|
|
||||||
hexmap = stdenv.mkDerivation {
|
hexmap = stdenv.mkDerivation {
|
||||||
name = "hexmap";
|
pname = "hexmap";
|
||||||
version = "2020-06-06";
|
version = "unstable-2020-06-06";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lifelike";
|
owner = "lifelike";
|
||||||
|
|
|
@ -4,14 +4,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
p_name = "mtPaint";
|
pname = "mtPaint";
|
||||||
ver_maj = "3.50";
|
version = "3.50.01";
|
||||||
ver_min = "01";
|
|
||||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wjaguar";
|
owner = "wjaguar";
|
||||||
repo = p_name;
|
repo = "mtPaint";
|
||||||
rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
|
rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
|
||||||
sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
|
sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
|
||||||
};
|
};
|
||||||
|
|
|
@ -66,7 +66,6 @@ mkDerivation rec {
|
||||||
description = "Qt-based image viewer";
|
description = "Qt-based image viewer";
|
||||||
maintainers = with lib.maintainers; [ mindavi ];
|
maintainers = with lib.maintainers; [ mindavi ];
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
repositories.git = "https://github.com/nomacs/nomacs.git";
|
|
||||||
inherit (qtbase.meta) platforms;
|
inherit (qtbase.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ mkDerivation, lib, extra-cmake-modules
|
{ mkDerivation, fetchpatch, lib, extra-cmake-modules
|
||||||
, qtdeclarative, ki18n, kmime, kpkpass
|
, qtdeclarative, ki18n, kmime, kpkpass
|
||||||
, poppler, kcontacts, kcalendarcore
|
, poppler, kcontacts, kcalendarcore
|
||||||
, shared-mime-info
|
, shared-mime-info
|
||||||
|
@ -10,6 +10,15 @@ mkDerivation {
|
||||||
license = with lib.licenses; [ lgpl21 ];
|
license = with lib.licenses; [ lgpl21 ];
|
||||||
maintainers = [ lib.maintainers.bkchr ];
|
maintainers = [ lib.maintainers.bkchr ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix build with poppler 22.03
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/KDE/kitinerary/commit/e21d1ffc5fa81a636245f49c97fe7cda63abbb1d.patch";
|
||||||
|
sha256 = "1/zgq9QIOCPplqplDqgpoqzuYFf/m1Ixxawe50t2F04=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
extra-cmake-modules
|
extra-cmake-modules
|
||||||
shared-mime-info # for update-mime-database
|
shared-mime-info # for update-mime-database
|
||||||
|
|
|
@ -101,6 +101,7 @@ in stdenv.mkDerivation rec {
|
||||||
mkdir -p $out/share/polkit-1/actions
|
mkdir -p $out/share/polkit-1/actions
|
||||||
substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
|
substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
|
||||||
'') + ''
|
'') + ''
|
||||||
|
|
||||||
# Icons
|
# Icons
|
||||||
cp -a resources/icons $out/share
|
cp -a resources/icons $out/share
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{ lib, stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, fetchpatch
|
||||||
, atk
|
, atk
|
||||||
, cairo
|
, cairo
|
||||||
, desktop-file-utils
|
, desktop-file-utils
|
||||||
|
@ -32,6 +34,16 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
|
sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix build with meson 0.61
|
||||||
|
# data/meson.build:2:5: ERROR: Function does not take positional arguments.
|
||||||
|
# Patch taken from https://gitlab.gnome.org/GNOME/almanah/-/merge_requests/13
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.gnome.org/GNOME/almanah/-/commit/8c42a67695621d1e30cec933a04e633e6030bbaf.patch";
|
||||||
|
sha256 = "qyqFgYSu4emFDG/Mjwz1bZb3v3/4gwQSKmGCoPPNYCQ=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
gettext
|
gettext
|
||||||
|
|
|
@ -16,9 +16,10 @@
|
||||||
, maven
|
, maven
|
||||||
, webkitgtk
|
, webkitgtk
|
||||||
, glib-networking
|
, glib-networking
|
||||||
|
, javaPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
javaPackages.mavenfod rec {
|
||||||
pname = "dbeaver";
|
pname = "dbeaver";
|
||||||
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
|
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
|
||||||
|
|
||||||
|
@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
|
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
|
||||||
|
mvnParameters = "-P desktop,all-platforms";
|
||||||
|
|
||||||
fetchedMavenDeps = stdenv.mkDerivation {
|
fetchedMavenDeps = stdenv.mkDerivation {
|
||||||
name = "dbeaver-${version}-maven-deps";
|
name = "dbeaver-${version}-maven-deps";
|
||||||
inherit src;
|
inherit src;
|
||||||
|
@ -37,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||||
maven
|
maven
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 -P desktop,all-platforms";
|
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}";
|
||||||
|
|
||||||
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
|
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -88,14 +93,6 @@ stdenv.mkDerivation rec {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
|
|
||||||
mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 -P desktop,all-platforms
|
|
||||||
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
let
|
let
|
||||||
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
|
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv, fetchFromGitHub
|
{ lib, stdenv, fetchFromGitHub
|
||||||
, autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
|
, autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
|
||||||
, gnome, gnupg, gtk3, udisks
|
, gnome-desktop, gnupg, gtk3, udisks
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf autoconf-archive automake glib intltool libtool pkg-config
|
autoconf autoconf-archive automake glib intltool libtool pkg-config
|
||||||
];
|
];
|
||||||
buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
|
buildInputs = [ gnome-desktop gtk3 udisks ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
let
|
let
|
||||||
|
|
||||||
qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
|
qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
|
||||||
gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.gnome-desktop gnome.libgnome-keyring webkitgtk ];
|
gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome-desktop gnome.libgnome-keyring webkitgtk ];
|
||||||
xorgDeps = pkgs: with pkgs.xorg; [
|
xorgDeps = pkgs: with pkgs.xorg; [
|
||||||
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
|
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
|
||||||
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
||||||
|
|
|
@ -82,7 +82,6 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://mupdf.com";
|
homepage = "https://mupdf.com";
|
||||||
repositories.git = "git://git.ghostscript.com/mupdf.git";
|
|
||||||
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
||||||
license = licenses.agpl3Plus;
|
license = licenses.agpl3Plus;
|
||||||
maintainers = with maintainers; [ vrthra fpletz ];
|
maintainers = with maintainers; [ vrthra fpletz ];
|
||||||
|
|
|
@ -111,7 +111,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://mupdf.com";
|
homepage = "https://mupdf.com";
|
||||||
repositories.git = "git://git.ghostscript.com/mupdf.git";
|
|
||||||
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
||||||
license = licenses.agpl3Plus;
|
license = licenses.agpl3Plus;
|
||||||
maintainers = with maintainers; [ vrthra fpletz ];
|
maintainers = with maintainers; [ vrthra fpletz ];
|
||||||
|
|
|
@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
|
||||||
It uses a layered approach to connect all of the parts.
|
It uses a layered approach to connect all of the parts.
|
||||||
'';
|
'';
|
||||||
homepage = "https://networkupstools.org/";
|
homepage = "https://networkupstools.org/";
|
||||||
repositories.git = "https://github.com/networkupstools/nut.git";
|
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.pierron ];
|
maintainers = [ maintainers.pierron ];
|
||||||
license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
|
license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
|
||||||
|
|
|
@ -34,6 +34,47 @@ let
|
||||||
(mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
|
(mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
|
||||||
(mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
|
(mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
|
||||||
|
|
||||||
|
# black uses hash, not sha256 identifier. Newer black version requires newer click version
|
||||||
|
(
|
||||||
|
self: super: {
|
||||||
|
black = super.black.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
version = "21.12b0";
|
||||||
|
src = oldAttrs.src.override {
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
# tests need network
|
||||||
|
(
|
||||||
|
self: super: {
|
||||||
|
curio = super.curio.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
disabledTests = [
|
||||||
|
"test_timeout"
|
||||||
|
"test_ssl_outgoing"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
# tests need network
|
||||||
|
(
|
||||||
|
self: super: {
|
||||||
|
trio = super.trio.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
disabledTests = [
|
||||||
|
"test_local_address_real"
|
||||||
|
];
|
||||||
|
disabledTestPaths = [
|
||||||
|
"trio/tests/test_exports.py"
|
||||||
|
"trio/tests/test_socket.py"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
# Requires flask<2, cannot mkOverride because tests need to be disabled
|
# Requires flask<2, cannot mkOverride because tests need to be disabled
|
||||||
(
|
(
|
||||||
self: super: {
|
self: super: {
|
||||||
|
@ -400,7 +441,7 @@ let
|
||||||
homepage = "https://octoprint.org/";
|
homepage = "https://octoprint.org/";
|
||||||
description = "The snappy web interface for your 3D printer";
|
description = "The snappy web interface for your 3D printer";
|
||||||
license = licenses.agpl3Only;
|
license = licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
|
maintainers = with maintainers; [ abbradar gebner WhittlesJr gador ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,13 +34,13 @@
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "orca";
|
pname = "orca";
|
||||||
version = "41.2";
|
version = "42.0";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
|
sha256 = "LCUXmrQbJgsY8f+Jm+uv5olDi0nf/SEd78l2olCT9zo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, libinput
|
, libinput
|
||||||
, gnome
|
, gnome
|
||||||
|
, gnome-desktop
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, wayland
|
, wayland
|
||||||
|
@ -68,7 +69,7 @@ in stdenv.mkDerivation rec {
|
||||||
libinput
|
libinput
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
gnome.gnome-desktop
|
gnome-desktop
|
||||||
# For keybindings settings schemas
|
# For keybindings settings schemas
|
||||||
gnome.mutter
|
gnome.mutter
|
||||||
wayland
|
wayland
|
||||||
|
|
|
@ -5,19 +5,19 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "taskwarrior-tui";
|
pname = "taskwarrior-tui";
|
||||||
version = "0.21.0";
|
version = "0.21.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kdheepak";
|
owner = "kdheepak";
|
||||||
repo = "taskwarrior-tui";
|
repo = "taskwarrior-tui";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-HHYObAeJtryZWRV3T+FXRz0TgBIfw/kVL9jwaQmZcEA=";
|
sha256 = "sha256-fgoK7Y+3h2VFfP8yiR8JM8Xf7UJbkX9PO1RoJRoYLW4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Because there's a test that requires terminal access
|
# Because there's a test that requires terminal access
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
cargoSha256 = "sha256-oRREvqQLigpfpnTJgVZjAwAvmUs9YSZm+D5xyFYvdb4=";
|
cargoSha256 = "sha256-3rDvla1mCcQclALbomUTvE3aLzsMeIjcIbEv4KfCKZE=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A terminal user interface for taskwarrior ";
|
description = "A terminal user interface for taskwarrior ";
|
||||||
|
|
|
@ -114,7 +114,7 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
base = rec {
|
base = rec {
|
||||||
name = "${packageName}-unwrapped-${version}";
|
pname = "${packageName}-unwrapped";
|
||||||
inherit (upstream-info) version;
|
inherit (upstream-info) version;
|
||||||
inherit packageName buildType buildPath;
|
inherit packageName buildType buildPath;
|
||||||
|
|
||||||
|
|
|
@ -157,8 +157,8 @@ let
|
||||||
else browser;
|
else browser;
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = lib.optionalString ungoogled "ungoogled-"
|
pname = lib.optionalString ungoogled "ungoogled-"
|
||||||
+ "chromium${suffix}-${version}";
|
+ "chromium${suffix}";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"packageVersion": "98.0-1",
|
"packageVersion": "98.0.2-1",
|
||||||
"source": {
|
"source": {
|
||||||
"rev": "98.0-1",
|
"rev": "98.0.2-1",
|
||||||
"sha256": "1z42a42d6z0gyc5i0pamcqq5bak6pgg1ldvlrjdyjnpvda74s0fn"
|
"sha256": "033l6mjmhfhf7b8p652s7ziw8zz725082hhzzvr3ahi498wshkx6"
|
||||||
},
|
},
|
||||||
"firefox": {
|
"firefox": {
|
||||||
"version": "98.0",
|
"version": "98.0.2",
|
||||||
"sha512": "5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b"
|
"sha512": "b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "8.0.1";
|
version = "8.1.1";
|
||||||
|
|
||||||
ptFiles = stdenv.mkDerivation {
|
ptFiles = stdenv.mkDerivation {
|
||||||
name = "PacketTracer8Drv";
|
name = "PacketTracer8Drv";
|
||||||
|
@ -36,7 +36,7 @@ let
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
src = requireFile {
|
src = requireFile {
|
||||||
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
|
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
|
||||||
sha256 = "77a25351b016faed7c78959819c16c7013caa89c6b1872cb888cd96edd259140";
|
sha256 = "08c53171aa0257a64ae7de1540f242214033cfa4f879fbc9fed5cc0d32232abf";
|
||||||
url = "https://www.netacad.com";
|
url = "https://www.netacad.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ let
|
||||||
libXrandr
|
libXrandr
|
||||||
libXrender
|
libXrender
|
||||||
libXScrnSaver
|
libXScrnSaver
|
||||||
|
libXtst
|
||||||
xcbutilimage
|
xcbutilimage
|
||||||
xcbutilkeysyms
|
xcbutilkeysyms
|
||||||
xcbutilrenderutil
|
xcbutilrenderutil
|
||||||
|
|
|
@ -2,20 +2,20 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "argocd";
|
pname = "argocd";
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
# Update commit to match the tag above
|
# Update commit to match the tag above
|
||||||
# TODO make updadeScript
|
# TODO make updadeScript
|
||||||
commit = "b65c1699fa2a2daa031483a3890e6911eac69068";
|
commit = "ecc2af9dcaa12975e654cde8cbbeaffbb315f75c";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "argoproj";
|
owner = "argoproj";
|
||||||
repo = "argo-cd";
|
repo = "argo-cd";
|
||||||
rev = tag;
|
rev = tag;
|
||||||
sha256 = "sha256-YijhJz7m5wy8kR9V6IHSNYjiWh7H2ph6il9nMsrePOE=";
|
sha256 = "sha256-n+C4l4U3cDU+fgCnGWOYLdyjknw7n/xPEtC1i8AaU4o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-uA9sOMuVHKRRhSGoLyoKcUYU6NxtprVUITvVC+tot1g=";
|
vendorSha256 = "sha256-Km+1o6yuuxJs+DNTQ/XVTUFurD5gM5ohwDc7MwJuu5s=";
|
||||||
|
|
||||||
# Set target as ./cmd per release-cli
|
# Set target as ./cmd per release-cli
|
||||||
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L222
|
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L222
|
||||||
|
|
|
@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ mbode ];
|
maintainers = with maintainers; [ mbode ];
|
||||||
repositories.git = "git://git.apache.org/flink.git";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ buildGoPackage rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ mbode tazjin ];
|
maintainers = with maintainers; [ mbode tazjin ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
repositories.git = "git://github.com/tazjin/kontemplate.git";
|
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Kontemplate is a simple CLI tool that can take sets of
|
Kontemplate is a simple CLI tool that can take sets of
|
||||||
|
|
|
@ -10,16 +10,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "nerdctl";
|
pname = "nerdctl";
|
||||||
version = "0.17.1";
|
version = "0.18.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containerd";
|
owner = "containerd";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-fWev5KgJEuL2pDm17kxdqRKo7t3+dDt5UD5iTHneJSY=";
|
sha256 = "sha256-gkfy/tKzh6EO+nyjuiU3InSErKvGcJp/X7oqYk0Msr0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-7L5xA/2uQnu10QGZn49K3oJf4HBEvt8q/sOR6BRXlo0=";
|
vendorSha256 = "sha256-hjhZYNpqt9yFNrDVpFlguESUAAqU+AhpUQTCvyMadPk=";
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,5 @@ buildGoModule rec {
|
||||||
changelog = "https://github.com/derailed/popeye/releases/tag/v${version}";
|
changelog = "https://github.com/derailed/popeye/releases/tag/v${version}";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = [ maintainers.bryanasdev000 ];
|
maintainers = [ maintainers.bryanasdev000 ];
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,6 @@ let
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
|
maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
|
||||||
repositories.git = "git://git.apache.org/spark.git";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "flexget";
|
pname = "flexget";
|
||||||
version = "3.3.3";
|
version = "3.3.4";
|
||||||
|
|
||||||
# Fetch from GitHub in order to use `requirements.in`
|
# Fetch from GitHub in order to use `requirements.in`
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flexget";
|
owner = "flexget";
|
||||||
repo = "flexget";
|
repo = "flexget";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
|
hash = "sha256-/nuY8+/RMM7ASke+NXb95yu+FeQHawCdgqVsBrk/KZ8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
, evolution-data-server
|
, evolution-data-server
|
||||||
, feedbackd
|
, feedbackd
|
||||||
, glibmm
|
, glibmm
|
||||||
, gnome
|
, gnome-desktop
|
||||||
, gspell
|
, gspell
|
||||||
, gtk3
|
, gtk3
|
||||||
, json-glib
|
, json-glib
|
||||||
|
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
|
||||||
evolution-data-server
|
evolution-data-server
|
||||||
feedbackd
|
feedbackd
|
||||||
glibmm
|
glibmm
|
||||||
gnome.gnome-desktop
|
gnome-desktop
|
||||||
gspell
|
gspell
|
||||||
gtk3
|
gtk3
|
||||||
json-glib
|
json-glib
|
||||||
|
|
|
@ -88,7 +88,6 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ ttuegel ];
|
maintainers = with maintainers; [ ttuegel ];
|
||||||
repositories.git = "https://github.com/quassel/quassel.git";
|
|
||||||
inherit (qtbase.meta) platforms;
|
inherit (qtbase.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ python3Packages.buildPythonApplication rec {
|
||||||
GMail account.
|
GMail account.
|
||||||
'';
|
'';
|
||||||
homepage = "https://lieer.gaute.vetsj.com/";
|
homepage = "https://lieer.gaute.vetsj.com/";
|
||||||
repositories.git = "https://github.com/gauteh/lieer.git";
|
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ flokli kaiha ];
|
maintainers = with maintainers; [ flokli kaiha ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,13 +9,7 @@
|
||||||
, withManpage ? false
|
, withManpage ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with python3.pkgs;
|
with python3.pkgs; buildPythonApplication rec {
|
||||||
let
|
|
||||||
notmuch2 = callPackage ./notmuch.nix {
|
|
||||||
inherit notmuch;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
buildPythonApplication rec {
|
|
||||||
pname = "alot";
|
pname = "alot";
|
||||||
version = "0.10";
|
version = "0.10";
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue