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'
|
||||
- name: Warn if the commit was a direct push
|
||||
if: steps.ismerge.outputs.ismerge != 'true'
|
||||
uses: peter-evans/commit-comment@v1
|
||||
uses: peter-evans/commit-comment@v2
|
||||
with:
|
||||
body: |
|
||||
@${{ 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`:
|
||||
|
||||
- `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.
|
||||
- `extraPrefix`: Prefix pathnames by this string.
|
||||
- `excludes`: Exclude files matching this pattern.
|
||||
- `includes`: Include only files matching this pattern.
|
||||
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
|
||||
- `includes`: Include only files matching these patterns (applies after the above arguments).
|
||||
- `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.
|
||||
|
|
|
@ -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.
|
||||
- Ensure that the module tests, if any, are succeeding.
|
||||
- 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.
|
||||
- Ensure that option changes are 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 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.
|
||||
- Ensure that module `meta` field is present
|
||||
- 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}."
|
||||
else
|
||||
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;
|
||||
submodules =
|
||||
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;
|
||||
in opt.options // res //
|
||||
{ declarations = res.declarations ++ [opt._file];
|
||||
|
@ -802,27 +794,13 @@ rec {
|
|||
compare = a: b: (a.priority or 1000) < (b.priority or 1000);
|
||||
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:
|
||||
let
|
||||
options = opt.options or
|
||||
(throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
|
||||
|
||||
# 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 = []; };
|
||||
if opt.type.getSubModules or null == null
|
||||
then opt // { type = opt.type or types.unspecified; }
|
||||
else opt // { type = opt.type.substSubModules opt.options; options = []; };
|
||||
|
||||
|
||||
/* Properties. */
|
||||
|
|
|
@ -79,8 +79,6 @@ rec {
|
|||
visible ? null,
|
||||
# Whether the option can be set only once
|
||||
readOnly ? null,
|
||||
# Deprecated, used by types.optionSet.
|
||||
options ? null
|
||||
} @ attrs:
|
||||
attrs // { _type = "option"; };
|
||||
|
||||
|
|
|
@ -749,14 +749,6 @@ rec {
|
|||
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.
|
||||
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
|
||||
|
||||
|
|
|
@ -2824,6 +2824,12 @@
|
|||
githubId = 49904992;
|
||||
name = "Dawid Sowa";
|
||||
};
|
||||
dbeckwith = {
|
||||
email = "djbsnx@gmail.com";
|
||||
github = "dbeckwith";
|
||||
githubId = 1279939;
|
||||
name = "Daniel Beckwith";
|
||||
};
|
||||
dbirks = {
|
||||
email = "david@birks.dev";
|
||||
github = "dbirks";
|
||||
|
|
|
@ -57,7 +57,7 @@ def get_date_lists(
|
|||
except ValueError:
|
||||
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
|
||||
|
||||
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`
|
||||
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 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
|
||||
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
|
||||
`user` argument can be used:
|
||||
|
||||
|
|
|
@ -261,6 +261,19 @@ start_all()
|
|||
</para>
|
||||
</listitem>
|
||||
</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>
|
||||
<term>
|
||||
<literal>execute</literal>
|
||||
|
@ -502,6 +515,21 @@ machine.systemctl("list-jobs --no-pager", "any-user") # spaw
|
|||
</para>
|
||||
</listitem>
|
||||
</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>
|
||||
<para>
|
||||
To test user units declared by
|
||||
|
|
|
@ -25,6 +25,16 @@
|
|||
<literal>services.nginx.virtualHosts.*.enableACME</literal>).
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
PHP 8.1 is now available
|
||||
|
@ -678,6 +688,16 @@
|
|||
6.x</link> and renamed to <literal>gnome-secrets</literal>.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
If you previously used
|
||||
|
@ -1668,6 +1688,12 @@
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>programs.nncp</literal> options were added for
|
||||
generating host-global NNCP configuration.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</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
|
||||
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
|
||||
|
||||
- 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`.
|
||||
|
||||
- `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`.
|
||||
|
||||
- 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`.
|
||||
- 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. -->
|
||||
|
|
|
@ -23,8 +23,9 @@ in rec {
|
|||
inherit (unit) text;
|
||||
}
|
||||
''
|
||||
mkdir -p $out
|
||||
echo -n "$text" > $out/${shellEscape name}
|
||||
name=${shellEscape name}
|
||||
mkdir -p "$out/$(dirname "$name")"
|
||||
echo -n "$text" > "$out/$name"
|
||||
''
|
||||
else
|
||||
pkgs.runCommand "unit-${mkPathSafeName name}-disabled"
|
||||
|
@ -32,8 +33,9 @@ in rec {
|
|||
allowSubstitutes = false;
|
||||
}
|
||||
''
|
||||
mkdir -p $out
|
||||
ln -s /dev/null $out/${shellEscape name}
|
||||
name=${shellEscape name}
|
||||
mkdir -p "$out/$(dirname "$name")"
|
||||
ln -s /dev/null "$out/$name"
|
||||
'';
|
||||
|
||||
boolValues = [true false "yes" "no"];
|
||||
|
|
|
@ -198,7 +198,7 @@ class StartCommand:
|
|||
) -> subprocess.Popen:
|
||||
return subprocess.Popen(
|
||||
self.cmd(monitor_socket_path, shell_socket_path),
|
||||
stdin=subprocess.DEVNULL,
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.STDOUT,
|
||||
shell=True,
|
||||
|
@ -558,6 +558,28 @@ class Machine:
|
|||
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:
|
||||
"""Execute each command and check that it succeeds."""
|
||||
output = ""
|
||||
|
@ -834,6 +856,12 @@ class Machine:
|
|||
self.send_monitor_command("sendkey {}".format(key))
|
||||
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:
|
||||
if self.booted:
|
||||
return
|
||||
|
|
|
@ -91,29 +91,9 @@ let
|
|||
SERIAL 0 115200
|
||||
TIMEOUT ${builtins.toString syslinuxTimeout}
|
||||
UI vesamenu.c32
|
||||
MENU TITLE NixOS
|
||||
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
|
||||
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
|
||||
${config.isoImage.syslinuxTheme}
|
||||
|
||||
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 {
|
||||
default = " Installer";
|
||||
example = " Live System";
|
||||
|
|
|
@ -118,6 +118,7 @@
|
|||
./misc/version.nix
|
||||
./misc/wordlist.nix
|
||||
./misc/nixops-autoluks.nix
|
||||
./programs/_1password-gui.nix
|
||||
./programs/adb.nix
|
||||
./programs/appgate-sdp.nix
|
||||
./programs/atop.nix
|
||||
|
@ -184,6 +185,7 @@
|
|||
./programs/nix-ld.nix
|
||||
./programs/neovim.nix
|
||||
./programs/nm-applet.nix
|
||||
./programs/nncp.nix
|
||||
./programs/npm.nix
|
||||
./programs/noisetorch.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.";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.squid;
|
||||
defaultText = literalExpression "pkgs.squid";
|
||||
type = types.package;
|
||||
description = "Squid package to use.";
|
||||
};
|
||||
|
||||
proxyAddress = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
@ -157,17 +164,21 @@ in
|
|||
users.groups.squid = {};
|
||||
|
||||
systemd.services.squid = {
|
||||
description = "Squid caching web proxy";
|
||||
description = "Squid caching proxy";
|
||||
documentation = [ "man:squid(8)" ];
|
||||
after = [ "network.target" "nss-lookup.target" ];
|
||||
wantedBy = [ "multi-user.target"];
|
||||
preStart = ''
|
||||
mkdir -p "/var/log/squid"
|
||||
chown squid:squid "/var/log/squid"
|
||||
${cfg.package}/bin/squid --foreground -z -f ${squidConfig}
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type="forking";
|
||||
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 = {
|
||||
type = mkOption {
|
||||
type = enum [ "mysql" "postgresql" ];
|
||||
|
@ -787,6 +795,14 @@ in
|
|||
|
||||
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 -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
|
||||
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/
|
||||
cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
|
||||
"$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \
|
||||
|
|
|
@ -132,6 +132,10 @@ in
|
|||
[ "environment" "gnome3" "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 = {
|
||||
|
@ -142,38 +146,6 @@ in
|
|||
core-utilities.enable = mkEnableOption "GNOME core utilities";
|
||||
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
|
||||
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 = {
|
||||
|
@ -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
|
||||
(mkIf serviceCfg.core-utilities.enable {
|
||||
environment.systemPackages =
|
||||
|
@ -513,18 +462,18 @@ in
|
|||
cheese
|
||||
eog
|
||||
epiphany
|
||||
gedit
|
||||
pkgs.gnome-text-editor
|
||||
gnome-calculator
|
||||
gnome-calendar
|
||||
gnome-characters
|
||||
gnome-clocks
|
||||
pkgs.gnome-console
|
||||
gnome-contacts
|
||||
gnome-font-viewer
|
||||
gnome-logs
|
||||
gnome-maps
|
||||
gnome-music
|
||||
pkgs.gnome-photos
|
||||
gnome-screenshot
|
||||
gnome-system-monitor
|
||||
gnome-weather
|
||||
nautilus
|
||||
|
@ -547,7 +496,6 @@ in
|
|||
programs.file-roller.enable = notExcluded pkgs.gnome.file-roller;
|
||||
programs.geary.enable = notExcluded pkgs.gnome.geary;
|
||||
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;
|
||||
services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;
|
||||
|
||||
|
|
|
@ -220,9 +220,7 @@ in
|
|||
] config.environment.pantheon.excludePackages);
|
||||
|
||||
programs.evince.enable = mkDefault true;
|
||||
programs.evince.package = pkgs.pantheon.evince;
|
||||
programs.file-roller.enable = mkDefault true;
|
||||
programs.file-roller.package = pkgs.pantheon.file-roller;
|
||||
|
||||
# Settings from elementary-default-settings
|
||||
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; [
|
||||
contractor
|
||||
file-roller-contract
|
||||
gnome-bluetooth-contract
|
||||
];
|
||||
|
||||
environment.pathsToLink = [
|
||||
|
|
|
@ -141,7 +141,7 @@ in
|
|||
GDM_X_SERVER_EXTRA_ARGS = toString
|
||||
(filter (arg: arg != "-terminate") cfg.xserverArgs);
|
||||
# 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) {
|
||||
# Make GDM use this wrapper before running the session, which runs the
|
||||
# configured setupCommands. This relies on a patched GDM which supports
|
||||
|
|
|
@ -56,8 +56,6 @@ in
|
|||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
path = with pkgs; [ getent iptables iproute kmod nftables util-linux which ];
|
||||
|
||||
unitConfig = {
|
||||
ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
|
||||
};
|
||||
|
@ -68,6 +66,10 @@ in
|
|||
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-nspawn = handleTest ./systemd-nspawn.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 {};
|
||||
teeworlds = handleTest ./teeworlds.nix {};
|
||||
telegraf = handleTest ./telegraf.nix {};
|
||||
|
|
|
@ -3,4 +3,10 @@
|
|||
makeInstalledTest {
|
||||
tested = pkgs.gjs;
|
||||
withX11 = true;
|
||||
|
||||
testConfig = {
|
||||
environment.systemPackages = [
|
||||
pkgs.gjs
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,8 +16,7 @@ let
|
|||
};
|
||||
|
||||
nodes = {
|
||||
keycloak = { ... }: {
|
||||
|
||||
keycloak = { config, ... }: {
|
||||
security.pki.certificateFiles = [
|
||||
certs.ca.cert
|
||||
];
|
||||
|
@ -36,6 +35,10 @@ let
|
|||
username = "bogus";
|
||||
passwordFile = pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH";
|
||||
};
|
||||
plugins = with config.services.keycloak.package.plugins; [
|
||||
keycloak-discord
|
||||
keycloak-metrics-spi
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
@ -102,8 +105,21 @@ let
|
|||
### Realm Setup ###
|
||||
|
||||
# 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(
|
||||
"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
|
||||
|
|
|
@ -29,10 +29,23 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
name = "systemd-unit-path";
|
||||
name = "systemd-misc";
|
||||
|
||||
machine = { pkgs, lib, ... }: {
|
||||
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 = ''
|
||||
|
@ -43,5 +56,7 @@ in
|
|||
)
|
||||
machine.succeed("systemctl start example.service")
|
||||
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
|
||||
, pkg-config
|
||||
, gnome
|
||||
, gnome-desktop
|
||||
, glib
|
||||
, gtk3
|
||||
, wayland
|
||||
|
@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
gnome.gnome-desktop
|
||||
gnome-desktop
|
||||
wayland
|
||||
wayland-protocols
|
||||
libxml2
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
}:
|
||||
|
||||
let
|
||||
|
||||
version = "1.3.3";
|
||||
|
||||
airwave-src = fetchFromGitHub {
|
||||
|
@ -38,7 +37,8 @@ let
|
|||
in
|
||||
|
||||
multiStdenv.mkDerivation {
|
||||
name = "airwave-${version}";
|
||||
pname = "airwave";
|
||||
inherit version;
|
||||
|
||||
src = airwave-src;
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = packageName + "-" + version ;
|
||||
packageName = "aj-snapshot" ;
|
||||
pname = "aj-snapshot" ;
|
||||
version = "0.9.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
|
||||
url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
|
||||
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
|
||||
};
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ams";
|
||||
pname = "ams";
|
||||
version = "unstable-2019-04-27";
|
||||
|
||||
src = fetchgit {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
pulseaudio }:
|
||||
|
||||
bitwig-studio1.overrideAttrs (oldAttrs: rec {
|
||||
name = "bitwig-studio-${version}";
|
||||
pname = "bitwig-studio";
|
||||
version = "2.5";
|
||||
|
||||
src = fetchurl {
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cardinal-${version}";
|
||||
pname = "cardinal";
|
||||
version = "22.02";
|
||||
|
||||
src = fetchurl {
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cmt";
|
||||
pname = "cmt";
|
||||
version = "1.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.ladspa.org/download/${name}_${version}.tgz";
|
||||
url = "http://www.ladspa.org/download/cmt_${version}.tgz";
|
||||
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
|
||||
};
|
||||
|
||||
|
|
|
@ -112,6 +112,5 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [ maintainers.abbradar ];
|
||||
repositories.git = "https://github.com/Alexey-Yakovenko/deadbeef";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.95.0";
|
||||
name = "jamin-${version}";
|
||||
pname = "jamin";
|
||||
|
||||
src = fetchurl {
|
||||
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 {
|
||||
name = "mid2key-r1";
|
||||
pname = "mid2key";
|
||||
version = "1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mid2key.googlecode.com/files/${name}.tar.gz";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dnschneid";
|
||||
repo = "mid2key";
|
||||
rev = "v${version}";
|
||||
sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{ stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }:
|
||||
stdenv.mkDerivation rec {
|
||||
inherit type;
|
||||
baseName = "${type}-Edit";
|
||||
name = "${lib.toLower baseName}-${version}";
|
||||
pname = "${lib.toLower type}-edit";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
inherit url;
|
||||
|
@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ${baseName} $out/bin
|
||||
cp ${pname} $out/bin
|
||||
'';
|
||||
preFixup = let
|
||||
# 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 \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${libPath}" \
|
||||
$out/bin/${baseName}
|
||||
$out/bin/${pname}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2;
|
||||
platforms = platforms.darwin;
|
||||
maintainers = [];
|
||||
repositories.git = "https://github.com/musescore/MuseScore";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -51,6 +51,5 @@ mkDerivation rec {
|
|||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ vandenoever turion doronbehar ];
|
||||
platforms = platforms.linux;
|
||||
repositories.git = "https://github.com/musescore/MuseScore";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qmidiarp";
|
||||
pname = "qmidiarp";
|
||||
version = "0.6.5";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/qmidiarp/code";
|
||||
sha256 = "1g2143gzfbihqr2zi3k2v1yn1x3mwfbb2khmcd4m4cq3hcwhhlx9";
|
||||
rev = "qmidiarp-0.6.5";
|
||||
rev = "qmidiarp-${version}";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -58,6 +58,5 @@ mkDerivation rec {
|
|||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
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 }:
|
||||
|
||||
let
|
||||
name = "sisco.lv2-${version}";
|
||||
version = "0.7.0";
|
||||
|
||||
robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
|
||||
|
@ -22,7 +21,8 @@ let
|
|||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name;
|
||||
pname = "sisco.lv2";
|
||||
inherit version;
|
||||
|
||||
srcs = [ src robtkSrc ];
|
||||
sourceRoot = src.name;
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snd";
|
||||
version = "22.1";
|
||||
version = "22.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||
sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
|
||||
sha256 = "sha256-MZ8Vm/d+0r7YsXdySKcH5rqXBh4iFLyUe44LBOD58E0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -45,7 +45,7 @@ let runtimeDeps = []
|
|||
|
||||
in
|
||||
mkDerivation rec {
|
||||
name = "soundkonverter";
|
||||
pname = "soundkonverter";
|
||||
version = "3.0.1";
|
||||
src = fetchFromGitHub {
|
||||
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;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
|
||||
pname = "bitcoin" + optionalString (!withGui) "d" + "-unlimited";
|
||||
version = "1.9.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
||||
pname = "dogecoin" + optionalString (!withGui) "d";
|
||||
version = "1.14.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -11,8 +11,7 @@
|
|||
with lib;
|
||||
|
||||
mkDerivation rec {
|
||||
|
||||
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
||||
pname = "litecoin" + optionalString (!withGui) "d";
|
||||
version = "0.18.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
with lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "namecoin" + optionalString (!withGui) "d";
|
||||
version = "nc22.0";
|
||||
name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namecoin";
|
||||
|
|
|
@ -38,13 +38,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.158.2";
|
||||
version = "1.159.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
sha256 = "sha256-YrRG+LaG39q/6Ry3cXo9XUwtvokkBl96XuQfE22QxZI=";
|
||||
sha256 = "sha256-DRVJLzAdhw+ke+B2KFlkgLXgU4+Mq3LQ0PRYg52Aq/o=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.03.17",
|
||||
"sha256": "sha256-aJZGHodydkqfe2BJLKWUzIX6vbdiGKs4z5ZqtteM6NU="
|
||||
"rev": "2022.03.23",
|
||||
"sha256": "sha256-D/pQ4TSWUaL97Nau3bGi7rc8MxnvuoDcD7HDNEDwmsk="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
|
@ -26,13 +26,13 @@
|
|||
},
|
||||
"EControl": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.03.17",
|
||||
"sha256": "sha256-sWRKRhUYf07TIrVWRqtpsYPZu0dPm0EhSIqoDLmkG0Y="
|
||||
"rev": "2022.03.23",
|
||||
"sha256": "sha256-QXq75VoAnYqAhe3Fvsz1szZyBz4dHEpYJZqTSCR80v8="
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.03.17",
|
||||
"sha256": "sha256-FndLHJuCOyFr0IGUL4zFRjkEvTyNF3tHUO/Wx5IaV2Y="
|
||||
"rev": "2022.03.23",
|
||||
"sha256": "sha256-m1rkWvRC1i1nLPIhiG6g8LGU96vTuGGqLFrSzw9A9x0="
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
, json-glib
|
||||
, jsonrpc-glib
|
||||
, libdazzle
|
||||
, libhandy
|
||||
, libpeas
|
||||
, libportal-gtk3
|
||||
, libxml2
|
||||
|
@ -40,21 +41,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "41.3";
|
||||
version = "42.0";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
|
||||
sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with latest libportal
|
||||
# https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
|
||||
# Fix appstream validation
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
|
||||
sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch";
|
||||
sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA=";
|
||||
})
|
||||
];
|
||||
|
||||
|
@ -87,6 +87,7 @@ stdenv.mkDerivation rec {
|
|||
json-glib
|
||||
jsonrpc-glib
|
||||
libdazzle
|
||||
libhandy
|
||||
libxml2
|
||||
ostree
|
||||
pcre
|
||||
|
@ -103,10 +104,6 @@ stdenv.mkDerivation rec {
|
|||
xvfb-run
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
patchShebangs build-aux/meson/post_install.py
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddocs=true"
|
||||
|
||||
|
@ -122,6 +119,10 @@ stdenv.mkDerivation rec {
|
|||
# understand why. Somebody should look into fixing this.
|
||||
doCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson/post_install.py
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
export NO_AT_BRIDGE=1
|
||||
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
|
||||
{ meta
|
||||
, name
|
||||
, pname
|
||||
, product
|
||||
, productShort ? product
|
||||
, src
|
||||
|
@ -17,7 +17,7 @@ let
|
|||
loname = lib.toLower productShort;
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit meta src version;
|
||||
inherit pname meta src version;
|
||||
desktopName = product;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
@ -32,6 +32,5 @@ in
|
|||
runHook postInstall
|
||||
'';
|
||||
nativeBuildInputs = [ undmg ];
|
||||
pname = lib.concatStringsSep "-" (lib.init (lib.splitString "-" name));
|
||||
sourceRoot = ".";
|
||||
}
|
||||
|
|
|
@ -24,9 +24,9 @@ let
|
|||
|
||||
# Sorted alphabetically
|
||||
|
||||
buildClion = { name, version, src, license, description, wmClass, ... }:
|
||||
buildClion = { pname, version, src, license, description, wmClass, ... }:
|
||||
(mkJetBrainsProduct {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "CLion";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "DataGrip";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "Goland";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk product;
|
||||
inherit pname version src wmClass jdk product;
|
||||
productShort = "IDEA";
|
||||
extraLdPath = [ zlib ];
|
||||
extraWrapperArgs = [
|
||||
|
@ -129,9 +129,9 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
buildMps = { name, version, src, license, description, wmClass, product, ... }:
|
||||
buildMps = { pname, version, src, license, description, wmClass, product, ... }:
|
||||
(mkJetBrainsProduct rec {
|
||||
inherit name version src wmClass jdk product;
|
||||
inherit pname version src wmClass jdk product;
|
||||
productShort = "MPS";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "PhpStorm";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk product;
|
||||
inherit pname version src wmClass jdk product;
|
||||
productShort = "PyCharm";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "Rider";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "RubyMine";
|
||||
meta = with lib; {
|
||||
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 {
|
||||
inherit name version src wmClass jdk;
|
||||
inherit pname version src wmClass jdk;
|
||||
product = "WebStorm";
|
||||
meta = with lib; {
|
||||
homepage = "https://www.jetbrains.com/webstorm/";
|
||||
|
@ -251,7 +251,7 @@ in
|
|||
# Sorted alphabetically
|
||||
|
||||
clion = buildClion rec {
|
||||
name = "clion-${version}";
|
||||
pname = "clion";
|
||||
version = products.clion.version;
|
||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -264,7 +264,7 @@ in
|
|||
};
|
||||
|
||||
datagrip = buildDataGrip rec {
|
||||
name = "datagrip-${version}";
|
||||
pname = "datagrip";
|
||||
version = products.datagrip.version;
|
||||
description = "Your Swiss Army Knife for Databases and SQL";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -277,7 +277,7 @@ in
|
|||
};
|
||||
|
||||
goland = buildGoland rec {
|
||||
name = "goland-${version}";
|
||||
pname = "goland";
|
||||
version = products.goland.version;
|
||||
description = "Up and Coming Go IDE";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -290,7 +290,7 @@ in
|
|||
};
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
pname = "idea-community";
|
||||
product = "IntelliJ IDEA CE";
|
||||
version = products.idea-community.version;
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
|
@ -304,7 +304,7 @@ in
|
|||
};
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
pname = "idea-ultimate";
|
||||
product = "IntelliJ IDEA";
|
||||
version = products.idea-ultimate.version;
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
|
@ -318,7 +318,7 @@ in
|
|||
};
|
||||
|
||||
mps = buildMps rec {
|
||||
name = "mps-${version}";
|
||||
pname = "mps";
|
||||
product = "MPS ${products.mps.version-major-minor}";
|
||||
version = products.mps.version;
|
||||
description = "Create your own domain-specific language";
|
||||
|
@ -332,7 +332,7 @@ in
|
|||
};
|
||||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
pname = "phpstorm";
|
||||
version = products.phpstorm.version;
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -345,7 +345,7 @@ in
|
|||
};
|
||||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
pname = "pycharm-community";
|
||||
product = "PyCharm CE";
|
||||
version = products.pycharm-community.version;
|
||||
description = "PyCharm Community Edition";
|
||||
|
@ -359,7 +359,7 @@ in
|
|||
};
|
||||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
pname = "pycharm-professional";
|
||||
product = "PyCharm";
|
||||
version = products.pycharm-professional.version;
|
||||
description = "PyCharm Professional Edition";
|
||||
|
@ -373,7 +373,7 @@ in
|
|||
};
|
||||
|
||||
rider = buildRider rec {
|
||||
name = "rider-${version}";
|
||||
pname = "rider";
|
||||
version = products.rider.version;
|
||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -386,7 +386,7 @@ in
|
|||
};
|
||||
|
||||
ruby-mine = buildRubyMine rec {
|
||||
name = "ruby-mine-${version}";
|
||||
pname = "ruby-mine";
|
||||
version = products.ruby-mine.version;
|
||||
description = "The Most Intelligent Ruby and Rails IDE";
|
||||
license = lib.licenses.unfree;
|
||||
|
@ -399,7 +399,7 @@ in
|
|||
};
|
||||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
pname = "webstorm";
|
||||
version = products.webstorm.version;
|
||||
description = "Professional IDE for Web and JavaScript development";
|
||||
license = lib.licenses.unfree;
|
||||
|
|
|
@ -3,30 +3,29 @@
|
|||
, 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;
|
||||
|
||||
let loName = toLower productShort;
|
||||
hiName = toUpper productShort;
|
||||
mainProgram = concatStringsSep "-" (init (splitString "-" name));
|
||||
vmoptsName = loName
|
||||
+ lib.optionalString stdenv.hostPlatform.is64bit "64"
|
||||
+ ".vmoptions";
|
||||
in
|
||||
|
||||
with stdenv; lib.makeOverridable mkDerivation (rec {
|
||||
inherit name src;
|
||||
meta = args.meta // { inherit mainProgram; };
|
||||
inherit pname version src;
|
||||
meta = args.meta // { mainProgram = pname; };
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = mainProgram;
|
||||
exec = mainProgram;
|
||||
name = pname;
|
||||
exec = pname;
|
||||
comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
|
||||
desktopName = product;
|
||||
genericName = meta.description;
|
||||
categories = [ "Development" ];
|
||||
icon = mainProgram;
|
||||
icon = pname;
|
||||
startupWMClass = wmClass;
|
||||
};
|
||||
|
||||
|
@ -62,16 +61,16 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
|
||||
cp -a . $out/$name
|
||||
ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
|
||||
mv bin/fsnotifier* $out/libexec/${name}/.
|
||||
mkdir -p $out/{bin,$pname,share/pixmaps,libexec/${pname}}
|
||||
cp -a . $out/$pname
|
||||
ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png
|
||||
mv bin/fsnotifier* $out/libexec/${pname}/.
|
||||
|
||||
jdk=${jdk.home}
|
||||
item=${desktopItem}
|
||||
|
||||
makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
|
||||
--prefix PATH : "$out/libexec/${name}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
|
||||
makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}" \
|
||||
--prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
|
||||
# Some internals want libstdc++.so.6
|
||||
stdenv.cc.cc.lib libsecret e2fsprogs
|
||||
|
|
|
@ -32,7 +32,8 @@ rec {
|
|||
'';
|
||||
|
||||
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;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "micro";
|
||||
|
@ -24,6 +24,8 @@ buildGoModule rec {
|
|||
install -Dt $out/share/applications assets/packaging/micro.desktop
|
||||
'';
|
||||
|
||||
passthru.tests.expect = callPackage ./test-with-expect.nix {};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://micro-editor.github.io";
|
||||
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 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qxmledit-${version}" ;
|
||||
pname = "qxmledit" ;
|
||||
version = "0.9.15" ;
|
||||
src = fetchFromGitHub ( lib.importJSON ./qxmledit.json ) ;
|
||||
nativeBuildInputs = [ qmake ] ;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ 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,
|
||||
autoconf, hexdump, perl, nixosTests,
|
||||
supportFlags,
|
||||
|
@ -13,7 +13,7 @@ with import ./util.nix { inherit lib; };
|
|||
|
||||
let
|
||||
patches' = patches;
|
||||
prevName = name;
|
||||
prevName = pname;
|
||||
prevPlatforms = platforms;
|
||||
prevConfigFlags = configureFlags;
|
||||
setupHookDarwin = makeSetupHook {
|
||||
|
@ -42,9 +42,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
|||
make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
|
||||
'';
|
||||
}) // 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
|
||||
strictDeps = true;
|
||||
|
|
|
@ -9,7 +9,7 @@ let
|
|||
vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
|
||||
in with src; {
|
||||
wine32 = pkgsi686Linux.callPackage ./base.nix {
|
||||
name = "wine-${version}";
|
||||
pname = "wine";
|
||||
inherit src version supportFlags patches moltenvk;
|
||||
pkgArches = [ pkgsi686Linux ];
|
||||
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
|
||||
|
@ -19,7 +19,7 @@ in with src; {
|
|||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
wine64 = callPackage ./base.nix {
|
||||
name = "wine64-${version}";
|
||||
pname = "wine64";
|
||||
inherit src version supportFlags patches moltenvk;
|
||||
pkgArches = [ pkgs ];
|
||||
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
|
||||
|
@ -30,7 +30,7 @@ in with src; {
|
|||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
wineWow = callPackage ./base.nix {
|
||||
name = "wine-wow-${version}";
|
||||
pname = "wine-wow";
|
||||
inherit src version supportFlags patches moltenvk;
|
||||
stdenv = stdenv_32bit;
|
||||
pkgArches = [ pkgs pkgsi686Linux ];
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "grass";
|
||||
pname = "grass";
|
||||
version = "7.8.6";
|
||||
|
||||
src = with lib; fetchFromGitHub {
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drawio";
|
||||
version = "16.5.1";
|
||||
version = "17.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
|
||||
sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9";
|
||||
sha256 = "28019774a18f6e74c0d126346ae3551b5eb9c73aae13fe87f6d49120c183697a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -36,13 +36,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-photos";
|
||||
version = "40.0";
|
||||
version = "42.0";
|
||||
|
||||
outputs = [ "out" "installedTests" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0";
|
||||
sha256 = "JcsoFCUZnex7BF8T8y+PlgNMsMuLlNlvnf+vT1vmhVE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "A simple and fast image viewer for X";
|
||||
homepage = "http://lxde.sourceforge.net/gpicview/";
|
||||
repositories.git = "git://lxde.git.sourceforge.net/gitroot/lxde/gpicview";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
platforms = platforms.unix;
|
||||
|
|
|
@ -33,11 +33,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gthumb";
|
||||
version = "3.12.0";
|
||||
version = "3.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-Pe/8AwOE5ktXNhxDfHm0ga4Uie9EyHroVugbsQ2OOD8=";
|
||||
sha256 = "sha256-ZDBmOgAHBpbGgeXru4AQc/1GpG1oEsKeL5pPgRr6Gfw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
, cairo
|
||||
, cmake
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, gettext
|
||||
, ghostscript
|
||||
, glib
|
||||
|
@ -71,6 +72,13 @@ stdenv.mkDerivation rec {
|
|||
# e.g., those from the "Effects" menu.
|
||||
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 = ''
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
applytransforms = callPackage ./extensions/applytransforms { };
|
||||
|
||||
hexmap = stdenv.mkDerivation {
|
||||
name = "hexmap";
|
||||
version = "2020-06-06";
|
||||
pname = "hexmap";
|
||||
version = "unstable-2020-06-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lifelike";
|
||||
|
|
|
@ -4,14 +4,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
p_name = "mtPaint";
|
||||
ver_maj = "3.50";
|
||||
ver_min = "01";
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
pname = "mtPaint";
|
||||
version = "3.50.01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wjaguar";
|
||||
repo = p_name;
|
||||
repo = "mtPaint";
|
||||
rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
|
||||
sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
|
||||
};
|
||||
|
|
|
@ -66,7 +66,6 @@ mkDerivation rec {
|
|||
description = "Qt-based image viewer";
|
||||
maintainers = with lib.maintainers; [ mindavi ];
|
||||
license = licenses.gpl3Plus;
|
||||
repositories.git = "https://github.com/nomacs/nomacs.git";
|
||||
inherit (qtbase.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ mkDerivation, lib, extra-cmake-modules
|
||||
{ mkDerivation, fetchpatch, lib, extra-cmake-modules
|
||||
, qtdeclarative, ki18n, kmime, kpkpass
|
||||
, poppler, kcontacts, kcalendarcore
|
||||
, shared-mime-info
|
||||
|
@ -10,6 +10,15 @@ mkDerivation {
|
|||
license = with lib.licenses; [ lgpl21 ];
|
||||
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 = [
|
||||
extra-cmake-modules
|
||||
shared-mime-info # for update-mime-database
|
||||
|
|
|
@ -101,6 +101,7 @@ in stdenv.mkDerivation rec {
|
|||
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}"
|
||||
'') + ''
|
||||
|
||||
# Icons
|
||||
cp -a resources/icons $out/share
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, atk
|
||||
, cairo
|
||||
, desktop-file-utils
|
||||
|
@ -32,6 +34,16 @@ stdenv.mkDerivation rec {
|
|||
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 = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
|
|
|
@ -16,9 +16,10 @@
|
|||
, maven
|
||||
, webkitgtk
|
||||
, glib-networking
|
||||
, javaPackages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
javaPackages.mavenfod rec {
|
||||
pname = "dbeaver";
|
||||
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
|
||||
|
||||
|
@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
|
||||
};
|
||||
|
||||
|
||||
mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
|
||||
mvnParameters = "-P desktop,all-platforms";
|
||||
|
||||
fetchedMavenDeps = stdenv.mkDerivation {
|
||||
name = "dbeaver-${version}-maven-deps";
|
||||
inherit src;
|
||||
|
@ -37,7 +42,7 @@ stdenv.mkDerivation rec {
|
|||
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
|
||||
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 =
|
||||
let
|
||||
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
|
||||
, gnome, gnupg, gtk3, udisks
|
||||
, gnome-desktop, gnupg, gtk3, udisks
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [
|
||||
autoconf autoconf-archive automake glib intltool libtool pkg-config
|
||||
];
|
||||
buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
|
||||
buildInputs = [ gnome-desktop gtk3 udisks ];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
let
|
||||
|
||||
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; [
|
||||
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
|
||||
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
||||
|
|
|
@ -82,7 +82,6 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
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";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ vrthra fpletz ];
|
||||
|
|
|
@ -111,7 +111,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
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";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ vrthra fpletz ];
|
||||
|
|
|
@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
|
|||
It uses a layered approach to connect all of the parts.
|
||||
'';
|
||||
homepage = "https://networkupstools.org/";
|
||||
repositories.git = "https://github.com/networkupstools/nut.git";
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.pierron ];
|
||||
license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
|
||||
|
|
|
@ -34,6 +34,47 @@ let
|
|||
(mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
|
||||
(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
|
||||
(
|
||||
self: super: {
|
||||
|
@ -400,7 +441,7 @@ let
|
|||
homepage = "https://octoprint.org/";
|
||||
description = "The snappy web interface for your 3D printer";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
|
||||
maintainers = with maintainers; [ abbradar gebner WhittlesJr gador ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -34,13 +34,13 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "orca";
|
||||
version = "41.2";
|
||||
version = "42.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
|
||||
sha256 = "LCUXmrQbJgsY8f+Jm+uv5olDi0nf/SEd78l2olCT9zo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
, wrapGAppsHook
|
||||
, libinput
|
||||
, gnome
|
||||
, gnome-desktop
|
||||
, glib
|
||||
, gtk3
|
||||
, wayland
|
||||
|
@ -68,7 +69,7 @@ in stdenv.mkDerivation rec {
|
|||
libinput
|
||||
glib
|
||||
gtk3
|
||||
gnome.gnome-desktop
|
||||
gnome-desktop
|
||||
# For keybindings settings schemas
|
||||
gnome.mutter
|
||||
wayland
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "taskwarrior-tui";
|
||||
version = "0.21.0";
|
||||
version = "0.21.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kdheepak";
|
||||
repo = "taskwarrior-tui";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HHYObAeJtryZWRV3T+FXRz0TgBIfw/kVL9jwaQmZcEA=";
|
||||
sha256 = "sha256-fgoK7Y+3h2VFfP8yiR8JM8Xf7UJbkX9PO1RoJRoYLW4=";
|
||||
};
|
||||
|
||||
# Because there's a test that requires terminal access
|
||||
doCheck = false;
|
||||
|
||||
cargoSha256 = "sha256-oRREvqQLigpfpnTJgVZjAwAvmUs9YSZm+D5xyFYvdb4=";
|
||||
cargoSha256 = "sha256-3rDvla1mCcQclALbomUTvE3aLzsMeIjcIbEv4KfCKZE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A terminal user interface for taskwarrior ";
|
||||
|
|
|
@ -114,7 +114,7 @@ let
|
|||
};
|
||||
|
||||
base = rec {
|
||||
name = "${packageName}-unwrapped-${version}";
|
||||
pname = "${packageName}-unwrapped";
|
||||
inherit (upstream-info) version;
|
||||
inherit packageName buildType buildPath;
|
||||
|
||||
|
|
|
@ -157,8 +157,8 @@ let
|
|||
else browser;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = lib.optionalString ungoogled "ungoogled-"
|
||||
+ "chromium${suffix}-${version}";
|
||||
pname = lib.optionalString ungoogled "ungoogled-"
|
||||
+ "chromium${suffix}";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"packageVersion": "98.0-1",
|
||||
"packageVersion": "98.0.2-1",
|
||||
"source": {
|
||||
"rev": "98.0-1",
|
||||
"sha256": "1z42a42d6z0gyc5i0pamcqq5bak6pgg1ldvlrjdyjnpvda74s0fn"
|
||||
"rev": "98.0.2-1",
|
||||
"sha256": "033l6mjmhfhf7b8p652s7ziw8zz725082hhzzvr3ahi498wshkx6"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "98.0",
|
||||
"sha512": "5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b"
|
||||
"version": "98.0.2",
|
||||
"sha512": "b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "8.0.1";
|
||||
version = "8.1.1";
|
||||
|
||||
ptFiles = stdenv.mkDerivation {
|
||||
name = "PacketTracer8Drv";
|
||||
|
@ -36,7 +36,7 @@ let
|
|||
dontUnpack = true;
|
||||
src = requireFile {
|
||||
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
|
||||
sha256 = "77a25351b016faed7c78959819c16c7013caa89c6b1872cb888cd96edd259140";
|
||||
sha256 = "08c53171aa0257a64ae7de1540f242214033cfa4f879fbc9fed5cc0d32232abf";
|
||||
url = "https://www.netacad.com";
|
||||
};
|
||||
|
||||
|
@ -72,6 +72,7 @@ let
|
|||
libXrandr
|
||||
libXrender
|
||||
libXScrnSaver
|
||||
libXtst
|
||||
xcbutilimage
|
||||
xcbutilkeysyms
|
||||
xcbutilrenderutil
|
||||
|
|
|
@ -2,20 +2,20 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "argocd";
|
||||
version = "2.3.1";
|
||||
version = "2.3.2";
|
||||
tag = "v${version}";
|
||||
# Update commit to match the tag above
|
||||
# TODO make updadeScript
|
||||
commit = "b65c1699fa2a2daa031483a3890e6911eac69068";
|
||||
commit = "ecc2af9dcaa12975e654cde8cbbeaffbb315f75c";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-cd";
|
||||
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
|
||||
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L222
|
||||
|
|
|
@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mbode ];
|
||||
repositories.git = "git://git.apache.org/flink.git";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ buildGoPackage rec {
|
|||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ mbode tazjin ];
|
||||
platforms = platforms.unix;
|
||||
repositories.git = "git://github.com/tazjin/kontemplate.git";
|
||||
|
||||
longDescription = ''
|
||||
Kontemplate is a simple CLI tool that can take sets of
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "0.17.1";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
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 ];
|
||||
|
||||
|
|
|
@ -32,6 +32,5 @@ buildGoModule rec {
|
|||
changelog = "https://github.com/derailed/popeye/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.bryanasdev000 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -63,7 +63,6 @@ let
|
|||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
|
||||
repositories.git = "git://git.apache.org/spark.git";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.3.3";
|
||||
version = "3.3.4";
|
||||
|
||||
# Fetch from GitHub in order to use `requirements.in`
|
||||
src = fetchFromGitHub {
|
||||
owner = "flexget";
|
||||
repo = "flexget";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
|
||||
hash = "sha256-/nuY8+/RMM7ASke+NXb95yu+FeQHawCdgqVsBrk/KZ8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
, evolution-data-server
|
||||
, feedbackd
|
||||
, glibmm
|
||||
, gnome
|
||||
, gnome-desktop
|
||||
, gspell
|
||||
, gtk3
|
||||
, json-glib
|
||||
|
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
|
|||
evolution-data-server
|
||||
feedbackd
|
||||
glibmm
|
||||
gnome.gnome-desktop
|
||||
gnome-desktop
|
||||
gspell
|
||||
gtk3
|
||||
json-glib
|
||||
|
|
|
@ -88,7 +88,6 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
|
|||
'';
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ttuegel ];
|
||||
repositories.git = "https://github.com/quassel/quassel.git";
|
||||
inherit (qtbase.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@ python3Packages.buildPythonApplication rec {
|
|||
GMail account.
|
||||
'';
|
||||
homepage = "https://lieer.gaute.vetsj.com/";
|
||||
repositories.git = "https://github.com/gauteh/lieer.git";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ flokli kaiha ];
|
||||
};
|
||||
|
|
|
@ -9,13 +9,7 @@
|
|||
, withManpage ? false
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
let
|
||||
notmuch2 = callPackage ./notmuch.nix {
|
||||
inherit notmuch;
|
||||
};
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
with python3.pkgs; buildPythonApplication rec {
|
||||
pname = "alot";
|
||||
version = "0.10";
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue