mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-04-13 11:17:35 +00:00
Merge master into haskell-updates
This commit is contained in:
commit
6982839dbf
@ -134,7 +134,7 @@ If one of your favourite plugins isn't packaged, you can package it yourself:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
easygrep = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||
easygrep = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-easygrep";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "dkprice";
|
||||
|
@ -1478,7 +1478,7 @@ This flag can break dynamic shared object loading. For instance, the module syst
|
||||
|
||||
#### `bindnow` {#bindnow}
|
||||
|
||||
Adds the `-z bindnow` linker option. During program load, all dynamic symbols are resolved, allowing for the complete GOT to be marked read-only (due to `relro`). This prevents GOT overwrite attacks. For very large applications, this can incur some performance loss during initial load while symbols are resolved, but this shouldn’t be an issue for daemons.
|
||||
Adds the `-z now` linker option. During program load, all dynamic symbols are resolved, allowing for the complete GOT to be marked read-only (due to `relro`). This prevents GOT overwrite attacks. For very large applications, this can incur some performance loss during initial load while symbols are resolved, but this shouldn’t be an issue for daemons.
|
||||
|
||||
This flag can break dynamic shared object loading. For instance, the module systems of Xorg and PHP are incompatible with this flag. Programs incompatible with this flag often fail at runtime due to missing symbols, like:
|
||||
|
||||
|
@ -338,7 +338,7 @@ rec {
|
||||
);
|
||||
|
||||
/*
|
||||
Like builtins.foldl' but for attribute sets.
|
||||
Like [`lib.lists.foldl'`](#function-library-lib.lists.foldl-prime) but for attribute sets.
|
||||
Iterates over every name-value pair in the given attribute set.
|
||||
The result of the callback function is often called `acc` for accumulator. It is passed between callbacks from left to right and the final `acc` is the return value of `foldlAttrs`.
|
||||
|
||||
@ -372,9 +372,9 @@ rec {
|
||||
123
|
||||
|
||||
foldlAttrs
|
||||
(_: _: v: v)
|
||||
(throw "initial accumulator not needed")
|
||||
{ z = 3; a = 2; };
|
||||
(acc: _: _: acc)
|
||||
3
|
||||
{ z = throw "value not needed"; a = throw "value not needed"; };
|
||||
->
|
||||
3
|
||||
|
||||
|
@ -106,6 +106,7 @@ let
|
||||
upperChars toLower toUpper addContextFrom splitString
|
||||
removePrefix removeSuffix versionOlder versionAtLeast
|
||||
getName getVersion
|
||||
cmakeOptionType cmakeBool cmakeFeature
|
||||
mesonOption mesonBool mesonEnable
|
||||
nameFromURL enableFeature enableFeatureAs withFeature
|
||||
withFeatureAs fixedWidthString fixedWidthNumber
|
||||
|
@ -86,15 +86,63 @@ rec {
|
||||
else op (foldl' (n - 1)) (elemAt list n);
|
||||
in foldl' (length list - 1);
|
||||
|
||||
/* Strict version of `foldl`.
|
||||
/*
|
||||
Reduce a list by applying a binary operator from left to right,
|
||||
starting with an initial accumulator.
|
||||
|
||||
The difference is that evaluation is forced upon access. Usually used
|
||||
with small whole results (in contrast with lazily-generated list or large
|
||||
lists where only a part is consumed.)
|
||||
Before each application of the operator, the accumulator value is evaluated.
|
||||
This behavior makes this function stricter than [`foldl`](#function-library-lib.lists.foldl).
|
||||
|
||||
Type: foldl' :: (b -> a -> b) -> b -> [a] -> b
|
||||
Unlike [`builtins.foldl'`](https://nixos.org/manual/nix/unstable/language/builtins.html#builtins-foldl'),
|
||||
the initial accumulator argument is evaluated before the first iteration.
|
||||
|
||||
A call like
|
||||
|
||||
```nix
|
||||
foldl' op acc₀ [ x₀ x₁ x₂ ... xₙ₋₁ xₙ ]
|
||||
```
|
||||
|
||||
is (denotationally) equivalent to the following,
|
||||
but with the added benefit that `foldl'` itself will never overflow the stack.
|
||||
|
||||
```nix
|
||||
let
|
||||
acc₁ = builtins.seq acc₀ (op acc₀ x₀ );
|
||||
acc₂ = builtins.seq acc₁ (op acc₁ x₁ );
|
||||
acc₃ = builtins.seq acc₂ (op acc₂ x₂ );
|
||||
...
|
||||
accₙ = builtins.seq accₙ₋₁ (op accₙ₋₁ xₙ₋₁);
|
||||
accₙ₊₁ = builtins.seq accₙ (op accₙ xₙ );
|
||||
in
|
||||
accₙ₊₁
|
||||
|
||||
# Or ignoring builtins.seq
|
||||
op (op (... (op (op (op acc₀ x₀) x₁) x₂) ...) xₙ₋₁) xₙ
|
||||
```
|
||||
|
||||
Type: foldl' :: (acc -> x -> acc) -> acc -> [x] -> acc
|
||||
|
||||
Example:
|
||||
foldl' (acc: x: acc + x) 0 [1 2 3]
|
||||
=> 6
|
||||
*/
|
||||
foldl' = builtins.foldl' or foldl;
|
||||
foldl' =
|
||||
/* The binary operation to run, where the two arguments are:
|
||||
|
||||
1. `acc`: The current accumulator value: Either the initial one for the first iteration, or the result of the previous iteration
|
||||
2. `x`: The corresponding list element for this iteration
|
||||
*/
|
||||
op:
|
||||
# The initial accumulator value
|
||||
acc:
|
||||
# The list to fold
|
||||
list:
|
||||
|
||||
# The builtin `foldl'` is a bit lazier than one might expect.
|
||||
# See https://github.com/NixOS/nix/pull/7158.
|
||||
# In particular, the initial accumulator value is not forced before the first iteration starts.
|
||||
builtins.seq acc
|
||||
(builtins.foldl' op acc list);
|
||||
|
||||
/* Map with index starting from 0
|
||||
|
||||
|
@ -741,6 +741,64 @@ rec {
|
||||
name = head (splitString sep filename);
|
||||
in assert name != filename; name;
|
||||
|
||||
/* Create a "-D<feature>:<type>=<value>" string that can be passed to typical
|
||||
CMake invocations.
|
||||
|
||||
Type: cmakeOptionType :: string -> string -> string -> string
|
||||
|
||||
@param feature The feature to be set
|
||||
@param type The type of the feature to be set, as described in
|
||||
https://cmake.org/cmake/help/latest/command/set.html
|
||||
the possible values (case insensitive) are:
|
||||
BOOL FILEPATH PATH STRING INTERNAL
|
||||
@param value The desired value
|
||||
|
||||
Example:
|
||||
cmakeOptionType "string" "ENGINE" "sdl2"
|
||||
=> "-DENGINE:STRING=sdl2"
|
||||
*/
|
||||
cmakeOptionType = type: feature: value:
|
||||
assert (lib.elem (lib.toUpper type)
|
||||
[ "BOOL" "FILEPATH" "PATH" "STRING" "INTERNAL" ]);
|
||||
assert (lib.isString feature);
|
||||
assert (lib.isString value);
|
||||
"-D${feature}:${lib.toUpper type}=${value}";
|
||||
|
||||
/* Create a -D<condition>={TRUE,FALSE} string that can be passed to typical
|
||||
CMake invocations.
|
||||
|
||||
Type: cmakeBool :: string -> bool -> string
|
||||
|
||||
@param condition The condition to be made true or false
|
||||
@param flag The controlling flag of the condition
|
||||
|
||||
Example:
|
||||
cmakeBool "ENABLE_STATIC_LIBS" false
|
||||
=> "-DENABLESTATIC_LIBS:BOOL=FALSE"
|
||||
*/
|
||||
cmakeBool = condition: flag:
|
||||
assert (lib.isString condition);
|
||||
assert (lib.isBool flag);
|
||||
cmakeOptionType "bool" condition (lib.toUpper (lib.boolToString flag));
|
||||
|
||||
/* Create a -D<feature>:STRING=<value> string that can be passed to typical
|
||||
CMake invocations.
|
||||
This is the most typical usage, so it deserves a special case.
|
||||
|
||||
Type: cmakeFeature :: string -> string -> string
|
||||
|
||||
@param condition The condition to be made true or false
|
||||
@param flag The controlling flag of the condition
|
||||
|
||||
Example:
|
||||
cmakeFeature "MODULES" "badblock"
|
||||
=> "-DMODULES:STRING=badblock"
|
||||
*/
|
||||
cmakeFeature = feature: value:
|
||||
assert (lib.isString feature);
|
||||
assert (lib.isString value);
|
||||
cmakeOptionType "string" feature value;
|
||||
|
||||
/* Create a -D<feature>=<value> string that can be passed to typical Meson
|
||||
invocations.
|
||||
|
||||
|
@ -505,6 +505,38 @@ runTests {
|
||||
};
|
||||
};
|
||||
|
||||
testFoldl'Empty = {
|
||||
expr = foldl' (acc: el: abort "operation not called") 0 [ ];
|
||||
expected = 0;
|
||||
};
|
||||
|
||||
testFoldl'IntegerAdding = {
|
||||
expr = foldl' (acc: el: acc + el) 0 [ 1 2 3 ];
|
||||
expected = 6;
|
||||
};
|
||||
|
||||
# The accumulator isn't forced deeply
|
||||
testFoldl'NonDeep = {
|
||||
expr = take 3 (foldl'
|
||||
(acc: el: [ el ] ++ acc)
|
||||
[ (abort "unevaluated list entry") ]
|
||||
[ 1 2 3 ]);
|
||||
expected = [ 3 2 1 ];
|
||||
};
|
||||
|
||||
# Compared to builtins.foldl', lib.foldl' evaluates the first accumulator strictly too
|
||||
testFoldl'StrictInitial = {
|
||||
expr = (builtins.tryEval (foldl' (acc: el: el) (throw "hello") [])).success;
|
||||
expected = false;
|
||||
};
|
||||
|
||||
# Make sure we don't get a stack overflow for large lists
|
||||
# This number of elements would notably cause a stack overflow if it was implemented without the `foldl'` builtin
|
||||
testFoldl'Large = {
|
||||
expr = foldl' (acc: el: acc + el) 0 (range 0 100000);
|
||||
expected = 5000050000;
|
||||
};
|
||||
|
||||
testTake = testAllTrue [
|
||||
([] == (take 0 [ 1 2 3 ]))
|
||||
([1] == (take 1 [ 1 2 3 ]))
|
||||
@ -708,7 +740,7 @@ runTests {
|
||||
# should just return the initial value
|
||||
emptySet = foldlAttrs (throw "function not needed") 123 { };
|
||||
# should just evaluate to the last value
|
||||
accNotNeeded = foldlAttrs (_acc: _name: v: v) (throw "accumulator not needed") { z = 3; a = 2; };
|
||||
valuesNotNeeded = foldlAttrs (acc: _name: _v: acc) 3 { z = throw "value z not needed"; a = throw "value a not needed"; };
|
||||
# the accumulator doesnt have to be an attrset it can be as trivial as being just a number or string
|
||||
trivialAcc = foldlAttrs (acc: _name: v: acc * 10 + v) 1 { z = 1; a = 2; };
|
||||
};
|
||||
@ -718,7 +750,7 @@ runTests {
|
||||
names = [ "bar" "foo" ];
|
||||
};
|
||||
emptySet = 123;
|
||||
accNotNeeded = 3;
|
||||
valuesNotNeeded = 3;
|
||||
trivialAcc = 121;
|
||||
};
|
||||
};
|
||||
|
@ -11835,6 +11835,13 @@
|
||||
githubId = 2072185;
|
||||
name = "Marc Scholten";
|
||||
};
|
||||
mrcjkb = {
|
||||
email = "marc@jakobi.dev";
|
||||
matrix = "@mrcjk:matrix.org";
|
||||
name = "Marc Jakobi";
|
||||
github = "mrcjkb";
|
||||
githubId = 12857160;
|
||||
};
|
||||
mredaelli = {
|
||||
email = "massimo@typish.io";
|
||||
github = "mredaelli";
|
||||
|
@ -10,6 +10,12 @@
|
||||
|
||||
- The `nixos-rebuild` command has been given a `list-generations` subcommand. See `man nixos-rebuild` for more details.
|
||||
|
||||
- [systemd](https://systemd.io) has been updated from v253 to v254, see [the release notes](https://github.com/systemd/systemd/blob/v254/NEWS#L3-L659) for more information on the changes.
|
||||
- `boot.resumeDevice` **must be specified** when hibernating if not in EFI mode.
|
||||
- systemd may warn your system about the permissions of your ESP partition (often `/boot`), this warning can be ignored for now, we are looking
|
||||
into a satisfying solution regarding this problem.
|
||||
- Updating with `nixos-rebuild boot` and rebooting is recommended, since in some rare cases the `nixos-rebuild switch` into the new generation on a live system might fail due to missing mount units.
|
||||
|
||||
- [`sudo-rs`], a reimplementation of `sudo` in Rust, is now supported.
|
||||
An experimental new module `security.sudo-rs` was added.
|
||||
Switching to it (via `security.sudo.enable = false; security.sudo-rs.enable = true;`) introduces
|
||||
@ -20,7 +26,6 @@
|
||||
|
||||
[`sudo-rs`]: https://github.com/memorysafety/sudo-rs/
|
||||
|
||||
|
||||
## New Services {#sec-release-23.11-new-services}
|
||||
|
||||
- [MCHPRS](https://github.com/MCHPR/MCHPRS), a multithreaded Minecraft server built for redstone. Available as [services.mchprs](#opt-services.mchprs.enable).
|
||||
@ -80,6 +85,8 @@
|
||||
|
||||
- [NNCP](http://www.nncpgo.org/). Added nncp-daemon and nncp-caller services. Configuration is set with [programs.nncp.settings](#opt-programs.nncp.settings) and the daemons are enabled at [services.nncp](#opt-services.nncp.caller.enable).
|
||||
|
||||
- [tuxedo-rs](https://github.com/AaronErhardt/tuxedo-rs), Rust utilities for interacting with hardware from TUXEDO Computers.
|
||||
|
||||
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
||||
|
||||
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
|
||||
@ -112,6 +119,9 @@
|
||||
|
||||
- The `services.ananicy.extraRules` option now has the type of `listOf attrs` instead of `string`.
|
||||
|
||||
- `buildVimPluginFrom2Nix` has been renamed to `buildVimPlugin`, which now
|
||||
now skips `configurePhase` and `buildPhase`
|
||||
|
||||
- JACK tools (`jack_*` except `jack_control`) have moved from the `jack2` package to `jack-example-tools`
|
||||
|
||||
- The `matrix-synapse` package & module have undergone some significant internal changes, for most setups no intervention is needed, though:
|
||||
@ -121,6 +131,8 @@
|
||||
- A list of all extras (and the extras enabled by default) can be found at the [option's reference for `services.matrix-synapse.extras`](#opt-services.matrix-synapse.extras).
|
||||
- In some cases (e.g. for running synapse workers) it was necessary to re-use the `PYTHONPATH` of `matrix-synapse.service`'s environment to have all plugins available. This isn't necessary anymore, instead `config.services.matrix-synapse.package` can be used as it points to the wrapper with properly configured `extras` and also all plugins defined via [`services.matrix-synapse.plugins`](#opt-services.matrix-synapse.plugins) available. This is also the reason for why the option is read-only now, it's supposed to be set by the module only.
|
||||
|
||||
- `netbox` was updated to 3.6. NixOS' `services.netbox.package` still defaults to 3.5 if `stateVersion` is earlier than 23.11. Please review upstream's breaking changes [for 3.6.0](https://github.com/netbox-community/netbox/releases/tag/v3.6.0) and upgrade NetBox by changing `services.netbox.package`. Database migrations will be run automatically.
|
||||
|
||||
- `etcd` has been updated to 3.5, you will want to read the [3.3 to 3.4](https://etcd.io/docs/v3.5/upgrades/upgrade_3_4/) and [3.4 to 3.5](https://etcd.io/docs/v3.5/upgrades/upgrade_3_5/) upgrade guides
|
||||
|
||||
- `gitlab` installations created or updated between versions \[15.11.0, 15.11.2] have an incorrect database schema. This will become a problem when upgrading to `gitlab` >=16.2.0. A workaround for affected users can be found in the [GitLab docs](https://docs.gitlab.com/ee/update/versions/gitlab_16_changes.html#undefined-column-error-upgrading-to-162-or-later).
|
||||
@ -226,6 +238,11 @@
|
||||
|
||||
- `networking.networkmanager.firewallBackend` was removed as NixOS is now using iptables-nftables-compat even when using iptables, therefore Networkmanager now uses the nftables backend unconditionally.
|
||||
|
||||
- [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl-prime) now always evaluates the initial accumulator argument first.
|
||||
If you depend on the lazier behavior, consider using [`lib.lists.foldl`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl) or [`builtins.foldl'`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-foldl') instead.
|
||||
|
||||
- [`lib.attrsets.foldlAttrs`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.attrsets.foldlAttrs) now always evaluates the initial accumulator argument first.
|
||||
|
||||
- `rome` was removed because it is no longer maintained and is succeeded by `biome`.
|
||||
|
||||
- The `services.mtr-exporter.target` has been removed in favor of `services.mtr-exporter.jobs` which allows specifying multiple targets.
|
||||
@ -254,6 +271,8 @@
|
||||
|
||||
- New options were added to `services.searx` for better SearXNG support, including options for the built-in rate limiter and bot protection and automatically configuring a local redis server.
|
||||
|
||||
- `jq` was updated to 1.7, its [first release in 5 years](https://github.com/jqlang/jq/releases/tag/jq-1.7).
|
||||
|
||||
- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
|
||||
|
||||
- DocBook option documentation is no longer supported, all module documentation now uses markdown.
|
||||
@ -325,6 +344,24 @@ The module update takes care of the new config syntax and the data itself (user
|
||||
- `keepTerminfo` controls whether `TERMINFO` and `TERMINFO_DIRS` are preserved
|
||||
for `root` and the `wheel` group.
|
||||
|
||||
- CoreDNS can now be built with external plugins by overriding `externalPlugins` and `vendorHash` arguments like this:
|
||||
|
||||
```
|
||||
services.coredns = {
|
||||
enable = true;
|
||||
package = pkgs.coredns.override {
|
||||
externalPlugins = [
|
||||
{name = "fanout"; repo = "github.com/networkservicemesh/fanout"; version = "v1.9.1";}
|
||||
];
|
||||
vendorHash = "<SRI hash>";
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
To get the necessary SRI hash, set `vendorHash = "";`. The build will fail and produce the correct `vendorHash` in the error message.
|
||||
|
||||
If you use this feature, updates to CoreDNS may require updating `vendorHash` by following these steps again.
|
||||
|
||||
|
||||
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
|
||||
|
||||
|
@ -168,6 +168,9 @@ in
|
||||
# ...but only the keymaps if we don't
|
||||
"/etc/kbd/keymaps" = lib.mkIf (!cfg.earlySetup) { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/keymaps"; };
|
||||
};
|
||||
boot.initrd.systemd.additionalUpstreamUnits = [
|
||||
"systemd-vconsole-setup.service"
|
||||
];
|
||||
boot.initrd.systemd.storePaths = [
|
||||
"${config.boot.initrd.systemd.package}/lib/systemd/systemd-vconsole-setup"
|
||||
"${config.boot.initrd.systemd.package.kbd}/bin/setfont"
|
||||
|
@ -188,6 +188,7 @@ in
|
||||
nativeBuildInputs = [
|
||||
cfg.package
|
||||
pkgs.fakeroot
|
||||
pkgs.util-linux
|
||||
] ++ fileSystemTools;
|
||||
} ''
|
||||
amendedRepartDefinitions=$(${amendRepartDefinitions} ${partitions} ${definitionsDirectory})
|
||||
@ -195,7 +196,7 @@ in
|
||||
mkdir -p $out
|
||||
cd $out
|
||||
|
||||
fakeroot systemd-repart \
|
||||
unshare --map-root-user fakeroot systemd-repart \
|
||||
--dry-run=no \
|
||||
--empty=create \
|
||||
--size=auto \
|
||||
|
@ -541,6 +541,7 @@
|
||||
./services/hardware/tlp.nix
|
||||
./services/hardware/trezord.nix
|
||||
./services/hardware/triggerhappy.nix
|
||||
./services/hardware/tuxedo-rs.nix
|
||||
./services/hardware/udev.nix
|
||||
./services/hardware/udisks2.nix
|
||||
./services/hardware/undervolt.nix
|
||||
|
@ -106,12 +106,14 @@ in
|
||||
identMap = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExample ''
|
||||
map-name-0 system-username-0 database-username-0
|
||||
map-name-1 system-username-1 database-username-1
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
Defines the mapping from system users to database users.
|
||||
|
||||
The general form is:
|
||||
|
||||
map-name system-username database-username
|
||||
See the [auth doc](https://postgresql.org/docs/current/auth-username-maps.html).
|
||||
'';
|
||||
};
|
||||
|
||||
@ -128,6 +130,11 @@ in
|
||||
initialScript = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = literalExpression ''
|
||||
pkgs.writeText "init-sql-script" '''
|
||||
alter user postgres with password 'myPassword';
|
||||
''';'';
|
||||
|
||||
description = lib.mdDoc ''
|
||||
A file containing SQL statements to execute on first startup.
|
||||
'';
|
||||
@ -464,13 +471,16 @@ in
|
||||
|
||||
services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";
|
||||
|
||||
services.postgresql.authentication = mkAfter
|
||||
services.postgresql.authentication = mkMerge [
|
||||
(mkBefore "# Generated file; do not edit!")
|
||||
(mkAfter
|
||||
''
|
||||
# Generated file; do not edit!
|
||||
# default value of services.postgresql.authentication
|
||||
local all all peer
|
||||
host all all 127.0.0.1/32 md5
|
||||
host all all ::1/128 md5
|
||||
'';
|
||||
'')
|
||||
];
|
||||
|
||||
users.users.postgres =
|
||||
{ name = "postgres";
|
||||
|
@ -65,7 +65,7 @@ in
|
||||
"tlp.conf".text = (mkTlpConfig cfg.settings) + cfg.extraConfig;
|
||||
} // optionalAttrs enableRDW {
|
||||
"NetworkManager/dispatcher.d/99tlp-rdw-nm".source =
|
||||
"${tlp}/etc/NetworkManager/dispatcher.d/99tlp-rdw-nm";
|
||||
"${tlp}/usr/lib/NetworkManager/dispatcher.d/99tlp-rdw-nm";
|
||||
};
|
||||
|
||||
environment.systemPackages = [ tlp ];
|
||||
|
49
nixos/modules/services/hardware/tuxedo-rs.nix
Normal file
49
nixos/modules/services/hardware/tuxedo-rs.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.hardware.tuxedo-rs;
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
hardware.tuxedo-rs = {
|
||||
enable = mkEnableOption (lib.mdDoc "Rust utilities for interacting with hardware from TUXEDO Computers.");
|
||||
|
||||
tailor-gui.enable = mkEnableOption (lib.mdDoc "Alternative to TUXEDO Control Center, written in Rust.");
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
hardware.tuxedo-keyboard.enable = true;
|
||||
|
||||
systemd = {
|
||||
services.tailord = {
|
||||
enable = true;
|
||||
description = "Tuxedo Tailor hardware control service";
|
||||
after = [ "systemd-logind.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "com.tux.Tailor";
|
||||
ExecStart = "${pkgs.tuxedo-rs}/bin/tailord";
|
||||
Environment = "RUST_BACKTRACE=1";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.dbus.packages = [ pkgs.tuxedo-rs ];
|
||||
|
||||
environment.systemPackages = [ pkgs.tuxedo-rs ];
|
||||
}
|
||||
(mkIf cfg.tailor-gui.enable {
|
||||
environment.systemPackages = [ pkgs.tailor-gui ];
|
||||
})
|
||||
]);
|
||||
|
||||
meta.maintainers = with maintainers; [ mrcjkb ];
|
||||
}
|
@ -223,7 +223,7 @@ in
|
||||
ejabberdUser = config.services.ejabberd.user;
|
||||
}; }
|
||||
// lib.optionalAttrs (config.services.mysql.enable) { mysql-database = {
|
||||
mysqlPort = config.services.mysql.port;
|
||||
mysqlPort = config.services.mysql.settings.mysqld.port;
|
||||
mysqlSocket = "/run/mysqld/mysqld.sock";
|
||||
} // lib.optionalAttrs cfg.enableAuthentication {
|
||||
mysqlUsername = "root";
|
||||
|
@ -583,7 +583,7 @@ in
|
||||
(lport: "sshd -G -T -C lport=${toString lport} -f ${sshconf} > /dev/null")
|
||||
cfg.ports}
|
||||
${concatMapStringsSep "\n"
|
||||
(la: "sshd -G -T -C laddr=${la.addr},lport=${toString la.port} -f ${sshconf} > /dev/null")
|
||||
(la: "sshd -G -T -C ${escapeShellArg "laddr=${la.addr},lport=${toString la.port}"} -f ${sshconf} > /dev/null")
|
||||
cfg.listenAddresses}
|
||||
touch $out
|
||||
'')
|
||||
|
@ -51,8 +51,8 @@ in
|
||||
|
||||
ruleFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = /var/lib/usbguard/rules.conf;
|
||||
example = /run/secrets/usbguard-rules;
|
||||
default = "/var/lib/usbguard/rules.conf";
|
||||
example = "/run/secrets/usbguard-rules";
|
||||
description = lib.mdDoc ''
|
||||
This tells the USBGuard daemon which file to load as policy rule set.
|
||||
|
||||
|
@ -74,9 +74,18 @@ in {
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = if lib.versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox else pkgs.netbox_3_3;
|
||||
default =
|
||||
if lib.versionAtLeast config.system.stateVersion "23.11"
|
||||
then pkgs.netbox_3_6
|
||||
else if lib.versionAtLeast config.system.stateVersion "23.05"
|
||||
then pkgs.netbox_3_5
|
||||
else pkgs.netbox_3_3;
|
||||
defaultText = lib.literalExpression ''
|
||||
if versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox else pkgs.netbox_3_3;
|
||||
if lib.versionAtLeast config.system.stateVersion "23.11"
|
||||
then pkgs.netbox_3_6
|
||||
else if lib.versionAtLeast config.system.stateVersion "23.05"
|
||||
then pkgs.netbox_3_5
|
||||
else pkgs.netbox_3_3;
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
NetBox package to use.
|
||||
|
@ -146,6 +146,10 @@ let
|
||||
error_log ${cfg.logError};
|
||||
daemon off;
|
||||
|
||||
${optionalString cfg.enableQuicBPF ''
|
||||
quic_bpf on;
|
||||
''}
|
||||
|
||||
${cfg.config}
|
||||
|
||||
${optionalString (cfg.eventsConfig != "" || cfg.config == "") ''
|
||||
@ -783,6 +787,19 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
enableQuicBPF = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Enables routing of QUIC packets using eBPF. When enabled, this allows
|
||||
to support QUIC connection migration. The directive is only supported
|
||||
on Linux 5.7+.
|
||||
Note that enabling this option will make nginx run with extended
|
||||
capabilities that are usually limited to processes running as root
|
||||
namely `CAP_SYS_ADMIN` and `CAP_NET_ADMIN`.
|
||||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "nginx";
|
||||
@ -1125,6 +1142,14 @@ in
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
assertion = cfg.package.pname != "nginxQuic" -> !(cfg.enableQuicBPF);
|
||||
message = ''
|
||||
services.nginx.enableQuicBPF requires using nginxQuic package,
|
||||
which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
assertion = cfg.package.pname != "nginxQuic" -> all (host: !host.quic) (attrValues virtualHosts);
|
||||
message = ''
|
||||
@ -1224,8 +1249,8 @@ in
|
||||
# New file permissions
|
||||
UMask = "0027"; # 0640 / 0750
|
||||
# Capabilities
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ];
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ] ++ optionals cfg.enableQuicBPF [ "CAP_SYS_ADMIN" "CAP_NET_ADMIN" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ] ++ optionals cfg.enableQuicBPF [ "CAP_SYS_ADMIN" "CAP_NET_ADMIN" ];
|
||||
# Security
|
||||
NoNewPrivileges = true;
|
||||
# Sandboxing (sorted by occurrence in https://www.freedesktop.org/software/systemd/man/systemd.exec.html)
|
||||
@ -1250,6 +1275,7 @@ in
|
||||
# System Call Filtering
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @setuid" ]
|
||||
++ optional cfg.enableQuicBPF [ "bpf" ]
|
||||
++ optionals ((cfg.package != pkgs.tengine) && (cfg.package != pkgs.openresty) && (!lib.any (mod: (mod.disableIPC or false)) cfg.package.modules)) [ "~@ipc" ];
|
||||
};
|
||||
};
|
||||
|
@ -799,6 +799,8 @@ let
|
||||
"UseAddress"
|
||||
"UseDNS"
|
||||
"UseNTP"
|
||||
"UseHostname"
|
||||
"UseDomains"
|
||||
"RouteMetric"
|
||||
"RapidCommit"
|
||||
"MUDURL"
|
||||
@ -813,16 +815,20 @@ let
|
||||
"DUIDRawData"
|
||||
"IAID"
|
||||
"UseDelegatedPrefix"
|
||||
"SendRelease"
|
||||
])
|
||||
(assertValueOneOf "UseAddress" boolValues)
|
||||
(assertValueOneOf "UseDNS" boolValues)
|
||||
(assertValueOneOf "UseNTP" boolValues)
|
||||
(assertValueOneOf "UseHostname" boolValues)
|
||||
(assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
|
||||
(assertInt "RouteMetric")
|
||||
(assertValueOneOf "RapidCommit" boolValues)
|
||||
(assertValueOneOf "WithoutRA" ["no" "solicit" "information-request"])
|
||||
(assertRange "SendOption" 1 65536)
|
||||
(assertInt "IAID")
|
||||
(assertValueOneOf "UseDelegatedPrefix" boolValues)
|
||||
(assertValueOneOf "SendRelease" boolValues)
|
||||
];
|
||||
|
||||
sectionDHCPPrefixDelegation = checkUnitConfig "DHCPPrefixDelegation" [
|
||||
@ -948,10 +954,12 @@ let
|
||||
"Prefix"
|
||||
"PreferredLifetimeSec"
|
||||
"ValidLifetimeSec"
|
||||
"Assign"
|
||||
"Token"
|
||||
])
|
||||
(assertValueOneOf "AddressAutoconfiguration" boolValues)
|
||||
(assertValueOneOf "OnLink" boolValues)
|
||||
(assertValueOneOf "Assign" boolValues)
|
||||
];
|
||||
|
||||
sectionIPv6RoutePrefix = checkUnitConfig "IPv6RoutePrefix" [
|
||||
|
@ -48,6 +48,7 @@ let
|
||||
"rescue.service"
|
||||
|
||||
# Udev.
|
||||
"systemd-tmpfiles-setup-dev-early.service"
|
||||
"systemd-udevd-control.socket"
|
||||
"systemd-udevd-kernel.socket"
|
||||
"systemd-udevd.service"
|
||||
|
@ -57,7 +57,6 @@ let
|
||||
"systemd-ask-password-console.service"
|
||||
"systemd-fsck@.service"
|
||||
"systemd-halt.service"
|
||||
"systemd-hibernate-resume@.service"
|
||||
"systemd-journald-audit.socket"
|
||||
"systemd-journald-dev-log.socket"
|
||||
"systemd-journald.service"
|
||||
|
@ -531,8 +531,8 @@ in {
|
||||
netdata = handleTest ./netdata.nix {};
|
||||
networking.networkd = handleTest ./networking.nix { networkd = true; };
|
||||
networking.scripted = handleTest ./networking.nix { networkd = false; };
|
||||
netbox = handleTest ./web-apps/netbox.nix { inherit (pkgs) netbox; };
|
||||
netbox_3_3 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_3; };
|
||||
netbox_3_5 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_5; };
|
||||
netbox_3_6 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_6; };
|
||||
netbox-upgrade = handleTest ./web-apps/netbox-upgrade.nix {};
|
||||
# TODO: put in networking.nix after the test becomes more complete
|
||||
networkingProxy = handleTest ./networking-proxy.nix {};
|
||||
|
@ -57,7 +57,7 @@ in {
|
||||
|
||||
{
|
||||
services.openssh = {
|
||||
enable = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
|
||||
enable = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } { addr = "[::]"; port = 22; } ];
|
||||
extraConfig = ''
|
||||
# Combined test for two (predictable) Match criterias
|
||||
Match LocalAddress 127.0.0.1 LocalPort 22
|
||||
|
@ -1,13 +1,15 @@
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }: let
|
||||
oldNetbox = pkgs.netbox_3_3;
|
||||
oldNetbox = pkgs.netbox_3_5;
|
||||
newNetbox = pkgs.netbox_3_6;
|
||||
in {
|
||||
name = "netbox-upgrade";
|
||||
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ minijackson ];
|
||||
maintainers = [ minijackson raitobezarius ];
|
||||
};
|
||||
|
||||
nodes.machine = { config, ... }: {
|
||||
virtualisation.memorySize = 2048;
|
||||
services.netbox = {
|
||||
enable = true;
|
||||
package = oldNetbox;
|
||||
@ -32,7 +34,7 @@ in {
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
specialisation.upgrade.configuration.services.netbox.package = lib.mkForce pkgs.netbox;
|
||||
specialisation.upgrade.configuration.services.netbox.package = lib.mkForce newNetbox;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
@ -43,7 +45,7 @@ in {
|
||||
(lib.concatStringsSep ".")
|
||||
];
|
||||
oldApiVersion = apiVersion oldNetbox.version;
|
||||
newApiVersion = apiVersion pkgs.netbox.version;
|
||||
newApiVersion = apiVersion newNetbox.version;
|
||||
in
|
||||
''
|
||||
start_all()
|
||||
|
@ -16,6 +16,7 @@ in import ../make-test-python.nix ({ lib, pkgs, netbox, ... }: {
|
||||
};
|
||||
|
||||
nodes.machine = { config, ... }: {
|
||||
virtualisation.memorySize = 2048;
|
||||
services.netbox = {
|
||||
enable = true;
|
||||
package = netbox;
|
||||
|
@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_BINDIR=bin"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
||||
--replace '/usr/bin/zenity' '${gnome.zenity}/bin/zenity'
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DSFIZZ_TESTS=ON" ];
|
||||
cmakeFlags = [ "-DSFIZZ_TESTS=ON" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
@ -22,7 +22,7 @@ mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=" ];
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=" ];
|
||||
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
|
@ -14,14 +14,14 @@ let
|
||||
# If an update breaks things, one of those might have valuable info:
|
||||
# https://aur.archlinux.org/packages/spotify/
|
||||
# https://community.spotify.com/t5/Desktop-Linux
|
||||
version = "1.2.11.916.geb595a67";
|
||||
version = "1.2.13.661.ga588f749";
|
||||
# To get the latest stable revision:
|
||||
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
|
||||
# To get general information:
|
||||
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
|
||||
# More examples of api usage:
|
||||
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
|
||||
rev = "67";
|
||||
rev = "68";
|
||||
|
||||
deps = [
|
||||
alsa-lib
|
||||
@ -84,7 +84,7 @@ stdenv.mkDerivation {
|
||||
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
|
||||
src = fetchurl {
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
||||
hash = "sha512-PVqf2oigdqIrttC2tYYzSGXwOk6FLKjgIkaOPdNSCoHeoxRyHiblS6kwlgPgj2ZYjwBe6JcOc+zL+AX/cOidyg==";
|
||||
hash = "sha512-THGSRx0sGOVEB6bOHWHiy1G0Acq0hUa94tG/v+i5DA+CluI58pqj8gYQ61k/ACLJXTUyM8SA92C8DK1Go18X8w==";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ];
|
||||
|
@ -26,7 +26,6 @@ stdenv.mkDerivation {
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
];
|
||||
|
@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DUSE_DEVICE_TREZOR=ON"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
|
@ -58,7 +58,6 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DUSE_DEVICE_TREZOR=ON"
|
||||
"-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
|
@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
# "-DUSE_DEVICE_TREZOR=ON"
|
||||
# "-DBUILD_GUI_DEPS=ON"
|
||||
"-DReadline_ROOT_DIR=${readline.dev}"
|
||||
|
@ -11,6 +11,7 @@
|
||||
, unzip
|
||||
, libsecret
|
||||
, libnotify
|
||||
, udev
|
||||
, e2fsprogs
|
||||
, python3
|
||||
, vmopts ? null
|
||||
@ -109,6 +110,9 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
|
||||
# Some internals want libstdc++.so.6
|
||||
stdenv.cc.cc.lib libsecret e2fsprogs
|
||||
libnotify
|
||||
# Required for Help -> Collect Logs
|
||||
# in at least rider and goland
|
||||
udev
|
||||
] ++ extraLdPath)}" \
|
||||
${lib.concatStringsSep " " extraWrapperArgs} \
|
||||
--set-default JDK_HOME "$jdk" \
|
||||
|
@ -115,7 +115,6 @@ in
|
||||
|
||||
cmakeFlags = [
|
||||
"-DRSTUDIO_TARGET=${if server then "Server" else "Desktop"}"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DRSTUDIO_USE_SYSTEM_SOCI=ON"
|
||||
"-DRSTUDIO_USE_SYSTEM_BOOST=ON"
|
||||
"-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON"
|
||||
|
@ -1,13 +1,13 @@
|
||||
{
|
||||
"version": "3.167.2",
|
||||
"version": "3.173.4",
|
||||
"deb": {
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.167.2/standard-notes-3.167.2-linux-amd64.deb",
|
||||
"hash": "sha512-xW08R1oZm8lw8Iap/TT29WJCagmcQNWXzdSDY8pArG9Fjv8nm+DcV6paVL35Hj35Dk9CJdf1KxeTRB9JW6u3dg=="
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.173.4/standard-notes-3.173.4-linux-amd64.deb",
|
||||
"hash": "sha512-8GDzj7Xm61rF5xybLE74D4yMbT2HgEG0ez1gQio/qWtWSqY72+GSKWlCA+3wz8Mz2jThRDlka9s2fHBBUvG+fg=="
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.167.2/standard-notes-3.167.2-linux-arm64.deb",
|
||||
"hash": "sha512-ua0lg6aK++RDi4WyCYygHoQasYD4+I21ip5To9ImMN072vJSyAoz9gxs8HBF+uEl4/uUBdlMCQHEioYMeJCwbw=="
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.173.4/standard-notes-3.173.4-linux-arm64.deb",
|
||||
"hash": "sha512-yJ8yZK+RkPUzkjbscCXT5yv9BxeHGQsZsCrKwOJRdd/XbcVPnKWQm00JVZmMuz17d8rhm8Km/EW81JufZByM0Q=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "9.0.1811";
|
||||
version = "9.0.1897";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim";
|
||||
repo = "vim";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-b/fATWaHcIZIvkmr/UQ4R45ii9N0kWJMb7DerF/JYIA=";
|
||||
hash = "sha256-ywxJ9evXWbqZ6o6EqDIQWK16J05McAdvPl0Y9cW5Zvc=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -16,8 +16,8 @@ rec {
|
||||
, namePrefix ? "vimplugin-"
|
||||
, src
|
||||
, unpackPhase ? ""
|
||||
, configurePhase ? ""
|
||||
, buildPhase ? ""
|
||||
, configurePhase ? ":"
|
||||
, buildPhase ? ":"
|
||||
, preInstall ? ""
|
||||
, postInstall ? ""
|
||||
, path ? "."
|
||||
@ -48,9 +48,4 @@ rec {
|
||||
in
|
||||
addRtp (toVimPlugin drv);
|
||||
|
||||
buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
|
||||
# vim plugins may override this
|
||||
buildPhase = ":";
|
||||
configurePhase = ":";
|
||||
} // attrs);
|
||||
}
|
||||
|
@ -7,14 +7,14 @@
|
||||
let
|
||||
|
||||
inherit (vimUtils.override {inherit vim;})
|
||||
buildVimPluginFrom2Nix;
|
||||
buildVimPlugin;
|
||||
|
||||
inherit (lib) extends;
|
||||
|
||||
initialPackages = self: { };
|
||||
|
||||
plugins = callPackage ./generated.nix {
|
||||
inherit buildVimPluginFrom2Nix;
|
||||
inherit buildVimPlugin;
|
||||
inherit (neovimUtils) buildNeovimPlugin;
|
||||
};
|
||||
|
||||
@ -26,7 +26,7 @@ let
|
||||
# add to ./overrides.nix.
|
||||
overrides = callPackage ./overrides.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
|
||||
inherit buildVimPluginFrom2Nix;
|
||||
inherit buildVimPlugin;
|
||||
inherit llvmPackages luaPackages;
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,10 @@
|
||||
with import <localpkgs> {};
|
||||
let
|
||||
inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix;
|
||||
inherit (vimUtils.override {inherit vim;}) buildVimPlugin;
|
||||
inherit (neovimUtils) buildNeovimPlugin;
|
||||
|
||||
generated = callPackage <localpkgs/pkgs/applications/editors/vim/plugins/generated.nix> {
|
||||
inherit buildNeovimPlugin buildVimPluginFrom2Nix;
|
||||
inherit buildNeovimPlugin buildVimPlugin;
|
||||
} {} {};
|
||||
hasChecksum = value:
|
||||
lib.isAttrs value && lib.hasAttrByPath ["src" "outputHash"] value;
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
# nixpkgs functions
|
||||
, buildGoModule
|
||||
, buildVimPluginFrom2Nix
|
||||
, buildVimPlugin
|
||||
, fetchFromGitHub
|
||||
, fetchFromSourcehut
|
||||
, fetchpatch
|
||||
@ -153,7 +153,7 @@ self: super: {
|
||||
};
|
||||
|
||||
# The GitHub repository returns 404, which breaks the update script
|
||||
bitbake-vim = buildVimPluginFrom2Nix {
|
||||
bitbake-vim = buildVimPlugin {
|
||||
pname = "bitbake.vim";
|
||||
version = "2021-02-06";
|
||||
src = fetchFromGitHub {
|
||||
@ -305,7 +305,7 @@ self: super: {
|
||||
dependencies = with self; [ nvim-cmp zsh ];
|
||||
};
|
||||
|
||||
coc-nginx = buildVimPluginFrom2Nix {
|
||||
coc-nginx = buildVimPlugin {
|
||||
pname = "coc-nginx";
|
||||
inherit (nodePackages."@yaegassy/coc-nginx") version meta;
|
||||
src = "${nodePackages."@yaegassy/coc-nginx"}/lib/node_modules/@yaegassy/coc-nginx";
|
||||
@ -553,7 +553,7 @@ self: super: {
|
||||
# Mainly used as a dependency for fzf-vim. Wraps the fzf program as a vim
|
||||
# plugin, since part of the fzf vim plugin is included in the main fzf
|
||||
# program.
|
||||
fzfWrapper = buildVimPluginFrom2Nix {
|
||||
fzfWrapper = buildVimPlugin {
|
||||
inherit (fzf) src version;
|
||||
pname = "fzf";
|
||||
postInstall = ''
|
||||
@ -594,7 +594,7 @@ self: super: {
|
||||
};
|
||||
|
||||
# https://hurl.dev/
|
||||
hurl = buildVimPluginFrom2Nix {
|
||||
hurl = buildVimPlugin {
|
||||
pname = "hurl";
|
||||
version = hurl.version;
|
||||
# dontUnpack = true;
|
||||
@ -658,7 +658,7 @@ self: super: {
|
||||
'';
|
||||
};
|
||||
in
|
||||
buildVimPluginFrom2Nix {
|
||||
buildVimPlugin {
|
||||
pname = "LanguageClient-neovim";
|
||||
inherit version;
|
||||
src = LanguageClient-neovim-src;
|
||||
@ -707,7 +707,7 @@ self: super: {
|
||||
dependencies = with self; [ plenary-nvim ];
|
||||
};
|
||||
|
||||
magma-nvim-goose = buildVimPluginFrom2Nix {
|
||||
magma-nvim-goose = buildVimPlugin {
|
||||
pname = "magma-nvim-goose";
|
||||
version = "2023-03-13";
|
||||
src = fetchFromGitHub {
|
||||
@ -767,7 +767,7 @@ self: super: {
|
||||
dependencies = with self; [ mason-nvim ];
|
||||
};
|
||||
|
||||
meson = buildVimPluginFrom2Nix {
|
||||
meson = buildVimPlugin {
|
||||
inherit (meson) pname version src;
|
||||
preInstall = "cd data/syntax-highlighting/vim";
|
||||
meta.maintainers = with lib.maintainers; [ vcunat ];
|
||||
@ -785,7 +785,7 @@ self: super: {
|
||||
vimCommandCheck = "MinimapToggle";
|
||||
};
|
||||
|
||||
minsnip-nvim = buildVimPluginFrom2Nix {
|
||||
minsnip-nvim = buildVimPlugin {
|
||||
pname = "minsnip.nvim";
|
||||
version = "2022-01-04";
|
||||
src = fetchFromGitHub {
|
||||
@ -939,7 +939,7 @@ self: super: {
|
||||
|
||||
inherit parinfer-rust;
|
||||
|
||||
phpactor = buildVimPluginFrom2Nix {
|
||||
phpactor = buildVimPlugin {
|
||||
inherit (phpactor) pname src meta version;
|
||||
postPatch = ''
|
||||
substituteInPlace plugin/phpactor.vim \
|
||||
@ -1008,7 +1008,7 @@ self: super: {
|
||||
'';
|
||||
});
|
||||
|
||||
skim = buildVimPluginFrom2Nix {
|
||||
skim = buildVimPlugin {
|
||||
pname = "skim";
|
||||
inherit (skim) version;
|
||||
src = skim.vim;
|
||||
@ -1048,7 +1048,7 @@ self: super: {
|
||||
doCheck = false;
|
||||
};
|
||||
in
|
||||
buildVimPluginFrom2Nix {
|
||||
buildVimPlugin {
|
||||
pname = "sniprun";
|
||||
inherit version src;
|
||||
|
||||
@ -1061,7 +1061,7 @@ self: super: {
|
||||
};
|
||||
|
||||
# The GitHub repository returns 404, which breaks the update script
|
||||
Spacegray-vim = buildVimPluginFrom2Nix {
|
||||
Spacegray-vim = buildVimPlugin {
|
||||
pname = "Spacegray.vim";
|
||||
version = "2021-07-06";
|
||||
src = fetchFromGitHub {
|
||||
@ -1086,7 +1086,7 @@ self: super: {
|
||||
dependencies = with self; [ nvim-treesitter ];
|
||||
};
|
||||
|
||||
statix = buildVimPluginFrom2Nix rec {
|
||||
statix = buildVimPlugin rec {
|
||||
inherit (statix) pname src meta;
|
||||
version = "0.1.0";
|
||||
postPatch = ''
|
||||
@ -1136,7 +1136,7 @@ self: super: {
|
||||
};
|
||||
};
|
||||
|
||||
taskwarrior = buildVimPluginFrom2Nix {
|
||||
taskwarrior = buildVimPlugin {
|
||||
inherit (taskwarrior) version pname;
|
||||
src = "${taskwarrior.src}/scripts/vim";
|
||||
};
|
||||
@ -1222,7 +1222,7 @@ self: super: {
|
||||
au BufNewFile,BufRead Tupfile,*.tup setf tup
|
||||
'';
|
||||
in
|
||||
buildVimPluginFrom2Nix {
|
||||
buildVimPlugin {
|
||||
inherit (tup) pname version src;
|
||||
preInstall = ''
|
||||
mkdir -p vim-plugin/syntax vim-plugin/ftdetect
|
||||
@ -1546,7 +1546,7 @@ self: super: {
|
||||
'';
|
||||
};
|
||||
|
||||
vim2nix = buildVimPluginFrom2Nix {
|
||||
vim2nix = buildVimPlugin {
|
||||
pname = "vim2nix";
|
||||
version = "1.0";
|
||||
src = ./vim2nix;
|
||||
@ -1570,7 +1570,7 @@ self: super: {
|
||||
};
|
||||
|
||||
# The GitHub repository returns 404, which breaks the update script
|
||||
VimCompletesMe = buildVimPluginFrom2Nix {
|
||||
VimCompletesMe = buildVimPlugin {
|
||||
pname = "VimCompletesMe";
|
||||
version = "2022-02-18";
|
||||
src = fetchFromGitHub {
|
||||
@ -1706,7 +1706,7 @@ self: super: {
|
||||
"coc-yaml"
|
||||
"coc-yank"
|
||||
];
|
||||
nodePackage2VimPackage = name: buildVimPluginFrom2Nix {
|
||||
nodePackage2VimPackage = name: buildVimPlugin {
|
||||
pname = name;
|
||||
inherit (nodePackages.${name}) version meta;
|
||||
src = "${nodePackages.${name}}/lib/node_modules/${name}";
|
||||
|
@ -74,7 +74,7 @@ class VimEditor(pluginupdate.Editor):
|
||||
with open(outfile, "w+") as f:
|
||||
f.write(HEADER)
|
||||
f.write(textwrap.dedent("""
|
||||
{ lib, buildVimPluginFrom2Nix, buildNeovimPlugin, fetchFromGitHub, fetchgit }:
|
||||
{ lib, buildVimPlugin, buildNeovimPlugin, fetchFromGitHub, fetchgit }:
|
||||
|
||||
final: prev:
|
||||
{
|
||||
@ -103,7 +103,7 @@ class VimEditor(pluginupdate.Editor):
|
||||
}};
|
||||
|
||||
""".format(
|
||||
buildFn="buildNeovimPlugin" if isNeovim else "buildVimPluginFrom2Nix", plugin=plugin, src_nix=src_nix, repo=repo)
|
||||
buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", plugin=plugin, src_nix=src_nix, repo=repo)
|
||||
log.debug(content)
|
||||
return content
|
||||
|
||||
|
@ -53,7 +53,7 @@ let
|
||||
};
|
||||
in
|
||||
|
||||
vimUtils.buildVimPluginFrom2Nix {
|
||||
vimUtils.buildVimPlugin {
|
||||
pname = "vim-clap";
|
||||
inherit version src meta;
|
||||
|
||||
|
@ -392,8 +392,9 @@ rec {
|
||||
|
||||
inherit (import ./build-vim-plugin.nix {
|
||||
inherit lib stdenv rtpPath toVimPlugin;
|
||||
}) buildVimPlugin buildVimPluginFrom2Nix;
|
||||
}) buildVimPlugin;
|
||||
|
||||
buildVimPluginFrom2Nix = lib.warn "buildVimPluginFrom2Nix is deprecated: use buildVimPlugin instead" buildVimPlugin;
|
||||
|
||||
# used to figure out which python dependencies etc. neovim needs
|
||||
requiredPlugins = {
|
||||
|
@ -50,7 +50,7 @@ fun! nix#NixDerivation(opts, name, repository) abort
|
||||
|
||||
let dependencies = nix#DependenciesFromCheckout(a:opts, a:name, a:repository, dir)
|
||||
return {'n_a_name': n_a_name, 'n_n_name': n_n_name, 'dependencies': dependencies, 'derivation': join([
|
||||
\ ' '.n_a_name.' = buildVimPluginFrom2Nix {'.created_notice,
|
||||
\ ' '.n_a_name.' = buildVimPlugin {'.created_notice,
|
||||
\ ' name = "'.n_n_name.'-'.date.'";',
|
||||
\ ' src = fetchgit {',
|
||||
\ ' url = "'. a:repository.url .'";',
|
||||
@ -74,7 +74,7 @@ fun! nix#NixDerivation(opts, name, repository) abort
|
||||
|
||||
let dependencies = nix#DependenciesFromCheckout(a:opts, a:name, a:repository, dir)
|
||||
return {'n_a_name': n_a_name, 'n_n_name': n_n_name, 'dependencies': dependencies, 'derivation': join([
|
||||
\ ' '.n_a_name.' = buildVimPluginFrom2Nix {'.created_notice,
|
||||
\ ' '.n_a_name.' = buildVimPlugin {'.created_notice,
|
||||
\ ' name = "'.n_n_name.'";',
|
||||
\ ' src = fetchhg {',
|
||||
\ ' url = "'. a:repository.url .'";',
|
||||
@ -99,7 +99,7 @@ fun! nix#NixDerivation(opts, name, repository) abort
|
||||
let dependencies = keys(get(addon_info, 'dependencies', {}))
|
||||
|
||||
return {'n_a_name': n_a_name, 'n_n_name': n_n_name, 'dependencies': dependencies, 'derivation': join([
|
||||
\ ' '.n_a_name.' = buildVimPluginFrom2Nix {'.created_notice,
|
||||
\ ' '.n_a_name.' = buildVimPlugin {'.created_notice,
|
||||
\ ' name = "'.n_n_name.'";',
|
||||
\ ' src = fetchurl {',
|
||||
\ ' url = "'. a:repository.url .'";',
|
||||
|
@ -100,12 +100,22 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
beetle-pce = mkLibretroCore {
|
||||
core = "mednafen-pce";
|
||||
src = getCoreSrc "beetle-pce";
|
||||
makefile = "Makefile";
|
||||
meta = {
|
||||
description = "Port of Mednafen's PC Engine core to libretro";
|
||||
license = lib.licenses.gpl2Only;
|
||||
};
|
||||
};
|
||||
|
||||
beetle-pce-fast = mkLibretroCore {
|
||||
core = "mednafen-pce-fast";
|
||||
src = getCoreSrc "beetle-pce-fast";
|
||||
makefile = "Makefile";
|
||||
meta = {
|
||||
description = "Port of Mednafen's PC Engine core to libretro";
|
||||
description = "Port of Mednafen's PC Engine fast core to libretro";
|
||||
license = lib.licenses.gpl2Only;
|
||||
};
|
||||
};
|
||||
@ -291,7 +301,11 @@ in
|
||||
core = "citra";
|
||||
extraBuildInputs = [ libGLU libGL boost ffmpeg nasm ];
|
||||
makefile = "Makefile";
|
||||
makeFlags = [ "HAVE_FFMPEG_STATIC=0" ];
|
||||
makeFlags = [
|
||||
"HAVE_FFMPEG_STATIC=0"
|
||||
# https://github.com/libretro/citra/blob/1a66174355b5ed948de48ef13c0ed508b6d6169f/Makefile#L90
|
||||
"BUILD_DATE=01/01/1970_00:00"
|
||||
];
|
||||
meta = {
|
||||
description = "Port of Citra to libretro";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
@ -506,15 +520,11 @@ in
|
||||
core = "mame";
|
||||
extraNativeBuildInputs = [ python3 ];
|
||||
extraBuildInputs = [ alsa-lib libGLU libGL ];
|
||||
# Setting this is breaking compilation of src/3rdparty/genie for some reason
|
||||
makeFlags = [ "ARCH=" ];
|
||||
meta = {
|
||||
description = "Port of MAME to libretro";
|
||||
license = with lib.licenses; [ bsd3 gpl2Plus ];
|
||||
# Build fail with errors:
|
||||
# gcc: warning: <arch>: linker input file unused because linking not done
|
||||
# gcc: error: <arch>: linker input file not found: No such file or directory
|
||||
# Removing it from platforms instead of marking as broken to allow
|
||||
# retroarchFull to be built
|
||||
platforms = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -29,6 +29,12 @@
|
||||
"rev": "65460e3a9ad529f6901caf669abbda11f437ab55",
|
||||
"hash": "sha256-+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w="
|
||||
},
|
||||
"beetle-pce": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-libretro",
|
||||
"rev": "541463bd937dad175aec09c2a0c8d6a52d175386",
|
||||
"hash": "sha256-wWS9reb6aN71Q7OlGst+32T8XX1yMCSOHUKHkXht3hg="
|
||||
},
|
||||
"beetle-pce-fast": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-fast-libretro",
|
||||
|
@ -17,6 +17,7 @@ CORES = {
|
||||
"beetle-gba": {"repo": "beetle-gba-libretro"},
|
||||
"beetle-lynx": {"repo": "beetle-lynx-libretro"},
|
||||
"beetle-ngp": {"repo": "beetle-ngp-libretro"},
|
||||
"beetle-pce": {"repo": "beetle-pce-libretro"},
|
||||
"beetle-pce-fast": {"repo": "beetle-pce-fast-libretro"},
|
||||
"beetle-pcfx": {"repo": "beetle-pcfx-libretro"},
|
||||
"beetle-psx": {"repo": "beetle-psx-libretro"},
|
||||
|
@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE='Release'"
|
||||
"-DENABLE_FFMPEG='true'"
|
||||
"-DENABLE_LINK='true'"
|
||||
"-DSYSCONFDIR=etc"
|
||||
|
@ -1,19 +1,19 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
# Last updated: 2023-09-13
|
||||
# Last updated: 2023-09-27
|
||||
{
|
||||
compatList = {
|
||||
rev = "463d5f3537eed71638d4f5809467afec1eb5988c";
|
||||
rev = "0e93552d7d65a8eb5149d69488281e4abeeba396";
|
||||
hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
|
||||
};
|
||||
|
||||
mainline = {
|
||||
version = "1557";
|
||||
hash = "sha256:19wlia1g2ll9fwbn4yj57cax4lvs3d6w41z2yy2pjdq84yzgg1gs";
|
||||
version = "1569";
|
||||
hash = "sha256:17qs5fn75zqxz0c325zyj46z79pvm2j536afyg96glq6av2kql2b";
|
||||
};
|
||||
|
||||
ea = {
|
||||
version = "3864";
|
||||
distHash = "sha256:02dxf9f33agnp91myxxklrdjalh6d32zjlg07p7v5v48mymnxhv9";
|
||||
fullHash = "sha256:020ljbgb79i66y6fqj4xblzv4s808l50jy7wwl0d6jwpck1q3i11";
|
||||
version = "3897";
|
||||
distHash = "sha256:1kxn7hcrn7kkdjgkxpxjw2pdrg73jhlbv3gvhc6z8358bav7xcbs";
|
||||
fullHash = "sha256:1zc1k90f4jzbm8l8fjfsnd77hljh4nqa78l7cczcc3yv2jwrgrz6";
|
||||
};
|
||||
}
|
||||
|
@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBRLCAD_ENABLE_STRICT=OFF"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -47,10 +47,11 @@ mkDerivation rec {
|
||||
--replace 'PYTHONPATH=''${_krita_python_path}' 'PYTHONPATH=${pythonPath}'
|
||||
'';
|
||||
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libpano13";
|
||||
version = "2.9.21";
|
||||
version = "2.9.22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/panotools/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-eeWhRSGZMF4pYUYnIO9ZQRUnecEnxblvw0DSSS5jNZA=";
|
||||
sha256 = "sha256-r/xoMM2+ccKNJzHcv43qKs2m2f/UYJxtvzugxoRAqOM=";
|
||||
};
|
||||
|
||||
buildInputs = [ perl libjpeg libpng libtiff ];
|
||||
|
@ -45,7 +45,6 @@ in stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DPARAVIEW_ENABLE_FFMPEG=ON"
|
||||
"-DPARAVIEW_ENABLE_GDAL=ON"
|
||||
"-DPARAVIEW_ENABLE_MOTIONFX=ON"
|
||||
|
35
pkgs/applications/misc/appcleaner/default.nix
Normal file
35
pkgs/applications/misc/appcleaner/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, unzip
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "appcleaner";
|
||||
version = "3.6.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://freemacsoft.net/downloads/AppCleaner_${finalAttrs.version}.zip";
|
||||
hash = "sha256-4BL3KUQkc8IOfM4zSwAYJSHktmcupoGzSTGxgP6z1r4=";
|
||||
};
|
||||
dontUnpack = true;
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
unzip -d $out/Applications $src
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Uninstall unwanted apps";
|
||||
homepage = "https://freemacsoft.net/appcleaner";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [ emilytrau Enzime ];
|
||||
platforms = platforms.darwin;
|
||||
};
|
||||
})
|
@ -15,6 +15,8 @@
|
||||
, potrace
|
||||
, openxr-loader
|
||||
, embree, gmp, libharu
|
||||
, mesa
|
||||
, runCommand
|
||||
}:
|
||||
|
||||
let
|
||||
@ -26,7 +28,7 @@ let
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "blender";
|
||||
version = "3.6.3";
|
||||
|
||||
@ -184,7 +186,45 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = { inherit python; };
|
||||
passthru = {
|
||||
inherit python;
|
||||
|
||||
tests = {
|
||||
render = runCommand "${pname}-test" { } ''
|
||||
set -euo pipefail
|
||||
|
||||
export LIBGL_DRIVERS_PATH=${mesa.drivers}/lib/dri
|
||||
export __EGL_VENDOR_LIBRARY_FILENAMES=${mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json
|
||||
|
||||
cat <<'PYTHON' > scene-config.py
|
||||
import bpy
|
||||
bpy.context.scene.eevee.taa_render_samples = 32
|
||||
bpy.context.scene.cycles.samples = 32
|
||||
if ${if stdenv.isAarch64 then "True" else "False"}:
|
||||
bpy.context.scene.cycles.use_denoising = False
|
||||
bpy.context.scene.render.resolution_x = 100
|
||||
bpy.context.scene.render.resolution_y = 100
|
||||
bpy.context.scene.render.threads_mode = 'FIXED'
|
||||
bpy.context.scene.render.threads = 1
|
||||
PYTHON
|
||||
|
||||
mkdir $out
|
||||
for engine in BLENDER_EEVEE CYCLES; do
|
||||
echo "Rendering with $engine..."
|
||||
# Beware that argument order matters
|
||||
${finalAttrs.finalPackage}/bin/blender \
|
||||
--background \
|
||||
-noaudio \
|
||||
--factory-startup \
|
||||
--python-exit-code 1 \
|
||||
--python scene-config.py \
|
||||
--engine "$engine" \
|
||||
--render-output "$out/$engine" \
|
||||
--render-frame 1
|
||||
done
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "3D Creation/Animation/Publishing System";
|
||||
@ -198,4 +238,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ goibhniu veprbl ];
|
||||
mainProgram = "blender";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -14,7 +14,7 @@
|
||||
, libXtst
|
||||
, zlib
|
||||
, maven
|
||||
, webkitgtk_4_1
|
||||
, webkitgtk
|
||||
, glib-networking
|
||||
}:
|
||||
|
||||
@ -53,7 +53,7 @@ mavenJdk17.buildMavenPackage rec {
|
||||
libXtst
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
webkitgtk_4_1
|
||||
webkitgtk
|
||||
glib-networking
|
||||
];
|
||||
|
||||
@ -109,7 +109,7 @@ mavenJdk17.buildMavenPackage rec {
|
||||
|
||||
makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
|
||||
--prefix PATH : ${jdk17}/bin \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk_4_1 glib-networking ])} \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk glib-networking ])} \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
|
||||
|
@ -40,9 +40,10 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace src/CMakeLists.txt --replace '@libirc_includes@' '${libirc.out}'
|
||||
'';
|
||||
|
||||
cmakeBuildType = "None";
|
||||
|
||||
cmakeFlags = [
|
||||
"-S" "/build/source/src"
|
||||
"-DCMAKE_BUILD_TYPE=None"
|
||||
"-DINSTALL_DATA_DIR=bin"
|
||||
"-DQT5_BUILD=ON"
|
||||
"-DWEB_ENGINE=ON"
|
||||
|
@ -52,9 +52,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=MinSizeRel"
|
||||
];
|
||||
cmakeBuildType = "MinSizeRel";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/keyleds/keyleds";
|
||||
|
@ -46,7 +46,6 @@ in
|
||||
dontWrapQtApps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=RELEASE"
|
||||
"-DSDK_ARUCO_LIBPATH=${aruco}/lib/libaruco.a"
|
||||
"-DSDK_XPLANE=${xplaneSdk}"
|
||||
];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, buildDunePackage, fetchFromGitLab, ocaml
|
||||
{ lib, buildDunePackage, fetchFromGitLab, fetchpatch, ocaml
|
||||
, fmt, lwt_ppx, menhir, ocf_ppx, ppx_blob, xtmpl_ppx
|
||||
, dune-build-info, dune-site, higlo, logs, lwt, ocf, ptime, uri, uutf, xtmpl
|
||||
}:
|
||||
@ -10,7 +10,6 @@ else
|
||||
buildDunePackage rec {
|
||||
pname = "stog";
|
||||
version = "0.20.0";
|
||||
duneVersion = "3";
|
||||
minimalOCamlVersion = "4.12";
|
||||
src = fetchFromGitLab {
|
||||
domain = "framagit.org";
|
||||
@ -20,6 +19,12 @@ buildDunePackage rec {
|
||||
sha256 = "sha256:0krj5w4y05bcfx7hk9blmap8avl31gp7yi01lpqzs6ync23mvm0x";
|
||||
};
|
||||
|
||||
# Compatibility with higlo 0.9
|
||||
patches = fetchpatch {
|
||||
url = "https://framagit.org/zoggy/stog/-/commit/ea0546ab4cda8cc5c4c820ebaf2e3dfddc2ab101.patch";
|
||||
hash = "sha256-86GRHF9OjfcalGfA0Om2wXH99j4THCs9a4+o5ghuiJc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ menhir ];
|
||||
buildInputs = [ fmt lwt_ppx ocf_ppx ppx_blob xtmpl_ppx ];
|
||||
propagatedBuildInputs = [
|
||||
|
@ -78,7 +78,7 @@ let
|
||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||
);
|
||||
|
||||
version = "12.5.4";
|
||||
version = "12.5.5";
|
||||
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
@ -86,7 +86,7 @@ let
|
||||
"https://cdn.mullvad.net/browser/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz"
|
||||
"https://github.com/mullvad/mullvad-browser/releases/download/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz"
|
||||
];
|
||||
hash = "sha256-xjCsCg6XsnXAiNw6frgJVZRV9UBZA2EAcuHa2Bjq/ro=";
|
||||
hash = "sha256-ISmhKitFReHSADGygzpoKwlBOJH2HfPDEtMjTB6fMhs=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -225,7 +225,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
inherit sources;
|
||||
updateScript = callPackage ../tor-browser-bundle-bin/update.nix {
|
||||
updateScript = callPackage ../tor-browser/update.nix {
|
||||
inherit pname version meta;
|
||||
baseUrl = "https://cdn.mullvad.net/browser/";
|
||||
prefix = "mullvad-browser-";
|
||||
|
@ -17,19 +17,19 @@
|
||||
, palemoon-bin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "palemoon-bin";
|
||||
version = "32.3.1";
|
||||
version = "32.4.0.1";
|
||||
|
||||
src = fetchzip {
|
||||
urls = [
|
||||
"https://rm-eu.palemoon.org/release/palemoon-${version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
|
||||
"https://rm-us.palemoon.org/release/palemoon-${version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
|
||||
"https://rm-eu.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
|
||||
"https://rm-us.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
|
||||
];
|
||||
hash = if withGTK3 then
|
||||
"sha256-1JYaxxkqgg/gLdZ+uGDB5BI0NKjHO4huk0b/M9QFuII="
|
||||
"sha256-kGt3pIgCjVeSD6UXRvj5w9opWrMx3q3B/Y0S55kKS08="
|
||||
else
|
||||
"sha256-p/Lid6Uv3XTEg+43Gke5VLILhzENHoBP6XjGVHy7wCY=";
|
||||
"sha256-kNvUC/ir7TKjvKXYFoEDOPAY75CEgeixmEV1tuB/WIM=";
|
||||
};
|
||||
|
||||
preferLocalBuild = true;
|
||||
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
desktopItems = [(makeDesktopItem rec {
|
||||
name = pname;
|
||||
name = "palemoon-bin";
|
||||
desktopName = "Pale Moon Web Browser";
|
||||
comment = "Browse the World Wide Web";
|
||||
keywords = [
|
||||
@ -164,6 +164,7 @@ stdenv.mkDerivation rec {
|
||||
longDescription = ''
|
||||
Pale Moon is an Open Source, Goanna-based web browser focusing on
|
||||
efficiency and customization.
|
||||
|
||||
Pale Moon offers you a browsing experience in a browser completely built
|
||||
from its own, independently developed source that has been forked off from
|
||||
Firefox/Mozilla code a number of years ago, with carefully selected
|
||||
@ -186,4 +187,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = [ "x86_64-linux" ];
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -57,7 +57,7 @@
|
||||
}:
|
||||
|
||||
lib.warnIf (useHardenedMalloc != null)
|
||||
"tor-browser-bundle-bin: useHardenedMalloc is deprecated and enabling it can cause issues"
|
||||
"tor-browser: useHardenedMalloc is deprecated and enabling it can cause issues"
|
||||
|
||||
(let
|
||||
libPath = lib.makeLibraryPath libPkgs;
|
||||
@ -92,7 +92,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "12.5.4";
|
||||
version = "12.5.5";
|
||||
|
||||
lang = "ALL";
|
||||
|
||||
@ -104,7 +104,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
];
|
||||
hash = "sha256-AIwqIz8QG7Fq3Vvd22QTNFH1fnZgtH25qUaECX50QCQ=";
|
||||
hash = "sha256-FS1ywm/UJDZiSYPf0WHikoX/o6WGIP+lQQGFeD0g2dc=";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
@ -114,7 +114,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
];
|
||||
hash = "sha256-s8UReyurIKlxG0bT0ecGUcXMTTHyYKy/AcygTE6ujqo=";
|
||||
hash = "sha256-6ozGIQPC8QnZxS1oJ0ZEdZDMY2JkwRHs+7ZHUkqrL6U=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -132,7 +132,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tor-browser-bundle-bin";
|
||||
pname = "tor-browser";
|
||||
inherit version;
|
||||
|
||||
src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
|
||||
@ -459,21 +459,11 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tor Browser Bundle built by torproject.org";
|
||||
longDescription = ''
|
||||
Tor Browser Bundle is a bundle of the Tor daemon, Tor Browser (heavily patched version of
|
||||
Firefox), several essential extensions for Tor Browser, and some tools that glue those
|
||||
together with a convenient UI.
|
||||
|
||||
`tor-browser-bundle-bin` package is the official version built by torproject.org patched with
|
||||
`patchelf` to work under nix and with bundled scripts adapted to the read-only nature of
|
||||
the `/nix/store`.
|
||||
'';
|
||||
description = "Privacy-focused browser routing traffic through the Tor network";
|
||||
homepage = "https://www.torproject.org/";
|
||||
changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}";
|
||||
platforms = attrNames sources;
|
||||
maintainers = with maintainers; [ felschr panicgh joachifm hax404 ];
|
||||
mainProgram = "tor-browser";
|
||||
# MPL2.0+, GPL+, &c. While it's not entirely clear whether
|
||||
# the compound is "libre" in a strict sense (some components place certain
|
||||
# restrictions on redistribution), it's free enough for our purposes.
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.5.2";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "siderolabs";
|
||||
repo = "talos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CEalMrXdLa/pGok1uB60PmxYmmDnSas38cUxvOpkoGk=";
|
||||
hash = "sha256-RoodFtZ4BINyPxxpVkliMD9Sam0eRujvd3gXR2Hxk70=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-JDhpRXYnNhVJ5BBKdUmCponRpckH54gMRoKLQ+wx5zM=";
|
||||
vendorHash = "sha256-PIuSn4qp6bLPFJwkLEb+pX1ra49IkxXYDRzEFbVqVI0=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,24 +2,26 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cfdyndns";
|
||||
version = "0.0.4";
|
||||
version = "0.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "colemickens";
|
||||
owner = "nrdxp";
|
||||
repo = "cfdyndns";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kgpTKhMvxuy+Q9M5U/PKJt7pZ2kSQxkCNjNu8aIyutg=";
|
||||
hash = "sha256-iwKMTWLK7pgz8AEmPVBO1bTWrXTokQJ+Z1U4CiiRdho=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-78TQkRHEbSaCyCM48hH1h8GG0BGJmC2zc7gTZc2t9Nc=";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
cargoLock.outputHashes."cloudflare-0.10.1" = "sha256-AJW4AQ34EDhxf7zMhFY2rqq5n4IaSVWJAYi+7jXEUVo=";
|
||||
cargoLock.outputHashes."public-ip-0.2.2" = "sha256-DDdh90EAo3Ppsym4AntczFuiAQo4/QQ9TEPJjMB1XzY=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CloudFlare Dynamic DNS Client";
|
||||
homepage = "https://github.com/colemickens/cfdyndns";
|
||||
homepage = "https://github.com/nrdxp/cfdyndns";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ colemickens nrdxp ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -6,47 +6,47 @@ let
|
||||
canary = "0.0.167";
|
||||
development = "0.0.232";
|
||||
} else {
|
||||
stable = "0.0.273";
|
||||
ptb = "0.0.59";
|
||||
canary = "0.0.283";
|
||||
development = "0.0.8778";
|
||||
stable = "0.0.278";
|
||||
ptb = "0.0.77";
|
||||
canary = "0.0.312";
|
||||
development = "0.0.8795";
|
||||
};
|
||||
version = versions.${branch};
|
||||
srcs = rec {
|
||||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
sha256 = "sha256-eCfF7zC9JM/y14ovSJxMIvLY+IGv0Jvzn7MVgueltNs=";
|
||||
hash = "sha256-eCfF7zC9JM/y14ovSJxMIvLY+IGv0Jvzn7MVgueltNs=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
sha256 = "omPqp8iyQpp5UxoOlp0+iaQG6yuKVVGaYhl7I643dqQ=";
|
||||
hash = "sha256-omPqp8iyQpp5UxoOlp0+iaQG6yuKVVGaYhl7I643dqQ=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
sha256 = "sha256-ua99w5pJz8UZldMvYLB7SkcgAG2hQBdorbnugvFDktE=";
|
||||
hash = "sha256-ua99w5pJz8UZldMvYLB7SkcgAG2hQBdorbnugvFDktE=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
sha256 = "sha256-AsHdQvDLzflhuYO8V4R+2zjQYpRo+aPa8HYXc3taayY=";
|
||||
hash = "sha256-AsHdQvDLzflhuYO8V4R+2zjQYpRo+aPa8HYXc3taayY=";
|
||||
};
|
||||
};
|
||||
x86_64-darwin = {
|
||||
stable = fetchurl {
|
||||
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||
sha256 = "1vz2g83gz9ks9mxwx7gl7kys2xaw8ksnywwadrpsbj999fzlyyal";
|
||||
hash = "sha256-c60p8RX5Rv8tx6io65XbqyzJJKaCVDeL5NtwMLNIX5M=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
sha256 = "sha256-LS7KExVXkOv8O/GrisPMbBxg/pwoDXIOo1dK9wk1yB8=";
|
||||
hash = "sha256-Dn+k51SyHpJ1C1gJx3ZLRzD/cdzhX9qANZU2KEn9lY0=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
sha256 = "0mqpk1szp46mih95x42ld32rrspc6jx1j7qdaxf01whzb3d4pi9l";
|
||||
hash = "sha256-iV131kzFcN2+eqUetqZShKqjAQfm64y6bxzAddV7wuw=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
sha256 = "sha256-K4rlShYhmsjT2QHjb6+IbCXJFK+9REIx/gW68bcVSVc=";
|
||||
hash = "sha256-d/i7LHbJbbUUk/7iU63Xh4RWxs8ZyiCpZSS68JFW2Ps=";
|
||||
};
|
||||
};
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
|
@ -23,16 +23,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.1.2-13107";
|
||||
_hash = "ad5b5393";
|
||||
version = "3.2.1-17153";
|
||||
_hash = "b69de82d";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/${_hash}/linuxqq_${version}_amd64.deb";
|
||||
hash = "sha256-mBfeexWEYpGybFFianUFvlzMv0HoFR4EeFcwlGVXIRA=";
|
||||
hash = "sha256-+GjTjv0K2vnlkb46KhMvRRFWuIEBz23Lg3QhiA7QzkA=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/${_hash}/linuxqq_${version}_arm64.deb";
|
||||
hash = "sha256-V6kR2lb63nnNIEhn64Yg0BYYlz7W0Cw60TwnKaJuLgs=";
|
||||
hash = "sha256-BtmmVpKZF15aU7RRmXl9g5leg2jz5sT4vYXluq9aIYk=";
|
||||
};
|
||||
};
|
||||
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
@ -4,11 +4,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocketchat-desktop";
|
||||
version = "3.9.7";
|
||||
version = "3.9.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
|
||||
hash = "sha256-DxY8cXWHBboH6Uh2i9DSJ2F8/OaGTRlIEaLzhQpXnKk=";
|
||||
hash = "sha256-sx4WRAeitbBrz6jFvD0WF/EzR7cx4tOPoczbJ+tkw1s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -86,9 +86,6 @@ mkDerivation rec {
|
||||
"-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
|
||||
];
|
||||
|
||||
# causes redefinition of _FORTIFY_SOURCE
|
||||
hardeningDisable = [ "fortify3" ];
|
||||
|
||||
postBuild = ''
|
||||
make doc-man
|
||||
'';
|
||||
|
@ -42,7 +42,6 @@ mkDerivation rec {
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DQV2RAY_DISABLE_AUTO_UPDATE=on"
|
||||
"-DQV2RAY_USE_V5_CORE=on"
|
||||
"-DQV2RAY_TRANSLATION_PATH=${placeholder "out"}/share/qv2ray/lang"
|
||||
|
@ -76,13 +76,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freerdp";
|
||||
version = "2.11.1";
|
||||
version = "2.11.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "FreeRDP";
|
||||
rev = version;
|
||||
sha256 = "sha256-x97I0TDPAd/zULM/FpAvYQTcArG2CwGoUUp/eEM4vdc=";
|
||||
sha256 = "sha256-buInsfjzpY4EF7bSojy42YNXssbNriSQGYBFE/DUJ7A=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -51,9 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python.pkgs.numpy
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
] ++ lib.optionals usePython [
|
||||
cmakeFlags = lib.optionals usePython [
|
||||
"-DUSE_PYTHON_CONFIG=ON"
|
||||
];
|
||||
|
||||
|
@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ zlib rocksdb rapidjson ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DPORTABLE=off"
|
||||
"-DRAPIDJSON_HOME=${rapidjson}"
|
||||
"-DROCKSDB_HOME=${rocksdb}"
|
||||
|
@ -104,7 +104,6 @@ stdenv.mkDerivation rec {
|
||||
"-DKICAD_BUILD_QA_TESTS=OFF"
|
||||
]
|
||||
++ optionals (debug) [
|
||||
"-DCMAKE_BUILD_TYPE=Debug"
|
||||
"-DKICAD_STDLIB_DEBUG=ON"
|
||||
"-DKICAD_USE_VALGRIND=ON"
|
||||
]
|
||||
@ -115,6 +114,8 @@ stdenv.mkDerivation rec {
|
||||
"-DKICAD_SANITIZE_THREADS=ON"
|
||||
];
|
||||
|
||||
cmakeBuildType = if debug then "Debug" else "Release";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
doxygen
|
||||
|
@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DGLAD_REPRODUCIBLE=On"
|
||||
];
|
||||
|
||||
|
@ -35,9 +35,8 @@ stdenv.mkDerivation rec {
|
||||
preConfigure = ''
|
||||
patchShebangs ./src/
|
||||
'';
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Production"
|
||||
];
|
||||
|
||||
cmakeBuildType = "Production";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A high-performance theorem prover and SMT solver";
|
||||
|
@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs ./src/
|
||||
'';
|
||||
|
||||
cmakeBuildType = "Production";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Production"
|
||||
"-DBUILD_SHARED_LIBS=1"
|
||||
"-DANTLR3_JAR=${antlr3_4}/lib/antlr/antlr-3.4-complete.jar"
|
||||
];
|
||||
|
@ -72,10 +72,11 @@ in stdenv.mkDerivation rec {
|
||||
(lit.override { python = kleePython; })
|
||||
];
|
||||
|
||||
cmakeBuildType = if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel";
|
||||
|
||||
cmakeFlags = let
|
||||
onOff = val: if val then "ON" else "OFF";
|
||||
in [
|
||||
"-DCMAKE_BUILD_TYPE=${if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"}"
|
||||
"-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}"
|
||||
"-DLLVMCC=${clang}/bin/clang"
|
||||
"-DLLVMCXX=${clang}/bin/clang++"
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lean4";
|
||||
version = "4.0.0";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leanprover";
|
||||
repo = "lean4";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3Ni+NiD0iSsOruUyRpBd+aC0TZNYfOLhwqCpPHPruPg=";
|
||||
hash = "sha256-6qbCafG0bL5KxQt2gL6hV4PFDsEMM0UXfldeOOqxsaE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "subgit";
|
||||
version = "3.3.16";
|
||||
version = "3.3.17";
|
||||
|
||||
meta = {
|
||||
description = "A tool for a smooth, stress-free SVN to Git migration";
|
||||
@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://subgit.com/download/subgit-${version}.zip";
|
||||
sha256 = "sha256-p7uBEG43N4Hed+8HYf3I9lQEvmYLV61oIyRrPHuGmUA=";
|
||||
sha256 = "sha256-u8YhaF4zOlDpEYd/0VUN8k4X8E1G4PB+UkJjBfQKkJY=";
|
||||
};
|
||||
}
|
||||
|
@ -7,10 +7,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bilibili";
|
||||
version = "1.12.0-1";
|
||||
version = "1.12.0-2";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
|
||||
hash = "sha256-WSnHyO71VIZDXYTcTCXcXZUkw5ScbIscs9daQokj3kA=";
|
||||
hash = "sha256-LnTRznIUXU7h0SyOCfVjfqhNv2OCRujNoM1PtGUVJeU=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
|
||||
'' ;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DENABLE_DEPLOY_DEPENDENCIES=OFF"
|
||||
"-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
|
||||
"-DUSE_SYSTEM_PROTO_LIBS=ON"
|
||||
|
@ -72,7 +72,6 @@ mkDerivation rec {
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DQTROOT=${qtbase}"
|
||||
"-GNinja"
|
||||
] ++ lib.optionals (!withDbus) [
|
||||
|
@ -14,21 +14,21 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.17.4";
|
||||
version = "1.17.5";
|
||||
# Using two URLs as the first one will break as soon as a new version is released
|
||||
src_bin = fetchurl {
|
||||
urls = [
|
||||
"http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
|
||||
"http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "68ebc6f9baba7be4429014b73bdf6da33516a399f011e9e535eb383aff97748b";
|
||||
sha256 = "ywCcMfaWAeL2bjFZJaCa0XW60EHyfFCW17Bt1QBN8E8=";
|
||||
};
|
||||
src_oss = fetchurl {
|
||||
urls = [
|
||||
"http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
|
||||
"http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "70e3599dd0a120ababa00d44c93ec8d2d001aea93e902355786ed90a7360cc99";
|
||||
sha256 = "/C9LDcUxF6tJkn2aQV+nMILRpK5H3wxOMMxHEMTC/CI=";
|
||||
};
|
||||
|
||||
in mkDerivation {
|
||||
|
@ -34,7 +34,9 @@ in mkDerivation rec {
|
||||
ln -s ${webClientTv} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DQTROOT=${qtbase}" ];
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
cmakeFlags = [ "-DQTROOT=${qtbase}" ];
|
||||
|
||||
# plexmediaplayer currently segfaults under wayland
|
||||
qtWrapperArgs = [ "--set" "QT_QPA_PLATFORM" "xcb" ];
|
||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-k+rG5AZjz47Q6bpVcTK7r4s7Avg3O+1iw+skK+cn0rk=";
|
||||
};
|
||||
|
||||
cmakeFlags = lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
|
||||
cmakeBuildType = if debug then "Debug" else "Release";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
@ -38,6 +38,10 @@ processor=0
|
||||
hardware_platform=0
|
||||
operating_system=0
|
||||
|
||||
# With no OPTION, same as -s.
|
||||
if [[ $# -eq 0 ]]; then
|
||||
kernel_name=1
|
||||
fi
|
||||
|
||||
@getopt@/bin/getopt --test > /dev/null && rc=$? || rc=$?
|
||||
if [[ $rc -ne 4 ]]; then
|
||||
@ -54,11 +58,6 @@ else
|
||||
eval set -- "$PARSED"
|
||||
fi
|
||||
|
||||
# With no OPTION, same as -s.
|
||||
if [[ $# -eq 0 ]]; then
|
||||
kernel_name=1
|
||||
fi
|
||||
|
||||
# Process each argument, and set the appropriate flag if we recognize it.
|
||||
while [[ $# -ge 1 ]]; do
|
||||
case "$1" in
|
||||
@ -132,44 +131,44 @@ fi
|
||||
# Darwin *nodename* 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct 9 20:14:30 PDT 2022; root:xnu-8792.41.9~2/RELEASE_ARM64_T8103 arm64 arm Darwin
|
||||
# NixOS:
|
||||
# Linux *nodename* 6.0.13 #1-NixOS SMP PREEMPT_DYNAMIC Wed Dec 14 10:41:06 UTC 2022 x86_64 GNU/Linux
|
||||
output=()
|
||||
if [[ "$all" = "1" ]]; then
|
||||
echo -n "$KERNEL_NAME_VAL $NODENAME_VAL $KERNEL_RELEASE_VAL $KERNEL_VERSION_VAL $MACHINE_VAL "
|
||||
output+=("$KERNEL_NAME_VAL" "$NODENAME_VAL" "$KERNEL_RELEASE_VAL" "$KERNEL_VERSION_VAL" "$MACHINE_VAL")
|
||||
# in help: except omit -p and -i if unknown.
|
||||
#echo -n "$PROCESSOR_VAL $HARDWARE_PLATFORM_VAL\n"
|
||||
echo -n "$OPERATING_SYSTEM_VAL"
|
||||
# output+=($PROCESSOR_VAL $HARDWARE_PLATFORM_VAL)
|
||||
output+=("$OPERATING_SYSTEM_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$kernel_name" = "1" ]]; then
|
||||
echo -n "$KERNEL_NAME_VAL"
|
||||
output+=("$KERNEL_NAME_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$nodename" = "1" ]]; then
|
||||
echo -n "$NODENAME_VAL"
|
||||
output+=("$NODENAME_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$kernel_release" = "1" ]]; then
|
||||
echo -n "$KERNEL_RELEASE_VAL"
|
||||
output+=("$KERNEL_RELEASE_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$kernel_version" = "1" ]]; then
|
||||
echo -n "$KERNEL_VERSION_VAL"
|
||||
output+=("$KERNEL_VERSION_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$machine" = "1" ]]; then
|
||||
echo -n "$MACHINE_VAL"
|
||||
output+=("$MACHINE_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$processor" = "1" ]]; then
|
||||
echo -n "$PROCESSOR_VAL"
|
||||
output+=("$PROCESSOR_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$hardware_platform" = "1" ]]; then
|
||||
echo -n "$HARDWARE_PLATFORM_VAL"
|
||||
output+=("$HARDWARE_PLATFORM_VAL")
|
||||
fi
|
||||
|
||||
if [[ "$operating_system" = "1" ]]; then
|
||||
echo -n "$OPERATING_SYSTEM_VAL"
|
||||
output+=("$OPERATING_SYSTEM_VAL")
|
||||
fi
|
||||
|
||||
# for newline.
|
||||
echo
|
||||
echo "${output[@]}"
|
||||
|
@ -37,7 +37,9 @@ const downloadFileHttps = (fileName, url, expectedHash, hashType = 'sha1') => {
|
||||
res.on('end', () => {
|
||||
file.close()
|
||||
const h = hash.read()
|
||||
if (h != expectedHash) return reject(new Error(`hash mismatch, expected ${expectedHash}, got ${h}`))
|
||||
if (expectedHash === undefined){
|
||||
console.log(`Warning: lockfile url ${url} doesn't end in "#<hash>" to validate against. Downloaded file had hash ${h}.`);
|
||||
} else if (h != expectedHash) return reject(new Error(`hash mismatch, expected ${expectedHash}, got ${h}`))
|
||||
resolve()
|
||||
})
|
||||
res.on('error', e => reject(e))
|
||||
|
61
pkgs/by-name/gr/grimblast/package.nix
Normal file
61
pkgs/by-name/gr/grimblast/package.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, scdoc
|
||||
, coreutils
|
||||
, grim
|
||||
, hyprland
|
||||
, hyprpicker
|
||||
, jq
|
||||
, libnotify
|
||||
, slurp
|
||||
, wl-clipboard
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "grimblast";
|
||||
version = "unstable-2023-09-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "contrib";
|
||||
rev = "5b67181fced4fb06d26afcf9614b35765c576168";
|
||||
hash = "sha256-W23nMGmDnyBgxO8O/9jcZtiSpa0taMNcRAD1das/ttw=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
scdoc
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
];
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/grimblast";
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/grimblast --prefix PATH ':' \
|
||||
"${lib.makeBinPath [
|
||||
coreutils
|
||||
grim
|
||||
hyprland
|
||||
hyprpicker
|
||||
jq
|
||||
libnotify
|
||||
slurp
|
||||
wl-clipboard
|
||||
]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A helper for screenshots within Hyprland, based on grimshot";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ donovanglover ];
|
||||
mainProgram = "grimblast";
|
||||
};
|
||||
})
|
41
pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix
Normal file
41
pkgs/by-name/ha/ha-mqtt-discoverable-cli/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ha-mqtt-discoverable-cli";
|
||||
version = "0.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unixorn";
|
||||
repo = "ha-mqtt-discoverable-cli";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-miFlrBmxVuIJjpsyYnbQt+QAGSrS4sHlJpCmxouM2Wc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
ha-mqtt-discoverable
|
||||
];
|
||||
|
||||
# Project has no real tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ha_mqtt_discoverable_cli"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI for creating Home Assistant compatible MQTT entities that will be automatically discovered";
|
||||
homepage = "https://github.com/unixorn/ha-mqtt-discoverable-cli";
|
||||
changelog = "https://github.com/unixorn/ha-mqtt-discoverable-cli/releases/tag/v0.2.1";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "hmd";
|
||||
};
|
||||
}
|
66
pkgs/by-name/px/pxder/package.nix
Normal file
66
pkgs/by-name/px/pxder/package.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchYarnDeps
|
||||
, makeWrapper
|
||||
, prefetch-yarn-deps
|
||||
, yarn
|
||||
, nodejs
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pxder";
|
||||
version = "2.12.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Tsuk1ko";
|
||||
repo = "pxder";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+WZbs10+id+nohTZzLjEofb6k8PMGd73YhY3FUTXx5Q=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-++MqWIUntXQwOYpgAJ3nhAtZ5nxmEreioVHQokYkw7w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
prefetch-yarn-deps
|
||||
yarn
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror "$offlineCache"
|
||||
fixup-yarn-lock yarn.lock
|
||||
yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
yarn --offline --production install
|
||||
|
||||
mkdir -p "$out/lib/node_modules/pxder"
|
||||
cp -r . "$out/lib/node_modules/pxder"
|
||||
|
||||
makeWrapper "${nodejs}/bin/node" "$out/bin/pxder" \
|
||||
--add-flags "$out/lib/node_modules/pxder/bin/pxder"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Download illusts from pixiv.net";
|
||||
homepage = "https://github.com/Tsuk1ko/pxder";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "pxder";
|
||||
maintainers = with lib.maintainers; [ vanilla ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
@ -17,13 +17,13 @@
|
||||
assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "trealla";
|
||||
version = "2.27.15";
|
||||
version = "2.27.48";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trealla-prolog";
|
||||
repo = "trealla";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-b6OIp0UTBGl463wgwVCyTbC3Id0mgEIUnla+U3qv738=";
|
||||
hash = "sha256-6+1mhMEXpKN9DynCBkvKWqP4KihpC2HWa/PA1gnDSRA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "clash-geoip";
|
||||
version = "20230812";
|
||||
version = "20230912";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
|
||||
sha256 = "sha256-yO8zSQjNYGxaSXcOhFOIE4HsiMnCm3ZVYfVZg5xO96s=";
|
||||
sha256 = "sha256-MyNlgsa+8OS7vkMq74KKmUVzBhmDpF4ED2Xdgl3GIS4=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_PREFIX=$out"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DBUILD_TESTING=OFF"
|
||||
"-DKDE_INSTALL_USE_QT_SYS_PATHS=ON"
|
||||
];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user