mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-01 01:57:37 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
5dd225a9ce
@ -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"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -41,6 +41,7 @@ let
|
||||
|
||||
# serialization
|
||||
cli = callLibs ./cli.nix;
|
||||
gvariant = callLibs ./gvariant.nix;
|
||||
generators = callLibs ./generators.nix;
|
||||
|
||||
# misc
|
||||
|
@ -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
290
lib/gvariant.nix
Normal 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 Epiphany’s 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;
|
||||
};
|
||||
}
|
93
lib/tests/modules/gvariant.nix
Normal file
93
lib/tests/modules/gvariant.nix
Normal 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>
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
23
nixos/modules/services/web-apps/honk.md
Normal file
23
nixos/modules/services/web-apps/honk.md
Normal 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 ];
|
||||
}
|
||||
```
|
153
nixos/modules/services/web-apps/honk.nix
Normal file
153
nixos/modules/services/web-apps/honk.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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'';
|
||||
|
@ -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
34
nixos/tests/dconf.nix
Normal 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
32
nixos/tests/honk.nix
Normal 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 ];
|
||||
}
|
@ -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")
|
||||
|
42
pkgs/applications/audio/glicol-cli/default.nix
Normal file
42
pkgs/applications/audio/glicol-cli/default.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 ]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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/";
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
|
@ -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"];
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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
|
||||
},
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 */ ''
|
||||
|
@ -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 = [
|
||||
|
@ -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 = ''
|
||||
|
@ -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 { };
|
||||
|
@ -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 ];
|
||||
};
|
||||
})
|
@ -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;
|
||||
|
@ -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.
|
||||
#
|
||||
|
@ -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
|
||||
''
|
||||
|
@ -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; {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 = [
|
||||
|
@ -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 { };
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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};
|
||||
|
@ -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=";
|
||||
|
@ -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 {
|
||||
|
@ -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") ];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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"
|
||||
|
@ -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; {
|
||||
|
@ -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" ];
|
||||
|
@ -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" ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 = ''
|
||||
|
@ -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=";
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -25,10 +25,11 @@ buildPythonPackage rec {
|
||||
--replace 'numpy==' 'numpy>='
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
];
|
||||
|
||||
# package has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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; {
|
||||
|
@ -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")")"
|
||||
|
@ -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 = {
|
||||
|
@ -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 = [
|
||||
|
39
pkgs/development/python-modules/pygobject-stubs/default.nix
Normal file
39
pkgs/development/python-modules/pygobject-stubs/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 = ''
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user