Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-05-03 00:02:39 +00:00 committed by GitHub
commit 3588aea450
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
66 changed files with 20953 additions and 680 deletions

View File

@ -111,7 +111,7 @@ in pkgs.stdenv.mkDerivation {
${lib-docs}/index.md \ ${lib-docs}/index.md \
> ./functions/library.md > ./functions/library.md
substitute ./manual.md.in ./manual.md \ substitute ./manual.md.in ./manual.md \
--replace '@MANUAL_VERSION@' '${pkgs.lib.version}' --replace-fail '@MANUAL_VERSION@' '${pkgs.lib.version}'
mkdir -p out/media mkdir -p out/media

View File

@ -53,6 +53,53 @@ rec {
inherit type isGVariant; inherit type isGVariant;
intConstructors = [
{
name = "mkInt32";
type = type.int32;
min = -2147483648;
max = 2147483647;
}
{
name = "mkUint32";
type = type.uint32;
min = 0;
max = 4294967295;
}
{
name = "mkInt64";
type = type.int64;
# Nix does not support such large numbers.
min = null;
max = null;
}
{
name = "mkUint64";
type = type.uint64;
min = 0;
# Nix does not support such large numbers.
max = null;
}
{
name = "mkInt16";
type = type.int16;
min = -32768;
max = 32767;
}
{
name = "mkUint16";
type = type.uint16;
min = 0;
max = 65535;
}
{
name = "mkUchar";
type = type.uchar;
min = 0;
max = 255;
}
];
/* Returns the GVariant value that most closely matches the given Nix value. /* Returns the GVariant value that most closely matches the given Nix value.
If no GVariant value can be found unambiguously then error is thrown. If no GVariant value can be found unambiguously then error is thrown.
@ -70,8 +117,20 @@ rec {
mkArray v mkArray v
else if isGVariant v then else if isGVariant v then
v v
else if builtins.isInt v then
let
validConstructors = builtins.filter ({ min, max, ... }: (min == null || min <= v) && (max == null || v <= max)) intConstructors;
in
throw ''
The GVariant type for number ${builtins.toString v} is unclear.
Please wrap the value with one of the following, depending on the value type in GSettings schema:
${lib.concatMapStringsSep "\n" ({ name, type, ...}: "- `lib.gvariant.${name}` for `${type}`") validConstructors}
''
else if builtins.isAttrs v then
throw "Cannot construct GVariant value from an attribute set. If you want to construct a dictionary, you will need to create an array containing items constructed with `lib.gvariant.mkDictionaryEntry`."
else else
throw "The GVariant type of ${v} can't be inferred."; throw "The GVariant type of ${builtins.typeOf v} can't be inferred.";
/* Returns the GVariant array from the given type of the elements and a Nix list. /* Returns the GVariant array from the given type of the elements and a Nix list.

View File

@ -7600,6 +7600,12 @@
githubId = 76716; githubId = 76716;
name = "Graham Christensen"; name = "Graham Christensen";
}; };
grahamnorris = {
email = "oss@grahamjnorris.com";
github = "grahamnorris";
githubId = 66037909;
name = "Graham J. Norris";
};
gravndal = { gravndal = {
email = "gaute.ravndal+nixos@gmail.com"; email = "gaute.ravndal+nixos@gmail.com";
github = "gravndal"; github = "gravndal";

View File

@ -80,17 +80,17 @@ let
cp -r --no-preserve=all $inputs/* . cp -r --no-preserve=all $inputs/* .
substituteInPlace ./manual.md \ substituteInPlace ./manual.md \
--replace '@NIXOS_VERSION@' "${version}" --replace-fail '@NIXOS_VERSION@' "${version}"
substituteInPlace ./configuration/configuration.md \ substituteInPlace ./configuration/configuration.md \
--replace \ --replace-fail \
'@MODULE_CHAPTERS@' \ '@MODULE_CHAPTERS@' \
${escapeShellArg (concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)} ${escapeShellArg (concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)}
substituteInPlace ./nixos-options.md \ substituteInPlace ./nixos-options.md \
--replace \ --replace-fail \
'@NIXOS_OPTIONS_JSON@' \ '@NIXOS_OPTIONS_JSON@' \
${optionsDoc.optionsJSON}/${common.outputPath}/options.json ${optionsDoc.optionsJSON}/${common.outputPath}/options.json
substituteInPlace ./development/writing-nixos-tests.section.md \ substituteInPlace ./development/writing-nixos-tests.section.md \
--replace \ --replace-fail \
'@NIXOS_TEST_OPTIONS_JSON@' \ '@NIXOS_TEST_OPTIONS_JSON@' \
${testOptionsDoc.optionsJSON}/${common.outputPath}/options.json ${testOptionsDoc.optionsJSON}/${common.outputPath}/options.json
sed -e '/@PYTHON_MACHINE_METHODS@/ {' -e 'r ${testDriverMachineDocstrings}/machine-methods.md' -e 'd' -e '}' \ sed -e '/@PYTHON_MACHINE_METHODS@/ {' -e 'r ${testDriverMachineDocstrings}/machine-methods.md' -e 'd' -e '}' \

View File

@ -2,28 +2,19 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
let cfg = config.programs.evince; let cfg = config.programs.evince;
in { in {
# Added 2019-08-09
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "evince" "enable" ]
[ "programs" "evince" "enable" ])
];
###### interface ###### interface
options = { options = {
programs.evince = { programs.evince = {
enable = mkEnableOption "Evince, the GNOME document viewer"; enable = lib.mkEnableOption "Evince, the GNOME document viewer";
package = mkPackageOption pkgs "evince" { }; package = lib.mkPackageOption pkgs "evince" { };
}; };
@ -32,7 +23,7 @@ in {
###### implementation ###### implementation
config = mkIf config.programs.evince.enable { config = lib.mkIf config.programs.evince.enable {
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View File

@ -2,28 +2,19 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
let cfg = config.programs.file-roller; let cfg = config.programs.file-roller;
in { in {
# Added 2019-08-09
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "file-roller" "enable" ]
[ "programs" "file-roller" "enable" ])
];
###### interface ###### interface
options = { options = {
programs.file-roller = { programs.file-roller = {
enable = mkEnableOption "File Roller, an archive manager for GNOME"; enable = lib.mkEnableOption "File Roller, an archive manager for GNOME";
package = mkPackageOption pkgs [ "gnome" "file-roller" ] { }; package = lib.mkPackageOption pkgs [ "gnome" "file-roller" ] { };
}; };
@ -32,7 +23,7 @@ in {
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View File

@ -2,29 +2,20 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2019-08-09
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-disks" "enable" ]
[ "programs" "gnome-disks" "enable" ])
];
###### interface ###### interface
options = { options = {
programs.gnome-disks = { programs.gnome-disks = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable GNOME Disks daemon, a program designed to Whether to enable GNOME Disks daemon, a program designed to
@ -39,7 +30,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.programs.gnome-disks.enable { config = lib.mkIf config.programs.gnome-disks.enable {
environment.systemPackages = [ pkgs.gnome.gnome-disk-utility ]; environment.systemPackages = [ pkgs.gnome.gnome-disk-utility ];

View File

@ -2,8 +2,6 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
let let
cfg = config.programs.gnome-terminal; cfg = config.programs.gnome-terminal;
@ -13,21 +11,14 @@ in
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2019-08-19
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-terminal-server" "enable" ]
[ "programs" "gnome-terminal" "enable" ])
];
options = { options = {
programs.gnome-terminal.enable = mkEnableOption "GNOME Terminal"; programs.gnome-terminal.enable = lib.mkEnableOption "GNOME Terminal";
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.gnome.gnome-terminal ]; environment.systemPackages = [ pkgs.gnome.gnome-terminal ];
services.dbus.packages = [ pkgs.gnome.gnome-terminal ]; services.dbus.packages = [ pkgs.gnome.gnome-terminal ];
systemd.packages = [ pkgs.gnome.gnome-terminal ]; systemd.packages = [ pkgs.gnome.gnome-terminal ];

View File

@ -1,22 +1,13 @@
# GPaste. # GPaste.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
# Added 2019-08-09
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gpaste" "enable" ]
[ "programs" "gpaste" "enable" ])
];
###### interface ###### interface
options = { options = {
programs.gpaste = { programs.gpaste = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable GPaste, a clipboard manager. Whether to enable GPaste, a clipboard manager.
@ -26,7 +17,7 @@ with lib;
}; };
###### implementation ###### implementation
config = mkIf config.programs.gpaste.enable { config = lib.mkIf config.programs.gpaste.enable {
environment.systemPackages = [ pkgs.gnome.gpaste ]; environment.systemPackages = [ pkgs.gnome.gpaste ];
services.dbus.packages = [ pkgs.gnome.gpaste ]; services.dbus.packages = [ pkgs.gnome.gpaste ];
systemd.packages = [ pkgs.gnome.gpaste ]; systemd.packages = [ pkgs.gnome.gpaste ];

View File

@ -2,25 +2,15 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
# Added 2019-08-27
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "seahorse" "enable" ]
[ "programs" "seahorse" "enable" ])
];
###### interface ###### interface
options = { options = {
programs.seahorse = { programs.seahorse = {
enable = mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring"; enable = lib.mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring";
}; };
@ -29,9 +19,9 @@ with lib;
###### implementation ###### implementation
config = mkIf config.programs.seahorse.enable { config = lib.mkIf config.programs.seahorse.enable {
programs.ssh.askPassword = mkDefault "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass"; programs.ssh.askPassword = lib.mkDefault "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
environment.systemPackages = [ environment.systemPackages = [
pkgs.gnome.seahorse pkgs.gnome.seahorse

View File

@ -2,30 +2,19 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
###### interface ###### interface
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "at-spi2-core" "enable" ]
[ "services" "gnome" "at-spi2-core" "enable" ]
)
];
options = { options = {
services.gnome.at-spi2-core = { services.gnome.at-spi2-core = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable at-spi2-core, a service for the Assistive Technologies Whether to enable at-spi2-core, a service for the Assistive Technologies
@ -43,14 +32,14 @@ with lib;
###### implementation ###### implementation
config = mkMerge [ config = lib.mkMerge [
(mkIf config.services.gnome.at-spi2-core.enable { (lib.mkIf config.services.gnome.at-spi2-core.enable {
environment.systemPackages = [ pkgs.at-spi2-core ]; environment.systemPackages = [ pkgs.at-spi2-core ];
services.dbus.packages = [ pkgs.at-spi2-core ]; services.dbus.packages = [ pkgs.at-spi2-core ];
systemd.packages = [ pkgs.at-spi2-core ]; systemd.packages = [ pkgs.at-spi2-core ];
}) })
(mkIf (!config.services.gnome.at-spi2-core.enable) { (lib.mkIf (!config.services.gnome.at-spi2-core.enable) {
environment.sessionVariables = { environment.sessionVariables = {
NO_AT_BRIDGE = "1"; NO_AT_BRIDGE = "1";
GTK_A11Y = "none"; GTK_A11Y = "none";

View File

@ -2,44 +2,30 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "evolution-data-server" "enable" ]
[ "services" "gnome" "evolution-data-server" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "evolution-data-server" "plugins" ]
[ "services" "gnome" "evolution-data-server" "plugins" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.evolution-data-server = { services.gnome.evolution-data-server = {
enable = mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars"; enable = lib.mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars";
plugins = mkOption { plugins = lib.mkOption {
type = types.listOf types.package; type = lib.types.listOf lib.types.package;
default = [ ]; default = [ ];
description = "Plugins for Evolution Data Server."; description = "Plugins for Evolution Data Server.";
}; };
}; };
programs.evolution = { programs.evolution = {
enable = mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality"; enable = lib.mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality";
plugins = mkOption { plugins = lib.mkOption {
type = types.listOf types.package; type = lib.types.listOf lib.types.package;
default = [ ]; default = [ ];
example = literalExpression "[ pkgs.evolution-ews ]"; example = lib.literalExpression "[ pkgs.evolution-ews ]";
description = "Plugins for Evolution."; description = "Plugins for Evolution.";
}; };
@ -52,15 +38,15 @@ with lib;
let let
bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome.evolution-data-server) plugins; }; bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome.evolution-data-server) plugins; };
in in
mkMerge [ lib.mkMerge [
(mkIf config.services.gnome.evolution-data-server.enable { (lib.mkIf config.services.gnome.evolution-data-server.enable {
environment.systemPackages = [ bundle ]; environment.systemPackages = [ bundle ];
services.dbus.packages = [ bundle ]; services.dbus.packages = [ bundle ];
systemd.packages = [ bundle ]; systemd.packages = [ bundle ];
}) })
(mkIf config.programs.evolution.enable { (lib.mkIf config.programs.evolution.enable {
services.gnome.evolution-data-server = { services.gnome.evolution-data-server = {
enable = true; enable = true;
plugins = [ pkgs.evolution ] ++ config.programs.evolution.plugins; plugins = [ pkgs.evolution ] ++ config.programs.evolution.plugins;

View File

@ -2,29 +2,19 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "glib-networking" "enable" ]
[ "services" "gnome" "glib-networking" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.glib-networking = { services.gnome.glib-networking = {
enable = mkEnableOption "network extensions for GLib"; enable = lib.mkEnableOption "network extensions for GLib";
}; };
@ -32,7 +22,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.glib-networking.enable { config = lib.mkIf config.services.gnome.glib-networking.enable {
services.dbus.packages = [ pkgs.glib-networking ]; services.dbus.packages = [ pkgs.glib-networking ];

View File

@ -9,19 +9,6 @@ in
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "chrome-gnome-shell" "enable" ]
[ "services" "gnome" "gnome-browser-connector" "enable" ]
)
# Added 2022-07-25
(mkRenamedOptionModule
[ "services" "gnome" "chrome-gnome-shell" "enable" ]
[ "services" "gnome" "gnome-browser-connector" "enable" ]
)
];
options = { options = {
services.gnome.gnome-browser-connector.enable = mkEnableOption '' services.gnome.gnome-browser-connector.enable = mkEnableOption ''
native host connector for the GNOME Shell browser extension, a DBus service native host connector for the GNOME Shell browser extension, a DBus service

View File

@ -2,8 +2,6 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
let let
# GNOME initial setup's run is conditioned on whether # GNOME initial setup's run is conditioned on whether
@ -45,24 +43,16 @@ in
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-initial-setup" "enable" ]
[ "services" "gnome" "gnome-initial-setup" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-initial-setup = { services.gnome.gnome-initial-setup = {
enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system"; enable = lib.mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system";
}; };
@ -71,12 +61,12 @@ in
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-initial-setup.enable { config = lib.mkIf config.services.gnome.gnome-initial-setup.enable {
environment.systemPackages = [ environment.systemPackages = [
pkgs.gnome.gnome-initial-setup pkgs.gnome.gnome-initial-setup
] ]
++ optional (versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart ++ lib.optional (lib.versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart
; ;
systemd.packages = [ systemd.packages = [

View File

@ -2,30 +2,20 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-keyring" "enable" ]
[ "services" "gnome" "gnome-keyring" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-keyring = { services.gnome.gnome-keyring = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable GNOME Keyring daemon, a service designed to Whether to enable GNOME Keyring daemon, a service designed to
@ -41,7 +31,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-keyring.enable { config = lib.mkIf config.services.gnome.gnome-keyring.enable {
environment.systemPackages = [ pkgs.gnome.gnome-keyring ]; environment.systemPackages = [ pkgs.gnome.gnome-keyring ];

View File

@ -2,30 +2,20 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-online-accounts" "enable" ]
[ "services" "gnome" "gnome-online-accounts" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-online-accounts = { services.gnome.gnome-online-accounts = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable GNOME Online Accounts daemon, a service that provides Whether to enable GNOME Online Accounts daemon, a service that provides
@ -40,7 +30,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-online-accounts.enable { config = lib.mkIf config.services.gnome.gnome-online-accounts.enable {
environment.systemPackages = [ pkgs.gnome-online-accounts ]; environment.systemPackages = [ pkgs.gnome-online-accounts ];

View File

@ -2,30 +2,20 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-online-miners" "enable" ]
[ "services" "gnome" "gnome-online-miners" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-online-miners = { services.gnome.gnome-online-miners = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable GNOME Online Miners, a service that Whether to enable GNOME Online Miners, a service that
@ -40,7 +30,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-online-miners.enable { config = lib.mkIf config.services.gnome.gnome-online-miners.enable {
environment.systemPackages = [ pkgs.gnome.gnome-online-miners ]; environment.systemPackages = [ pkgs.gnome.gnome-online-miners ];

View File

@ -1,30 +1,20 @@
# Remote desktop daemon using Pipewire. # Remote desktop daemon using Pipewire.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-remote-desktop" "enable" ]
[ "services" "gnome" "gnome-remote-desktop" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-remote-desktop = { services.gnome.gnome-remote-desktop = {
enable = mkEnableOption "Remote Desktop support using Pipewire"; enable = lib.mkEnableOption "Remote Desktop support using Pipewire";
}; };
}; };
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-remote-desktop.enable { config = lib.mkIf config.services.gnome.gnome-remote-desktop.enable {
services.pipewire.enable = true; services.pipewire.enable = true;
services.dbus.packages = [ pkgs.gnome.gnome-remote-desktop ]; services.dbus.packages = [ pkgs.gnome.gnome-remote-desktop ];

View File

@ -2,8 +2,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.services.gnome.gnome-settings-daemon; cfg = config.services.gnome.gnome-settings-daemon;
@ -13,28 +11,16 @@ in
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
(mkRemovedOptionModule
["services" "gnome3" "gnome-settings-daemon" "package"]
"")
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-settings-daemon" "enable" ]
[ "services" "gnome" "gnome-settings-daemon" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-settings-daemon = { services.gnome.gnome-settings-daemon = {
enable = mkEnableOption "GNOME Settings Daemon"; enable = lib.mkEnableOption "GNOME Settings Daemon";
}; };
@ -43,7 +29,7 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = [
pkgs.gnome.gnome-settings-daemon pkgs.gnome.gnome-settings-daemon

View File

@ -2,29 +2,19 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-user-share" "enable" ]
[ "services" "gnome" "gnome-user-share" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.gnome-user-share = { services.gnome.gnome-user-share = {
enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME"; enable = lib.mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME";
}; };
@ -33,7 +23,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.gnome-user-share.enable { config = lib.mkIf config.services.gnome.gnome-user-share.enable {
environment.systemPackages = [ environment.systemPackages = [
pkgs.gnome.gnome-user-share pkgs.gnome.gnome-user-share

View File

@ -1,38 +1,28 @@
# rygel service. # rygel service.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "rygel" "enable" ]
[ "services" "gnome" "rygel" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.rygel = { services.gnome.rygel = {
enable = mkOption { enable = lib.mkOption {
default = false; default = false;
description = '' description = ''
Whether to enable Rygel UPnP Mediaserver. Whether to enable Rygel UPnP Mediaserver.
You will need to also allow UPnP connections in firewall, see the following [comment](https://github.com/NixOS/nixpkgs/pull/45045#issuecomment-416030795). You will need to also allow UPnP connections in firewall, see the following [comment](https://github.com/NixOS/nixpkgs/pull/45045#issuecomment-416030795).
''; '';
type = types.bool; type = lib.types.bool;
}; };
}; };
}; };
###### implementation ###### implementation
config = mkIf config.services.gnome.rygel.enable { config = lib.mkIf config.services.gnome.rygel.enable {
environment.systemPackages = [ pkgs.gnome.rygel ]; environment.systemPackages = [ pkgs.gnome.rygel ];
services.dbus.packages = [ pkgs.gnome.rygel ]; services.dbus.packages = [ pkgs.gnome.rygel ];

View File

@ -2,30 +2,20 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "sushi" "enable" ]
[ "services" "gnome" "sushi" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.sushi = { services.gnome.sushi = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable Sushi, a quick previewer for nautilus. Whether to enable Sushi, a quick previewer for nautilus.
@ -39,7 +29,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.sushi.enable { config = lib.mkIf config.services.gnome.sushi.enable {
environment.systemPackages = [ pkgs.gnome.sushi ]; environment.systemPackages = [ pkgs.gnome.sushi ];

View File

@ -2,30 +2,20 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "tracker-miners" "enable" ]
[ "services" "gnome" "tracker-miners" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.tracker-miners = { services.gnome.tracker-miners = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable Tracker miners, indexing services for Tracker Whether to enable Tracker miners, indexing services for Tracker
@ -39,7 +29,7 @@ with lib;
###### implementation ###### implementation
config = mkIf config.services.gnome.tracker-miners.enable { config = lib.mkIf config.services.gnome.tracker-miners.enable {
environment.systemPackages = [ pkgs.tracker-miners ]; environment.systemPackages = [ pkgs.tracker-miners ];

View File

@ -2,33 +2,23 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib;
let let
cfg = config.services.gnome.tracker; cfg = config.services.gnome.tracker;
in in
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "tracker" "enable" ]
[ "services" "gnome" "tracker" "enable" ]
)
];
###### interface ###### interface
options = { options = {
services.gnome.tracker = { services.gnome.tracker = {
enable = mkOption { enable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to enable Tracker services, a search engine, Whether to enable Tracker services, a search engine,
@ -36,8 +26,8 @@ in
''; '';
}; };
subcommandPackages = mkOption { subcommandPackages = lib.mkOption {
type = types.listOf types.package; type = lib.types.listOf lib.types.package;
default = [ ]; default = [ ];
internal = true; internal = true;
description = '' description = ''
@ -52,7 +42,7 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.tracker ]; environment.systemPackages = [ pkgs.tracker ];

View File

@ -2,8 +2,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.services.gvfs; cfg = config.services.gvfs;
@ -13,26 +11,19 @@ in
{ {
meta = { meta = {
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
# Added 2019-08-19
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gvfs" "enable" ]
[ "services" "gvfs" "enable" ])
];
###### interface ###### interface
options = { options = {
services.gvfs = { services.gvfs = {
enable = mkEnableOption "GVfs, a userspace virtual filesystem"; enable = lib.mkEnableOption "GVfs, a userspace virtual filesystem";
# gvfs can be built with multiple configurations # gvfs can be built with multiple configurations
package = mkPackageOption pkgs [ "gnome" "gvfs" ] { }; package = lib.mkPackageOption pkgs [ "gnome" "gvfs" ] { };
}; };
@ -41,7 +32,7 @@ in
###### implementation ###### implementation
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View File

@ -29,12 +29,6 @@ let
fi fi
'') cfg.sessionPackages} '') cfg.sessionPackages}
''; '';
dmDefault = config.services.xserver.desktopManager.default;
# fallback default for cases when only default wm is set
dmFallbackDefault = if dmDefault != null then dmDefault else "none";
wmDefault = config.services.xserver.windowManager.default;
defaultSessionFromLegacyOptions = dmFallbackDefault + lib.optionalString (wmDefault != null && wmDefault != "none") "+${wmDefault}";
in in
{ {
options = { options = {
@ -125,14 +119,7 @@ in
${lib.concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames} ${lib.concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames}
''; '';
}; };
default = default = null;
if dmDefault != null || wmDefault != null then
defaultSessionFromLegacyOptions
else
null;
defaultText = lib.literalMD ''
Taken from display manager settings or window manager settings, if either is set.
'';
example = "gnome"; example = "gnome";
description = '' description = ''
Graphical session to pre-select in the session chooser (only effective for GDM, LightDM and SDDM). Graphical session to pre-select in the session chooser (only effective for GDM, LightDM and SDDM).
@ -192,20 +179,6 @@ in
} }
]; ];
warnings =
lib.mkIf (dmDefault != null || wmDefault != null) [
''
The following options are deprecated:
${lib.concatStringsSep "\n " (map ({c, t}: t) (lib.filter ({c, t}: c != null) [
{ c = dmDefault; t = "- services.xserver.desktopManager.default"; }
{ c = wmDefault; t = "- services.xserver.windowManager.default"; }
]))}
Please use
services.displayManager.defaultSession = "${defaultSessionFromLegacyOptions}";
instead.
''
];
# Make xsessions and wayland sessions available in XDG_DATA_DIRS # Make xsessions and wayland sessions available in XDG_DATA_DIRS
# as some programs have behavior that depends on them being present # as some programs have behavior that depends on them being present
environment.sessionVariables.XDG_DATA_DIRS = lib.mkIf (cfg.sessionPackages != [ ]) [ environment.sessionVariables.XDG_DATA_DIRS = lib.mkIf (cfg.sessionPackages != [ ]) [

View File

@ -1,8 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
inherit (lib) mkOption types;
xcfg = config.services.xserver; xcfg = config.services.xserver;
cfg = xcfg.desktopManager; cfg = xcfg.desktopManager;
@ -59,7 +58,7 @@ in
session = mkOption { session = mkOption {
internal = true; internal = true;
default = []; default = [];
example = singleton example = lib.singleton
{ name = "kde"; { name = "kde";
bgSupport = true; bgSupport = true;
start = "..."; start = "...";
@ -73,26 +72,15 @@ in
manage = "desktop"; manage = "desktop";
start = d.start start = d.start
# literal newline to ensure d.start's last line is not appended to # literal newline to ensure d.start's last line is not appended to
+ optionalString (needBGCond d) '' + lib.optionalString (needBGCond d) ''
if [ -e $HOME/.background-image ]; then if [ -e $HOME/.background-image ]; then
${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image ${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${lib.optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image
fi fi
''; '';
}); });
}; };
default = mkOption {
type = types.nullOr types.str;
default = null;
example = "none";
description = ''
**Deprecated**, please use [](#opt-services.displayManager.defaultSession) instead.
Default desktop manager loaded if none have been chosen.
'';
};
}; };
}; };

View File

@ -1,8 +1,7 @@
{ config, lib, pkgs, utils, ... }: { config, lib, pkgs, utils, ... }:
with lib;
let let
inherit (lib) mkOption types mkDefault mkEnableOption literalExpression;
cfg = config.services.xserver.desktopManager.gnome; cfg = config.services.xserver.desktopManager.gnome;
serviceCfg = config.services.gnome; serviceCfg = config.services.gnome;
@ -51,8 +50,8 @@ let
destination = "/share/gnome-background-properties/nixos.xml"; destination = "/share/gnome-background-properties/nixos.xml";
}; };
flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0; flashbackEnabled = cfg.flashback.enableMetacity || lib.length cfg.flashback.customSessions > 0;
flashbackWms = optional cfg.flashback.enableMetacity { flashbackWms = lib.optional cfg.flashback.enableMetacity {
wmName = "metacity"; wmName = "metacity";
wmLabel = "Metacity"; wmLabel = "Metacity";
wmCommand = "${pkgs.gnome.metacity}/bin/metacity"; wmCommand = "${pkgs.gnome.metacity}/bin/metacity";
@ -67,73 +66,9 @@ in
meta = { meta = {
doc = ./gnome.md; doc = ./gnome.md;
maintainers = teams.gnome.members; maintainers = lib.teams.gnome.members;
}; };
imports = [
# Added 2021-05-07
(mkRenamedOptionModule
[ "services" "gnome3" "core-os-services" "enable" ]
[ "services" "gnome" "core-os-services" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "core-shell" "enable" ]
[ "services" "gnome" "core-shell" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "core-utilities" "enable" ]
[ "services" "gnome" "core-utilities" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "core-developer-tools" "enable" ]
[ "services" "gnome" "core-developer-tools" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "games" "enable" ]
[ "services" "gnome" "games" "enable" ]
)
(mkRenamedOptionModule
[ "services" "gnome3" "experimental-features" "realtime-scheduling" ]
[ "services" "gnome" "experimental-features" "realtime-scheduling" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "enable" ]
[ "services" "xserver" "desktopManager" "gnome" "enable" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "sessionPath" ]
[ "services" "xserver" "desktopManager" "gnome" "sessionPath" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "favoriteAppsOverride" ]
[ "services" "xserver" "desktopManager" "gnome" "favoriteAppsOverride" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "extraGSettingsOverrides" ]
[ "services" "xserver" "desktopManager" "gnome" "extraGSettingsOverrides" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "extraGSettingsOverridePackages" ]
[ "services" "xserver" "desktopManager" "gnome" "extraGSettingsOverridePackages" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "debug" ]
[ "services" "xserver" "desktopManager" "gnome" "debug" ]
)
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "gnome3" "flashback" ]
[ "services" "xserver" "desktopManager" "gnome" "flashback" ]
)
(mkRenamedOptionModule
[ "environment" "gnome3" "excludePackages" ]
[ "environment" "gnome" "excludePackages" ]
)
(mkRemovedOptionModule
[ "services" "gnome" "experimental-features" "realtime-scheduling" ]
"Set `security.rtkit.enable = true;` to make realtime scheduling possible. (Still needs to be enabled using GSettings.)"
)
];
options = { options = {
services.gnome = { services.gnome = {
@ -248,8 +183,8 @@ in
}; };
config = mkMerge [ config = lib.mkMerge [
(mkIf (cfg.enable || flashbackEnabled) { (lib.mkIf (cfg.enable || flashbackEnabled) {
# Seed our configuration into nixos-generate-config # Seed our configuration into nixos-generate-config
system.nixos-generate-config.desktopConfiguration = ['' system.nixos-generate-config.desktopConfiguration = [''
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
@ -264,7 +199,7 @@ in
services.displayManager.sessionPackages = [ pkgs.gnome.gnome-session.sessions ]; services.displayManager.sessionPackages = [ pkgs.gnome.gnome-session.sessions ];
environment.extraInit = '' environment.extraInit = ''
${concatMapStrings (p: '' ${lib.concatMapStrings (p: ''
if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
fi fi
@ -278,19 +213,19 @@ in
environment.systemPackages = cfg.sessionPath; environment.systemPackages = cfg.sessionPath;
environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1"; environment.sessionVariables.GNOME_SESSION_DEBUG = lib.mkIf cfg.debug "1";
# Override GSettings schemas # Override GSettings schemas
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
}) })
(mkIf flashbackEnabled { (lib.mkIf flashbackEnabled {
services.displayManager.sessionPackages = services.displayManager.sessionPackages =
let let
wmNames = map (wm: wm.wmName) flashbackWms; wmNames = map (wm: wm.wmName) flashbackWms;
namesAreUnique = lib.unique wmNames == wmNames; namesAreUnique = lib.unique wmNames == wmNames;
in in
assert (assertMsg namesAreUnique "Flashback WM names must be unique."); assert (lib.assertMsg namesAreUnique "Flashback WM names must be unique.");
map map
(wm: (wm:
pkgs.gnome.gnome-flashback.mkSessionForWm { pkgs.gnome.gnome-flashback.mkSessionForWm {
@ -318,7 +253,7 @@ in
++ (map (wm: gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms); ++ (map (wm: gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms);
}) })
(mkIf serviceCfg.core-os-services.enable { (lib.mkIf serviceCfg.core-os-services.enable {
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true; hardware.pulseaudio.enable = mkDefault true;
programs.dconf.enable = true; programs.dconf.enable = true;
@ -371,7 +306,7 @@ in
]; ];
}) })
(mkIf serviceCfg.core-shell.enable { (lib.mkIf serviceCfg.core-shell.enable {
services.xserver.desktopManager.gnome.sessionPath = services.xserver.desktopManager.gnome.sessionPath =
let let
mandatoryPackages = [ mandatoryPackages = [
@ -393,7 +328,7 @@ in
services.gnome.gnome-user-share.enable = mkDefault true; services.gnome.gnome-user-share.enable = mkDefault true;
services.gnome.rygel.enable = mkDefault true; services.gnome.rygel.enable = mkDefault true;
services.gvfs.enable = true; services.gvfs.enable = true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.system-config-printer.enable = (lib.mkIf config.services.printing.enable (mkDefault true));
systemd.packages = with pkgs.gnome; [ systemd.packages = with pkgs.gnome; [
gnome-session gnome-session
@ -459,7 +394,7 @@ in
}) })
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst
(mkIf serviceCfg.core-utilities.enable { (lib.mkIf serviceCfg.core-utilities.enable {
environment.systemPackages = environment.systemPackages =
with pkgs.gnome; with pkgs.gnome;
utils.removePackagesByName utils.removePackagesByName
@ -520,7 +455,7 @@ in
]; ];
}) })
(mkIf serviceCfg.games.enable { (lib.mkIf serviceCfg.games.enable {
environment.systemPackages = with pkgs.gnome; utils.removePackagesByName [ environment.systemPackages = with pkgs.gnome; utils.removePackagesByName [
aisleriot aisleriot
atomix atomix
@ -546,7 +481,7 @@ in
}) })
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
(mkIf serviceCfg.core-developer-tools.enable { (lib.mkIf serviceCfg.core-developer-tools.enable {
environment.systemPackages = with pkgs.gnome; utils.removePackagesByName [ environment.systemPackages = with pkgs.gnome; utils.removePackagesByName [
dconf-editor dconf-editor
devhelp devhelp

View File

@ -9,9 +9,8 @@
{ config, lib, options, pkgs, ... }: { config, lib, options, pkgs, ... }:
with lib;
let let
inherit (lib) mkOption types literalExpression optionalString;
cfg = config.services.xserver; cfg = config.services.xserver;
xorg = pkgs.xorg; xorg = pkgs.xorg;
@ -91,7 +90,7 @@ let
# Import environment variables into the systemd user environment. # Import environment variables into the systemd user environment.
${optionalString (cfg.displayManager.importedVariables != []) ( ${optionalString (cfg.displayManager.importedVariables != []) (
"/run/current-system/systemd/bin/systemctl --user import-environment " "/run/current-system/systemd/bin/systemctl --user import-environment "
+ toString (unique cfg.displayManager.importedVariables) + toString (lib.unique cfg.displayManager.importedVariables)
)} )}
# Speed up application start by 50-150ms according to # Speed up application start by 50-150ms according to
@ -222,13 +221,6 @@ in
}; };
config = { config = {
assertions = [
{
assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions;
message = "You cannot use both services.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default).";
}
];
services.displayManager.sessionData.wrapper = xsessionWrapper; services.displayManager.sessionData.wrapper = xsessionWrapper;
services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
@ -254,8 +246,8 @@ in
# that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options). # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options).
services.displayManager.sessionPackages = services.displayManager.sessionPackages =
let let
dms = filter (s: s.manage == "desktop") cfg.displayManager.session; dms = lib.filter (s: s.manage == "desktop") cfg.displayManager.session;
wms = filter (s: s.manage == "window") cfg.displayManager.session; wms = lib.filter (s: s.manage == "window") cfg.displayManager.session;
# Script responsible for starting the window manager and the desktop manager. # Script responsible for starting the window manager and the desktop manager.
xsession = dm: wm: pkgs.writeScript "xsession" '' xsession = dm: wm: pkgs.writeScript "xsession" ''
@ -283,16 +275,16 @@ in
''; '';
in in
# We will generate every possible pair of WM and DM. # We will generate every possible pair of WM and DM.
concatLists ( lib.concatLists (
lib.mapCartesianProduct lib.mapCartesianProduct
({dm, wm}: let ({dm, wm}: let
sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
script = xsession dm wm; script = xsession dm wm;
desktopNames = if dm ? desktopNames desktopNames = if dm ? desktopNames
then concatStringsSep ";" dm.desktopNames then lib.concatStringsSep ";" dm.desktopNames
else sessionName; else sessionName;
in in
optional (dm.name != "none" || wm.name != "none") lib.optional (dm.name != "none" || wm.name != "none")
(pkgs.writeTextFile { (pkgs.writeTextFile {
name = "${sessionName}-xsession"; name = "${sessionName}-xsession";
destination = "/share/xsessions/${sessionName}.desktop"; destination = "/share/xsessions/${sessionName}.desktop";
@ -317,11 +309,11 @@ in
}; };
imports = [ imports = [
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ] (lib.mkRemovedOptionModule [ "services" "xserver" "displayManager" "desktopManagerHandlesLidAndPower" ]
"The option is no longer necessary because all display managers have already delegated lid management to systemd.") "The option is no longer necessary because all display managers have already delegated lid management to systemd.")
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "displayManager" "logToFile" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "displayManager" "logToFile" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "displayManager" "logToJournal" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "displayManager" "logToJournal" ])
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "displayManager" "sessionPackages" ]) (lib.mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "displayManager" "sessionPackages" ])
]; ];
} }

View File

@ -1,8 +1,7 @@
{ config, lib, ... }: { config, lib, ... }:
with lib;
let let
inherit (lib) mkOption types;
cfg = config.services.xserver.windowManager; cfg = config.services.xserver.windowManager;
in in
@ -72,17 +71,6 @@ in
}); });
}; };
default = mkOption {
type = types.nullOr types.str;
default = null;
example = "wmii";
description = ''
**Deprecated**, please use [](#opt-services.displayManager.defaultSession) instead.
Default window manager loaded if none have been chosen.
'';
};
}; };
}; };

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "youtube-music"; pname = "youtube-music";
version = "3.3.5"; version = "3.3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "th-ch"; owner = "th-ch";
repo = "youtube-music"; repo = "youtube-music";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-JOmcfe7xrKRaxJwj2No3e99HBYbX+ROTjHl5Frc2P9Q="; hash = "sha256-nxpctEG4XoxW6jOAxGdgTEYr6YnhFRR8+5HUQLxRJB0=";
}; };
pnpmDeps = stdenvNoCC.mkDerivation { pnpmDeps = stdenvNoCC.mkDerivation {
@ -47,10 +47,10 @@ stdenv.mkDerivation (finalAttrs: {
dontFixup = true; dontFixup = true;
outputHashMode = "recursive"; outputHashMode = "recursive";
outputHash = { outputHash = {
x86_64-linux = "sha256-K2yJdoi+bJpz0Xf2MHlFzQXbP+H3uVE2hYfkzoB7vBE="; x86_64-linux = "sha256-bujlQxP6Lr3qPUDxYXKyb702ZJY/xbuCsu3wVDhcb+8=";
aarch64-linux = "sha256-ZiA6XKPnkoAl9m2vEJth2wyDxj61Efye4cUk+76znnM="; aarch64-linux = "sha256-0kyjjttpXpFVhdza5NAjGrRn++qc/N5/u2dQl7VufLE=";
x86_64-darwin = "sha256-wh5Y47c5qD2PctROP9AWqLDs7H5S2/8X0zxkSMkr1xQ="; x86_64-darwin = "sha256-Q37QJt/mhfpSguOlkJGKFTCrIOrpbG3OBwaD/Bg09Us=";
aarch64-darwin = "sha256-e2h4bLVnSEtZcHERsfkNmawgxQHQXxgXrNlFKB+IRTw="; aarch64-darwin = "sha256-wbfjzoGa/6vIlOOVX3bKNQ2uxzph3WSofo3MGXqA6yQ=";
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
}; };

View File

@ -5590,6 +5590,18 @@ final: prev:
meta.homepage = "https://github.com/smjonas/live-command.nvim/"; meta.homepage = "https://github.com/smjonas/live-command.nvim/";
}; };
llm-nvim = buildVimPlugin {
pname = "llm.nvim";
version = "2024-02-22";
src = fetchFromGitHub {
owner = "huggingface";
repo = "llm.nvim";
rev = "51b76dac9c33c0122adfe28daf52ceaa31c4aa02";
sha256 = "07i1ixbiby4c81lkydwvygz6vxs1xhqnwzcsad3xzcaz7zdl00kx";
};
meta.homepage = "https://github.com/huggingface/llm.nvim/";
};
lsp-colors-nvim = buildVimPlugin { lsp-colors-nvim = buildVimPlugin {
pname = "lsp-colors.nvim"; pname = "lsp-colors.nvim";
version = "2023-02-27"; version = "2023-02-27";

View File

@ -468,6 +468,7 @@ https://github.com/ldelossa/litee-filetree.nvim/,,
https://github.com/ldelossa/litee-symboltree.nvim/,, https://github.com/ldelossa/litee-symboltree.nvim/,,
https://github.com/ldelossa/litee.nvim/,, https://github.com/ldelossa/litee.nvim/,,
https://github.com/smjonas/live-command.nvim/,HEAD, https://github.com/smjonas/live-command.nvim/,HEAD,
https://github.com/huggingface/llm.nvim/,HEAD,
https://github.com/folke/lsp-colors.nvim/,, https://github.com/folke/lsp-colors.nvim/,,
https://github.com/lukas-reineke/lsp-format.nvim/,HEAD, https://github.com/lukas-reineke/lsp-format.nvim/,HEAD,
https://github.com/lvimuser/lsp-inlayhints.nvim/,HEAD, https://github.com/lvimuser/lsp-inlayhints.nvim/,HEAD,

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "stern"; pname = "stern";
version = "1.28.0"; version = "1.29.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stern"; owner = "stern";
repo = "stern"; repo = "stern";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Lx5f2dqjdhgMXky1Pv2ik9i56ugsQmZK/ag4veC9Dac="; sha256 = "sha256-8Tvhul7GwVbRJqJenbYID8OY5zGzFhIormUwEtLE0Lw=";
}; };
vendorHash = "sha256-6jI/I7Nw/vJwKNvgH/35uHYu51SBX+WFH5s0WKfCqBo="; vendorHash = "sha256-RLcF7KfKtkwB+nWzaQb8Va9pau+TS2uE9AmJ0aFNsik=";
subPackages = [ "." ]; subPackages = [ "." ];

View File

@ -12,15 +12,16 @@
, libxkbcommon , libxkbcommon
, pkg-config , pkg-config
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "showmethekey"; pname = "showmethekey";
version = "1.12.0"; version = "1.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AlynxZhou"; owner = "AlynxZhou";
repo = pname; repo = "showmethekey";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-eeObomb4Gv/vpvViHsi3+O0JR/rYamrlZNZaXKL6KJw="; hash = "sha256-pVFkO/+a7GAOXbYBfU0zcO/uD26PX+y02bEZa3f1ZP8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -40,8 +41,9 @@ stdenv.mkDerivation rec {
]; ];
meta = with lib; { meta = with lib; {
homepage = "https://showmethekey.alynx.one/";
description = "Show keys you typed on screen"; description = "Show keys you typed on screen";
homepage = "https://showmethekey.alynx.one/";
changelog = "https://github.com/AlynxZhou/showmethekey/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ocfox ]; maintainers = with maintainers; [ ocfox ];

6545
pkgs/by-name/co/cosmic-tasks/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,101 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, wrapGAppsHook
, atk
, cairo
, gdk-pixbuf
, glib
, gtk3
, libsecret
, libxkbcommon
, openssl
, pango
, sqlite
, vulkan-loader
, stdenv
, darwin
, wayland
}:
let
commitDate = "2024-04-30";
in rustPlatform.buildRustPackage rec {
pname = "cosmic-tasks";
version = "0-unstable-${commitDate}";
src = fetchFromGitHub {
owner = "edfloreshz";
repo = "cosmic-tasks";
rev = "020ae8633b23091f113b19f4b6f992e36404f2e2";
hash = "sha256-ZPEzvscLYH4vJ+5Nh5J9m8ZX2jXXDMOLswSnHaCdSdA=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
"clipboard_macos-0.1.0" = "sha256-KVcKQ4DtoZCgFBnejIaQfQxJJJxd/mFzHBI+4PbGBio=";
"cosmic-config-0.1.0" = "sha256-VEE/1XQZaojz9gxTV/Zz++eVplsCfiDPgf/cAr2Rih8=";
"cosmic-text-0.11.2" = "sha256-gUIQFHPaFTmtUfgpVvsGTnw2UKIBx9gl0K67KPuynWs=";
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
"smithay-client-toolkit-0.18.0" = "sha256-/7twYMt5/LpzxLXAQKTGNnWcfspUkkZsN5hJu7KaANc=";
"smithay-clipboard-0.8.0" = "sha256-LDd56TJ175qsj2/EV/dbBRV9HMU7RzgrG5JP7H2PmhE=";
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
};
};
# COSMIC applications now uses vergen for the About page
# Update the COMMIT_DATE to match when the commit was made
env.VERGEN_GIT_COMMIT_DATE = commitDate;
env.VERGEN_GIT_SHA = src.rev;
nativeBuildInputs = [
pkg-config
wrapGAppsHook
];
buildInputs = [
atk
cairo
gdk-pixbuf
glib
gtk3
libsecret
libxkbcommon
openssl
pango
sqlite
vulkan-loader
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.CoreGraphics
darwin.apple_sdk.frameworks.CoreServices
darwin.apple_sdk.frameworks.Foundation
darwin.apple_sdk.frameworks.Metal
darwin.apple_sdk.frameworks.QuartzCore
darwin.apple_sdk.frameworks.Security
] ++ lib.optionals stdenv.isLinux [
wayland
];
postFixup = lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/cosmic-tasks \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libxkbcommon wayland ]}"
'';
meta = with lib; {
description = "A simple task management application for the COSMIC desktop";
homepage = "https://github.com/edfloreshz/cosmic-tasks";
license = licenses.gpl3Only;
maintainers = with maintainers; [ GaetanLepage ];
platforms = platforms.linux;
mainProgram = "cosmic-tasks";
};
}

View File

@ -0,0 +1,63 @@
{ lib
, python3Packages
, fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, qt6
}:
python3Packages.buildPythonApplication rec {
pname = "flashgbx";
version = "3.37";
src = fetchFromGitHub {
repo = "FlashGBX";
owner = "lesserkuma";
rev = version;
hash = "sha256-3527QmSSpGotFHKTg0yb6MgHKSze+9BECQWqZM3qKsw=";
};
desktopItems = [
(makeDesktopItem {
name = "flashgbx";
desktopName = "FlashGBX UI";
icon = "flashgbx";
exec = meta.mainProgram;
comment = "UI for reading and writing Game Boy and Game Boy Advance cartridges";
categories = [ "Utility" ];
})
];
postInstall =
''
install -D FlashGBX/res/icon.png $out/share/icons/hicolor/256x256/apps/flashgbx.png
'';
pyproject = true;
nativeBuildInputs = [
python3Packages.setuptools
copyDesktopItems
qt6.wrapQtAppsHook
];
propagatedBuildInputs = with python3Packages; [
pillow
pyserial
pyside6
python-dateutil
requests
setuptools
qt6.qtbase
] ++ lib.optionals stdenv.isLinux [
qt6.qtwayland
];
meta = with lib; {
description = "GUI for reading and writing GB and GBA cartridges with the GBxCart RW";
homepage = "https://github.com/lesserkuma/FlashGBX";
license = licenses.gpl3Only;
mainProgram = "flashgbx";
maintainers = with maintainers; [ grahamnorris ];
};
}

View File

@ -39,14 +39,14 @@ let
in in
buildGoModule rec { buildGoModule rec {
pname = "forgejo"; pname = "forgejo";
version = "7.0.1"; version = "7.0.2";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "forgejo"; owner = "forgejo";
repo = "forgejo"; repo = "forgejo";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-HTTbIS+GBEuhYuKSI5jlhoX6hl6BsXp77h8JSQZyknI="; hash = "sha256-YY5dHXWMqlCIPfqsDtHZLHjEdYmrFnh4yc0hfTUESww=";
}; };
vendorHash = "sha256-UcjaMi/4XYLdaJhi2j3UWqHqkpTbZBo6EwNXxdRIKLw="; vendorHash = "sha256-UcjaMi/4XYLdaJhi2j3UWqHqkpTbZBo6EwNXxdRIKLw=";

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ghciwatch"; pname = "ghciwatch";
version = "0.5.10"; version = "0.5.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MercuryTechnologies"; owner = "MercuryTechnologies";
repo = "ghciwatch"; repo = "ghciwatch";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6afUHLPrSWhgN5LA346tAZ1+gROr+i/ZyCNVnyCd5Tc="; hash = "sha256-lWeQ0nBJDUJ9c915WWy/YsIoWwtipz5ns2xvFJSD9LQ=";
}; };
cargoHash = "sha256-og7S3W+DCBlFIvKLZghLT+msBLnS1o7Rea7v2VPsDYA="; cargoHash = "sha256-1jcdhTLCdCOh3EHywlFi83KupmWX4hGvB2/LhtzUPRk=";
buildInputs = lib.optionals stdenv.isDarwin [ buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.CoreFoundation

View File

@ -0,0 +1,72 @@
{ stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, python3
, zlib
, gtest
, eigen
}:
stdenv.mkDerivation rec {
pname = "lc0";
version = "0.30.0";
src = fetchFromGitHub {
owner = "LeelaChessZero";
repo = "lc0";
rev = "refs/tags/v${version}";
hash = "sha256-Q85hXNSexHhk6W48tgJLk0Sf32xBipfg2P2SH1FF89Q=";
fetchSubmodules = true;
};
patchPhase = ''
runHook prePatch
patchShebangs --build /build/source/scripts/*
runHook postPatch
'';
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
python3
];
buildInputs = [
eigen
gtest
zlib
];
mesonFlags = [
"-Dplain_cuda=false"
"-Daccelerate=false"
"-Dmetal=disabled"
"-Dembed=false"
]
# in version 31 this option will be required
++ lib.optionals (lib.versionAtLeast version "0.31") [ "-Dnative_cuda=false" ];
enableParallelBuilding = true;
meta = {
homepage = "https://lczero.org/";
description = "Open source neural network based chess engine";
longDescription = ''
Lc0 is a UCI-compliant chess engine designed to play chess via neural network, specifically those of the LeelaChessZero project.
'';
maintainers = with lib.maintainers; [ _9glenda ];
platforms = lib.platforms.unix;
license = lib.licenses.gpl3Plus;
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@ -0,0 +1,70 @@
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
, stdenv
}:
buildGoModule rec {
pname = "lilipod";
version = "0.0.3";
src = fetchFromGitHub {
owner = "89luca89";
repo = "lilipod";
rev = "v${version}";
hash = "sha256-PqeYNLr4uXe+H+DLENlUpl1H2wV6VJvDoA+MVP3SRqY=";
};
vendorHash = null;
nativeBuildInputs = [ installShellFiles ];
buildPhase = ''
runHook preBuild
RELEASE_VERSION=${version} make all
runHook postBuild
'';
checkPhase = ''
runHook preCheck
make coverage
runHook postCheck
'';
installPhase = ''
runHook preInstall
install -Dm755 lilipod $out/bin/lilipod
runHook postInstall
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd lilipod \
--bash <($out/bin/lilipod completion bash) \
--fish <($out/bin/lilipod completion fish) \
--zsh <($out/bin/lilipod completion zsh)
'';
meta = {
description = "A very simple (as in few features) container and image manager";
longDescription = ''
Lilipod is a very simple container manager with minimal features to:
- Download and manager images
- Create and run containers
It tries to keep a somewhat compatible CLI interface with Podman/Docker/Nerdctl.
'';
homepage = "https://github.com/89luca89/lilipod";
license = lib.licenses.gpl3Only;
mainProgram = "lilipod";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,6 +1,6 @@
{ stdenv { stdenv
, lib , lib
, fetchgit , fetchzip
, rustPlatform , rustPlatform
# native build inputs # native build inputs
@ -24,9 +24,12 @@ rustPlatform.buildRustPackage rec {
pname = "meli"; pname = "meli";
version = "0.8.4"; version = "0.8.4";
src = fetchgit { src = fetchzip {
url = "https://git.meli-email.org/meli/meli.git"; urls = [
rev = "v${version}"; "https://git.meli-email.org/meli/meli/archive/v${version}.tar.gz"
"https://codeberg.org/meli/meli/archive/v${version}.tar.gz"
"https://github.com/meli/meli/archive/refs/tags/v${version}.tar.gz"
];
hash = "sha256-wmIlYgXB17/i9Q+6C7pbcEjVlEuvhmqrSH+cDmaBKLs="; hash = "sha256-wmIlYgXB17/i9Q+6C7pbcEjVlEuvhmqrSH+cDmaBKLs=";
}; };

View File

@ -0,0 +1,50 @@
{
lib,
SDL2,
darwin,
fetchFromGitHub,
pkg-config,
stdenv,
# Boolean flags
enableSdltest ? (!stdenv.isDarwin),
}:
stdenv.mkDerivation (finalAttrs: {
pname = "SDL2_net";
version = "2.2.0";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL_net";
rev = "release-${finalAttrs.version}";
hash = "sha256-sEcKn/apA6FcR7ijb7sfuvP03ZdVfjkNZTXsasK8fAI=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
SDL2
pkg-config
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.libobjc
];
propagatedBuildInputs = [ SDL2 ];
configureFlags = [
(lib.enableFeature false "examples") # can't find libSDL2_test.a
(lib.enableFeature enableSdltest "sdltest")
];
strictDeps = true;
meta = {
homepage = "https://github.com/libsdl-org/SDL_net";
description = "SDL multiplatform networking library";
license = lib.licenses.zlib;
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (SDL2.meta) platforms;
};
})

View File

@ -1,20 +1,20 @@
{ {
"version": "3.19.0", "version": "3.19.4",
"engineVersion": "04817c99c9fd4956f27505204f7e344335810aed", "engineVersion": "a5c24f538d05aaf66f7972fb23959d8cafb9f95a",
"dartVersion": "3.3.0", "dartVersion": "3.3.2",
"dartHash": { "dartHash": {
"x86_64-linux": "sha256-wUg8GpieBD84LkrqfbZ6goHKgq+ZNJFzN8DMMmHJTns=", "x86_64-linux": "sha256-eO8qcSQNWGEz/5oVaJ5tjRMnGy2aq3PbcF15z/Pi3xQ=",
"aarch64-linux": "sha256-s/RiVtOLtTtA1CAcYi/okothRO/0Ph+s9eogL84V6zc=", "aarch64-linux": "sha256-K/sxpQAVd5Z75KPCb3XbIZ8dhuS/zTIDgO/YZoIKQjU=",
"x86_64-darwin": "sha256-aseeiQkv8/9yuAVMn2nxL7tNjfK2H9zM+GtXBvV6R3E=", "x86_64-darwin": "sha256-Zh+nXms2NIOuS3Cc25kQT2ZKUXW3NbDZB6CugI4GJnM=",
"aarch64-darwin": "sha256-A6Ru36rYKf+IyUTB6LZkzl+hj1fJmuMJedltiSSxtF0=" "aarch64-darwin": "sha256-5mSNavcc3l8Cv3WkJFTjtpbR/x6MRZ1i9iwyv7V1BYQ="
}, },
"flutterHash": "sha256-rIPveNuzNEvWhO/1aY0hFfmJbsV3hTm6fTfLH6pWZ7c=", "flutterHash": "sha256-y1zU74xU8xwJAJM2TlWTbyzySvKUZ42tA6hTIYE6ies=",
"artifactHashes": { "artifactHashes": {
"android": { "android": {
"aarch64-darwin": "sha256-U1DFJZDf7m7WL3cOHeAWa0D01nO5Trsd/EUZFbU2iY0=", "aarch64-darwin": "sha256-x6L9qgzcd6HKuTV/L4iCHdyoh9eoQQqZX5B2IgLzqQI=",
"aarch64-linux": "sha256-ACQdmNgU52jWmp9BWOzSdPEkEigXts16/pYVgbBM11k=", "aarch64-linux": "sha256-MgDFaeQ/1cSGY751I7bExD/x8ZLw3youhpXlvcSuDaE=",
"x86_64-darwin": "sha256-U1DFJZDf7m7WL3cOHeAWa0D01nO5Trsd/EUZFbU2iY0=", "x86_64-darwin": "sha256-x6L9qgzcd6HKuTV/L4iCHdyoh9eoQQqZX5B2IgLzqQI=",
"x86_64-linux": "sha256-ACQdmNgU52jWmp9BWOzSdPEkEigXts16/pYVgbBM11k=" "x86_64-linux": "sha256-MgDFaeQ/1cSGY751I7bExD/x8ZLw3youhpXlvcSuDaE="
}, },
"fuchsia": { "fuchsia": {
"aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
@ -23,40 +23,40 @@
"x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
}, },
"ios": { "ios": {
"aarch64-darwin": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=", "aarch64-darwin": "sha256-mqHe53QP6SCFkSkTSaoORAmCYnXYsk/MqgsIv3B2nZk=",
"aarch64-linux": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=", "aarch64-linux": "sha256-mqHe53QP6SCFkSkTSaoORAmCYnXYsk/MqgsIv3B2nZk=",
"x86_64-darwin": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=", "x86_64-darwin": "sha256-mqHe53QP6SCFkSkTSaoORAmCYnXYsk/MqgsIv3B2nZk=",
"x86_64-linux": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=" "x86_64-linux": "sha256-mqHe53QP6SCFkSkTSaoORAmCYnXYsk/MqgsIv3B2nZk="
}, },
"linux": { "linux": {
"aarch64-darwin": "sha256-XqrkmbUjNvcVSoHQlGK75JsxHEcsSrzBplRtx8xNrIU=", "aarch64-darwin": "sha256-6EUraGnPYhPiZZikCMZE8gDw+FAsZj5XzCsmLOLULE8=",
"aarch64-linux": "sha256-XqrkmbUjNvcVSoHQlGK75JsxHEcsSrzBplRtx8xNrIU=", "aarch64-linux": "sha256-6EUraGnPYhPiZZikCMZE8gDw+FAsZj5XzCsmLOLULE8=",
"x86_64-darwin": "sha256-J3J+gE0nSOnhMEo7mjVLCxdZtaBrWsQHr6xfBdvHamU=", "x86_64-darwin": "sha256-2B1gVRil51sQEO65pD7To7sGa3aIzXFcQbIGoX97FJM=",
"x86_64-linux": "sha256-J3J+gE0nSOnhMEo7mjVLCxdZtaBrWsQHr6xfBdvHamU=" "x86_64-linux": "sha256-2B1gVRil51sQEO65pD7To7sGa3aIzXFcQbIGoX97FJM="
}, },
"macos": { "macos": {
"aarch64-darwin": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=", "aarch64-darwin": "sha256-rcB6lKXqmLsbI/RHAtTJgV1TJQf3w4B3tohwln0Fgw0=",
"aarch64-linux": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=", "aarch64-linux": "sha256-rcB6lKXqmLsbI/RHAtTJgV1TJQf3w4B3tohwln0Fgw0=",
"x86_64-darwin": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=", "x86_64-darwin": "sha256-rcB6lKXqmLsbI/RHAtTJgV1TJQf3w4B3tohwln0Fgw0=",
"x86_64-linux": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=" "x86_64-linux": "sha256-rcB6lKXqmLsbI/RHAtTJgV1TJQf3w4B3tohwln0Fgw0="
}, },
"universal": { "universal": {
"aarch64-darwin": "sha256-GgvIuqvGPjxx6V2Mz1/TK8c6p8Frc3XKbWCgsduFhWU=", "aarch64-darwin": "sha256-gX4WA4lHIinwbOK2z3RiQ3JBD73mMyazvv4VvT5mkQw=",
"aarch64-linux": "sha256-SwgsbQECd1uqU11V6jKZ0hf1NZRBiC3xZuIf3cthFz0=", "aarch64-linux": "sha256-lgftQbVZhZtikAr6D8TaPoplUFtxE9uQgGLje4RHMlM=",
"x86_64-darwin": "sha256-q8Kn9F1w1zavq/LFvPITaWSRdCkAOKi3olDVoHpeu5g=", "x86_64-darwin": "sha256-TFfI6gifj73LbZ1kbxngnRMzH7kckyMlCJD6hRKl5ts=",
"x86_64-linux": "sha256-iDV57cKmDL0eUqtJ28RO+Xwomzwnaet4g30gVUXv8jY=" "x86_64-linux": "sha256-6pQLVOewI86CkEUUp25XuPhgVKB3yQUHiusLqK1Muug="
}, },
"web": { "web": {
"aarch64-darwin": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=", "aarch64-darwin": "sha256-Fdnq1VhiGvLdqv4g3rRy3PzC2xYKozBr6kDaXeGlPLM=",
"aarch64-linux": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=", "aarch64-linux": "sha256-Fdnq1VhiGvLdqv4g3rRy3PzC2xYKozBr6kDaXeGlPLM=",
"x86_64-darwin": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=", "x86_64-darwin": "sha256-Fdnq1VhiGvLdqv4g3rRy3PzC2xYKozBr6kDaXeGlPLM=",
"x86_64-linux": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=" "x86_64-linux": "sha256-Fdnq1VhiGvLdqv4g3rRy3PzC2xYKozBr6kDaXeGlPLM="
}, },
"windows": { "windows": {
"aarch64-darwin": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=", "aarch64-darwin": "sha256-MRzcLlYApeKPMTSkf5ql4EuvVY8PL9asAKNSFUFA/YY=",
"aarch64-linux": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=", "aarch64-linux": "sha256-MRzcLlYApeKPMTSkf5ql4EuvVY8PL9asAKNSFUFA/YY=",
"x86_64-darwin": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=", "x86_64-darwin": "sha256-MRzcLlYApeKPMTSkf5ql4EuvVY8PL9asAKNSFUFA/YY=",
"x86_64-linux": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=" "x86_64-linux": "sha256-MRzcLlYApeKPMTSkf5ql4EuvVY8PL9asAKNSFUFA/YY="
} }
}, },
"pubspecLock": { "pubspecLock": {
@ -845,11 +845,11 @@
"dependency": "direct main", "dependency": "direct main",
"description": { "description": {
"name": "unified_analytics", "name": "unified_analytics",
"sha256": "fbcb0ad896a15c1ddea7ec45e8bfc92a894490e5792e07b74b2e6e992f4c77f8", "sha256": "18204ce613142fc252b36f919d0f6dae4124df221812fe0b1bfb66251df280c1",
"url": "https://pub.dev" "url": "https://pub.dev"
}, },
"source": "hosted", "source": "hosted",
"version": "5.8.0" "version": "5.8.0+1"
}, },
"usage": { "usage": {
"dependency": "direct main", "dependency": "direct main",

View File

@ -1,30 +0,0 @@
{ lib, stdenv, pkg-config, darwin, fetchurl, SDL2 }:
stdenv.mkDerivation rec {
pname = "SDL2_net";
version = "2.2.0";
src = fetchurl {
url = "https://www.libsdl.org/projects/SDL_net/release/${pname}-${version}.tar.gz";
sha256 = "sha256-TkqJGYgxYnGXT/TpWF7R73KaEj0iwIvUcxKRedyFf+s=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
configureFlags = [ "--disable-examples" ]
++ lib.optional stdenv.isDarwin "--disable-sdltest";
propagatedBuildInputs = [ SDL2 ];
meta = with lib; {
description = "SDL multiplatform networking library";
homepage = "https://www.libsdl.org/projects/SDL_net";
license = licenses.zlib;
maintainers = with maintainers; [ ];
platforms = platforms.unix;
};
}

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
''; '';
passthru.updateScript = gitUpdater { passthru.updateScript = gitUpdater {
rev = "VERSION_"; rev-prefix = "VERSION_";
}; };
meta = with lib; { meta = with lib; {

View File

@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
]; ];
passthru.updateScript = gitUpdater { passthru.updateScript = gitUpdater {
rev = "VERSION_"; rev-prefix = "VERSION_";
}; };
meta = with lib; { meta = with lib; {

View File

@ -14,7 +14,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "huggingface-hub"; pname = "huggingface-hub";
version = "0.22.2"; version = "0.23.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -23,14 +23,14 @@ buildPythonPackage rec {
owner = "huggingface"; owner = "huggingface";
repo = "huggingface_hub"; repo = "huggingface_hub";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-Y/oUF+d6Oo45x9cufZxjaJCQpoY0acPhetbyAt8M3pQ="; hash = "sha256-FfevPGec++3auA4Zxu84mhpD0RGatcPgDKi7LkmOVss=";
}; };
nativeBuildInputs = [ build-system = [
setuptools setuptools
]; ];
propagatedBuildInputs = [ dependencies = [
filelock filelock
fsspec fsspec
packaging packaging
@ -53,6 +53,6 @@ buildPythonPackage rec {
homepage = "https://github.com/huggingface/huggingface_hub"; homepage = "https://github.com/huggingface/huggingface_hub";
changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}"; changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ GaetanLepage ];
}; };
} }

View File

@ -19,14 +19,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "marimo"; pname = "marimo";
version = "0.4.7"; version = "0.4.10";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-shB7TIllXRja0RNLu+IyvFBQViee4Ypj5KGWh3AlMB4="; hash = "sha256-F6Hf8KPIkXuRhO/1mVHE1wfU6//vbUK1ghoqANmZjag=";
}; };
build-system = [ build-system = [

View File

@ -18,7 +18,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pinecone-client"; pname = "pinecone-client";
version = "3.2.2"; version = "4.0.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "pinecone_client"; pname = "pinecone_client";
inherit version; inherit version;
hash = "sha256-iHoSQF+QrBHDlkkPYF/EefMc8oI2EDTRrg/MwCrHW+4="; hash = "sha256-1E2yEuZKo0PRTvybCOnkXZi6e2gfYymLhwM1QuoBfyM=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View File

@ -2,29 +2,37 @@
, pkgs , pkgs
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pygame , setuptools
, pygame-ce
, python-i18n , python-i18n
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pygame-gui"; pname = "pygame-gui";
version = "069"; version = "0610";
format = "setuptools"; pyproject = true;
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MyreMylar"; owner = "MyreMylar";
repo = "pygame_gui"; repo = "pygame_gui";
rev = "refs/tags/v_${version}"; rev = "refs/tags/v_${version}";
hash = "sha256-IXU00Us1odbfS7jLPMYuCPv2l/5TUZdYKES7xHs+EWg="; hash = "sha256-PVNi/I174AyEEjc+N2UGtgOYSGAgVQbqrKkWZnjOxFY=";
}; };
propagatedBuildInputs = [ pygame python-i18n ]; nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
pygame-ce
python-i18n
];
postPatch = '' postPatch = ''
substituteInPlace pygame_gui/core/utility.py \ substituteInPlace pygame_gui/core/utility.py \
--replace "xsel" "${pkgs.xsel}/bin/xsel" --replace-fail "xsel" "${lib.getExe pkgs.xsel}"
''; '';
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytestCheckHook ];
@ -55,6 +63,6 @@ buildPythonPackage rec {
description = "A GUI system for pygame"; description = "A GUI system for pygame";
homepage = "https://github.com/MyreMylar/pygame_gui"; homepage = "https://github.com/MyreMylar/pygame_gui";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ emilytrau ]; maintainers = with maintainers; [ emilytrau pbsds ];
}; };
} }

View File

@ -1,18 +1,19 @@
{ lib {
, buildPythonPackage lib,
, fetchFromGitHub buildPythonPackage,
, hatchling fetchFromGitHub,
, httpx hatchling,
, pytest-asyncio httpx,
, pytestCheckHook pytest-asyncio,
, pythonOlder pytestCheckHook,
, respx pythonOlder,
respx,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pywaze"; pname = "pywaze";
version = "1.0.0"; version = "1.0.1";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -20,21 +21,17 @@ buildPythonPackage rec {
owner = "eifinger"; owner = "eifinger";
repo = "pywaze"; repo = "pywaze";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-n5W8TdZZJmT7SECXE8k6WK2lmCcucA6eLm+LZpojERo="; hash = "sha256-sWI9kUR0SSqE97an/YfvhQqmrK+OEWXRzG4MBYyp8Jg=";
}; };
postPatch = '' postPatch = ''
substituteInPlace pyproject.toml \ substituteInPlace pyproject.toml \
--replace "--cov --cov-report term-missing --cov=src/pywaze " "" --replace-fail "--cov --cov-report term-missing --cov=src/pywaze " ""
''; '';
nativeBuildInputs = [ build-system = [ hatchling ];
hatchling
];
propagatedBuildInputs = [ dependencies = [ httpx ];
httpx
];
nativeCheckInputs = [ nativeCheckInputs = [
pytest-asyncio pytest-asyncio
@ -42,9 +39,7 @@ buildPythonPackage rec {
respx respx
]; ];
pythonImportsCheck = [ pythonImportsCheck = [ "pywaze" ];
"pywaze"
];
meta = with lib; { meta = with lib; {
description = "Module for calculating WAZE routes and travel times"; description = "Module for calculating WAZE routes and travel times";

View File

@ -13,21 +13,21 @@ let
channels = { channels = {
stable = { stable = {
version = "2.9.3"; version = "2.9.4";
hash = { hash = {
x86_64-linux = "sha256-6VS21x2egWBV6eJqRCBGG7mEGPIDFtY9GN6Ry4ilC70="; x86_64-linux = "sha256-Sw8wAx69oQFrr24Ukah+GfQvoyn2qX5LljZ398H6QFk=";
x86_64-darwin = "sha256-UBUGjA+jUkT6p9714l8IvDDI/qhWNctVFOvcA2S5kQU="; x86_64-darwin = "sha256-uSO2gVvyHTf4dWws0QVtfFUdluwJGkwpuYUDIlXwf+I=";
aarch64-linux = "sha256-2QAahqcM2gi3lT+18q2Nm9GNqVsqzX3RajBsTn+KB1c="; aarch64-linux = "sha256-qI43x2hL9X4GsG511PrEZN5MtRV8th1NRbtkbZ2gZ3A=";
aarch64-darwin = "sha256-uEH7Y7c9BcU/Q/jwx/inFMvUrgm2dUruID+FJL+rA6Y="; aarch64-darwin = "sha256-KbUH2OeDqEXoRMx6kmMbe0tEcE3FLuSMkRoFFnfXLfE=";
}; };
}; };
mainline = { mainline = {
version = "2.10.1"; version = "2.10.2";
hash = { hash = {
x86_64-linux = "sha256-jNPL30e5xvyajlIqivtEpSb3cRhfgFhLFlC+CaLY2IM="; x86_64-linux = "sha256-U3qHEjIKq8JkpDp6TehMs6t5L3GpSGt4D10XSAQ9Ii0=";
x86_64-darwin = "sha256-U1eQaYwnm/mdQoZ8YxK/+s3HboVfMIAtdI7aQnCiDM8="; x86_64-darwin = "sha256-ibfqqxRRD3IfIN2FqSxk5qd7d87RvBgKKFv9F0hACgo=";
aarch64-linux = "sha256-YtSyKZYG8vdubZUfo2FjEoVwSF82TXzeLJjPpHqgFDk="; aarch64-linux = "sha256-HdBVnLKen6W1crZfnc2hpA0cAYIYeYFHKvANwnLqkjY=";
aarch64-darwin = "sha256-aQSiXK7voP5/mPFIscfTnSc4Ae5/f+WW8MR6ZtuC/eY="; aarch64-darwin = "sha256-3sHmR6PTRlBSIdD4rja4y8v0gOY4cbbyhW7qssgpqp8=";
}; };
}; };
}; };

View File

@ -1,4 +1,4 @@
{ buildGoModule, fetchFromGitHub, lib }: { buildGoModule, fetchFromGitHub, testers, lib, csvq }:
buildGoModule rec { buildGoModule rec {
pname = "csvq"; pname = "csvq";
@ -13,6 +13,11 @@ buildGoModule rec {
vendorHash = "sha256-byBYp+iNnnsAXR+T3XmdwaeeBG8oB1EgNkDabzgUC98="; vendorHash = "sha256-byBYp+iNnnsAXR+T3XmdwaeeBG8oB1EgNkDabzgUC98=";
passthru.tests.version = testers.testVersion {
package = csvq;
version = "csvq version ${version}";
};
meta = with lib; { meta = with lib; {
description = "SQL-like query language for CSV"; description = "SQL-like query language for CSV";
mainProgram = "csvq"; mainProgram = "csvq";

View File

@ -1,14 +1,18 @@
{ stdenv, fetchFromGitHub, makeBinaryWrapper, odin, lib }: { stdenv, fetchFromGitHub, makeBinaryWrapper, unstableGitUpdater, odin, lib }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "ols"; pname = "ols";
version = "0-unstable-2024-04-15"; version = "0-unstable-2024-04-28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DanielGavin"; owner = "DanielGavin";
repo = "ols"; repo = "ols";
rev = "aa1aabda1cce68a6038c48429cc759f09ad2ebab"; rev = "49a63471d91120a23ec86f1621e99155d1be55c2";
hash = "sha256-yM+Syx8hWiSZatWfFFGz8lUJTOCozkZWPdPUhRW0/Ow="; hash = "sha256-fHCSPqeN24QbCzwMCLtvK5YnR0ExveDvXRuWL2nHt8M=";
};
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -8,13 +8,13 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "turso-cli"; pname = "turso-cli";
version = "0.92.1"; version = "0.93.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tursodatabase"; owner = "tursodatabase";
repo = "turso-cli"; repo = "turso-cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Oe+VxNMJwX0iIAyGoPtzgRV/VaWzVQLlBH1HxhKqUqw="; hash = "sha256-Q5SVudzJZJ5ftp5Xfeb75XQO44upGKlxQ/WceSSwHyU=";
}; };
vendorHash = "sha256-2NjdjB09WYzHjQEl2hMUWN1/xsj/Hlr8lVYU/pkxTqQ="; vendorHash = "sha256-2NjdjB09WYzHjQEl2hMUWN1/xsj/Hlr8lVYU/pkxTqQ=";

View File

@ -6,16 +6,14 @@ let
# NOTE: When updating these, please also take a look at the changes done to # NOTE: When updating these, please also take a look at the changes done to
# kernel config in the xanmod version commit # kernel config in the xanmod version commit
ltsVariant = { ltsVariant = {
version = "6.6.28"; version = "6.6.29";
suffix = "xanmod2"; hash = "sha256-Be2VaW0DQDS0FJUwXM627QaNgrn1B3Hbyq+PiKb7b+k=";
hash = "sha256-U5L7i/g808GuUZhLjHE+v0VOQVdTPe+Tnx/rLQoGxx4=";
variant = "lts"; variant = "lts";
}; };
mainVariant = { mainVariant = {
version = "6.8.7"; version = "6.8.8";
suffix = "xanmod2"; hash = "sha256-6fT9vRjHw775m4ySUAUWU9R0dz/cWYYdZsPCwZjGiXM=";
hash = "sha256-/RhtRASEedYI4Zf9pUiiyDD3SgOL46cutTXo68gjBg8=";
variant = "main"; variant = "main";
}; };

View File

@ -10,6 +10,7 @@ let
crossOverlays = []; crossOverlays = [];
# Ignore custom stdenvs when cross compiling for compatibility # Ignore custom stdenvs when cross compiling for compatibility
# Use replaceCrossStdenv instead.
config = builtins.removeAttrs config [ "replaceStdenv" ]; config = builtins.removeAttrs config [ "replaceStdenv" ];
}; };
@ -44,47 +45,49 @@ in lib.init bootStages ++ [
inherit config; inherit config;
overlays = overlays ++ crossOverlays; overlays = overlays ++ crossOverlays;
selfBuild = false; selfBuild = false;
stdenv = adaptStdenv (buildPackages.stdenv.override (old: rec { stdenv = let
buildPlatform = localSystem; baseStdenv = adaptStdenv (buildPackages.stdenv.override (old: rec {
hostPlatform = crossSystem; buildPlatform = localSystem;
targetPlatform = crossSystem; hostPlatform = crossSystem;
targetPlatform = crossSystem;
# Prior overrides are surely not valid as packages built with this run on # Prior overrides are surely not valid as packages built with this run on
# a different platform, and so are disabled. # a different platform, and so are disabled.
overrides = _: _: {}; overrides = _: _: {};
extraBuildInputs = [ ] # Old ones run on wrong platform extraBuildInputs = [ ] # Old ones run on wrong platform
++ lib.optionals hostPlatform.isDarwin [ buildPackages.targetPackages.darwin.apple_sdk.frameworks.CoreFoundation ] ++ lib.optionals hostPlatform.isDarwin [ buildPackages.targetPackages.darwin.apple_sdk.frameworks.CoreFoundation ]
; ;
allowedRequisites = null; allowedRequisites = null;
hasCC = !targetPlatform.isGhcjs; hasCC = !targetPlatform.isGhcjs;
cc = if crossSystem.useiOSPrebuilt or false cc = if crossSystem.useiOSPrebuilt or false
then buildPackages.darwin.iosSdkPkgs.clang then buildPackages.darwin.iosSdkPkgs.clang
else if crossSystem.useAndroidPrebuilt or false else if crossSystem.useAndroidPrebuilt or false
then buildPackages."androidndkPkgs_${crossSystem.ndkVer}".clang then buildPackages."androidndkPkgs_${crossSystem.ndkVer}".clang
else if targetPlatform.isGhcjs else if targetPlatform.isGhcjs
# Need to use `throw` so tryEval for splicing works, ugh. Using # Need to use `throw` so tryEval for splicing works, ugh. Using
# `null` or skipping the attribute would cause an eval failure # `null` or skipping the attribute would cause an eval failure
# `tryEval` wouldn't catch, wrecking accessing previous stages # `tryEval` wouldn't catch, wrecking accessing previous stages
# when there is a C compiler and everything should be fine. # when there is a C compiler and everything should be fine.
then throw "no C compiler provided for this platform" then throw "no C compiler provided for this platform"
else if crossSystem.isDarwin else if crossSystem.isDarwin
then buildPackages.llvmPackages.libcxxClang then buildPackages.llvmPackages.libcxxClang
else if crossSystem.useLLVM or false else if crossSystem.useLLVM or false
then buildPackages.llvmPackages.clang then buildPackages.llvmPackages.clang
else buildPackages.gcc; else buildPackages.gcc;
extraNativeBuildInputs = old.extraNativeBuildInputs extraNativeBuildInputs = old.extraNativeBuildInputs
++ lib.optionals ++ lib.optionals
(hostPlatform.isLinux && !buildPlatform.isLinux) (hostPlatform.isLinux && !buildPlatform.isLinux)
[ buildPackages.patchelf ] [ buildPackages.patchelf ]
++ lib.optional ++ lib.optional
(let f = p: !p.isx86 || builtins.elem p.libc [ "musl" "wasilibc" "relibc" ] || p.isiOS || p.isGenode; (let f = p: !p.isx86 || builtins.elem p.libc [ "musl" "wasilibc" "relibc" ] || p.isiOS || p.isGenode;
in f hostPlatform && !(f buildPlatform) ) in f hostPlatform && !(f buildPlatform) )
buildPackages.updateAutotoolsGnuConfigScriptsHook buildPackages.updateAutotoolsGnuConfigScriptsHook
; ;
})); }));
in if config ? replaceCrossStdenv then config.replaceCrossStdenv { inherit buildPackages baseStdenv; } else baseStdenv;
}) })
] ]

View File

@ -207,7 +207,7 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.gnu ++ platforms.linux; platforms = if xenSupport then [ "x86_64-linux" "i686-linux" ] else platforms.gnu ++ platforms.linux;
maintainers = [ maintainers.samueldr ]; maintainers = [ maintainers.samueldr ];
}; };

13638
pkgs/tools/misc/turbo/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -17,13 +17,13 @@
, capnproto , capnproto
}: }:
rustPlatform.buildRustPackage rec{ rustPlatform.buildRustPackage rec{
pname = "turbo"; pname = "turbo-unwrapped";
version = "1.11.3"; version = "1.13.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vercel"; owner = "vercel";
repo = "turbo"; repo = "turbo";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-hjJXbGct9ZmriKdVjB7gwfmFsV1Tv57V7DfUMFZ8Xv0="; hash = "sha256-q1BxBAjfHyGDaH/IywPw9qnZJjzeU4tu2CyUWbnd6y8=";
}; };
cargoBuildFlags = [ cargoBuildFlags = [
"--package" "--package"
@ -31,7 +31,10 @@ rustPlatform.buildRustPackage rec{
]; ];
RELEASE_TURBO_CLI = "true"; RELEASE_TURBO_CLI = "true";
cargoHash = "sha256-bAXO4Lqv4ibo+fz3679MjNgP2MMY8TbxhG0+DRy0xcA="; cargoLock = {
lockFile = ./Cargo.lock;
outputHashes."tui-term-0.1.8" = "sha256-MNeVnF141uNWbjqXEbHwXnMTkCnvIteb5v40HpEK6D4=";
};
RUSTC_BOOTSTRAP = 1; RUSTC_BOOTSTRAP = 1;
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,16 @@
{ lib, symlinkJoin, makeWrapper, turbo-unwrapped
, disableTelemetry ? true, disableUpdateNotifier ? true }:
symlinkJoin {
pname = "turbo";
name = "turbo-${turbo-unwrapped.version}";
inherit (turbo-unwrapped) version meta;
nativeBuildInputs = [ makeWrapper ];
paths = [ turbo-unwrapped ];
postBuild = ''
rm $out/bin/turbo
makeWrapper ${turbo-unwrapped}/bin/turbo $out/bin/turbo \
${lib.optionalString disableTelemetry "--set TURBO_TELEMETRY_DISABLED 1"} \
${lib.optionalString disableUpdateNotifier "--add-flags --no-update-notifier"}
'';
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper { lib, stdenv, fetchFromGitea, perl, perlPackages, makeWrapper
, ps, dnsutils # dig is recommended for multiple categories , ps, dnsutils # dig is recommended for multiple categories
, withRecommends ? false # Install (almost) all recommended tools (see --recommends) , withRecommends ? false # Install (almost) all recommended tools (see --recommends)
, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode , withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode
@ -22,13 +22,14 @@ let
++ recommendedDisplayInformationPrograms; ++ recommendedDisplayInformationPrograms;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "inxi"; pname = "inxi";
version = "3.3.04-1"; version = "3.3.34-1";
src = fetchFromGitHub { src = fetchFromGitea {
domain = "codeberg.org";
owner = "smxi"; owner = "smxi";
repo = "inxi"; repo = "inxi";
rev = version; rev = version;
sha256 = "sha256-/EutIHQGLiRcRD/r8LJYG7oJBb7EAhR5cn6QiC7zMOc="; hash = "sha256-CAZxQmESCBQ2kpDAbUIkky/eY8KLBsfCJvhOiZjV6Po=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -13951,7 +13951,9 @@ with pkgs;
tuptime = callPackage ../tools/system/tuptime { }; tuptime = callPackage ../tools/system/tuptime { };
turbo = callPackage ../tools/misc/turbo { turbo = callPackage ../tools/misc/turbo/wrapper.nix { };
turbo-unwrapped = callPackage ../tools/misc/turbo {
inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreServices CoreFoundation; inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreServices CoreFoundation;
}; };
@ -24337,8 +24339,6 @@ with pkgs;
# SDL2_mixer_2_0 pinned for lzwolf # SDL2_mixer_2_0 pinned for lzwolf
SDL2_mixer_2_0 = callPackage ../development/libraries/SDL2_mixer/2_0.nix { }; SDL2_mixer_2_0 = callPackage ../development/libraries/SDL2_mixer/2_0.nix { };
SDL2_net = callPackage ../development/libraries/SDL2_net { };
SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { }; SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { };
SDL2_sound = callPackage ../development/libraries/SDL2_sound { SDL2_sound = callPackage ../development/libraries/SDL2_sound {
@ -32825,8 +32825,6 @@ with pkgs;
meld = callPackage ../applications/version-management/meld { }; meld = callPackage ../applications/version-management/meld { };
meli = callPackage ../applications/networking/mailreaders/meli { };
melmatcheq.lv2 = callPackage ../applications/audio/melmatcheq.lv2 { }; melmatcheq.lv2 = callPackage ../applications/audio/melmatcheq.lv2 { };
melody = callPackage ../tools/misc/melody { }; melody = callPackage ../tools/misc/melody { };