Merge master into staging-next
This commit is contained in:
@@ -211,6 +211,8 @@
|
||||
|
||||
- [Pareto Security](https://paretosecurity.com/) is an alternative to corporate compliance solutions for companies that care about security but know it doesn't have to be invasive. Available as [services.paretosecurity](#opt-services.paretosecurity.enable)
|
||||
|
||||
- [GNU Rush](https://gnu.org/software/rush/) is a Restricted User Shell, designed for systems providing limited remote access to their resources. Available as [programs.rush](#opt-programs.rush.enable).
|
||||
|
||||
- [ipfs-cluster](https://ipfscluster.io/), Pinset orchestration for IPFS. Available as [services.ipfs-cluster](#opt-services.ipfs-cluster.enable)
|
||||
|
||||
- [bitbox-bridge](https://github.com/BitBoxSwiss/bitbox-bridge), a bridge software that connects BitBox hardware wallets to computers & web wallets like [Rabby](https://rabby.io/). Allows one to interact & transact with smart contracts, Web3 websites & financial services without storing private keys anywhere other than the hardware wallet. Available as [services.bitbox-bridge](#opt-services.bitbox-bridge.enable).
|
||||
|
||||
@@ -290,6 +290,7 @@
|
||||
./programs/quark-goldleaf.nix
|
||||
./programs/regreet.nix
|
||||
./programs/rog-control-center.nix
|
||||
./programs/rush.nix
|
||||
./programs/rust-motd.nix
|
||||
./programs/ryzen-monitor-ng.nix
|
||||
./programs/screen.nix
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.rush;
|
||||
|
||||
indent =
|
||||
lines:
|
||||
lib.pipe lines [
|
||||
(lib.splitString "\n")
|
||||
(builtins.filter (line: line != ""))
|
||||
(map (line: " " + line))
|
||||
(builtins.concatStringsSep "\n")
|
||||
];
|
||||
in
|
||||
{
|
||||
meta.maintainers = pkgs.rush.meta.maintainers;
|
||||
|
||||
options.programs.rush = with lib.types; {
|
||||
enable = lib.mkEnableOption "Restricted User Shell.";
|
||||
|
||||
package = lib.mkPackageOption pkgs "rush" { } // {
|
||||
type = shellPackage;
|
||||
};
|
||||
|
||||
global = lib.mkOption {
|
||||
type = lines;
|
||||
description = "The `global` statement defines global settings.";
|
||||
default = "";
|
||||
};
|
||||
|
||||
rules = lib.mkOption {
|
||||
type = attrsOf lines;
|
||||
default = { };
|
||||
|
||||
description = ''
|
||||
The rule statement configures a GNU Rush rule. This is a block statement, which means that all
|
||||
statements located between it and the next rule statement (or end of file, whichever occurs first)
|
||||
modify the definition of that rule.
|
||||
'';
|
||||
};
|
||||
|
||||
shell = lib.mkOption {
|
||||
readOnly = true;
|
||||
type = either shellPackage path;
|
||||
|
||||
description = ''
|
||||
The resolved shell path that users can inherit to set `rush` as their login shell.
|
||||
This is a convenience option for use in user definitions. Example:
|
||||
`users.users.alice = { inherit (config.programs.rush) shell; ... };`
|
||||
'';
|
||||
};
|
||||
|
||||
wrap = lib.mkOption {
|
||||
type = bool;
|
||||
default = config.security.enableWrappers;
|
||||
defaultText = lib.literalExpression "config.security.enableWrappers";
|
||||
|
||||
description = ''
|
||||
Whether to wrap the `rush` binary with a SUID-enabled wrapper.
|
||||
This is required if {option}`security.enableWrappers` is enabled in your configuration.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.mkMerge [
|
||||
(lib.mkIf cfg.wrap {
|
||||
security.wrappers.rush = lib.mkDefault {
|
||||
group = "root";
|
||||
owner = "root";
|
||||
permissions = "u+rx,g+x,o+x";
|
||||
setgid = false;
|
||||
setuid = true;
|
||||
source = lib.getExe cfg.package;
|
||||
};
|
||||
})
|
||||
|
||||
{
|
||||
programs.rush.shell = if cfg.wrap then config.security.wrapperDir + "/rush" else cfg.package;
|
||||
|
||||
environment = {
|
||||
shells = [ cfg.shell ];
|
||||
systemPackages = [ cfg.package ];
|
||||
|
||||
etc."rush.rc".text =
|
||||
lib.pipe
|
||||
[
|
||||
"# This file was created by the module `programs.rush`;"
|
||||
"rush 2.0"
|
||||
(lib.optionalString (cfg.global != "") "global\n${indent cfg.global}")
|
||||
(lib.optionals (cfg.rules != { }) (
|
||||
lib.mapAttrsToList (name: content: "rule ${name}\n${indent content}") cfg.rules
|
||||
))
|
||||
]
|
||||
[
|
||||
(lib.flatten)
|
||||
(builtins.filter (line: line != ""))
|
||||
(builtins.concatStringsSep "\n\n")
|
||||
(lib.mkDefault)
|
||||
];
|
||||
};
|
||||
}
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -636,7 +636,7 @@ in
|
||||
home-assistant = runTest ./home-assistant.nix;
|
||||
hostname = handleTest ./hostname.nix { };
|
||||
hound = handleTest ./hound.nix { };
|
||||
hub = handleTest ./git/hub.nix { };
|
||||
hub = runTest ./git/hub.nix;
|
||||
hydra = runTest ./hydra;
|
||||
i3wm = handleTest ./i3wm.nix { };
|
||||
icingaweb2 = runTest ./icingaweb2.nix;
|
||||
@@ -740,7 +740,7 @@ in
|
||||
localsend = handleTest ./localsend.nix { };
|
||||
locate = handleTest ./locate.nix { };
|
||||
login = handleTest ./login.nix { };
|
||||
logrotate = handleTest ./logrotate.nix { };
|
||||
logrotate = runTest ./logrotate.nix;
|
||||
loki = handleTest ./loki.nix { };
|
||||
luks = handleTest ./luks.nix { };
|
||||
lvm2 = handleTest ./lvm2 { };
|
||||
@@ -770,7 +770,7 @@ in
|
||||
mailhog = runTest ./mailhog.nix;
|
||||
mailpit = runTest ./mailpit.nix;
|
||||
mailman = runTest ./mailman.nix;
|
||||
man = handleTest ./man.nix { };
|
||||
man = runTest ./man.nix;
|
||||
mariadb-galera = handleTest ./mysql/mariadb-galera.nix { };
|
||||
marytts = handleTest ./marytts.nix { };
|
||||
mastodon = pkgs.recurseIntoAttrs (handleTest ./web-apps/mastodon { inherit handleTestOn; });
|
||||
@@ -1177,6 +1177,7 @@ in
|
||||
rsyslogd = handleTest ./rsyslogd.nix { };
|
||||
rtkit = runTest ./rtkit.nix;
|
||||
rtorrent = handleTest ./rtorrent.nix { };
|
||||
rush = runTest ./rush.nix;
|
||||
rustls-libssl = handleTest ./rustls-libssl.nix { };
|
||||
rxe = handleTest ./rxe.nix { };
|
||||
sabnzbd = handleTest ./sabnzbd.nix { };
|
||||
|
||||
+10
-16
@@ -60,7 +60,6 @@ let
|
||||
pkgs.gnupg
|
||||
pkgs.jq
|
||||
pkgs.file
|
||||
pkgs.htmlq
|
||||
];
|
||||
services.openssh.enable = true;
|
||||
|
||||
@@ -253,27 +252,22 @@ let
|
||||
client.succeed("git -C /tmp/repo push origin main")
|
||||
|
||||
def poll_workflow_action_status(_) -> bool:
|
||||
output = server.succeed(
|
||||
"curl --fail http://localhost:3000/test/repo/actions | "
|
||||
+ 'htmlq ".flex-item-leading span" --attribute "data-tooltip-content"'
|
||||
).strip()
|
||||
try:
|
||||
response = server.succeed("curl --fail http://localhost:3000/api/v1/repos/test/repo/actions/tasks")
|
||||
status = json.loads(response).get("workflow_runs")[0].get("status")
|
||||
|
||||
# values taken from https://codeberg.org/forgejo/forgejo/src/commit/af47c583b4fb3190fa4c4c414500f9941cc02389/options/locale/locale_en-US.ini#L3649-L3661
|
||||
if output in [ "Failure", "Canceled", "Skipped", "Blocked" ]:
|
||||
raise Exception(f"Workflow status is '{output}', which we consider failed.")
|
||||
server.log(f"Command returned '{output}', which we consider failed.")
|
||||
except IndexError:
|
||||
status = "???"
|
||||
|
||||
elif output in [ "Unknown", "Waiting", "Running", "" ]:
|
||||
server.log(f"Workflow status is '{output}'. Waiting some more...")
|
||||
return False
|
||||
server.log(f"Workflow status: {status}")
|
||||
|
||||
elif output in [ "Success" ]:
|
||||
return True
|
||||
if status == "failure":
|
||||
raise Exception("Workflow failed")
|
||||
|
||||
raise Exception(f"Workflow status is '{output}', which we don't know. Value mappings likely need updating.")
|
||||
return status == "success"
|
||||
|
||||
with server.nested("Waiting for the workflow run to be successful"):
|
||||
retry(poll_workflow_action_status)
|
||||
retry(poll_workflow_action_status, 60)
|
||||
|
||||
with subtest("Testing backup service"):
|
||||
server.succeed("${serverSystem}/specialisation/dump/bin/switch-to-configuration test")
|
||||
|
||||
+16
-18
@@ -1,20 +1,18 @@
|
||||
import ../make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "hub";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "hub";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
nodes.hub =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.hub ];
|
||||
};
|
||||
|
||||
nodes.hub =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.hub ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
assert "git version ${pkgs.git.version}\nhub version ${pkgs.hub.version}\n" in hub.succeed("hub version")
|
||||
assert "These GitHub commands are provided by hub" in hub.succeed("hub help")
|
||||
'';
|
||||
}
|
||||
)
|
||||
testScript = ''
|
||||
assert "git version ${pkgs.git.version}\nhub version ${pkgs.hub.version}\n" in hub.succeed("hub version")
|
||||
assert "These GitHub commands are provided by hub" in hub.succeed("hub help")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -116,6 +116,9 @@ import ../make-test-python.nix (
|
||||
zookeeper.wait_for_unit("zookeeper")
|
||||
zookeeper.wait_for_open_port(2181)
|
||||
|
||||
# wait for HDFS cluster to be RW
|
||||
datanode.succeed("sudo -u hdfs hdfs dfsadmin -safemode wait")
|
||||
|
||||
# wait for HBase to start up
|
||||
master.wait_for_unit("hbase-master")
|
||||
regionserver.wait_for_unit("hbase-regionserver")
|
||||
|
||||
+120
-123
@@ -10,137 +10,134 @@ let
|
||||
};
|
||||
|
||||
in
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "logrotate";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ martinetd ];
|
||||
};
|
||||
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
rec {
|
||||
name = "logrotate";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ martinetd ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
defaultMachine =
|
||||
{ ... }:
|
||||
{
|
||||
services.logrotate.enable = true;
|
||||
nodes = {
|
||||
defaultMachine =
|
||||
{ ... }:
|
||||
{
|
||||
services.logrotate.enable = true;
|
||||
};
|
||||
failingMachine =
|
||||
{ ... }:
|
||||
{
|
||||
services.logrotate = {
|
||||
enable = true;
|
||||
configFile = pkgs.writeText "logrotate.conf" ''
|
||||
# self-written config file
|
||||
su notarealuser notagroupeither
|
||||
'';
|
||||
};
|
||||
failingMachine =
|
||||
{ ... }:
|
||||
{
|
||||
services.logrotate = {
|
||||
enable = true;
|
||||
configFile = pkgs.writeText "logrotate.conf" ''
|
||||
# self-written config file
|
||||
su notarealuser notagroupeither
|
||||
'';
|
||||
};
|
||||
};
|
||||
machine =
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ importTest ];
|
||||
};
|
||||
machine =
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ importTest ];
|
||||
|
||||
services.logrotate = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# remove default frequency header and add another
|
||||
header = {
|
||||
frequency = null;
|
||||
delaycompress = true;
|
||||
};
|
||||
# extra global setting... affecting nothing
|
||||
last_line = {
|
||||
global = true;
|
||||
priority = 2000;
|
||||
shred = true;
|
||||
};
|
||||
# using mail somewhere should add --mail to logrotate invocation
|
||||
sendmail = {
|
||||
mail = "user@domain.tld";
|
||||
};
|
||||
# postrotate should be suffixed by 'endscript'
|
||||
postrotate = {
|
||||
postrotate = "touch /dev/null";
|
||||
};
|
||||
# check checkConfig works as expected: there is nothing to check here
|
||||
# except that the file build passes
|
||||
checkConf = {
|
||||
su = "root utmp";
|
||||
createolddir = "0750 root utmp";
|
||||
create = "root utmp";
|
||||
"create " = "0750 root utmp";
|
||||
};
|
||||
# multiple paths should be aggregated
|
||||
multipath = {
|
||||
files = [
|
||||
"file1"
|
||||
"file2"
|
||||
];
|
||||
};
|
||||
# overriding imported path should keep existing attributes
|
||||
# (e.g. olddir is still set)
|
||||
import = {
|
||||
notifempty = true;
|
||||
};
|
||||
services.logrotate = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# remove default frequency header and add another
|
||||
header = {
|
||||
frequency = null;
|
||||
delaycompress = true;
|
||||
};
|
||||
# extra global setting... affecting nothing
|
||||
last_line = {
|
||||
global = true;
|
||||
priority = 2000;
|
||||
shred = true;
|
||||
};
|
||||
# using mail somewhere should add --mail to logrotate invocation
|
||||
sendmail = {
|
||||
mail = "user@domain.tld";
|
||||
};
|
||||
# postrotate should be suffixed by 'endscript'
|
||||
postrotate = {
|
||||
postrotate = "touch /dev/null";
|
||||
};
|
||||
# check checkConfig works as expected: there is nothing to check here
|
||||
# except that the file build passes
|
||||
checkConf = {
|
||||
su = "root utmp";
|
||||
createolddir = "0750 root utmp";
|
||||
create = "root utmp";
|
||||
"create " = "0750 root utmp";
|
||||
};
|
||||
# multiple paths should be aggregated
|
||||
multipath = {
|
||||
files = [
|
||||
"file1"
|
||||
"file2"
|
||||
];
|
||||
};
|
||||
# overriding imported path should keep existing attributes
|
||||
# (e.g. olddir is still set)
|
||||
import = {
|
||||
notifempty = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
with subtest("whether logrotate works"):
|
||||
# we must rotate once first to create logrotate stamp
|
||||
defaultMachine.succeed("systemctl start logrotate.service")
|
||||
# we need to wait for console text once here to
|
||||
# clear console buffer up to this point for next wait
|
||||
defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
|
||||
testScript = ''
|
||||
with subtest("whether logrotate works"):
|
||||
# we must rotate once first to create logrotate stamp
|
||||
defaultMachine.succeed("systemctl start logrotate.service")
|
||||
# we need to wait for console text once here to
|
||||
# clear console buffer up to this point for next wait
|
||||
defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
|
||||
|
||||
defaultMachine.succeed(
|
||||
# wtmp is present in default config.
|
||||
"rm -f /var/log/wtmp*",
|
||||
# we need to give it at least 1MB
|
||||
"dd if=/dev/zero of=/var/log/wtmp bs=2M count=1",
|
||||
defaultMachine.succeed(
|
||||
# wtmp is present in default config.
|
||||
"rm -f /var/log/wtmp*",
|
||||
# we need to give it at least 1MB
|
||||
"dd if=/dev/zero of=/var/log/wtmp bs=2M count=1",
|
||||
|
||||
# move into the future and check rotation.
|
||||
"date -s 'now + 1 month + 1 day'")
|
||||
defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
|
||||
defaultMachine.succeed(
|
||||
# check rotate worked
|
||||
"[ -e /var/log/wtmp.1 ]",
|
||||
)
|
||||
with subtest("default config does not have mail"):
|
||||
defaultMachine.fail("systemctl cat logrotate.service | grep -- --mail")
|
||||
with subtest("using mails adds mail option"):
|
||||
machine.succeed("systemctl cat logrotate.service | grep -- --mail")
|
||||
with subtest("check generated config matches expectation"):
|
||||
machine.succeed(
|
||||
# copy conf to /tmp/logrotate.conf for easy grep
|
||||
"conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
|
||||
"! grep weekly /tmp/logrotate.conf",
|
||||
"grep -E '^delaycompress' /tmp/logrotate.conf",
|
||||
"tail -n 1 /tmp/logrotate.conf | grep shred",
|
||||
"sed -ne '/\"sendmail\" {/,/}/p' /tmp/logrotate.conf | grep 'mail user@domain.tld'",
|
||||
"sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript",
|
||||
"grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf",
|
||||
"sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir",
|
||||
)
|
||||
# also check configFile option
|
||||
failingMachine.succeed(
|
||||
"conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
|
||||
"grep 'self-written config' /tmp/logrotate.conf",
|
||||
)
|
||||
with subtest("Check logrotate-checkconf service"):
|
||||
machine.wait_for_unit("logrotate-checkconf.service")
|
||||
# wait_for_unit also asserts for success, so wait for
|
||||
# parent target instead and check manually.
|
||||
failingMachine.wait_for_unit("multi-user.target")
|
||||
info = failingMachine.get_unit_info("logrotate-checkconf.service")
|
||||
if info["ActiveState"] != "failed":
|
||||
raise Exception('logrotate-checkconf.service was not failed')
|
||||
# move into the future and check rotation.
|
||||
"date -s 'now + 1 month + 1 day'")
|
||||
defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
|
||||
defaultMachine.succeed(
|
||||
# check rotate worked
|
||||
"[ -e /var/log/wtmp.1 ]",
|
||||
)
|
||||
with subtest("default config does not have mail"):
|
||||
defaultMachine.fail("systemctl cat logrotate.service | grep -- --mail")
|
||||
with subtest("using mails adds mail option"):
|
||||
machine.succeed("systemctl cat logrotate.service | grep -- --mail")
|
||||
with subtest("check generated config matches expectation"):
|
||||
machine.succeed(
|
||||
# copy conf to /tmp/logrotate.conf for easy grep
|
||||
"conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
|
||||
"! grep weekly /tmp/logrotate.conf",
|
||||
"grep -E '^delaycompress' /tmp/logrotate.conf",
|
||||
"tail -n 1 /tmp/logrotate.conf | grep shred",
|
||||
"sed -ne '/\"sendmail\" {/,/}/p' /tmp/logrotate.conf | grep 'mail user@domain.tld'",
|
||||
"sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript",
|
||||
"grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf",
|
||||
"sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir",
|
||||
)
|
||||
# also check configFile option
|
||||
failingMachine.succeed(
|
||||
"conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
|
||||
"grep 'self-written config' /tmp/logrotate.conf",
|
||||
)
|
||||
with subtest("Check logrotate-checkconf service"):
|
||||
machine.wait_for_unit("logrotate-checkconf.service")
|
||||
# wait_for_unit also asserts for success, so wait for
|
||||
# parent target instead and check manually.
|
||||
failingMachine.wait_for_unit("multi-user.target")
|
||||
info = failingMachine.get_unit_info("logrotate-checkconf.service")
|
||||
if info["ActiveState"] != "failed":
|
||||
raise Exception('logrotate-checkconf.service was not failed')
|
||||
|
||||
machine.log(machine.execute("systemd-analyze security logrotate.service | grep -v ✓")[1])
|
||||
machine.log(machine.execute("systemd-analyze security logrotate.service | grep -v ✓")[1])
|
||||
|
||||
'';
|
||||
}
|
||||
)
|
||||
'';
|
||||
}
|
||||
|
||||
+96
-98
@@ -1,111 +1,109 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
manImplementations = [
|
||||
"mandoc"
|
||||
"man-db"
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
manImplementations = [
|
||||
"mandoc"
|
||||
"man-db"
|
||||
];
|
||||
|
||||
machineNames = builtins.map machineSafe manImplementations;
|
||||
|
||||
makeConfig = useImpl: {
|
||||
# Note: mandoc currently can't index symlinked section directories.
|
||||
# So if a man section comes from one package exclusively (e. g.
|
||||
# 1p from man-pages-posix and 2 from man-pages), it isn't searchable.
|
||||
environment.systemPackages = [
|
||||
pkgs.man-pages
|
||||
pkgs.openssl
|
||||
pkgs.libunwind
|
||||
];
|
||||
|
||||
machineNames = builtins.map machineSafe manImplementations;
|
||||
|
||||
makeConfig = useImpl: {
|
||||
# Note: mandoc currently can't index symlinked section directories.
|
||||
# So if a man section comes from one package exclusively (e. g.
|
||||
# 1p from man-pages-posix and 2 from man-pages), it isn't searchable.
|
||||
environment.systemPackages = [
|
||||
pkgs.man-pages
|
||||
pkgs.openssl
|
||||
pkgs.libunwind
|
||||
];
|
||||
|
||||
documentation = {
|
||||
enable = true;
|
||||
nixos.enable = lib.mkForce true;
|
||||
dev.enable = true;
|
||||
man =
|
||||
{
|
||||
enable = true;
|
||||
generateCaches = true;
|
||||
}
|
||||
// lib.listToAttrs (
|
||||
builtins.map (impl: {
|
||||
name = impl;
|
||||
value = {
|
||||
enable = useImpl == impl;
|
||||
};
|
||||
}) manImplementations
|
||||
);
|
||||
};
|
||||
documentation = {
|
||||
enable = true;
|
||||
nixos.enable = lib.mkForce true;
|
||||
dev.enable = true;
|
||||
man =
|
||||
{
|
||||
enable = true;
|
||||
generateCaches = true;
|
||||
}
|
||||
// lib.listToAttrs (
|
||||
builtins.map (impl: {
|
||||
name = impl;
|
||||
value = {
|
||||
enable = useImpl == impl;
|
||||
};
|
||||
}) manImplementations
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
machineSafe = builtins.replaceStrings [ "-" ] [ "_" ];
|
||||
in
|
||||
{
|
||||
name = "man";
|
||||
meta.maintainers = [ lib.maintainers.sternenseemann ];
|
||||
machineSafe = builtins.replaceStrings [ "-" ] [ "_" ];
|
||||
in
|
||||
{
|
||||
name = "man";
|
||||
meta.maintainers = [ lib.maintainers.sternenseemann ];
|
||||
|
||||
nodes = lib.listToAttrs (
|
||||
builtins.map (i: {
|
||||
name = machineSafe i;
|
||||
value = makeConfig i;
|
||||
}) manImplementations
|
||||
);
|
||||
nodes = lib.listToAttrs (
|
||||
builtins.map (i: {
|
||||
name = machineSafe i;
|
||||
value = makeConfig i;
|
||||
}) manImplementations
|
||||
);
|
||||
|
||||
testScript =
|
||||
''
|
||||
import re
|
||||
start_all()
|
||||
testScript =
|
||||
''
|
||||
import re
|
||||
start_all()
|
||||
|
||||
def match_man_k(page, section, haystack):
|
||||
"""
|
||||
Check if the man page {page}({section}) occurs in
|
||||
the output of `man -k` given as haystack. Note:
|
||||
This is not super reliable, e. g. it can't deal
|
||||
with man pages that are in multiple sections.
|
||||
"""
|
||||
def match_man_k(page, section, haystack):
|
||||
"""
|
||||
Check if the man page {page}({section}) occurs in
|
||||
the output of `man -k` given as haystack. Note:
|
||||
This is not super reliable, e. g. it can't deal
|
||||
with man pages that are in multiple sections.
|
||||
"""
|
||||
|
||||
for line in haystack.split("\n"):
|
||||
# man -k can look like this:
|
||||
# page(3) - bla
|
||||
# page (3) - bla
|
||||
# pagea, pageb (3, 3P) - foo
|
||||
# pagea, pageb, pagec(3) - bar
|
||||
pages = line.split("(")[0]
|
||||
sections = re.search("\\([a-zA-Z1-9, ]+\\)", line)
|
||||
if sections is None:
|
||||
continue
|
||||
else:
|
||||
sections = sections.group(0)[1:-1]
|
||||
for line in haystack.split("\n"):
|
||||
# man -k can look like this:
|
||||
# page(3) - bla
|
||||
# page (3) - bla
|
||||
# pagea, pageb (3, 3P) - foo
|
||||
# pagea, pageb, pagec(3) - bar
|
||||
pages = line.split("(")[0]
|
||||
sections = re.search("\\([a-zA-Z1-9, ]+\\)", line)
|
||||
if sections is None:
|
||||
continue
|
||||
else:
|
||||
sections = sections.group(0)[1:-1]
|
||||
|
||||
if page in pages and f'{section}' in sections:
|
||||
return True
|
||||
if page in pages and f'{section}' in sections:
|
||||
return True
|
||||
|
||||
return False
|
||||
return False
|
||||
|
||||
''
|
||||
+ lib.concatMapStrings (machine: ''
|
||||
with subtest("Test direct man page lookups in ${machine}"):
|
||||
# man works
|
||||
${machine}.succeed("man man > /dev/null")
|
||||
# devman works
|
||||
${machine}.succeed("man 3 libunwind > /dev/null")
|
||||
# NixOS configuration man page is installed
|
||||
${machine}.succeed("man configuration.nix > /dev/null")
|
||||
''
|
||||
+ lib.concatMapStrings (machine: ''
|
||||
with subtest("Test direct man page lookups in ${machine}"):
|
||||
# man works
|
||||
${machine}.succeed("man man > /dev/null")
|
||||
# devman works
|
||||
${machine}.succeed("man 3 libunwind > /dev/null")
|
||||
# NixOS configuration man page is installed
|
||||
${machine}.succeed("man configuration.nix > /dev/null")
|
||||
|
||||
with subtest("Test generateCaches via man -k in ${machine}"):
|
||||
expected = [
|
||||
("openssl", "ssl", 3),
|
||||
("unwind", "libunwind", 3),
|
||||
("user", "useradd", 8),
|
||||
("user", "userdel", 8),
|
||||
("mem", "free", 3),
|
||||
("mem", "free", 1),
|
||||
]
|
||||
with subtest("Test generateCaches via man -k in ${machine}"):
|
||||
expected = [
|
||||
("openssl", "ssl", 3),
|
||||
("unwind", "libunwind", 3),
|
||||
("user", "useradd", 8),
|
||||
("user", "userdel", 8),
|
||||
("mem", "free", 3),
|
||||
("mem", "free", 1),
|
||||
]
|
||||
|
||||
for (keyword, page, section) in expected:
|
||||
matches = ${machine}.succeed(f"man -k {keyword}")
|
||||
if not match_man_k(page, section, matches):
|
||||
raise Exception(f"{page}({section}) missing in matches: {matches}")
|
||||
'') machineNames;
|
||||
}
|
||||
)
|
||||
for (keyword, page, section) in expected:
|
||||
matches = ${machine}.succeed(f"man -k {keyword}")
|
||||
if not match_man_k(page, section, matches):
|
||||
raise Exception(f"{page}({section}) missing in matches: {matches}")
|
||||
'') machineNames;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
inherit (import ./ssh-keys.nix pkgs) snakeOilEd25519PrivateKey snakeOilEd25519PublicKey;
|
||||
username = "nix-remote-builder";
|
||||
in
|
||||
{
|
||||
name = "rush";
|
||||
meta = { inherit (pkgs.rush.meta) maintainers platforms; };
|
||||
|
||||
nodes = {
|
||||
client =
|
||||
{ ... }:
|
||||
{
|
||||
nix.settings.extra-experimental-features = [ "nix-command" ];
|
||||
};
|
||||
|
||||
server =
|
||||
{ config, ... }:
|
||||
{
|
||||
nix.settings.trusted-users = [ "${username}" ];
|
||||
|
||||
programs.rush = {
|
||||
enable = true;
|
||||
global = "debug 1";
|
||||
|
||||
rules = {
|
||||
daemon = ''
|
||||
match $# == 2
|
||||
match $0 == "nix-daemon"
|
||||
match $1 == "--stdio"
|
||||
match $user == "${username}"
|
||||
chdir "${config.nix.package}/bin"
|
||||
'';
|
||||
|
||||
whoami = ''
|
||||
match $# == 1
|
||||
match $0 == "whoami"
|
||||
match $user == "${username}"
|
||||
chdir "${dirOf config.environment.usrbinenv}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
|
||||
extraConfig = ''
|
||||
Match User ${username}
|
||||
AllowAgentForwarding no
|
||||
AllowTcpForwarding no
|
||||
PermitTTY no
|
||||
PermitTunnel no
|
||||
X11Forwarding no
|
||||
Match All
|
||||
'';
|
||||
};
|
||||
|
||||
users = {
|
||||
groups."${username}" = { };
|
||||
|
||||
users."${username}" = {
|
||||
inherit (config.programs.rush) shell;
|
||||
group = "${username}";
|
||||
isSystemUser = true;
|
||||
openssh.authorizedKeys.keys = [ snakeOilEd25519PublicKey ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
client.succeed("mkdir -m 700 /root/.ssh")
|
||||
client.succeed("cat '${snakeOilEd25519PrivateKey}' | tee /root/.ssh/id_ed25519")
|
||||
client.succeed("chmod 600 /root/.ssh/id_ed25519")
|
||||
|
||||
server.wait_for_unit("sshd")
|
||||
|
||||
client.succeed("ssh-keyscan -H server | tee -a /root/.ssh/known_hosts")
|
||||
|
||||
client.succeed("ssh ${username}@server -- whoami")
|
||||
client.succeed("nix store info --store 'ssh-ng://${username}@server'")
|
||||
|
||||
client.fail("ssh ${username}@server -- date")
|
||||
client.fail("nix store info --store 'ssh://${username}@server'")
|
||||
'';
|
||||
}
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_LIBDIR=./lib"
|
||||
"-DCMAKE_INSTALL_DATADIR=./usr"
|
||||
"-DCMAKE_INSTALL_DATADIR=./share"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -7,21 +7,49 @@
|
||||
cacert,
|
||||
gitMinimal,
|
||||
nodejs_20,
|
||||
python3,
|
||||
yarn,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
version = "25.3.1";
|
||||
version = "25.4.0";
|
||||
src = fetchFromGitHub {
|
||||
name = "actualbudget-actual-source";
|
||||
owner = "actualbudget";
|
||||
repo = "actual";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-UZ2Z1tkMbGJwka//cIC0aG1KCcTSxUPLzctEaOhnKQA=";
|
||||
hash = "sha256-+XYl4Bh0+8bs/FCqlig9egLg3SJCy2SRN2ovxWRE1Ok=";
|
||||
};
|
||||
translations = fetchFromGitHub {
|
||||
name = "actualbudget-translations-source";
|
||||
owner = "actualbudget";
|
||||
repo = "translations";
|
||||
# Note to updaters: this repo is not tagged, so just update this to the Git
|
||||
# tip at the time the update is performed.
|
||||
rev = "312fce7791e6722357e5d2f851407f4b7cf4ecb9";
|
||||
hash = "sha256-kDArpSFiNJJF5ZGCtcn7Ci7wCpI1cTSknDZ4sQgy/Nc=";
|
||||
};
|
||||
|
||||
yarn_20 = yarn.override { nodejs = nodejs_20; };
|
||||
|
||||
SUPPORTED_ARCHITECTURES = builtins.toJSON {
|
||||
os = [
|
||||
"darwin"
|
||||
"linux"
|
||||
];
|
||||
cpu = [
|
||||
"arm"
|
||||
"arm64"
|
||||
"ia32"
|
||||
"x64"
|
||||
];
|
||||
libc = [
|
||||
"glibc"
|
||||
"musl"
|
||||
];
|
||||
};
|
||||
|
||||
# We cannot use fetchYarnDeps because that doesn't support yarn2/berry
|
||||
# lockfiles (see https://github.com/NixOS/nixpkgs/issues/254369)
|
||||
offlineCache = stdenvNoCC.mkDerivation {
|
||||
@@ -34,22 +62,7 @@ let
|
||||
yarn_20
|
||||
];
|
||||
|
||||
SUPPORTED_ARCHITECTURES = builtins.toJSON {
|
||||
os = [
|
||||
"darwin"
|
||||
"linux"
|
||||
];
|
||||
cpu = [
|
||||
"arm"
|
||||
"arm64"
|
||||
"ia32"
|
||||
"x64"
|
||||
];
|
||||
libc = [
|
||||
"glibc"
|
||||
"musl"
|
||||
];
|
||||
};
|
||||
inherit SUPPORTED_ARCHITECTURES;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
@@ -57,9 +70,15 @@ let
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config set enableTelemetry 0
|
||||
yarn config set cacheFolder $out
|
||||
# At this stage we don't need binaries yet, so we can skip preinstall
|
||||
# scripts here.
|
||||
yarn config set enableScripts false
|
||||
yarn config set --json supportedArchitectures "$SUPPORTED_ARCHITECTURES"
|
||||
|
||||
yarn workspaces focus @actual-app/sync-server --production
|
||||
# Install dependencies for all workspaces, and include devDependencies,
|
||||
# to build web UI. Dependencies will be re-created in offline mode in the
|
||||
# package's install phase.
|
||||
yarn install --immutable
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@@ -76,14 +95,61 @@ let
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash =
|
||||
{
|
||||
aarch64-darwin = "sha256-IJBfBA71PZeE/Zlu2kzQw8l/D4lVAV5I5loRyRfncKA=";
|
||||
aarch64-linux = "sha256-djE2lt/o/7kd7ci2TW3mhjSptD3etChbvtdbiWqp/wo=";
|
||||
x86_64-darwin = "sha256-AShd87VFwqDbJZoFJPg6HsdhTx7XMVdZ5sRWLXU8ldM=";
|
||||
x86_64-linux = "sha256-me0v+RuoleOKFRyJ7iyLTKRnV2Cz2Q1MLc/SE2sSSH8=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
outputHash = "sha256-Tac2gOkdc2tzNKB3ARMfJad1MkOphudvN74gI8bGMtY=";
|
||||
};
|
||||
|
||||
webUi = stdenvNoCC.mkDerivation {
|
||||
pname = "actual-server-webui";
|
||||
inherit version;
|
||||
srcs = [
|
||||
src
|
||||
translations
|
||||
];
|
||||
sourceRoot = "${src.name}/";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs_20
|
||||
yarn_20
|
||||
];
|
||||
|
||||
inherit SUPPORTED_ARCHITECTURES;
|
||||
|
||||
postPatch = ''
|
||||
ln -sv ../../../${translations.name} ./packages/desktop-client/locale
|
||||
cp -r ${offlineCache}/node_modules ./node_modules
|
||||
|
||||
patchShebangs --build ./bin ./packages/*/bin
|
||||
|
||||
# Patch all references to `git` to a no-op `true`. This neuter automatic
|
||||
# translation update.
|
||||
substituteInPlace bin/package-browser \
|
||||
--replace-fail "git" "true"
|
||||
|
||||
# Allow `remove-untranslated-languages` to do its job.
|
||||
chmod -R u+w ./packages/desktop-client/locale
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config set enableTelemetry 0
|
||||
yarn config set cacheFolder ${offlineCache}
|
||||
yarn config set --json supportedArchitectures "$SUPPORTED_ARCHITECTURES"
|
||||
|
||||
yarn build:server
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -r packages/desktop-client/build $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
dontFixup = true;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
@@ -92,15 +158,35 @@ stdenv.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
(python3.withPackages (ps: [ ps.setuptools ])) # Used by node-gyp
|
||||
yarn_20
|
||||
];
|
||||
|
||||
inherit SUPPORTED_ARCHITECTURES;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib,lib/actual/packages/sync-server}
|
||||
cp -r ${offlineCache}/node_modules/ $out/lib/actual
|
||||
mkdir -p $out/{bin,lib,lib/actual/packages/sync-server,lib/actual/packages/desktop-client}
|
||||
cp -r ./packages/sync-server/{app.js,src,migrations,package.json} $out/lib/actual/packages/sync-server
|
||||
# sync-server uses package.json to determine path to web ui.
|
||||
cp ./packages/desktop-client/package.json $out/lib/actual/packages/desktop-client
|
||||
cp -r ${webUi} $out/lib/actual/packages/desktop-client/build
|
||||
|
||||
# Re-create node_modules/ to contain just production packages required for
|
||||
# sync-server itself, using existing offline cache. This will also now build
|
||||
# binaries.
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config set enableNetwork false
|
||||
yarn config set enableOfflineMode true
|
||||
yarn config set enableTelemetry 0
|
||||
yarn config set cacheFolder ${offlineCache}
|
||||
yarn config set --json supportedArchitectures "$SUPPORTED_ARCHITECTURES"
|
||||
|
||||
export npm_config_nodedir=${nodejs_20}
|
||||
|
||||
yarn workspaces focus @actual-app/sync-server --production
|
||||
cp -r ./node_modules $out/lib/actual/
|
||||
|
||||
makeWrapper ${lib.getExe nodejs_20} "$out/bin/actual-server" \
|
||||
--add-flags "$out/lib/actual/packages/sync-server/app.js" \
|
||||
@@ -110,7 +196,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit offlineCache;
|
||||
inherit offlineCache webUi;
|
||||
tests = nixosTests.actual;
|
||||
passthru.updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "amazon-cloudwatch-agent";
|
||||
version = "1.300054.0";
|
||||
version = "1.300055.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "amazon-cloudwatch-agent";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-DakLgM3vNHHzOlQTVMGwIioPhB3YryEcm7T0xepAJu4=";
|
||||
hash = "sha256-/L3pq8c3d8AruKI5hvpW22bYqPypYNMO5ehdCgVrfZc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rw+doSJGeFl72hHA8FSL3H61KiYwatabQ7jEMOfJZ60=";
|
||||
vendorHash = "sha256-WhmkVN31snLDGvLCg3pukWIDM5yUXeiYh0ywCF83Y8E=";
|
||||
|
||||
# See the list in https://github.com/aws/amazon-cloudwatch-agent/blob/v1.300049.1/Makefile#L68-L77.
|
||||
subPackages = [
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "argocd";
|
||||
version = "2.14.7";
|
||||
version = "2.14.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-cd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ilXJWPvu3qwzuUN6AsQNyzrTHdQO51IFZcvZiQ/+/tU=";
|
||||
hash = "sha256-L8ipYgMpL6IhPh/fSanNywzUMDJQfMZc7pyYr2dtbAw=";
|
||||
};
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
vendorHash = "sha256-sfyTXP2vKVJQdUti0TNW/vrKovvN1/PMhEOUI8IiY44=";
|
||||
vendorHash = "sha256-j+uwLG9/r9dlK9JWrQmJdgBOqgZs/aIvkh1Sg81dm1I=";
|
||||
|
||||
# Set target as ./cmd per cli-local
|
||||
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
|
||||
|
||||
@@ -25,6 +25,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
# Does not support zig 0.12 or newer, hasn't been updated in 2 years.
|
||||
broken = lib.versionAtLeast zig.version "0.12";
|
||||
description = "Automatically set screen brightness with a webcam";
|
||||
mainProgram = "backlight-auto";
|
||||
homepage = "https://len.falken.directory/backlight-auto.html";
|
||||
|
||||
@@ -7,22 +7,47 @@
|
||||
libGLU,
|
||||
libsndfile,
|
||||
openal,
|
||||
zig_0_11,
|
||||
zig_0_14,
|
||||
runCommand,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "blackshades";
|
||||
version = "2.5.1";
|
||||
version = "2.5.2-unstable-2025-03-12";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~cnx";
|
||||
repo = "blackshades";
|
||||
rev = finalAttrs.version;
|
||||
rev = "a2fbe0e08bedbbbb1089dbb8f3e3cb4d76917bd0";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-qdpXpuXHr9w2XMfgOVveWv3JoqdJHVB8TCqZdyaw/DM=";
|
||||
hash = "sha256-W6ltmWCw7jfiTiNlh60YVF7mz//8s+bgu4F9gy5cDgw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ zig_0_11.hook ];
|
||||
postUnpack = ''
|
||||
ln -s ${
|
||||
runCommand "${finalAttrs.finalPackage.name}-zig-deps"
|
||||
{
|
||||
inherit (finalAttrs) src;
|
||||
|
||||
nativeBuildInputs = [ zig_0_14 ];
|
||||
|
||||
outputHashAlgo = null;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-wBIfLeaKtTow2Z7gjEgIFmqcTGWgpRWI+k0t294BslM=";
|
||||
}
|
||||
''
|
||||
export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
|
||||
|
||||
runHook unpackPhase
|
||||
cd $sourceRoot
|
||||
|
||||
zig build --fetch
|
||||
mv $ZIG_GLOBAL_CACHE_DIR/p $out
|
||||
''
|
||||
} $ZIG_GLOBAL_CACHE_DIR/p
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ zig_0_14.hook ];
|
||||
|
||||
buildInputs = [
|
||||
glfw
|
||||
|
||||
@@ -6,31 +6,31 @@
|
||||
darwin,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "boringtun";
|
||||
version = "0.5.2";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudflare";
|
||||
repo = "boringtun";
|
||||
rev = "boringtun-cli-${version}";
|
||||
sha256 = "sha256-PY7yqBNR4CYh8Y/vk4TYxxJnnv0eig8sjXp4dR4CX04=";
|
||||
tag = "boringtun-${finalAttrs.version}";
|
||||
hash = "sha256-QrgKO0SVU4Z9GlNtZZmOV+Xcm1PonzLbUTGAFFOV/BM=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-9qvX6P/DquQDlt6wOzI5ZQXQzNil1cD7KiuegDXtrQ0=";
|
||||
cargoHash = "sha256-j1I16QC46MMxcK7rbZJgI8KiKJvF29hkuGKiYLc6uW0=";
|
||||
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security;
|
||||
|
||||
# Testing this project requires sudo, Docker and network access, etc.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Userspace WireGuard® implementation in Rust";
|
||||
homepage = "https://github.com/cloudflare/boringtun";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ xrelkd ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ xrelkd ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
mainProgram = "boringtun-cli";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
zig_0_11,
|
||||
zig_0_12,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cyber";
|
||||
version = "unstable-2023-09-19";
|
||||
version = "0-unstable-2025-12-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fubark";
|
||||
repo = "cyber";
|
||||
rev = "f95cd189cf090d26542a87b1d2ced461e75fa1a7";
|
||||
hash = "sha256-ctEd8doXMKq3L9/T+jOcWqlBQN0pVhsu9DjBXsg/u/4=";
|
||||
rev = "2a2298d6aa12f9136b18cd85965f4a58e484f506";
|
||||
hash = "sha256-d81z+wUIQ/KUVa+GyXbT+E8dsG8Mdt1hZW1Qe1mmAiw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
zig_0_11.hook
|
||||
zig_0_12.hook
|
||||
];
|
||||
|
||||
zigBuildFlags = [
|
||||
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/fubark/cyber";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
inherit (zig_0_11.meta) platforms;
|
||||
inherit (zig_0_12.meta) platforms;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
bash,
|
||||
fish,
|
||||
zsh,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
@@ -36,11 +37,15 @@ buildGoModule rec {
|
||||
nativeCheckInputs = [
|
||||
fish
|
||||
zsh
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
export HOME=$(mktemp -d)
|
||||
runHook preCheck
|
||||
|
||||
make test-go test-bash test-fish test-zsh
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
testers,
|
||||
zig_0_11,
|
||||
zig_0_12,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dt";
|
||||
version = "1.3.1";
|
||||
version = "1.3.1-unstable-2024-07-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "so-dang-cool";
|
||||
repo = "dt";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-qHfvHf4T0wWnzqp5FfLg7n7te24xc2aMEdTK3Iia8Q0=";
|
||||
rev = "0d16ca2867131e99a93a412231465cf68f2e594f";
|
||||
hash = "sha256-pfTlOMJpOPbXZaJJvOKDUyCZxFHNLRRUteJFWT9IKOU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ zig_0_11.hook ];
|
||||
nativeBuildInputs = [ zig_0_12.hook ];
|
||||
|
||||
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||
|
||||
@@ -37,7 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
In short, dt is intended to be generally useful, with zero pretense of
|
||||
elegance.
|
||||
'';
|
||||
changelog = "https://github.com/so-dang-cool/dt/releases/tag/v${finalAttrs.version}";
|
||||
# TODO: uncomment when dt pushes a new release
|
||||
# changelog = "https://github.com/so-dang-cool/dt/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ booniepepper ];
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
"alpha": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio_linux_2.0.43.tar.xz"
|
||||
"factorio_linux_2.0.45.tar.xz"
|
||||
],
|
||||
"name": "factorio_alpha_x64-2.0.43.tar.xz",
|
||||
"name": "factorio_alpha_x64-2.0.45.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "971c293f46d2e021be762eb23c45c17746aa5b8ec74e30fef5f46fa32bb7e1aa",
|
||||
"sha256": "32b004a648dfc8b8e2bb6b82f648e5be458a13b7fefad79487a1d663c6f3b711",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.43/alpha/linux64",
|
||||
"version": "2.0.43"
|
||||
"url": "https://factorio.com/get-download/2.0.45/alpha/linux64",
|
||||
"version": "2.0.45"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
@@ -51,14 +51,14 @@
|
||||
"expansion": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-space-age_linux_2.0.43.tar.xz"
|
||||
"factorio-space-age_linux_2.0.45.tar.xz"
|
||||
],
|
||||
"name": "factorio_expansion_x64-2.0.43.tar.xz",
|
||||
"name": "factorio_expansion_x64-2.0.45.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "43d98f9dfa4edc15a622b9881f71673902710ef8aa12cccc7f6e8ccd7962488e",
|
||||
"sha256": "7a81be62a051b80166c9f6c9e94fca2e19a0ac65f19769f99a624772f87cdab4",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.43/expansion/linux64",
|
||||
"version": "2.0.43"
|
||||
"url": "https://factorio.com/get-download/2.0.45/expansion/linux64",
|
||||
"version": "2.0.45"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
@@ -75,15 +75,15 @@
|
||||
"headless": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-headless_linux_2.0.43.tar.xz",
|
||||
"factorio_headless_x64_2.0.43.tar.xz"
|
||||
"factorio-headless_linux_2.0.45.tar.xz",
|
||||
"factorio_headless_x64_2.0.45.tar.xz"
|
||||
],
|
||||
"name": "factorio_headless_x64-2.0.43.tar.xz",
|
||||
"name": "factorio_headless_x64-2.0.45.tar.xz",
|
||||
"needsAuth": false,
|
||||
"sha256": "bde6e167330c4439ce7df3ac519ea445120258ef676f1f6ad31d0c2816d3aee3",
|
||||
"sha256": "4fd7e04bb3ea7d12da8e1c3befc6b53b3c0064775c960a5a9db6a943f2259fc2",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.43/headless/linux64",
|
||||
"version": "2.0.43"
|
||||
"url": "https://factorio.com/get-download/2.0.45/headless/linux64",
|
||||
"version": "2.0.45"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "factoriolab";
|
||||
version = "3.13.2";
|
||||
version = "3.13.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "factoriolab";
|
||||
repo = "factoriolab";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-jZLrBt73Af1nmRxPcaTTRovQic4EdQryISlGznT7/iE=";
|
||||
hash = "sha256-HYf6G06dK3wvCOLnKx1aDteQ0SxBDE+yulGJa9VZE9Q=";
|
||||
};
|
||||
buildInputs = [ vips ];
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
let
|
||||
pname = "fiddler-everywhere";
|
||||
version = "6.3.0";
|
||||
version = "6.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.getfiddler.com/linux/fiddler-everywhere-${version}.AppImage";
|
||||
hash = "sha256-AqwIzjnSq579cSgBbslPXINhXAtGvl8Z7nOWdHzCmro=";
|
||||
hash = "sha256-b90O45IOF1F39fKOxyUk8ONTWhH7A367jJpzeKukj04=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
flutter327,
|
||||
stdenv,
|
||||
flutter,
|
||||
mpv-unwrapped,
|
||||
patchelf,
|
||||
fetchFromGitHub,
|
||||
@@ -8,16 +9,16 @@
|
||||
makeDesktopItem,
|
||||
}:
|
||||
let
|
||||
version = "0.9.14-beta";
|
||||
version = "0.9.15-beta";
|
||||
in
|
||||
flutter327.buildFlutterApplication {
|
||||
flutter.buildFlutterApplication {
|
||||
inherit version;
|
||||
pname = "finamp";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jmshrv";
|
||||
repo = "finamp";
|
||||
rev = version;
|
||||
hash = "sha256-SDzKB5KLHkJ3xcJY67TNBXDiDlBOApKrh4x0OZR/K/M=";
|
||||
hash = "sha256-ekCdHU9z8nxcIFz3oN0txlIKWAwhMV8Q5/t5QYvbzCc=";
|
||||
};
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
|
||||
@@ -64,6 +65,8 @@ flutter327.buildFlutterApplication {
|
||||
];
|
||||
|
||||
meta = {
|
||||
# Finamp depends on `ìsar`, which for Linux is only compiled for x86_64. https://github.com/jmshrv/finamp/issues/766
|
||||
broken = stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64;
|
||||
description = "Open source Jellyfin music player";
|
||||
homepage = "https://github.com/jmshrv/finamp";
|
||||
license = lib.licenses.mpl20;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"version": "0.3.3"
|
||||
},
|
||||
"analyzer": {
|
||||
"dependency": "direct overridden",
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "analyzer",
|
||||
"sha256": "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e",
|
||||
@@ -27,7 +27,7 @@
|
||||
"version": "6.11.0"
|
||||
},
|
||||
"analyzer_plugin": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct overridden",
|
||||
"description": {
|
||||
"name": "analyzer_plugin",
|
||||
"sha256": "9661b30b13a685efaee9f02e5d01ed9f2b423bd889d28a304d02d704aee69161",
|
||||
@@ -50,31 +50,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a",
|
||||
"sha256": "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.2"
|
||||
"version": "4.0.4"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "args",
|
||||
"sha256": "bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6",
|
||||
"sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.6.0"
|
||||
"version": "2.7.0"
|
||||
},
|
||||
"async": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "async",
|
||||
"sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
|
||||
"sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.11.0"
|
||||
"version": "2.12.0"
|
||||
},
|
||||
"audio_service": {
|
||||
"dependency": "direct main",
|
||||
@@ -90,11 +90,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "audio_service_mpris",
|
||||
"sha256": "b16db3584a4b2464c0bfd575c1a21765723d257931222f8adfcb0511f940d352",
|
||||
"sha256": "fdab1ae1f659c6db36d5cc396e46e4ee9663caefa6153f8453fcd01d57567c08",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.1.5"
|
||||
"version": "0.2.0"
|
||||
},
|
||||
"audio_service_platform_interface": {
|
||||
"dependency": "direct main",
|
||||
@@ -140,11 +140,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "background_downloader",
|
||||
"sha256": "ed64a215cd24c83a478f602364a3ca86a6dafd178ad783188cc32c6956d5e529",
|
||||
"sha256": "c3814aa0466368a4c1c32d24bc73ded752edacf06731ead43857a3ac992ed52d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.9.4"
|
||||
"version": "8.9.5"
|
||||
},
|
||||
"balanced_text": {
|
||||
"dependency": "direct main",
|
||||
@@ -181,14 +181,14 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "boolean_selector",
|
||||
"sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66",
|
||||
"sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"build": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "build",
|
||||
"sha256": "cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0",
|
||||
@@ -271,21 +271,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2",
|
||||
"sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.9.3"
|
||||
"version": "8.9.5"
|
||||
},
|
||||
"characters": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "characters",
|
||||
"sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605",
|
||||
"sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.0"
|
||||
"version": "1.4.0"
|
||||
},
|
||||
"checked_yaml": {
|
||||
"dependency": "transitive",
|
||||
@@ -351,11 +351,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "clock",
|
||||
"sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf",
|
||||
"sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.1"
|
||||
"version": "1.1.2"
|
||||
},
|
||||
"code_builder": {
|
||||
"dependency": "transitive",
|
||||
@@ -371,11 +371,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "collection",
|
||||
"sha256": "a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf",
|
||||
"sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.19.0"
|
||||
"version": "1.19.1"
|
||||
},
|
||||
"color": {
|
||||
"dependency": "transitive",
|
||||
@@ -431,31 +431,31 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "custom_lint",
|
||||
"sha256": "3486c470bb93313a9417f926c7dd694a2e349220992d7b9d14534dc49c15bba9",
|
||||
"sha256": "409c485fd14f544af1da965d5a0d160ee57cd58b63eeaa7280a4f28cf5bda7f1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.0"
|
||||
"version": "0.7.5"
|
||||
},
|
||||
"custom_lint_builder": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "custom_lint_builder",
|
||||
"sha256": "42cdc41994eeeddab0d7a722c7093ec52bd0761921eeb2cbdbf33d192a234759",
|
||||
"sha256": "107e0a43606138015777590ee8ce32f26ba7415c25b722ff0908a6f5d7a4c228",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.0"
|
||||
"version": "0.7.5"
|
||||
},
|
||||
"custom_lint_core": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "custom_lint_core",
|
||||
"sha256": "02450c3e45e2a6e8b26c4d16687596ab3c4644dd5792e3313aa9ceba5a49b7f5",
|
||||
"sha256": "31110af3dde9d29fb10828ca33f1dce24d2798477b167675543ce3d208dee8be",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.0"
|
||||
"version": "0.7.5"
|
||||
},
|
||||
"custom_lint_visitor": {
|
||||
"dependency": "transitive",
|
||||
@@ -501,11 +501,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "device_info_plus",
|
||||
"sha256": "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da",
|
||||
"sha256": "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "11.3.0"
|
||||
"version": "11.3.3"
|
||||
},
|
||||
"device_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@@ -541,21 +541,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "fake_async",
|
||||
"sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78",
|
||||
"sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.1"
|
||||
"version": "1.3.2"
|
||||
},
|
||||
"ffi": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "ffi",
|
||||
"sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
|
||||
"sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.3"
|
||||
"version": "2.1.4"
|
||||
},
|
||||
"file": {
|
||||
"dependency": "transitive",
|
||||
@@ -571,11 +571,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "file_picker",
|
||||
"sha256": "3d57312a53746ed4eb8c843dc50372454bbda37dd0c01a4d40fedc83e2ce4921",
|
||||
"sha256": "8d938fd5c11dc81bf1acd4f7f0486c683fe9e79a0b13419e27730f9ce4d8a25b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.3.5"
|
||||
"version": "9.2.1"
|
||||
},
|
||||
"file_sizes": {
|
||||
"dependency": "direct main",
|
||||
@@ -627,21 +627,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_gen_core",
|
||||
"sha256": "53890b653738f34363d9f0d40f82104c261716bd551d3ba65f648770b6764c21",
|
||||
"sha256": "3eaa2d3d8be58267ac4cd5e215ac965dd23cae0410dc073de2e82e227be32bfc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.9.0"
|
||||
"version": "5.10.0"
|
||||
},
|
||||
"flutter_gen_runner": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "flutter_gen_runner",
|
||||
"sha256": "de70b42eb5329f712c8b041069d081ad5fb5109f32d6d1ea9c1b39596786215d",
|
||||
"sha256": "e74b4ead01df3e8f02e73a26ca856759dbbe8cb3fd60941ba9f4005cd0cd19c9",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.9.0"
|
||||
"version": "5.10.0"
|
||||
},
|
||||
"flutter_launcher_icons": {
|
||||
"dependency": "direct dev",
|
||||
@@ -673,11 +673,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_plugin_android_lifecycle",
|
||||
"sha256": "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e",
|
||||
"sha256": "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.24"
|
||||
"version": "2.0.27"
|
||||
},
|
||||
"flutter_riverpod": {
|
||||
"dependency": "direct main",
|
||||
@@ -785,11 +785,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "freezed_annotation",
|
||||
"sha256": "c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2",
|
||||
"sha256": "c87ff004c8aa6af2d531668b46a4ea379f7191dc6dfa066acd53d506da6e044b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.4"
|
||||
"version": "3.0.0"
|
||||
},
|
||||
"frontend_server_client": {
|
||||
"dependency": "transitive",
|
||||
@@ -841,35 +841,35 @@
|
||||
"source": "hosted",
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"hive": {
|
||||
"hive_ce": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "hive",
|
||||
"sha256": "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941",
|
||||
"name": "hive_ce",
|
||||
"sha256": "ac66daee46ad46486a1ed12cf91e9d7479c875fb46889be8d2c96b557406647f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.3"
|
||||
"version": "2.10.1"
|
||||
},
|
||||
"hive_flutter": {
|
||||
"hive_ce_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "hive_flutter",
|
||||
"sha256": "dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc",
|
||||
"name": "hive_ce_flutter",
|
||||
"sha256": "74c1d5f10d803446b4e7913bb272137e2724ba8a56465444f9e7713aeb60a877",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.0"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"hive_generator": {
|
||||
"hive_ce_generator": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "hive_generator",
|
||||
"sha256": "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4",
|
||||
"name": "hive_ce_generator",
|
||||
"sha256": "0b1c750e2d10c55a14cde16d479ada42704be6cef43c54b728ed0e4e02f7d808",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
"version": "1.8.2"
|
||||
},
|
||||
"hotreloader": {
|
||||
"dependency": "transitive",
|
||||
@@ -915,11 +915,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "image",
|
||||
"sha256": "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6",
|
||||
"sha256": "13d3349ace88f12f4a0d175eb5c12dcdd39d35c4c109a8a13dfeb6d0bd9e31c3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.5.2"
|
||||
"version": "4.5.3"
|
||||
},
|
||||
"image_size_getter": {
|
||||
"dependency": "transitive",
|
||||
@@ -1015,11 +1015,11 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "json_serializable",
|
||||
"sha256": "c2fcb3920cf2b6ae6845954186420fca40bc0a8abcc84903b7801f17d7050d7c",
|
||||
"sha256": "81f04dee10969f89f604e1249382d46b97a1ccad53872875369622b5bfc9e58a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.9.0"
|
||||
"version": "6.9.4"
|
||||
},
|
||||
"just_audio": {
|
||||
"dependency": "direct main",
|
||||
@@ -1065,21 +1065,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker",
|
||||
"sha256": "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06",
|
||||
"sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.0.7"
|
||||
"version": "10.0.8"
|
||||
},
|
||||
"leak_tracker_flutter_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"sha256": "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379",
|
||||
"sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.8"
|
||||
"version": "3.0.9"
|
||||
},
|
||||
"leak_tracker_testing": {
|
||||
"dependency": "transitive",
|
||||
@@ -1145,11 +1145,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "matcher",
|
||||
"sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
|
||||
"sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.12.16+1"
|
||||
"version": "0.12.17"
|
||||
},
|
||||
"material_color_utilities": {
|
||||
"dependency": "transitive",
|
||||
@@ -1193,14 +1193,14 @@
|
||||
"version": "1.0.9"
|
||||
},
|
||||
"meta": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "meta",
|
||||
"sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
|
||||
"sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.15.0"
|
||||
"version": "1.16.0"
|
||||
},
|
||||
"mime": {
|
||||
"dependency": "transitive",
|
||||
@@ -1246,31 +1246,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "package_config",
|
||||
"sha256": "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67",
|
||||
"sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"package_info_plus": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "package_info_plus",
|
||||
"sha256": "67eae327b1b0faf761964a1d2e5d323c797f3799db0e85aa232db8d9e922bc35",
|
||||
"sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.2.1"
|
||||
"version": "8.3.0"
|
||||
},
|
||||
"package_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "package_info_plus_platform_interface",
|
||||
"sha256": "205ec83335c2ab9107bbba3f8997f9356d72ca3c715d2f038fc773d0366b4c76",
|
||||
"sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.0"
|
||||
"version": "3.2.0"
|
||||
},
|
||||
"palette_generator": {
|
||||
"dependency": "direct main",
|
||||
@@ -1287,11 +1287,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "path",
|
||||
"sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
|
||||
"sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.9.0"
|
||||
"version": "1.9.1"
|
||||
},
|
||||
"path_parsing": {
|
||||
"dependency": "transitive",
|
||||
@@ -1317,11 +1317,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_android",
|
||||
"sha256": "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2",
|
||||
"sha256": "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.15"
|
||||
"version": "2.2.16"
|
||||
},
|
||||
"path_provider_foundation": {
|
||||
"dependency": "transitive",
|
||||
@@ -1367,31 +1367,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "permission_handler",
|
||||
"sha256": "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb",
|
||||
"sha256": "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "11.3.1"
|
||||
"version": "11.4.0"
|
||||
},
|
||||
"permission_handler_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "permission_handler_android",
|
||||
"sha256": "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1",
|
||||
"sha256": "d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "12.0.13"
|
||||
"version": "12.1.0"
|
||||
},
|
||||
"permission_handler_apple": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "permission_handler_apple",
|
||||
"sha256": "e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0",
|
||||
"sha256": "f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.4.5"
|
||||
"version": "9.4.6"
|
||||
},
|
||||
"permission_handler_html": {
|
||||
"dependency": "transitive",
|
||||
@@ -1407,11 +1407,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "permission_handler_platform_interface",
|
||||
"sha256": "e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9",
|
||||
"sha256": "eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2.3"
|
||||
"version": "4.3.0"
|
||||
},
|
||||
"permission_handler_windows": {
|
||||
"dependency": "transitive",
|
||||
@@ -1487,11 +1487,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "pub_semver",
|
||||
"sha256": "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd",
|
||||
"sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.5"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"pubspec_parse": {
|
||||
"dependency": "transitive",
|
||||
@@ -1507,11 +1507,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "qs_dart",
|
||||
"sha256": "98a068f7224fe17b68028dbbd43dd48a6049d2de2175f50b2fad2e08f2811f0e",
|
||||
"sha256": "c775dbe663cd59365050220b3499dee259b72ad6b352a3e087a15bd77e161b74",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.2"
|
||||
"version": "1.3.3+1"
|
||||
},
|
||||
"recursive_regex": {
|
||||
"dependency": "transitive",
|
||||
@@ -1537,11 +1537,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "riverpod_analyzer_utils",
|
||||
"sha256": "c6b8222b2b483cb87ae77ad147d6408f400c64f060df7a225b127f4afef4f8c8",
|
||||
"sha256": "03a17170088c63aab6c54c44456f5ab78876a1ddb6032ffde1662ddab4959611",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.8"
|
||||
"version": "0.5.10"
|
||||
},
|
||||
"riverpod_annotation": {
|
||||
"dependency": "direct main",
|
||||
@@ -1557,21 +1557,21 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "riverpod_generator",
|
||||
"sha256": "63546d70952015f0981361636bf8f356d9cfd9d7f6f0815e3c07789a41233188",
|
||||
"sha256": "44a0992d54473eb199ede00e2260bd3c262a86560e3c6f6374503d86d0580e36",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.6.3"
|
||||
"version": "2.6.5"
|
||||
},
|
||||
"riverpod_lint": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "riverpod_lint",
|
||||
"sha256": "83e4caa337a9840469b7b9bd8c2351ce85abad80f570d84146911b32086fbd99",
|
||||
"sha256": "89a52b7334210dbff8605c3edf26cfe69b15062beed5cbfeff2c3812c33c9e35",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.6.3"
|
||||
"version": "2.6.5"
|
||||
},
|
||||
"rxdart": {
|
||||
"dependency": "direct main",
|
||||
@@ -1730,14 +1730,14 @@
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"source_gen": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "source_gen",
|
||||
"sha256": "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832",
|
||||
"sha256": "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.5.0"
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"source_helper": {
|
||||
"dependency": "transitive",
|
||||
@@ -1753,11 +1753,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "source_span",
|
||||
"sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
|
||||
"sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
"version": "1.10.1"
|
||||
},
|
||||
"split_view": {
|
||||
"dependency": "direct main",
|
||||
@@ -1834,11 +1834,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "stack_trace",
|
||||
"sha256": "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377",
|
||||
"sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.12.0"
|
||||
"version": "1.12.1"
|
||||
},
|
||||
"state_notifier": {
|
||||
"dependency": "transitive",
|
||||
@@ -1854,11 +1854,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "stream_channel",
|
||||
"sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7",
|
||||
"sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.2"
|
||||
"version": "2.1.4"
|
||||
},
|
||||
"stream_transform": {
|
||||
"dependency": "transitive",
|
||||
@@ -1874,11 +1874,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "string_scanner",
|
||||
"sha256": "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3",
|
||||
"sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.0"
|
||||
"version": "1.4.1"
|
||||
},
|
||||
"synchronized": {
|
||||
"dependency": "transitive",
|
||||
@@ -1894,21 +1894,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "term_glyph",
|
||||
"sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
|
||||
"sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.1"
|
||||
"version": "1.2.2"
|
||||
},
|
||||
"test_api": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "test_api",
|
||||
"sha256": "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c",
|
||||
"sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.3"
|
||||
"version": "0.7.4"
|
||||
},
|
||||
"time": {
|
||||
"dependency": "transitive",
|
||||
@@ -1994,11 +1994,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_android",
|
||||
"sha256": "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193",
|
||||
"sha256": "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.3.14"
|
||||
"version": "6.3.15"
|
||||
},
|
||||
"url_launcher_ios": {
|
||||
"dependency": "transitive",
|
||||
@@ -2134,11 +2134,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vm_service",
|
||||
"sha256": "f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b",
|
||||
"sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "14.3.0"
|
||||
"version": "14.3.1"
|
||||
},
|
||||
"wakelock_plus": {
|
||||
"dependency": "direct main",
|
||||
@@ -2184,11 +2184,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "web",
|
||||
"sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
|
||||
"sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.0"
|
||||
"version": "1.1.1"
|
||||
},
|
||||
"web_socket": {
|
||||
"dependency": "transitive",
|
||||
@@ -2214,21 +2214,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32",
|
||||
"sha256": "daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e",
|
||||
"sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.10.1"
|
||||
"version": "5.12.0"
|
||||
},
|
||||
"win32_registry": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32_registry",
|
||||
"sha256": "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852",
|
||||
"sha256": "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.5"
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"window_manager": {
|
||||
"dependency": "direct main",
|
||||
@@ -2279,10 +2279,20 @@
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.3"
|
||||
},
|
||||
"yaml_writer": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "yaml_writer",
|
||||
"sha256": "69651cd7238411179ac32079937d4aa9a2970150d6b2ae2c6fe6de09402a5dc5",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.0"
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.6.0 <4.0.0",
|
||||
"dart": ">=3.7.0 <4.0.0",
|
||||
"flutter": ">=3.27.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,8 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
testers,
|
||||
zig_0_11,
|
||||
zig,
|
||||
}:
|
||||
let
|
||||
zig = zig_0_11;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "findup";
|
||||
version = "1.1.2";
|
||||
@@ -24,6 +21,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||
|
||||
meta = {
|
||||
# Doesn't support zig 0.12 or newer, last commit was 2 years ago.
|
||||
broken = lib.versionAtLeast zig.version "0.12";
|
||||
homepage = "https://github.com/booniepepper/findup";
|
||||
description = "Search parent directories for sentinel files";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.21.0";
|
||||
version = "1.22.0";
|
||||
|
||||
# build stimuli file for PGO build and the script to generate it
|
||||
# independently of the foot's build, so we can cache the result
|
||||
@@ -104,7 +104,7 @@ stdenv.mkDerivation {
|
||||
owner = "dnkl";
|
||||
repo = "foot";
|
||||
rev = version;
|
||||
hash = "sha256:19hkw4g2l00wasmk5dn34rf3bhqh6zbwwhvz98bdcv90p761jws4";
|
||||
hash = "sha256-OCDFfOEyE8CrgisswSfPXH1rNoaM1C1ztm9R77P0MOk=";
|
||||
};
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.6.11";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GopeedLab";
|
||||
repo = "gopeed";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ayPqLRWYSa0rSHqGFS4xp3wUVAl4tfsSPs/SQcUQD60=";
|
||||
hash = "sha256-9xAArQhf1lAWL6mbx6wuGY3xhKAMigpWFrX8P6/olMY=";
|
||||
};
|
||||
|
||||
metaCommon = {
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
lib,
|
||||
}:
|
||||
let
|
||||
version = "0.10.2";
|
||||
version = "0.10.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "gose";
|
||||
owner = "stv0g";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-xyAOag2/GaIVttTLnx/6ljkpWbJmsOfyYyWzOAHOQ2I=";
|
||||
hash = "sha256-CYMpibAvuOScKoCP212MSoAt0hhQhEP0uQK7y/YPk9Q=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
@@ -37,7 +37,7 @@ buildGoModule {
|
||||
inherit version;
|
||||
inherit src;
|
||||
|
||||
vendorHash = "sha256-/Drb5Mxz37rNYfHdydl3z+xvFtjGwuzSsG4gkbx/h1o=";
|
||||
vendorHash = "sha256-oz2nmJxnmhj2InN4E7tyz5iWr4geraGszz3QePKuEMM=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "hydrus";
|
||||
version = "614";
|
||||
version = "617";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-7UYi2dbpoGy373akOKFJjssxMdCKjpv4IgPMqBoe93Q=";
|
||||
hash = "sha256-yvnfG7XxGowa3wRZjNsl/WnptdllWWFT/eIFq0TEey8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -62,16 +62,16 @@ let
|
||||
++ recommendedSystemPrograms
|
||||
++ recommendedDisplayInformationPrograms;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "inxi";
|
||||
version = "3.3.37-1";
|
||||
version = "3.3.38-1";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "smxi";
|
||||
repo = "inxi";
|
||||
rev = version;
|
||||
hash = "sha256-LyIKjXdfE2sK81zFpXPneaFyfKqa4tU4GfXtt89TZOg=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-+2NPQUn2A8Xy5ByKYS3MOcad6xXvkqcusWEMr7mkEwA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
|
||||
cp inxi.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Full featured CLI system information tool";
|
||||
longDescription = ''
|
||||
inxi is a command line system information script built for console and
|
||||
@@ -97,10 +97,10 @@ stdenv.mkDerivation rec {
|
||||
Processes, RAM usage, and a wide variety of other useful information.
|
||||
'';
|
||||
homepage = "https://smxi.org/docs/inxi.htm";
|
||||
changelog = "https://github.com/smxi/inxi/blob/${version}/inxi.changelog";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
changelog = "https://codeberg.org/smxi/inxi/src/tag/${finalAttrs.version}/inxi.changelog";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = [ ];
|
||||
mainProgram = "inxi";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -4,32 +4,35 @@
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "jd-diff-patch";
|
||||
version = "2.1.2";
|
||||
version = "2.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josephburnett";
|
||||
repo = "jd";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-chCxbbRZEE29KVnTQWID889kJ2H4qJGVL+vsxzr6VtA=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-sA3NzCl9dR6cZnZNFa7Sqb1KUPSWA1h8ReZqR+SRjgk";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/v2";
|
||||
|
||||
# not including web ui
|
||||
excludedPackages = [
|
||||
"gae"
|
||||
"pack"
|
||||
];
|
||||
|
||||
vendorHash = null;
|
||||
vendorHash = "sha256-Ol+9YwtJ5P6au1aW2ss9mrU9l5G3iBviX5q1qC0K+vc=";
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Commandline utility and Go library for diffing and patching JSON values";
|
||||
homepage = "https://github.com/josephburnett/jd";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
bryanasdev000
|
||||
juliusfreudenberger
|
||||
];
|
||||
mainProgram = "jd";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "just-lsp";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "terror";
|
||||
repo = "just-lsp";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-c/fdj4lEmID4u97fGPXnPLULS7Rxe6P8icmsfjGjT+w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qPMtYaCvSAnLXrLX20QKbgXo9L1HYxJW4uZIzXhpD/A=";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Language server for just";
|
||||
homepage = "https://github.com/terror/just-lsp";
|
||||
license = lib.licenses.cc0;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
mainProgram = "just-lsp";
|
||||
};
|
||||
})
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubevpn";
|
||||
version = "2.6.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KubeNetworks";
|
||||
repo = "kubevpn";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-P01hjVAA3h/TBPl8q9KuZoE5xWAhmJ5E2nFSuvfWIIg=";
|
||||
hash = "sha256-Og84vFDPGpvQwmS3xL3HBxk/vSnvZbbLvDEyvMbj+GU=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -1,24 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
SDL,
|
||||
SDL_mixer,
|
||||
sdl2-compat,
|
||||
SDL2_mixer,
|
||||
SDL2_image,
|
||||
SDL2_ttf,
|
||||
directoryListingUpdater,
|
||||
fetchurl,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lgames-ltris";
|
||||
version = "1.2.8";
|
||||
pname = "ltris";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/lgames/ltris-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-2e5haaU2pqkBk82qiF/3HQgSBVPHP09UwW+TQqpGUqA=";
|
||||
url = "mirror://sourceforge/lgames/ltris2-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-+w8WTASYj/AWcBg9W3dmZ0cyCmlZNhDZ0l/WwhRfJRk=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
SDL
|
||||
SDL_mixer
|
||||
sdl2-compat
|
||||
SDL2_mixer
|
||||
SDL2_image
|
||||
SDL2_ttf
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
@@ -32,10 +36,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
homepage = "https://lgames.sourceforge.io/LTris/";
|
||||
description = "Tetris clone from the LGames series";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
mainProgram = "ltris";
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
inherit (SDL.meta) platforms;
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
mainProgram = "ltris2";
|
||||
maintainers = with lib.maintainers; [ marcin-serwin ];
|
||||
platforms = lib.platforms.all;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "maeparser";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schrodinger";
|
||||
repo = "maeparser";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+eCTOU0rqFQC87wcxgINGLsULfbIr/wKxQTkRR59JVc=";
|
||||
sha256 = "sha256-LTE1YGw6DiWnpUGB9x3vFVArcYd8zO49b4tqpqK30eA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -94,7 +94,6 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "Utilities for encoding and decoding binary files in MIME";
|
||||
license = licenses.free;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tomodachi94 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,6 +27,13 @@ stdenv.mkDerivation rec {
|
||||
configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
# detection fails when cross-compiling
|
||||
"ac_cv_func_malloc_0_nonnull=yes"
|
||||
"ac_cv_func_realloc_0_nonnull=yes"
|
||||
"ac_cv_func_strtod=yes"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
readline
|
||||
libmysqlclient
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
copyDesktopItems,
|
||||
electron,
|
||||
electron_35,
|
||||
fetchFromGitHub,
|
||||
jq,
|
||||
makeDesktopItem,
|
||||
@@ -15,16 +15,17 @@ let
|
||||
description = "Unofficial desktop application for the open-source design tool, Penpot";
|
||||
icon = "penpot";
|
||||
nodejs = nodejs_22;
|
||||
electron = electron_35;
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "penpot-desktop";
|
||||
version = "0.11.0";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "author-more";
|
||||
repo = "penpot-desktop";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-33LAhR0L7pAnS27dz5DuqgfUllyAFA9JVZRmrHoajE4=";
|
||||
hash = "sha256-ga37rZ70Xfll3y58uKC4d57NJOxQzQZZps/j/baxkPk=";
|
||||
};
|
||||
|
||||
makeCacheWritable = true;
|
||||
@@ -32,7 +33,7 @@ buildNpmPackage rec {
|
||||
"--engine-strict"
|
||||
"--legacy-peer-deps"
|
||||
];
|
||||
npmDepsHash = "sha256-BR51Oi9Ffxy7d0fBkSQ6Iz/PVi+ghIaLqzm3Loq6aDo=";
|
||||
npmDepsHash = "sha256-E8b/L5g+Xt/N3ddOPgm7xkbb5jQtL5ceFtJW6DQN4nA=";
|
||||
# Do not run the default build script as it leads to errors caused by the electron-builder configuration
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
@@ -1,30 +1,40 @@
|
||||
{
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
libxcrypt,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pies";
|
||||
version = "1.3";
|
||||
version = "1.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/pies/${pname}-${version}.tar.bz2";
|
||||
sha256 = "12r7rjjyibjdj08dvwbp0iflfpzl4s0zhn6cr6zj3hwf9gbzgl1g";
|
||||
url = "mirror://gnu/pies/pies-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-ZSi00WmC6il4+aSohqFKrKjtp6xFXYE7IIRGVwFmHWw=";
|
||||
};
|
||||
|
||||
buildInputs = [ libxcrypt ];
|
||||
|
||||
patches = [ ./stdlib.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace configure \
|
||||
--replace-fail "gl_cv_func_memchr_works=\"guessing no\"" "gl_cv_func_memchr_works=yes"
|
||||
'';
|
||||
|
||||
configureFlags = [ "--sysconfdir=/etc" ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
meta = {
|
||||
description = "Program invocation and execution supervisor";
|
||||
|
||||
longDescription = ''
|
||||
The name Pies (pronounced "p-yes") stands for Program Invocation and
|
||||
Execution Supervisor. This utility starts and controls execution of
|
||||
@@ -45,12 +55,10 @@ stdenv.mkDerivation rec {
|
||||
Jabberd or MeTA1 (and it offers much more control over them than the
|
||||
native utilities). Finally, it can replace the inetd utility!
|
||||
'';
|
||||
|
||||
license = lib.licenses.gpl3Plus;
|
||||
|
||||
homepage = "https://www.gnu.org/software/pies/";
|
||||
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.gnu ++ lib.platforms.linux;
|
||||
broken = stdenv.hostPlatform.system == "aarch64-linux";
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/src/pies.c b/src/pies.c
|
||||
index 9355d50..9fe6109 100644
|
||||
--- a/src/pies.c
|
||||
+++ b/src/pies.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <configmake.h>
|
||||
#include "meta1parse.h"
|
||||
#include "grecsasrt.h"
|
||||
+#include <stdlib.h>
|
||||
|
||||
int preprocess_only; /* Preprocess config, do nothing more */
|
||||
int lint_mode; /* Test configuration syntax and exit */
|
||||
diff --git a/src/piesctl.c b/src/piesctl.c
|
||||
index a0ac967..fd6c3e2 100644
|
||||
--- a/src/piesctl.c
|
||||
+++ b/src/piesctl.c
|
||||
@@ -14,6 +14,7 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Pies. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
+#include <stdlib.h>
|
||||
#include <config.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
@@ -2,31 +2,70 @@
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
xz,
|
||||
ipxe,
|
||||
stdenv,
|
||||
perl,
|
||||
go-bindata,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
let
|
||||
rebuildIpxe = stdenv.system == "x86_64-linux";
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "pixiecore";
|
||||
version = "2020-03-25";
|
||||
rev = "68743c67a60c18c06cd21fd75143e3e069ca3cfc";
|
||||
version = "0-unstable-2024-05-31";
|
||||
rev = "2ed7bd30206a51bae786b02d9a5b8156fdcc8870";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danderson";
|
||||
repo = "netboot";
|
||||
inherit rev;
|
||||
hash = "sha256-SoD871PaL5/oabKeHFE2TLTTj/CFS4dfggjMN3qlupE=";
|
||||
hash = "sha256-pG4nzzJRWI1rAHS5kBcefNi0ee0/a3jwE+RmR4Dj8jo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-hytMhf7fz4XiRJH7MnGLmNH+iIzPDz9/rRJBPp2pwyI=";
|
||||
vendorHash = "sha256-3cVGDAZWhmZ1byvjoRodSWMNHCpNujDOAVQKHNntHR8=";
|
||||
|
||||
patches = [
|
||||
# part of https://github.com/danderson/netboot/pull/144
|
||||
# Also backed up in https://github.com/danderson/netboot/compare/main...Mic92:netboot:upgrade-go-mod-117?expand=1
|
||||
(fetchpatch {
|
||||
url = "https://github.com/danderson/netboot/commit/c999a6ca573c973e760c8df531b4c970c21f3d05.patch";
|
||||
sha256 = "sha256-pRWcBz24cqqajLvJffugB/T6lKGVtvOG4ch3vyzDDQQ=";
|
||||
})
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
# De-vendor ipxe, only on x86_64-linux for now.
|
||||
# In future we can do this also for more systems, if we do cross-compilation.
|
||||
buildInputs = lib.optionals rebuildIpxe [ xz ];
|
||||
nativeBuildInputs = lib.optionals rebuildIpxe [
|
||||
perl
|
||||
go-bindata
|
||||
];
|
||||
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error" ];
|
||||
preBuild = lib.optionalString rebuildIpxe ''
|
||||
# don't run in our go-modules phase but only in the normal build phase
|
||||
if echo $NIX_CFLAGS_COMPILE | grep -q xz; then
|
||||
rm -rf ./third_party/ipxe
|
||||
cp -r ${ipxe.src} ./third_party/ipxe
|
||||
chmod -R u+w ./third_party/ipxe
|
||||
make update-ipxe -j$NIX_BUILD_CORES
|
||||
fi
|
||||
'';
|
||||
|
||||
subPackages = [ "cmd/pixiecore" ];
|
||||
|
||||
meta = {
|
||||
description = "Tool to manage network booting of machines";
|
||||
homepage = "https://github.com/danderson/netboot/tree/master/pixiecore";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ bbigras ];
|
||||
maintainers = with lib.maintainers; [
|
||||
bbigras
|
||||
mic92
|
||||
];
|
||||
mainProgram = "pixiecore";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,39 +2,46 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
protobuf,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "postgres-lsp";
|
||||
version = "0-unstable-2024-03-24";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "supabase";
|
||||
repo = "postgres_lsp";
|
||||
rev = "43ca9b675cb152ca7f38cfa6aff6dd2131dfa9a2";
|
||||
hash = "sha256-n7Qbt9fGzC0CcleAtTWDInPz4oaPjI+pvIPrR5EYJ9U=";
|
||||
owner = "supabase-community";
|
||||
repo = "postgres-language-server";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JRCuqJvC+OBdYe2JORwOfghr7smVLsROwrhk5H+SSkc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-9T3bm/TSjnFeF8iE4338I44espnFq6l36yOq8YFPaPQ=";
|
||||
cargoHash = "sha256-lUZpjX3HljOXi0Wt2xZCUru8uinWlngLEs5wlqfFiJA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
cargoBuildFlags = [ "-p=postgres_lsp" ];
|
||||
cargoTestFlags = cargoBuildFlags;
|
||||
env = {
|
||||
SQLX_OFFLINE = 1;
|
||||
|
||||
RUSTC_BOOTSTRAP = 1; # We need rust unstable features
|
||||
|
||||
meta = with lib; {
|
||||
description = "Language Server for Postgres";
|
||||
homepage = "https://github.com/supabase/postgres_lsp";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
mainProgram = "postgres_lsp";
|
||||
# As specified in the upstream: https://github.com/supabase-community/postgres-language-server/blob/main/.github/workflows/release.yml
|
||||
RUSTFLAGS = "-C strip=symbols -C codegen-units=1";
|
||||
PGT_VERSION = finalAttrs.version;
|
||||
};
|
||||
}
|
||||
|
||||
cargoBuildFlags = [ "-p=pgt_cli" ];
|
||||
cargoTestFlags = finalAttrs.cargoBuildFlags;
|
||||
checkFlags = [
|
||||
# Tries to write to the file system relatively to the current path
|
||||
"--skip=syntax_error"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Tools and language server for Postgres";
|
||||
homepage = "https://pgtools.dev";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ figsoda ];
|
||||
mainProgram = "postgrestools";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -3,15 +3,16 @@
|
||||
fetchurl,
|
||||
webkitgtk_4_1,
|
||||
libsoup_3,
|
||||
libpng,
|
||||
lib,
|
||||
}:
|
||||
let
|
||||
pname = "qidi-slicer";
|
||||
version = "1.2.1";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/QIDITECH/QIDISlicer/releases/download/V${version}/QIDISlicer_${version}_Linux_ubuntu_24.04.AppImage";
|
||||
hash = "sha256-sKdNAhnL2jk4UaSxFwKEFKGiC3kvpkyXRzbMXVAg7Kk=";
|
||||
url = "https://github.com/QIDITECH/QIDISlicer/releases/download/V${version}/QIDISlicer_${version}_Linux_Ubuntu24.AppImage";
|
||||
hash = "sha256-76bdVQu+xCf6uCwkHcpLNNna5MgHm4vbuwMFoQ26N0Y=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
@@ -23,6 +24,7 @@ appimageTools.wrapType2 {
|
||||
extraPkgs = pkgs: [
|
||||
webkitgtk_4_1
|
||||
libsoup_3
|
||||
libpng
|
||||
];
|
||||
|
||||
extraInstallCommands = ''
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "r2modman";
|
||||
version = "3.1.57";
|
||||
version = "3.1.58";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ebkr";
|
||||
repo = "r2modmanPlus";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-1b24tclqXGx85BGFYL9cbthLScVWau2OmRh9YElfCLs=";
|
||||
hash = "sha256-ICLKkhgEi0ThWHLgm9fr0QXXtWMCAOJ6nkD66JR8XMo=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
stdenv,
|
||||
bash,
|
||||
perl,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -61,5 +62,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
shellPath = "/bin/rush";
|
||||
tests = { inherit (nixosTests) rush; };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "scite";
|
||||
version = "5.5.5";
|
||||
version = "5.5.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.scintilla.org/scite${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}.tgz";
|
||||
hash = "sha256-PkXS0qdYYuU10jGO56RgKk/RrOo2GK+7PR7AfSZszOU=";
|
||||
hash = "sha256-VmNP6NepkF7Ln9eh9pfStmch9nwIKKZTOYxkeduSxrI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "clamiax";
|
||||
repo = "snore";
|
||||
rev = version;
|
||||
tag = version;
|
||||
hash = "sha256-bKPGSePzp4XEZFY0QQr37fm3R1v3hLD6FeySFd7zNJc=";
|
||||
};
|
||||
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "spider";
|
||||
version = "2.36.34";
|
||||
version = "2.36.73";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spider-rs";
|
||||
repo = "spider";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-gdjXTIUeVMjjRq/MfYuvISVt9lFXfIewF6oZ/a46mUE=";
|
||||
hash = "sha256-ad5WihYMCJ1TbZGO4pQwGYTUZ2K993bynT7+KFTLGwY=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-gb+WwxiPBoX2QUuRNmOq1J/q0TnmFvmimBAhZ4+It+E=";
|
||||
cargoHash = "sha256-rCmuYRPxz29dKpIoC6fXB5h8+3fERMCcERm+C2juzZA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
fetchzip,
|
||||
buildGo123Module,
|
||||
buildGo124Module,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGo123Module rec {
|
||||
buildGo124Module rec {
|
||||
pname = "traefik";
|
||||
version = "3.3.4";
|
||||
version = "3.3.6";
|
||||
|
||||
# Archive with static assets for webui
|
||||
src = fetchzip {
|
||||
url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
|
||||
hash = "sha256-KXFpdk1VMYzGldFp/b5Ss6aJvL9yG4kSbM4LOIBUL5A=";
|
||||
hash = "sha256-HA/JSwcss5ytGPqe2dqsKTZxuhWeC/yi8Mva4YVFeDs=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-wtZFViVNvNuhHvI1YR2ome1rs2DIAd3Iurmpi9Y6F2w=";
|
||||
vendorHash = "sha256-23BkkfJ6XLAygeeKipJk4puV5sGILb8rXEEA4qJWZS4=";
|
||||
|
||||
subPackages = [ "cmd/traefik" ];
|
||||
|
||||
@@ -39,6 +40,8 @@ buildGo123Module rec {
|
||||
inherit (nixosTests) traefik;
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://traefik.io";
|
||||
description = "Modern reverse proxy";
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ugm";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ariasmn";
|
||||
repo = "ugm";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FTgu5bzhX+B71dj4wHcgwbtrde5fzF98zMV1lRO++AE=";
|
||||
hash = "sha256-JgdOoMH8TAUc+23AhU3tZe4SH8GKFeyjSeKm8U7qvpo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Nz9Be2Slfan6FmV9/OxVh7GrLgHBhmt5nOOuXNfjy48=";
|
||||
vendorHash = "sha256-Dgnh+4bUNyqD8/bj+iUITPB/SBtQPYrB5XC6/M6Zs6k=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"darwin": {
|
||||
"hash": "sha256-/zFB2lCTajshnIFexDDGrps2bir3Hj2Nq+4RO05HDvc=",
|
||||
"version": "0.2025.04.02.08.11.stable_03"
|
||||
"hash": "sha256-ab4R/1Fe97mXPBBJ4OhgZaIDLBQr1nmA8lZsB2jVlRU=",
|
||||
"version": "0.2025.04.16.08.11.stable_02"
|
||||
},
|
||||
"linux_x86_64": {
|
||||
"hash": "sha256-wHiiKgTqAC30VMH0VhslmaNZyCwYEs6N915jlkxL8d8=",
|
||||
"version": "0.2025.04.02.08.11.stable_03"
|
||||
"hash": "sha256-+/0PA8Z/IbgHNtk78v4d3cw0G8Kk1MQ+gN16/8nKmGg=",
|
||||
"version": "0.2025.04.16.08.11.stable_02"
|
||||
},
|
||||
"linux_aarch64": {
|
||||
"hash": "sha256-mjzS33bSHNwnUPPKswkbpbFOnuQu4+SeeCA8IcxE4tk=",
|
||||
"version": "0.2025.04.02.08.11.stable_03"
|
||||
"hash": "sha256-QJsmiKyMhSD/39aBUqCQrQ5ANnFev0x+Pon7dH9XPBQ=",
|
||||
"version": "0.2025.04.16.08.11.stable_02"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,18 +16,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "windsend-rs";
|
||||
version = "1.4.9";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doraemonkeys";
|
||||
repo = "WindSend";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-jmFhYCUE37yH+TTHq8Q0bO1Lp/p07PnSJDMAOGbhwOM=";
|
||||
hash = "sha256-mE2pygb4o9gRUdgX/eVsr6WtZxIadxADg+3dpQgP0Ic=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
cargoHash = "sha256-RmtKspTNTd3ZaucuzJk6yfDFRH7wZsOlEyJd2lNApBU=";
|
||||
cargoHash = "sha256-t9J+Tu/50THWWdNdUzUH6waGUGrDc1E2GxWmb3YOt5g=";
|
||||
|
||||
sourceRoot = "${src.name}/windSend-rs";
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"aarch64-darwin": {
|
||||
"version": "1.6.3",
|
||||
"version": "1.6.5",
|
||||
"vscodeVersion": "1.97.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/f8ec5d648c43a2f1e54dccd12e2cf74f5ae6bad9/Windsurf-darwin-arm64-1.6.3.zip",
|
||||
"sha256": "210bb4ea2f7bacc9ffb8ef901a06902f655943e53b695c0c5a3700dc56a1c6e5"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/d87e525d4461b610eeaba26cba66153dd120ef47/Windsurf-darwin-arm64-1.6.5.zip",
|
||||
"sha256": "3043acb2902d0ed9178a34591857ede56472527a5c2091a3500ef1e1537bfde7"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"version": "1.6.3",
|
||||
"version": "1.6.5",
|
||||
"vscodeVersion": "1.97.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/f8ec5d648c43a2f1e54dccd12e2cf74f5ae6bad9/Windsurf-darwin-x64-1.6.3.zip",
|
||||
"sha256": "f9c28afd3d9097255d02a79822a62c44fc18bb154727cdf62321a43986f26765"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/d87e525d4461b610eeaba26cba66153dd120ef47/Windsurf-darwin-x64-1.6.5.zip",
|
||||
"sha256": "cdee5037ba3959cec5ab0cd6f18f699cf2724e19e6759e4bd180df728dc0362d"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"version": "1.6.3",
|
||||
"version": "1.6.5",
|
||||
"vscodeVersion": "1.97.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/f8ec5d648c43a2f1e54dccd12e2cf74f5ae6bad9/Windsurf-linux-x64-1.6.3.tar.gz",
|
||||
"sha256": "ed0853dc833a979fa5ed91caf8db6191b5583e83d79cc6feeb5697cd3ae17440"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/d87e525d4461b610eeaba26cba66153dd120ef47/Windsurf-linux-x64-1.6.5.tar.gz",
|
||||
"sha256": "f95abc06787b8308bcfdca877049b1cd3251e8affac13d96ddbcdd2c4fa25574"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
# Commented packages are not currently in nixpkgs. They don't appear to cause a problem when not present.
|
||||
config,
|
||||
lib,
|
||||
stdenv,
|
||||
@@ -8,82 +7,57 @@
|
||||
applyPatches,
|
||||
autoAddDriverRunpath,
|
||||
avahi,
|
||||
bluez,
|
||||
boost,
|
||||
cjson,
|
||||
cli11,
|
||||
cmake,
|
||||
cudaPackages ? { },
|
||||
cudaSupport ? config.cudaSupport,
|
||||
dbus,
|
||||
# depthai
|
||||
doxygen,
|
||||
eigen,
|
||||
elfutils,
|
||||
ffmpeg,
|
||||
freetype,
|
||||
git,
|
||||
glib,
|
||||
glm,
|
||||
glslang,
|
||||
gst_all_1,
|
||||
harfbuzz,
|
||||
hidapi,
|
||||
kdePackages,
|
||||
# leapsdk
|
||||
# leapv2
|
||||
libGL,
|
||||
libX11,
|
||||
libXrandr,
|
||||
libbsd,
|
||||
libdrm,
|
||||
libjpeg,
|
||||
libmd,
|
||||
libGL,
|
||||
libnotify,
|
||||
libpulseaudio,
|
||||
librealsense,
|
||||
librsvg,
|
||||
libsurvive,
|
||||
libunwind,
|
||||
libusb1,
|
||||
libuvc,
|
||||
libva,
|
||||
libX11,
|
||||
libXrandr,
|
||||
makeDesktopItem,
|
||||
nix-update-script,
|
||||
nlohmann_json,
|
||||
onnxruntime,
|
||||
opencomposite,
|
||||
opencv4,
|
||||
openhmd,
|
||||
openvr,
|
||||
openxr-loader,
|
||||
orc,
|
||||
# percetto
|
||||
ovrCompatSearchPaths ? "${opencomposite}/lib/opencomposite:${xrizer}/lib/xrizer",
|
||||
pipewire,
|
||||
pkg-config,
|
||||
python3,
|
||||
qt6,
|
||||
SDL2,
|
||||
shaderc,
|
||||
spdlog,
|
||||
systemd,
|
||||
udev,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
wayland-scanner,
|
||||
x264,
|
||||
xrizer,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wivrn";
|
||||
version = "0.24";
|
||||
version = "0.24.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wivrn";
|
||||
repo = "wivrn";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-0F+JHhVT/Axo+ycoh/qCL/jVncD+GrcuvYrxKE+UFGc=";
|
||||
hash = "sha256-aWQcGIrBoDAO7XqWb3dQLBKg5RZYxC7JxwZ+OBSwmEs=";
|
||||
};
|
||||
|
||||
monado = applyPatches {
|
||||
@@ -106,8 +80,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Let's make sure our monado source revision matches what is used by WiVRn upstream
|
||||
postUnpack = ''
|
||||
# Let's make sure our monado source revision matches what is used by WiVRn upstream
|
||||
ourMonadoRev="${finalAttrs.monado.src.rev}"
|
||||
theirMonadoRev=$(sed -n '/FetchContent_Declare(monado/,/)/p' ${finalAttrs.src.name}/CMakeLists.txt | grep "GIT_TAG" | awk '{print $2}')
|
||||
if [ ! "$theirMonadoRev" == "$ourMonadoRev" ]; then
|
||||
@@ -121,7 +95,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs =
|
||||
[
|
||||
cmake
|
||||
doxygen
|
||||
git
|
||||
glib
|
||||
glslang
|
||||
@@ -138,62 +111,38 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
[
|
||||
avahi
|
||||
boost
|
||||
bluez
|
||||
cjson
|
||||
cli11
|
||||
dbus
|
||||
eigen
|
||||
elfutils
|
||||
ffmpeg
|
||||
freetype
|
||||
glib
|
||||
glm
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gstreamer
|
||||
harfbuzz
|
||||
hidapi
|
||||
kdePackages.kcoreaddons
|
||||
kdePackages.ki18n
|
||||
kdePackages.kiconthemes
|
||||
kdePackages.kirigami
|
||||
kdePackages.qcoro
|
||||
kdePackages.qqc2-desktop-style
|
||||
libbsd
|
||||
libdrm
|
||||
libGL
|
||||
libjpeg
|
||||
libmd
|
||||
libnotify
|
||||
librealsense
|
||||
libsurvive
|
||||
libunwind
|
||||
libusb1
|
||||
libuvc
|
||||
libpulseaudio
|
||||
libva
|
||||
libX11
|
||||
libXrandr
|
||||
libpulseaudio
|
||||
nlohmann_json
|
||||
opencv4
|
||||
openhmd
|
||||
openvr
|
||||
openxr-loader
|
||||
onnxruntime
|
||||
orc
|
||||
pipewire
|
||||
qt6.qtbase
|
||||
qt6.qtsvg
|
||||
qt6.qttools
|
||||
SDL2
|
||||
shaderc
|
||||
spdlog
|
||||
systemd
|
||||
udev
|
||||
vulkan-headers
|
||||
vulkan-loader
|
||||
wayland
|
||||
wayland-protocols
|
||||
wayland-scanner
|
||||
x264
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
@@ -214,7 +163,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeBool "WIVRN_CHECK_CAPSYSNICE" false)
|
||||
(lib.cmakeBool "FETCHCONTENT_FULLY_DISCONNECTED" true)
|
||||
(lib.cmakeFeature "WIVRN_OPENXR_MANIFEST_TYPE" "absolute")
|
||||
(lib.cmakeFeature "OPENCOMPOSITE_SEARCH_PATH" "${opencomposite}/lib/opencomposite")
|
||||
(lib.cmakeFeature "OVR_COMPAT_SEARCH_PATH" ovrCompatSearchPaths)
|
||||
(lib.cmakeFeature "GIT_DESC" "v${finalAttrs.version}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_MONADO" "${finalAttrs.monado}")
|
||||
]
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
|
||||
withGLES ? false,
|
||||
buildRemoteServer ? true,
|
||||
zed-editor,
|
||||
}:
|
||||
|
||||
assert withGLES -> stdenv.hostPlatform.isLinux;
|
||||
@@ -319,7 +320,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
||||
withGles = finalAttrs.finalPackage.override { withGLES = true; };
|
||||
withGles = zed-editor.override { withGLES = true; };
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
zig_0_11,
|
||||
zig_0_14,
|
||||
nix,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zon2nix";
|
||||
version = "0.1.2";
|
||||
version = "0.1.3-unstable-2025-03-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "zon2nix";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pS0D+wdebtpNaGpDee9aBwEKTDvNU56VXer9uzULXcM=";
|
||||
rev = "2360e358c2107860dadd340f88b25d260b538188";
|
||||
hash = "sha256-89hYzrzQokQ+HUOd3g4epP9jdajaIoaMG81SrCNCqqU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
zig_0_11.hook
|
||||
zig_0_14.hook
|
||||
];
|
||||
|
||||
zigBuildFlags = [
|
||||
@@ -29,13 +29,16 @@ stdenv.mkDerivation rec {
|
||||
"-Dnix=${lib.getExe nix}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Convert the dependencies in `build.zig.zon` to a Nix expression";
|
||||
mainProgram = "zon2nix";
|
||||
homepage = "https://github.com/nix-community/zon2nix";
|
||||
changelog = "https://github.com/nix-community/zon2nix/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
inherit (zig_0_11.meta) platforms;
|
||||
changelog = "https://github.com/nix-community/zon2nix/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mpl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
figsoda
|
||||
RossComputerGuy
|
||||
];
|
||||
inherit (zig_0_14.meta) platforms;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "zsh-fzf-history-search";
|
||||
version = "unstable-2023-03-08";
|
||||
version = "unstable-2024-05-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joshskidmore";
|
||||
repo = "zsh-fzf-history-search";
|
||||
rev = "d1aae98ccd6ce153c97a5401d79fd36418cd2958";
|
||||
hash = "sha256-4Dp2ehZLO83NhdBOKV0BhYFIvieaZPqiZZZtxsXWRaQ=";
|
||||
rev = "d5a9730b5b4cb0b39959f7f1044f9c52743832ba";
|
||||
hash = "sha256-tQqIlkgIWPEdomofPlmWNEz/oNFA1qasILk4R5RWobY=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -9,10 +9,6 @@
|
||||
}:
|
||||
let
|
||||
versions = {
|
||||
"0.11.0" = {
|
||||
llvmPackages = llvmPackages_16;
|
||||
hash = "sha256-iuU1fzkbJxI+0N1PiLQM013Pd1bzrgqkbIyTxo5gB2I=";
|
||||
};
|
||||
"0.12.1" = {
|
||||
llvmPackages = llvmPackages_17;
|
||||
hash = "sha256-C56jyVf16Co/XCloMLSRsbG9r/gBc8mzCdeEMHV2T2s=";
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
xcbuild,
|
||||
targetPackages,
|
||||
libxml2,
|
||||
ninja,
|
||||
zlib,
|
||||
coreutils,
|
||||
callPackage,
|
||||
@@ -35,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
[
|
||||
cmake
|
||||
(lib.getDev llvmPackages.llvm.dev)
|
||||
ninja
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# provides xcode-select, which is required for SDK detection
|
||||
@@ -173,8 +175,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ andrewrk ] ++ lib.teams.zig.members;
|
||||
mainProgram = "zig";
|
||||
# docgen fails to build
|
||||
broken = version == "0.11.0";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatch-nodejs-version,
|
||||
@@ -18,13 +18,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyter-ydoc";
|
||||
version = "3.0.3";
|
||||
version = "3.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "jupyter_ydoc";
|
||||
inherit version;
|
||||
hash = "sha256-ZvPTepoCqXEbUIpVdLCsSJqkDyFgMK8p/dgshiouteo=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jupyter-server";
|
||||
repo = "jupyter_ydoc";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-dD4ZLT5yKGdvWnsPd3nAKmi6Ca+MK5f/ufyNfbGMmoM=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "llm-gemini";
|
||||
version = "0.17";
|
||||
version = "0.18.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simonw";
|
||||
repo = "llm-gemini";
|
||||
tag = version;
|
||||
hash = "sha256-CF3kRrW1wV1JZC+spOmb2BFBKjFzvWG+vFIscZuVp2U=";
|
||||
hash = "sha256-kQVqMB8uf8tT4lTbyvX5tByUzD2yO1h7hIDhUTycX2A=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
lib,
|
||||
autoPatchelfHook,
|
||||
wrapQtAppsHook,
|
||||
gnustep-libobjc,
|
||||
@@ -10,14 +10,20 @@
|
||||
ncurses6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hopper";
|
||||
version = "5.5.3";
|
||||
version = "5.18.0";
|
||||
rev = "v4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-${rev}-${version}-Linux-demo.pkg.tar.xz";
|
||||
hash = "sha256-xq9ZVg1leHm/tq6LYyQLa8p5dDwBd64Jt92uMoE0z58=";
|
||||
url = "https://www.hopperapp.com/downloader/hopperv4/Hopper-${finalAttrs.rev}-${finalAttrs.version}-Linux-demo.pkg.tar.xz";
|
||||
curlOptsList = [
|
||||
"--user-agent"
|
||||
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
|
||||
"--referer"
|
||||
"https://www.hopperapp.com"
|
||||
];
|
||||
hash = "sha256-Z/Y+il5DTdssa2T0RDkDyco098o4JHKeLuwFUpJjgZ0=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
@@ -37,39 +43,29 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/lib
|
||||
mkdir -p $out/share
|
||||
|
||||
cp $sourceRoot/opt/hopper-${rev}/bin/Hopper $out/bin/hopper
|
||||
cp \
|
||||
--archive \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libBlocksRuntime.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libdispatch.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libgnustep-base.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libHopperCore.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libkqueue.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libobjcxx.so* \
|
||||
$sourceRoot/opt/hopper-${rev}/lib/libpthread_workqueue.so* \
|
||||
mkdir -p $out/bin $out/lib
|
||||
install -Dm755 opt/hopper-${finalAttrs.rev}/bin/Hopper $out/bin/hopper
|
||||
cp --archive \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libBlocksRuntime.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libdispatch.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libgnustep-base.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libHopperCore.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libkqueue.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libobjcxx.so* \
|
||||
opt/hopper-${finalAttrs.rev}/lib/libpthread_workqueue.so* \
|
||||
$out/lib
|
||||
|
||||
cp -r $sourceRoot/usr/share $out
|
||||
cp -r usr/share $out/share
|
||||
substituteInPlace $out/share/applications/hopper-${finalAttrs.rev}.desktop \
|
||||
--replace-fail "Exec=/opt/hopper-${finalAttrs.rev}/bin/Hopper" "Exec=hopper"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace "$out/share/applications/hopper-${rev}.desktop" \
|
||||
--replace "Exec=/opt/hopper-${rev}/bin/Hopper" "Exec=$out/bin/hopper"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://www.hopperapp.com/index.html";
|
||||
description = "MacOS and Linux Disassembler";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [
|
||||
Enteee
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ Enteee ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
pkg-config,
|
||||
yaml-cpp,
|
||||
fmt,
|
||||
xorg,
|
||||
}:
|
||||
let
|
||||
sfl-src = fetchFromGitHub {
|
||||
@@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
|
||||
openal
|
||||
yaml-cpp
|
||||
fmt
|
||||
xorg.libX11
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -51,13 +51,13 @@ in
|
||||
tests.standalone = nixosTests.hbase_2_4;
|
||||
};
|
||||
hbase_2_5 = common {
|
||||
version = "2.5.10";
|
||||
hash = "sha256-uYc5IZGQdLOm5gAEyyGtJtcgf+GxADEEuxjixZbG3Qs=";
|
||||
version = "2.5.11";
|
||||
hash = "sha256-W3o8J+aY2bQoiu1Lr1n5EQWDVoS1OwWTNIUAU03a5Es=";
|
||||
tests.standalone = nixosTests.hbase_2_5;
|
||||
};
|
||||
hbase_2_6 = common {
|
||||
version = "2.6.1";
|
||||
hash = "sha256-dubu/4Ilk82NtNEcKt8uLbcH8n81EncxOvkZOwk2kVA=";
|
||||
version = "2.6.2";
|
||||
hash = "sha256-X/mjmTAx9anh2U/Xlfuf+O4AO5BXDkdsY69tPddEpYM=";
|
||||
tests.standalone = nixosTests.hbase2;
|
||||
};
|
||||
hbase_3_0 = common {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "Tautulli";
|
||||
version = "2.15.1";
|
||||
version = "2.15.2";
|
||||
format = "other";
|
||||
|
||||
pythonPath = [ setuptools ];
|
||||
@@ -22,7 +22,7 @@ buildPythonApplication rec {
|
||||
owner = "Tautulli";
|
||||
repo = pname;
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-c+xGgjmn2HE+sl8Vbw9Neztm8g6s9eF/QOVXRtOZWgI=";
|
||||
sha256 = "sha256-psfwEdYsP6VAzF8rbxZAxLU/uPfG3vB+OaKx2bu8Gwk=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -1929,6 +1929,7 @@ mapAliases {
|
||||
zfs_2_1 = throw "zfs 2.1 has been removed as it is EOL. Please upgrade to a newer version"; # Added 2024-12-25
|
||||
zig_0_9 = throw "zig 0.9 has been removed, upgrade to a newer version instead"; # Added 2025-01-24
|
||||
zig_0_10 = throw "zig 0.10 has been removed, upgrade to a newer version instead"; # Added 2025-01-24
|
||||
zig_0_11 = throw "zig 0.11 has been removed, upgrade to a newer version instead"; # Added 2025-04-09
|
||||
zimlib = throw "'zimlib' has been removed because it was an outdated and unused version of 'libzim'"; # Added 2025-03-07
|
||||
zinc = zincsearch; # Added 2023-05-28
|
||||
zk-shell = throw "zk-shell has been removed as it was broken and unmaintained"; # Added 2024-08-10
|
||||
|
||||
@@ -7938,9 +7938,9 @@ with pkgs;
|
||||
electron-source.electron_35
|
||||
else
|
||||
electron_35-bin;
|
||||
electron = electron_34;
|
||||
electron-bin = electron_34-bin;
|
||||
electron-chromedriver = electron-chromedriver_34;
|
||||
electron = electron_35;
|
||||
electron-bin = electron_35-bin;
|
||||
electron-chromedriver = electron-chromedriver_35;
|
||||
|
||||
autoconf = callPackage ../development/tools/misc/autoconf { };
|
||||
autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
|
||||
@@ -8981,10 +8981,6 @@ with pkgs;
|
||||
|
||||
aws-spend-summary = haskellPackages.aws-spend-summary.bin;
|
||||
|
||||
backlight-auto = callPackage ../by-name/ba/backlight-auto/package.nix {
|
||||
zig = buildPackages.zig_0_11;
|
||||
};
|
||||
|
||||
inherit (callPackages ../development/libraries/bashup-events { }) bashup-events32 bashup-events44;
|
||||
|
||||
bc-soci = callPackage ../development/libraries/soci/bc-soci.nix { };
|
||||
@@ -11470,13 +11466,11 @@ with pkgs;
|
||||
(rec {
|
||||
zigPackages = recurseIntoAttrs (callPackage ../development/compilers/zig { });
|
||||
|
||||
zig_0_11 = zigPackages."0.11";
|
||||
zig_0_12 = zigPackages."0.12";
|
||||
zig_0_13 = zigPackages."0.13";
|
||||
zig_0_14 = zigPackages."0.14";
|
||||
})
|
||||
zigPackages
|
||||
zig_0_11
|
||||
zig_0_12
|
||||
zig_0_13
|
||||
zig_0_14
|
||||
|
||||
@@ -12667,16 +12667,23 @@ with self;
|
||||
hash = "sha256-u+rO2ZXX2NEM/FGjpaZtpBzrK8BP7cq1DhDmMA6AHG4=";
|
||||
};
|
||||
nativeBuildInputs = [ buildPackages.pkg-config ];
|
||||
propagatedBuildInputs = [ pkgs.pkg-config ];
|
||||
propagatedNativeBuildInputs = [ pkgs.pkg-config ];
|
||||
postPatch = ''
|
||||
# no pkg-config binary when cross-compiling so the check fails
|
||||
substituteInPlace Makefile.PL \
|
||||
--replace "pkg-config" "$PKG_CONFIG"
|
||||
# use correctly prefixed pkg-config binary
|
||||
substituteInPlace lib/ExtUtils/PkgConfig.pm \
|
||||
--replace-fail '`pkg-config' '`${stdenv.cc.targetPrefix}pkg-config' \
|
||||
--replace-fail '"pkg-config' '"${stdenv.cc.targetPrefix}pkg-config' \
|
||||
--replace-fail '/pkg-config' '/${stdenv.cc.targetPrefix}pkg-config'
|
||||
'';
|
||||
doCheck = false; # expects test_glib-2.0.pc in PKG_CONFIG_PATH
|
||||
meta = {
|
||||
description = "Simplistic interface to pkg-config";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/perl-extutils-pkgconfig";
|
||||
license = with lib.licenses; [ lgpl21Plus ];
|
||||
maintainers = [ lib.maintainers.fliegendewurst ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user