Merge c4cfc9ced3 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-12-30 15:19:43 +00:00
committed by GitHub
202 changed files with 2750 additions and 1108 deletions
+5 -1
View File
@@ -28,11 +28,15 @@ let
generators
id
mapAttrs
trace
;
in
rec {
inherit (builtins)
trace
addErrorContext
unsafeGetAttrPos
;
# -- TRACING --
+5 -9
View File
@@ -105,15 +105,6 @@ let
# network
network = callLibs ./network;
# TODO: For consistency, all builtins should also be available from a sub-library;
# these are the only ones that are currently not
inherit (builtins)
addErrorContext
isPath
trace
typeOf
unsafeGetAttrPos
;
inherit (self.trivial)
id
const
@@ -335,6 +326,7 @@ let
escape
escapeShellArg
escapeShellArgs
isPath
isStorePath
isStringLike
isValidPosixName
@@ -351,6 +343,7 @@ let
toUpper
toCamelCase
toSentenceCase
typeOf
addContextFrom
splitString
splitStringBy
@@ -518,6 +511,7 @@ let
assertOneOf
;
inherit (self.debug)
trace
traceIf
traceVal
traceValFn
@@ -528,6 +522,8 @@ let
traceValSeqN
traceValSeqNFn
traceFnSeqN
addErrorContext
unsafeGetAttrPos
runTests
testAllTrue
;
+17 -18
View File
@@ -18,6 +18,23 @@ let
;
in
{
# Pull in some builtins not included elsewhere.
inherit (builtins)
pathExists
readFile
isBool
isInt
isFloat
add
sub
lessThan
seq
deepSeq
genericClosure
bitAnd
bitOr
bitXor
;
## Simple (higher order) functions
@@ -388,24 +405,6 @@ in
*/
mapNullable = f: a: if a == null then a else f a;
# Pull in some builtins not included elsewhere.
inherit (builtins)
pathExists
readFile
isBool
isInt
isFloat
add
sub
lessThan
seq
deepSeq
genericClosure
bitAnd
bitOr
bitXor
;
## nixpkgs version strings
/**
+1
View File
@@ -582,6 +582,7 @@
},
"members": {
"Cryolitia": 23723294,
"Moraxyc": 69713071,
"darkyzhou": 7220778,
"dramforever": 2818072,
"wegank": 9713184
+6
View File
@@ -29588,6 +29588,12 @@
githubId = 71881325;
name = "Stefan Bordei";
};
ZZBaron = {
email = "zzbarona+nix@gmail.com";
github = "ZZBaron";
githubId = 157318434;
name = "ZZBaron";
};
zzzsy = {
email = "me@zzzsy.top";
github = "zzzsyyy";
+2 -2
View File
@@ -14,7 +14,7 @@ in
options.programs.hyprland = {
enable = lib.mkEnableOption ''
Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
You can manually launch Hyprland by executing {command}`Hyprland` on a TTY.
You can manually launch Hyprland by executing {command}`start-hyprland` on a TTY.
A configuration file will be generated in {file}`~/.config/hypr/hyprland.conf`.
See <https://wiki.hyprland.org> for more information'';
@@ -103,7 +103,7 @@ in
hyprland = {
prettyName = "Hyprland";
comment = "Hyprland compositor managed by UWSM";
binPath = "/run/current-system/sw/bin/Hyprland";
binPath = "/run/current-system/sw/bin/start-hyprland";
};
};
})
+1
View File
@@ -14,6 +14,7 @@ let
"yazi"
"theme"
"keymap"
"vfs"
];
in
{
+20 -33
View File
@@ -19,20 +19,8 @@ let
(unixAddr settings.BIND_NETWORK settings.BIND)
(unixAddr settings.METRICS_BIND_NETWORK settings.METRICS_BIND)
];
runtimeDirectoryPrefix = name: "/run/anubis/${instanceName name}/";
instanceUsesUnixSockets = instance: lib.length (unixSocketAddrs instance.settings) > 0;
instanceUsesDedicatedRuntimeDirectory =
name: instance:
lib.any (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs instance.settings);
useLegacyRuntimeDirectory =
# Set when:
# - Only one instance is configured with unix sockets.
# - No instance uses the new runtime directory prefix: /run/anubis/anubis-<name>.
lib.count instanceUsesUnixSockets (lib.attrValues enabledInstances) == 1
&& !(lib.any (attrs: instanceUsesDedicatedRuntimeDirectory attrs.name attrs.value) (
lib.attrsToList enabledInstances
));
runtimeDirectoryPrefix = name: "/run/anubis/${instanceName name}/";
commonSubmodule =
isDefault:
@@ -204,10 +192,12 @@ let
options = {
# see other options above
BIND = lib.mkOption {
default = "/run/anubis/${instanceName name}.sock";
default = "${runtimeDirectoryPrefix name}anubis.sock";
description = ''
The address that Anubis listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for syntax.
Use the prefix "${runtimeDirectoryPrefix "<name>"}". The prefix "/run/anubis" is deprecated.
When using unix sockets:
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
Defaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `BIND_NETWORK` to `"tcp"`.
'';
@@ -215,11 +205,13 @@ let
type = types.str;
};
METRICS_BIND = lib.mkOption {
default = "/run/anubis/${instanceName name}-metrics.sock";
default = "${runtimeDirectoryPrefix name}anubis-metrics.sock";
description = ''
The address Anubis' metrics server listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for
syntax.
Use the prefix "${runtimeDirectoryPrefix "<name>"}". The prefix "/run/anubis" is deprecated.
When using unix sockets:
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
The metrics server is enabled by default and may be disabled. However, due to implementation details, this is
only possible by setting a command line flag. See {option}`services.anubis.defaultOptions.extraFlags` for an
@@ -269,20 +261,22 @@ in
};
config = lib.mkIf (enabledInstances != { }) {
warnings = lib.optional useLegacyRuntimeDirectory ''Anubis service: runtime directory is going to be migrated from "anubis" to "anubis/anubis-<name>". Update services.anubis.instances.<name>.BIND to "${runtimeDirectoryPrefix "<name>"}anubis.sock" and services.anubis.instances.<name>.METRICS_BIND to "${runtimeDirectoryPrefix "<name>"}anubis-metrics.sock". Note: if <name> is "", use the prefix "/run/anubis/anubis".'';
assertions =
let
validInstanceUnixSocketAddrs =
{ name, value }:
lib.all (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs value.settings);
name: instance:
lib.all (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs instance.settings);
in
[
{
assertion =
useLegacyRuntimeDirectory
|| lib.all validInstanceUnixSocketAddrs (lib.attrsToList enabledInstances);
message = ''use the prefix "${runtimeDirectoryPrefix "<name>"}" in services.anubis.instances.<name>.BIND and services.anubis.instances.<name>.METRICS_BIND'';
assertion = lib.all (attrs: validInstanceUnixSocketAddrs attrs.name attrs.value) (
lib.attrsToList enabledInstances
);
message = ''
When using unix sockets in services.anubis.instances.<name>.settings.BIND and services.anubis.instances.<name>.settings.METRICS_BIND:
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
'';
}
];
@@ -328,14 +322,7 @@ in
ExecStart = lib.concatStringsSep " " (
(lib.singleton (lib.getExe cfg.package)) ++ instance.extraFlags
);
RuntimeDirectory =
if useLegacyRuntimeDirectory && instanceUsesUnixSockets instance then
# Warning: `anubis` will be deprecated eventually.
"anubis"
else if instanceUsesUnixSockets instance then
"anubis/${instanceName name}"
else
null;
RuntimeDirectory = if instanceUsesUnixSockets instance then "anubis/${instanceName name}" else null;
# hardening
NoNewPrivileges = true;
CapabilityBoundingSet = null;
+6 -6
View File
@@ -357,15 +357,15 @@ in
script =
let
isUserAuth = cfg.authType == "form" || cfg.authType == "none";
userScriptArgs = ''--user ${cfg.defaultUser} ${
optionalString (cfg.authType == "form") ''--password "$(cat ${cfg.passwordFile})"''
}'';
updateUserScript = optionalString (cfg.authType == "form" || cfg.authType == "none") ''
./cli/update-user.php ${userScriptArgs}
'';
createUserScript = optionalString (cfg.authType == "form" || cfg.authType == "none") ''
./cli/create-user.php ${userScriptArgs}
'';
mkUserScript = name: optionalString isUserAuth ''./cli/${name}.php ${userScriptArgs}'';
updateUserScript = mkUserScript "update-user";
createUserScript = mkUserScript "create-user";
in
''
# do installation or reconfigure
+29 -123
View File
@@ -39,72 +39,6 @@ in
ryand56
];
nodes.machineLegacy =
{ config, pkgs, ... }:
{
services.anubis = {
defaultOptions = {
botPolicy = builtins.fromJSON legacyBotPolicyJSON;
settings = {
DIFFICULTY = 3;
USER_DEFINED_DEFAULT = true;
};
};
instances."".settings = {
TARGET = "http://localhost:8080";
DIFFICULTY = 5;
USER_DEFINED_INSTANCE = true;
};
instances."tcp" = {
user = "anubis-tcp";
group = "anubis-tcp";
settings = {
TARGET = "http://localhost:8080";
BIND = "127.0.0.1:9000";
BIND_NETWORK = "tcp";
METRICS_BIND = "127.0.0.1:9001";
METRICS_BIND_NETWORK = "tcp";
};
};
};
users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts."basic.localhost".locations = {
"/".proxyPass = "http://unix:${config.services.anubis.instances."".settings.BIND}";
"/metrics".proxyPass = "http://unix:${config.services.anubis.instances."".settings.METRICS_BIND}";
};
virtualHosts."tcp.localhost".locations = {
"/".proxyPass = "http://${config.services.anubis.instances."tcp".settings.BIND}";
"/metrics".proxyPass = "http://${config.services.anubis.instances."tcp".settings.METRICS_BIND}";
};
# emulate an upstream with nginx, listening on tcp and unix sockets.
virtualHosts."upstream.localhost" = {
default = true; # make nginx match this vhost for `localhost`
listen = [
{ addr = "unix:/run/nginx/nginx.sock"; }
{
addr = "localhost";
port = 8080;
}
];
locations."/" = {
tryFiles = "$uri $uri/index.html =404";
root = pkgs.runCommand "anubis-test-upstream" { } ''
mkdir $out
echo "it works" >> $out/index.html
'';
};
};
};
};
nodes.machine =
{ config, pkgs, ... }:
{
@@ -131,8 +65,6 @@ in
TARGET = "http://localhost:8080";
DIFFICULTY = 5;
USER_DEFINED_INSTANCE = true;
BIND = "/run/anubis/anubis/anubis.sock";
METRICS_BIND = "/run/anubis/anubis/anubis-metrics.sock";
};
instances."tcp" = {
@@ -150,16 +82,12 @@ in
instances."another-unix-listen" = {
settings = {
TARGET = "http://localhost:8080";
BIND = "/run/anubis/anubis-another-unix-listen/anubis.sock";
METRICS_BIND = "/run/anubis/anubis-another-unix-listen/anubis-metrics.sock";
};
};
instances."unix-upstream" = {
group = "nginx";
settings = {
BIND = "/run/anubis/anubis-unix-upstream/anubis.sock";
METRICS_BIND = "/run/anubis/anubis-unix-upstream/anubis-metrics.sock";
TARGET = "unix:///run/nginx/nginx.sock";
};
};
@@ -168,8 +96,6 @@ in
botPolicy = null;
settings = {
TARGET = "http://localhost:8080";
BIND = "/run/anubis/anubis-botPolicy-default/anubis.sock";
METRICS_BIND = "/run/anubis/anubis-botPolicy-default/anubis-metrics.sock";
};
};
@@ -177,8 +103,6 @@ in
settings = {
TARGET = "http://localhost:8080";
POLICY_FNAME = "/etc/anubis-botPolicy.json";
BIND = "/run/anubis/anubis-botPolicy-file/anubis.sock";
METRICS_BIND = "/run/anubis/anubis-botPolicy-file/anubis-metrics.sock";
};
};
};
@@ -233,61 +157,43 @@ in
};
testScript = ''
with subtest("Legacy anubis service configuration: supports only a single RuntimeDirectory"):
for unit in ["nginx", "anubis", "anubis-tcp"]:
machineLegacy.wait_for_unit(unit + ".service")
for unit in ["nginx", "anubis", "anubis-another-unix-listen", "anubis-tcp", "anubis-unix-upstream"]:
machine.wait_for_unit(unit + ".service")
machineLegacy.wait_for_open_unix_socket("/run/anubis/anubis.sock")
machineLegacy.wait_for_open_unix_socket("/run/anubis/anubis-metrics.sock")
for port in [9000, 9001]:
machine.wait_for_open_port(port)
# Default unix socket mode with 1 instance listening on unix sockets.
machineLegacy.succeed('curl -f http://localhost:8080 | grep "it works"')
machineLegacy.succeed('curl -f http://basic.localhost | grep "it works"')
machineLegacy.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
machineLegacy.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis.sock")
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis-metrics.sock")
for instance in ["another-unix-listen", "unix-upstream"]:
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis.sock")
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis-metrics.sock")
# TCP mode.
machineLegacy.succeed('curl -f http://tcp.localhost -H "User-Agent: Mozilla" | grep anubis')
machineLegacy.succeed('curl -f http://tcp.localhost/metrics | grep anubis_challenges_issued')
machine.succeed('curl -f http://basic.localhost | grep "it works"')
machine.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
machine.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
with subtest("Dedicated RuntimeDirectory"):
for unit in ["nginx", "anubis", "anubis-another-unix-listen", "anubis-tcp", "anubis-unix-upstream"]:
machine.wait_for_unit(unit + ".service")
machine.succeed('curl -f http://another-unix-listen.localhost -H "User-Agent: Mozilla" | grep anubis')
machine.succeed('curl -f http://another-unix-listen.localhost/metrics | grep anubis_challenges_issued')
for port in [9000, 9001]:
machine.wait_for_open_port(port)
# Upstream is a unix socket mode.
machine.succeed('curl -f http://unix.localhost/index.html | grep "it works"')
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis.sock")
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis-metrics.sock")
for instance in ["another-unix-listen", "unix-upstream"]:
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis.sock")
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis-metrics.sock")
# Default user-defined environment variables.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_DEFAULT"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_DEFAULT"')
machine.succeed('curl -f http://basic.localhost | grep "it works"')
machine.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
machine.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
# Instance-specific user-specified environment variables.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_INSTANCE"')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_INSTANCE"')
machine.succeed('curl -f http://another-unix-listen.localhost -H "User-Agent: Mozilla" | grep anubis')
machine.succeed('curl -f http://another-unix-listen.localhost/metrics | grep anubis_challenges_issued')
# Make sure defaults don't overwrite themselves.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "DIFFICULTY=5"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "DIFFICULTY=3"')
# Upstream is a unix socket mode.
machine.succeed('curl -f http://unix.localhost/index.html | grep "it works"')
# Default user-defined environment variables.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_DEFAULT"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_DEFAULT"')
# Instance-specific user-specified environment variables.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_INSTANCE"')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_INSTANCE"')
# Make sure defaults don't overwrite themselves.
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "DIFFICULTY=5"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "DIFFICULTY=3"')
# Check correct BotPolicy settings are applied
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME=/nix/store"')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-botPolicy-default.service | grep "POLICY_FNAME="')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-botPolicy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
# Check correct BotPolicy settings are applied
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME=/nix/store"')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-botPolicy-default.service | grep "POLICY_FNAME="')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-botPolicy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
'';
}
+1 -1
View File
@@ -22,7 +22,7 @@
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(80)
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
response = machine.succeed("curl --fail-with-body --silent --header 'Host: freshrss' http://localhost:80/i/")
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
'';
}
+5 -4
View File
@@ -20,17 +20,18 @@
];
testScript = ''
from lxml import etree
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(80)
response = machine.succeed("curl -s http://localhost:80/i/?c=extension")
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/?c=extension")
assert '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page."
# enable Title-Wrap extension
from lxml import etree
tree = etree.HTML(response)
csrf = tree.xpath("/html/body/header/nav/form/input/@value")[0]
response = machine.succeed(f"curl --fail-with-body -s 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'")
machine.succeed(f"curl --fail-with-body --silent 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'")
# verify that the Title-Wrap css is accessible.
machine.succeed("curl --fail-with-body -s 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'")
machine.succeed("curl --fail-with-body --silent 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'")
'';
}
+1 -1
View File
@@ -15,7 +15,7 @@
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(80)
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://localhost:80/i/")
response = machine.succeed("curl --fail-with-body --silent -H 'Remote-User: testuser' http://localhost:80/i/")
assert 'Account: testuser' in response, "http_auth method didn't work."
'';
}
+1 -1
View File
@@ -20,7 +20,7 @@
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(80)
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
'';
}
+1 -1
View File
@@ -14,7 +14,7 @@
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(80)
response = machine.succeed("curl -vvv -s http://localhost:80/i/")
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
assert '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
'';
}
+1 -1
View File
@@ -46,7 +46,7 @@
machine.wait_for_unit("multi-user.target")
machine.wait_for_open_port(5432)
machine.wait_for_open_port(80)
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
'';
}
@@ -21,8 +21,6 @@ melpaBuild {
files = ''(:defaults "msg")'';
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
meta = {
homepage = "https://github.com/misohena/el-easydraw";
description = "Embedded drawing tool for Emacs";
@@ -763,6 +763,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
alabaster-nvim = buildVimPlugin {
pname = "alabaster.nvim";
version = "2025-11-21";
src = fetchFromGitHub {
owner = "p00f";
repo = "alabaster.nvim";
rev = "1fc9e29fbbce94f127cc8b21960b7e3c85187960";
sha256 = "0jm5rlc1j4gni8qgcba0ssdnakdpl0hrqlm61xmipv0k2sr3wy2y";
};
meta.homepage = "https://github.com/p00f/alabaster.nvim/";
meta.hydraPlatforms = [ ];
};
alchemist-vim = buildVimPlugin {
pname = "alchemist.vim";
version = "3.5.0-unstable-2023-09-01";
@@ -947,7 +960,7 @@ final: prev: {
artio-nvim = buildVimPlugin {
pname = "artio.nvim";
version = "2025-12-28";
version = "0-unstable-2025-12-28";
src = fetchFromGitHub {
owner = "comfysage";
repo = "artio.nvim";
@@ -9174,6 +9187,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
model-nvim = buildVimPlugin {
pname = "model.nvim";
version = "0-unstable-2025-07-15";
src = fetchFromGitHub {
owner = "gsuuon";
repo = "model.nvim";
rev = "c4653e9a9431c2629725b919e37eac83d0dbb6aa";
hash = "sha256-gz97C8/tlU4SDKLaQ5Lv2NbQP8zQRsNxiIQWHoHHDJY=";
};
meta.homepage = "https://github.com/gsuuon/model.nvim/";
meta.hydraPlatforms = [ ];
};
modicator-nvim = buildVimPlugin {
pname = "modicator.nvim";
version = "0-unstable-2025-10-24";
@@ -18,18 +18,18 @@
nix-update-script,
}:
let
version = "1.3.20";
version = "1.3.21";
src = fetchFromGitHub {
owner = "michaelb";
repo = "sniprun";
tag = "v${version}";
hash = "sha256-z8viNr1TBGfWqgjfZKYJTEa1/KytKBmLbqcQrAiTZyc=";
hash = "sha256-L/OTi6vHyfcvlVgpgjiU3MBCd6v00GKlAkUwBm4X500=";
};
sniprun-bin = rustPlatform.buildRustPackage {
pname = "sniprun-bin";
inherit version src;
cargoHash = "sha256-Ki1IFQzG4rOakGX5HsYWL8GeQ53dN7WAIZ113+bwcvI=";
cargoHash = "sha256-6xh4YyXGIqrU9ixQ6QDCGDtaROoPe8iSMlytclbqqtY=";
nativeBuildInputs = [ makeWrapper ];
@@ -1,13 +1,12 @@
diff --git a/lua/sniprun.lua b/lua/sniprun.lua
index 49be442..9342351 100644
index 2c5d460..f785caa 100644
--- a/lua/sniprun.lua
+++ b/lua/sniprun.lua
@@ -3,9 +3,7 @@ M.ping_anwsered = 0
@@ -3,8 +3,7 @@ M.ping_anwsered = 0
M.info_floatwin = {}
-- See https://github.com/tjdevries/rofl.nvim/blob/632c10f2ec7c56882a3f7eda8849904bcac6e8af/lua/rofl.lua
-local binary_path = vim.fn.fnamemodify(
- vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
-local binary_path = vim.fn.fnamemodify(vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
- .. "/target/release/sniprun"
+local binary_path = "@sniprun@"
@@ -57,6 +57,7 @@ https://github.com/derekelkins/agda-vim/,,
https://github.com/emmanueltouzery/agitator.nvim/,HEAD,
https://github.com/aduros/ai.vim/,HEAD,
https://github.com/joshuavial/aider.nvim/,HEAD,
https://github.com/p00f/alabaster.nvim/,HEAD,
https://github.com/slashmili/alchemist.vim/,,
https://github.com/dense-analysis/ale/,,
https://github.com/vim-scripts/align/,,
@@ -704,6 +705,7 @@ https://github.com/milanglacier/minuet-ai.nvim/,HEAD,
https://github.com/jghauser/mkdir.nvim/,main,
https://github.com/jakewvincent/mkdnflow.nvim/,HEAD,
https://github.com/SidOfc/mkdx/,,
https://github.com/gsuuon/model.nvim/,HEAD,
https://github.com/mawkler/modicator.nvim/,HEAD,
https://github.com/miikanissi/modus-themes.nvim/,HEAD,
https://github.com/tomasr/molokai/,,
@@ -1965,8 +1965,8 @@ let
mktplcRef = {
name = "gitlab-workflow";
publisher = "gitlab";
version = "6.61.2";
hash = "sha256-NLWu/4QgG/vbhTVjV57bt6J7AX2kC59/2xNkj8PMdtc=";
version = "6.62.1";
hash = "sha256-Sbtrmla1vRZ7isSvr5QhDiP519/IG/VJ5zI9Y28UFx4=";
};
meta = {
description = "GitLab extension for Visual Studio Code";
@@ -5363,8 +5363,8 @@ let
mktplcRef = {
name = "pretty-ts-errors";
publisher = "yoavbls";
version = "0.6.1";
hash = "sha256-LvX21nEjgayNd9q+uXkahmdYwzfWBZOhQaF+clFUUF4=";
version = "0.7.0";
hash = "sha256-+PKxy1YN8ZP0hstb7PXZH+5L4n2l/j5J9/ordS2cBYM=";
};
meta = {
description = "Make TypeScript errors prettier and human-readable in VSCode";
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "basedpyright";
publisher = "detachhead";
version = "1.36.1";
hash = "sha256-D3bKfUb/cm9zGfUCl0G/X2nxylZqSNv406BQ8c5GtgI=";
version = "1.36.2";
hash = "sha256-FOu5ZpjNhtWxV+7Jt9V1RZ4YrK5BZ5t8Ut06raZURFI=";
};
meta = {
changelog = "https://github.com/detachhead/basedpyright/releases";
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "google";
name = "colab";
version = "0.1.4";
hash = "sha256-15n8e7KHMHU16oScivd6aY8v5vnzlH+4ME9Z6qt3AHw=";
version = "0.1.6";
hash = "sha256-2WJLXQfsdjor4YThjxvUZejBRjxEEe6fVCMba9grqIQ=";
};
meta = {
@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "opera";
version = "0-unstable-2024-10-16";
version = "0-unstable-2025-12-26";
src = fetchFromGitHub {
owner = "libretro";
repo = "opera-libretro";
rev = "67a29e60a4d194b675c9272b21b61eaa022f3ba3";
hash = "sha256-8896EWNbzVyr3MS1jtWD3pLur7ZvAhhJmrwkW3ayzkU=";
rev = "345f12b7d45d7013602a4a3b72287f529bd78042";
hash = "sha256-2FkBsiKOzf/sMtKA1vI0ixWP9/ghs/N7zA7/m6h6gZ0=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "pcsx-rearmed";
version = "0-unstable-2025-12-16";
version = "0-unstable-2025-12-28";
src = fetchFromGitHub {
owner = "libretro";
repo = "pcsx_rearmed";
rev = "8d91fbdff8f4db6e256370f030a9f6ac8c7f2c62";
hash = "sha256-3DaKohQ5HoR7Un7mZF4yeFs4fQ0WfVUS15P1HQU0H+0=";
rev = "a2640fe1a0e21729054cdb74db8a21e4bf6dde17";
hash = "sha256-HzgpqgTcFT0Dz0SIn4zW4oF4FxOTYzgg1/sFi3XDwQ4=";
};
dontConfigure = true;
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "stella";
version = "0-unstable-2025-12-14";
version = "0-unstable-2025-12-28";
src = fetchFromGitHub {
owner = "stella-emu";
repo = "stella";
rev = "6d2e3783fde1d99773a57a1ff0c14bfaeec22f93";
hash = "sha256-/1S09xhwvLg6fDgujWVpHb5jQUqydTVTtEjHk4leYUY=";
rev = "7f62c3e1390f629cbd56cbb5172f7e2143b30440";
hash = "sha256-IMrqBu7beSuJNfl2pyzRm5yExXaMkl+si0YVDeRbAcU=";
};
makefile = "Makefile";
@@ -1193,13 +1193,13 @@
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
},
"selectel_selectel": {
"hash": "sha256-/9PIbXyh+CklHQRWWoXxH42KUATi3uyPZRtWWfniB1Q=",
"hash": "sha256-2lo5CF+FmQW2JIHCoI5zGZBaquIo4RXzvD8MeNWTHhQ=",
"homepage": "https://registry.terraform.io/providers/selectel/selectel",
"owner": "selectel",
"repo": "terraform-provider-selectel",
"rev": "v7.2.1",
"rev": "v7.3.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Kvolsw4lgh4Q8Vtq4PFzatD0Up/qeyZYfb+UQfwct3o="
"vendorHash": "sha256-wAVTsN0ZizBU4dMLK2wxf3RSNE6GCbXL1jTIULpKfNU="
},
"siderolabs_talos": {
"hash": "sha256-PPD4blyXt4/IalzwEn4+lvuD1Qx7VuUD/CUJILDRI5k=",
@@ -11,7 +11,7 @@
vorbis-tools,
pulseaudio,
nodejs,
youtube-dl,
yt-dlp,
opusTools,
gst_all_1,
enableSonos ? true,
@@ -27,21 +27,21 @@ let
gst_all_1.gstreamer
nodejs
ffmpeg
youtube-dl
yt-dlp
]
++ lib.optionals stdenv.hostPlatform.isLinux [ pulseaudio ];
in
python3Packages.buildPythonApplication {
pname = "mkchromecast-unstable";
version = "2022-10-31";
version = "2025-12-21";
format = "setuptools";
src = fetchFromGitHub {
owner = "muammar";
repo = "mkchromecast";
rev = "0de9fd78c4122dec4f184aeae2564790b45fe6dc";
sha256 = "sha256-dxsIcBPrZaXlsfzOEXhYj2qoK5LRducJG2ggMrMMl9Y=";
rev = "9cdc5f3f9060ef4078522366ce896356515d8e52";
hash = "sha256-UMzOIxgeTpAFQZtYirOYPoVcKgiKdGx2zwVyWmo32w4=";
};
buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland;
@@ -10,12 +10,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-epgsearch";
version = "2.4.4";
version = "2.4.5";
src = fetchFromGitHub {
repo = "vdr-plugin-epgsearch";
owner = "vdr-projects";
sha256 = "sha256-hHTb6MbN18gNiovX1BKR6ldxxRDeDXJt4kNm722phRk=";
sha256 = "sha256-ERHy6ks5evYmOUoTXNd63ETIA2PyR67VZ7CXR6kn7x4=";
rev = "v${version}";
};
@@ -7,12 +7,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-markad";
version = "4.2.16";
version = "4.2.17";
src = fetchFromGitHub {
repo = "vdr-plugin-markad";
owner = "kfb77";
hash = "sha256-WK4lt/UrXNExs8Dnv3de91Bl6JMgEqjPcBKbbTK1pj4=";
hash = "sha256-27Axgh8brG0Apq06gry7uN95GtJ74FC1RNYVcqTUbE0=";
tag = "V${version}";
};
@@ -13,13 +13,13 @@ let
mkHyprlandPlugin,
}:
let
version = "0.52.0";
version = "0.53.0";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
tag = "v${version}";
hash = "sha256-hr53AWO96ooLCwS1a2v416eT1/aWQZmuQV0ULqhaBTY=";
hash = "sha256-BSRT1Uu1ot4WfMfZc6KW0nwpmt2xl9wpUqmH/JoMTfk=";
};
in
mkHyprlandPlugin {
@@ -1,12 +0,0 @@
diff -Naur 4th-3.64.0-old/sources/Makefile 4th-3.64.0-new/sources/Makefile
--- 4th-3.64.0-old/sources/Makefile 2022-03-15 12:37:45.925122854 -0300
+++ 4th-3.64.0-new/sources/Makefile 2022-03-15 12:38:50.987870211 -0300
@@ -125,7 +125,7 @@
install: mostlyinstall
install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1
- install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/
+ install -Dm644 ../documentation/4tHmanual.pdf $(DOCDIR)/4th/
uninstall:
-rm -f $(LIBRARIES)/lib4th.{a,so*}
+3 -8
View File
@@ -6,11 +6,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "4th";
version = "3.64.1";
version = "3.64.2";
src = fetchurl {
url = "https://sourceforge.net/projects/forth-4th/files/4th-${finalAttrs.version}/4th-${finalAttrs.version}-unix.tar.gz";
hash = "sha256-+W6nTNsqrf3Dvr+NbSz3uJdrXVbBI3OHR5v/rs7en+M=";
hash = "sha256-ufQiuRDPmcYzFSQf16cuZSrOEbH3itq7yZYo87zPs1g=";
};
outputs = [
@@ -18,11 +18,6 @@ stdenv.mkDerivation (finalAttrs: {
"man"
];
patches = [
# Fix install manual; report this patch to upstream
./001-install-manual-fixup.diff
];
dontConfigure = true;
makeFlags = [
@@ -50,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Portable Forth compiler";
license = lib.licenses.lgpl3Plus;
mainProgram = "4th";
maintainers = [ ];
maintainers = with lib.maintainers; [ chillcicada ];
platforms = lib.platforms.unix;
};
})
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "ananicy-rules-cachyos";
version = "0-unstable-2025-12-09";
version = "0-unstable-2025-12-25";
src = fetchFromGitHub {
owner = "CachyOS";
repo = "ananicy-rules";
rev = "96785149f069325c349f24c21c8dcfe83f0211f4";
hash = "sha256-eMWBvK/E/rH5iLKfMRAQx3UcD4gDZ8mEKe+oPUsQaNM=";
rev = "410a04d9af9ac9b6bfefa06cf53ae9b91f1294bd";
hash = "sha256-vEwpJ5AQS4Xwdyvm6/jOtG3V32C50qr3W8hkEbq/IJk=";
};
dontConfigure = true;
+2 -2
View File
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "ansible-doctor";
version = "8.0.1";
version = "8.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "thegeeklab";
repo = "ansible-doctor";
tag = "v${version}";
hash = "sha256-vbI1VEtSQW+kUCIcqrHE+Ogmjjmpstgu2cpl3fDZ2rE=";
hash = "sha256-izgSdHK+vVS0UcK32gYDwBn3b1yDCzp2ImjDXZbMrzs=";
};
build-system = with python3Packages; [
+9 -9
View File
@@ -11,15 +11,15 @@
let
pkg = buildGoModule rec {
pkg = buildGoModule (finalAttrs: {
pname = "arduino-cli";
version = "1.3.1";
version = "1.4.0";
src = fetchFromGitHub {
owner = "arduino";
repo = "arduino-cli";
tag = "v${version}";
hash = "sha256-vUa/Mgztyu5jKVIIhp+Cg79n+ulN94mlfVpxecRb6PA=";
tag = "v${finalAttrs.version}";
hash = "sha256-H7vccxDzJt0e/91PIV6Qg8nRD0beb/3g7AZ4uk2ebXU=";
};
nativeBuildInputs = [
@@ -31,7 +31,7 @@ let
subPackages = [ "." ];
vendorHash = "sha256-msv+ZG6uabTtPDVcRksRd8UTSpoztMKw3YGxvhJr26w=";
vendorHash = "sha256-GPZLvEgL/2Ekfj58d8dsbc6e2hHB2zUapvFdIT43hhQ=";
postPatch =
let
@@ -62,7 +62,7 @@ let
ldflags = [
"-s"
"-w"
"-X github.com/arduino/arduino-cli/internal/version.versionString=${version}"
"-X github.com/arduino/arduino-cli/internal/version.versionString=${finalAttrs.version}"
"-X github.com/arduino/arduino-cli/internal/version.commit=unknown"
]
++ lib.optionals stdenv.hostPlatform.isLinux [ "-extldflags '-static'" ];
@@ -75,10 +75,10 @@ let
'';
meta = {
inherit (src.meta) homepage;
inherit (finalAttrs.src.meta) homepage;
description = "Arduino from the command line";
mainProgram = "arduino-cli";
changelog = "https://github.com/arduino/arduino-cli/releases/tag/${version}";
changelog = "https://github.com/arduino/arduino-cli/releases/tag/${finalAttrs.version}";
license = with lib.licenses; [
gpl3Only
asl20
@@ -89,7 +89,7 @@ let
];
};
};
});
in
if stdenv.hostPlatform.isLinux then
+2 -2
View File
@@ -10,13 +10,13 @@
}:
buildGoModule rec {
pname = "aws-vault";
version = "7.8.5";
version = "7.8.6";
src = fetchFromGitHub {
owner = "ByteNess";
repo = "aws-vault";
rev = "v${version}";
hash = "sha256-tJqqJl+X5LpVJXB6QGqNkjZxTSo44IK/IY/yVk2DLjQ=";
hash = "sha256-nULl68DMTqrVXlPmJlp7M3EZ+MiGR9FsWKIRaa2i91I=";
};
proxyVendor = true;
+6 -3
View File
@@ -20,11 +20,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "binaryninja-free";
version = "5.2.8614";
version = "5.2.8722";
src = fetchurl {
url = "https://github.com/Vector35/binaryninja-api/releases/download/stable/${finalAttrs.version}/binaryninja_free_linux.zip";
hash = "sha256-Z7hI0WTOseEgM/opZLxSGCnHYXiliEWksA1FpICLRPQ=";
hash = "sha256-YlBr/Cdjev7LWY/VsKgv/i3zHj4YR49RX69zmhhie7U=";
};
icon = fetchurl {
@@ -92,7 +92,10 @@ stdenv.mkDerivation (finalAttrs: {
free = false;
};
mainProgram = "binaryninja";
maintainers = with lib.maintainers; [ scoder12 ];
maintainers = with lib.maintainers; [
scoder12
timschumi
];
platforms = [ "x86_64-linux" ];
};
})
+15 -4
View File
@@ -6,17 +6,18 @@
boost,
libusb1,
pkg-config,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "cc-tool";
version = "unstable-2020-05-19";
version = "0.27-unstable-2025-10-17";
src = fetchFromGitHub {
owner = "dashesy";
repo = "cc-tool";
rev = "19e707eafaaddee8b996ad27a9f3e1aafcb900d2";
hash = "sha256:1f78j498fdd36xbci57jkgh25gq14g3b6xmp76imdpar0jkpyljv";
rev = "0d84df329e343e2ea5a960c04a3d4478ee039aa0";
hash = "sha256-3zZNzH+T/Wc3rn+ZmdpQ5U0Fs6ylT/QhX1pUUD8kPoE=";
};
nativeBuildInputs = [
@@ -30,15 +31,25 @@ stdenv.mkDerivation {
postPatch = ''
substituteInPlace udev/90-cc-debugger.rules \
--replace 'MODE="0666"' 'MODE="0660", GROUP="plugdev", TAG+="uaccess"'
--replace-fail 'MODE="0666"' 'MODE="0660", GROUP="plugdev", TAG+="uaccess"'
'';
configureFlags = [
"--with-boost=${lib.getDev boost}"
];
enableParallelBuilding = true;
doInstallCheck = true;
postInstall = ''
install -D udev/90-cc-debugger.rules $out/lib/udev/rules.d/90-cc-debugger.rules
'';
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
};
meta = {
description = "Command line tool for the Texas Instruments CC Debugger";
mainProgram = "cc-tool";
+3 -3
View File
@@ -12,15 +12,15 @@
stdenv.mkDerivation {
pname = "cht.sh";
version = "0-unstable-2025-08-08";
version = "0-unstable-2025-12-23";
nativeBuildInputs = [ makeWrapper ];
src = fetchFromGitHub {
owner = "chubin";
repo = "cheat.sh";
rev = "b714a5f0d56427924a7871f083fd05e7ede6b0e4";
sha256 = "JkqHxHgs7gUk511CSJ/sLEBWCAYig1lqfslhABDNMGI=";
rev = "031a5d3887f035aaa3bf1a3f83dff4fde2aac53d";
sha256 = "T6v58bmdA3EvC4QUgCR+FJLonN3QdHpkdvNGauq/i5Q=";
};
# Fix ".cht.sh-wrapped" in the help message
+3 -3
View File
@@ -24,18 +24,18 @@
stdenv.mkDerivation rec {
pname = "diebahn";
version = "2.9.3";
version = "2.9.4";
src = fetchFromGitLab {
owner = "schmiddi-on-mobile";
repo = "railway";
tag = version;
hash = "sha256-Bs+qn6QZnY37Kk7Xl4QE9k41T2W8gIvtcP4I5qLERNI=";
hash = "sha256-eGXTBrzKd7dV74wAOzZV9UnIhuR/Xtb20fIWOjfPqtM=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-ijbVyVC0Vq5Olo3odzRv078CosAiIZ6KJNx0Gv5YunI=";
hash = "sha256-YSki/pKhaKnUqyEMibpg/j06zR6E003AzRTK795NFQo=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "dmidecode";
version = "3.6";
version = "3.7";
src = fetchurl {
url = "mirror://savannah/dmidecode/dmidecode-${version}.tar.xz";
sha256 = "sha256-5Axl8+w9r+Ma2DSaTvGpcSLTj2UATtZldeGo1XXdi64=";
sha256 = "sha256-LDrtEshaHmqUENQG1eQXxFVGbcG8fIkni7Ms98rZHoo=";
};
makeFlags = [
@@ -9,20 +9,20 @@
buildGoModule rec {
pname = "docker-credential-gcr";
version = "2.1.30";
version = "2.1.31";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "docker-credential-gcr";
tag = "v${version}";
hash = "sha256-ZHQLZLw5Qe+60POSxfUZ5nh9punLXHzlXbjrUVR9MKU=";
hash = "sha256-DAqMdVayRRf8MqcE+Vfm3Inh7ja7CjMaHCuvg7/AcUA=";
};
postPatch = ''
rm -rf ./test
'';
vendorHash = "sha256-eQ9ZsJqW+FF3XHrqaDm254/vdLxR1Mw5wt+TkWqtXBg=";
vendorHash = "sha256-6NLem27nG6SMxxoIWOg5xLyCo8ZDb8kGPSX3TKWi/N4=";
env.CGO_ENABLED = 0;
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.30";
version = "1.1.31";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
tag = "v${finalAttrs.version}";
hash = "sha256-QEjwZ4jYkmgym4ap7GGD02O2yvEHFOw0jp6f65dfO+w=";
hash = "sha256-aIdjLpfGr98v4i/ssMNPBUJGwugEG612p4LtGUmo3cU=";
};
nativeBuildInputs = [
@@ -0,0 +1,842 @@
From 95d046e287ae7b9ea3f10958180fa07d4064cf25 Mon Sep 17 00:00:00 2001
From: apolius <apolius@tuta.io>
Date: Sat, 1 Jun 2019 00:39:11 +0100
Subject: [PATCH 1/4] updated setColor and getInfo
---
conf.lua | 2 +-
configuration.lua | 2 +-
main.lua | 2 +-
menu.lua | 10 +++++-----
messageBoxState.lua | 6 +++---
particles.lua | 6 +++---
pauseGameState.lua | 4 ++--
res/{images => }/fonts/joystix.ttf | Bin
resmgr.lua | 24 ++++++------------------
rules.lua | 2 +-
saveLevelState.lua | 6 +++---
selectionList.lua | 12 ++++++------
textInput.lua | 4 ++--
13 files changed, 34 insertions(+), 46 deletions(-)
rename res/{images => }/fonts/joystix.ttf (100%)
diff --git a/conf.lua b/conf.lua
index 703a060..00aa34f 100644
--- a/conf.lua
+++ b/conf.lua
@@ -1,6 +1,6 @@
function love.conf(t)
t.identity = "duckmarines"
- t.version = "0.10.0"
+ -- t.version = "0.10.0"
t.console = false
t.window.title = "Duck Marines"
diff --git a/configuration.lua b/configuration.lua
index 2800dbc..f2c12a2 100644
--- a/configuration.lua
+++ b/configuration.lua
@@ -24,7 +24,7 @@ function Config:save()
end
function Config:load()
- if love.filesystem.exists("config") then
+ if love.filesystem.getInfo("config") then
local strdata = love.filesystem.read("config")
local data = TSerial.unpack(strdata)
diff --git a/main.lua b/main.lua
index 6443d01..16bcf1b 100644
--- a/main.lua
+++ b/main.lua
@@ -25,7 +25,7 @@ rules = nil
function love.load()
-- Setup user data
- if love.filesystem.exists("usermaps") == false then
+ if love.filesystem.getInfo("usermaps") == false then
love.filesystem.createDirectory("usermaps")
end
diff --git a/menu.lua b/menu.lua
index 90f2ead..fb1060e 100644
--- a/menu.lua
+++ b/menu.lua
@@ -84,16 +84,16 @@ function Menu:draw()
love.graphics.draw(self.imgButton, self.quadLeftEdge, v.x, v.y+3, 0, 1, v.height-6)
love.graphics.draw(self.imgButton, self.quadRightEdge, v.x+v.width-3, v.y+3, 0, 1, v.height-6)
- love.graphics.setColor(255, 194, 49, 255)
+ love.graphics.setColor(1, 194/255, 49/255, 1)
love.graphics.rectangle("fill", v.x+3, v.y+3, v.width-6, v.height-6)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
if v.enabled then
- love.graphics.setColor(80, 49, 0, 255)
+ love.graphics.setColor(80/255, 49/255, 0, 1)
else
- love.graphics.setColor(80, 49, 0, 128)
+ love.graphics.setColor(80/255, 49/255, 0, 128/255)
end
love.graphics.printf(v.text, v.x, (v.y+v.height/2-9), v.width, "center")
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1, 1, 1, 1)
elseif v.type == Menu.IMAGE_BUTTON then
love.graphics.draw(v.img, v.quad, v.x, v.y)
end
diff --git a/messageBoxState.lua b/messageBoxState.lua
index cf69535..1062a16 100644
--- a/messageBoxState.lua
+++ b/messageBoxState.lua
@@ -27,11 +27,11 @@ end
function MessageBoxState:draw()
love.graphics.setFont(ResMgr.getFont("menu"))
- love.graphics.setColor(23, 23, 23, 255)
+ love.graphics.setColor(23/255, 23/255, 23/255, 1/255)
love.graphics.rectangle("fill", self.x-25, self.y-25, self.width+50, self.height+50)
- love.graphics.setColor(241, 148, 0, 255)
+ love.graphics.setColor(241/255, 148/255, 0, 1)
love.graphics.rectangle("line", self.x-24.5, self.y-24.5, self.width+50, self.height+50)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
love.graphics.printf(self.message, self.x, self.y, self.width, "center")
end
diff --git a/particles.lua b/particles.lua
index 1376e75..14a68fa 100644
--- a/particles.lua
+++ b/particles.lua
@@ -57,7 +57,7 @@ function BonusTextParticle.create(x,y,text,color)
self.text = text
self.yspeed = 100
self.alive = true
- self.color = color or {255, 255, 255, 255}
+ self.color = color or {1, 1, 1, 100/255}
local number = tonumber(self.text)
if number and number <= 0 then
@@ -81,11 +81,11 @@ function BonusTextParticle:draw()
love.graphics.draw(self.bar, self.x-40, self.y+26)
love.graphics.setFont(ResMgr.getFont("joystix30"))
- love.graphics.setColor(0, 0, 0, 255)
+ love.graphics.setColor(0, 0, 0, 100/255)
love.graphics.printf(self.text, self.x-75, self.y+3, 150, "center")
love.graphics.setColor(self.color)
love.graphics.printf(self.text, self.x-75, self.y, 150, "center")
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 100/255)
end
function BonusTextParticle:getLayer()
diff --git a/pauseGameState.lua b/pauseGameState.lua
index c11a915..1a90ea4 100644
--- a/pauseGameState.lua
+++ b/pauseGameState.lua
@@ -44,9 +44,9 @@ function PauseGameState:update()
end
function PauseGameState:draw()
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
end
function PauseGameState:buttonPressed(id, source)
diff --git a/res/images/fonts/joystix.ttf b/res/fonts/joystix.ttf
similarity index 100%
rename from res/images/fonts/joystix.ttf
rename to res/fonts/joystix.ttf
diff --git a/resmgr.lua b/resmgr.lua
index 22988cf..ece93d4 100644
--- a/resmgr.lua
+++ b/resmgr.lua
@@ -5,26 +5,14 @@ local images = {}
local fonts = {}
local sounds = {}
-local fontString = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.,:+-?!()|x%"
-
local currentSongSource = nil
-function ResMgr.getImage(name)
- local path = "res/images/" .. name
- if images[path] == nil then
- images[path] = love.graphics.newImage(path)
- images[path]:setWrap("repeat", "repeat")
- print("Loaded image: " .. name)
- end
- return images[path]
-end
-
-function ResMgr.loadFonts()
- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
- fonts["joystix30"] = love.graphics.newFont("res/images/fonts/joystix.ttf", 30)
- fonts["joystix40"] = love.graphics.newFont("res/images/fonts/joystix.ttf", 40)
-end
+ function ResMgr.loadFonts()
+-- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
+-- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
+-- fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
+-- fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
+ end
function ResMgr.getFont(name)
return fonts[name]
diff --git a/rules.lua b/rules.lua
index 84483c6..4f6c38d 100644
--- a/rules.lua
+++ b/rules.lua
@@ -60,7 +60,7 @@ function Rules:save()
end
function Rules:load()
- if love.filesystem.exists("rules") then
+ if love.filesystem.getInfo("rules") then
local strdata = love.filesystem.read("rules")
local data = TSerial.unpack(strdata)
diff --git a/saveLevelState.lua b/saveLevelState.lua
index 174ae33..188f6f4 100644
--- a/saveLevelState.lua
+++ b/saveLevelState.lua
@@ -32,11 +32,11 @@ function SaveLevelState.create(parent)
end
function SaveLevelState:draw()
- love.graphics.setColor(23, 23, 23, 255)
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
love.graphics.rectangle("fill", 142, 96, 415, 271)
- love.graphics.setColor(241, 148, 0, 255)
+ love.graphics.setColor(241/255, 148/255, 0, 1)
love.graphics.rectangle("line", 142.5, 96.5, 415, 271)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
end
function SaveLevelState:updateFileList()
diff --git a/selectionList.lua b/selectionList.lua
index a713dfb..0514c69 100644
--- a/selectionList.lua
+++ b/selectionList.lua
@@ -19,8 +19,8 @@ function SelectionList.create(x, y, width, length, spacing, listener)
self.items = {}
self.labels = {}
- self.backgroundColor = {0, 0, 0, 255}
- self.selectionColor = {20, 20, 20, 255}
+ self.backgroundColor = {0, 0, 0, 1}
+ self.selectionColor = {20/255, 20/255, 20/255, 1}
self.imgButton = ResMgr.getImage("selectionlist_buttons.png")
self.quadButtonLeft = love.graphics.newQuad(0, 0, 2, 14, 49, 14)
@@ -35,7 +35,7 @@ end
function SelectionList:draw()
love.graphics.setColor(self.backgroundColor)
love.graphics.rectangle("fill", self.x, self.y+14, self.width, self.height-28)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
-- Draw buttons
love.graphics.draw(self.imgButton, self.quadButtonLeft, self.x, self.y)
@@ -52,11 +52,11 @@ function SelectionList:draw()
end
-- Draw sides
- love.graphics.setColor(255, 194, 49)
+ love.graphics.setColor(1, 194/255, 49/255)
love.graphics.setLineWidth(1)
love.graphics.line(self.x+1, self.y+14, self.x+1, self.y+self.height-14)
love.graphics.line(self.x+self.width, self.y, self.x+self.width, self.y+self.height)
- love.graphics.setColor(255, 255, 255)
+ love.graphics.setColor(1, 1, 1)
love.graphics.setFont(ResMgr.getFont("bold"))
for i=1, self.length do
@@ -66,7 +66,7 @@ function SelectionList:draw()
if index == self.selection then
love.graphics.setColor(self.selectionColor)
love.graphics.rectangle("fill", self.x+1, self.y+(i-1)*self.spacing+14, self.width-2, self.spacing)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
end
love.graphics.print(self.labels[index], self.x+5, self.y+(i-1)*self.spacing+(self.spacing-8)/2+14)
end
diff --git a/textInput.lua b/textInput.lua
index 9f4a2b7..24ac3dc 100644
--- a/textInput.lua
+++ b/textInput.lua
@@ -20,9 +20,9 @@ end
function TextInput:draw()
love.graphics.setColor(self.backgroundColor)
love.graphics.rectangle("fill", self.x, self.y, self.width, self.height)
- love.graphics.setColor(255, 194, 49)
+ love.graphics.setColor(1, 194/255, 49/255)
love.graphics.rectangle("line", self.x+0.5, self.y+0.5, self.width-1, self.height-1)
- love.graphics.setColor(255, 255, 255)
+ love.graphics.setColor(1, 1, 1)
if self.active == true then
love.graphics.print(self.text.."|", self.x+4, self.y+((self.height-8)/2))
From dc4ae044839d624695400059d241e60bd4586373 Mon Sep 17 00:00:00 2001
From: Karim Jerbi <apolius@tuta.io>
Date: Sat, 1 Jun 2019 21:29:55 +0100
Subject: [PATCH 2/4] Further setColor updates ( love api 11)
there is still a need to update color parameter in some functions
---
bot.lua | 4 ++--
confirmBoxState.lua | 6 +++---
countdownState.lua | 8 ++++----
duckBeatState.lua | 14 +++++++-------
escapeState.lua | 4 ++--
eventScoreState.lua | 4 ++--
eventTextState.lua | 8 ++++----
gameOverState.lua | 8 ++++----
ingameState.lua | 10 +++++-----
inputSelectState.lua | 6 +++---
levelSelectionState.lua | 4 ++--
loadLevelState.lua | 6 +++---
main.lua | 4 ++--
selectionList.lua | 4 ++--
14 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/bot.lua b/bot.lua
index 17a84e5..89274a8 100644
--- a/bot.lua
+++ b/bot.lua
@@ -249,7 +249,7 @@ end
function Bot:drawPath()
local colors = {
- {191,49,63}, {56,54,136}, {255,130,46}, {119,56,130}
+ {191/255,49/255,63/255}, {56/255,54/255,136/255}, {1,130/255,46/255}, {119/255,56/255,130/255}
}
love.graphics.setColor(unpack(colors[self.player]))
for i=1, #self.allpath-1 do
@@ -257,7 +257,7 @@ function Bot:drawPath()
local p2 = self.allpath[i+1]
love.graphics.line(p1.x*48+24, p1.y*48+24, p2.x*48+24, p2.y*48+24)
end
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
end
-- Duck Dash
diff --git a/confirmBoxState.lua b/confirmBoxState.lua
index be87d5d..f6be6a1 100644
--- a/confirmBoxState.lua
+++ b/confirmBoxState.lua
@@ -31,11 +31,11 @@ end
function ConfirmBoxState:draw()
love.graphics.setFont(ResMgr.getFont("menu"))
- love.graphics.setColor(23, 23, 23, 255)
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
love.graphics.rectangle("fill", self.x-25, self.y-25, self.width+50, self.height+50)
- love.graphics.setColor(241, 148, 0, 255)
+ love.graphics.setColor(241/255, 148/255, 0, 1)
love.graphics.rectangle("line", self.x-24.5, self.y-24.5, self.width+50, self.height+50)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1, 1, 1, 1)
love.graphics.printf(self.message, self.x, self.y, self.width, "center")
end
diff --git a/countdownState.lua b/countdownState.lua
index eaf17da..a9f2575 100644
--- a/countdownState.lua
+++ b/countdownState.lua
@@ -32,14 +32,14 @@ function CountdownState:draw()
if self.time < 3 then
local quad = math.floor(self.time)
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.draw(self.img, self.quads[quad], (WIDTH-100)/2, 176)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.draw(self.img, self.quads[quad], (WIDTH-100)/2, 168)
else
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.draw(self.img, self.quads[3], (WIDTH-300)/2, 176)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.draw(self.img, self.quads[3], (WIDTH-300)/2, 168)
end
end
diff --git a/duckBeatState.lua b/duckBeatState.lua
index 9087a69..4cff55e 100644
--- a/duckBeatState.lua
+++ b/duckBeatState.lua
@@ -148,10 +148,10 @@ function DuckBeatState:draw()
-- Pulse background to beat
local alpha = 255 - 637.5*self.pulse
- love.graphics.setColor(255,255,255,alpha)
+ love.graphics.setColor(1,1,1,alpha/255)
love.graphics.rectangle("fill", 173, 0, 2, 333)
love.graphics.rectangle("fill", 400, 0, 2, 333)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
-- Draw beats
for i,v in ipairs(self.beats) do
@@ -163,12 +163,12 @@ function DuckBeatState:draw()
if self.flash[i].time > 0 then
local alpha = self.flash[i].time * 128
if self.flash[i].color == DuckBeatState.FLASH_RED then
- love.graphics.setColor(186, 18, 18, alpha)
+ love.graphics.setColor(186/255, 18/255, 18/255, alpha/255)
else
- love.graphics.setColor(84, 177, 33, alpha)
+ love.graphics.setColor(84/255, 177/255, 33/255, alpha/255)
end
love.graphics.rectangle("fill", 181+(i-1)*54, 0, 51, 333)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
end
end
@@ -177,12 +177,12 @@ function DuckBeatState:draw()
love.graphics.scale(4, 4)
love.graphics.setFont(ResMgr.getFont("bold"))
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.print(self.points[1], 12, 19)
love.graphics.print(self.points[2], 12, 58)
love.graphics.print(self.points[3], 113, 19)
love.graphics.print(self.points[4], 113, 58)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.print(self.points[1], 12, 18)
love.graphics.print(self.points[2], 12, 57)
love.graphics.print(self.points[3], 113, 18)
diff --git a/escapeState.lua b/escapeState.lua
index e108dcb..4097073 100644
--- a/escapeState.lua
+++ b/escapeState.lua
@@ -185,10 +185,10 @@ function EscapeState:draw()
love.graphics.draw(self.ducks, self.duck_quads[i], 206+(i-1)*53-self.time*250, 340-self.time*250, -6*self.time, 1+self.time, 1+self.time, 26, 42)
else
if self.time > 1 then
- love.graphics.setColor(255, 255, 255, (2-self.time)*255)
+ love.graphics.setColor(1, 1, 1, (2-self.time))
end
love.graphics.draw(self.ghosts, self.ghost_quads[i], 181+(i-1)*53, 305-self.time*140)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
end
end
end
diff --git a/eventScoreState.lua b/eventScoreState.lua
index b9c2eb8..555b09d 100644
--- a/eventScoreState.lua
+++ b/eventScoreState.lua
@@ -86,9 +86,9 @@ function EventScoreState:draw()
love.graphics.draw(self.duck_dolls, self.duck_quads[i], 274, 97+83*i, val*2, 1+val*8, 1+val*8, 28, 25)
end
if self.time > i*0.2+0.25 then
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.print(math.abs(self.deltas[i+1]), 364, 79+83*i)
- love.graphics.setColor(255, 255,255,255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.print(math.abs(self.deltas[i+1]), 364, 75+83*i)
if self.deltas[i+1] >= 0 then
love.graphics.draw(self.plusminus, self.quad_plus, 320, 80+83*i)
diff --git a/eventTextState.lua b/eventTextState.lua
index b5f9436..3ff2763 100644
--- a/eventTextState.lua
+++ b/eventTextState.lua
@@ -72,16 +72,16 @@ function EventTextState:update(dt)
end
function EventTextState:draw()
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.draw(self.imgBox, 0, self.y)
love.graphics.setFont(self.font)
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.print(self.text, self.offset, self.y+30+4)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1,1,1,1)
love.graphics.print(self.text, self.offset, self.y+30)
end
diff --git a/gameOverState.lua b/gameOverState.lua
index 54ed766..a6cd75d 100644
--- a/gameOverState.lua
+++ b/gameOverState.lua
@@ -84,9 +84,9 @@ function GameOverState:update(dt)
end
function GameOverState:draw()
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.rectangle("fill", 116, 0, WIDTH-116, HEIGHT)
- love.graphics.setColor(255, 255, 255)
+ love.graphics.setColor(1, 1, 1)
if self.state == GameOverState.STATE_BARS then
-- Draw bars
@@ -102,7 +102,7 @@ function GameOverState:draw()
elseif self.state == GameOverState.STATE_GRAPH then
love.graphics.setLineWidth(2)
local colors = {
- {234,73,89}, {76,74,145}, {255,130,46}, {150,75,164}
+ {234/255,73/255,89/255}, {76/255,74/255,145/255}, {1,130/255,46/255}, {150/255,75/255,164/255}
}
for i=1,4 do
for j=0,9 do
@@ -126,7 +126,7 @@ function GameOverState:draw()
love.graphics.rectangle("fill", 600, 390-self.scores[i]/self.maxstat*292, 6,6)
end
end
- love.graphics.setColor(255,255,255)
+ love.graphics.setColor(1,1,1)
end
function GameOverState:buttonPressed(id, source)
diff --git a/ingameState.lua b/ingameState.lua
index 8c530e0..c2d96ac 100644
--- a/ingameState.lua
+++ b/ingameState.lua
@@ -388,23 +388,23 @@ function IngameState:drawHUD()
love.graphics.scale(3, 3)
local timeString = secsToString(self.timeLeft)
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
love.graphics.printf(timeString, 0, 21, 40, "center")
- love.graphics.setColor(0, 0, 0, 255)
+ love.graphics.setColor(0, 0, 0, 1)
love.graphics.printf(timeString, 0, 20, 40, "center")
- love.graphics.setColor(0, 0, 0, 128)
+ love.graphics.setColor(0, 0, 0, 128/255)
for i=1,4 do
love.graphics.print(string.format("%03d", self.score[i]), 8, 18+i*29)
end
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1,1,1,1)
for i=1,4 do
love.graphics.print(string.format("%03d", self.score[i]), 8, 17+i*29)
end
love.graphics.pop()
- love.graphics.setColor(255,255,255)
+ love.graphics.setColor(1,1,1)
end
function IngameState:getInputs()
diff --git a/inputSelectState.lua b/inputSelectState.lua
index 6764356..6a71aa5 100644
--- a/inputSelectState.lua
+++ b/inputSelectState.lua
@@ -44,12 +44,12 @@ function InputSelectState:draw()
local player = 1
local ai = 1
for i=1,4 do
- love.graphics.setColor(23, 23, 23, 255)
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
love.graphics.rectangle("fill", -88+i*150, 66, 126, 32)
- love.graphics.setColor(241, 148, 0, 255)
+ love.graphics.setColor(241/255, 148/255, 0, 1)
love.graphics.rectangle("line", -87.5+i*150, 66.5, 126, 32)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1,1,1,1)
if self.inputs[i] then
love.graphics.printf("PLAYER "..player, -100+i*150, 73, 150, "center")
diff --git a/levelSelectionState.lua b/levelSelectionState.lua
index 653a4ad..b7a75a1 100644
--- a/levelSelectionState.lua
+++ b/levelSelectionState.lua
@@ -46,9 +46,9 @@ function LevelSelectionState:draw()
love.graphics.setColor(0, 0, 0)
love.graphics.rectangle("fill", WIDTH/2, 62, 297, 228)
- love.graphics.setColor(255, 194, 49)
+ love.graphics.setColor(1, 194/255, 49/255)
love.graphics.rectangle("line", WIDTH/2+0.5, 62.5, 297, 228)
- love.graphics.setColor(255,255,255)
+ love.graphics.setColor(1,1,1)
love.graphics.draw(self.imgBlueprint, WIDTH/2+8, 70)
love.graphics.draw(self.batch, WIDTH/2+11, 73)
diff --git a/loadLevelState.lua b/loadLevelState.lua
index 3b078e8..38bd8f6 100644
--- a/loadLevelState.lua
+++ b/loadLevelState.lua
@@ -32,12 +32,12 @@ function LoadLevelState.create(parent, map)
end
function LoadLevelState:draw()
- love.graphics.setColor(23, 23, 23, 255)
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
love.graphics.rectangle("fill", 142, 96, 415, 271)
- love.graphics.setColor(241, 148, 0, 255)
+ love.graphics.setColor(241/255, 148/255, 0, 1)
love.graphics.rectangle("line", 142.5, 96.5, 415, 271)
- love.graphics.setColor(255, 255, 255, 255)
+ love.graphics.setColor(1,1,1,1)
end
function LoadLevelState:updateFileList()
diff --git a/main.lua b/main.lua
index 16bcf1b..b14d2fa 100644
--- a/main.lua
+++ b/main.lua
@@ -75,9 +75,9 @@ function love.draw()
stateStack:peek(i):baseDraw()
end
if not focus then
- love.graphics.setColor(0,0,0,128)
+ love.graphics.setColor(0,0,0,128/255)
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
- love.graphics.setColor(255,255,255,255)
+ love.graphics.setColor(1,1,1,1)
end
end
diff --git a/selectionList.lua b/selectionList.lua
index 0514c69..01c49a7 100644
--- a/selectionList.lua
+++ b/selectionList.lua
@@ -111,11 +111,11 @@ function SelectionList:getText()
end
function SelectionList:setBackgroundColor(r,g,b,a)
- self.backgroundColor = {r,g,b,a}
+ self.backgroundColor = {r/255,g/255,b/255,a/255}
end
function SelectionList:setSelectionColor(r, g, b, a)
- self.selectionColor = {r,g,b,a}
+ self.selectionColor = {r/255,g/255,b/255,a/255}
end
function SelectionList:setSelection(index)
From 8e1f5c499ebcd445bfe7ad5e0af139314dfd10ec Mon Sep 17 00:00:00 2001
From: Karim Jerbi <apolius@tuta.io>
Date: Sun, 2 Jun 2019 01:02:55 +0100
Subject: [PATCH 3/4] Fixed font issue
---
conf.lua | 2 +-
levelSelectionState.lua | 2 +-
resmgr.lua | 28 ++++++++++++++++++++--------
slam.lua | 4 ++--
4 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/conf.lua b/conf.lua
index 00aa34f..748e20e 100644
--- a/conf.lua
+++ b/conf.lua
@@ -1,6 +1,6 @@
function love.conf(t)
t.identity = "duckmarines"
- -- t.version = "0.10.0"
+ t.version = "11.2"
t.console = false
t.window.title = "Duck Marines"
diff --git a/levelSelectionState.lua b/levelSelectionState.lua
index b7a75a1..f4c18af 100644
--- a/levelSelectionState.lua
+++ b/levelSelectionState.lua
@@ -53,7 +53,7 @@ function LevelSelectionState:draw()
love.graphics.draw(self.imgBlueprint, WIDTH/2+8, 70)
love.graphics.draw(self.batch, WIDTH/2+11, 73)
love.graphics.draw(self.imgDogear, WIDTH/2+265, 70)
- love.graphics.setBlendMode("multiply")
+ love.graphics.setBlendMode("multiply","premultiplied")
love.graphics.draw(self.imgTexture, WIDTH/2+11, 73)
love.graphics.setBlendMode("alpha")
end
diff --git a/resmgr.lua b/resmgr.lua
index ece93d4..c80e4b2 100644
--- a/resmgr.lua
+++ b/resmgr.lua
@@ -5,14 +5,26 @@ local images = {}
local fonts = {}
local sounds = {}
+local fontString = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.,:+-?!()|x%"
+
local currentSongSource = nil
- function ResMgr.loadFonts()
--- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
--- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
--- fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
--- fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
- end
+function ResMgr.getImage(name)
+ local path = "res/images/" .. name
+ if images[path] == nil then
+ images[path] = love.graphics.newImage(path)
+ images[path]:setWrap("repeat", "repeat")
+ print("Loaded image: " .. name)
+ end
+ return images[path]
+end
+
+function ResMgr.loadFonts()
+ fonts["bold"] = love.graphics.newImageFont("res/images/fonts/bold.png", fontString, 2)
+ fonts["menu"] = love.graphics.newImageFont("res/images/fonts/menu.png", fontString)
+ fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
+ fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
+end
function ResMgr.getFont(name)
return fonts[name]
@@ -37,7 +49,7 @@ function playMusic(name)
stopMusic()
local path = "res/music/" .. name
- if love.filesystem.exists(path) == false then return end
+ if love.filesystem.getInfo(path) == nil then return end
local source = love.audio.newSource("res/music/" .. name, "stream")
source:setLooping(true)
@@ -59,4 +71,4 @@ function updateVolume()
love.audio.tags.sfx.setVolume(config.sound_volume/5)
end
-return ResMgr
+return ResMgr
\ No newline at end of file
diff --git a/slam.lua b/slam.lua
index 79c4879..e61d5bc 100644
--- a/slam.lua
+++ b/slam.lua
@@ -1,4 +1,4 @@
--- Simple LÖVE Audio Manager
+-- Simple L�VE Audio Manager
--
-- Copyright (c) 2011 Matthias Richter
-- Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -97,7 +97,7 @@ end
function Source:resume()
if not self._paused then return end
for s in pairs(self.instances) do
- s:resume()
+ s:play()
end
self._paused = false
end
From 0342d9d02cb0dc86df480dec4766fa25b34fe0d5 Mon Sep 17 00:00:00 2001
From: Karim Jerbi <apolius@tuta.io>
Date: Sun, 2 Jun 2019 01:17:33 +0100
Subject: [PATCH 4/4] Further getInfo updates
---
configuration.lua | 2 +-
loadLevelState.lua | 4 ++--
main.lua | 2 +-
rules.lua | 2 +-
saveLevelState.lua | 4 ++--
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configuration.lua b/configuration.lua
index f2c12a2..51e576d 100644
--- a/configuration.lua
+++ b/configuration.lua
@@ -24,7 +24,7 @@ function Config:save()
end
function Config:load()
- if love.filesystem.getInfo("config") then
+ if love.filesystem.getInfo("config") ~= nil then
local strdata = love.filesystem.read("config")
local data = TSerial.unpack(strdata)
diff --git a/loadLevelState.lua b/loadLevelState.lua
index 38bd8f6..361e71e 100644
--- a/loadLevelState.lua
+++ b/loadLevelState.lua
@@ -58,7 +58,7 @@ end
function LoadLevelState:buttonPressed(id, source)
if id == "Load" then
playSound("quack")
- if love.filesystem.exists(self:getFilename()) then
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
self.parent.map = Map.create(self:getFilename())
self.parent.map:updateSpriteBatch(true)
love.timer.sleep(0.25)
@@ -69,7 +69,7 @@ function LoadLevelState:buttonPressed(id, source)
end
elseif id == "delete" then
playSound("quack")
- if love.filesystem.exists(self:getFilename()) then
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
pushState(
ConfirmBoxState.create(self,
"ARE YOU SURE YOU WANT TO DELETE " .. self.input:getText():upper() .. "?",
diff --git a/main.lua b/main.lua
index b14d2fa..de6d61e 100644
--- a/main.lua
+++ b/main.lua
@@ -25,7 +25,7 @@ rules = nil
function love.load()
-- Setup user data
- if love.filesystem.getInfo("usermaps") == false then
+ if love.filesystem.getInfo("usermaps") == nil then
love.filesystem.createDirectory("usermaps")
end
diff --git a/rules.lua b/rules.lua
index 4f6c38d..5f203aa 100644
--- a/rules.lua
+++ b/rules.lua
@@ -60,7 +60,7 @@ function Rules:save()
end
function Rules:load()
- if love.filesystem.getInfo("rules") then
+ if love.filesystem.getInfo("rules") ~= nil then
local strdata = love.filesystem.read("rules")
local data = TSerial.unpack(strdata)
diff --git a/saveLevelState.lua b/saveLevelState.lua
index 188f6f4..c9d3733 100644
--- a/saveLevelState.lua
+++ b/saveLevelState.lua
@@ -57,7 +57,7 @@ end
function SaveLevelState:buttonPressed(id, source)
if id == "save" then
playSound("quack")
- if love.filesystem.exists(self:getFilename()) then
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
pushState(ConfirmBoxState.create(self,
"OVERWRITE " .. self.input:getText():upper() .. "?",
function()
@@ -75,7 +75,7 @@ function SaveLevelState:buttonPressed(id, source)
end
elseif id == "delete" then
playSound("quack")
- if love.filesystem.exists(self:getFilename()) then
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
pushState(
ConfirmBoxState.create(self,
"ARE YOU SURE YOU WANT TO DELETE " .. self.input:getText():upper() .. "?",
@@ -1,11 +1,14 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
love,
lua,
makeWrapper,
makeDesktopItem,
strip-nondeterminism,
zip,
}:
stdenv.mkDerivation rec {
@@ -27,24 +30,40 @@ stdenv.mkDerivation rec {
categories = [ "Game" ];
};
src = fetchurl {
url = "https://github.com/SimonLarsen/duckmarines/releases/download/v${version}/duckmarines-1.0c.love";
sha256 = "1rvgpkvi4h9zhc4fwb4knhsa789yjcx4a14fi4vqfdyybhvg5sh9";
src = fetchFromGitHub {
owner = "SimonLarsen";
repo = "duckmarines";
tag = "v${version}";
hash = "sha256-0WzqYbK18IL8VY7NsVONwJCI5+me5SPulfkkLCifLvY=";
};
nativeBuildInputs = [ makeWrapper ];
patches = [
# https://github.com/SimonLarsen/duckmarines/pull/18
./love-11-support.patch
];
nativeBuildInputs = [
makeWrapper
strip-nondeterminism
zip
];
buildInputs = [
lua
love
];
dontUnpack = true;
buildPhase = ''
runHook preBuild
zip -9 -r duckmarines.love ./*
strip-nondeterminism --type zip duckmarines.love
runHook postBuild
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/games/lovegames
cp -v ${src} $out/share/games/lovegames/duckmarines.love
cp -v duckmarines.love $out/share/games/lovegames/duckmarines.love
makeWrapper ${love}/bin/love $out/bin/duckmarines --add-flags $out/share/games/lovegames/duckmarines.love
@@ -57,7 +76,20 @@ stdenv.mkDerivation rec {
description = "Duck-themed action puzzle video game";
platforms = lib.platforms.linux;
hydraPlatforms = [ ];
license = lib.licenses.free;
license = with lib.licenses; [
# code
zlib
# assets
cc-by-sa-40
cc-by-nc-nd-40
# slam
mit
# tserial
unfree
];
downloadPage = "http://tangramgames.dk/games/duckmarines";
};
+2 -2
View File
@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "eigenwallet";
version = "3.6.1";
version = "3.6.3";
src = fetchurl {
url = "https://github.com/eigenwallet/core/releases/download/${finalAttrs.version}/eigenwallet_${finalAttrs.version}_amd64.deb";
hash = "sha256-L0JNKbirnZSVNNhEzSpwq5JstfpSGSo5E83zmxoOuXU=";
hash = "sha256-3lgHMkiwbE7P72sZZ9pcxdaN3/X8XDq3uNcaj/IV+v8=";
};
nativeBuildInputs = [
@@ -8,13 +8,13 @@
stdenv.mkDerivation (self: {
pname = "emmy-lua-code-style";
version = "1.5.7";
version = "1.6.0";
src = fetchFromGitHub {
owner = "CppCXY";
repo = "EmmyLuaCodeStyle";
tag = self.version;
hash = "sha256-Lzh4ruyrWRTwU95iTMQozpLT5w92owHsDQM874XIuOg=";
hash = "sha256-FYtDO9ZL7MjC+vHzrylyYBQHTtef/GM9ipt//EcLr4w=";
};
nativeBuildInputs = [ cmake ];
+3 -3
View File
@@ -7,18 +7,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "emmylua_check";
version = "0.18.0";
version = "0.19.0";
src = fetchFromGitHub {
owner = "EmmyLuaLs";
repo = "emmylua-analyzer-rust";
tag = finalAttrs.version;
hash = "sha256-JXe+I0CViJAXOnWzilYpjWquYFzZGIP5y6HS6KosYPU=";
hash = "sha256-bdvJInMuWJq7MZa+4wrKBn0myLTHCayhDAhB8Stjp6A=";
};
buildAndTestSubdir = "crates/emmylua_check";
cargoHash = "sha256-UVuXeGmSvAwHs/U0s/mByiZCwa2refz1l8eJvcCoagk=";
cargoHash = "sha256-bF6bdTbcHDecj+wVoNsaKBzsz96d3vo6cqp5MjSbT4E=";
nativeInstallCheckInputs = [
versionCheckHook
+5 -5
View File
@@ -8,11 +8,11 @@
}:
let
version = "3.5.25";
etcdSrcHash = "sha256-7fCvlp/EG1SofsLC8il/twjg0rEaB/lhz6dnUxgLXik=";
etcdServerVendorHash = "sha256-R78j1BTuY3ORQiMnm2kWJGnK4jJi7am4x0udW4jjcCE=";
etcdUtlVendorHash = "sha256-J+/QgRAU1uk9LXdW8b6AhitFlxx/QU7IkJ+5Jez9MkM=";
etcdCtlVendorHash = "sha256-IiggECH1iFkb51MTeFSFnVbVVDUR1KgsQcbxz9IR4c4=";
version = "3.5.26";
etcdSrcHash = "sha256-bEWswJM7r6Kxy9im/TkXkEQN5tEIvQK6Azd7LbIVwYA=";
etcdServerVendorHash = "sha256-pwVAy8wQXBGE0MqE3v7OLukwcKIQhEW3BjwPdSMtAYM=";
etcdUtlVendorHash = "sha256-dIxu7MUG5Yk3+DkCgfsGEmpyEklqvyz7wpWylHTDIkQ=";
etcdCtlVendorHash = "sha256-NJ1jc/0J5+GUxu1r1g9t6pnlHjx3CnmBe5NR+qWK7Dc=";
src = fetchFromGitHub {
owner = "etcd-io";
+5 -5
View File
@@ -11,11 +11,11 @@
}:
let
version = "3.6.6";
etcdSrcHash = "sha256-MFkO2Rv38TQeREJ3zHgRdj3thnMK0ci3laEjn4CaXHs=";
etcdCtlVendorHash = "sha256-VxR/pPS/HR4EBPJJmQin7XqS5MvWreJe2dlOpQn3pqY=";
etcdUtlVendorHash = "sha256-xxq9t47985fA9fDvaanq2sPgUDZJDT2w46zp3pggryo=";
etcdServerVendorHash = "sha256-0uPIw2T9ZrR92MBB1xBBfbqXQUVg6sNDu8F5m1C+lEQ=";
version = "3.6.7";
etcdSrcHash = "sha256-i8VZlK76OQQeojKHo9sdkyNR0Hdiofx0TLUDWKiXOTU=";
etcdCtlVendorHash = "sha256-jN+oNoIxNYM2Wm3s+/zDyacyXxVWaHl9t7sot8PL9xk=";
etcdUtlVendorHash = "sha256-A2rYstzlBlS3ta5yJVP/RTjgBz+9Y0I79ITr77GrqOo=";
etcdServerVendorHash = "sha256-hUFUcoXaOKTkoJ7YUwljpg7EZRhXi5tXcE2bteVRBE0=";
src = applyPatches {
src = fetchFromGitHub {
+6 -4
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchgit,
fetchFromGitLab,
autoreconfHook,
pkg-config,
libxml2,
@@ -17,9 +17,11 @@ stdenv.mkDerivation rec {
];
buildInputs = [ libxml2 ];
src = fetchgit {
url = "git://anongit.freedesktop.org/${pname}";
rev = "refs/tags/${pname}-${version}";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libevdev";
repo = "evtest";
tag = "evtest-${version}";
sha256 = "sha256-M7AGcHklErfRIOu64+OU397OFuqkAn4dqZxx7sDfklc=";
};
+8 -9
View File
@@ -14,13 +14,13 @@
}:
let
pname = "feishin";
version = "0.22.0";
version = "1.0.2";
src = fetchFromGitHub {
owner = "jeffvli";
repo = "feishin";
tag = "v${version}";
hash = "sha256-sRP89xgCl49WZ7A6KaQd/vJTIDvAfZuhRbL3mcBBnIg=";
hash = "sha256-otobV3bpANbhrAiscDxV1IGJ36i/37aPei6wdo5SDSw=";
};
electron = electron_38;
@@ -40,7 +40,7 @@ buildNpmPackage {
src
;
fetcherVersion = 2;
hash = "sha256-CpgiVKwqEjnRJ9Pinj7uSXy4llbdRrS9Vo0Tyge3+KQ=";
hash = "sha256-iZs2YtB0U8RpZXrIYHBc/cgFISDF/4tz+D13/+HlszU=";
};
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@@ -55,10 +55,6 @@ buildNpmPackage {
# release/app dependencies are installed on preConfigure
substituteInPlace package.json \
--replace-fail '"postinstall": "electron-builder install-app-deps",' ""
# Don't check for updates.
substituteInPlace src/main/index.ts \
--replace-fail "autoUpdater.checkForUpdatesAndNotify();" ""
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# https://github.com/electron/electron/issues/31121
@@ -100,7 +96,8 @@ buildNpmPackage {
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/{Applications,bin}
cp -r dist/**/Feishin.app $out/Applications/
makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin
makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin \
--set DISABLE_AUTO_UPDATES 1
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/share/feishin
@@ -115,7 +112,8 @@ buildNpmPackage {
makeWrapper ${lib.getExe electron} $out/bin/feishin \
--add-flags $out/share/feishin/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--set ELECTRON_FORCE_IS_PACKAGED=1 \
--set ELECTRON_FORCE_IS_PACKAGED 1 \
--set DISABLE_AUTO_UPDATES 1 \
--inherit-argv0
for size in 32 64 128 256 512 1024; do
@@ -155,6 +153,7 @@ buildNpmPackage {
platforms = lib.platforms.unix;
mainProgram = "feishin";
maintainers = with lib.maintainers; [
BatteredBunny
onny
jlbribeiro
];
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "fingerprintx";
version = "1.1.15";
version = "1.1.16";
src = fetchFromGitHub {
owner = "praetorian-inc";
repo = "fingerprintx";
tag = "v${version}";
hash = "sha256-kbSP/nSdCrcEYVvLVawjZ2RDvTGv5JsHEIXXcPLA1ng=";
hash = "sha256-U6QHSvZKgFwRkbWXpHMJZQyXG68DYyl5zXA+Y7eQp8Y=";
};
vendorHash = "sha256-1KSNvK2ylqWjfhxMY+NQFoDahPgqGb12nA4oGqqoFIA=";
@@ -1,21 +1,21 @@
{
"version": "12.8.3",
"version": "12.9.2",
"sources": {
"aarch64-linux": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-linux-aarch64.tar.xz",
"sha256": "853acf48337d439de99bc29f3a29f20299de948d58c85de6f99ced2b78a2a83d"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-linux-aarch64.tar.xz",
"sha256": "6a9f3a23401045bdacfcee26ff5bdd95a5f2bbd21eb08601a98e18b09df04fb5"
},
"x86_64-linux": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-linux-x86_64.tar.xz",
"sha256": "0e6642c8584fdcde953d347739eb87cab2e6bdc7d46571de2ec9ff4d3bbe235d"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-linux-x86_64.tar.xz",
"sha256": "c73cd19566b8c4d80cdd01ae8d76bbc8198b210027fbd590e250dc7ab1252032"
},
"aarch64-darwin": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-macOS-universal.dmg",
"sha256": "a4718b942d63a3355f31f25a59059a67b7f99b5041f3ea9d63243dd3600c0c77"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-macOS-universal.dmg",
"sha256": "cc27a9cd3eff0679ab916666583e2aed1fb882f0f4ea66676a133532cc8d5611"
},
"x86_64-darwin": {
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-macOS-universal.dmg",
"sha256": "a4718b942d63a3355f31f25a59059a67b7f99b5041f3ea9d63243dd3600c0c77"
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-macOS-universal.dmg",
"sha256": "cc27a9cd3eff0679ab916666583e2aed1fb882f0f4ea66676a133532cc8d5611"
}
}
}
+5 -3
View File
@@ -9,16 +9,16 @@
}:
buildGoModule (finalAttrs: {
pname = "fluxcd-operator";
version = "0.23.0";
version = "0.38.1";
src = fetchFromGitHub {
owner = "controlplaneio-fluxcd";
repo = "fluxcd-operator";
tag = "v${finalAttrs.version}";
hash = "sha256-pNJPP49yAZ5guo6fYRkICxuY5Hz6eaF6xmuoLx/CBHo=";
hash = "sha256-thSUS3OQecOSaC6e5o1yRuI7FAyy/wZEvp+tIdJrtSo=";
};
vendorHash = "sha256-tTers8A4x8hS43/NIG2LH3mTWlGTkLBIPPk05mINsWg=";
vendorHash = "sha256-Z5oKy9u/aqxoEiyDJWBBoUS5WJYWcfh77kK5wyl/pdc=";
ldflags = [
"-s"
@@ -28,6 +28,8 @@ buildGoModule (finalAttrs: {
subPackages = [ "cmd/cli" ];
doCheck = false;
nativeBuildInputs = [ installShellFiles ];
nativeInstallCheckInputs = [ versionCheckHook ];
+3 -3
View File
@@ -11,16 +11,16 @@
}:
buildGoModule (finalAttrs: {
pname = "foxglove-cli";
version = "1.0.28";
version = "1.0.29";
src = fetchFromGitHub {
owner = "foxglove";
repo = "foxglove-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-LfBcbScb+LxWr3+WJ5Y7Gbup+l3me9PHB/QdFu5tB60=";
hash = "sha256-VPL6WdolcdymPWgsyBaISGDT8tkAJa6lH073D5dZI3Y=";
};
vendorHash = "sha256-GjgDRFzW4zqVooHx9WEgWkcnZ+zQsr09OuZxtc9rZD4=";
vendorHash = "sha256-nRd9d3LJIrWoO+CQdbWLs249rOYmzfIf4u6x5dBDA2Y=";
env.CGO_ENABLED = 0;
tags = [ "netgo" ];
+3 -3
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation {
pname = "gf";
version = "0-unstable-2025-11-09";
version = "0-unstable-2025-12-25";
src = fetchFromGitHub {
repo = "gf";
owner = "nakst";
rev = "64e7ece68a61d90db0dcc11a6d6eecab04af8561";
hash = "sha256-BvPgBJ/2pEoe4hIgqYi5JXI0ihOJkc/pXAJK/Kf9lVg=";
rev = "a8c0fb67756c043d63832c008e3ad12132b121cb";
hash = "sha256-OJE51lVkHWAgo7u/SX46s3pzQBeMW3zViiXJnB86bpo=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.20.4";
version = "1.20.6";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-RPt353Rwahr9a4xodm//4TZGNuHPGOF/GurxchI2y7s=";
hash = "sha256-B3Hbj9T2ZefH9c/Zlgi7odInuIH96tFtyhrQLIiZPpU=";
};
vendorHash = "sha256-zJmp3UWzZSI7G54DTOEOEo2ZIKjM6GZ0Cf5/BukaB4o=";
+3 -3
View File
@@ -8,13 +8,13 @@
}:
let
version = "1.8.2";
version = "1.8.3";
src = fetchFromGitHub {
owner = "GopeedLab";
repo = "gopeed";
tag = "v${version}";
hash = "sha256-KezASQIqyu4GsKaGAhge7gEYMe57GMgzjXlAbmyDI3Y=";
hash = "sha256-ze0hoTR3e3Wrgtv2FlM81faXmij61NEcPLzO4WDXIak=";
};
metaCommon = {
@@ -29,7 +29,7 @@ let
inherit version src;
pname = "libgopeed";
vendorHash = "sha256-x9M9zwS5FhsIyGGBi0szWHMfLXCFVgqv8bfSxhHZT2Y=";
vendorHash = "sha256-rIj4T+NEqWla6/+ofosTwagL4/VMovDp1NEYMuzbOrQ=";
buildPhase = ''
runHook preBuild
+53 -14
View File
@@ -16,13 +16,29 @@
gpart,
hdparm,
procps,
util-linuxMinimal,
polkit,
wrapGAppsHook3,
replaceVars,
mtools,
dosfstools,
xhost,
dosfstools,
e2fsprogs,
util-linuxMinimal,
withAllTools ? false,
bcachefs-tools,
btrfs-progs,
exfatprogs,
f2fs-tools,
hfsprogs,
jfsutils,
cryptsetup,
lvm2,
nilfs-utils,
ntfs3g,
reiserfsprogs,
udftools,
xfsprogs,
xfsdump,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -65,6 +81,28 @@ stdenv.mkDerivation (finalAttrs: {
wrapGAppsHook3
];
runtimeDeps = [
dosfstools
e2fsprogs
util-linuxMinimal
]
++ lib.optionals withAllTools [
bcachefs-tools
btrfs-progs
exfatprogs
f2fs-tools
hfsprogs
jfsutils
cryptsetup
lvm2
nilfs-utils
ntfs3g
reiserfsprogs
udftools
xfsprogs
xfsdump
];
preConfigure = ''
# For ITS rules
addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
@@ -73,18 +111,19 @@ stdenv.mkDerivation (finalAttrs: {
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${
lib.makeBinPath [
gpart
hdparm
util-linuxMinimal
procps
coreutils
gnused
gnugrep
mtools
dosfstools
xhost
]
lib.makeBinPath (
[
gpart
hdparm
procps
coreutils
gnused
gnugrep
mtools
xhost
]
++ finalAttrs.runtimeDeps
)
}"
)
'';
@@ -24,12 +24,12 @@
stdenv.mkDerivation rec {
pname = "gpu-screen-recorder-gtk";
version = "5.7.8";
version = "5.7.9";
src = fetchgit {
url = "https://repo.dec05eba.com/${pname}";
tag = version;
hash = "sha256-Vzi7IfiMsBFJZaZwC1CWZkVFCfDAfU0lmO7orRLjqgU=";
hash = "sha256-RFY5hQqv5XkLliB3+YJX4TXLxV9y1/P8PIYMi6MCbww=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "grpc-gateway";
version = "2.27.3";
version = "2.27.4";
src = fetchFromGitHub {
owner = "grpc-ecosystem";
repo = "grpc-gateway";
tag = "v${version}";
sha256 = "sha256-NXcfr/+VZnYlK5A/RuTboB33WadoutG7GnACfrWBvwg=";
sha256 = "sha256-4bhEQTVV04EyX/qJGNMIAQDcMWcDVr1tFkEjBHpc2CA=";
};
vendorHash = "sha256-EgFB5ADytn9h8P2CrM9mr5siX5G4+8HGyWt/upp3yHg=";
vendorHash = "sha256-ohZW/uPdt08Y2EpIQ2yeyGSjV9O58+QbQQqYrs6O8/g=";
ldflags = [
"-X=main.version=${version}"
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "grpc-health-probe";
version = "0.4.42";
version = "0.4.43";
src = fetchFromGitHub {
owner = "grpc-ecosystem";
repo = "grpc-health-probe";
rev = "v${finalAttrs.version}";
hash = "sha256-/7Xxti2QOClWRo6EwHRb369+x/NeT6LHhDDyIJSHv00=";
hash = "sha256-xmNqo+Wa/58944v52MAtFCy9G0LJVIn/XGG7JYqcCvM=";
};
tags = [
@@ -25,7 +25,7 @@ buildGoModule (finalAttrs: {
"-X main.versionTag=${finalAttrs.version}"
];
vendorHash = "sha256-9NDSkfHUa6xfLByjtuDMir2UM5flaKhD6jZDa71D+0w=";
vendorHash = "sha256-WGY4vj1a+sOKKmuY+1RD/GPOKIUunfdBor0xG64IJY8=";
nativeInstallCheckInputs = [
versionCheckHook
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "gtree";
version = "1.13.1";
version = "1.13.2";
src = fetchFromGitHub {
owner = "ddddddO";
repo = "gtree";
rev = "v${version}";
hash = "sha256-+Prv0TtyqE02DHbYwooy8OWQn4C82Lyfikd+l0YEHZc=";
hash = "sha256-CTAUyFkIKk2WnZWVtIG6tZfjNT445DBDgeh5gTb4q6k=";
};
vendorHash = "sha256-0St9T9xJ8lOZgBUtwfzrHqSpcv6SAoxy4PNBBuuNO+A=";
vendorHash = "sha256-LWsJWh7LYkB5IWJaNJsy+K2xYNiw4mGy/YGT42at5C0=";
subPackages = [
"cmd/gtree"
+3 -3
View File
@@ -19,14 +19,14 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
version = "0-unstable-2025-12-19";
version = "0-unstable-2025-12-25";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
rev = "bb35f07cc95a73aacbaf1f7f46bb8a3f40f265b5";
hash = "sha256-47Ee0bTidhF/3/sHuYnWRuxcCrrm0mBNDxBkOTd3wWQ=";
rev = "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2";
hash = "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=";
};
nativeBuildInputs = [
+5 -5
View File
@@ -1,7 +1,7 @@
{
"branch": "v0.52.2-b",
"commit_hash": "386376400119dd46a767c9f8c8791fd22c7b6e61",
"commit_message": "[gha] Nix: update inputs",
"date": "2025-12-03",
"tag": "v0.52.2"
"branch": "main",
"commit_hash": "ea444c35bb23b6e34505ab6753e069de7801cc25",
"commit_message": "version: bump to 0.53.0",
"date": "2025-12-29",
"tag": "v0.53.0"
}
+6 -3
View File
@@ -19,6 +19,7 @@
hyprland-qtutils,
hyprlang,
hyprutils,
hyprwire,
hyprwayland-scanner,
libGL,
libdrm,
@@ -91,14 +92,14 @@ assert assertMsg (
customStdenv.mkDerivation (finalAttrs: {
pname = "hyprland" + optionalString debug "-debug";
version = "0.52.2";
version = "0.53.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland";
fetchSubmodules = true;
tag = "v${finalAttrs.version}";
hash = "sha256-R2Hm7XbW8CTLEIeYCAlSQ3U5bFhn76FC17hEy/ws8EM=";
hash = "sha256-1jZK7hqNhQRqhj+2eb/JvnBoARxUgoVXKLSwp2RPmNQ=";
};
postPatch = ''
@@ -107,6 +108,7 @@ customStdenv.mkDerivation (finalAttrs: {
# Remove extra @PREFIX@ to fix pkg-config paths
sed -i "s#@PREFIX@/##g" hyprland.pc.in
sed -i "s#@PREFIX@/##g" example/hyprland.desktop.in
'';
# variables used by CMake, and shown in `hyprctl version`
@@ -127,6 +129,7 @@ customStdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
hyprwayland-scanner
hyprwire
makeWrapper
cmake
# meson + ninja are used to build the hyprland-protocols submodule
@@ -187,13 +190,13 @@ customStdenv.mkDerivation (finalAttrs: {
strictDeps = true;
cmakeFlags = mapAttrsToList cmakeBool {
"BUILT_WITH_NIX" = true;
"NO_XWAYLAND" = !enableXWayland;
"NO_SYSTEMD" = !withSystemd;
"CMAKE_DISABLE_PRECOMPILE_HEADERS" = true;
"NO_UWSM" = true;
"NO_HYPRPM" = true;
"TRACY_ENABLE" = false;
"BUILD_HYPRTESTER" = true;
};
postInstall = ''
@@ -0,0 +1,43 @@
{
stdenv,
lib,
cmake,
fetchFromGitHub,
imgui,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "imgui-file-dialog";
version = "0.6.8";
src = fetchFromGitHub {
owner = "aiekick";
repo = "ImGuiFileDialog";
tag = "v${version}";
hash = "sha256-v5ROW4o4of3tUGMN/p/CNH1eWT+RNRlWvhI84HUMEGo=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ imgui ];
# Propagate imgui so users can find the headers (ImGuiFileDialog.h includes imgui.h)
propagatedBuildInputs = [ imgui ];
outputs = [
"out"
"dev"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Full featured file dialog for Dear ImGui";
homepage = "https://github.com/aiekick/ImGuiFileDialog";
changelog = "https://github.com/aiekick/ImGuiFileDialog/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ZZBaron ];
platforms = lib.platforms.all;
};
}
+10 -11
View File
@@ -20,22 +20,21 @@
fmt_11,
nlohmann_json,
yara,
rsync,
nix-update-script,
autoPatchelfHook,
makeWrapper,
}:
let
version = "1.37.4";
patterns_version = "1.37.4";
version = "1.38.1";
patterns_version = "1.38.1";
patterns_src = fetchFromGitHub {
name = "ImHex-Patterns-source-${patterns_version}";
owner = "WerWolv";
repo = "ImHex-Patterns";
tag = "ImHex-v${patterns_version}";
hash = "sha256-2NgMYaG6+XKp0fIHAn3vAcoXXa3EF4HV01nI+t1IL1U=";
hash = "sha256-MqQHzR5lKWhQI6pIX1kbAPDVG18UrMJM45mtIe/ggJE=";
};
in
@@ -49,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "WerWolv";
repo = "ImHex";
tag = "v${finalAttrs.version}";
hash = "sha256-uenwAaIjtBzrtiLdy6fh5TxtbWtUJbtybNOLP3+8blA=";
hash = "sha256-lkpFiXuEF72nBkPuInv683Ct1Uu+uZ0PGejI9cVEUp0=";
};
strictDeps = true;
@@ -60,7 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
python3
perl
pkg-config
rsync
makeWrapper
]
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
@@ -78,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
mbedtls
nlohmann_json
yara
llvm
];
# autoPatchelfHook only searches for *.so and *.so.*, and won't find *.hexpluglib
@@ -104,17 +103,18 @@ stdenv.mkDerivation (finalAttrs: {
env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
# Comment out fixup_bundle in PostprocessBundle.cmake as we are not building a standalone application
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
postPatch = ''
# Link patterns source into location expected by cmake when IMHEX_OFFLINE_BUILD is set
ln -s ${patterns_src} ImHex-Patterns
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace cmake/modules/PostprocessBundle.cmake \
--replace-fail "fixup_bundle" "#fixup_bundle"
'';
# rsync is used here so we can not copy the _schema.json files
postInstall =
if stdenv.hostPlatform.isLinux then
''
mkdir -p $out/share/imhex
rsync -av --exclude="*_schema.json" ${patterns_src}/{constants,encodings,includes,magic,nodes,patterns} $out/share/imhex
# without this imhex is not able to find pattern files
wrapProgram $out/bin/imhex --prefix XDG_DATA_DIRS : $out/share
''
@@ -122,7 +122,6 @@ stdenv.mkDerivation (finalAttrs: {
''
mkdir -p $out/Applications
mv $out/imhex.app $out/Applications
rsync -av --exclude="*_schema.json" ${patterns_src}/{constants,encodings,includes,magic,nodes,patterns} "$out/Applications/imhex.app/Contents/MacOS"
install_name_tool \
-change "$out/lib/libimhex.${finalAttrs.version}${stdenv.hostPlatform.extensions.sharedLibrary}" \
"@executable_path/../Frameworks/libimhex.${finalAttrs.version}${stdenv.hostPlatform.extensions.sharedLibrary}" \
+3 -3
View File
@@ -5,16 +5,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "impala";
version = "0.4.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "pythops";
repo = "impala";
rev = "v${version}";
hash = "sha256-CRnGycN2juXXNI1LhAH5HQbmXYatBZ0GxYKYgb5SBSE=";
hash = "sha256-FU/8g2zTTHm3Sdbxt9761Z+a0zaJMdAMdHrJIwjUrYs=";
};
cargoHash = "sha256-fBeSbJdFwT/ZwK2FTJQtZakKqMiAICMY2rkbNnYOGzU=";
cargoHash = "sha256-dpTLVlDxc9eK7GwbweODoJlrBZeYwVcv1fQ2UtYbg7k=";
meta = {
description = "TUI for managing wifi";
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonPackage rec {
pname = "infisicalsdk";
version = "1.0.13";
version = "1.0.14";
pyproject = true;
src = fetchFromGitHub {
owner = "Infisical";
repo = "python-sdk-official";
tag = "v${version}";
hash = "sha256-fuUun4vm8MBdl8MmR9cV+OWSRGsSaRoh7IF1vHRGm1k=";
hash = "sha256-oQdrrNJ8eoV5JWG7pTP3V8ptLg93DGCgWnTU9AVRG2Q=";
};
build-system = [ python3Packages.setuptools ];
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "inputplumber";
version = "0.69.1";
version = "0.70.1";
src = fetchFromGitHub {
owner = "ShadowBlip";
repo = "InputPlumber";
tag = "v${version}";
hash = "sha256-TX2AGLomQvq3r23ihL4SyMB4TTIYaavuWTuwqZciW2U=";
hash = "sha256-Sk1z1bJlpHQrbm7rSiLHiwFXCwlZ/Qcr5vyY7ydLktw=";
};
cargoHash = "sha256-HYVDign4Q6hNUPaTcjS7n00WHEVR8UtS26F+RV9KWFE=";
cargoHash = "sha256-Alnr8ppttft4GavoErFkZ7rqnAKaTDCyPhfqAcMX+R0=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -48,7 +48,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "ipxe";
version = "1.21.1-unstable-2025-12-22";
version = "1.21.1-unstable-2025-12-29";
nativeBuildInputs = [
mtools
@@ -66,8 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "ipxe";
repo = "ipxe";
rev = "3832147944209ece35557234102548413ef1b460";
hash = "sha256-b65XWsWbMwROEYj3pVgCy6NNTreaQLkAtyCNQZ2xLPs=";
rev = "7c39c04a537ce29dccc6f2bae9749d1d371429c1";
hash = "sha256-tqOTv9f9teCQUgt52/cdAM9kE5678Bk9956cWDTDZAg=";
};
# Calling syslinux on a FAT image isn't going to work on Aarch64.
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "jd-diff-patch";
version = "2.3.0";
version = "2.3.1";
src = fetchFromGitHub {
owner = "josephburnett";
repo = "jd";
rev = "v${finalAttrs.version}";
hash = "sha256-eaNP7cSJ0IxfHLmPaNAw5MQzD41AiOIjVbAjQkU8uec=";
hash = "sha256-HVbEVRe9u5D6Blfif9mEw9QZYJM7786GLB4njq3n+2U=";
};
sourceRoot = "${finalAttrs.src.name}/v2";
+2 -2
View File
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "kirc";
version = "1.0.0";
version = "1.0.7";
src = fetchFromGitHub {
owner = "mcpcpc";
repo = "kirc";
rev = version;
hash = "sha256-vcOaBVrWmKxFgqpBtMckkHwJiFG8PCDwfKHE/teGrGo=";
hash = "sha256-ModcUryLJTbf19ZKZDQ05Wqqac5vBsCN7SaT0/TD4Ro=";
};
dontConfigure = true;
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "kool";
version = "3.5.2";
version = "3.5.3";
src = fetchFromGitHub {
owner = "kool-dev";
repo = "kool";
rev = version;
hash = "sha256-yUJbuMOLEa9LVRltskSwD0XBdmwwLcEaLYUHsSQOiCk=";
hash = "sha256-pZ667bDyRWIrImBNHyhkOGl/22gjHKX6KsVSTckS1U4=";
};
vendorHash = "sha256-IqUkIf0uk4iUTedTO5xRzjmJwHS+p6apo4E0WEEU6cc=";
+3 -3
View File
@@ -14,13 +14,13 @@
gcc15Stdenv.mkDerivation {
pname = "libresplit";
version = "0-unstable-2025-12-22";
version = "0-unstable-2025-12-26";
src = fetchFromGitHub {
owner = "LibreSplit";
repo = "LibreSplit";
rev = "63ed87a8eb1d8d188b613bc9b8c48d7223a37dbb";
hash = "sha256-n8kKdv6e//v0yst6PW9PAnmB73W2lzlTdvvuELCePFY=";
rev = "11fcc57ff3ebbf58b3bb91b69575afbe4a8409b1";
hash = "sha256-b743CPRpBZI5H+jFRn1O/s0LZzp8B5QWhjZ2N3iSz+g=";
};
nativeBuildInputs = [
+12 -2
View File
@@ -11,6 +11,7 @@
graphviz,
libexsid,
libgcrypt,
libusb1,
perl,
pkg-config,
xa,
@@ -18,14 +19,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libsidplayfp";
version = "2.15.2";
version = "2.16.0";
src = fetchFromGitHub {
owner = "libsidplayfp";
repo = "libsidplayfp";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-/GXRqLt2wPCUiOKlaEq52APOOYWgbaejzJcppZgMgfA=";
hash = "sha256-0eupR9HNhF8TERCtNTH8qx7mohLI7im8btJtByWHoY8=";
};
outputs = [ "out" ] ++ lib.optionals docSupport [ "doc" ];
@@ -50,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
libexsid
libgcrypt
libusb1
];
enableParallelBuilding = true;
@@ -58,6 +60,13 @@ stdenv.mkDerivation (finalAttrs: {
(lib.strings.enableFeature true "hardsid")
(lib.strings.withFeature true "gcrypt")
(lib.strings.withFeature true "exsid")
(lib.strings.withFeature true "usbsid")
# Supposedly runtime detection only supported on GCC
# https://github.com/libsidplayfp/libsidplayfp/commit/65874166b14d44467782d2996f7b644fbde0ee87
# __builtin_cpu_supports on GCC's list of x86 built-in functions
(lib.strings.withFeatureAs true "simd" (
if (stdenv.cc.isGNU && stdenv.hostPlatform.isx86) then "runtime" else "none"
))
(lib.strings.enableFeature finalAttrs.finalPackage.doCheck "tests")
];
@@ -84,6 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
updateScript = gitUpdater {
rev-prefix = "v";
ignoredVersions = "rc$";
};
};
+2 -2
View File
@@ -26,11 +26,11 @@
stdenv.mkDerivation rec {
pname = "liferea";
version = "1.16.6";
version = "1.16.7";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
hash = "sha256-D9mRmg1iwSlyYWCuYmMDzCkhUwgzDA/1DEgj49B59Lc=";
hash = "sha256-571mxEqnPVvuJ/r8hU4brtJhiVPxbBOPXhWL3XWmUTI=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -7,11 +7,11 @@
appimageTools.wrapType2 rec {
pname = "lunarclient";
version = "3.5.15";
version = "3.5.16";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}-ow.AppImage";
hash = "sha512-ALMU80lGg1kwQAETpMtuUoW/nT0I05wRhe3+FafP2rVud+OoqnVt2W8PFPhZ66wSdmS1Zs9AWvr2mQG/3aoMfg==";
hash = "sha512-V0aeQTFRAoheUsI/gFZMaTTgWaCxQXEirkKr2mFnUhBXdesYGwnKmIJk0v1JOtK2RQT0V536yEMsRJVZgfscNw==";
};
nativeBuildInputs = [ makeWrapper ];
+107
View File
@@ -0,0 +1,107 @@
{
lib,
stdenv,
python3Packages,
fetchFromGitHub,
# tests
uv,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
python3Packages.buildPythonApplication rec {
pname = "mistral-vibe";
version = "1.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "mistralai";
repo = "mistral-vibe";
tag = "v${version}";
hash = "sha256-nW7pRSyv+t/7yatx84PMgxsHRTfRqqpy6rz+dQfLluU=";
};
build-system = with python3Packages; [
editables
hatch-vcs
hatchling
];
pythonRelaxDeps = [
"agent-client-protocol"
"mistralai"
"pydantic"
"pydantic-settings"
"watchfiles"
];
dependencies = with python3Packages; [
agent-client-protocol
aiofiles
httpx
mcp
mistralai
packaging
pexpect
pydantic
pydantic-settings
pyperclip
python-dotenv
pyyaml
rich
textual
textual-speedups
tomli-w
watchfiles
];
pythonImportsCheck = [ "vibe" ];
nativeCheckInputs = [
python3Packages.pytest-asyncio
python3Packages.pytest-textual-snapshot
python3Packages.pytest-xdist
python3Packages.pytestCheckHook
python3Packages.respx
uv
versionCheckHook
writableTmpDirAsHomeHook
];
versionCheckProgramArg = "--version";
versionCheckKeepEnvironment = [ "HOME" ];
pytestFlags = [ "tests/cli/test_clipboard.py" ];
disabledTests = [
# AssertionError: assert '/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh:
# warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory\n' == ''
"test_decodes_non_utf8_bytes"
"test_runs_echo_successfully"
"test_truncates_output_to_max_bytes"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# AssertionError: assert 3 == 4
"test_get_copy_fns_with_wl_copy"
"test_get_copy_fns_with_both_system_tools"
"test_get_copy_fns_with_xclip"
];
disabledTestPaths = [
# All snapshot tests fail with AssertionError
"tests/snapshots/"
# ACP tests require network access
"tests/acp/test_acp.py"
];
meta = {
description = "Minimal CLI coding agent by Mistral";
homepage = "https://github.com/mistralai/mistral-vibe";
changelog = "https://github.com/mistralai/mistral-vibe/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
GaetanLepage
shikanime
];
mainProgram = "vibe";
};
}
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "mlkit";
version = "4.7.14";
version = "4.7.17";
src = fetchFromGitHub {
owner = "melsman";
repo = "mlkit";
rev = "v${version}";
sha256 = "sha256-0nAQHBcQgGdcWd4SFhDon7I0zi5U+YRTdGvG78tri6A=";
sha256 = "sha256-1MLxBK/XYk4flBac34D2y6MJMuuxT6wT+Yo1WFaiYI4=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -9,12 +9,12 @@
}:
let
pname = "models-dev";
version = "0-unstable-2025-12-23";
version = "0-unstable-2025-12-29";
src = fetchFromGitHub {
owner = "sst";
repo = "models.dev";
rev = "d54bc052ebe97f8fc494e9fbb47a5d6266d20066";
hash = "sha256-HiIHiiP2AzMkUtshFBgZJ+wheOO0L+eOn44+C7xzYxA=";
rev = "53afc6aefb7b7f777c7b708098e7dbf83bd3797a";
hash = "sha256-I79MLfT9rCJK7LOfJNN23wM9/lJsVL+fw3hBUPykIxM=";
};
node_modules = stdenvNoCC.mkDerivation {
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "multitime";
version = "1.4";
version = "1.5";
src = fetchFromGitHub {
owner = "ltratt";
repo = "multitime";
rev = "multitime-${version}";
sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
sha256 = "sha256-oLtBUJbu+tVhzsUv+toz2oLeXCVLYKHQXUNsqpCZBGc=";
};
nativeBuildInputs = [ autoreconfHook ];
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "mycli";
version = "1.41.2";
version = "1.42.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dbcli";
repo = "mycli";
tag = "v${version}";
hash = "sha256-k6GgJpgjn2sFzdoPNVmsfOzAwIUiq5rSW7faLbijpnk=";
hash = "sha256-V8HqrhC+bVEgXlRPAZEo5KI8Bpz8qWbqd0qyLzSbSEQ=";
};
pythonRelaxDeps = [
+3 -3
View File
@@ -10,16 +10,16 @@
buildGoModule rec {
pname = "myks";
version = "5.4.0";
version = "5.5.0";
src = fetchFromGitHub {
owner = "mykso";
repo = "myks";
tag = "v${version}";
hash = "sha256-Q8Qtxb+eUaw0eX3F/jkgKKHmjApZ/UsTE+LeJ1FKoCg=";
hash = "sha256-swfzmuw7TtRvYeAlRTP1v3zvuSUsD/j1FddPfMDekbs=";
};
vendorHash = "sha256-wHP/l8Evu6F9Kzm88EQv9JMONI3OlWB3jB+88RgzKmo=";
vendorHash = "sha256-Gi/y6fCrfphBrF4Zag1zkAXuRhvvl9sTm3Magm6k0Q0=";
subPackages = ".";
+2 -2
View File
@@ -13,13 +13,13 @@
let
finalAttrs = {
pname = "ncps";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "kalbasit";
repo = "ncps";
tag = "v${finalAttrs.version}";
hash = "sha256-3ncDDJ0vqmM6Aer/qnEgGZ/eglFmY0oAnMsLJseMQg8=";
hash = "sha256-dPCzfy29wjRL5eXaueM8qLtKMmsNcwTqtSDBNOJ4NMc=";
};
ldflags = [
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nextvi";
version = "3.0";
version = "3.1";
src = fetchFromGitHub {
owner = "kyx0r";
repo = "nextvi";
tag = finalAttrs.version;
hash = "sha256-SMPPG/pDtuS87PLyeUvmEqyqD9+Pye9rPQW1TpDGNc4=";
hash = "sha256-joIb+kJd0Oe1Irpz5zo48G+27umrr3Q1kKoLwpRiD8w=";
};
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -8,16 +8,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nnd";
version = "0.65";
version = "0.66";
src = fetchFromGitHub {
owner = "al13n321";
repo = "nnd";
tag = "v${finalAttrs.version}";
hash = "sha256-fOCPxNkQKHVfaumds4G4+0GL8CtBa5UyuG2IzllUS3Q=";
hash = "sha256-92M5HSkXxlup+4vuQlf2AYIhYfIpRc5yGFgRcpLnHQY=";
};
cargoHash = "sha256-bNlC8yHiA6EBX2TK4QBvSp01+FjxRFr1/pSm1T/SFNU=";
cargoHash = "sha256-lS/nfRuf5u6+0ZBbuBfeQNU6G4jDWj02OBie7LxpYsc=";
meta = {
description = "Debugger for Linux";
@@ -10,13 +10,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-square";
version = "25.12.15";
version = "25.12.27";
src = fetchFromGitHub {
owner = "numixproject";
repo = "numix-icon-theme-square";
rev = version;
sha256 = "sha256-89OyttP8Mc1zRqIbIE9gpY9BHINLGJwUqkGVfeULCH4=";
sha256 = "sha256-D4Tclt0GQ70Ka4tmMPhOPVSHL/42hAB2D0PLe9iyN+U=";
};
nativeBuildInputs = [ gtk3 ];
+3 -3
View File
@@ -13,12 +13,12 @@
}:
let
pname = "opencode";
version = "1.0.184";
version = "1.0.210";
src = fetchFromGitHub {
owner = "sst";
repo = "opencode";
tag = "v${version}";
hash = "sha256-qEVFORKMoaLTsBbs2D9aLaD1W4vbQppJ6fB+bHWLcgM=";
hash = "sha256-0bWhOquP17U7F2NO+f8pubulqfOG03wMxzPpD/yqe3A=";
};
node_modules = stdenvNoCC.mkDerivation {
@@ -70,7 +70,7 @@ let
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-NaLKlLke9K2/1+2NhrWIlsNRFL674PraWmBCbzkEk6c=";
outputHash = "sha256-P9ZiSW8aZWEUGE1OCej/S2biyJzSwlObcuRzBxJsEZU=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
+6 -2
View File
@@ -5,7 +5,9 @@
buildPackages,
docbook_xml_dtd_44,
docbook_xsl,
withFuzzing ? stdenv.hostPlatform.isLinux,
withLibcap ? stdenv.hostPlatform.isLinux,
withSeccomp ? stdenv.hostPlatform.isLinux,
libcap,
pkg-config,
meson,
@@ -18,18 +20,20 @@
stdenv.mkDerivation rec {
pname = "pax-utils";
version = "1.3.8";
version = "1.3.10";
src = fetchgit {
url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
rev = "v${version}";
hash = "sha256-fOdiZcS1ZWGN8U5v65LzGIZJD6hCl5dbLMHDpSyms+8=";
hash = "sha256-qoFXQ/RqvdjsVhXVZZjWKnE0khak9HjOGi/UrfTLS8M=";
};
strictDeps = true;
mesonFlags = [
(lib.mesonBool "use_fuzzing" withFuzzing)
(lib.mesonEnable "use_libcap" withLibcap)
(lib.mesonBool "use_seccomp" withSeccomp)
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
+1 -1
View File
@@ -55,7 +55,7 @@ buildGoModule (finalAttrs: {
homepage = "https://github.com/containers/podman-tui";
description = "Podman Terminal UI";
license = lib.licenses.asl20;
maintainers = [ ];
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "podman-tui";
};
})
@@ -1,32 +1,51 @@
{
lib,
buildGoModule,
fetchFromGitHub,
go,
buildGoModule,
versionCheckHook,
nix-update-script,
}:
buildGoModule {
buildGoModule (finalAttrs: {
pname = "node-cert-exporter";
version = "1.1.7-unstable-2024-12-26";
version = "1.1.7-unstable-2025-03-10";
src = fetchFromGitHub {
owner = "amimof";
repo = "node-cert-exporter";
rev = "v1.1.7";
sha256 = "sha256-VYJPgNVsfEs/zh/SEdOrFn0FK6S+hNFGDhonj2syutQ=";
rev = "eef1b8207b5fdb4d6690fcfa543caf823cff0754";
hash = "sha256-/z2wQmcCEsPKEMKj7OunD0e+9OvXv6NV6Bn8myW6HLk=";
};
vendorHash = "sha256-31MHX3YntogvoJmbOytl0rXS6qtdBSBJe8ejKyu6gqM=";
# Required otherwise we get a few:
# vendor/github.com/golang/glog/internal/logsink/logsink.go:129:41:
# predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)
patches = [ ./gomod.patch ];
vendorHash = "sha256-Y/JgjWb2eFe4aCTU/v05rB5xH9TgZgZt2WITalj1nwc=";
ldflags = [
"-s"
"-X main.VERSION=${finalAttrs.version}"
"-X main.COMMIT=${finalAttrs.src.rev}"
"-X main.BRANCH=master"
"-X main.GOVERSION=${go.version}"
];
doInstallCheck = true;
versionCheckProgramArg = "--version";
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
description = "Prometheus exporter for SSL certificate";
mainProgram = "node-cert-exporter";
homepage = "https://github.com/amimof/node-cert-exporter";
license = lib.licenses.asl20;
mainProgram = "node-cert-exporter";
maintainers = with lib.maintainers; [ ibizaman ];
};
}
})
+3 -3
View File
@@ -6,18 +6,18 @@
buildGoModule rec {
pname = "pulumi-esc";
version = "0.20.0";
version = "0.21.0";
src = fetchFromGitHub {
owner = "pulumi";
repo = "esc";
rev = "v${version}";
hash = "sha256-ZS5mwRua/IYAhA5W+EEZxttArTm+vLArA1RM8SFOK60=";
hash = "sha256-oTCCPwdepaZif2LJfJtBuw4jQDUwDU+wGNgl+mB52Ko=";
};
subPackages = "cmd/esc";
vendorHash = "sha256-IcQaWo5/EoPJjn5pDKwHjd56JeareznE7iSansJIfso=";
vendorHash = "sha256-QDevyfNos1+kZmBJDKQH43EJ66XyrRPjdAkrhRqFJNU=";
ldflags = [
"-s"
+2 -2
View File
@@ -9,12 +9,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "quisk";
version = "4.2.48";
version = "4.2.50";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-5N8uogS/V5nwYhHsdsc81GgjS9NblLx3KpdoEaXtpJI=";
hash = "sha256-HFZhVJxDUeFDFboWYGiuJYG8fb+xeWBKKi/6uBiDp84=";
};
buildInputs = [
+1 -1
View File
@@ -13,7 +13,7 @@
stdenv.mkDerivation {
pname = "sdl-jstest";
version = "0.2.2-unstable-2025-12-05";
version = "0.2.2-unstable-2025-11-28";
src = fetchFromGitHub {
owner = "Grumbel";
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "seadrive-gui";
version = "3.0.18";
version = "3.0.19";
src = fetchFromGitHub {
owner = "haiwen";
repo = "seadrive-gui";
rev = "v${finalAttrs.version}";
hash = "sha256-TAmLHoJmFZyGa0wMBBPBWYOOdBCiMBdVfrIBTCZ8Sig=";
hash = "sha256-gT0GKDy/tsQex3LNcBgMdZL2obtvU1BE4EAAIvIFiHM=";
};
# Fix cmake modernization warning.

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