Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-05-18 00:12:27 +00:00 committed by GitHub
commit 7cf82e1aa0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
262 changed files with 27549 additions and 3352 deletions

View File

@ -775,9 +775,11 @@ rec {
};
binOp = lhs: rhs: {
class =
if lhs.class == null then rhs.class
else if rhs.class == null then lhs.class
else if lhs.class == rhs.class then lhs.class
# `or null` was added for backwards compatibility only. `class` is
# always set in the current version of the module system.
if lhs.class or null == null then rhs.class or null
else if rhs.class or null == null then lhs.class or null
else if lhs.class or null == rhs.class then lhs.class or null
else throw "A submoduleWith option is declared multiple times with conflicting class values \"${toString lhs.class}\" and \"${toString rhs.class}\".";
modules = lhs.modules ++ rhs.modules;
specialArgs =

View File

@ -3484,6 +3484,12 @@
githubId = 1298344;
name = "Daniel Fullmer";
};
daniyalsuri6 = {
email = "daniyal.suri@gmail.com";
github = "daniyalsuri6";
githubId = 107034852;
name = "Daniyal Suri";
};
dansbandit = {
github = "dansbandit";
githubId = 4530687;
@ -7081,7 +7087,7 @@
};
jayesh-bhoot = {
name = "Jayesh Bhoot";
email = "jayesh@bhoot.sh";
email = "jb@jayeshbhoot.com";
github = "jayeshbhoot";
githubId = 1915507;
};

View File

@ -176,6 +176,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `ssh` client tool now disables the `~C` escape sequence by default. This can be re-enabled by setting `EnableEscapeCommandline yes`
- Many `services.syncthing` options have been moved to `services.syncthing.settings`, as part of [RFC 42](https://github.com/NixOS/rfcs/pull/42)'s implementation, see [#226088](https://github.com/NixOS/nixpkgs/pull/226088).
- The `ssh` module does not read `/etc/ssh/ssh_known_hosts2` anymore since this location is [deprecated since 2001](https://marc.info/?l=openssh-unix-dev&m=100508718416162&w=2).
- The openssh module does not read `~/.ssh/authorized_keys2` anymore since this location is [deprecated since 2001](https://marc.info/?l=openssh-unix-dev&m=100508718416162&w=2).

View File

@ -2,8 +2,6 @@
{ config, lib, pkgs, ... }:
with lib;
{
imports =
[ ../../../modules/virtualisation/cloudstack-config.nix ];

View File

@ -4,8 +4,6 @@
{ config, pkgs, lib, ... }:
with lib;
{
imports =
[ # Include the default lxd configuration.

View File

@ -1,7 +1,5 @@
{ lib, config, pkgs, ... }:
with lib;
{
imports = [
../../../modules/virtualisation/lxc-container.nix

View File

@ -1,7 +1,5 @@
{ lib, config, pkgs, ... }:
with lib;
# WARNING: THIS CONFIGURATION IS AUTOGENERATED AND WILL BE OVERWRITTEN AUTOMATICALLY
{

View File

@ -275,12 +275,11 @@ in
''}
${optionalString sw.randomEncryption.enable ''
cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} \
'' + concatMapStrings (arg: arg + " \\\n") (flatten [
(optional (sw.randomEncryption.sectorSize != null) "--sector-size=${toString sw.randomEncryption.sectorSize}")
(optional (sw.randomEncryption.keySize != null) "--key-size=${toString sw.randomEncryption.keySize}")
(optional sw.randomEncryption.allowDiscards "--allow-discards")
]) + ''
${sw.device} ${sw.deviceName}
${concatStringsSep " \\\n" (flatten [
(optional (sw.randomEncryption.sectorSize != null) "--sector-size=${toString sw.randomEncryption.sectorSize}")
(optional (sw.randomEncryption.keySize != null) "--key-size=${toString sw.randomEncryption.keySize}")
(optional sw.randomEncryption.allowDiscards "--allow-discards")
])} ${sw.device} ${sw.deviceName}
mkswap ${sw.realDevice}
''}
'';

View File

@ -1,7 +1,10 @@
{ lib, pkgs, ... }:
with lib;
let
inherit (lib)
mkAliasOptionModuleMD
mkRemovedOptionModule;
in
{
imports = [
/*

View File

@ -254,7 +254,7 @@ in
preStart = ''
# Blindly copy the whole project here.
chmod -R +w .
rm -rf ./public/assets/*
rm -rf ./public/assets/
rm -rf ./tmp/*
rm -rf ./log/*
cp -r --no-preserve=owner ${cfg.package}/* .

View File

@ -65,7 +65,6 @@ in
agent.enabled = true;
agent.scrape_integration = true;
node_exporter.enabled = true;
replace_instance_label = true;
};
}
'';
@ -122,7 +121,6 @@ in
agent.enabled = mkDefault true;
agent.scrape_integration = mkDefault true;
node_exporter.enabled = mkDefault true;
replace_instance_label = mkDefault true;
};
};

View File

@ -13,7 +13,11 @@ let
deviceID = device.id;
}) cfg.settings.devices;
folders = mapAttrsToList (_: folder: folder // {
folders = mapAttrsToList (_: folder: folder //
throwIf (folder?rescanInterval || folder?watch || folder?watchDelay) ''
The options services.syncthing.settings.folders.<name>.{rescanInterval,watch,watchDelay}
were removed. Please use, respectively, {rescanIntervalS,fsWatcherEnabled,fsWatcherDelayS} instead.
'' {
devices = map (device:
if builtins.isString device then
{ deviceId = cfg.settings.devices.${device}.id; }
@ -121,10 +125,9 @@ in {
description = mdDoc ''
The options element contains all other global configuration options
'';
type = types.attrsOf (types.submodule ({ name, ... }: {
type = types.submodule ({ name, ... }: {
freeformType = settingsFormat.type;
options = {
localAnnounceEnabled = mkOption {
type = types.bool;
default = true;
@ -176,7 +179,7 @@ in {
'';
};
};
}));
});
};
# device settings
@ -344,6 +347,7 @@ in {
]
'';
type = with types; nullOr (submodule {
freeformType = settingsFormat.type;
options = {
type = mkOption {
type = enum [ "external" "simple" "staggered" "trashcan" ];
@ -609,9 +613,7 @@ in {
];
};
};
syncthing-init = mkIf (
cfg.settings.devices != {} || cfg.folders != {} || cfg.extraOptions != {}
) {
syncthing-init = mkIf (cfg.settings != {}) {
description = "Syncthing configuration updater";
requisite = [ "syncthing.service" ];
after = [ "syncthing.service" ];

View File

@ -1,8 +1,6 @@
{ lib, pkgs, ... }: {
name = "3proxy";
meta = with lib.maintainers; {
maintainers = [ misuzu ];
};
meta.maintainers = with lib.maintainers; [ misuzu ];
nodes = {
peer0 = { lib, ... }: {

View File

@ -1,14 +1,11 @@
import ./make-test-python.nix ({ pkgs, ... } : {
name = "apparmor";
meta = with pkgs.lib.maintainers; {
maintainers = [ julm ];
};
meta.maintainers = with lib.maintainers; [ julm ];
nodes.machine =
{ lib, pkgs, config, ... }:
with lib;
{
security.apparmor.enable = mkDefault true;
security.apparmor.enable = lib.mkDefault true;
};
testScript =

View File

@ -6,10 +6,9 @@ let
testPass = "password";
testEmail = "test.testerman@test.com";
in
with lib;
{
name = "atuin";
meta.maintainers = with pkgs.lib.maintainers; [ devusb ];
meta.maintainers = with lib.maintainers; [ devusb ];
nodes = {
server =

View File

@ -1,13 +1,11 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
let
port = 42069;
in
{
name = "bazarr";
meta.maintainers = with maintainers; [ d-xo ];
meta.maintainers = with lib.maintainers; [ d-xo ];
nodes.machine =
{ pkgs, ... }:

View File

@ -107,8 +107,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
'';
};
copyCanaries = with lib; concatMapStrings (canary: ''
${optionalString (canary ? child) ''
copyCanaries = lib.concatMapStrings (canary: ''
${lib.optionalString (canary ? child) ''
copy_bin_and_libs "${canary.child}/bin/${canary.child.name}"
''}
copy_bin_and_libs "${canary}/bin/${canary.name}"

View File

@ -1,9 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "budgie";
meta = with lib; {
maintainers = [ maintainers.federicoschonborn ];
};
meta.maintainers = [ lib.maintainers.federicoschonborn ];
nodes.machine = { ... }: {
imports = [

View File

@ -1,15 +1,13 @@
import ./make-test-python.nix ({ pkgs, ... } : {
import ./make-test-python.nix ({ lib, pkgs, ... } : {
name = "cadvisor";
meta = with pkgs.lib.maintainers; {
maintainers = [ offline ];
};
meta.maintainers = with lib.maintainers; [ offline ];
nodes = {
machine = { ... }: {
services.cadvisor.enable = true;
};
influxdb = { lib, ... }: with lib; {
influxdb = { lib, ... }: {
services.cadvisor.enable = true;
services.cadvisor.storageDriver = "influxdb";
services.influxdb.enable = true;

View File

@ -5,10 +5,9 @@ import ./make-test-python.nix (
port = 3142;
defaultPort = 8083;
in
with lib;
{
name = "calibre-web";
meta.maintainers = with pkgs.lib.maintainers; [ pborzenkov ];
meta.maintainers = with lib.maintainers; [ pborzenkov ];
nodes = {
customized = { pkgs, ... }: {

View File

@ -1,9 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "cinnamon";
meta = with lib; {
maintainers = teams.cinnamon.members;
};
meta.maintainers = lib.teams.cinnamon.members;
nodes.machine = { nodes, ... }: {
imports = [ ./common/user-account.nix ];

View File

@ -76,9 +76,9 @@ let
in {
imports = [ ../../resolver.nix ];
options.test-support.acme = with lib; {
caDomain = mkOption {
type = types.str;
options.test-support.acme = {
caDomain = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = domain;
description = lib.mdDoc ''
@ -86,8 +86,8 @@ in {
identify the CA server.
'';
};
caCert = mkOption {
type = types.path;
caCert = lib.mkOption {
type = lib.types.path;
readOnly = true;
default = testCerts.ca.cert;
description = lib.mdDoc ''

View File

@ -1,23 +1,16 @@
{ config, lib, ... }:
with lib;
let
dmcfg = config.services.xserver.displayManager;
cfg = config.test-support.displayManager.auto;
in
{
###### interface
options = {
test-support.displayManager.auto = {
enable = mkOption {
enable = lib.mkOption {
default = false;
description = lib.mdDoc ''
Whether to enable the fake "auto" display manager, which
@ -27,20 +20,16 @@ in
'';
};
user = mkOption {
user = lib.mkOption {
default = "root";
description = lib.mdDoc "The user account to login automatically.";
};
};
};
###### implementation
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
services.xserver.displayManager = {
lightdm.enable = true;
autoLogin = {
@ -62,7 +51,5 @@ in
session include lightdm
'';
};
}

View File

@ -1,14 +1,12 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
with lib;
let
port = 3333;
in
{
name = "convos";
meta = with pkgs.lib.maintainers; {
maintainers = [ sgo ];
};
meta.maintainers = with lib.maintainers; [ sgo ];
nodes = {
machine =

View File

@ -1,9 +1,8 @@
let
makeNode = couchpkg: user: passwd:
{ pkgs, ... } :
{ environment.systemPackages = with pkgs; [ jq ];
{ environment.systemPackages = [ pkgs.jq ];
services.couchdb.enable = true;
services.couchdb.package = couchpkg;
services.couchdb.adminUser = user;
@ -12,16 +11,11 @@ let
testuser = "testadmin";
testpass = "cowabunga";
testlogin = "${testuser}:${testpass}@";
in import ./make-test-python.nix ({ pkgs, lib, ...}:
with lib;
in
import ./make-test-python.nix ({ pkgs, lib, ...}:
{
name = "couchdb";
meta = with pkgs.lib.maintainers; {
maintainers = [ ];
};
meta.maintainers = [ ];
nodes = {
couchdb3 = makeNode pkgs.couchdb3 testuser testpass;

View File

@ -2,9 +2,7 @@
import ./make-test-python.nix (
{ lib, ... }: {
name = "doas";
meta = with lib.maintainers; {
maintainers = [ cole-h ];
};
meta.maintainers = with lib.maintainers; [ cole-h ];
nodes.machine =
{ ... }:

View File

@ -1,8 +1,6 @@
import ./make-test-python.nix ({ lib, pkgs, ... }: {
name = "doh-proxy-rust";
meta = with lib.maintainers; {
maintainers = [ stephank ];
};
meta.maintainers = with lib.maintainers; [ stephank ];
nodes = {
machine = { pkgs, lib, ... }: {

View File

@ -4,10 +4,9 @@ let
testPort = 6052;
unixSocket = "/run/esphome/esphome.sock";
in
with lib;
{
name = "esphome";
meta.maintainers = with pkgs.lib.maintainers; [ oddlama ];
meta.maintainers = with lib.maintainers; [ oddlama ];
nodes = {
esphomeTcp = { ... }:

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "fluidd";
meta.maintainers = with maintainers; [ vtuan10 ];
meta.maintainers = with lib.maintainers; [ vtuan10 ];
nodes.machine = { pkgs, ... }: {
services.fluidd = {

View File

@ -11,8 +11,6 @@
{ pkgs, lib, ... }:
with lib;
let
inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
initialRootPassword = "notproduction";
@ -30,9 +28,7 @@ let
bobProjectId = "3";
in {
name = "gitlab";
meta = with pkgs.lib.maintainers; {
maintainers = [ globin yayayayaka ];
};
meta.maintainers = with lib.maintainers; [ globin yayayayaka ];
nodes = {
gitlab = { ... }: {
@ -43,10 +39,10 @@ in {
virtualisation.useNixStoreImage = true;
virtualisation.writableStore = false;
systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
systemd.services.gitaly.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-sidekiq.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab.serviceConfig.Restart = lib.mkForce "no";
systemd.services.gitlab-workhorse.serviceConfig.Restart = lib.mkForce "no";
systemd.services.gitaly.serviceConfig.Restart = lib.mkForce "no";
systemd.services.gitlab-sidekiq.serviceConfig.Restart = lib.mkForce "no";
services.nginx = {
enable = true;
@ -195,7 +191,7 @@ in {
gitlab.succeed(
"echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
)
'' + optionalString doSetup ''
'' + lib.optionalString doSetup ''
with subtest("Create user Alice"):
gitlab.succeed(
"""[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserAlice} http://gitlab/api/v4/users)" = "201" ]"""

View File

@ -1,12 +1,11 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "gnome-flashback";
meta = with lib; {
maintainers = teams.gnome.members ++ [ maintainers.chpatrick ];
};
meta.maintainers = lib.teams.gnome.members ++ [ lib.maintainers.chpatrick ];
nodes.machine = { nodes, ... }: let
user = nodes.machine.config.users.users.alice;
in
nodes.machine = { nodes, ... }:
let
user = nodes.machine.config.users.users.alice;
in
{ imports = [ ./common/user-account.nix ];

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "gnome-xorg";
meta = with lib; {
maintainers = teams.gnome.members;
meta = {
maintainers = lib.teams.gnome.members;
};
nodes.machine = { nodes, ... }: let

View File

@ -1,8 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "gnome";
meta = with lib; {
maintainers = teams.gnome.members;
};
meta.maintainers = lib.teams.gnome.members;
nodes.machine =
{ ... }:

View File

@ -1,6 +1,5 @@
# Test a minimal HDFS cluster with no HA
import ../make-test-python.nix ({ package, lib, ... }:
with lib;
{
name = "hadoop-hdfs";
@ -22,7 +21,7 @@ with lib;
};
httpfs = {
# The NixOS hadoop module only support webHDFS on 3.3 and newer
enable = mkIf (versionAtLeast package.version "3.3") true;
enable = lib.mkIf (lib.versionAtLeast package.version "3.3") true;
openFirewall = true;
};
};
@ -57,7 +56,7 @@ with lib;
datanode.wait_for_unit("hdfs-datanode")
datanode.wait_for_unit("network.target")
'' + ( if versionAtLeast package.version "3" then ''
'' + (if lib.versionAtLeast package.version "3" then ''
datanode.wait_for_open_port(9864)
datanode.wait_for_open_port(9866)
datanode.wait_for_open_port(9867)
@ -76,7 +75,7 @@ with lib;
datanode.succeed("echo testfilecontents | sudo -u hdfs hdfs dfs -put - /testfile")
assert "testfilecontents" in datanode.succeed("sudo -u hdfs hdfs dfs -cat /testfile")
'' + optionalString ( versionAtLeast package.version "3.3" ) ''
'' + lib.optionalString (lib.versionAtLeast package.version "3.3" ) ''
namenode.wait_for_unit("hdfs-httpfs")
namenode.wait_for_open_port(14000)
assert "testfilecontents" in datanode.succeed("curl -f \"http://namenode:14000/webhdfs/v1/testfile?user.name=hdfs&op=OPEN\" 2>&1")

View File

@ -6,7 +6,6 @@ import ./make-test-python.nix ({ pkgs, ... } : {
nodes.machine =
{ lib, pkgs, config, ... }:
with lib;
{ users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; };
users.users.sybil = { isNormalUser = true; group = "wheel"; };
imports = [ ../modules/profiles/hardened.nix ];

View File

@ -46,14 +46,14 @@ in makeTest {
nodes = {
# System configuration used for installing the installedConfig from above.
machine = { config, lib, pkgs, ... }: with lib; {
machine = { config, lib, pkgs, ... }: {
imports = [
../modules/profiles/installation-device.nix
../modules/profiles/base.nix
];
nix.settings = {
substituters = mkForce [];
substituters = lib.mkForce [];
hashed-mirrors = null;
connect-timeout = 1;
};

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
with lib;
{
name = "iftop";
meta.maintainers = with pkgs.lib.maintainers; [ ma27 ];
meta.maintainers = with lib.maintainers; [ ma27 ];
nodes = {
withIftop = {

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "jackett";
meta.maintainers = with maintainers; [ etu ];
meta.maintainers = with lib.maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "jirafeau";
meta.maintainers = with maintainers; [ davidtwco ];
meta.maintainers = with lib.maintainers; [ davidtwco ];
nodes.machine = { pkgs, ... }: {
services.jirafeau = {

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "komga";
meta.maintainers = with maintainers; [ govanify ];
meta.maintainers = with lib.maintainers; [ govanify ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "libreddit";
meta.maintainers = with maintainers; [ fab ];
meta.maintainers = with lib.maintainers; [ fab ];
nodes.machine = {
services.libreddit.enable = true;

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "lidarr";
meta.maintainers = with maintainers; [ etu ];
meta.maintainers = with lib.maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:

View File

@ -17,10 +17,9 @@ let
'';
in
with lib;
{
name = "miniflux";
meta.maintainers = with pkgs.lib.maintainers; [ ];
meta.maintainers = [ ];
nodes = {
default =

View File

@ -1,20 +1,17 @@
# Miscellaneous small tests that don't warrant their own VM run.
import ./make-test-python.nix ({ pkgs, ...} : let
import ./make-test-python.nix ({ lib, pkgs, ...} : let
foo = pkgs.writeText "foo" "Hello World";
in {
name = "misc";
meta = with pkgs.lib.maintainers; {
maintainers = [ eelco ];
};
meta.maintainers = with lib.maintainers; [ eelco ];
nodes.machine =
{ lib, ... }:
with lib;
{ swapDevices = mkOverride 0
{ swapDevices = lib.mkOverride 0
[ { device = "/root/swapfile"; size = 128; } ];
environment.variables.EDITOR = mkOverride 0 "emacs";
documentation.nixos.enable = mkOverride 0 true;
environment.variables.EDITOR = lib.mkOverride 0 "emacs";
documentation.nixos.enable = lib.mkOverride 0 true;
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
virtualisation.fileSystems = { "/tmp2" =
{ fsType = "tmpfs";
@ -32,7 +29,7 @@ in {
options = [ "bind" "rw" "noauto" ];
};
};
systemd.automounts = singleton
systemd.automounts = lib.singleton
{ wantedBy = [ "multi-user.target" ];
where = "/tmp2";
};

View File

@ -1,13 +1,11 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
let
port = toString 4321;
in
{
name = "mpv";
meta.maintainers = with maintainers; [ zopieux ];
meta.maintainers = with lib.maintainers; [ zopieux ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,13 +1,10 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
let
port = 5678;
in
{
name = "n8n";
meta.maintainers = with maintainers; [ freezeboy k900 ];
meta.maintainers = with lib.maintainers; [ freezeboy k900 ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,7 +1,5 @@
import ../make-test-python.nix ({ pkgs, lib, ... }:
with lib;
let
krb5 =
{ enable = true;

View File

@ -1,8 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "noto-fonts";
meta = {
maintainers = with lib.maintainers; [ nickcao midchildan ];
};
meta.maintainers = with lib.maintainers; [ nickcao midchildan ];
nodes.machine = {
imports = [ ./common/x11.nix ];

View File

@ -1,10 +1,7 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "nzbhydra2";
meta.maintainers = with maintainers; [ jamiemagee ];
meta.maintainers = with lib.maintainers; [ jamiemagee ];
nodes.machine = { pkgs, ... }: { services.nzbhydra2.enable = true; };

View File

@ -11,9 +11,8 @@ let
mkOCITest = backend: makeTest {
name = "oci-containers-${backend}";
meta = {
maintainers = with lib.maintainers; [ adisbladis benley mkaito ] ++ lib.teams.serokell.members;
};
meta.maintainers = lib.teams.serokell.members
++ (with lib.maintainers; [ adisbladis benley mkaito ]);
nodes = {
${backend} = { pkgs, ... }: {

View File

@ -1,8 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "odoo";
meta = with pkgs.lib.maintainers; {
maintainers = [ mkg20001 ];
};
meta.maintainers = with lib.maintainers; [ mkg20001 ];
nodes = {
server = { ... }: {

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "ombi";
meta.maintainers = with maintainers; [ woky ];
meta.maintainers = with lib.maintainers; [ woky ];
nodes.machine =
{ pkgs, ... }:

View File

@ -3,9 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
{
name = "pantheon";
meta = with lib; {
maintainers = teams.pantheon.members;
};
meta.maintainers = lib.teams.pantheon.members;
nodes.machine = { ... }:

View File

@ -6,10 +6,10 @@ import ./make-test-python.nix ({ lib, ... }:
nodes.machine =
{ ... }:
{
users.users = with lib; mkMerge [
(listToAttrs (map
(n: nameValuePair n { isNormalUser = true; })
(genList (x: "user${toString x}") 6)))
users.users = lib.mkMerge [
(lib.listToAttrs (map
(n: lib.nameValuePair n { isNormalUser = true; })
(lib.genList (x: "user${toString x}") 6)))
{
user0.extraGroups = [ "wheel" ];
}

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "polaris";
meta.maintainers = with maintainers; [ pbsds ];
meta.maintainers = with lib.maintainers; [ pbsds ];
nodes.machine =
{ pkgs, ... }: {

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "prowlarr";
meta.maintainers = with maintainers; [ jdreaver ];
meta.maintainers = with lib.maintainers; [ jdreaver ];
nodes.machine =
{ pkgs, ... }:

View File

@ -11,11 +11,11 @@ let
};
# Only allow the demo data to be used (only if it's unfreeRedistributable).
unfreePredicate = pkg: with lib; let
unfreePredicate = pkg: let
allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
allowLicenses = [ lib.licenses.unfreeRedistributable ];
in elem pkg.pname allowPackageNames &&
elem (pkg.meta.license or null) allowLicenses;
in lib.elem pkg.pname allowPackageNames &&
lib.elem (pkg.meta.license or null) allowLicenses;
client =
{ pkgs, ... }:

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "radarr";
meta.maintainers = with maintainers; [ etu ];
meta.maintainers = with lib.maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,10 +1,6 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
import ./make-test-python.nix ({ lib, ... }: {
name = "readarr";
meta.maintainers = with maintainers; [ jocelynthode ];
meta.maintainers = with lib.maintainers; [ jocelynthode ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,19 +1,17 @@
import ./make-test-python.nix ({ pkgs, ... }:
import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = "redis";
meta = with pkgs.lib.maintainers; {
maintainers = [ flokli ];
};
meta.maintainers = with lib.maintainers; [ flokli ];
nodes = {
machine =
{ pkgs, lib, ... }: with lib;
{ pkgs, lib, ... }:
{
services.redis.servers."".enable = true;
services.redis.servers."test".enable = true;
users.users = listToAttrs (map (suffix: nameValuePair "member${suffix}" {
users.users = lib.listToAttrs (map (suffix: lib.nameValuePair "member${suffix}" {
createHome = false;
description = "A member of the redis${suffix} group";
isNormalUser = true;

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "sonarr";
meta.maintainers = with maintainers; [ etu ];
meta.maintainers = with lib.maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:

View File

@ -2,17 +2,13 @@
let
password = "helloworld";
in
import ./make-test-python.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ lib, pkgs, ...} : {
name = "sudo";
meta = with pkgs.lib.maintainers; {
maintainers = [ lschuermann ];
};
meta.maintainers = with lib.maintainers; [ lschuermann ];
nodes.machine =
{ lib, ... }:
with lib;
{
users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; };
users.users = {

View File

@ -32,6 +32,8 @@ import ./make-test-python.nix ({ lib, ... }:
testScript = ''
machine.wait_for_unit('var-swapfile.swap')
# Ensure the swap file creation script ran to completion without failing when creating the swap file
machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service")
machine.succeed("stat --file-system --format=%T /var/swapfile | grep btrfs")
# First run. Auto creation.
machine.succeed("swapon --show | grep /var/swapfile")
@ -41,6 +43,8 @@ import ./make-test-python.nix ({ lib, ... }:
# Second run. Use it as-is.
machine.wait_for_unit('var-swapfile.swap')
# Ensure the swap file creation script ran to completion without failing when the swap file already exists
machine.fail("systemctl is-failed --quiet mkswap-var-swapfile.service")
machine.succeed("swapon --show | grep /var/swapfile")
'';
})

View File

@ -10,12 +10,17 @@ in {
services.syncthing = {
enable = true;
settings = {
options.crashReportingEnabled = false;
devices.testDevice = {
id = testId;
};
folders.testFolder = {
path = "/tmp/test";
devices = [ "testDevice" ];
versioning = {
type = "simple";
params.keep = "10";
};
};
gui.user = "guiUser";
};

View File

@ -11,11 +11,11 @@ in {
name = "systemd-timesyncd";
nodes = {
current = mkVM {};
pre1909 = mkVM ({lib, ... }: with lib; {
pre1909 = mkVM ({lib, ... }: {
# create the path that should be migrated by our activation script when
# upgrading to a newer nixos version
system.stateVersion = "19.03";
system.activationScripts.simulate-old-timesync-state-dir = mkBefore ''
system.activationScripts.simulate-old-timesync-state-dir = lib.mkBefore ''
rm -f /var/lib/systemd/timesync
mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync
ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync

View File

@ -1,15 +1,13 @@
import ./make-test-python.nix ({ lib, ... }: with lib;
{
import ./make-test-python.nix ({ lib, ... }: {
name = "tor";
meta.maintainers = with maintainers; [ joachifm ];
meta.maintainers = with lib.maintainers; [ joachifm ];
nodes.client = { pkgs, ... }: {
boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
networking.firewall.enable = false;
networking.useDHCP = false;
environment.systemPackages = with pkgs; [ netcat ];
environment.systemPackages = [ pkgs.netcat ];
services.tor.enable = true;
services.tor.client.enable = true;
services.tor.settings.ControlPort = 9051;

View File

@ -1,9 +1,7 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "ulogd";
meta = with lib; {
maintainers = with maintainers; [ p-h ];
};
meta.maintainers = with lib.maintainers; [ p-h ];
nodes.machine = { ... }: {
networking.firewall.enable = false;

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "uptime-kuma";
meta.maintainers = with maintainers; [ julienmalka ];
meta.maintainers = with lib.maintainers; [ julienmalka ];
nodes.machine =
{ pkgs, ... }:

View File

@ -1,10 +1,8 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
with lib;
{
name = "xautolock";
meta.maintainers = with pkgs.lib.maintainers; [ ];
meta.maintainers = [ ];
nodes.machine = {
imports = [ ./common/x11.nix ./common/user-account.nix ];

View File

@ -1,10 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
with lib;
{
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "xss-lock";
meta.maintainers = with pkgs.lib.maintainers; [ ];
meta.maintainers = [ ];
nodes = {
simple = {

View File

@ -1,12 +1,6 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
with lib;
{
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "yabar";
meta = with pkgs.lib.maintainers; {
maintainers = [ ];
};
meta.maintainers = [ ];
nodes.machine = {
imports = [ ./common/x11.nix ./common/user-account.nix ];

View File

@ -4,7 +4,7 @@ import ./make-test-python.nix (
{
name = "zammad";
meta.maintainers = with lib.maintainers; [ garbas taeer ];
meta.maintainers = with lib.maintainers; [ garbas taeer n0emis ];
nodes.machine = { config, ... }: {
services.zammad.enable = true;

View File

@ -37,6 +37,8 @@ lib.makeScope newScope (self: with self; {
mopidy-soundcloud = callPackage ./soundcloud.nix { };
mopidy-spotify = callPackage ./spotify.nix { };
mopidy-tidal = callPackage ./tidal.nix { };
mopidy-tunein = callPackage ./tunein.nix { };

View File

@ -21,6 +21,7 @@ pythonPackages.buildPythonApplication rec {
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-rs
];
propagatedBuildInputs = [

View File

@ -0,0 +1,31 @@
{ lib, fetchFromGitHub, pythonPackages, mopidy }:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-spotify";
version = "unstable-2023-04-21";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-spotify";
rev = "984151ac96c5f9c35892055bff20cc11f46092d5";
hash = "sha256-4e9Aj0AOFR4/FK54gr1ZyPt0nYZDMrMetV4FPtBxapU=";
};
propagatedBuildInputs = [
mopidy
pythonPackages.responses
];
nativeBuildInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_spotify" ];
meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-spotify";
description = "Mopidy extension for playing music from Spotify";
license = licenses.asl20;
maintainers = with maintainers; [ lilyinstarlight ];
};
}

View File

@ -2,12 +2,12 @@
let
pname = "plexamp";
version = "4.6.2";
version = "4.7.4";
src = fetchurl {
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
name="${pname}-${version}.AppImage";
sha512 = "xGmE/ikL3ez0WTJKiOIcB5QtI7Ta9wq1Qedy9albWVpCS04FTnxQH5S0esTXw6j+iDTD8Lc2JbOhw8tYo/zRXg==";
sha512 = "TZ7JNSrUtsqnH+fWIcd1v4fY0jPnMV7nqV/QsbD7ZpqIBCkN3R9WQvc/E9gah163Ab40g9CmdghTGo3v8VW2Rw==";
};
appimageContents = appimageTools.extractType2 {
@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
meta = with lib; {
description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
homepage = "https://plexamp.com/";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/49";
changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/50";
license = licenses.unfree;
maintainers = with maintainers; [ killercup synthetica ];
platforms = [ "x86_64-linux" ];

View File

@ -10,8 +10,8 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2022.2.1.18"; # "Android Studio Flamingo (2022.2.1)"
sha256Hash = "sha256-zdhSxEmbX3QC30Tfxp6MpBj/yaaEyqs0BHR2/SyyTvw=";
version = "2022.2.1.19"; # "Android Studio Flamingo (2022.2.1) Patch 1"
sha256Hash = "sha256-bAtPlJI3RwqQX6xpEi7S8T2IDc/39MONU3iFpfi8v3A=";
};
betaVersion = {
version = "2022.3.1.12"; # "Android Studio Giraffe (2022.3.1) Beta 1"

View File

@ -19,7 +19,6 @@
}:
let
inherit (stdenv.hostPlatform) system;
unwrapped = stdenv.mkDerivation {
inherit pname version src sourceRoot dontFixup;
@ -135,9 +134,6 @@ let
# this fixes bundled ripgrep
chmod +x resources/app/node_modules/@vscode/ripgrep/bin/rg
'' + lib.optionalString (lib.versionOlder version "1.78.0" && stdenv.isLinux) ''
# see https://github.com/gentoo/gentoo/commit/4da5959
chmod +x resources/app/node_modules/node-pty/build/Release/spawn-helper
'';
inherit meta;

View File

@ -36,5 +36,3 @@ update_vscodium $VSCODIUM_VER darwin-x64 x86_64-darwin zip
update_vscodium $VSCODIUM_VER linux-arm64 aarch64-linux tar.gz
update_vscodium $VSCODIUM_VER darwin-arm64 aarch64-darwin zip
update_vscodium $VSCODIUM_VER linux-armhf armv7l-linux tar.gz

View File

@ -18,17 +18,17 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "11ibgnpcs0qvirgjnk799zkb63zp0nbc8y636l5g9nay6jm8lr8s";
x86_64-darwin = "0wg2xbvg3v20w4dh9vf27xcf95r5dv2l118vxxjfz2chfxmkk1qw";
aarch64-linux = "1gff1ildisczwb0dx7a0jvhj8rgn60n93rzcj1d7lihkgd00zjg6";
aarch64-darwin = "1zmfg1lv6izv1dmhawmnjs108pg99kq37pi6adyqnfw9yssn0ar5";
armv7l-linux = "10gr9p5vf0wcc9dgyc79p20vip12ja15qas4i3kwdp9lp4hzh1ss";
x86_64-linux = "0kir1grd150gb7im6yx2l16hi43wwsi8q3dlpgah4m7na064xgyd";
x86_64-darwin = "1fw73483ja4zav8xd0j03ygib5zbviy3kd02jzmgbbbsac5li96m";
aarch64-linux = "1w0dxpvrj06m1d15q45xi4sl4g3fk0nf04vh2ar956lg67dqj7i6";
aarch64-darwin = "0i5vj3km6wkdc2mrks2rjbqbn1isg4l4ss6zs7qfra3zcj62bkc2";
armv7l-linux = "1jx8cz43ac35as414mxsj9abpkr4a7v10fg1msjy2ykcrzv9v3dr";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.78.0";
version = "1.78.2";
pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders";

View File

@ -15,11 +15,10 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "049vn3gwwl0sxf8hvd8raaamy9f0x2z9p3sz8xzafa1h129iiybr";
x86_64-darwin = "1gbpbi3b0ag6v9znm02amvp35j05kpxs2mfsdq6dwmvg3hxmff2f";
aarch64-linux = "14pvsrpl7rsjvni7n2ch7wmvgpj9n8mwla7s7mlmi7wv46ykpk2a";
aarch64-darwin = "1x5bw928yp4fb57bc3qff46w7020zlyp1mfpm7vakjfaqnfwzzzn";
armv7l-linux = "0xliai5c3dd6qbgb9agvmn18n230zh4qxx3jjmaqn2851d6sx5xz";
x86_64-linux = "0ymgy0xisfxqrrmwpy0ga2rhlzhxqq39ppjfawxaf0dfdnkhgkgr";
x86_64-darwin = "1q5fg7cm8d4iwvx8b589aqby5vw1b66y85dxgrq6sapz9cg2pvhz";
aarch64-linux = "13vdqbhap9qd96y5n0immlwr61v8f7yvbwc9m0qas06f30b71f3z";
aarch64-darwin = "01dc7hv13ngr0xv2cmd2likmdc2gz0jbmgashmkm12gdrjp4q968";
}.${system} or throwSystem;
sourceRoot = if stdenv.isDarwin then "" else ".";
@ -29,7 +28,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.77.3.23102";
version = "1.78.2.23132";
pname = "vscodium";
executableName = "codium";

View File

@ -47,13 +47,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.1-8";
version = "7.1.1-9";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = finalAttrs.version;
hash = "sha256-2wAm2y8YQwhgsPNqxGGJ65emL/kMYoVvF2phZMXTpZc=";
hash = "sha256-xTrkQpd4UYHEmHosb7ZLoqnDFSutrikjXPmuU5R9jQo=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View File

@ -12,12 +12,12 @@ let
if extension == "zip" then fetchzip args else fetchurl args;
pname = "1password-cli";
version = "2.17.0";
version = "2.18.0";
sources = rec {
aarch64-linux = fetch "linux_arm64" "sha256-pnLAFCKhQKOIqp0qDv3DfAqF4fDXjFdw7Jl9WgDf7C0=" "zip";
i686-linux = fetch "linux_386" "sha256-o+pSWUOSzDKA5m+Riu3QOi9gQMyEmbIGcE/yUjKu9p8=" "zip";
x86_64-linux = fetch "linux_amd64" "sha256-aukQSeC+5p6ioTE6QlzEAM+9VOI34GfzzjaGt/N0klY=" "zip";
aarch64-darwin = fetch "apple_universal" "sha256-HSXbbeDWYrFTh9SsKwvNovprWRwaDr3rA6X6E1QJJos=" "pkg";
aarch64-linux = fetch "linux_arm64" "sha256-BmYGx4DI/Hvj9hBBZo5iprQeUgMNqEkESDjYcOVAt4Q=" "zip";
i686-linux = fetch "linux_386" "sha256-KpacioVLSPju9iW7B/yVCS66CZTwCTVAjxoaeBscJe8=" "zip";
x86_64-linux = fetch "linux_amd64" "sha256-p4wztBVQ2x2RrODJhX3z72QQtF8mnvqk3wT72hiPE3o=" "zip";
aarch64-darwin = fetch "apple_universal" "sha256-GfmTx4WS5oGgXXWqlA4bEmQJyFTu/bZnoEhIfZpfqpg=" "pkg";
x86_64-darwin = aarch64-darwin;
};
platforms = builtins.attrNames sources;

View File

@ -4,13 +4,13 @@ let
in
stdenv.mkDerivation rec {
pname = "phockup";
version = "1.9.2";
version = "1.10.1";
src = fetchFromGitHub {
owner = "ivandokov";
repo = "phockup";
rev = version;
sha256 = "sha256-ge34Iv/+B0xdrSNc7w3nZJw0DHBUvuh2k/I8v/RRg10=";
sha256 = "sha256-wnTdNzH/2Lcr3FXqm84ITiAmbKpFWLo/0/cf0fCv+4M=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -23,6 +23,8 @@ buildPythonApplication {
sed -i \
-e 's,zxing-cpp = .*,zxing-cpp = "*",g' \
-e 's,mss = .*,mss = "*",g' \
-e 's,yubikey-manager = .*,yubikey-manager = "*",g' \
-e 's,Pillow = .*,Pillow = "*",g' \
pyproject.toml
'';

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "113.0";
version = "113.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "96b0f0774083270f4fcce06085b177ced25ba05da7291d777f1da1d5bbad30721bc6363b76e06ccb64fc092778c8326a426a8bfdfa3cbaafd4f1169b924744a5";
sha512 = "67d6b777d138ef55dd813a15a483d0588181f3b83ba8da52bf6c1f10a58ab1d907a80afcfc1aa90b65405852b50d083f05032b32d3fdb153317f2df7f1f15db3";
};
meta = {

View File

@ -76,14 +76,12 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
tag = "mullvad-browser-102.10.0esr-12.0-2-build2";
version = "12.0.5";
lang = "ALL";
version = "12.0.6";
srcs = {
x86_64-linux = fetchurl {
url = "https://github.com/mullvad/mullvad-browser/releases/download/${tag}/mullvad-browser-linux64-${version}_${lang}.tar.xz";
hash = "sha256-Ezs2pjJNGOinMIskBDwpj70eKSkfcV6ZCKb60I5J23w=";
url = "https://cdn.mullvad.net/browser/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz";
hash = "sha256-XE6HFU38FhnikxGHRHxIGS3Z3Y2JNWH0yq2NejqbROI=";
};
};
@ -222,8 +220,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Privacy-focused browser made in a collaboration between The Tor Project and Mullvad";
homepage = "https://www.mullvad.net/en/browser";
changelog = "https://github.com/mullvad/mullvad-browser/releases/tag/${tag}";
homepage = "https://mullvad.net/en/browser";
platforms = attrNames srcs;
maintainers = with maintainers; [ felschr ];
# MPL2.0+, GPL+, &c. While it's not entirely clear whether

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cilium-cli";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitHub {
owner = "cilium";
repo = pname;
rev = "v${version}";
sha256 = "sha256-y7R9+YxkPWVEjcN8Czfp8UC47AAAt554XLo/nStoGLY=";
sha256 = "sha256-DhbXM/ntfywFZWAXxeojBC0wpjk0XLY3NZejE3f3Q10=";
};
vendorHash = null;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tektoncd-cli";
version = "0.30.1";
version = "0.31.0";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-tn7nK5YTdEYJf9UBajOZEc8fQ0cx3qM0X/7UYnDklj8=";
sha256 = "sha256-LJEdeYVwcmxd7DU/HI0TpWtZ1xUJz4WEnjEfvx5HsZQ=";
};
vendorSha256 = null;
vendorHash = null;
ldflags = [ "-s" "-w" "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" ];

View File

@ -3,20 +3,20 @@
let
tctl-next = buildGoModule rec {
pname = "tctl-next";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "temporalio";
repo = "cli";
rev = "v${version}";
hash = "sha256-yQnFw3uYGKrTevGFVZNgkWwKCCWiGy0qwJJOmnMpTJQ=";
hash = "sha256-zgi1wNx7fWf/iFGKaVffcXnC90vUz+mBT6HhCGdXMa0=";
};
vendorHash = "sha256-ld59ADHnlgsCA2mzVhdq6Vb2aa9rApvFxs3NpHiCKxo=";
vendorHash = "sha256-muTNwK2Sb2+0df/6DtAzT14gwyuqa13jkG6eQaqhSKg=";
nativeBuildInputs = [ installShellFiles ];
excludedPackages = [ "./cmd/docgen" ];
excludedPackages = [ "./cmd/docgen" "./tests" ];
ldflags = [
"-s"

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "temporal";
version = "1.20.2";
version = "1.20.3";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
hash = "sha256-2xer6W8pSZttjn5m5GgTOpHyXx2rE4qRZsBZzxwWh4o=";
hash = "sha256-ej6k9zQNpQ4x1LxZCI5vst9P1bSLEtbVkz1HUIX46cA=";
};
vendorHash = "sha256-Fo/xePou96KdFlUNIqhDZX4TJoYXqlMyuLDvmR/XreY=";

View File

@ -218,13 +218,13 @@
"vendorHash": "sha256-qIgr+ynaNSfNx1iW5RJrNHvEnlr46dBzIi+5IXYn+3Q="
},
"cloudflare": {
"hash": "sha256-0bHKQe4wIieKdxPF0S7Qv8QLlg+AZzBOG8n2qiMOM0g=",
"hash": "sha256-vVVwWZAkTzEQ+toZOblEoq1Xg4zC4zZD4Eoi1ocU6Rc=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare",
"repo": "terraform-provider-cloudflare",
"rev": "v4.5.0",
"rev": "v4.6.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-cXnaUHqJrPplLO61u20UscSjo0aOnrJyIvGh8+TfqE0="
"vendorHash": "sha256-NuvPhARQucbVEmO6iLWPZDe9VF/xROCbmC7jM7srUmE="
},
"cloudfoundry": {
"hash": "sha256-SFA0rG80BWaJHwvAWEugdVd3nR+YGflyYONOuoS++P8=",
@ -437,22 +437,22 @@
"vendorHash": "sha256-SLFpH7isx4OM2X9bzWYYD4VlejlgckBovOxthg47OOQ="
},
"google": {
"hash": "sha256-LJyKBoFkw93okFrLLBAW8bBuXtOf6/g310ZhJNXQpks=",
"hash": "sha256-U3vK9QvsipQDEZu0GW1uzt9JA7exT+VgvZI8Tt9A0XI=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google",
"rev": "v4.65.0",
"rev": "v4.65.2",
"spdx": "MPL-2.0",
"vendorHash": "sha256-O7lg3O54PedUEwWL34H49SvSBXuGH1l5joqEXgkew5Q="
},
"google-beta": {
"hash": "sha256-JI0GyEeCjKvoXlA+BzODQ9XArLVvf8Z6ajK5voIQ7IA=",
"hash": "sha256-b2N5ayMvvfJXPAc+lRXaz/G0O+u3FDAcsPS6ymV9v3s=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google-beta",
"rev": "v4.65.0",
"rev": "v4.65.2",
"spdx": "MPL-2.0",
"vendorHash": "sha256-O7lg3O54PedUEwWL34H49SvSBXuGH1l5joqEXgkew5Q="
},

View File

@ -1,5 +1,6 @@
{ stdenv
, lib
, nixosTests
, fetchFromGitHub
, applyPatches
, bundlerEnv
@ -7,7 +8,7 @@
, callPackage
, writeText
, procps
, ruby_2_7
, ruby
, postgresql
, imlib2
, jq
@ -21,7 +22,7 @@
let
pname = "zammad";
version = "5.1.1";
version = "5.4.1";
src = applyPatches {
@ -30,9 +31,9 @@ let
patches = [ ./0001-nulldb.patch ];
postPatch = ''
sed -i -e "s|ruby '2.7.4'|ruby '${ruby_2_7.version}'|" Gemfile
sed -i -e "s|ruby 2.7.4p191|ruby ${ruby_2_7.version}|" Gemfile.lock
sed -i -e "s|2.7.4|${ruby_2_7.version}|" .ruby-version
sed -i -e "s|ruby '3.1.[0-9]\+'|ruby '${ruby.version}'|" Gemfile
sed -i -e "s|ruby 3.1.[0-9]\+p[0-9]\+|ruby ${ruby.version}|" Gemfile.lock
sed -i -e "s|3.1.[0-9]\+|${ruby.version}|" .ruby-version
${jq}/bin/jq '. += {name: "Zammad", version: "${version}"}' package.json | ${moreutils}/bin/sponge package.json
'';
};
@ -53,7 +54,7 @@ let
# Which ruby version to select:
# https://docs.zammad.org/en/latest/prerequisites/software.html#ruby-programming-language
inherit ruby_2_7;
inherit ruby;
gemdir = src;
gemset = ./gemset.nix;
@ -94,6 +95,12 @@ let
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix;
packageJSON = ./package.json;
yarnPreBuild = ''
mkdir -p deps/Zammad
cp -r ${src}/.eslint-plugin-zammad deps/Zammad/.eslint-plugin-zammad
chmod -R +w deps/Zammad/.eslint-plugin-zammad
'';
};
in
@ -129,13 +136,14 @@ stdenv.mkDerivation {
passthru = {
inherit rubyEnv yarnEnv;
updateScript = [ "${callPackage ./update.nix {}}/bin/update.sh" pname (toString ./.) ];
tests = { inherit (nixosTests) zammad; };
};
meta = with lib; {
description = "Zammad, a web-based, open source user support/ticketing solution.";
homepage = "https://zammad.org";
license = licenses.agpl3Plus;
platforms = [ "x86_64-linux" ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
maintainers = with maintainers; [ n0emis garbas taeer ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,152 @@
{
"private": true,
"scripts": {
"lint:css": "stylelint \"**/*.{css,scss}\"",
"lint:css:fix": "stylelint \"**/*.{css,scss}\" --fix"
"generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > tmp/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml && rm tmp/graphql_introspection.json",
"dev": "RAILS_ENV=development forego start -f Procfile.dev",
"dev:https": "VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
"https:generate": "sh contrib/ssl/generate-ssl.sh",
"i18n": "rails generate zammad:translation_catalog",
"lint": "vue-tsc --noEmit && eslint --cache --cache-location ./tmp/eslintcache.js -c .eslintrc.js --ext .js,.ts,.vue app/frontend/ .eslint-plugin-zammad/",
"lint:fix": "yarn lint -- --fix",
"lint:css": "stylelint **/*.{css,vue,scss}",
"lint:css:fix": "stylelint **/*.{css,vue,scss} --fix",
"test": "VTL_SKIP_AUTO_CLEANUP=true TZ=utc vitest",
"test:ct": "CY_OPEN=true yarn --cwd ./.cypress cypress open --component --project ../ --config-file .cypress/cypress.config.mjs",
"test:ci:ct": "CI=true yarn --cwd ./.cypress cypress run --component --project ../ --config-file .cypress/cypress.config.mjs --browser electron",
"cypress:snapshots": "sh .cypress/visual-regression/snapshots.sh",
"cypress:install": "yarn --cwd ./.cypress install",
"postinstall": "node script/fix-node-modules.mjs",
"story": "histoire dev",
"story:build": "HISTOIRE_BUILD=1 histoire build"
},
"engines": {
"node": ">=16"
},
"packageManager": "yarn@1.22.19",
"devDependencies": {
"postcss": "^8.4.4",
"postcss-html": "^1.3.0",
"prettier": "2.5.0",
"stylelint": "^14.1.0",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-standard": "^24.0.0",
"stylelint-config-standard-scss": "^3.0.0",
"stylelint-prettier": "^2.0.0"
"@graphql-codegen/cli": "^3.0.0",
"@graphql-codegen/introspection": "^3.0.0",
"@graphql-codegen/near-operation-file-preset": "^2.5.0",
"@graphql-codegen/typescript": "^3.0.0",
"@graphql-codegen/typescript-operations": "^3.0.0",
"@graphql-codegen/typescript-vue-apollo": "^3.3.7",
"@histoire/plugin-vue": "^0.14.2",
"@pinia/testing": "^0.0.14",
"@tailwindcss/line-clamp": "^0.4.2",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/user-event": "^14.4.3",
"@testing-library/vue": "^6.6.1",
"@types/lodash-es": "^4.17.6",
"@types/rails__actioncable": "^6.1.6",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^9.0.0",
"@typescript-eslint/eslint-plugin": "^5.51.0",
"@typescript-eslint/parser": "^5.51.0",
"@vitejs/plugin-vue": "^4.0.0",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/test-utils": "^2.2.10",
"autoprefixer": "^10.4.13",
"eslint": "^8.33.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.6.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-prettier-vue": "^4.2.0",
"eslint-plugin-security": "^1.7.1",
"eslint-plugin-sonarjs": "^0.18.0",
"eslint-plugin-vue": "^9.9.0",
"eslint-plugin-zammad": "file:.eslint-plugin-zammad",
"histoire": "^0.14.2",
"jsdom": "^21.1.0",
"mock-apollo-client": "^1.2.1",
"postcss": "^8.4.21",
"postcss-html": "^1.5.0",
"prettier": "2.8.4",
"prettier-plugin-tailwindcss": "^0.2.2",
"regenerator-runtime": "^0.13.11",
"sass": "^1.58.0",
"stylelint": "^14.16.1",
"stylelint-config-prettier": "^9.0.5",
"stylelint-config-recommended-vue": "^1.4.0",
"stylelint-config-standard": "^29.0.0",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-prettier": "^2.0.0",
"stylelint-scss": "^4.4.0",
"tailwindcss": "^3.2.6",
"timezone-mock": "^1.3.6",
"ts-node": "^10.9.1",
"type-fest": "^3.5.7",
"typescript": "^4.9.5",
"vite": "^4.0.4",
"vite-plugin-pwa": "^0.14.1",
"vite-plugin-ruby": "^3.1.3",
"vite-plugin-svg-icons": "^2.0.1",
"vitest": "^0.28.4",
"vitest-axe": "^0.1.0",
"vue-tsc": "^1.0.24"
},
"dependencies": {
"@apollo/client": "^3.7.7",
"@formkit/core": "^1.0.0-beta.13-c578106",
"@formkit/dev": "^1.0.0-beta.13-c578106",
"@formkit/i18n": "^1.0.0-beta.13-c578106",
"@formkit/inputs": "^1.0.0-beta.13-c578106",
"@formkit/rules": "^1.0.0-beta.13-c578106",
"@formkit/tailwindcss": "^1.0.0-beta.13-c578106",
"@formkit/themes": "^1.0.0-beta.13-c578106",
"@formkit/utils": "^1.0.0-beta.13-c578106",
"@formkit/validation": "^1.0.0-beta.13-c578106",
"@formkit/vue": "^1.0.0-beta.13-c578106",
"@rails/actioncable": "6.1.7",
"@tiptap/core": "^2.0.0-beta.217",
"@tiptap/extension-blockquote": "^2.0.0-beta.217",
"@tiptap/extension-character-count": "^2.0.0-beta.217",
"@tiptap/extension-image": "^2.0.0-beta.217",
"@tiptap/extension-link": "^2.0.0-beta.217",
"@tiptap/extension-list-item": "^2.0.0-beta.217",
"@tiptap/extension-mention": "^2.0.0-beta.217",
"@tiptap/extension-ordered-list": "^2.0.0-beta.217",
"@tiptap/extension-paragraph": "^2.0.0-beta.217",
"@tiptap/extension-strike": "^2.0.0-beta.217",
"@tiptap/extension-underline": "^2.0.0-beta.217",
"@tiptap/pm": "^2.0.0-beta.217",
"@tiptap/starter-kit": "^2.0.0-beta.217",
"@tiptap/suggestion": "^2.0.0-beta.217",
"@tiptap/vue-3": "^2.0.0-beta.217",
"@vue/apollo-composable": "^4.0.0-beta.2",
"@vueuse/core": "^9.12.0",
"@vueuse/router": "^9.12.0",
"@vueuse/shared": "^9.12.0",
"async-mutex": "^0.4.0",
"flatpickr": "^4.6.13",
"graphql": "^16.6.0",
"graphql-ruby-client": "^1.11.5",
"graphql-tag": "^2.12.6",
"linkify-string": "^4.1.0",
"linkifyjs": "^4.1.0",
"lodash-es": "^4.17.21",
"loglevel": "^1.8.1",
"mitt": "^3.0.0",
"pinia": "^2.0.30",
"tippy.js": "^6.3.7",
"ua-parser-js": "^1.0.33",
"uuid": "^9.0.0",
"vue": "^3.2.47",
"vue-advanced-cropper": "^2.8.8",
"vue-easy-lightbox": "1.12.0",
"vue-router": "^4.1.6",
"vue3-draggable-resizable": "^1.6.5",
"vuedraggable": "^4.1.0",
"workbox-core": "^6.5.4",
"workbox-precaching": "^6.5.4",
"workbox-window": "^6.5.4"
},
"resolutions": {
"loader-utils": "^3.2.1",
"postcss": "^8.4.21"
},
"name": "Zammad",
"version": "5.1.1"
"version": "5.4.1"
}

View File

@ -1,8 +1,8 @@
{
"owner": "zammad",
"repo": "zammad",
"rev": "d71bd90ef964426230664cdfbaa2572325bfed4f",
"sha256": "yzDTkjnRBl71REtSKRblkanJWhj7gp/+exhWjxGCFWw=",
"rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678",
"sha256": "vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
"fetchSubmodules": true
}

View File

@ -3,6 +3,7 @@
, makeWrapper
, bundix
, common-updater-scripts
, xidel
, jq
, nix-prefetch-github
, yarn
@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [
bundix
common-updater-scripts
xidel
jq
nix-prefetch-github
yarn

View File

@ -8,7 +8,7 @@ if [ "$#" -gt 2 ] || [[ "$1" == -* ]]; then
exit 1
fi
VERSION=$(curl -s https://ftp.zammad.com/ | grep -v latest | grep tar.gz | sed "s/<a href=\".*\">zammad-//" | sort -h | tail -n 1 | awk '{print $1}' | sed 's/.tar.gz<\/a>//')
VERSION=$(xidel -s https://ftp.zammad.com/ --extract "//a" | grep -E "zammad-[0-9.]*.tar.gz" | sort --version-sort | tail -n 1 | sed -e 's/zammad-//' -e 's/.tar.gz//')
TARGET_DIR="$2"
WORK_DIR=$(mktemp -d)
SOURCE_DIR=$WORK_DIR/zammad-$VERSION

File diff suppressed because it is too large Load Diff

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