Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-08-29 00:11:43 +00:00 committed by GitHub
commit 5dd225a9ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
176 changed files with 2515 additions and 2309 deletions

View file

@ -21,6 +21,7 @@ let
{ name = "filesystem"; description = "filesystem functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
{ name = "gvariant"; description = "GVariant formatted string serialization functions"; }
];
};

View file

@ -41,6 +41,7 @@ let
# serialization
cli = callLibs ./cli.nix;
gvariant = callLibs ./gvariant.nix;
generators = callLibs ./generators.nix;
# misc

View file

@ -230,6 +230,14 @@ rec {
in
toINI_ (gitFlattenAttrs attrs);
# mkKeyValueDefault wrapper that handles dconf INI quirks.
# The main differences of the format is that it requires strings to be quoted.
mkDconfKeyValue = mkKeyValueDefault { mkValueString = v: toString (lib.gvariant.mkValue v); } "=";
# Generates INI in dconf keyfile style. See https://help.gnome.org/admin/system-admin-guide/stable/dconf-keyfiles.html.en
# for details.
toDconfINI = toINI { mkKeyValue = mkDconfKeyValue; };
/* Generates JSON from an arbitrary (non-function) value.
* For more information see the documentation of the builtin.
*/

290
lib/gvariant.nix Normal file
View file

@ -0,0 +1,290 @@
# This file is based on https://github.com/nix-community/home-manager
# Copyright (c) 2017-2022 Home Manager contributors
#
{ lib }:
/* A partial and basic implementation of GVariant formatted strings.
See https://docs.gtk.org/glib/gvariant-format-strings.html for detauls.
Note, this API is not considered fully stable and it might therefore
change in backwards incompatible ways without prior notice.
*/
let
inherit (lib)
concatMapStringsSep concatStrings escape head replaceStrings;
mkPrimitive = t: v: {
_type = "gvariant";
type = t;
value = v;
__toString = self: "@${self.type} ${toString self.value}"; # https://docs.gtk.org/glib/gvariant-text.html
};
type = {
arrayOf = t: "a${t}";
maybeOf = t: "m${t}";
tupleOf = ts: "(${concatStrings ts})";
dictionaryEntryOf = nameType: valueType: "{${nameType}${valueType}}";
string = "s";
boolean = "b";
uchar = "y";
int16 = "n";
uint16 = "q";
int32 = "i";
uint32 = "u";
int64 = "x";
uint64 = "t";
double = "d";
variant = "v";
};
/* Check if a value is a GVariant value
Type:
isGVariant :: Any -> Bool
*/
isGVariant = v: v._type or "" == "gvariant";
in
rec {
inherit type isGVariant;
/* Returns the GVariant value that most closely matches the given Nix value.
If no GVariant value can be found unambiguously then error is thrown.
Type:
mkValue :: Any -> gvariant
*/
mkValue = v:
if builtins.isBool v then
mkBoolean v
else if builtins.isFloat v then
mkDouble v
else if builtins.isString v then
mkString v
else if builtins.isList v then
mkArray v
else if isGVariant v then
v
else
throw "The GVariant type of ${v} can't be inferred.";
/* Returns the GVariant array from the given type of the elements and a Nix list.
Type:
mkArray :: [Any] -> gvariant
Example:
# Creating a string array
lib.gvariant.mkArray [ "a" "b" "c" ]
*/
mkArray = elems:
let
vs = map mkValue (lib.throwIf (elems == [ ]) "Please create empty array with mkEmptyArray." elems);
elemType = lib.throwIfNot (lib.all (t: (head vs).type == t) (map (v: v.type) vs))
"Elements in a list should have same type."
(head vs).type;
in
mkPrimitive (type.arrayOf elemType) vs // {
__toString = self:
"@${self.type} [${concatMapStringsSep "," toString self.value}]";
};
/* Returns the GVariant array from the given empty Nix list.
Type:
mkEmptyArray :: gvariant.type -> gvariant
Example:
# Creating an empty string array
lib.gvariant.mkEmptyArray (lib.gvariant.type.string)
*/
mkEmptyArray = elemType: mkPrimitive (type.arrayOf elemType) [ ] // {
__toString = self: "@${self.type} []";
};
/* Returns the GVariant variant from the given Nix value. Variants are containers
of different GVariant type.
Type:
mkVariant :: Any -> gvariant
Example:
lib.gvariant.mkArray [
(lib.gvariant.mkVariant "a string")
(lib.gvariant.mkVariant (lib.gvariant.mkInt32 1))
]
*/
mkVariant = elem:
let gvarElem = mkValue elem;
in mkPrimitive type.variant gvarElem // {
__toString = self: "<${toString self.value}>";
};
/* Returns the GVariant dictionary entry from the given key and value.
Type:
mkDictionaryEntry :: String -> Any -> gvariant
Example:
# A dictionary describing an Epiphanys search provider
[
(lib.gvariant.mkDictionaryEntry "url" (lib.gvariant.mkVariant "https://duckduckgo.com/?q=%s&t=epiphany"))
(lib.gvariant.mkDictionaryEntry "bang" (lib.gvariant.mkVariant "!d"))
(lib.gvariant.mkDictionaryEntry "name" (lib.gvariant.mkVariant "DuckDuckGo"))
]
*/
mkDictionaryEntry =
# The key of the entry
name:
# The value of the entry
value:
let
name' = mkValue name;
value' = mkValue value;
dictionaryType = type.dictionaryEntryOf name'.type value'.type;
in
mkPrimitive dictionaryType { inherit name value; } // {
__toString = self: "@${self.type} {${name'},${value'}}";
};
/* Returns the GVariant maybe from the given element type.
Type:
mkMaybe :: gvariant.type -> Any -> gvariant
*/
mkMaybe = elemType: elem:
mkPrimitive (type.maybeOf elemType) elem // {
__toString = self:
if self.value == null then
"@${self.type} nothing"
else
"just ${toString self.value}";
};
/* Returns the GVariant nothing from the given element type.
Type:
mkNothing :: gvariant.type -> gvariant
*/
mkNothing = elemType: mkMaybe elemType null;
/* Returns the GVariant just from the given Nix value.
Type:
mkJust :: Any -> gvariant
*/
mkJust = elem: let gvarElem = mkValue elem; in mkMaybe gvarElem.type gvarElem;
/* Returns the GVariant tuple from the given Nix list.
Type:
mkTuple :: [Any] -> gvariant
*/
mkTuple = elems:
let
gvarElems = map mkValue elems;
tupleType = type.tupleOf (map (e: e.type) gvarElems);
in
mkPrimitive tupleType gvarElems // {
__toString = self:
"@${self.type} (${concatMapStringsSep "," toString self.value})";
};
/* Returns the GVariant boolean from the given Nix bool value.
Type:
mkBoolean :: Bool -> gvariant
*/
mkBoolean = v:
mkPrimitive type.boolean v // {
__toString = self: if self.value then "true" else "false";
};
/* Returns the GVariant string from the given Nix string value.
Type:
mkString :: String -> gvariant
*/
mkString = v:
let sanitize = s: replaceStrings [ "\n" ] [ "\\n" ] (escape [ "'" "\\" ] s);
in mkPrimitive type.string v // {
__toString = self: "'${sanitize self.value}'";
};
/* Returns the GVariant object path from the given Nix string value.
Type:
mkObjectpath :: String -> gvariant
*/
mkObjectpath = v:
mkPrimitive type.string v // {
__toString = self: "objectpath '${escape [ "'" ] self.value}'";
};
/* Returns the GVariant uchar from the given Nix int value.
Type:
mkUchar :: Int -> gvariant
*/
mkUchar = mkPrimitive type.uchar;
/* Returns the GVariant int16 from the given Nix int value.
Type:
mkInt16 :: Int -> gvariant
*/
mkInt16 = mkPrimitive type.int16;
/* Returns the GVariant uint16 from the given Nix int value.
Type:
mkUint16 :: Int -> gvariant
*/
mkUint16 = mkPrimitive type.uint16;
/* Returns the GVariant int32 from the given Nix int value.
Type:
mkInt32 :: Int -> gvariant
*/
mkInt32 = v:
mkPrimitive type.int32 v // {
__toString = self: toString self.value;
};
/* Returns the GVariant uint32 from the given Nix int value.
Type:
mkUint32 :: Int -> gvariant
*/
mkUint32 = mkPrimitive type.uint32;
/* Returns the GVariant int64 from the given Nix int value.
Type:
mkInt64 :: Int -> gvariant
*/
mkInt64 = mkPrimitive type.int64;
/* Returns the GVariant uint64 from the given Nix int value.
Type:
mkUint64 :: Int -> gvariant
*/
mkUint64 = mkPrimitive type.uint64;
/* Returns the GVariant double from the given Nix float value.
Type:
mkDouble :: Float -> gvariant
*/
mkDouble = v:
mkPrimitive type.double v // {
__toString = self: toString self.value;
};
}

View file

@ -0,0 +1,93 @@
{ config, lib, ... }:
let inherit (lib) concatStringsSep mapAttrsToList mkMerge mkOption types gvariant;
in {
options.examples = mkOption { type = types.attrsOf gvariant; };
config = {
examples = with gvariant;
mkMerge [
{ bool = true; }
{ bool = true; }
{ float = 3.14; }
{ int32 = mkInt32 (- 42); }
{ int32 = mkInt32 (- 42); }
{ uint32 = mkUint32 42; }
{ uint32 = mkUint32 42; }
{ int16 = mkInt16 (-42); }
{ int16 = mkInt16 (-42); }
{ uint16 = mkUint16 42; }
{ uint16 = mkUint16 42; }
{ int64 = mkInt64 (-42); }
{ int64 = mkInt64 (-42); }
{ uint64 = mkUint64 42; }
{ uint64 = mkUint64 42; }
{ array1 = [ "one" ]; }
{ array1 = mkArray [ "two" ]; }
{ array2 = mkArray [ (mkInt32 1) ]; }
{ array2 = mkArray [ (nkUint32 2) ]; }
{ emptyArray1 = [ ]; }
{ emptyArray2 = mkEmptyArray type.uint32; }
{ string = "foo"; }
{ string = "foo"; }
{
escapedString = ''
'\
'';
}
{ tuple = mkTuple [ (mkInt32 1) [ "foo" ] ]; }
{ maybe1 = mkNothing type.string; }
{ maybe2 = mkJust (mkUint32 4); }
{ variant1 = mkVariant "foo"; }
{ variant2 = mkVariant 42; }
{ dictionaryEntry = mkDictionaryEntry (mkInt32 1) [ "foo" ]; }
];
assertions = [
{
assertion = (
let
mkLine = n: v: "${n} = ${toString (gvariant.mkValue v)}";
result = concatStringsSep "\n" (mapAttrsToList mkLine config.examples);
in
result + "\n"
) == ''
array1 = @as ['one','two']
array2 = @au [1,2]
bool = true
dictionaryEntry = @{ias} {1,@as ['foo']}
emptyArray1 = @as []
emptyArray2 = @au []
escapedString = '\'\\\n'
float = 3.140000
int = -42
int16 = @n -42
int64 = @x -42
maybe1 = @ms nothing
maybe2 = just @u 4
string = 'foo'
tuple = @(ias) (1,@as ['foo'])
uint16 = @q 42
uint32 = @u 42
uint64 = @t 42
variant1 = @v <'foo'>
variant2 = @v <42>
'';
}
];
};
}

View file

@ -13888,6 +13888,16 @@
githubId = 33375;
name = "Peter Sanford";
};
pschmitt = {
email = "philipp@schmitt.co";
github = "pschmitt";
githubId = 37886;
name = "Philipp Schmitt";
matrix = "@pschmitt:one.ems.host";
keys = [{
fingerprint = "9FBF 2ABF FB37 F7F3 F502 44E5 DC43 9C47 EACB 17F9";
}];
};
pshirshov = {
email = "pshirshov@eml.cc";
github = "pshirshov";
@ -18120,6 +18130,12 @@
githubId = 16415673;
name = "Van Tuan Vo";
};
vuimuich = {
email = "vuimuich@quantentunnel.de";
github = "VuiMuich";
githubId = 4779365;
name = "Johannes Mayrhofer";
};
vyorkin = {
email = "vasiliy.yorkin@gmail.com";
github = "vyorkin";
@ -18625,6 +18641,12 @@
github = "XYenon";
githubId = 20698483;
};
xyven1 = {
name = "Xyven";
email = "nix@xyven.dev";
github = "xyven1";
githubId = 35360746;
};
xzfc = {
email = "xzfcpw@gmail.com";
github = "xzfc";

View file

@ -25,8 +25,11 @@ checks:
since changes in their values are applied by systemd when systemd is
reloaded.
- `.mount` units are **reload**ed. These mostly come from the `/etc/fstab`
parser.
- `.mount` units are **reload**ed if only their `Options` changed. If anything
else changed (like `What`), they are **restart**ed unless they are the mount
unit for `/` or `/nix` in which case they are reloaded to prevent the system
from crashing. Note that this is the case for `.mount` units and not for
mounts from `/etc/fstab`. These are explained in [](#sec-switching-systems).
- `.socket` units are currently ignored. This is to be fixed at a later
point.

View file

@ -50,6 +50,9 @@
- [eris-server](https://codeberg.org/eris/eris-go). [ERIS](https://eris.codeberg.page/) is an encoding for immutable storage and this server provides block exchange as well as content decoding over HTTP and through a FUSE file-system. Available as [services.eris-server](#opt-services.eris-server.enable).
- [Honk](https://humungus.tedunangst.com/r/honk), a complete ActivityPub server with minimal setup and support costs.
Available as [services.honk](#opt-services.honk.enable).
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.

View file

@ -1227,6 +1227,7 @@
./services/web-apps/healthchecks.nix
./services/web-apps/hedgedoc.nix
./services/web-apps/hledger-web.nix
./services/web-apps/honk.nix
./services/web-apps/icingaweb2/icingaweb2.nix
./services/web-apps/icingaweb2/module-monitoring.nix
./services/web-apps/invidious.nix

View file

@ -1,55 +1,217 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.dconf;
cfgDir = pkgs.symlinkJoin {
name = "dconf-system-config";
paths = map (x: "${x}/etc/dconf") cfg.packages;
postBuild = ''
mkdir -p $out/profile
mkdir -p $out/db
'' + (
concatStringsSep "\n" (
mapAttrsToList (
name: path: ''
ln -s ${path} $out/profile/${name}
''
) cfg.profiles
)
) + ''
${pkgs.dconf}/bin/dconf update $out/db
'';
# Compile keyfiles to dconf DB
compileDconfDb = dir: pkgs.runCommand "dconf-db"
{
nativeBuildInputs = [ (lib.getBin pkgs.dconf) ];
} "dconf compile $out ${dir}";
# Check if dconf keyfiles are valid
checkDconfKeyfiles = dir: pkgs.runCommand "check-dconf-keyfiles"
{
nativeBuildInputs = [ (lib.getBin pkgs.dconf) ];
} ''
if [[ -f ${dir} ]]; then
echo "dconf keyfiles should be a directory but a file is provided: ${dir}"
exit 1
fi
dconf compile db ${dir} || (
echo "The dconf keyfiles are invalid: ${dir}"
exit 1
)
cp -R ${dir} $out
'';
mkAllLocks = settings: lib.flatten (
lib.mapAttrsToList (k: v: lib.mapAttrsToList (k': _: "/${k}/${k'}") v) settings);
# Generate dconf DB from dconfDatabase and keyfiles
mkDconfDb = val: compileDconfDb (pkgs.symlinkJoin {
name = "nixos-generated-dconf-keyfiles";
paths = [
(pkgs.writeTextDir "nixos-generated-dconf-keyfiles" (lib.generators.toDconfINI val.settings))
(pkgs.writeTextDir "locks/nixos-generated-dconf-locks" (lib.concatStringsSep "\n"
(if val.lockAll then mkAllLocks val.settings else val.locks)
))
] ++ (map checkDconfKeyfiles val.keyfiles);
});
# Check if a dconf DB file is valid. The dconf cli doesn't return 1 when it can't
# open the database file so we have to check if the output is empty.
checkDconfDb = file: pkgs.runCommand "check-dconf-db"
{
nativeBuildInputs = [ (lib.getBin pkgs.dconf) ];
} ''
if [[ -d ${file} ]]; then
echo "dconf DB should be a file but a directory is provided: ${file}"
exit 1
fi
echo "file-db:${file}" > profile
DCONF_PROFILE=$(pwd)/profile dconf dump / > output 2> error
if [[ ! -s output ]] && [[ -s error ]]; then
cat error
echo "The dconf DB file is invalid: ${file}"
exit 1
fi
cp ${file} $out
'';
# Generate dconf profile
mkDconfProfile = name: value:
if lib.isDerivation value || lib.isPath value then
pkgs.runCommand "dconf-profile" { } ''
if [[ -d ${value} ]]; then
echo "Dconf profile should be a file but a directory is provided."
exit 1
fi
mkdir -p $out/etc/dconf/profile/
cp ${value} $out/etc/dconf/profile/${name}
''
else
pkgs.writeTextDir "etc/dconf/profile/${name}" (
lib.concatMapStrings (x: "${x}\n") ((
lib.optional value.enableUserDb "user-db:user"
) ++ (
map
(value:
let
db = if lib.isAttrs value && !lib.isDerivation value then mkDconfDb value else checkDconfDb value;
in
"file-db:${db}")
value.databases
))
);
dconfDatabase = with lib.types; submodule {
options = {
keyfiles = lib.mkOption {
type = listOf (oneOf [ path package ]);
default = [ ];
description = lib.mdDoc "A list of dconf keyfile directories.";
};
settings = lib.mkOption {
type = attrs;
default = { };
description = lib.mdDoc "An attrset used to generate dconf keyfile.";
example = literalExpression ''
with lib.gvariant;
{
"com/raggesilver/BlackBox" = {
scrollback-lines = mkUint32 10000;
theme-dark = "Tommorow Night";
};
}
'';
};
locks = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
description = lib.mdDoc ''
A list of dconf keys to be lockdown. This doesn't take effect if `lockAll`
is set.
'';
example = literalExpression ''
[ "/org/gnome/desktop/background/picture-uri" ]
'';
};
lockAll = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc "Lockdown all dconf keys in `settings`.";
};
};
};
in
{
###### interface
options = {
programs.dconf = {
enable = mkEnableOption (lib.mdDoc "dconf");
profiles = mkOption {
type = types.attrsOf types.path;
default = {};
description = lib.mdDoc "Set of dconf profile files, installed at {file}`/etc/dconf/profiles/«name»`.";
internal = true;
dconfProfile = with lib.types; submodule {
options = {
enableUserDb = lib.mkOption {
type = bool;
default = true;
description = lib.mdDoc "Add `user-db:user` at the beginning of the profile.";
};
packages = mkOption {
type = types.listOf types.package;
default = [];
databases = lib.mkOption {
type = with lib.types; listOf (oneOf [
path
package
dconfDatabase
]);
default = [ ];
description = lib.mdDoc ''
List of data sources for the profile. An element can be an attrset,
or the path of an already compiled database. Each element is converted
to a file-db.
A key is searched from up to down and the first result takes the
priority. If a lock for a particular key is installed then the value from
the last database in the profile where the key is locked will be used.
This can be used to enforce mandatory settings.
'';
};
};
};
in
{
options = {
programs.dconf = {
enable = lib.mkEnableOption (lib.mdDoc "dconf");
profiles = lib.mkOption {
type = with lib.types; attrsOf (oneOf [
path
package
dconfProfile
]);
default = { };
description = lib.mdDoc ''
Attrset of dconf profiles. By default the `user` profile is used which
ends up in `/etc/dconf/profile/user`.
'';
example = lib.literalExpression ''
{
# A "user" profile with a database
user.databases = [
{
settings = { };
}
];
# A "bar" profile from a package
bar = pkgs.bar-dconf-profile;
# A "foo" profile from a path
foo = ''${./foo}
};
'';
};
packages = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = [ ];
description = lib.mdDoc "A list of packages which provide dconf profiles and databases in {file}`/etc/dconf`.";
};
};
};
###### implementation
config = lib.mkIf (cfg.profiles != { } || cfg.enable) {
programs.dconf.packages = lib.mapAttrsToList mkDconfProfile cfg.profiles;
config = mkIf (cfg.profiles != {} || cfg.enable) {
environment.etc.dconf = mkIf (cfg.profiles != {} || cfg.packages != []) {
source = cfgDir;
environment.etc.dconf = lib.mkIf (cfg.packages != [ ]) {
source = pkgs.symlinkJoin {
name = "dconf-system-config";
paths = map (x: "${x}/etc/dconf") cfg.packages;
nativeBuildInputs = [ (lib.getBin pkgs.dconf) ];
postBuild = ''
if test -d $out/db; then
dconf update $out/db
fi
'';
};
};
services.dbus.packages = [ pkgs.dconf ];
@ -59,8 +221,9 @@ in
# For dconf executable
environment.systemPackages = [ pkgs.dconf ];
# Needed for unwrapped applications
environment.sessionVariables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
environment.sessionVariables = lib.mkIf cfg.enable {
# Needed for unwrapped applications
GIO_EXTRA_MODULES = [ "${pkgs.dconf.lib}/lib/gio/modules" ];
};
};
}

View file

@ -0,0 +1,23 @@
# Honk {#module-services-honk}
With Honk on NixOS you can quickly configure a complete ActivityPub server with
minimal setup and support costs.
## Basic usage {#module-services-honk-basic-usage}
A minimal configuration looks like this:
```nix
{
services.honk = {
enable = true;
host = "0.0.0.0";
port = 8080;
username = "username";
passwordFile = "/etc/honk/password.txt";
servername = "honk.example.com";
};
networking.firewall.allowedTCPPorts = [ 8080 ];
}
```

View file

@ -0,0 +1,153 @@
{ config
, lib
, pkgs
, ...
}:
let
cfg = config.services.honk;
honk-initdb-script = cfg: pkgs.writeShellApplication {
name = "honk-initdb-script";
runtimeInputs = with pkgs; [ coreutils ];
text = ''
PW=$(cat "$CREDENTIALS_DIRECTORY/honk_passwordFile")
echo -e "${cfg.username}\n''$PW\n${cfg.host}:${toString cfg.port}\n${cfg.servername}" | ${lib.getExe cfg.package} -datadir "$STATE_DIRECTORY" init
'';
};
in
{
options = {
services.honk = {
enable = lib.mkEnableOption (lib.mdDoc "the Honk server");
package = lib.mkPackageOptionMD pkgs "honk" { };
host = lib.mkOption {
default = "127.0.0.1";
description = lib.mdDoc ''
The host name or IP address the server should listen to.
'';
type = lib.types.str;
};
port = lib.mkOption {
default = 8080;
description = lib.mdDoc ''
The port the server should listen to.
'';
type = lib.types.port;
};
username = lib.mkOption {
description = lib.mdDoc ''
The admin account username.
'';
type = lib.types.str;
};
passwordFile = lib.mkOption {
description = lib.mdDoc ''
Password for admin account.
NOTE: Should be string not a store path, to prevent the password from being world readable
'';
type = lib.types.path;
};
servername = lib.mkOption {
description = lib.mdDoc ''
The server name.
'';
type = lib.types.str;
};
extraJS = lib.mkOption {
default = null;
description = lib.mdDoc ''
An extra JavaScript file to be loaded by the client.
'';
type = lib.types.nullOr lib.types.path;
};
extraCSS = lib.mkOption {
default = null;
description = lib.mdDoc ''
An extra CSS file to be loaded by the client.
'';
type = lib.types.nullOr lib.types.path;
};
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = cfg.username or "" != "";
message = ''
You have to define a username for Honk (`services.honk.username`).
'';
}
{
assertion = cfg.servername or "" != "";
message = ''
You have to define a servername for Honk (`services.honk.servername`).
'';
}
];
systemd.services.honk-initdb = {
description = "Honk server database setup";
requiredBy = [ "honk.service" ];
before = [ "honk.service" ];
serviceConfig = {
LoadCredential = [
"honk_passwordFile:${cfg.passwordFile}"
];
Type = "oneshot";
StateDirectory = "honk";
DynamicUser = true;
RemainAfterExit = true;
ExecStart = lib.getExe (honk-initdb-script cfg);
PrivateTmp = true;
};
unitConfig = {
ConditionPathExists = [
# Skip this service if the database already exists
"!$STATE_DIRECTORY/honk.db"
];
};
};
systemd.services.honk = {
description = "Honk server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
bindsTo = [ "honk-initdb.service" ];
preStart = ''
mkdir -p $STATE_DIRECTORY/views
${lib.optionalString (cfg.extraJS != null) "ln -fs ${cfg.extraJS} $STATE_DIRECTORY/views/local.js"}
${lib.optionalString (cfg.extraCSS != null) "ln -fs ${cfg.extraCSS} $STATE_DIRECTORY/views/local.css"}
${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk backup $STATE_DIRECTORY/backup
${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk upgrade
${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk cleanup
'';
serviceConfig = {
ExecStart = ''
${lib.getExe cfg.package} -datadir $STATE_DIRECTORY -viewdir ${cfg.package}/share/honk
'';
StateDirectory = "honk";
DynamicUser = true;
PrivateTmp = "yes";
Restart = "on-failure";
};
};
};
meta = {
maintainers = with lib.maintainers; [ drupol ];
doc = ./honk.md;
};
}

View file

@ -231,40 +231,14 @@ in
systemd.user.services.dbus.wantedBy = [ "default.target" ];
programs.dconf.profiles.gdm =
let
customDconf = pkgs.writeTextFile {
name = "gdm-dconf";
destination = "/dconf/gdm-custom";
text = ''
${optionalString (!cfg.gdm.autoSuspend) ''
[org/gnome/settings-daemon/plugins/power]
sleep-inactive-ac-type='nothing'
sleep-inactive-battery-type='nothing'
sleep-inactive-ac-timeout=0
sleep-inactive-battery-timeout=0
''}
'';
programs.dconf.profiles.gdm.databases = lib.optionals (!cfg.gdm.autoSuspend) [{
settings."org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
sleep-inactive-battery-type = "nothing";
sleep-inactive-ac-timeout = lib.gvariant.mkInt32 0;
sleep-inactive-battery-timeout = lib.gvariant.mkInt32 0;
};
customDconfDb = pkgs.stdenv.mkDerivation {
name = "gdm-dconf-db";
buildCommand = ''
${pkgs.dconf}/bin/dconf compile $out ${customDconf}/dconf
'';
};
in pkgs.stdenv.mkDerivation {
name = "dconf-gdm-profile";
buildCommand = ''
# Check that the GDM profile starts with what we expect.
if [ $(head -n 1 ${gdm}/share/dconf/profile/gdm) != "user-db:user" ]; then
echo "GDM dconf profile changed, please update gdm.nix"
exit 1
fi
# Insert our custom DB behind it.
sed '2ifile-db:${customDconfDb}' ${gdm}/share/dconf/profile/gdm > $out
'';
};
}] ++ [ "${gdm}/share/gdm/greeter-dconf-defaults" ];
# Use AutomaticLogin if delay is zero, because it's immediate.
# Otherwise with TimedLogin with zero seconds the prompt is still

View file

@ -313,7 +313,8 @@ sub unrecord_unit {
# needs to be restarted or reloaded. If the units differ, the service
# is restarted unless the only difference is `X-Reload-Triggers` in the
# `Unit` section. If this is the only modification, the unit is reloaded
# instead of restarted.
# instead of restarted. If the only difference is `Options` in the
# `[Mount]` section, the unit is reloaded rather than restarted.
# Returns:
# - 0 if the units are equal
# - 1 if the units are different and a restart action is required
@ -390,6 +391,11 @@ sub compare_units { ## no critic(Subroutines::ProhibitExcessComplexity)
next;
}
}
# If this is a mount unit, check if it was only `Options`
if ($section_name eq "Mount" and $ini_key eq "Options") {
$ret = 2;
next;
}
return 1;
}
}
@ -440,10 +446,18 @@ sub handle_modified_unit { ## no critic(Subroutines::ProhibitManyArgs, Subroutin
# properties (resource limits and inotify watches)
# seem to get applied on daemon-reload.
} elsif ($unit =~ /\.mount$/msx) {
# Reload the changed mount unit to force a remount.
# FIXME: only reload when Options= changed, restart otherwise
$units_to_reload->{$unit} = 1;
record_unit($reload_list_file, $unit);
# Just restart the unit. We wouldn't have gotten into this subroutine
# if only `Options` was changed, in which case the unit would be reloaded.
# The only exception is / and /nix because it's very unlikely we can safely
# unmount them so we reload them instead. This means that we may not get
# all changes into the running system but it's better than crashing it.
if ($unit eq "-.mount" or $unit eq "nix.mount") {
$units_to_reload->{$unit} = 1;
record_unit($reload_list_file, $unit);
} else {
$units_to_restart->{$unit} = 1;
record_unit($restart_list_file, $unit);
}
} elsif ($unit =~ /\.socket$/msx) {
# FIXME: do something?
# Attempt to fix this: https://github.com/NixOS/nixpkgs/pull/141192

View file

@ -102,20 +102,28 @@ let
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00'';
};
mips-linux = {
magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'';
};
mipsel-linux = {
magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'';
magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'';
};
mips64-linux = {
magicOrExtension = ''\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'';
};
mips64el-linux = {
magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'';
};
mips64-linuxabin32 = {
magicOrExtension = ''\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20'';
};
mips64el-linuxabin32 = {
magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00'';
};
riscv32-linux = {
magicOrExtension = ''\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'';

View file

@ -210,6 +210,7 @@ in {
custom-ca = handleTest ./custom-ca.nix {};
croc = handleTest ./croc.nix {};
darling = handleTest ./darling.nix {};
dconf = handleTest ./dconf.nix {};
deepin = handleTest ./deepin.nix {};
deluge = handleTest ./deluge.nix {};
dendrite = handleTest ./matrix/dendrite.nix {};
@ -345,6 +346,7 @@ in {
hedgedoc = handleTest ./hedgedoc.nix {};
herbstluftwm = handleTest ./herbstluftwm.nix {};
homepage-dashboard = handleTest ./homepage-dashboard.nix {};
honk = runTest ./honk.nix;
installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
invidious = handleTest ./invidious.nix {};
oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};

34
nixos/tests/dconf.nix Normal file
View file

@ -0,0 +1,34 @@
import ./make-test-python.nix
({ lib, ... }:
{
name = "dconf";
meta.maintainers = with lib.maintainers; [
linsui
];
nodes.machine = { config, pkgs, lib, ... }: {
users.extraUsers.alice = { isNormalUser = true; };
programs.dconf = with lib.gvariant; {
enable = true;
profiles.user.databases = [
{
settings = {
"test/not/locked" = mkInt32 1;
"test/is/locked" = "locked";
};
locks = [
"/test/is/locked"
];
}
];
};
};
testScript = ''
machine.succeed("test $(dconf read -d /test/not/locked) == 1")
machine.succeed("test $(dconf read -d /test/is/locked) == \"'locked'\"")
machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"")
machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"")
'';
})

32
nixos/tests/honk.nix Normal file
View file

@ -0,0 +1,32 @@
{ lib, ... }:
{
name = "honk-server";
nodes = {
machine = { pkgs, ... }: {
services.honk = {
enable = true;
host = "0.0.0.0";
port = 8080;
username = "username";
passwordFile = "${pkgs.writeText "honk-password" "secure"}";
servername = "servername";
};
};
};
testScript = ''
machine.start()
machine.wait_for_unit("honk.service")
machine.wait_for_open_port(8080)
machine.stop_job("honk")
machine.wait_for_closed_port(8080)
machine.start_job("honk")
machine.wait_for_open_port(8080)
'';
meta.maintainers = [ lib.maintainers.drupol ];
}

View file

@ -450,7 +450,7 @@ in {
];
};
mountModified.configuration = {
mountOptionsModified.configuration = {
systemd.mounts = [
{
description = "Testmount";
@ -463,6 +463,19 @@ in {
];
};
mountModified.configuration = {
systemd.mounts = [
{
description = "Testmount";
what = "ramfs";
type = "ramfs";
where = "/testmount";
options = "size=10M";
wantedBy = [ "local-fs.target" ];
}
];
};
timer.configuration = {
systemd.timers.test-timer = {
wantedBy = [ "timers.target" ];
@ -1137,7 +1150,8 @@ in {
switch_to_specialisation("${machine}", "mount")
out = machine.succeed("mount | grep 'on /testmount'")
assert_contains(out, "size=1024k")
out = switch_to_specialisation("${machine}", "mountModified")
# Changing options reloads the unit
out = switch_to_specialisation("${machine}", "mountOptionsModified")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: testmount.mount\n")
@ -1147,6 +1161,17 @@ in {
# It changed
out = machine.succeed("mount | grep 'on /testmount'")
assert_contains(out, "size=10240k")
# Changing anything but `Options=` restarts the unit
out = switch_to_specialisation("${machine}", "mountModified")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_lacks(out, "reloading the following units:")
assert_contains(out, "\nrestarting the following units: testmount.mount\n")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
# It changed
out = machine.succeed("mount | grep 'on /testmount'")
assert_contains(out, "ramfs")
with subtest("timers"):
switch_to_specialisation("${machine}", "timer")

View file

@ -0,0 +1,42 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, stdenv
, darwin
, alsa-lib
}:
rustPlatform.buildRustPackage rec {
pname = "glicol-cli";
version = "0.2.0";
src = fetchFromGitHub {
owner = "glicol";
repo = "glicol-cli";
rev = "v${version}";
hash = "sha256-v90FfF4vP5UPy8VnQFvYMKiCrledgNMpWbJR59Cv6a0=";
};
cargoHash = "sha256-fJ18SwVMotepUvdNPQumFWoOaotDzGTerb+Iy+qq5w0=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AudioUnit
] ++ lib.optionals stdenv.isLinux [
alsa-lib
];
meta = with lib; {
description = "Cross-platform music live coding in terminal";
homepage = "https://github.com/glicol/glicol-cli";
changelog = "https://github.com/glicol/glicol-cli/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
mainProgram = "glicol-cli";
};
}

View file

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "mympd";
version = "11.0.3";
version = "11.0.4";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${version}";
sha256 = "sha256-pDM9igAX1iUi/yC8/Jqobaixkw6klEVcd0sAn0Ufdjk=";
sha256 = "sha256-uDr0QyyYROpaWQ7sv/JeI9IHwdJaFWorIqWMHs5XKU4=";
};
nativeBuildInputs = [

View file

@ -4,12 +4,30 @@
, pkg-config
, openssl
, cmake
# deps for audio backends
, alsa-lib
, libpulseaudio
, portaudio
, libjack2
, SDL2
, gst_all_1
, dbus
, fontconfig
, libsixel
# build options
, withStreaming ? true
, withDaemon ? true
, withAudioBackend ? "rodio" # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl
, withMediaControl ? true
, withLyrics ? true
, withImage ? true
, withNotify ? true
, withSixel ? true
}:
assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaudio" "rodio" "portaudio" "jackaudio" "rodiojack" "sdl" "gstreamer" ];
rustPlatform.buildRustPackage rec {
pname = "spotify-player";
version = "0.15.0";
@ -30,31 +48,37 @@ rustPlatform.buildRustPackage rec {
buildInputs = [
openssl
alsa-lib
dbus
fontconfig
libsixel
];
]
++ lib.optionals withSixel [ libsixel ]
++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ]
++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ]
++ lib.optionals (withAudioBackend == "rodio") [ alsa-lib ]
++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ]
++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ]
++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ]
++ lib.optionals (withAudioBackend == "sdl") [ SDL2 ]
++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
buildNoDefaultFeatures = true;
buildFeatures = [
"rodio-backend"
"media-control"
"image"
"lyric-finder"
"daemon"
"notify"
"streaming"
"sixel"
];
buildFeatures = [ ]
++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ]
++ lib.optionals withMediaControl [ "media-control" ]
++ lib.optionals withImage [ "image" ]
++ lib.optionals withLyrics [ "lyric-finder" ]
++ lib.optionals withDaemon [ "daemon" ]
++ lib.optionals withNotify [ "notify" ]
++ lib.optionals withStreaming [ "streaming" ]
++ lib.optionals withSixel [ "sixel" ];
meta = with lib; {
description = "A command driven spotify player";
meta = {
description = "A terminal spotify player that has feature parity with the official client";
homepage = "https://github.com/aome510/spotify-player";
changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}";
mainProgram = "spotify_player";
license = licenses.mit;
maintainers = with maintainers; [ dit7ya ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dit7ya xyven1 ];
};
}

View file

@ -43,13 +43,13 @@ stdenv.mkDerivation {
pname = binName;
# versions are specified in `squeezelite.h`
# see https://github.com/ralph-irving/squeezelite/issues/29
version = "1.9.9.1430";
version = "1.9.9.1449";
src = fetchFromGitHub {
owner = "ralph-irving";
repo = "squeezelite";
rev = "663db8f64d73dceca6a2a18cdb705ad846daa272";
hash = "sha256-PROb6d5ixO7lk/7wsjh2vkPkPgAvd6x+orQOY078IAs=";
rev = "8581aba8b1b67af272b89b62a7a9b56082307ab6";
hash = "sha256-/qyoc0/7Q8yiu5AhuLQFUiE88wf+/ejHjSucjpoN5bI=";
};
buildInputs = [ flac libmad libvorbis mpg123 ]

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts coreutils curl gnused jq nix nix-prefetch-github ripgrep
#!nix-shell -I nixpkgs=./. -i bash -p common-updater-scripts coreutils curl gnused jq nix nix-prefetch-git nix-prefetch-github ripgrep
set -euo pipefail

View file

@ -8,8 +8,11 @@ least specific (the system profile)"
;;; Extend `load-path' to search for elisp files in subdirectories of all folders in `NIX_PROFILES'.
;;; Non-Nix distros have similar logic in /usr/share/emacs/site-lisp/subdirs.el.
;;; See https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
(dolist (profile (nix--profile-paths))
(let ((default-directory (expand-file-name "share/emacs/site-lisp/" profile)))
(dolist (profile (reverse (nix--profile-paths)))
;; `directory-file-name' is important to add sub dirs to the right place of `load-path'
;; see the source code of `normal-top-level-add-to-load-path'
(let ((default-directory (directory-file-name
(expand-file-name "share/emacs/site-lisp/" profile))))
(when (file-exists-p default-directory)
(setq load-path (cons default-directory load-path))
(normal-top-level-add-subdirs-to-load-path))))
@ -37,13 +40,19 @@ least specific (the system profile)"
(mapconcat 'identity new-env-list ":"))))))
;;; Set up native-comp load path.
(when (featurep 'comp)
(when (featurep 'native-compile)
;; Append native-comp subdirectories from `NIX_PROFILES'.
;; Emacs writes asynchronous native-compilation files to the first writable directory[1].
;; At this time, (car native-comp-eln-load-path) is a writable one in `user-emacs-directory'[2].
;; So we keep that one unchanged.
;; [1]: info "(elisp) Native-Compilation Variables"
;; [2]: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/startup.el?id=3685387e609753293c4518be75e77c659c3b2d8d#n601
(setq native-comp-eln-load-path
(append (mapcar (lambda (profile-dir)
(append (list (car native-comp-eln-load-path))
(mapcar (lambda (profile-dir)
(concat profile-dir "/share/emacs/native-lisp/"))
(nix--profile-paths))
native-comp-eln-load-path)))
(cdr native-comp-eln-load-path))))
;;; Make `woman' find the man pages
(defvar woman-manpath)

View file

@ -496,14 +496,26 @@ final: prev:
meta.homepage = "https://github.com/eikenb/acp/";
};
adwaita-nvim = buildVimPluginFrom2Nix {
pname = "adwaita.nvim";
version = "2023-06-22";
src = fetchFromGitHub {
owner = "Mofiqul";
repo = "adwaita.nvim";
rev = "bb421a3439a515862ecb57970f10722cdcc4d089";
sha256 = "1fw7kbgzqif40vks3h3n5jgachnimcbv7gpv85z7mw07hc0g7h33";
};
meta.homepage = "https://github.com/Mofiqul/adwaita.nvim/";
};
aerial-nvim = buildVimPluginFrom2Nix {
pname = "aerial.nvim";
version = "2023-08-13";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "stevearc";
repo = "aerial.nvim";
rev = "ffb5fd0aa7fcd5c3f68df38f89af3aa007f76604";
sha256 = "08r2y6rnv6ackwm1m5q4300q68fy1pb39synsiq0crzv5mg59fjc";
rev = "dc17cfd401689337124c75270677fd3b7639cf23";
sha256 = "006c3ly5vidlbiv0wixijzlacqbzkslbddnz85h8jvy9xvm0lq9s";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@ -2623,12 +2635,12 @@ final: prev:
denops-vim = buildVimPluginFrom2Nix {
pname = "denops.vim";
version = "2023-08-24";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "vim-denops";
repo = "denops.vim";
rev = "bfdc079db08ed99a68f5a4b0d046fcea1b5e5515";
sha256 = "0rbbk7in33s28g4rdsb97mlg5ix7jc8r45d7mvrz02s1cay7g4l1";
rev = "a80e4d83fc7922f79886126d505790ad1da30ab2";
sha256 = "1rai29r30v4xc512nfnx4nvbwqjmqc64lxdc45dj396b9kfkyvii";
};
meta.homepage = "https://github.com/vim-denops/denops.vim/";
};
@ -3009,12 +3021,12 @@ final: prev:
dropbar-nvim = buildVimPluginFrom2Nix {
pname = "dropbar.nvim";
version = "2023-08-22";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "Bekaboo";
repo = "dropbar.nvim";
rev = "8825367c86cdcd8577732419ef68258c9ad6d398";
sha256 = "0mdsipr6cr5dgypys794q6pqarc0mbl526ch7gs6ilagxrll4i9w";
rev = "32bee2131f1110b08c98c7c64fd1f2e5b387bd45";
sha256 = "076d70a0nlryva3mnqz6dzc8kpppnj6d7nb6qrraly40qkgxndsv";
};
meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
};
@ -3287,12 +3299,12 @@ final: prev:
fern-vim = buildVimPluginFrom2Nix {
pname = "fern.vim";
version = "2023-05-27";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "lambdalisue";
repo = "fern.vim";
rev = "cdec1327ec99f0155d0a53aee1beae4c58071558";
sha256 = "1vkjr1cfj2313v3gcj8bf8iki13gxdqa9qb7szg6wjzfavx191k2";
rev = "e295f0df5735a042f63b05218118646809ba9d27";
sha256 = "1qldf9k9h5jjn5gyadpln6mc8qsw9f18qqmfrdbl88rr99kx9c32";
};
meta.homepage = "https://github.com/lambdalisue/fern.vim/";
};
@ -3792,12 +3804,12 @@ final: prev:
glance-nvim = buildVimPluginFrom2Nix {
pname = "glance.nvim";
version = "2023-08-16";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "DNLHC";
repo = "glance.nvim";
rev = "ec19dbdabd47fc2f094f7457a84ae78e7c9b5610";
sha256 = "1iw5b6zdwrbi01k13zsmin8x0hs2i3jyfnpfl568lahkcjx4bdxz";
rev = "8ed5cf3b3b1231ea696d88c9efd977027429d869";
sha256 = "0r2n9q687dvsc5w06v4a90cjcpi0gvjigjf9j27b864m118xj9x3";
};
meta.homepage = "https://github.com/DNLHC/glance.nvim/";
};
@ -3828,11 +3840,11 @@ final: prev:
go-nvim = buildVimPluginFrom2Nix {
pname = "go.nvim";
version = "2023-08-15";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "ray-x";
repo = "go.nvim";
rev = "a370cb932749d071a6bca20211533044c262e66d";
rev = "c9acdf488d324ac5d86febe522a5d3a0310a4c76";
sha256 = "0k3rpy9kz9y9a56155fpj15pd200vldswhx43mfkmis23vv6r454";
};
meta.homepage = "https://github.com/ray-x/go.nvim/";
@ -4739,12 +4751,12 @@ final: prev:
lazy-nvim = buildVimPluginFrom2Nix {
pname = "lazy.nvim";
version = "2023-07-30";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "folke";
repo = "lazy.nvim";
rev = "dac844ed617dda4f9ec85eb88e9629ad2add5e05";
sha256 = "1sd7xg2ql1frr293x976phv6k1r9r01jn48ip60b6pmq80x7gvj6";
rev = "2a9354c7d2368d78cbd5575a51a2af5bd8a6ad01";
sha256 = "01c09qqzjlmsksac39g2bqygx0xh5ibzb3s4v35b9mlhfyylaxyk";
};
meta.homepage = "https://github.com/folke/lazy.nvim/";
};
@ -5218,12 +5230,12 @@ final: prev:
lspsaga-nvim = buildVimPluginFrom2Nix {
pname = "lspsaga.nvim";
version = "2023-08-25";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvimdev";
repo = "lspsaga.nvim";
rev = "ff88be60da8712b5bd9c3d1c6be0eee3b4bbd804";
sha256 = "1csm7wb2n0cvdgls5068y35vnd4pdc7v340d026yzydxxq01cdl3";
rev = "76f9464aaf130c9fbb958403f53cb560f69a0e2f";
sha256 = "0dqapw0dk4hhfc1q08q86p71b2bhhc28brphf882fr6ygab0irqy";
};
meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
};
@ -5399,12 +5411,12 @@ final: prev:
mason-nvim = buildVimPluginFrom2Nix {
pname = "mason.nvim";
version = "2023-08-19";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "williamboman";
repo = "mason.nvim";
rev = "a51c2d063c5377ee9e58c5f9cda7c7436787be72";
sha256 = "041fpyaxjgpd9aqy0afd16pg0ph9vxf5nr7247hgdzrlfs83kxyd";
rev = "34b3d0d01dfeba0b869bedf32ae846ef63ad4bd1";
sha256 = "0l280ayy5vc0g73n5rdb2mbn93mlv9gbz152bxpn01f1f7lk5srf";
};
meta.homepage = "https://github.com/williamboman/mason.nvim/";
};
@ -5495,12 +5507,12 @@ final: prev:
mini-nvim = buildVimPluginFrom2Nix {
pname = "mini.nvim";
version = "2023-08-24";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "echasnovski";
repo = "mini.nvim";
rev = "06bf1784d88b112de14ce29aa604e2ae3fe1e359";
sha256 = "0z37zk6zlph8cl7wknzkgan0rppyq0kk7qngc4g2ibw12qc1z5wa";
rev = "6b5a2dbbb80edeb0f4c1b507e0cd41844f5cb65e";
sha256 = "194vwh7ij81kg4l8j5wpcdjk9n7dnlzksi833qi0p72abbfi7qid";
};
meta.homepage = "https://github.com/echasnovski/mini.nvim/";
};
@ -5867,12 +5879,12 @@ final: prev:
neo-tree-nvim = buildVimPluginFrom2Nix {
pname = "neo-tree.nvim";
version = "2023-08-25";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-neo-tree";
repo = "neo-tree.nvim";
rev = "8a0f795bac6618e4fe59eda61b15f8c95d9625ad";
sha256 = "167qs1djqi5yf9sr0j9wl46hmylrlqxjr6h41anzw0s9fyz4651n";
rev = "9b5b4c874b13e372500f07c37187ba06c0c1ac0a";
sha256 = "1lmfr186zm9axxxly7mvawhs6wxjrkxsyz2ccz7lbnap0bac5zw0";
};
meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
};
@ -5891,12 +5903,12 @@ final: prev:
neoconf-nvim = buildVimPluginFrom2Nix {
pname = "neoconf.nvim";
version = "2023-06-29";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "folke";
repo = "neoconf.nvim";
rev = "08f146d53e075055500dca35e93281faff95716b";
sha256 = "1qrb9pk2m0zfdm6qsdlhp2jjqbk8sg3h2s5lmvd0q14ixb26bxbv";
rev = "e7f98b9a12e2a741b84e6761e925fc2196ef460f";
sha256 = "1ngvigsp7s6cjcg1wyxzlaw51l5nzgk29lbbyzl4xqlarnbyq961";
};
meta.homepage = "https://github.com/folke/neoconf.nvim/";
};
@ -5915,12 +5927,12 @@ final: prev:
neodev-nvim = buildVimPluginFrom2Nix {
pname = "neodev.nvim";
version = "2023-08-25";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "folke";
repo = "neodev.nvim";
rev = "e6598ad9b6287d7aac2c41f338fc1a6db9df6e5b";
sha256 = "1vg8bqg0ra9m0gfc5r453a8lb243yvhc7n2sgqggdrxzw58q4clf";
rev = "0d210aa340ec9840ac963938bf1b5d06cfdf67dc";
sha256 = "1xrr8hqfnka20apg6d8nw208spp9l4k231cp7s1dky7wwp45inzn";
};
meta.homepage = "https://github.com/folke/neodev.nvim/";
};
@ -6732,12 +6744,12 @@ final: prev:
nvim-cmp = buildNeovimPlugin {
pname = "nvim-cmp";
version = "2023-08-12";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-cmp";
rev = "51f1e11a89ec701221877532ee1a23557d291dd5";
sha256 = "11v940v6md7sj1digh7kwckb80zbxxp3shlszi44c43iw9viznxi";
rev = "5dce1b778b85c717f6614e3f4da45e9f19f54435";
sha256 = "1yl5b680p6vhk1741riiwjnw7a4wn0nimjvcab0ij6mx3kf28rsq";
};
meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
};
@ -7089,6 +7101,18 @@ final: prev:
meta.homepage = "https://github.com/josa42/nvim-lightline-lsp/";
};
nvim-lilypond-suite = buildVimPluginFrom2Nix {
pname = "nvim-lilypond-suite";
version = "2023-08-18";
src = fetchFromGitHub {
owner = "martineausimon";
repo = "nvim-lilypond-suite";
rev = "efc1644380a4f0cb3c374841b45930d6ea7c3d40";
sha256 = "0dxbs90mx4ax5ac4l7lb7l320aamh5lbl0n597lqwj52xdjf88sa";
};
meta.homepage = "https://github.com/martineausimon/nvim-lilypond-suite/";
};
nvim-lint = buildVimPluginFrom2Nix {
pname = "nvim-lint";
version = "2023-08-24";
@ -7127,12 +7151,12 @@ final: prev:
nvim-lspconfig = buildVimPluginFrom2Nix {
pname = "nvim-lspconfig";
version = "2023-08-23";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "neovim";
repo = "nvim-lspconfig";
rev = "f7922e59aeb9bc3e31a660ea4e7405ffa3fc2c3a";
sha256 = "008jx1hnb6xn85wx1c0brlmvzp6flyk4b7id30ccsv78h6s9bqfx";
rev = "a27356f1ef9c11e1f459cc96a3fcac5c265e72d6";
sha256 = "17xq7h9d9zx0pbnhhxxqsp2n6rlz16dvdg6cjaylrm7r60ll9215";
};
meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
};
@ -7211,12 +7235,12 @@ final: prev:
nvim-navbuddy = buildVimPluginFrom2Nix {
pname = "nvim-navbuddy";
version = "2023-08-20";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "SmiteshP";
repo = "nvim-navbuddy";
rev = "b31887435ab7df0f8d646e61c854b61c125596ad";
sha256 = "08y1gnabvwjm2d6ixk275c64v1d03sgl71q0m3722sdcry5l0236";
rev = "46670b27a21ae26d25d3ee2b71f31729162f9de7";
sha256 = "1adh5dybdgh24mc6in3rabydm1ap0k0dsjrjy626007j57m6agwc";
};
meta.homepage = "https://github.com/SmiteshP/nvim-navbuddy/";
};
@ -7463,36 +7487,36 @@ final: prev:
nvim-tree-lua = buildVimPluginFrom2Nix {
pname = "nvim-tree.lua";
version = "2023-08-20";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-tree";
repo = "nvim-tree.lua";
rev = "920868dba13466586897a8f40220eca6b2caac41";
sha256 = "1jgpahmnfzb2g428irgyg1nsidha8jymd7lm80bckqkc8xr5li94";
rev = "00741206c2df9c4b538055def19b99790f0c95c8";
sha256 = "0cngsv6ic4lb4igk0aidd0lypgm4jb3khda60ddqbnwwr6ma1497";
};
meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
};
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
version = "2023-08-25";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "4d41d9bfb09dd0836ce6910404e3cd570500c9ca";
sha256 = "05b9dfphqm726x3619vfm702q0csjnvr9011xix07074hmg0ygxl";
rev = "cb74c1c5aefd8b903f1b547d08d4df42be07aa2a";
sha256 = "07d935dn0qjqdmr765wa3f6726k4zlmls6rrz6dfjcaj3yp0jj2d";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
nvim-treesitter-context = buildVimPluginFrom2Nix {
pname = "nvim-treesitter-context";
version = "2023-08-23";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-context";
rev = "ce583c89c8db8d34cd5dff0dc91e13b446fdbe50";
sha256 = "1zcwfkhhk0g4vmdyy77pzc6x30xjaqaclx7gxclajrchhnihgvhb";
rev = "1786b5019edf476304fe0e2682fed3c73001a8b8";
sha256 = "0nf7myq1bf58p4kia1dll0jxf56pnd08cqynz5f3z86fm7x2vd2i";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
};
@ -7606,12 +7630,12 @@ final: prev:
nvim-ufo = buildVimPluginFrom2Nix {
pname = "nvim-ufo";
version = "2023-08-22";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "kevinhwang91";
repo = "nvim-ufo";
rev = "0c0e1e0af68a608b15d18125be92953c553a5f27";
sha256 = "1apxhw0ic2l4rzgj9cikn2dsdn99mh41dzm4ijiixs56s8sfycpi";
rev = "8b01594c29bd01e7b49b647a663c819ed909714f";
sha256 = "1vw1nprs4kgz9y3r294ws3axbsgnfbjnvin7ja6xsg4fsaxqy8fw";
};
meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/";
};
@ -7738,12 +7762,12 @@ final: prev:
oil-nvim = buildVimPluginFrom2Nix {
pname = "oil.nvim";
version = "2023-08-24";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "stevearc";
repo = "oil.nvim";
rev = "2fde9d84fcead6c61a59388fe29bd3135c39fa94";
sha256 = "0cbbwgb6pqz7xdfmc3n70ibgqwqarwn93z4jfacazpidcg9dassy";
rev = "c12a12c34da2a04465308f410095bcbe47996f0b";
sha256 = "15ppj91x40cd7hbhv0jxbb8n8496d8l72c1jrbn132rslqvxkz7w";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/stevearc/oil.nvim/";
@ -8088,12 +8112,12 @@ final: prev:
playground = buildVimPluginFrom2Nix {
pname = "playground";
version = "2023-04-15";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "playground";
rev = "2b81a018a49f8e476341dfcb228b7b808baba68b";
sha256 = "1b7h4sih8dc55w12f0v5knk9cxfpy0iffhbvmg0g84if55ar616v";
rev = "429f3e76cbb1c59fe000b690f7a5bea617b890c0";
sha256 = "1flqiycr7dm4cyp2gpy3dmkk8xcdk4268kgmp5qz43qf7fi8m7iy";
};
meta.homepage = "https://github.com/nvim-treesitter/playground/";
};
@ -9549,8 +9573,8 @@ final: prev:
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-frecency.nvim";
rev = "e7825aaf576c22045b7a181ba89b9019104319cf";
sha256 = "01l3d0ip8fid0jppn5iiwwf1c586s18z66v7byfiyx5gb8f6ybpr";
rev = "5d1a01be63659425c81f29dc56ac77111a1bfb76";
sha256 = "0mpkrgk2cgsbxsl8n26j4aiynmgspa6a2svbk1vljval9yfihmzc";
};
meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
};
@ -9775,12 +9799,12 @@ final: prev:
telescope-nvim = buildNeovimPlugin {
pname = "telescope.nvim";
version = "2023-08-10";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "2d92125620417fbea82ec30303823e3cd69e90e8";
sha256 = "01373bppxb3zw68kz91acbm1g4453sdyfli137hx1855zcaqnkh5";
rev = "207285ccec21b69996a4d3bcfa59df35d48610e8";
sha256 = "0x690ic05ndh6h1yrdklx6xljf9grw5brl3i3ki76lcpbg900h9g";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@ -10232,12 +10256,12 @@ final: prev:
unison = buildVimPluginFrom2Nix {
pname = "unison";
version = "2023-08-24";
version = "2023-08-25";
src = fetchFromGitHub {
owner = "unisonweb";
repo = "unison";
rev = "9882d5445cdaca7fc5975f7a703492ba42ed9ab1";
sha256 = "0xcmhykvxwmk4fxdb6q0gyim8jwlinyrjfn0zsk17hxvachff9cy";
rev = "fc9913f6dfd8fa59a980770fa22e0cb83cf9903a";
sha256 = "0cj4bb1sbcrb12iz8m3x5gak1isqkr70mz4mlrsxqgx32s1jcjki";
};
meta.homepage = "https://github.com/unisonweb/unison/";
};
@ -10832,12 +10856,12 @@ final: prev:
vim-autoformat = buildVimPluginFrom2Nix {
pname = "vim-autoformat";
version = "2023-04-17";
version = "2023-08-26";
src = fetchFromGitHub {
owner = "vim-autoformat";
repo = "vim-autoformat";
rev = "7b35295b519f5f69be2e10b936db7fbac290b813";
sha256 = "1cwxnbq4pngfi8151ycp9d78gybq70snrikv1nsxqmlk4k3wdipk";
rev = "99dc8d5030945c01a7e04b1e44d107a9bd15af67";
sha256 = "00a1j7snyz0gc3pxks26axhdwcbd5iqs9s2crhs6vwvcj5fymmr1";
};
meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
};

View file

@ -60,12 +60,12 @@
};
bash = buildGrammar {
language = "bash";
version = "0.0.0+rev=8e286e7";
version = "0.0.0+rev=a7be575";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-bash";
rev = "8e286e7673e3fa7ad94ab3159c2b83395d302af4";
hash = "sha256-hM5joJjLxThJBStiTLE71MpIDXblgkRS8G4fmMvKdeY=";
rev = "a7be575f17ff9d5340dfd0f60e466cd92a7501d5";
hash = "sha256-fBQs+HDite1OoHJexqMKRoRpG2fD1YMK739RbmwCgYo=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
};
@ -225,12 +225,12 @@
};
commonlisp = buildGrammar {
language = "commonlisp";
version = "0.0.0+rev=338db38";
version = "0.0.0+rev=5153dbb";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-commonlisp";
rev = "338db38330f0d25cba8e2c6428240ebc5e020264";
hash = "sha256-mTBxnj/kqrHx8q7cAKTjfD0FOyVKjDub01Y50DXXjg0=";
rev = "5153dbbc70e4cc2324320c1bdae020d31079c7c0";
hash = "sha256-0eC2cm/cP9BLfNKsubJd4S4BHF2nJdx/OCNJNC4ur6Q=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-commonlisp";
};
@ -401,6 +401,17 @@
};
meta.homepage = "https://github.com/rydesun/tree-sitter-dot";
};
doxygen = buildGrammar {
language = "doxygen";
version = "0.0.0+rev=1928411";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-doxygen";
rev = "19284113dbd42263c13b39d81b2a3b2492022c9b";
hash = "sha256-DzD/3c/zErauG0y8MKymeUXMuoFWkF2OzKY93Ap9Fp4=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-doxygen";
};
dtd = buildGrammar {
language = "dtd";
version = "0.0.0+rev=9deacbf";
@ -691,12 +702,12 @@
};
glsl = buildGrammar {
language = "glsl";
version = "0.0.0+rev=7491ce4";
version = "0.0.0+rev=4296be4";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-glsl";
rev = "7491ce41c982ce74a54744ac21a2e4c360325fbb";
hash = "sha256-z00CEiWUQhNiUobOjFTzZgAp+/Jkjbma7Rwx6/0orWc=";
rev = "4296be48e59be05284be2f79d62b155b61b20518";
hash = "sha256-AimWXes1VTmFELDsTwYpZdyHsdBOL0rfg8ScauWvWQM=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
};
@ -2301,12 +2312,12 @@
};
wing = buildGrammar {
language = "wing";
version = "0.0.0+rev=8efecc2";
version = "0.0.0+rev=2b2aa81";
src = fetchFromGitHub {
owner = "winglang";
repo = "wing";
rev = "8efecc27b58d3266e3946ea5c8fb8b3ef853914d";
hash = "sha256-A/GXdXvOkSu9DI6h1EZNrfciYGtsSJ68uU0M2akaUKU=";
rev = "2b2aa817bef5f56c56c8a0d02961858dd47c5860";
hash = "sha256-aMB6n0GfYap+Damt27Xuwom2qhX/seyuE6YHqnY211M=";
};
location = "libs/tree-sitter-wing";
generate = true;

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "x16-emulator";
version = "43";
version = "44";
src = fetchFromGitHub {
owner = "X16Community";
repo = "x16-emulator";
rev = "r${finalAttrs.version}";
hash = "sha256-cZB7MRYlchD3zcBSWBIzyBiGHJobJvozkVT/7ftFkNg=";
hash = "sha256-NDtfbhqGldxtvWQf/t6UnMRjI2DR7JYKbm2KFAMZhHY=";
};
postPatch = ''

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "x16-rom";
version = "43";
version = "44";
src = fetchFromGitHub {
owner = "X16Community";
repo = "x16-rom";
rev = "r${finalAttrs.version}";
hash = "sha256-LkGHfralxlishG1oyBojDnLMJ3c3KYp5YwJSZ2SIrbM=";
hash = "sha256-x/U+8e869mkWZKmCiW2fZKGB9un2cFXNclemwxbAjLQ=";
};
nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "walk";
version = "1.5.2";
version = "1.6.2";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "walk";
rev = "v${version}";
hash = "sha256-lcXNGmDCXq73gAWFKHHsIb578b1EhznYaGC0myFQym8=";
hash = "sha256-Wo8i0nPAuzADLXlsEho9TSSbNh3d13iNsXXx5onPnIs=";
};
vendorHash = "sha256-EYwfoTVcgV12xF/cv9O6QgXq9Gtc9qK9EmZNjXS4kC8=";
vendorHash = "sha256-AmgCyq+N+EMdpIUCe6Lzd8bDXHsbOzclsHPp+H5ROMc=";
meta = with lib; {
description = "Terminal file manager";

View file

@ -19,7 +19,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "komikku";
version = "1.22.0";
version = "1.23.0";
format = "other";
@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "valos";
repo = "Komikku";
rev = "v${version}";
hash = "sha256-6Pqa3qNnH8WF/GK4CLyEmLoPm4A6Q3Gri2x0whf6WTY=";
hash = "sha256-duWAOod2co62NJ5Jk+7eWTf2LcfV5ZbFw0BhrbdGdUY=";
};
nativeBuildInputs = [
@ -87,6 +87,7 @@ python3.pkgs.buildPythonApplication rec {
description = "Manga reader for GNOME";
homepage = "https://valos.gitlab.io/Komikku/";
license = licenses.gpl3Plus;
changelog = "https://gitlab.com/valos/Komikku/-/releases/v${version}";
maintainers = with maintainers; [ chuangzhu infinitivewitch ];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "pdfcpu";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitHub {
owner = "pdfcpu";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4crBl0aQFsSB1D3iuAVcwcet8KSUB3/tUi1kD1VmpAI=";
sha256 = "sha256-dEAlOKjNXL7zqlll6lqGmbopjdplDR3ewMMNu9TMsmw=";
};
vendorHash = "sha256-qFupm0ymDw9neAu6Xl3fQ/mMWn9f40Vdf7uOLOBkcaE=";
vendorHash = "sha256-WZsm2wiKedMP0miwnzhnSrF7Qw+jqd8dnpcehlsdMCA=";
# No tests
doCheck = false;

View file

@ -9,15 +9,15 @@
, cmake
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "pineapple-pictures";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "BLumia";
repo = "pineapple-pictures";
rev = version;
hash = "sha256-6peNZc+rrQrUFSrn1AK8lZsy4RQf9DwpmXY0McfEus8=";
rev = finalAttrs.version;
hash = "sha256-dD0pHqw1Gxp+yxzYdm2ZgxiHKyuJKBGYpjv99B1Da1g=";
};
nativeBuildInputs = [
@ -36,12 +36,12 @@ stdenv.mkDerivation rec {
"-DPREFER_QT_5=OFF"
];
meta = with lib; {
meta = {
description = "Homebrew lightweight image viewer";
homepage = "https://github.com/BLumia/pineapple-pictures";
license = licenses.mit;
platforms = platforms.linux;
license = lib.licenses.mit;
platforms = lib.platforms.linux;
mainProgram = "ppic";
maintainers = with maintainers; [ rewine ];
maintainers = with lib.maintainers; [ rewine ];
};
}
})

View file

@ -1,8 +1,8 @@
{ mkDerivation, lib
, extra-cmake-modules, ki18n
, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kcmutils
, kio, knotifications, plasma-framework, kwidgetsaddons, kwindowsystem
, kitemmodels, kitemviews, lcms2, libXrandr, qtx11extras
, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kirigami-addons
, kcmutils, kio, knotifications, plasma-framework, kwidgetsaddons
, kwindowsystem, kitemmodels, kitemviews, lcms2, libXrandr, qtx11extras
}:
mkDerivation {
@ -11,7 +11,7 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes
kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes kirigami-addons
kcmutils ki18n kio knotifications plasma-framework kwidgetsaddons
kwindowsystem kitemmodels kitemviews lcms2 libXrandr qtx11extras
];

View file

@ -15,13 +15,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
version = "0.9.11";
version = "0.9.12";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
rev = "v${version}";
hash = "sha256-4/R/x3iQ6nsG5OLy/FMA24uxS3xKD/2901gBNe6lkk4=";
hash = "sha256-lCo58v2UGolFagci2xHcieTUvqNc1KKNj3Z92oG5WPI=";
};
# No tests

View file

@ -13,6 +13,7 @@
, json-glib
, glib
, glib-networking
, gobject-introspection
, gtksourceview5
, libxml2
, libgee
@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
python3
wrapGAppsHook4
desktop-file-utils
gobject-introspection
];
buildInputs = [

View file

@ -1,19 +1,19 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.4.3)
activesupport (7.0.7.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.4)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
colorize (0.8.1)
concurrent-ruby (1.2.2)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
ejson (1.3.1)
faraday (2.7.4)
ejson (1.4.1)
faraday (2.7.10)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
@ -21,7 +21,7 @@ GEM
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
googleauth (1.5.2)
googleauth (1.7.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
@ -37,12 +37,12 @@ GEM
http-cookie (1.0.5)
domain_name (~> 0.5)
http-form_data (2.3.0)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jsonpath (1.1.2)
jsonpath (1.1.3)
multi_json
jwt (2.7.0)
krane (3.1.0)
jwt (2.7.1)
krane (3.3.0)
activesupport (>= 5.0)
colorize (~> 0.8)
concurrent-ruby (~> 1.1)
@ -50,7 +50,7 @@ GEM
googleauth (~> 1.2)
jsonpath (~> 1.0)
kubeclient (~> 4.9)
oj (~> 3.0)
multi_json
statsd-instrument (>= 2.8, < 4)
thor (>= 1.0, < 2.0)
kubeclient (4.11.0)
@ -62,15 +62,14 @@ GEM
ffi-compiler (~> 1.0)
rake (~> 13.0)
memoist (0.16.2)
mime-types (3.4.1)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0218.1)
minitest (5.18.0)
mime-types-data (3.2023.0808)
minitest (5.19.0)
multi_json (1.15.0)
netrc (0.11.0)
oj (3.14.3)
os (1.1.4)
public_suffix (5.0.1)
public_suffix (5.0.3)
rake (13.0.6)
recursive-open-struct (1.1.3)
rest-client (2.1.0)
@ -84,8 +83,8 @@ GEM
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
statsd-instrument (3.5.7)
thor (1.2.1)
statsd-instrument (3.5.11)
thor (1.2.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unf (0.1.4)
@ -99,4 +98,4 @@ DEPENDENCIES
krane
BUNDLED WITH
2.4.10
2.4.18

View file

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15m0b1im6i401ab51vzr7f8nk8kys1qa0snnl741y3sir3xd07jp";
sha256 = "1vlzcnyqlbchaq85phmdv73ydlc18xpvxy1cbsk191cwd29i7q32";
type = "gem";
};
version = "7.0.4.3";
version = "7.0.7.2";
};
addressable = {
dependencies = ["public_suffix"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
type = "gem";
};
version = "2.8.4";
version = "2.8.5";
};
colorize = {
groups = ["default"];
@ -57,10 +57,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gmfyyzzvb9k5nm1a5x83d7krajfghghfsakhxmdpvncyj2vnrpa";
sha256 = "1bpry4i9ajh2h8fyljp0cb17iy03ar36yc9mpfxflmdznl7dwsjf";
type = "gem";
};
version = "1.3.1";
version = "1.4.1";
};
faraday = {
dependencies = ["faraday-net_http" "ruby2_keywords"];
@ -68,10 +68,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
type = "gem";
};
version = "2.7.4";
version = "2.7.10";
};
faraday-net_http = {
groups = ["default"];
@ -110,10 +110,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lj5haarpn7rybbq9s031zcn9ji3rlz5bk64bwa2j34q5s1h5gis";
sha256 = "0h1k47vjaq37l0w9q49g3f50j1b0c1svhk07rmd1h49w38v2hxag";
type = "gem";
};
version = "1.5.2";
version = "1.7.0";
};
http = {
dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"];
@ -163,10 +163,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
type = "gem";
};
version = "1.12.0";
version = "1.14.1";
};
jsonpath = {
dependencies = ["multi_json"];
@ -174,31 +174,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fkdjic88hh0accp0sbx5mcrr9yaqwampf5c3214212d4i614138";
sha256 = "1i1idcl0rpfkzkxngadw33a33v3gqf93a3kj52y2ha2zs26bdzjp";
type = "gem";
};
version = "1.1.2";
version = "1.1.3";
};
jwt = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09yj3z5snhaawh2z1w45yyihzmh57m6m7dp8ra8gxavhj5kbiq5p";
sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87";
type = "gem";
};
version = "2.7.0";
version = "2.7.1";
};
krane = {
dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"];
dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "multi_json" "statsd-instrument" "thor"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d8vdj3wd2qp8agyadn0w33qf7z2p5lk3vlslb8jlph8x5y3mm70";
sha256 = "1qf5la1w4zrbda5n3s01pb9gij5hyknwglsnqsrc0vcm6bslfygj";
type = "gem";
};
version = "3.1.0";
version = "3.3.0";
};
kubeclient = {
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@ -238,30 +238,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
type = "gem";
};
version = "3.4.1";
version = "3.5.1";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9";
sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
type = "gem";
};
version = "3.2023.0218.1";
version = "3.2023.0808";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06";
sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
type = "gem";
};
version = "5.18.0";
version = "5.19.0";
};
multi_json = {
groups = ["default"];
@ -283,16 +283,6 @@
};
version = "0.11.0";
};
oj = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l8l90iibzrxs33vn3adrhbg8cbmbn1qfh962p7gzwwybsdw73qy";
type = "gem";
};
version = "3.14.3";
};
os = {
groups = ["default"];
platforms = [];
@ -308,10 +298,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k";
type = "gem";
};
version = "5.0.1";
version = "5.0.3";
};
rake = {
groups = ["default"];
@ -370,20 +360,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pg308z3ck1vpazrmczklqa6f9qciay8nysnhc16pgfsh2npzzrz";
sha256 = "1zpr5ms18ynygpwx73v0a8nkf41kpjylc9m3fyhvchq3ms17hcb0";
type = "gem";
};
version = "3.5.7";
version = "3.5.11";
};
thor = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.2.1";
version = "1.2.2";
};
tzinfo = {
dependencies = ["concurrent-ruby"];

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "talosctl";
version = "1.4.7";
version = "1.5.0";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "talos";
rev = "v${version}";
hash = "sha256-K5YuT8OTxkkv5k6bW6kFDB3NMmXM1yFGBxId0snShe4=";
hash = "sha256-cCH20c0QO3Y1XUcI2RLD611L3GVgxwLRvBeT/+NIlHo=";
};
vendorHash = "sha256-RJhsGjpSHbRXhOr2OkjY7x/Tgw+o7eJ9Ebd+NpW5KFs=";
vendorHash = "sha256-h7llw2CPrQmcLwMZX1B9XjgF0E3ygc3tCSEsjpRuAYk=";
ldflags = [ "-s" "-w" ];

View file

@ -1179,11 +1179,11 @@
"vendorHash": null
},
"ucloud": {
"hash": "sha256-ccQwHQlJTqNRNdcz1gd58rzauBcCgV3bGpoKIThruDQ=",
"hash": "sha256-+xqt0y/DIx+h8L+73B00ou0Cy9f60sGijgw95N8eROk=",
"homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
"owner": "ucloud",
"repo": "terraform-provider-ucloud",
"rev": "v1.36.1",
"rev": "v1.37.0",
"spdx": "MPL-2.0",
"vendorHash": null
},

View file

@ -39,7 +39,7 @@
stdenv.mkDerivation rec {
pname = "armcord";
version = "3.2.3";
version = "3.2.4";
src =
let
@ -48,11 +48,11 @@ stdenv.mkDerivation rec {
{
x86_64-linux = fetchurl {
url = "${base}/v${version}/ArmCord_${version}_amd64.deb";
hash = "sha256-d8Xv9ecXxkUAIqCS82VKlLNne56hESYvYtSDvNvGul0=";
hash = "sha256-IUHcDHIJeGx7QKjxl3fUFHqUfs1JdIFxesvDXt3mVw0=";
};
aarch64-linux = fetchurl {
url = "${base}/v${version}/ArmCord_${version}_arm64.deb";
hash = "sha256-yqZ4hl+E4IEEEuKhfyDYY1Lyz5/Nekrf8uxoJr1B8w8=";
hash = "sha256-TWVlEjakdRyZmOuBq9HLO+R7y5jmgstFtyEHjf8nxxM=";
};
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@ -135,7 +135,7 @@ stdenv.mkDerivation rec {
downloadPage = "https://github.com/ArmCord/ArmCord";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.osl3;
maintainers = with maintainers; [ wrmilling ];
maintainers = with maintainers; [ ludovicopiero wrmilling ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "armcord";
};

View file

@ -1,6 +1,6 @@
{ lib
, writeShellScript
, buildFHSEnv
, buildFHSEnvBubblewrap
, stdenvNoCC
, fetchurl
, autoPatchelfHook
@ -40,11 +40,12 @@ let
};
insync-pkg = stdenvNoCC.mkDerivation {
inherit pname version meta;
name = "${pname}-pkg-${version}";
inherit version meta;
src = fetchurl {
# Find a binary from https://www.insynchq.com/downloads/linux#ubuntu.
url = "https://cdn.insynchq.com/builds/linux/${pname}_${version}-lunar_amd64.deb";
url = "https://cdn.insynchq.com/builds/linux/insync_${version}-lunar_amd64.deb";
sha256 = "sha256-BxTFtQ1rAsOuhKnH5vsl3zkM7WOd+vjA4LKZGxl4jk0=";
};
@ -66,7 +67,7 @@ let
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib $out/share
mkdir -p $out
cp -R usr/* $out/
# use system glibc
@ -75,6 +76,9 @@ let
# remove badly packaged plugins
rm $out/lib/insync/PySide2/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
# remove the unused vendor wrapper
rm $out/bin/insync
runHook postInstall
'';
@ -82,37 +86,40 @@ let
dontStrip = true;
};
insync-fhsenv = buildFHSEnv {
name = "${pname}-${version}";
inherit meta;
in buildFHSEnvBubblewrap {
name = pname;
inherit meta;
# for including insync's xdg data dirs
extraOutputsToInstall = [ "share" ];
targetPkgs = pkgs: with pkgs; [
insync-pkg
libudev0-shim
];
targetPkgs = pkgs: with pkgs; [
insync-pkg
libudev0-shim
];
runScript = writeShellScript "insync-wrapper.sh" ''
runScript = writeShellScript "insync-wrapper.sh" ''
# QT_STYLE_OVERRIDE was used to suppress a QT warning, it should have no actual effect for this binary.
export QT_STYLE_OVERRIDE=Fusion
echo Unsetting QT_STYLE_OVERRIDE=$QT_STYLE_OVERRIDE
echo Unsetting QT_QPA_PLATFORMTHEME=$QT_QPA_PLATFORMTHEME
unset QT_STYLE_OVERRIDE
unset QPA_PLATFORMTHEME
# xkb configuration needed: https://github.com/NixOS/nixpkgs/issues/236365
export XKB_CONFIG_ROOT=${xkeyboard_config}/share/X11/xkb/
exec "${insync-pkg.outPath}/lib/insync/insync" "$@"
echo XKB_CONFIG_ROOT=$XKB_CONFIG_ROOT
# For debuging:
# export QT_DEBUG_PLUGINS=1
# find -L /usr/share -name "*insync*"
exec /usr/lib/insync/insync "$@"
'';
# "insync start" command starts a daemon.
dieWithParent = false;
};
in stdenvNoCC.mkDerivation {
inherit pname version meta;
dontUnpack = true;
installPhase = ''
mkdir -p $out/bin
ln -s ${insync-fhsenv}/bin/${insync-fhsenv.name} $out/bin/insync
ln -s ${insync-pkg}/share $out/share
'';
# As intended by this bubble wrap, share as much namespaces as possible with user.
unshareUser = false;
unshareIpc = false;
unsharePid = false;
unshareNet = false;
unshareUts = false;
unshareCgroup = false;
# Since "insync start" command starts a daemon, this daemon should die with it.
dieWithParent = false;
}

View file

@ -12,13 +12,13 @@
let
thunderbird-unwrapped = thunderbirdPackages.thunderbird-102;
version = "102.12.0";
version = "102.14.0";
majVer = lib.versions.major version;
betterbird-patches = fetchFromGitHub {
owner = "Betterbird";
repo = "thunderbird-patches";
rev = "${version}-bb37";
rev = "${version}-bb39";
postFetch = ''
echo "Retrieving external patches"
@ -36,7 +36,7 @@ let
. ./external.sh
rm external.sh
'';
sha256 = "sha256-LH0dgWqariutfaOCPIUZrHzZ8oCbZF1VaaKQIQS4aL8=";
hash = "sha256-O9nGlJs3OziQLbdbdt3eFRHvk1A9cdEsbKDtsZrnY5Q=";
};
in ((buildMozillaMach {
pname = "betterbird";
@ -49,7 +49,7 @@ in ((buildMozillaMach {
src = fetchurl {
# https://download.cdn.mozilla.net/pub/thunderbird/releases/
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "303787a8f22a204e48784d54320d5f4adaeeeedbe4c2294cd26ad75792272ffc9453be7f0ab1434214b61a2cc46982c23c4fd447c4d80d588df4a7800225ddee";
sha512 = "4ae3f216833aec55421f827d55bc1b5fc2f0ad4fefecb27724a5be3318c351df24d30a4897b924e733ed2e3995be284b6d135049d46001143fb1c961fefc1830";
};
extraPostPatch = thunderbird-unwrapped.extraPostPatch or "" + /* bash */ ''

View file

@ -10,14 +10,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vnote";
version = "3.16.0";
version = "3.17.0";
src = fetchFromGitHub {
owner = "vnotex";
repo = "vnote";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-tcu6y2DqdhFE2nbDkiANDk/Mzidcp8PLi8bWZaI6sH0=";
hash = "sha256-NUVu6tKXrrwAoT4BgxX05mmGSC9yx20lwvXzd4y19Zs=";
};
nativeBuildInputs = [

View file

@ -4,11 +4,11 @@
buildPythonApplication rec {
pname = "MAVProxy";
version = "1.8.62";
version = "1.8.66";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-XypOQNETmxg9DYcuCGkXH9/LwCq+pR23KbNfP0mfs3I=";
hash = "sha256-tIwXiDHEmFHF5Jdv25hPkzEqAdig+i5h4fW6SGIrZDM=";
};
postPatch = ''

View file

@ -20,6 +20,8 @@
obs-command-source = callPackage ./obs-command-source.nix { };
obs-freeze-filter = qt6Packages.callPackage ./obs-freeze-filter.nix { };
obs-gradient-source = callPackage ./obs-gradient-source.nix { };
obs-gstreamer = callPackage ./obs-gstreamer.nix { };

View file

@ -0,0 +1,40 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, obs-studio
, qtbase
}:
stdenv.mkDerivation (finalAttrs: {
pname = "obs-freeze-filter";
version = "0.3.3";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-freeze-filter";
rev = finalAttrs.version;
sha256 = "sha256-CaHBTfdk8VFjmiclG61elj35glQafgz5B4ENo+7J35o=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio qtbase ];
postInstall = ''
rm -rf "$out/share"
mkdir -p "$out/share/obs"
mv "$out/data/obs-plugins" "$out/share/obs"
rm -rf "$out/obs-plugins" "$out/data"
'';
dontWrapQtApps = true;
meta = with lib; {
description = "Plugin for OBS Studio to freeze a source using a filter";
homepage = "https://github.com/exeldro/obs-freeze-filter";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = with maintainers; [ pschmitt ];
};
})

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "amazon-ecs-agent";
version = "1.73.1";
version = "1.75.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "aws";
repo = pname;
hash = "sha256-+IFlr1xLLnk0Ox3CcHUdEEiDqk5z0MegWu6h9RW7M8Q=";
hash = "sha256-pjBAu7QyDZdZbGK2pmvF75C6M3liS0KixupUx+iCEjA=";
};
vendorHash = null;

View file

@ -69,7 +69,7 @@ let
includeFortifyHeaders' = if includeFortifyHeaders != null
then includeFortifyHeaders
else targetPlatform.libc == "musl";
else (targetPlatform.libc == "musl" && isGNU);
# Prefix for binaries. Customarily ends with a dash separator.
#

View file

@ -159,12 +159,10 @@ runCommand
rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled
cat >"$siteStart" <<EOF
(let ((inhibit-message t))
(load-file "$emacs/share/emacs/site-lisp/site-start.el"))
(add-to-list 'load-path "$out/share/emacs/site-lisp")
(load "$emacs/share/emacs/site-lisp/site-start"))
;; "$out/share/emacs/site-lisp" is added to load-path in wrapper.sh
;; "$out/share/emacs/native-lisp" is added to native-comp-eln-load-path in wrapper.sh
(add-to-list 'exec-path "$out/bin")
${lib.optionalString withNativeCompilation ''
(add-to-list 'native-comp-eln-load-path "$out/share/emacs/native-lisp/")
''}
${lib.optionalString withTreeSitter ''
(add-to-list 'treesit-extra-load-path "$out/lib/")
''}
@ -226,7 +224,7 @@ runCommand
mkdir -p $out/share
# Link icons and desktop files into place
for dir in applications icons info man emacs; do
for dir in applications icons info man; do
ln -s $emacs/share/$dir $out/share/$dir
done
''

View file

@ -3,12 +3,12 @@
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
version = "20230815132423";
version = "20230825070717";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
hash = "sha256-rz7oxcmIQJ9cM7KbQ+zBcBmggGhhhGFad9k0hGLgVgY=";
hash = "sha256-xB+8WhFnaQ8YD99FcihqI58R8fxiBAzQK5b4VVdWbMo=";
};
vendorHash = "sha256-dYaGR5ZBORANKAYuPAi9i+KQn2OAGDGTZxdyVjkcVi8=";
meta = with lib; {

View file

@ -1,4 +1,5 @@
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, fetchpatch
, substituteAll
@ -8,7 +9,6 @@
, pkg-config
, glib
, itstool
, libxml2
, xorg
, accountsservice
, libX11
@ -24,12 +24,12 @@
, audit
, gobject-introspection
, plymouth
, librsvg
, coreutils
, xorgserver
, xwayland
, dbus
, nixos-icons
, runCommand
}:
let
@ -41,21 +41,21 @@ let
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gdm";
version = "44.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz";
url = "mirror://gnome/sources/gdm/${lib.versions.major finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
sha256 = "aCZrOr59KPxGnQBnqsnF2rsMp5UswffCOKBJUfPcWw0=";
};
mesonFlags = [
"-Dgdm-xsession=true"
# TODO: Setup a default-path? https://gitlab.gnome.org/GNOME/gdm/-/blob/6fc40ac6aa37c8ad87c32f0b1a5d813d34bf7770/meson_options.txt#L6
"-Dinitial-vt=${passthru.initialVT}"
"-Dinitial-vt=${finalAttrs.passthru.initialVT}"
"-Dudev-dir=${placeholder "out"}/lib/udev/rules.d"
"-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
@ -131,21 +131,21 @@ stdenv.mkDerivation rec {
'';
preInstall = ''
install -D ${override} ${DESTDIR}/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
install -D ${override} $DESTDIR/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
'';
postInstall = ''
# Move stuff from DESTDIR to proper location.
# We use rsync to merge the directories.
rsync --archive "${DESTDIR}/etc" "$out"
rm --recursive "${DESTDIR}/etc"
rsync --archive "$DESTDIR/etc" "$out"
rm --recursive "$DESTDIR/etc"
for o in $(getAllOutputNames); do
if [[ "$o" = "debug" ]]; then continue; fi
rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")"
rm --recursive "${DESTDIR}/''${!o}"
rsync --archive "$DESTDIR/''${!o}" "$(dirname "''${!o}")"
rm --recursive "$DESTDIR/''${!o}"
done
# Ensure the DESTDIR is removed.
rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}"
rmdir "$DESTDIR/nix/store" "$DESTDIR/nix" "$DESTDIR"
# We are setting DESTDIR so the post-install script does not compile the schemas.
glib-compile-schemas "$out/share/glib-2.0/schemas"
@ -170,6 +170,18 @@ stdenv.mkDerivation rec {
# Used in GDM NixOS module
# Don't remove.
initialVT = "7";
dconfDb = "${finalAttrs.finalPackage}/share/gdm/greeter-dconf-defaults";
dconfProfile = "user-db:user\nfile-db:${finalAttrs.passthru.dconfDb}";
tests = {
profile = runCommand "gdm-profile-test" { } ''
if test "${finalAttrs.passthru.dconfProfile}" != "$(cat ${finalAttrs.finalPackage}/share/dconf/profile/gdm)"; then
echo "GDM dconf profile changed, please update gdm.nix"
exit 1
fi
touch $out
'';
};
};
meta = with lib; {
@ -179,4 +191,4 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}
})

View file

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-applications";
version = "7.0.0";
version = "7.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-M9JMrxhMiDC/qrrnPaBm6Kf3CAkxrhGWwJF8jVm2G5c=";
sha256 = "sha256-r2JKiTewsLQSZPriC0w72CFevRQXytrFcO2VfA9BKHA=";
};
nativeBuildInputs = [

View file

@ -6,7 +6,6 @@
, gnome-power-manager
, pkg-config
, meson
, python3
, ninja
, vala
, gtk3
@ -21,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-power";
version = "6.2.0";
version = "6.2.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-TxrskbwitsilTidWifSWg9IP6BzH1y/OOrFohlENJmM=";
sha256 = "sha256-EEY32O7GeXBHSjZQ3XGogT1sUzIKGX+CzcGx8buGLq4=";
};
patches = [
@ -41,7 +40,6 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
python3
vala
];
@ -56,11 +54,6 @@ stdenv.mkDerivation rec {
wingpanel
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = nix-update-script { };
};

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "lobster";
version = "2023.9";
version = "2023.11";
src = fetchFromGitHub {
owner = "aardappel";
repo = "lobster";
rev = "v${version}";
sha256 = "sha256-30OOdl/BzWJeLhSWuzLAhwELRPcOJIi7FqwL/ztUOUo=";
sha256 = "sha256-c0EElDvoFzIZvYZpjWd9az+KUxDXTETOp89I/tRCrQ0=";
};
nativeBuildInputs = [ cmake ];

View file

@ -19,16 +19,12 @@ let
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
};
# The loosely held nixpkgs convention for SBCL is to keep the last two
# versions.
# https://github.com/NixOS/nixpkgs/pull/200994#issuecomment-1315042841
"2.3.6" = {
sha256 = "sha256-tEFMpNmnR06NiE19YyN+LynvRZ39WoSEJKnD+lUdGbk=";
};
"2.3.7" = {
sha256 = "sha256-aYFE+4BaMZGaYQ3pmauYOR1S62mK2qjKGbKPxu0Nmfc=";
};
"2.3.8" = {
sha256 = "sha256-QhVxsqyRbli+jrzqXvSr+NeQKGPbah0KXvqVAK3KDSk=";
};
};
in with versionMap.${version};

View file

@ -5,11 +5,13 @@ let hb = mkCoqDerivation {
owner = "math-comp";
inherit version;
defaultVersion = with lib.versions; lib.switch coq.coq-version [
{ case = range "8.15" "8.18"; out = "1.5.0"; }
{ case = range "8.15" "8.17"; out = "1.4.0"; }
{ case = range "8.13" "8.14"; out = "1.2.0"; }
{ case = range "8.12" "8.13"; out = "1.1.0"; }
{ case = isEq "8.11"; out = "0.10.0"; }
] null;
release."1.5.0".sha256 = "sha256-Lia3o156Pbe8rDHOA1IniGYsG5/qzZkzDKdHecfmS+c=";
release."1.4.0".sha256 = "sha256-tOed9UU3kMw6KWHJ5LVLUFEmzHx1ImutXQvZ0ldW9rw=";
release."1.3.0".sha256 = "17k7rlxdx43qda6i1yafpgc64na8br285cb0mbxy5wryafcdrkrc";
release."1.2.1".sha256 = "sha256-pQYZJ34YzvdlRSGLwsrYgPdz3p/l5f+KhJjkYT08Mj0=";

View file

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, pkg-config, meson, ninja, docutils
, libpthreadstubs, libpciaccess
, withValgrind ? valgrind-light.meta.available, valgrind-light
, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light, valgrind-light
}:
stdenv.mkDerivation rec {

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "libubox";
version = "unstable-2023-01-03${lib.optionalString with_ustream_ssl "-${ustream-ssl.ssl_implementation.pname}"}";
version = "unstable-2023-05-23";
src = fetchgit {
url = "https://git.openwrt.org/project/libubox.git";
rev = "eac92a4d5d82eb31e712157e7eb425af728b2c43";
sha256 = "0w6mmwmd3ljhkqfk0qswq28dp63k30s3brlgf8lyi7vj7mrhvn3c";
rev = "75a3b870cace1171faf57bd55e5a9a2f1564f757";
hash = "sha256-QhJ09i7IWP6rbxrYuhisVsCr82Ou/JAZMEdkaLhZp1o=";
};
cmakeFlags = [ "-DBUILD_EXAMPLES=OFF" (if with_lua then "-DLUAPATH=${placeholder "out"}/lib/lua" else "-DBUILD_LUA=OFF") ];

View file

@ -1,17 +1,21 @@
{ stdenv, lib, fetchFromGitHub, cmake }:
{ cmake
, fetchFromGitHub
, lib
, stdenv
}:
# This was originally called mkl-dnn, then it was renamed to dnnl, and it has
# just recently been renamed again to oneDNN. See here for details:
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "oneDNN";
version = "2.7.1";
version = "2.7.5";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${version}";
sha256 = "sha256-HBCuSZkApd/6UkAxz/KDFb/gyX2SI1S2GwgXAXSTU/c=";
rev = "v${finalAttrs.version}";
sha256 = "sha256-oMPBORAdL2rk2ewyUrInYVHYBRvuvNX4p4rwykO3Rhs=";
};
outputs = [ "out" "dev" "doc" ];
@ -30,12 +34,12 @@ stdenv.mkDerivation rec {
--replace "\''${_IMPORT_PREFIX}/" ""
'';
meta = with lib; {
meta = {
changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${finalAttrs.version}";
description = "oneAPI Deep Neural Network Library (oneDNN)";
homepage = "https://01.org/oneDNN";
changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${version}";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ alexarice bhipple ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ alexarice bhipple ];
platforms = lib.platforms.all;
};
}
})

View file

@ -1,17 +1,21 @@
{ stdenv, lib, fetchFromGitHub, cmake }:
{ cmake
, fetchFromGitHub
, lib
, stdenv
}:
# This was originally called mkl-dnn, then it was renamed to dnnl, and it has
# just recently been renamed again to oneDNN. See here for details:
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "oneDNN";
version = "3.2.1";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${version}";
sha256 = "sha256-/LbT2nHPpZHjY3xbJ9bDabR7aIMvetNP4mB+rxuTfy8=";
rev = "v${finalAttrs.version}";
hash = "sha256-/LbT2nHPpZHjY3xbJ9bDabR7aIMvetNP4mB+rxuTfy8=";
};
outputs = [ "out" "dev" "doc" ];
@ -30,12 +34,12 @@ stdenv.mkDerivation rec {
--replace "\''${_IMPORT_PREFIX}/" ""
'';
meta = with lib; {
meta = {
changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${finalAttrs.version}";
description = "oneAPI Deep Neural Network Library (oneDNN)";
homepage = "https://01.org/oneDNN";
changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${version}";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ bhipple ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ bhipple ];
platforms = lib.platforms.all;
};
}
})

View file

@ -36,8 +36,8 @@
];
}
{
version = "2.7.1";
hash = "sha256-2chxHAR6OMrhbv3nS+4uszMyF/0nEeHpuGBsu7SuGlA=";
version = "2.7.2";
hash = "sha256-cpvBpw5RinQi/no6VFN6R0EDWne+M0n2bqxcNiV21WA=";
supportedGpuTargets = [
"700"
"701"

View file

@ -8,20 +8,22 @@
, cuda_nvcc
, cudaFlags
, cudaVersion
# passthru.updateScript
, gitUpdater
}:
let
# Output looks like "-gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_86,code=compute_86"
gencode = lib.concatStringsSep " " cudaFlags.gencode;
in
backendStdenv.mkDerivation (finalAttrs: {
name = "nccl-${finalAttrs.version}-cuda-${cudaVersion}";
version = "2.18.3-1";
pname = "nccl";
version = "2.18.5-1";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "nccl";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-v4U4IzwiuiYFyFhxVmNOCUmkbSg/AM0QtWPve0ehVhs=";
hash = "sha256-vp2WitKateEt1AzSeeEvY/wM4NnUmV7XgL/gfPRUObY=";
};
outputs = [ "out" "dev" ];
@ -63,6 +65,12 @@ backendStdenv.mkDerivation (finalAttrs: {
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-unused-function" ];
# Run the update script with: `nix-shell maintainers/scripts/update.nix --argstr package cudaPackages.nccl`
passthru.updateScript = gitUpdater {
inherit (finalAttrs) pname version;
rev-prefix = "v";
};
enableParallelBuilding = true;
meta = with lib; {

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "ubus";
version = "unstable-2021-02-15";
version = "unstable-2023-06-05";
src = fetchgit {
url = "https://git.openwrt.org/project/ubus.git";
rev = "2537be01858710e714c329153760c64fe3f8a73e";
sha256 = "03ljxsn4w87bfrilccxhrkzqmd30hy6ihkvsinw0i3l7rpp5m4a7";
rev = "f787c97b34894a38b15599886cacbca01271684f";
hash = "sha256-PGPFtNaRXS6ryC+MA/w2CtPQfJa+vG5OXf/NPFMoIzQ=";
};
cmakeFlags = [ "-DBUILD_LUA=OFF" ];

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "uci";
version = "unstable-2021-04-14";
version = "unstable-2023-08-10";
src = fetchgit {
url = "https://git.openwrt.org/project/uci.git";
rev = "4b3db1179747b6a6779029407984bacef851325c";
sha256 = "1zflxazazzkrycpflzfg420kzp7kgy4dlz85cms279vk07dc1d52";
rev = "5781664d5087ccc4b5ab58505883231212dbedbc";
hash = "sha256-8MyFaZdAMh5oMPO/5QyNT+Or57eBL3mamJLblGGoF9g=";
};
hardeningDisable = [ "all" ];

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "uclient";
version = "unstable-2022-02-24";
version = "unstable-2023-04-13";
src = fetchgit {
url = "https://git.openwrt.org/project/uclient.git";
rev = "644d3c7e13c6a64bf5cb628137ee5bd4dada4b74";
sha256 = "0vy4whs64699whp92d1zl7a8kh16yrfywqq0yp2y809l9z19sw22";
rev = "007d945467499f43656b141171d31f5643b83a6c";
hash = "sha256-A47dyVc2MtOL6aImZ0b3SMWH2vzjfAXzRAOF4nfH6S0=";
};
nativeBuildInputs = [ cmake pkg-config ];

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "ustream-ssl";
version = "unstable-2022-12-08-${ssl_implementation.pname}";
version = "unstable-2023-02-25";
src = fetchgit {
url = "https://git.openwrt.org/project/ustream-ssl.git";
rev = "9217ab46536353c7c792951b57163063f5ec7a3b";
sha256 = "1ldyyb3is213iljyccx98f56rb69rfpgdcb1kjxw9a176hvpipdd";
rev = "498f6e268d4d2b0ad33b430f4ba1abe397d31496";
hash = "sha256-qwF3pzJ/nUTaJ8NZtgLyXnSozekY3dovxK3ZWHPGORM=";
};
preConfigure = ''

View file

@ -12,6 +12,9 @@
else if lib.versionAtLeast ocaml.version "4.07" then "1.15.2" else "1.14.1"
}:
let p5 = camlp5; in
let camlp5 = p5.override { legacy = true; }; in
let fetched = coqPackages.metaFetch ({
release."1.16.5".sha256 = "sha256-tKX5/cVPoBeHiUe+qn7c5FIRYCwY0AAukN7vSd/Nz9A=";
release."1.15.2".sha256 = "sha256-XgopNP83POFbMNyl2D+gY1rmqGg03o++Ngv3zJfCn2s=";

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "16.0.1";
version = "16.0.2";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-DxEfkM//WvGqS/iWb6RIvE2raIYb/I0bcwrLqLBjCmw=";
hash = "sha256-lnMB66cpF4RsqthZS2Xn4BpniSWHBJlwhYLgDCB1IIc=";
};
propagatedBuildInputs = [

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "aioqsw";
version = "0.3.3";
version = "0.3.4";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Noltari";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-2fu78mp9ztm229N+zhvY7FuWl3xZlqSYVk/Okp2RNJI=";
hash = "sha256-YGVQsw7UhRWXtfn2MQa3GHNlgXR4LJlFnaeLCGjmWfQ=";
};
nativeBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aiounifi";
version = "52";
version = "55";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Kane610";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-mghAUZrRBKHM+mIeUGnbJqWD+NhZyikdGsIhf1uohiM=";
hash = "sha256-JvuP1Rhq01Y9KbfAJpawUQNWfxvlf9LY82RvXok4tgw=";
};
propagatedBuildInputs = [

View file

@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "apprise";
version = "1.4.5";
version = "1.5.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-t8ZlE8VFZpCimO2IfJAW3tQvFeNl0WFC5yi3T3z/7oI=";
hash = "sha256-PFgRQQd6EBeQ7eDKsW+ig60DKpsvl9xtNWX7LZGBP9c=";
};
nativeBuildInputs = [

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "approvaltests";
version = "8.4.1";
version = "9.0.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "approvals";
repo = "ApprovalTests.Python";
rev = "refs/tags/v${version}";
hash = "sha256-BuFiNZZ7228CKJ97mVK2S8Siqe040EYV5pElVtwuVf4=";
hash = "sha256-tyUPXeMdFuzlBY/HrGHLDEwYngzBELayaVVfEh92lbE=";
};
propagatedBuildInputs = [

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "azure-identity";
version = "1.13.0";
version = "1.14.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -23,7 +23,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
extension = "zip";
hash = "sha256-yTHCcwH/qGsHtNz1dOKdpz4966mrXR/k9EW7ajEX4mA=";
hash = "sha256-ckQXmfjFyJv+IQJpZeJmZyp8XQUMLGURnviZ3VNi4rE=";
};
propagatedBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "bimmer-connected";
version = "0.13.10";
version = "0.14.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "bimmerconnected";
repo = "bimmer_connected";
rev = "refs/tags/${version}";
hash = "sha256-IylA73N3bZOs5HjQGbT6xqokb73iO3bdg5M2KCTX3p4=";
hash = "sha256-cx22otbBCSFRTfr+wY1+k5kyX6h9mTQfRBfPw3rplzY=";
};
nativeBuildInputs = [

View file

@ -17,7 +17,7 @@
let
pname = "chacha20poly1305-reuseable";
version = "0.4.1";
version = "0.4.2";
in
buildPythonPackage {
@ -30,7 +30,7 @@ buildPythonPackage {
owner = "bdraco";
repo = pname;
rev = "v${version}";
hash = "sha256-JDkTSJi7QltKAdgkM+aJ33DP2emOAviyCqI/jeapUB8=";
hash = "sha256-RBXEumw5A/XzB/LazUcvq8JM/Ahvcy9lCTYKpGcY7go=";
};
nativeBuildInputs = [

View file

@ -5,7 +5,6 @@
, buildPythonPackage
, click
, fetchPypi
, intbitset
, pytest-xdist
, pytestCheckHook
, pythonAtLeast
@ -14,26 +13,20 @@
, saneyaml
, setuptools-scm
, text-unidecode
, typing
}:
buildPythonPackage rec {
pname = "commoncode";
version = "31.0.2";
version = "31.0.3";
format = "pyproject";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-UWd8fTHVEC5ywETfMIWjfXm4xiNaMrVpwkQ/woeXc0k=";
hash = "sha256-ura55/m/iesqN6kSYmdHB1sbthSHXaFWiQ76wVmyl0E=";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace "intbitset >= 2.3.0, < 3.0" "intbitset >= 2.3.0"
'';
dontConfigure = true;
nativeBuildInputs = [
@ -44,12 +37,9 @@ buildPythonPackage rec {
attrs
beautifulsoup4
click
intbitset
requests
saneyaml
text-unidecode
] ++ lib.optionals (pythonOlder "3.7") [
typing
];
nativeCheckInputs = [
@ -83,7 +73,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "A set of common utilities, originally split from ScanCode";
homepage = "https://github.com/nexB/commoncode";
changelog = "https://github.com/nexB/commoncode/blob/v${version}/CHANGELOG.rst";
license = licenses.asl20;
maintainers = [ ];
maintainers = with maintainers; [ ];
};
}

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "curtsies";
version = "0.4.1";
version = "0.4.2";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-YtEPNJxVOEUwZVan8mY86WsJjYxbvEDa7Hpu7d4WIrA=";
hash = "sha256-br4zIVvXyShRpQYEnHIMykz1wZLBZlwdepigTEcCdg4=";
};
propagatedBuildInputs = [
@ -37,6 +37,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Curses-like terminal wrapper, with colored strings!";
homepage = "https://github.com/bpython/curtsies";
changelog = "https://github.com/bpython/curtsies/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ flokli ];
broken = stdenv.isDarwin;

View file

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "cyclonedx-python-lib";
version = "4.0.1";
version = "4.1.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "CycloneDX";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-GCY7M0XnVsGyuADSq/EzOy9fged5frj+hRDLhs2Uq8I=";
hash = "sha256-pRYjpmHhsw03b87YjS8YMmkQNwfcihp/bk56LFn55AU=";
};
nativeBuildInputs = [

View file

@ -1,5 +1,6 @@
{ lib
, buildPythonPackage
, cryptography
, django
, djangorestframework
, fetchPypi
@ -11,7 +12,7 @@
buildPythonPackage rec {
pname = "djangorestframework-simplejwt";
version = "5.2.2";
version = "5.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +20,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "djangorestframework_simplejwt";
inherit version;
hash = "sha256-0n1LysLGOU9njeqLTQ1RHG4Yp/Lriq7rin3mAa63fEI=";
hash = "sha256-jkxd/KjRHAuKZt/YpOP8HGqn6hiNEJB/+RyUL0tS7WY=";
};
nativeBuildInputs = [
@ -30,9 +31,17 @@ buildPythonPackage rec {
django
djangorestframework
pyjwt
python-jose
];
passthru.optional-dependencies = {
python-jose = [
python-jose
];
crypto = [
cryptography
];
};
# Test raises django.core.exceptions.ImproperlyConfigured
doCheck = false;
@ -43,6 +52,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "JSON Web Token authentication plugin for Django REST Framework";
homepage = "https://github.com/davesque/django-rest-framework-simplejwt";
changelog = "https://github.com/jazzband/djangorestframework-simplejwt/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ arnoldfarkas ];
};

View file

@ -2,7 +2,6 @@
, bitlist
, buildPythonPackage
, fe25519
, fetchpatch
, fetchPypi
, fountains
, parts
@ -14,25 +13,16 @@
buildPythonPackage rec {
pname = "ge25519";
version = "1.4.3";
version = "1.5.1";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-oOvrfRSpvwfCcmpV7FOxcBOW8Ex89d2+otjORrzX4o0=";
hash = "sha256-VKDPiSdufWwrNcZSRTByFU4YGoJrm48TDm1nt4VyclA=";
};
patches = [
# https://github.com/nthparty/ge25519/pull/1
(fetchpatch {
name = "relax-setuptools-dependency.patch";
url = "https://github.com/nthparty/ge25519/commit/64de94aa67387a30905057c39729d24feaba9064.patch";
hash = "sha256-UTT7VD4lscEA2JiGLx9CRVD1ygXgzcOWqgh5jGMS64Y=";
})
];
nativeBuildInputs = [
setuptools
wheel

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "griffe";
version = "0.35.1";
version = "0.35.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-5Iy4UrB7rn11dmQxh/7EtvrrxkXH8k1tYQkREJJXsOs=";
hash = "sha256-Sskz14aAPqUXhQjetPfhjVm8gjG4yrck3sHpgD37DPU=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "hahomematic";
version = "2023.8.11";
version = "2023.8.12";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-EDpOCZlWIb1WChO4/k37WDkA4LT4Wy8tcMpThMgCQoU=";
hash = "sha256-sP8X6YWNPut0chIj5izdPDbSlwTWXJECbK+pGfucnek=";
};
nativeBuildInputs = [

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "home-assistant-bluetooth";
version = "1.10.2";
version = "1.10.3";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-zNhqiWYZ3tv6lwYgmi6Yue+mFcgk7Y1dDMbzWlsvVJM=";
hash = "sha256-77RrqmoCftPc48fFtuuFo0KqGX3n+6aDx2RFkwGCNzQ=";
};
postPatch = ''

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "homematicip";
version = "1.0.14";
version = "1.0.15";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "hahn-th";
repo = "homematicip-rest-api";
rev = "refs/tags/${version}";
hash = "sha256-2tJoIknqcwEvX2mQsrSEEh45pEMpNfeefuXVKSJTwig=";
hash = "sha256-wetkcHtm5O6mxhyU3/E4yrv6UGHAdKUlae2wJdCXtJI=";
};
propagatedBuildInputs = [

View file

@ -1,7 +1,7 @@
{ stdenv
, lib
{ lib
, buildPythonPackage
, fetchFromGitHub
, flit-core
, pythonOlder
, python
, py-multiaddr
@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "ipfshttpclient";
version = "0.8.0a2";
format = "flit";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
@ -32,6 +32,10 @@ buildPythonPackage rec {
hash = "sha256-OmC67pN2BbuGwM43xNDKlsLhwVeUbpvfOazyIDvoMEA=";
};
nativeBuildInputs = [
flit-core
];
propagatedBuildInputs = [
py-multiaddr
requests
@ -85,7 +89,6 @@ buildPythonPackage rec {
pythonImportsCheck = [ "ipfshttpclient" ];
meta = with lib; {
broken = stdenv.isDarwin;
description = "A python client library for the IPFS API";
homepage = "https://github.com/ipfs-shipyard/py-ipfs-http-client";
license = licenses.mit;

View file

@ -11,13 +11,13 @@
buildPythonPackage rec {
pname = "mkdocs-minify";
version = "0.6.3";
version = "0.7.1";
src = fetchFromGitHub {
owner = "byrnereese";
repo = "${pname}-plugin";
rev = "refs/tags/${version}";
hash = "sha256-ajXkEKLBC86Y8YzDCZXd6x6QtLLrCDJkb6kDrRE536o=";
hash = "sha256-LDCAWKVbFsa6Y/tmY2Zne4nOtxe4KvNplZuWxg4e4L8=";
};
propagatedBuildInputs = [

View file

@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "numpyro";
version = "0.12.1";
version = "0.13.0";
format = "setuptools";
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit version pname;
hash = "sha256-S3ifL/KPOJQcyBEYoE1XGxPLmSfh1uT9wJG/YtABBKQ=";
hash = "sha256-n+5K6fZlatKkXGVxzKcVhmP5XNuJeeM+GcCJ1Kh/WMk=";
};
propagatedBuildInputs = [

View file

@ -25,10 +25,11 @@ buildPythonPackage rec {
--replace 'numpy==' 'numpy>='
'';
nativeBuildInputs = [
propagatedBuildInputs = [
numpy
];
# package has no tests
doCheck = false;
meta = with lib; {

View file

@ -4,13 +4,13 @@
buildPythonPackage rec {
pname = "osc";
version = "1.0.0b1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "openSUSE";
repo = "osc";
rev = version;
sha256 = "cMltsR4Nxe0plHU5cP2Lj/qqlIqRbCXi6FXP8qx7908=";
sha256 = "sha256-gHcPqo3AuSrVprYUGLenC0kw9hKNmjabZ1m6YVMsNPs=";
};
buildInputs = [ bashInteractive ]; # needed for bash-completion helper
@ -18,8 +18,8 @@ buildPythonPackage rec {
propagatedBuildInputs = [ urllib3 cryptography ];
postInstall = ''
install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
install -D -m555 dist/osc.complete $out/share/bash-completion/helpers/osc-helper
install -D -m444 contrib/osc.fish $out/etc/fish/completions/osc.fish
install -D -m555 contrib/osc.complete $out/share/bash-completion/helpers/osc-helper
mkdir -p $out/share/bash-completion/completions
cat >>$out/share/bash-completion/completions/osc <<EOF
test -z "\$BASH_VERSION" && return

View file

@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "peaqevcore";
version = "19.0.3";
version = "19.1.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-DRTXBOrz//IdoMC+zKFkKS2KX0EsAbTqu1tOqskQRQ4=";
hash = "sha256-pDVyFXnWHUzC1U7sSq65q1NXskz/kM/KtonqnfjEtMI=";
};
postPatch = ''

View file

@ -16,7 +16,7 @@ in
buildPythonPackage rec {
pname = "playwright";
# run ./pkgs/development/python-modules/playwright/update.sh to update
version = "1.36.0";
version = "1.37.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "microsoft";
repo = "playwright-python";
rev = "v${version}";
hash = "sha256-/umpMkD+WEpBmw2cRb71PtOMd1sRNfwmURKdaRy4Qsc=";
hash = "sha256-7egK76A3+C+JPbCNFXDd4qTjepBRSZgtQmFrE/jWJN4=";
};
patches = [
@ -88,6 +88,7 @@ buildPythonPackage rec {
driver = playwright-driver;
browsers = playwright-driver.browsers;
};
updateScript = ./update.sh;
};
meta = with lib; {

View file

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nix-prefetch common-updater-scripts node2nix
#!nix-shell -i bash -p curl gnused nix-prefetch common-updater-scripts node2nix jq
set -euo pipefail
root="$(dirname "$(readlink -f "$0")")"

View file

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "publicsuffixlist";
version = "0.10.0.20230824";
version = "0.10.0.20230828";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-8Cln/fjc1ne1EPyvGJH55N4Xzs9FbvZOxaoaXiWY8Bw=";
hash = "sha256-eVPcj1gMY9a8Znhon2lEs9EKWgc55euyvzxnrkDH05o=";
};
passthru.optional-dependencies = {

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pydaikin";
version = "2.10.5";
version = "2.11.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mustang51";
repo = pname;
rev = "v${version}";
hash = "sha256-G4mNBHk8xskQyt1gbMqz5XhoTfWWxp+qTruOSqmTvOc=";
hash = "sha256-YQmMuUSmI6npdhRRhoSNwEFXUF1ZHdKsjZnfxFbL60E=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, black
, codespell
, isort
, mypy
, pre-commit
, pygobject3
}:
buildPythonPackage rec {
pname = "pygobject-stubs";
version = "2.8.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "pygobject";
repo = "pygobject-stubs";
rev = "v${version}";
hash = "sha256-8TB8eqXPhvoKtyQ8+hnCQnH4NwO2WC1NYAxmVj+FCvg=";
};
nativeBuildInputs = [
setuptools
];
# This package does not include any tests.
doCheck = false;
meta = with lib; {
description = "PEP 561 Typing Stubs for PyGObject";
homepage = "https://github.com/pygobject/pygobject-stubs";
changelog = "https://github.com/pygobject/pygobject-stubs/blob/${src.rev}/CHANGELOG.md";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ hacker1024 ];
};
}

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "pylitterbot";
version = "2023.4.6";
version = "2023.4.7";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "natekspencer";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-vrdKpdA+GX1DQaNx/hYs+YSy3UQIov0aPCs7eXppi7c=";
hash = "sha256-y5UZWId3RhOlnq9sHo7eeKOem55/e6F4ioYa+uprZtA=";
};
nativeBuildInputs = [

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pymavlink";
version = "2.4.39";
version = "2.4.40";
src = fetchPypi {
inherit pname version;
hash = "sha256-rS1EZGGAcWEi7MK565oii+KUaqACruLrWXNcB/aXPek=";
hash = "sha256-PWpVKtNEof/54MgRNhrJ2LuCAc9qrK1yJNUW+gN8yzA=";
};
propagatedBuildInputs = [ future lxml ];

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "python-bsblan";
version = "0.5.14";
version = "0.5.15";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "liudger";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-UCl5M9UbsUcroNF2iYzTLD9uIJF7PdxwrVt3PNI3iRc=";
hash = "sha256-PNgv3QXl3iyDX0KOn1egQrt6D64i3eCUyCPtXe94y0U=";
};
postPatch = ''

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "python-engineio";
version = "4.5.1";
version = "4.6.1";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "miguelgrinberg";
repo = "python-engineio";
rev = "refs/tags/v${version}";
hash = "sha256-XTr5potc3t9TxHEqMydRsAzslmLnrzsGqDaM8qdKfp8=";
hash = "sha256-za2JY5Gu9MEqi3W1zxcuwYiJ5XLc43ig6Hdx/4JwDbY=";
};
nativeCheckInputs = [

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