Merge master into haskell-updates
This commit is contained in:
@@ -10052,6 +10052,11 @@
|
||||
githubId = 107689;
|
||||
name = "Josh Holland";
|
||||
};
|
||||
jshort = {
|
||||
github = "jshort";
|
||||
githubId = 1186444;
|
||||
name = "James Short";
|
||||
};
|
||||
jsierles = {
|
||||
email = "joshua@hey.com";
|
||||
matrix = "@jsierles:matrix.org";
|
||||
@@ -15488,6 +15493,15 @@
|
||||
githubId = 69802930;
|
||||
name = "patka";
|
||||
};
|
||||
patrickdag = {
|
||||
email = "patrick-nixos@failmail.dev";
|
||||
github = "PatrickDaG";
|
||||
githubId = 58092422;
|
||||
name = "Patrick";
|
||||
keys = [{
|
||||
fingerprint = "5E4C 3D74 80C2 35FE 2F0B D23F 7DD6 A72E C899 617D";
|
||||
}];
|
||||
};
|
||||
patricksjackson = {
|
||||
email = "patrick@jackson.dev";
|
||||
github = "patricksjackson";
|
||||
@@ -19711,6 +19725,12 @@
|
||||
githubId = 12841859;
|
||||
name = "Syboxez Blank";
|
||||
};
|
||||
syedahkam = {
|
||||
email = "smahkam57@gmail.com";
|
||||
github = "SyedAhkam";
|
||||
githubId = 52673095;
|
||||
name = "Syed Ahkam";
|
||||
};
|
||||
symphorien = {
|
||||
email = "symphorien_nixpkgs@xlumurb.eu";
|
||||
matrix = "@symphorien:xlumurb.eu";
|
||||
|
||||
@@ -187,6 +187,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
- [xdg-terminal-exec](https://github.com/Vladimir-csp/xdg-terminal-exec), the proposed Default Terminal Execution Specification.
|
||||
|
||||
- [your_spotify](https://github.com/Yooooomi/your_spotify), a self hosted Spotify tracking dashboard. Available as [services.your_spotify](#opt-services.your_spotify.enable)
|
||||
|
||||
- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer. Available as [services.rustdesk-server](#opt-services.rustdesk-server.enable).
|
||||
|
||||
- [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend. Available as [services.scrutiny](#opt-services.scrutiny.enable).
|
||||
|
||||
@@ -1431,6 +1431,7 @@
|
||||
./services/web-apps/windmill.nix
|
||||
./services/web-apps/wordpress.nix
|
||||
./services/web-apps/writefreely.nix
|
||||
./services/web-apps/your_spotify.nix
|
||||
./services/web-apps/youtrack.nix
|
||||
./services/web-apps/zabbix.nix
|
||||
./services/web-apps/zitadel.nix
|
||||
|
||||
@@ -38,6 +38,7 @@ in {
|
||||
store.blob.path = mkDefault "${dataDir}/data/blobs";
|
||||
storage.data = mkDefault "db";
|
||||
storage.fts = mkDefault "db";
|
||||
storage.lookup = mkDefault "db";
|
||||
storage.blob = mkDefault "blob";
|
||||
resolver.type = mkDefault "system";
|
||||
resolver.public-suffix = mkDefault ["https://publicsuffix.org/list/public_suffix_list.dat"];
|
||||
|
||||
@@ -278,7 +278,7 @@ in
|
||||
}
|
||||
{
|
||||
assertion = (cfg.enableVirtualUsers -> cfg.userDbPath != null)
|
||||
&& (cfg.enableVirtualUsers -> cfg.localUsers != null);
|
||||
&& (cfg.enableVirtualUsers -> cfg.localUsers);
|
||||
message = "vsftpd: If enableVirtualUsers is true, you need to setup both the userDbPath and localUsers options.";
|
||||
}];
|
||||
|
||||
|
||||
@@ -577,20 +577,22 @@ in
|
||||
|
||||
users.groups.oauth2-proxy = {};
|
||||
|
||||
systemd.services.oauth2-proxy = {
|
||||
description = "OAuth2 Proxy";
|
||||
path = [ cfg.package ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
systemd.services.oauth2-proxy =
|
||||
let needsKeycloak = lib.elem cfg.provider ["keycloak" "keycloak-oidc"]
|
||||
&& config.services.keycloak.enable;
|
||||
in {
|
||||
description = "OAuth2 Proxy";
|
||||
path = [ cfg.package ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
|
||||
after = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
User = "oauth2-proxy";
|
||||
Restart = "always";
|
||||
ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}";
|
||||
EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile;
|
||||
serviceConfig = {
|
||||
User = "oauth2-proxy";
|
||||
Restart = "always";
|
||||
ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}";
|
||||
EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -466,7 +466,8 @@ in
|
||||
confFile = pkgs.writeText "keycloak.conf" (keycloakConfig filteredConfig);
|
||||
keycloakBuild = cfg.package.override {
|
||||
inherit confFile;
|
||||
plugins = cfg.package.enabledPlugins ++ cfg.plugins;
|
||||
plugins = cfg.package.enabledPlugins ++ cfg.plugins ++
|
||||
(with cfg.package.plugins; [quarkus-systemd-notify quarkus-systemd-notify-deployment]);
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable
|
||||
@@ -638,6 +639,8 @@ in
|
||||
RuntimeDirectory = "keycloak";
|
||||
RuntimeDirectoryMode = "0700";
|
||||
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||
Type = "notify"; # Requires quarkus-systemd-notify plugin
|
||||
NotifyAccess = "all";
|
||||
};
|
||||
script = ''
|
||||
set -o errexit -o pipefail -o nounset -o errtrace
|
||||
|
||||
@@ -11,14 +11,19 @@ let
|
||||
|
||||
configFile = format.generate "pretalx.cfg" cfg.settings;
|
||||
|
||||
extras = cfg.package.optional-dependencies.redis
|
||||
++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql
|
||||
++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres;
|
||||
finalPackage = cfg.package.override {
|
||||
inherit (cfg) plugins;
|
||||
};
|
||||
|
||||
pythonEnv = cfg.package.python.buildEnv.override {
|
||||
extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ]
|
||||
++ (with cfg.package.python.pkgs; [ gunicorn ]
|
||||
++ lib.optional cfg.celery.enable celery) ++ extras;
|
||||
pythonEnv = finalPackage.python.buildEnv.override {
|
||||
extraLibs = with finalPackage.python.pkgs; [
|
||||
(toPythonModule finalPackage)
|
||||
gunicorn
|
||||
]
|
||||
++ finalPackage.optional-dependencies.redis
|
||||
++ lib.optionals cfg.celery.enable [ celery ]
|
||||
++ lib.optionals (cfg.settings.database.backend == "mysql") finalPackage.optional-dependencies.mysql
|
||||
++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres;
|
||||
};
|
||||
in
|
||||
|
||||
@@ -44,6 +49,20 @@ in
|
||||
description = "User under which pretalx should run.";
|
||||
};
|
||||
|
||||
plugins = lib.mkOption {
|
||||
type = with lib.types; listOf package;
|
||||
default = [];
|
||||
example = lib.literalExpression ''
|
||||
with config.services.pretalx.package.plugins; [
|
||||
pages
|
||||
youtube
|
||||
];
|
||||
'';
|
||||
description = ''
|
||||
Pretalx plugins to install into the Python environment.
|
||||
'';
|
||||
};
|
||||
|
||||
gunicorn.extraArgs = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = [
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
boolToString
|
||||
concatMapAttrs
|
||||
concatStrings
|
||||
isBool
|
||||
mapAttrsToList
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
optionalAttrs
|
||||
types
|
||||
mkDefault
|
||||
;
|
||||
cfg = config.services.your_spotify;
|
||||
|
||||
configEnv = concatMapAttrs (name: value:
|
||||
optionalAttrs (value != null) {
|
||||
${name} =
|
||||
if isBool value
|
||||
then boolToString value
|
||||
else toString value;
|
||||
})
|
||||
cfg.settings;
|
||||
|
||||
configFile = pkgs.writeText "your_spotify.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv));
|
||||
in {
|
||||
options.services.your_spotify = let
|
||||
inherit (types) nullOr port str path package;
|
||||
in {
|
||||
enable = mkEnableOption "your_spotify";
|
||||
|
||||
enableLocalDB = mkEnableOption "a local mongodb instance";
|
||||
nginxVirtualHost = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
If set creates an nginx virtual host for the client.
|
||||
In most cases this should be the CLIENT_ENDPOINT without
|
||||
protocol prefix.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "your_spotify" {};
|
||||
|
||||
clientPackage = mkOption {
|
||||
type = package;
|
||||
description = "Client package to use.";
|
||||
};
|
||||
|
||||
spotifySecretFile = mkOption {
|
||||
type = path;
|
||||
description = ''
|
||||
A file containing the secret key of your Spotify application.
|
||||
Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application).
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = ''
|
||||
Your Spotify Configuration. Refer to [Your Spotify](https://github.com/Yooooomi/your_spotify) for definitions and values.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
CLIENT_ENDPOINT = "https://example.com";
|
||||
API_ENDPOINT = "https://api.example.com";
|
||||
SPOTIFY_PUBLIC = "spotify_client_id";
|
||||
}
|
||||
'';
|
||||
type = types.submodule {
|
||||
freeformType = types.attrsOf types.str;
|
||||
options = {
|
||||
CLIENT_ENDPOINT = mkOption {
|
||||
type = str;
|
||||
description = ''
|
||||
The endpoint of your web application.
|
||||
Has to include a protocol Prefix (e.g. `http://`)
|
||||
'';
|
||||
example = "https://your_spotify.example.org";
|
||||
};
|
||||
API_ENDPOINT = mkOption {
|
||||
type = str;
|
||||
description = ''
|
||||
The endpoint of your server
|
||||
This api has to be reachable from the device you use the website from not from the server.
|
||||
This means that for example you may need two nginx virtual hosts if you want to expose this on the
|
||||
internet.
|
||||
Has to include a protocol Prefix (e.g. `http://`)
|
||||
'';
|
||||
example = "https://localhost:3000";
|
||||
};
|
||||
SPOTIFY_PUBLIC = mkOption {
|
||||
type = str;
|
||||
description = ''
|
||||
The public client ID of your Spotify application.
|
||||
Refer to: [Creating the Spotify Application](https://github.com/Yooooomi/your_spotify#creating-the-spotify-application)
|
||||
'';
|
||||
};
|
||||
MONGO_ENDPOINT = mkOption {
|
||||
type = str;
|
||||
description = ''The endpoint of the Mongo database.'';
|
||||
default = "mongodb://localhost:27017/your_spotify";
|
||||
};
|
||||
PORT = mkOption {
|
||||
type = port;
|
||||
description = "The port of the api server";
|
||||
default = 3000;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.your_spotify.clientPackage = mkDefault (cfg.package.client.override {apiEndpoint = cfg.settings.API_ENDPOINT;});
|
||||
systemd.services.your_spotify = {
|
||||
after = ["network.target"];
|
||||
script = ''
|
||||
export SPOTIFY_SECRET=$(< "$CREDENTIALS_DIRECTORY/SPOTIFY_SECRET")
|
||||
${lib.getExe' cfg.package "your_spotify_migrate"}
|
||||
exec ${lib.getExe cfg.package}
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = "your_spotify";
|
||||
Group = "your_spotify";
|
||||
DynamicUser = true;
|
||||
EnvironmentFile = [configFile];
|
||||
StateDirectory = "your_spotify";
|
||||
LimitNOFILE = "1048576";
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
StateDirectoryMode = "0700";
|
||||
Restart = "always";
|
||||
|
||||
LoadCredential = ["SPOTIFY_SECRET:${cfg.spotifySecretFile}"];
|
||||
|
||||
# Hardening
|
||||
CapabilityBoundingSet = "";
|
||||
LockPersonality = true;
|
||||
#MemoryDenyWriteExecute = true; # Leads to coredump because V8 does JIT
|
||||
PrivateUsers = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProcSubset = "pid";
|
||||
ProtectSystem = "strict";
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_NETLINK"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"@pkey"
|
||||
];
|
||||
UMask = "0077";
|
||||
};
|
||||
wantedBy = ["multi-user.target"];
|
||||
};
|
||||
services.nginx = mkIf (cfg.nginxVirtualHost != null) {
|
||||
enable = true;
|
||||
virtualHosts.${cfg.nginxVirtualHost} = {
|
||||
root = cfg.clientPackage;
|
||||
locations."/".extraConfig = ''
|
||||
add_header Content-Security-Policy "frame-ancestors 'none';" ;
|
||||
add_header X-Content-Type-Options "nosniff" ;
|
||||
try_files = $uri $uri/ /index.html ;
|
||||
'';
|
||||
};
|
||||
};
|
||||
services.mongodb = mkIf cfg.enableLocalDB {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
meta.maintainers = with lib.maintainers; [patrickdag];
|
||||
}
|
||||
@@ -70,7 +70,11 @@ in
|
||||
# to garage 1.0.0 while relying on the module-level default, they would be left
|
||||
# with a config which evaluates and builds, but then garage refuses to start
|
||||
# because either replication_factor or replication_mode is required.
|
||||
# This assertion can be removed in NixOS 24.11, when all users have been warned once.
|
||||
# The replication_factor option also was `toString`'ed before, which is
|
||||
# now not possible anymore, so we prompt the user to change it to a string
|
||||
# if present.
|
||||
# These assertions can be removed in NixOS 24.11, when all users have been
|
||||
# warned once.
|
||||
{
|
||||
assertion = (cfg.settings ? replication_factor || cfg.settings ? replication_mode) || lib.versionOlder cfg.package "1.0.0";
|
||||
message = ''
|
||||
@@ -80,6 +84,22 @@ in
|
||||
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = lib.isString (cfg.settings.replication_mode or "");
|
||||
message = ''
|
||||
The explicit `replication_mode` option in `services.garage.settings`
|
||||
has been removed and is now handled by the freeform settings in order
|
||||
to allow it being completely absent (for Garage 1.x).
|
||||
That module option previously `toString`'ed the value it's configured
|
||||
with, which is now no longer possible.
|
||||
|
||||
You're still using a non-string here, please manually set it to
|
||||
a string, or migrate to the separate setting keys introduced in 1.x.
|
||||
|
||||
Refer to https://garagehq.deuxfleurs.fr/documentation/working-documents/migration-1/
|
||||
for the migration guide.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
environment.etc."garage.toml" = {
|
||||
|
||||
@@ -1042,6 +1042,7 @@ in {
|
||||
yabar = handleTest ./yabar.nix {};
|
||||
ydotool = handleTest ./ydotool.nix {};
|
||||
yggdrasil = handleTest ./yggdrasil.nix {};
|
||||
your_spotify = handleTest ./your_spotify.nix {};
|
||||
zammad = handleTest ./zammad.nix {};
|
||||
zeronet-conservancy = handleTest ./zeronet-conservancy.nix {};
|
||||
zfs = handleTest ./zfs.nix {};
|
||||
|
||||
@@ -51,4 +51,5 @@ in
|
||||
[
|
||||
"0_8"
|
||||
"0_9"
|
||||
"1_x"
|
||||
]
|
||||
|
||||
@@ -7,10 +7,10 @@ args@{ mkNode, ver, ... }:
|
||||
};
|
||||
|
||||
nodes = {
|
||||
node1 = mkNode { replicationMode = 3; publicV6Address = "fc00:1::1"; };
|
||||
node2 = mkNode { replicationMode = 3; publicV6Address = "fc00:1::2"; };
|
||||
node3 = mkNode { replicationMode = 3; publicV6Address = "fc00:1::3"; };
|
||||
node4 = mkNode { replicationMode = 3; publicV6Address = "fc00:1::4"; };
|
||||
node1 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::1"; };
|
||||
node2 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::2"; };
|
||||
node3 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::3"; };
|
||||
node4 = mkNode { replicationMode = "3"; publicV6Address = "fc00:1::4"; };
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
@@ -40,12 +40,14 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||
};
|
||||
};
|
||||
|
||||
session.auth.mechanisms = [ "PLAIN" ];
|
||||
session.auth.directory = "in-memory";
|
||||
storage.directory = "in-memory"; # shared with imap
|
||||
resolver.public-suffix = [ ]; # do not fetch from web in sandbox
|
||||
|
||||
session.rcpt.directory = "in-memory";
|
||||
queue.outbound.next-hop = [ "local" ];
|
||||
session.auth.mechanisms = "[plain]";
|
||||
session.auth.directory = "'in-memory'";
|
||||
storage.directory = "in-memory";
|
||||
|
||||
session.rcpt.directory = "'in-memory'";
|
||||
queue.outbound.next-hop = "'local'";
|
||||
|
||||
directory."in-memory" = {
|
||||
type = "memory";
|
||||
|
||||
+18
-2
@@ -14,15 +14,27 @@ with pkgs.lib;
|
||||
enable = true;
|
||||
journaldAccess = true;
|
||||
settings = {
|
||||
sources.journald.type = "journald";
|
||||
sources = {
|
||||
journald.type = "journald";
|
||||
|
||||
vector_metrics.type = "internal_metrics";
|
||||
|
||||
vector_logs.type = "internal_logs";
|
||||
};
|
||||
|
||||
sinks = {
|
||||
file = {
|
||||
type = "file";
|
||||
inputs = [ "journald" ];
|
||||
inputs = [ "journald" "vector_logs" ];
|
||||
path = "/var/lib/vector/logs.log";
|
||||
encoding = { codec = "json"; };
|
||||
};
|
||||
|
||||
prometheus_exporter = {
|
||||
type = "prometheus_exporter";
|
||||
inputs = [ "vector_metrics" ];
|
||||
address = "[::]:9598";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -31,6 +43,10 @@ with pkgs.lib;
|
||||
# ensure vector is forwarding the messages appropriately
|
||||
testScript = ''
|
||||
machine.wait_for_unit("vector.service")
|
||||
machine.wait_for_open_port(9598)
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald")
|
||||
machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter")
|
||||
machine.wait_for_file("/var/lib/vector/logs.log")
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -98,7 +98,6 @@ let
|
||||
cfg = (import ../lib/eval-config.nix {
|
||||
system = if use64bitGuest then "x86_64-linux" else "i686-linux";
|
||||
modules = [
|
||||
../modules/profiles/minimal.nix
|
||||
(testVMConfig vmName vmScript)
|
||||
];
|
||||
}).config;
|
||||
|
||||
@@ -5,13 +5,16 @@
|
||||
meta.maintainers = lib.teams.c3d2.members;
|
||||
|
||||
nodes = {
|
||||
pretalx = {
|
||||
pretalx = { config, ... }: {
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 talks.local
|
||||
'';
|
||||
|
||||
services.pretalx = {
|
||||
enable = true;
|
||||
plugins = with config.services.pretalx.package.plugins; [
|
||||
pages
|
||||
];
|
||||
nginx.domain = "talks.local";
|
||||
settings = {
|
||||
site.url = "http://talks.local";
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import ./make-test-python.nix ({pkgs, ...}: {
|
||||
name = "your_spotify";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [patrickdag];
|
||||
};
|
||||
|
||||
nodes.machine = {
|
||||
services.your_spotify = {
|
||||
enable = true;
|
||||
spotifySecretFile = pkgs.writeText "spotifySecretFile" "deadbeef";
|
||||
settings = {
|
||||
CLIENT_ENDPOINT = "http://localhost";
|
||||
API_ENDPOINT = "http://localhost:3000";
|
||||
SPOTIFY_PUBLIC = "beefdead";
|
||||
};
|
||||
enableLocalDB = true;
|
||||
nginxVirtualHost = "localhost";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("your_spotify.service")
|
||||
|
||||
machine.wait_for_open_port(3000)
|
||||
machine.wait_for_open_port(80)
|
||||
|
||||
out = machine.succeed("curl --fail -X GET 'http://localhost:3000/'")
|
||||
assert "Hello !" in out
|
||||
|
||||
out = machine.succeed("curl --fail -X GET 'http://localhost:80/'")
|
||||
assert "<title>Your Spotify</title>" in out
|
||||
'';
|
||||
})
|
||||
@@ -15,11 +15,12 @@
|
||||
, gtk4
|
||||
, librsvg
|
||||
, python3Packages
|
||||
, blueprint-compiler
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "eartag";
|
||||
version = "0.6.0";
|
||||
version = "0.6.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
@@ -27,7 +28,7 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "World";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-MfffIqxfelwP+9wsFvQfEIMkav7j5LJEHjLPOsuYdtQ=";
|
||||
hash = "sha256-CAJz9p1PJxq3VDxzZEHD860xINCQF722bPaf7psNztY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -48,6 +49,7 @@ python3Packages.buildPythonApplication rec {
|
||||
gettext
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
blueprint-compiler
|
||||
] ++ lib.optional stdenv.isDarwin gtk4; # for gtk4-update-icon-cache
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, installShellFiles, libpulseaudio, nas }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gbsplay";
|
||||
version = "0.0.97";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mmitch";
|
||||
repo = "gbsplay";
|
||||
rev = version;
|
||||
sha256 = "sha256-O4t5OzXcrGoxzSXr0nzc01bItjcp1LvFeWnbdSUDwFU=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--without-test" # See mmitch/gbsplay#62
|
||||
"--without-contrib"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
buildInputs = [ libpulseaudio nas ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --bash --name gbsplay contrib/gbsplay.bashcompletion
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gameboy sound player";
|
||||
license = licenses.gpl1Plus;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
-4174
File diff suppressed because it is too large
Load Diff
@@ -9,25 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "waylyrics";
|
||||
version = "0.3.5";
|
||||
version = "0.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "waylyrics";
|
||||
repo = "waylyrics";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-44O2+OLsBZhl0/0910RsdCe8cHt6UGhYF7CUfhsFQU8=";
|
||||
hash = "sha256-ZOz8LkMznSX/7nSu7IpZ8kVemo2AuRLOgrS3WWg+BXU=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ksni-0.2.1" = "sha256-kjirYZVDP9e7/933L7gwSgVrNInSTbsRCAfnhUqmcLI=";
|
||||
};
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
cp ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
cargoHash = "sha256-mURcz3i98qlsn/rzZjeJncyVX5xsuqWY2/PcNA6WAWQ=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
|
||||
buildInputs = [ openssl dbus ];
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, unzip, perl, libX11, libXpm, gpm, ncurses, slang }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fte";
|
||||
version = "0.50.02";
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ perl libX11 libXpm gpm ncurses slang ];
|
||||
|
||||
ftesrc = fetchurl {
|
||||
url = "mirror://sourceforge/fte/fte-20110708-src.zip";
|
||||
sha256 = "17j9akr19w19myglw5mljjw2g3i2cwxiqrjaln82h3rz5ma1qcfn";
|
||||
};
|
||||
ftecommon = fetchurl {
|
||||
url = "mirror://sourceforge/fte/fte-20110708-common.zip";
|
||||
sha256 = "1xva4kh0674sj2b9rhf2amlr37yxmsvjkgyj89gpcn0rndw1ahaq";
|
||||
};
|
||||
src = [ ftesrc ftecommon ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-DHAVE_STRLCAT -DHAVE_STRLCPY";
|
||||
|
||||
buildFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" "INSTALL_NONROOT=1" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free text editor for developers";
|
||||
homepage = "https://fte.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "heh";
|
||||
version = "0.4.1";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ndd7xv";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IIF/bkTLwR8pCs/hJ625T3NsiKf/6Zf1cW2i4lsiK4U=";
|
||||
hash = "sha256-zkb+HogwioqxZ+BTl7bcDQx9i9uWhT2QdAIXpHqvDl0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tDvqaNVuzv1BlS/oNI1D/WV1b5uHreT3Ak/6ruqKXQc=";
|
||||
cargoHash = "sha256-YcTaLq04NhmnJ1pdbiKMRIBSFvHNWNgoAS8Uz8uGGAw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cross-platform terminal UI used for modifying file data in hex or ASCII.";
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hexedit";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pixel";
|
||||
repo = "hexedit";
|
||||
rev = version;
|
||||
sha256 = "sha256-fIgPbr7qmxyEga2YaAD0+NBM8LeDm/tVAq99ub7aiAI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "View and edit files in hexadecimal or in ASCII";
|
||||
homepage = "http://rigaux.org/hexedit.html";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
mainProgram = "hexedit";
|
||||
};
|
||||
}
|
||||
@@ -1,20 +1,21 @@
|
||||
{ callPackage, makeWrapper, gobject-introspection, cmake
|
||||
, python3Packages, gtk3, glib, libxml2, gnuplot, gnome, gdk-pixbuf, librsvg, intltool, libmirage }:
|
||||
let pkg = import ./base.nix {
|
||||
version = "3.2.5";
|
||||
pname = "image-analyzer";
|
||||
pkgSha256 = "00906lky0z1m0bdqnjmzxgcb19dzvljhddhh42lixyr53sjp94cc";
|
||||
};
|
||||
in callPackage pkg {
|
||||
buildInputs = [ glib gtk3 libxml2 gnuplot libmirage gnome.adwaita-icon-theme gdk-pixbuf librsvg
|
||||
python3Packages.python python3Packages.pygobject3 python3Packages.matplotlib ];
|
||||
drvParams = {
|
||||
nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ];
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/image-analyzer \
|
||||
--set PYTHONPATH "$PYTHONPATH" \
|
||||
--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
|
||||
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||
'';
|
||||
};
|
||||
{ cmake, pkg-config, callPackage, gobject-introspection, wrapGAppsHook3
|
||||
, python3Packages, libxml2, gnuplot, gnome, gdk-pixbuf, intltool, libmirage }:
|
||||
python3Packages.buildPythonApplication {
|
||||
|
||||
inherit (callPackage ./common-drv-attrs.nix {
|
||||
version = "3.2.6";
|
||||
pname = "image-analyzer";
|
||||
hash = "sha256-7I8RUgd+k3cEzskJGbziv1f0/eo5QQXn62wGh/Y5ozc=";
|
||||
}) pname version src meta;
|
||||
|
||||
buildInputs = [ libxml2 gnuplot libmirage gnome.adwaita-icon-theme gdk-pixbuf ];
|
||||
propagatedBuildInputs = with python3Packages; [ pygobject3 matplotlib ];
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 intltool gobject-introspection ];
|
||||
|
||||
pyproject = false;
|
||||
dontWrapGApps = true;
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
{ callPackage, python3Packages, intltool, makeWrapper }:
|
||||
let pkg = import ./base.nix {
|
||||
version = "3.2.5";
|
||||
pname = "cdemu-client";
|
||||
pkgSha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7";
|
||||
};
|
||||
in callPackage pkg {
|
||||
nativeBuildInputs = [ makeWrapper intltool ];
|
||||
buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3 ];
|
||||
drvParams = {
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/cdemu \
|
||||
--set PYTHONPATH "$PYTHONPATH"
|
||||
'';
|
||||
};
|
||||
{ callPackage, python3Packages, cmake, pkg-config, intltool, wrapGAppsNoGuiHook, gobject-introspection }:
|
||||
python3Packages.buildPythonApplication {
|
||||
|
||||
inherit (callPackage ./common-drv-attrs.nix {
|
||||
version = "3.2.5";
|
||||
pname = "cdemu-client";
|
||||
hash = "sha256-py2F61v8vO0BCM18GCflAiD48deZjbMM6wqoCDZsOd8=";
|
||||
}) pname version src meta;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config intltool wrapGAppsNoGuiHook gobject-introspection ];
|
||||
propagatedBuildInputs = with python3Packages; [ dbus-python pygobject3 ];
|
||||
|
||||
pyproject = false;
|
||||
dontWrapGApps = true;
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
+8
-15
@@ -1,20 +1,13 @@
|
||||
{ pname, version, pkgSha256 }:
|
||||
attrs@{ lib, stdenv, fetchurl, cmake, pkg-config, buildInputs, drvParams ? {}, ... }:
|
||||
stdenv.mkDerivation ( rec {
|
||||
inherit pname version buildInputs;
|
||||
{ lib, fetchurl
|
||||
, pname, version, hash
|
||||
}:
|
||||
|
||||
{
|
||||
inherit pname version;
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cdemu/${pname}-${version}.tar.xz";
|
||||
sha256 = pkgSha256;
|
||||
inherit hash;
|
||||
};
|
||||
nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ pkg-config cmake ];
|
||||
setSourceRoot = ''
|
||||
mkdir build
|
||||
cd build
|
||||
sourceRoot="`pwd`"
|
||||
'';
|
||||
configurePhase = ''
|
||||
cmake ../${pname}-${version} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "A suite of tools for emulating optical drives and discs";
|
||||
longDescription = ''
|
||||
@@ -33,4 +26,4 @@ stdenv.mkDerivation ( rec {
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ bendlas ];
|
||||
};
|
||||
} // drvParams)
|
||||
}
|
||||
@@ -1,15 +1,17 @@
|
||||
{ callPackage, glib, libao, intltool, libmirage, coreutils }:
|
||||
let pkg = import ./base.nix {
|
||||
version = "3.2.5";
|
||||
pname = "cdemu-daemon";
|
||||
pkgSha256 = "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d";
|
||||
};
|
||||
in callPackage pkg {
|
||||
nativeBuildInputs = [ intltool ];
|
||||
{ stdenv, callPackage, cmake, pkg-config, glib, libao, intltool, libmirage, coreutils }:
|
||||
stdenv.mkDerivation {
|
||||
|
||||
inherit (callPackage ./common-drv-attrs.nix {
|
||||
version = "3.2.6";
|
||||
pname = "cdemu-daemon";
|
||||
hash = "sha256-puQE4+91xhRuNjVPZYgN/WO0uO8fVAOdxQWOGQ+FfY8=";
|
||||
}) pname version src meta;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config intltool ];
|
||||
buildInputs = [ glib libao libmirage ];
|
||||
drvParams.postInstall = ''
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/dbus-1/services
|
||||
cp -R ../$pname-$version/service-example $out/share/cdemu
|
||||
cp -R ../service-example $out/share/cdemu
|
||||
substitute \
|
||||
$out/share/cdemu/net.sf.cdemu.CDEmuDaemon.service \
|
||||
$out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
{ callPackage, makeWrapper, gobject-introspection, cmake
|
||||
, python3Packages, gtk3, glib, libnotify, intltool, gnome, gdk-pixbuf, librsvg }:
|
||||
let
|
||||
pkg = import ./base.nix {
|
||||
version = "3.2.5";
|
||||
{ callPackage, cmake, pkg-config, wrapGAppsHook3, gobject-introspection
|
||||
, python3Packages, libnotify, intltool, gnome, gdk-pixbuf }:
|
||||
python3Packages.buildPythonApplication {
|
||||
|
||||
inherit (callPackage ./common-drv-attrs.nix {
|
||||
version = "3.2.6";
|
||||
pname = "gcdemu";
|
||||
pkgSha256 = "1nvpbq4mz8caw91q5ny9gf206g9bypavxws9nxyfcanfkc4zfkl4";
|
||||
};
|
||||
inherit (python3Packages) python pygobject3;
|
||||
in callPackage pkg {
|
||||
buildInputs = [ python pygobject3 gtk3 glib libnotify gnome.adwaita-icon-theme gdk-pixbuf librsvg ];
|
||||
drvParams = {
|
||||
nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ];
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/gcdemu \
|
||||
--set PYTHONPATH "$PYTHONPATH" \
|
||||
--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
|
||||
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||
'';
|
||||
# TODO AppIndicator
|
||||
};
|
||||
hash = "sha256-w4vzKoSotL5Cjfr4Cu4YhNSWXJqS+n/vySrwvbhR1zA=";
|
||||
}) pname version src meta;
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 intltool gobject-introspection ];
|
||||
buildInputs = [ libnotify gnome.adwaita-icon-theme gdk-pixbuf ];
|
||||
propagatedBuildInputs = with python3Packages; [ pygobject3 ];
|
||||
|
||||
pyproject = false;
|
||||
dontWrapGApps = true;
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
{ callPackage, gobject-introspection, cmake, pkg-config
|
||||
{ stdenv, callPackage, cmake, pkg-config, gobject-introspection
|
||||
, glib, libsndfile, zlib, bzip2, xz, libsamplerate, intltool
|
||||
, pcre, util-linux, libselinux, libsepol }:
|
||||
|
||||
let pkg = import ./base.nix {
|
||||
version = "3.2.5";
|
||||
pname = "libmirage";
|
||||
pkgSha256 = "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm";
|
||||
};
|
||||
in callPackage pkg {
|
||||
stdenv.mkDerivation {
|
||||
|
||||
inherit (callPackage ./common-drv-attrs.nix {
|
||||
version = "3.2.7";
|
||||
pname = "libmirage";
|
||||
hash = "sha256-+okkgNeVS8yoKSrQDy4It7PiPlTSiOsUoFxQ1FS9s9M=";
|
||||
}) pname version src meta;
|
||||
|
||||
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
|
||||
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
|
||||
buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate ];
|
||||
drvParams = {
|
||||
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
|
||||
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
|
||||
nativeBuildInputs = [ cmake gobject-introspection pkg-config intltool ];
|
||||
propagatedBuildInputs = [ pcre util-linux libselinux libsepol ];
|
||||
};
|
||||
nativeBuildInputs = [ cmake pkg-config intltool gobject-introspection ];
|
||||
propagatedBuildInputs = [ pcre util-linux libselinux libsepol ];
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.xz";
|
||||
sha256 = "sha256-v1hQ1Lj1AiHKh9c0OpKe2oexkfb1roxhQXRUO1ut3oM=";
|
||||
hash = "sha256-v1hQ1Lj1AiHKh9c0OpKe2oexkfb1roxhQXRUO1ut3oM=";
|
||||
};
|
||||
|
||||
makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "photoqt";
|
||||
version = "4.4";
|
||||
version = "4.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
|
||||
hash = "sha256-dCaNF5UoH6SkKBrZGtwg2qZcDtlptdBxEGZL2oKyjhI=";
|
||||
hash = "sha256-QFziMNRhiM4LaNJ8RkJ0iCq/8J82wn0F594qJeSN3Lw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "texturepacker";
|
||||
version = "7.3.0";
|
||||
version = "7.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
|
||||
hash = "sha256-0i6LDrLBvTFKC5kW2PXP3Be6boUIJZ0fd1JG6FoS1kQ=";
|
||||
hash = "sha256-v+azjIIscmp72WB3gki0CKb+z+FYsuJxIx9jvdfs+qM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
mesa,
|
||||
mpfr,
|
||||
nlopt,
|
||||
opencascade-occt,
|
||||
opencascade-occt_7_6,
|
||||
openvdb,
|
||||
pcre,
|
||||
qhull,
|
||||
@@ -47,6 +47,7 @@
|
||||
withSystemd ? stdenv.isLinux,
|
||||
}:
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
wxGTK31' = wxGTK31.overrideAttrs (old: {
|
||||
configureFlags = old.configureFlags ++ [
|
||||
# Disable noisy debug dialogs
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hyprland-autoname-workspaces";
|
||||
version = "1.1.13";
|
||||
version = "1.1.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprland-community";
|
||||
repo = "hyprland-autoname-workspaces";
|
||||
rev = version;
|
||||
hash = "sha256-JEzsbJcDX/qx1CMy+3UwcHOwFLPqyAG58MpGMtdSyYY=";
|
||||
hash = "sha256-RTx4fmamjydrQzC1CpgbuvV6kg0S6Jyj/0Q9FrfrMlU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Rpivw4VCVHjZywDwr4pajfGv/mkOdVrXVT/9Oe2Hw44=";
|
||||
cargoHash = "sha256-Te3nBgr3uq8km8lX3AkCAS28leolZLXEF68phIEpg5k=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automatically rename workspaces with icons of started applications";
|
||||
|
||||
@@ -32,7 +32,7 @@ appimageTools.wrapType2 rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple and elegant markdown editor, available for Linux, macOS and Windows";
|
||||
homepage = "https://marktext.app";
|
||||
homepage = "https://www.marktext.cc";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ nh2 eduarrrd ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
, mpfr
|
||||
, nanosvg
|
||||
, nlopt
|
||||
, opencascade-occt
|
||||
, opencascade-occt_7_6
|
||||
, openvdb
|
||||
, pcre
|
||||
, qhull
|
||||
@@ -37,6 +37,7 @@
|
||||
, wxGTK-override ? null
|
||||
}:
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
wxGTK-prusa = wxGTK32.overrideAttrs (old: rec {
|
||||
pname = "wxwidgets-prusa3d-patched";
|
||||
version = "3.2.0";
|
||||
|
||||
@@ -20,7 +20,7 @@ mkDerivation rec {
|
||||
mainProgram = "tipp10";
|
||||
homepage = "https://gitlab.com/tipp10/tipp10";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ ];
|
||||
maintainers = with maintainers; [ sigmanificient ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, lib, fzf, xclip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unipicker";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeremija";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1k4v53pm3xivwg9vq2kndpcmah0yn4679r5jzxvg38bbkfdk86c1";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
fzf
|
||||
xclip
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
substituteInPlace unipicker \
|
||||
--replace "/etc/unipickerrc" "$out/etc/unipickerrc" \
|
||||
--replace "fzf" "${fzf}/bin/fzf"
|
||||
substituteInPlace unipickerrc \
|
||||
--replace "/usr/local" "$out" \
|
||||
--replace "fzf" "${fzf}/bin/fzf"
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
"DESTDIR=$(out)"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI utility for searching unicode characters by description and optionally copying them to clipboard";
|
||||
homepage = "https://github.com/jeremija/unipicker";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "unipicker";
|
||||
};
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
beta = import ./browser.nix {
|
||||
channel = "beta";
|
||||
version = "125.0.2535.13";
|
||||
version = "125.0.2535.37";
|
||||
revision = "1";
|
||||
hash = "sha256-vO7crYX/QW+S1fjT37JtyRJyziauG+H3LWOasX4VaKM=";
|
||||
hash = "sha256-/fZcFIVj4stIxim2UYsxA5rNkyGf/i3eDf25npsdDi4=";
|
||||
};
|
||||
dev = import ./browser.nix {
|
||||
channel = "dev";
|
||||
version = "126.0.2552.0";
|
||||
version = "126.0.2566.1";
|
||||
revision = "1";
|
||||
hash = "sha256-TQHTqCweP0mEkEYRxlU7YtYS6Y6ooZ4V6peCsVvcIjg=";
|
||||
hash = "sha256-PePosWGdkLm5OK82YP9LQbvVz5de8KL06I6rv0TKP3A=";
|
||||
};
|
||||
stable = import ./browser.nix {
|
||||
channel = "stable";
|
||||
version = "124.0.2478.80";
|
||||
version = "124.0.2478.97";
|
||||
revision = "1";
|
||||
hash = "sha256-p+t12VcwxSDuyZj3VfzEJ6m0rGoVC7smeyHoODttwQU=";
|
||||
hash = "sha256-hdCtHWOEez3VTw8hTRiitURiu0MpFTbnc60biym795k=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ let
|
||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||
);
|
||||
|
||||
version = "13.0.14";
|
||||
version = "13.0.15";
|
||||
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
@@ -102,7 +102,7 @@ let
|
||||
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
|
||||
];
|
||||
hash = "sha256-z7fZtq+jnoAi6G8RNahGtP1LXeOXU/2wYz5ha2ddAeM=";
|
||||
hash = "sha256-TypPevAkp1G7GPzBTRUv3N4UJydAqfllNekTsYfiisQ=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||
);
|
||||
|
||||
version = "13.0.14";
|
||||
version = "13.0.15";
|
||||
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
@@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
|
||||
];
|
||||
hash = "sha256-UWR2zMVXa6QMz1EIWJf43Vmj14ZIaug105esxeSd0KU=";
|
||||
hash = "sha256-e2YFrPzle9s/j3+uxFjoK538pLV1u1a4kD6V8RaqpOU=";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
@@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
|
||||
];
|
||||
hash = "sha256-n+qj3IY4z+erOg4iUkQ4CP3rtJASTeKPg7beZRdesw4=";
|
||||
hash = "sha256-20C4UuSN2PZ2L3AZv7klNClD4RoThpmnKrpoK9An24w=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "civo";
|
||||
version = "1.0.82";
|
||||
version = "1.0.83";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "civo";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pwi0Z0dO2z8Ovlt9gKyVNrh0ZZ2M9xnahBmbTNK2Bnw=";
|
||||
sha256 = "sha256-jRs8RMdTq5xylcYBN59+JzXlJlTJRp7bJVMvEmvzSnc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NYNp4KGcVma4ltkq2SJZJOaeKS0j/X2TlUrOnptxiYE=";
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clusterctl";
|
||||
version = "1.7.1";
|
||||
version = "1.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "cluster-api";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-e+Ut6xoNUY9cJjjJ43P0siEa+G1igllcb8veirk1UX0=";
|
||||
hash = "sha256-ZZkDc5INjUoNc9zcwbOa9WRIkkLr9bm3mohsSe3tKI4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ALRnccGjPGuAITtuz79Cao95NhvSczAzspSMXytlw+A=";
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubebuilder";
|
||||
version = "3.14.2";
|
||||
version = "3.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "kubebuilder";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bs/16MEZZOv+5cfr35HDqhnJxza9mQfjd8ALjJifRf8=";
|
||||
hash = "sha256-YaISsW+USP9M4Mblluo+SXSwGspiTiiPFA3VvLmhqaQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eLLWzVQ9ANIWSdqjmggrboCwcUKVGdrJD2coCLmzAK4=";
|
||||
vendorHash = "sha256-g9QjalRLc2NUsyd7Do1PWw9oD9ATuJGMRaqSaC6AcD0=";
|
||||
|
||||
subPackages = ["cmd"];
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ lib, stdenv, fetchurl, weechat }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "weechat-autosort";
|
||||
version = "3.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/weechat/scripts/raw/13aef991ca879fc0ff116874a45b09bc2db10607/python/autosort.py";
|
||||
hash = "sha256-xuZUssjGd0l7lCx96d0V8LL+0O3zIxYlWMoDsdzwMf4=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp $src $out/share/autosort.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
scripts = [ "autosort.py" ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
inherit (weechat.meta) platforms;
|
||||
description = "autosort automatically keeps your buffers sorted and grouped by server.";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ flokli ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
{ callPackage, luaPackages, perlPackages, python3Packages }:
|
||||
|
||||
{
|
||||
autosort = callPackage ./autosort { };
|
||||
|
||||
colorize_nicks = callPackage ./colorize_nicks { };
|
||||
|
||||
edit = callPackage ./edit { };
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "protonmail-bridge";
|
||||
version = "3.10.0";
|
||||
version = "3.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ProtonMail";
|
||||
repo = "proton-bridge";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xjpySIbt7f86PRR/9F1DXMc0G+pBq3/75STW6Zw6IhE=";
|
||||
hash = "sha256-V2PevO9jhtKMrFVlviKPwcApP4ZTRbCLVoPx0gGNosU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cgQcI6yrnc5BUuyOkaYu24GzCaGe+BgXOC2zdt1Z1Lg=";
|
||||
vendorHash = "sha256-qi6ME74pJH/wgDh0xp/Rsc9hPd3v3L/M8pBQJzNieK8=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook3
|
||||
, curl, fuse3
|
||||
, curl, fuse3, fetchpatch2
|
||||
, desktopToDarwinBundle
|
||||
, glib, gtk3, gettext, libxkbfile, libX11, python3
|
||||
, freerdp3, libssh, libgcrypt, gnutls, vte
|
||||
@@ -26,11 +26,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-0z2fcBnChCBYPxyFm/xpAW0jHaUGA92NQgjt+lWFUnM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
name = "add-a-conditional-check-for-darwin-and-NetBSD.patch";
|
||||
url = "https://gitlab.com/Remmina/Remmina/-/commit/3b681398c823e070c7f780166b9d9fc2158e66c1.diff";
|
||||
hash = "sha256-Ovdrsl9bftXiuXV+sqvDP9VGuXQZzC5VKOmkYmBXhNA=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook3 ]
|
||||
++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
|
||||
|
||||
buildInputs = [
|
||||
curl fuse3
|
||||
curl
|
||||
gsettings-desktop-schemas
|
||||
glib gtk3 gettext libxkbfile libX11
|
||||
freerdp3 libssh libgcrypt gnutls
|
||||
@@ -42,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
openssl gnome.adwaita-icon-theme json-glib libsodium
|
||||
harfbuzz python3
|
||||
wayland
|
||||
] ++ lib.optionals stdenv.isLinux [ libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ]
|
||||
] ++ lib.optionals stdenv.isLinux [ fuse3 libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ]
|
||||
++ lib.optionals withLibsecret [ libsecret ]
|
||||
++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ]
|
||||
++ lib.optionals withVte [ vte ];
|
||||
|
||||
@@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
|
||||
headless one, so it is also possible to run wayvnc without a physical
|
||||
display attached.
|
||||
'';
|
||||
mainProgram = "wayvnc";
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://github.com/any1/wayvnc/releases/tag/v${version}";
|
||||
license = licenses.isc;
|
||||
|
||||
@@ -9,12 +9,14 @@
|
||||
, libgit2
|
||||
, librsvg
|
||||
, libuuid
|
||||
, opencascade-occt
|
||||
, opencascade-occt_7_6
|
||||
, pkg-config
|
||||
, podofo
|
||||
, sqlite
|
||||
}:
|
||||
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
in
|
||||
# This base is used in horizon-eda and python3Packages.horizon-eda
|
||||
rec {
|
||||
pname = "horizon-eda";
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
, swig4
|
||||
, python
|
||||
, wxPython
|
||||
, opencascade-occt
|
||||
, opencascade-occt_7_6
|
||||
, libngspice
|
||||
, valgrind
|
||||
|
||||
@@ -65,6 +65,7 @@ assert testing -> !stable
|
||||
-> throw "testing implies stable and cannot be used with stable = false";
|
||||
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
inherit (lib) optional optionals optionalString;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gurobi";
|
||||
version = "11.0.1";
|
||||
version = "11.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
|
||||
hash = "sha256-oZ7Oz22e4k6cVF3TDFxp/pE+RuU+3p/CatTWj1ci5ZY=";
|
||||
hash = "sha256-9DrIo+25h7mgphRSrNnY2+nrNzaMbafONuUkfLKho2g=";
|
||||
};
|
||||
|
||||
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "polymake";
|
||||
version = "4.11";
|
||||
version = "4.12";
|
||||
|
||||
src = fetchurl {
|
||||
# "The minimal version is a packager friendly version which omits
|
||||
# the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
|
||||
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
|
||||
sha256 = "sha256-XfbwrNcAEZvQxLV2Z2KFL/vYV3ZbXcyIgC/10hCK3SM=";
|
||||
sha256 = "sha256-vVpmf/ykv3641RE0Awzj3zsW3Z0OgA+v2xzoNYZ2QNk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade-occt, libsForQt5, tbb, vtkWithQt5 }:
|
||||
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, git
|
||||
, gfortran
|
||||
, mpi
|
||||
, blas
|
||||
, liblapack
|
||||
, pkg-config
|
||||
, libGL
|
||||
, libGLU
|
||||
, opencascade-occt_7_6
|
||||
, libsForQt5
|
||||
, tbb
|
||||
, vtkWithQt5
|
||||
}:
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elmerfem";
|
||||
version = "unstable-2023-09-18";
|
||||
@@ -19,6 +37,7 @@ stdenv.mkDerivation rec {
|
||||
pkg-config
|
||||
libsForQt5.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
mpi
|
||||
blas
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "kitty-themes";
|
||||
version = "unstable-2024-04-23";
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
homepage = "https://github.com/kovidgoyal/kitty-themes";
|
||||
description = "Themes for the kitty terminal emulator";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -280,15 +280,15 @@ rec {
|
||||
# Get revisions from
|
||||
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
|
||||
docker_24 = callPackage dockerGen rec {
|
||||
version = "24.0.5";
|
||||
version = "24.0.9";
|
||||
cliRev = "v${version}";
|
||||
cliHash = "sha256-u1quVGTx/p8BDyRn33vYyyuE5BOhWMnGQ5uVX0PZ5mg=";
|
||||
cliHash = "sha256-nXIZtE0X1OoQT908IGuRhVHb0tiLbqQLP0Md3YWt0/Q=";
|
||||
mobyRev = "v${version}";
|
||||
mobyHash = "sha256-JQjRz1fHZlQRkNw/R8WWLV8caN3/U3mrKKQXbZt2crU=";
|
||||
runcRev = "v1.1.8";
|
||||
runcHash = "sha256-rDJYEc64KW4Qa3Eg2oUjJqIKrg6THb5hxQFFbvb9Zp4=";
|
||||
containerdRev = "v1.7.1";
|
||||
containerdHash = "sha256-WwedtcsrDQwMQcKFO5nnPiHyGJpl5hXZlmpbBe1/ftY=";
|
||||
mobyHash = "sha256-KRS99heyMAPBnjjr7If8TOlJf6v6866S7J3YGkOhFiA=";
|
||||
runcRev = "v1.1.12";
|
||||
runcHash = "sha256-N77CU5XiGYIdwQNPFyluXjseTeaYuNJ//OsEUS0g/v0=";
|
||||
containerdRev = "v1.7.13";
|
||||
containerdHash = "sha256-y3CYDZbA2QjIn1vyq/p1F1pAVxQHi/0a6hGWZCRWzyk=";
|
||||
tiniRev = "v0.19.0";
|
||||
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
|
||||
};
|
||||
|
||||
@@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
+ lib.optionalString hostCpuOnly "-host-cpu-only"
|
||||
+ lib.optionalString nixosTestRunner "-for-vm-tests"
|
||||
+ lib.optionalString toolsOnly "-utils";
|
||||
version = "8.2.3";
|
||||
version = "8.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-d1sRjKpjZiCnr0saFWRFoaKA9a1Ss7y7F/jilkhB21g=";
|
||||
hash = "sha256-7PVTf+q5JkG5nXSC9VHyGV06W9NKzvnVK/v/NTpgc5c=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ]
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
, alsa-lib, curl, libvpx, nettools, dbus, substituteAll, gsoap, zlib, xz
|
||||
, yasm, glslang
|
||||
, linuxPackages
|
||||
, nixosTests
|
||||
# If open-watcom-bin is not passed, VirtualBox will fall back to use
|
||||
# the shipped alternative sources (assembly).
|
||||
, open-watcom-bin
|
||||
@@ -268,6 +269,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
passthru = {
|
||||
inherit extensionPack; # for inclusion in profile to prevent gc
|
||||
tests = nixosTests.virtualbox;
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arc-browser";
|
||||
version = "1.42.0-49714";
|
||||
version = "1.42.1-49918";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-fPb4g9rGJqeXuO2ytSo/8r0RB/h/EYa763JAFNqIPY8=";
|
||||
hash = "sha256-O0l2o0POyeZTqxJAahc/PfA4qS7US4AQYRnE6jSdqoE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bdf2ttf";
|
||||
version = "2.0-unstable-2016-07-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koron";
|
||||
repo = "bdf2ttf";
|
||||
rev = "1baae7b70a432153e3d876966e47a78f0e572eac";
|
||||
hash = "sha256-235BTcTaC/30yLlgo0OO2cp3YCHWa87GFJGBx5lmz6o=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makeFlags = [ "gcc" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 bdf2ttf $out/bin/bdf2ttf
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Convert BDF font file to TTF (embed bitmap as is, not convert to vector)";
|
||||
homepage = "https://github.com/koron/bdf2ttf";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ners ];
|
||||
platforms = lib.platforms.all;
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bitmagnet";
|
||||
version = "0.7.14";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitmagnet-io";
|
||||
repo = "bitmagnet";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TaxoQdjdHw8h6w6wKBHL/CVxWFK/RG2tJ//MtUEOwfU=";
|
||||
hash = "sha256-P5GfPRIrwLLMBRgoN6d092HiThMghEj1zcaf6BU+IWU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-y9RfaAx9AQS117J3+p/Yy8Mn5In1jmZmW4IxKjeV8T8=";
|
||||
vendorHash = "sha256-exKQTsyP7LL63WHZ8/WchLh4y0Oj9LC4lxiZTOfWARU=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
ldflags = [ "-s" "-w" "-X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v${version}" ];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
targetPlatform,
|
||||
fetchurl,
|
||||
python312,
|
||||
SDL2,
|
||||
libvorbis,
|
||||
openal,
|
||||
curl,
|
||||
gnugrep,
|
||||
libgcc,
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
autoPatchelfHook,
|
||||
copyDesktopItems,
|
||||
writeShellApplication,
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
let
|
||||
archive =
|
||||
{
|
||||
x86_64-linux = {
|
||||
name = "BombSquad_Linux_x86_64";
|
||||
hash = "sha256-VLNO0TxI/KBj8RkpGjo9Rx40f7fuV3pK2kIoKff9sRU=";
|
||||
};
|
||||
aarch-64-linux = {
|
||||
name = "BombSquad_Linux_Arm64";
|
||||
hash = "sha256-w42qhioZ9JRm004WEKzsJ3G1u09tLuPvTy8qV3DuglI=";
|
||||
};
|
||||
}
|
||||
.${targetPlatform.system} or (throw "${targetPlatform.system} is unsupported.");
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
name = "bombsquad";
|
||||
version = "1.7.34";
|
||||
sourceRoot = ".";
|
||||
src = fetchurl {
|
||||
url = "https://files.ballistica.net/bombsquad/builds/${archive.name}_${finalAttrs.version}.tar.gz";
|
||||
inherit (archive) hash;
|
||||
};
|
||||
|
||||
bombsquadIcon = fetchurl {
|
||||
url = "https://files.ballistica.net/bombsquad/promo/BombSquadIcon.png";
|
||||
hash = "sha256-MfOvjVmjhLejrJmdLo/goAM9DTGubnYGhlN6uF2GugA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python312
|
||||
SDL2
|
||||
libvorbis
|
||||
openal
|
||||
libgcc
|
||||
makeWrapper
|
||||
autoPatchelfHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "bombsquad";
|
||||
genericName = "bombsquad";
|
||||
desktopName = "BombSquad";
|
||||
icon = "bombsquad";
|
||||
exec = "bombsquad";
|
||||
comment = "An explosive arcade-style party game.";
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
base=${archive.name}_${finalAttrs.version}
|
||||
|
||||
install -m755 -D $base/bombsquad $out/bin/bombsquad
|
||||
install -dm755 $base/ba_data $out/usr/share/bombsquad/ba_data
|
||||
cp -r $base/ba_data $out/usr/share/bombsquad/
|
||||
|
||||
wrapProgram "$out/bin/bombsquad" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs} \
|
||||
--add-flags "-d $out/usr/share/bombsquad"
|
||||
|
||||
install -Dm755 ${finalAttrs.bombsquadIcon} $out/usr/share/icons/hicolor/32x32/apps/bombsquad.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = lib.getExe (writeShellApplication {
|
||||
name = "bombsquad-versionLister";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
gnugrep
|
||||
];
|
||||
text = ''
|
||||
curl -sL "https://files.ballistica.net/bombsquad/builds/CHANGELOG.md" \
|
||||
| grep -oP '^### \K\d+\.\d+\.\d+' \
|
||||
| head -n 1
|
||||
'';
|
||||
});
|
||||
|
||||
meta = {
|
||||
description = "A free, multiplayer, arcade-style game for up to eight players that combines elements of fighting games and first-person shooters (FPS)";
|
||||
homepage = "https://ballistica.net";
|
||||
changelog = "https://ballistica.net/downloads?display=changelog";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
unfree
|
||||
];
|
||||
maintainers = with lib.maintainers; [ syedahkam ];
|
||||
mainProgram = "bombsquad";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "eigenlayer";
|
||||
version = "0.7.3";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Layr-Labs";
|
||||
repo = "eigenlayer-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HsDuDe2ANxL+cTJ3mm1enLoKRewZ9Ey/YajpsLO66JA=";
|
||||
hash = "sha256-bj1+gm11gYwvuut8tUrML7Sg1W5rmGH49tZ4u/76s84=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aclRbQtGg6yQMJtaO1WjtHLXU7cE1HX1ZDckRIEtw6o=";
|
||||
vendorHash = "sha256-Hws6qlt0O/1xP94ghiIBIF/FwvYGu0fY8LWjVgAp/pQ=";
|
||||
|
||||
ldflags = ["-s" "-w"];
|
||||
subPackages = ["cmd/eigenlayer"];
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "flye";
|
||||
version = "2.9.3";
|
||||
version = "2.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fenderglass";
|
||||
repo = "flye";
|
||||
rev = version;
|
||||
hash = "sha256-IALqtIPmvDYoH4w/tk2WB/P/pAcKXxgnsu9PFp+wIes=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-lwiY0VTEsLMMXt1VowsS3jj44v30Z766xNRwQtQKr10=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
, mpi
|
||||
, ninja
|
||||
, ode
|
||||
, opencascade-occt
|
||||
, opencascade-occt_7_6
|
||||
, pkg-config
|
||||
, python3Packages
|
||||
, runCommand # for passthru.tests
|
||||
@@ -33,6 +33,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
boost = python3Packages.boost;
|
||||
inherit (libsForQt5)
|
||||
qtbase
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
unzip,
|
||||
perl,
|
||||
libX11,
|
||||
libXpm,
|
||||
gpm,
|
||||
ncurses,
|
||||
slang,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fte";
|
||||
version = "0.50.02";
|
||||
|
||||
ftesrc = fetchurl {
|
||||
url = "mirror://sourceforge/fte/fte-20110708-src.zip";
|
||||
hash = "sha256-1jEcVC0/DyiQpUpmHDtnIo4nuJS0Fk6frynwFPJUSZ4=";
|
||||
};
|
||||
|
||||
ftecommon = fetchurl {
|
||||
url = "mirror://sourceforge/fte/fte-20110708-common.zip";
|
||||
hash = "sha256-WEEVeLMZWHZfQtK/Kbeu3Z+RaVXCwZyWkJocA+Akavc=";
|
||||
};
|
||||
|
||||
src = [
|
||||
finalAttrs.ftesrc
|
||||
finalAttrs.ftecommon
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [
|
||||
perl
|
||||
libX11
|
||||
libXpm
|
||||
gpm
|
||||
ncurses
|
||||
slang
|
||||
];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-DHAVE_STRLCAT -DHAVE_STRLCPY";
|
||||
installFlags = [ "INSTALL_NONROOT=1" ];
|
||||
|
||||
# not setting it cause fte to not find xfte
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = {
|
||||
description = "A free text editor for developers";
|
||||
homepage = "https://fte.sourceforge.net/";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
libpulseaudio,
|
||||
nas,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gbsplay";
|
||||
version = "0.0.97";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mmitch";
|
||||
repo = "gbsplay";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-O4t5OzXcrGoxzSXr0nzc01bItjcp1LvFeWnbdSUDwFU=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--without-test" # See mmitch/gbsplay#62
|
||||
"--without-contrib"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
buildInputs = [
|
||||
libpulseaudio
|
||||
nas
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --bash --name gbsplay contrib/gbsplay.bashcompletion
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Gameboy sound player";
|
||||
license = lib.licenses.gpl1Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
mainProgram = "gbsplay";
|
||||
};
|
||||
})
|
||||
+8
-8
@@ -1,13 +1,13 @@
|
||||
{ lib, stdenv, fetchFromGitHub, makeWrapper, git }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "git-standup";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kamranahmedse";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
repo = "git-standup";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "1xnn0jjha56v7l2vj45zzxncl6m5x2hq6nkffgc1bcikhp1pidn7";
|
||||
};
|
||||
|
||||
@@ -22,12 +22,12 @@ stdenv.mkDerivation rec {
|
||||
--prefix PATH : "${lib.makeBinPath [ git ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Recall what you did on the last working day";
|
||||
homepage = "https://github.com/kamranahmedse/git-standup";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "git-standup";
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
ncurses,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hexedit";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pixel";
|
||||
repo = "hexedit";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-fIgPbr7qmxyEga2YaAD0+NBM8LeDm/tVAq99ub7aiAI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
meta = {
|
||||
description = "View and edit files in hexadecimal or in ASCII";
|
||||
homepage = "http://rigaux.org/hexedit.html";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
mainProgram = "hexedit";
|
||||
};
|
||||
})
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hyprnome";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "donovanglover";
|
||||
repo = "hyprnome";
|
||||
rev = version;
|
||||
hash = "sha256-zlXiT2EOIdgIDI4NQuU3C903SSq5bylBAFJXyv7mdJ4=";
|
||||
hash = "sha256-J/gaAwydSA9fi2qZYrWLpodTltL56yG4VQ2YlIPKJ/U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-DpbRs97sr5wpJSrYF99ZiQ0SZOZdoQjfaLhKIAU95HA=";
|
||||
cargoHash = "sha256-Fyst6rwpvVQoeWCOkJwpNuMcnp6Q+kAXtDg+fccTVNM=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "lunar-client";
|
||||
version = "3.2.6";
|
||||
version = "3.2.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
|
||||
hash = "sha512-JZ6fXUDurLxe6acRRXTHot2GTUqMaSwy7N5K4cmFmOn4s8W2aXek+o8med3ytaxoTd6FmibXmCxrjnOVMHBRGA==";
|
||||
hash = "sha512-dziL9lnpsiJ2BV+jNOhVMvZtYY/K4chyiZB5/fMCw9/4/3Boe/DO7s2steEOhxEsPqUcWaf1Sjs6DFSX/CHUqw==";
|
||||
};
|
||||
|
||||
extraInstallCommands =
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lutgen";
|
||||
version = "0.10.0";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ozwaldorf";
|
||||
repo = "lutgen-rs";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-O2995+DLiCRDM/+oPTOBiM0L1x0jmbLTlR48+5IfOQw=";
|
||||
hash = "sha256-Rj6y8ZiNWQsGn8B+iNMZvuE/U2703oYbJW+ZSdV3fl4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ys4c/YUJJikDEUJjzagZBB+kSy+EFf+PqQdK/h+3gWU=";
|
||||
cargoHash = "sha256-7yNr6Zc5A7rj6sUnplo2gB2xNUgZ3TLwUuBEfVKZfIQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec{
|
||||
pname = "makima";
|
||||
version = "0.6.6";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cyber-sushi";
|
||||
repo = "makima";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Orl79ETROaQzAraGGgYQSSreASanYQHkpEetIR8kJmo=";
|
||||
hash = "sha256-pLEMKVi1CXp9Jqy+D0Wibhfq8PAH2bm3e1G7jShEKsU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-npnAbzy2EN3tK1/pSJnnucMj5lLn30lrgKtcPDl0HQQ=";
|
||||
cargoHash = "sha256-EiqmNu0GUE/zFrWkIqrcxZEpv26J39GeWa+tmTlJq4A=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ udev ];
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "misconfig-mapper";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intigriti";
|
||||
repo = "misconfig-mapper";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5FzXtqC8C4iDC8xBalKHlNeSIJ0msMVC7jUXZxSLkLY=";
|
||||
hash = "sha256-D9VQthfkWC+qmqIZKIVuFuf9ZDNtyRmjh7tT/QGhQig=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-b2AVWjZXNQPV84sS2wu5xUadZEme/T96O4dGiV5G0dA=";
|
||||
vendorHash = "sha256-lkVTgnWdk9eW6QtKScK8NckcXGzsHeIwjSoUx85AGU8=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "oh-my-posh";
|
||||
version = "19.27.0";
|
||||
version = "19.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jandedobbeleer";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gnK4cu44aSVai48z7U4AlgiulCwNQU/LgN5XJKIYDv8=";
|
||||
hash = "sha256-vn3P9upO6d0jpZzrG77/xkhfn4NINnBZ3YymlRdoONw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-YKl6Euk4907SeIy8BZL7aF2b0AsvknZ7CU8n49GNLz0=";
|
||||
vendorHash = "sha256-mZNhsvEI1AbsAhoK7AuNgrQvYlkGrrpPVuv3R5nssC4=";
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pnpm-shell-completion";
|
||||
version = "0.5.3";
|
||||
version = "0.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "g-plane";
|
||||
repo = "pnpm-shell-completion";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UKuAUN1uGNy/1Fm4vXaTWBClHgda+Vns9C4ugfHm+0s=";
|
||||
hash = "sha256-bc2ZVHQF+lSAmhy/fvdiVfg9uzPPcXYrtiNChjkjHtA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Kf28hQ5PUHeH5ZSRSRdfHljlqIYU8MN0zQsyT0Sa2+4=";
|
||||
cargoHash = "sha256-pGACCT96pTG4ZcJZtSWCup7Iejf6r3RvQ+4tMOwiShw=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
, gettext
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, plugins ? [ ]
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
@@ -132,7 +133,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
vobject
|
||||
whitenoise
|
||||
zxcvbn
|
||||
] ++ beautifulsoup4.optional-dependencies.lxml;
|
||||
] ++ beautifulsoup4.optional-dependencies.lxml ++ plugins;
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
mysql = with python.pkgs; [
|
||||
@@ -210,6 +211,12 @@ python.pkgs.buildPythonApplication rec {
|
||||
tests = {
|
||||
inherit (nixosTests) pretalx;
|
||||
};
|
||||
plugins = lib.recurseIntoAttrs (
|
||||
lib.packagesFromDirectoryRecursive {
|
||||
inherit (python.pkgs) callPackage;
|
||||
directory = ./plugins;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
inherit meta;
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-downstream";
|
||||
version = "1.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-downstream";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-MzoK/tzf6ajZ/THIXyad/tfb3lsQD9k9J6aBfoP9ONo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_downstream" ];
|
||||
|
||||
meta = {
|
||||
description = "Use pretalx passively by importing another event's schedule";
|
||||
homepage = "https://github.com/pretalx/pretalx-downstream";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-media-ccc-de";
|
||||
version = "1.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-media-ccc-de";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QCnZZpYjHxj92Dl2nRd4lXapufcqRmlVH6LEq0rzQ2U=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_media_ccc_de" ];
|
||||
|
||||
meta = {
|
||||
description = "Pull recordings from media.ccc.de and embed them in talk pages";
|
||||
homepage = "https://github.com/pretalx/pretalx-media-ccc-de";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-pages";
|
||||
version = "1.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-pages";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Wzd3uf+mdoyeMCZ4ZYcPLGqlUWCqSL02eeKRubTiH00=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_pages" ];
|
||||
|
||||
meta = {
|
||||
description = "Static pages for pretalx, e.g. information, venue listings, a Code of Conduct, etc";
|
||||
homepage = "https://github.com/pretalx/pretalx-pages";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-public-voting";
|
||||
version = "1.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-public-voting";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0dSnUVXtWEuu+m5PyFjjM2WVYE3+cNqZYlMkRQlI+2U=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_public_voting" ];
|
||||
|
||||
meta = {
|
||||
description = "A public voting plugin for pretalx";
|
||||
homepage = "https://github.com/pretalx/pretalx-public-voting";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
gettext,
|
||||
setuptools,
|
||||
django,
|
||||
pyjwt,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-venueless";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-venueless";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-h8o5q1roFm8Bct/Qf8obIJYkkGPcz3WJ15quxZH48H8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
pyjwt
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_venueless" ];
|
||||
|
||||
meta = {
|
||||
description = "Static venueless for pretalx, e.g. information, venue listings, a Code of Conduct, etc";
|
||||
homepage = "https://github.com/pretalx/pretalx-venueless";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-vimeo";
|
||||
version = "2.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-vimeo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CVP9C2wY51p8UDnzPpjzdVv5b9CSVanGbkaJiOo+9eY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_vimeo" ];
|
||||
|
||||
meta = {
|
||||
description = "Static vimeo for pretalx, e.g. information, venue listings, a Code of Conduct, etc";
|
||||
homepage = "https://github.com/pretalx/pretalx-vimeo";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pretalx-youtube";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx-youtube";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-j3NZ+5QBbdpE2bxenqq5bW/42CWvQ9FqrKMmfYIe4Lo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
pythonImportsCheck = [ "pretalx_youtube" ];
|
||||
|
||||
meta = {
|
||||
description = "Static youtube for pretalx, e.g. information, venue listings, a Code of Conduct, etc";
|
||||
homepage = "https://github.com/pretalx/pretalx-youtube";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }:
|
||||
|
||||
let
|
||||
version = "1.1.361";
|
||||
version = "1.1.362";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Microsoft";
|
||||
repo = "pyright";
|
||||
rev = "${version}";
|
||||
hash = "sha256-Prp8LlkSxK2zuVi1lYtI4MdBTGrGhA52Cl5a016ttDY=";
|
||||
hash = "sha256-sz+Om2bfsJJTe2W8l49pI+K9phCTwoczeG1Q7qlMIig=";
|
||||
};
|
||||
|
||||
patchedPackageJSON = runCommand "package.json" { } ''
|
||||
@@ -37,7 +37,7 @@ let
|
||||
pname = "pyright-internal";
|
||||
inherit version src;
|
||||
sourceRoot = "${src.name}/packages/pyright-internal";
|
||||
npmDepsHash = "sha256-kWDMbzLTDIyG9fUixEJ8Uap4wJmLiu0CQWKr9K5hAJQ=";
|
||||
npmDepsHash = "sha256-xcr9j5/90gfV/r0yI9ifj6Nrr9WrawwvukuVkl387r4=";
|
||||
dontNpmBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -51,7 +51,7 @@ buildNpmPackage rec {
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/packages/pyright";
|
||||
npmDepsHash = "sha256-6Drw9H5eTxpZVrQZpUIarcu3a6UpU/8qX1MzM4q5IfY=";
|
||||
npmDepsHash = "sha256-79tXMdOt1XH3KTT46bq35J4AcCVyoB2d4KEkr9EjqVY=";
|
||||
|
||||
postPatch = ''
|
||||
chmod +w ../../
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "rcu";
|
||||
version = "2024.001n";
|
||||
version = "2024.001o";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = let
|
||||
src-tarball = requireFile {
|
||||
name = "rcu-d${version}-source.tar.gz";
|
||||
sha256 = "1snmf2cr242k946q6fh5b5fqdyafdbs8gbbdzchjhm7n9r1kxyca";
|
||||
sha256 = "1smi4cfnwbdil0f77244dfq65i173vb4g3kk451lwh35s91ar628";
|
||||
url = "http://www.davisr.me/projects/rcu/";
|
||||
};
|
||||
in runCommand "${src-tarball.name}-unpacked" {} ''
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ripunzip";
|
||||
version = "1.1.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "ripunzip";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GyP4OPnPKhu9nXYXIfWCVLF/thwWiP0OqAQY/1D05LE=";
|
||||
hash = "sha256-WcqN3Li0UiEhntKlQkGUrkP9N1I3NrjaGzIs9Q5i4y4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Jv9bCHT5xl/2CPnSuWd9HZuaGOttBC5iAbbpr3jaIhM=";
|
||||
cargoHash = "sha256-CezigBDU632UVaeFNv+iM2dQQUabKhOP43etp6vjxTg=";
|
||||
|
||||
buildInputs = [ openssl ]
|
||||
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]);
|
||||
|
||||
Generated
+16
-16
@@ -980,7 +980,7 @@ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
|
||||
|
||||
[[package]]
|
||||
name = "spade"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"clap",
|
||||
@@ -1014,7 +1014,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-ast"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"num",
|
||||
"spade-common",
|
||||
@@ -1022,7 +1022,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-ast-lowering"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"itertools",
|
||||
"local-impl",
|
||||
@@ -1040,7 +1040,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-common"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"codespan-reporting 0.12.0",
|
||||
@@ -1066,7 +1066,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-diagnostics"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"codespan-reporting 0.12.0",
|
||||
@@ -1084,7 +1084,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-hir"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan-reporting 0.12.0",
|
||||
"colored",
|
||||
@@ -1102,7 +1102,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-hir-lowering"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"codespan-reporting 0.12.0",
|
||||
@@ -1128,7 +1128,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-macros"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -1138,7 +1138,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-mir"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"codespan-reporting 0.12.0",
|
||||
@@ -1159,7 +1159,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-parser"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"colored",
|
||||
@@ -1177,7 +1177,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-python"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan-reporting 0.12.0",
|
||||
"color-eyre",
|
||||
@@ -1206,7 +1206,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-simulation-ext"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan-reporting 0.12.0",
|
||||
"color-eyre",
|
||||
@@ -1234,7 +1234,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-tests"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan-reporting 0.12.0",
|
||||
"colored",
|
||||
@@ -1262,7 +1262,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-typeinference"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"codespan",
|
||||
@@ -1285,7 +1285,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-types"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"num",
|
||||
"serde",
|
||||
@@ -1294,7 +1294,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "spade-wordlength-inference"
|
||||
version = "0.7.0"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"codespan",
|
||||
"codespan-reporting 0.12.0",
|
||||
|
||||
@@ -2,17 +2,20 @@
|
||||
, rustPlatform
|
||||
, fetchFromGitLab
|
||||
, stdenv
|
||||
, nix-update
|
||||
, writeScript
|
||||
, git
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "spade";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "spade-lang";
|
||||
repo = "spade";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oJfOgWobjt+DAVdP465E8iLMJCdqhs0vzJJFgRqVAP8=";
|
||||
hash = "sha256-J3AdXuN1WLKFED9YeBly68umPlx05Wl+mhT2YbBsJVk=";
|
||||
# only needed for vatch, which contains test data
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
@@ -25,6 +28,18 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
};
|
||||
|
||||
# rust + gitlab is a rare combo
|
||||
passthru.updateScript = [
|
||||
(writeScript "update-spade" ''
|
||||
VERSION="$(
|
||||
${lib.getExe git} ls-remote --tags --sort -version:refname ${lib.escapeShellArg src.gitRepoUrl} \
|
||||
| cut -f2 | grep ^refs/tags/v | cut -d/ -f3- | cut -c2- \
|
||||
| sort --version-sort --reverse | head -n1
|
||||
)"
|
||||
exec ${lib.getExe nix-update} --version "$VERSION" "$@"
|
||||
'')
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A better hardware description language";
|
||||
homepage = "https://gitlab.com/spade-lang/spade";
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tenv";
|
||||
version = "1.10.1";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tofuutils";
|
||||
repo = "tenv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-c283egT5KOcR+PjwWnKkCI3RKr+Tqa6a+ORsjq4wuXs=";
|
||||
hash = "sha256-LjgcI3E6K6b8fca9HdLyyIJJMHFxRtHdvWQb19jFHpA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-GAUpQbZfaF3N2RaQO0ZDe8DywOZwIfXNImsZCk6iB+U=";
|
||||
vendorHash = "sha256-teog4VJGDOYsABuE2/fvOtcWvC8mM36rJQI6KZb3eS8=";
|
||||
|
||||
# Tests disabled for requiring network access to release.hashicorp.com
|
||||
doCheck = false;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub, pkg-config
|
||||
, cairo, gdk-pixbuf, glib, libinput, libxml2, pango, udev
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tiny-dfr";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WhatAmISupposedToPutHere";
|
||||
repo = "tiny-dfr";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oawKYrfXAQ5RFMdUCG7F12wHcnFif++44s2KsX9ns6U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QOkztErJLFXPxCb8MvaXi7jGXeI5A0q8LwZtYddzUZE=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ cairo gdk-pixbuf glib libinput libxml2 pango udev ];
|
||||
|
||||
postConfigure = ''
|
||||
substituteInPlace etc/systemd/system/tiny-dfr.service \
|
||||
--replace-fail /usr/bin $out/bin
|
||||
substituteInPlace src/*.rs --replace-quiet /usr/share $out/share
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cp -R etc $out/lib
|
||||
cp -R share $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/WhatAmISupposedToPutHere/tiny-dfr";
|
||||
description = "The most basic dynamic function row daemon possible";
|
||||
license = [ licenses.asl20 licenses.mit ];
|
||||
mainProgram = "tiny-dfr";
|
||||
maintainers = [ maintainers.qyliss ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
fzf,
|
||||
xclip,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "unipicker";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeremija";
|
||||
repo = "unipicker";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Br9nCK5eWoSN1i4LM2F31B62L9vuN5KzjS9pC9lq9oM=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
fzf
|
||||
xclip
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
substituteInPlace unipicker \
|
||||
--replace-fail "/etc/unipickerrc" "$out/etc/unipickerrc" \
|
||||
--replace-fail "fzf" "${fzf}/bin/fzf"
|
||||
substituteInPlace unipickerrc \
|
||||
--replace-fail "/usr/local" "$out" \
|
||||
--replace-fail "fzf" "${fzf}/bin/fzf"
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"DESTDIR=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A CLI utility for searching unicode characters by description and optionally copying them to clipboard";
|
||||
homepage = "https://github.com/jeremija/unipicker";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "unipicker";
|
||||
};
|
||||
})
|
||||
@@ -1,34 +1,63 @@
|
||||
{ stdenvNoCC, lib, fetchurl }:
|
||||
{
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
fetchurl,
|
||||
testers,
|
||||
upsun
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "upsun";
|
||||
version = "5.0.12";
|
||||
version = "5.0.13";
|
||||
|
||||
src = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${version}/upsun_${version}_linux_amd64.tar.gz";
|
||||
hash = "sha256-svEPMVY7r7pAoXwFIMYqCEduqR3Nkocaguf2nIGt+G8=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${version}/upsun_${version}_linux_arm64.tar.gz";
|
||||
hash = "sha256-ZraS/PqSPL/kcj5o6hzDdL70IV2IWXOma6OHCiXIDQc=";
|
||||
};
|
||||
}.${stdenvNoCC.system} or (throw "${pname}-${version}: ${stdenvNoCC.system} is unsupported.");
|
||||
src =
|
||||
{
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${finalAttrs.version}/upsun_${finalAttrs.version}_darwin_all.tar.gz";
|
||||
hash = "sha256-5JKXtAUnqrlufyNE05uZjEDfJv557auYPriTxvUbMJI=";
|
||||
};
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${finalAttrs.version}/upsun_${finalAttrs.version}_darwin_all.tar.gz";
|
||||
hash = "sha256-5JKXtAUnqrlufyNE05uZjEDfJv557auYPriTxvUbMJI=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${finalAttrs.version}/upsun_${finalAttrs.version}_linux_amd64.tar.gz";
|
||||
hash = "sha256-fjVL/sbO1wmaJ4qZpUMV/4Q4Jzf0p6qx0ElRdY5EUJU=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://github.com/platformsh/cli/releases/download/${finalAttrs.version}/upsun_${finalAttrs.version}_linux_arm64.tar.gz";
|
||||
hash = "sha256-MNlQkwsg5SuIQJBDy7yVtcda1odpaUZezCgrat6OW2Q=";
|
||||
};
|
||||
}
|
||||
.${stdenvNoCC.system}
|
||||
or (throw "${finalAttrs.pname}-${finalAttrs.version}: ${stdenvNoCC.system} is unsupported.");
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
sourceRoot = ".";
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 upsun $out/bin/upsun
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
inherit (finalAttrs) version;
|
||||
package = upsun;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/platformsh/cli";
|
||||
description = "The unified tool for managing your Upsun services from the command line";
|
||||
maintainers = with lib.maintainers; [ spk ];
|
||||
homepage = "https://github.com/platformsh/cli";
|
||||
license = lib.licenses.mit;
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
mainProgram = "upsun";
|
||||
maintainers = with lib.maintainers; [ spk ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
apiEndpoint ? "http://localhost:3000",
|
||||
fetchYarnDeps,
|
||||
your_spotify,
|
||||
mkYarnPackage,
|
||||
fixup-yarn-lock,
|
||||
src,
|
||||
version,
|
||||
yarn,
|
||||
}:
|
||||
mkYarnPackage rec {
|
||||
inherit version src;
|
||||
pname = "your_spotify_client";
|
||||
name = "your_spotify_client-${version}";
|
||||
packageJSON = ./package.json;
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-5SgknaRVzgO2Dzc8MhAaM8UERWMv+PrItzevoWHbWnA=";
|
||||
};
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror $offlineCache
|
||||
fixup-yarn-lock yarn.lock
|
||||
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
||||
patchShebangs node_modules/
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
pushd ./apps/client/
|
||||
yarn --offline run build
|
||||
export API_ENDPOINT="${apiEndpoint}"
|
||||
substituteInPlace scripts/run/variables.sh --replace-quiet '/app/apps/client/' "./"
|
||||
|
||||
chmod +x ./scripts/run/variables.sh
|
||||
patchShebangs --build ./scripts/run/variables.sh
|
||||
|
||||
./scripts/run/variables.sh
|
||||
|
||||
popd
|
||||
runHook postBuild
|
||||
'';
|
||||
nativeBuildInputs = [yarn fixup-yarn-lock];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out
|
||||
cp -r ./apps/client/build/* $out
|
||||
runHook postInstall
|
||||
'';
|
||||
doDist = false;
|
||||
meta = {
|
||||
inherit (your_spotify.meta) homepage changelog description license maintainers;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@your_spotify/root",
|
||||
"version": "1.10.1",
|
||||
"repository": "git@github.com:Yooooomi/your_spotify.git",
|
||||
"author": "Timothee <timothee.boussus@gmail.com>",
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"apps/*"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
callPackage,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
lib,
|
||||
makeWrapper,
|
||||
mkYarnPackage,
|
||||
nodejs,
|
||||
fixup-yarn-lock,
|
||||
yarn,
|
||||
}: let
|
||||
version = "1.10.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yooooomi";
|
||||
repo = "your_spotify";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-e82j2blGxQLWAlBNuAnFvlD9vwMk4/mRI0Vf7vuaPA0=";
|
||||
};
|
||||
client = callPackage ./client.nix {inherit src version;};
|
||||
in
|
||||
mkYarnPackage rec {
|
||||
inherit version src;
|
||||
pname = "your_spotify_server";
|
||||
name = "your_spotify_server-${version}";
|
||||
packageJSON = ./package.json;
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-5SgknaRVzgO2Dzc8MhAaM8UERWMv+PrItzevoWHbWnA=";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror $offlineCache
|
||||
fixup-yarn-lock yarn.lock
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
||||
patchShebangs node_modules/
|
||||
|
||||
pushd ./apps/server/
|
||||
yarn --offline run build
|
||||
popd
|
||||
|
||||
rm -r node_modules
|
||||
export NODE_ENV="production"
|
||||
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
||||
patchShebangs node_modules/
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
nativeBuildInputs = [makeWrapper yarn fixup-yarn-lock];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/your_spotify
|
||||
cp -r node_modules $out/share/your_spotify/node_modules
|
||||
cp -r ./apps/server/{lib,package.json} $out
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${lib.escapeShellArg (lib.getExe nodejs)} "$out/bin/your_spotify_migrate" \
|
||||
--add-flags "$out/lib/migrations.js" --set NODE_PATH "$out/share/your_spotify/node_modules"
|
||||
makeWrapper ${lib.escapeShellArg (lib.getExe nodejs)} "$out/bin/your_spotify_server" \
|
||||
--add-flags "$out/lib/index.js" --set NODE_PATH "$out/share/your_spotify/node_modules"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
doDist = false;
|
||||
passthru = {
|
||||
inherit client;
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Yooooomi/your_spotify";
|
||||
changelog = "https://github.com/Yooooomi/your_spotify/releases/tag/${version}";
|
||||
description = "Self-hosted application that tracks what you listen and offers you a dashboard to explore statistics about it";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [patrickdag];
|
||||
mainProgram = "your_spotify_server";
|
||||
};
|
||||
}
|
||||
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation {
|
||||
homepage = "https://abrudz.github.io/APL386/";
|
||||
description = "APL385 Unicode font evolved";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
maintainers = with lib.maintainers; [ sigmanificient ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "cozette";
|
||||
version = "1.24.0";
|
||||
version = "1.24.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${builtins.replaceStrings ["."] ["-"] version}.zip";
|
||||
hash = "sha256-BA3pVcqZnakoYhF00OqDzo4GwRB5txGKN/ou2EvadWo=";
|
||||
hash = "sha256-G3/m0g3pdPHUlSLnJhGIFem6UOyEf1VxjOvz/0E9Vr0=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user