Merge ef205d1b24 into haskell-updates
This commit is contained in:
@@ -258,7 +258,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
|
||||
/pkgs/applications/editors/jetbrains @edwtjo @leona-ya @theCapypara
|
||||
|
||||
# Licenses
|
||||
/lib/licenses.nix @alyssais @emilazy
|
||||
/lib/licenses.nix @alyssais @emilazy @jopejoe1
|
||||
|
||||
# Qt
|
||||
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
|
||||
|
||||
+18
-37
@@ -410,9 +410,8 @@ lib.mapAttrs mkLicense (
|
||||
};
|
||||
|
||||
cc-sa-10 = {
|
||||
shortName = "CC-SA-1.0";
|
||||
spdxId = "CC-SA-1.0";
|
||||
fullName = "Creative Commons Share Alike 1.0";
|
||||
url = "https://creativecommons.org/licenses/sa/1.0";
|
||||
};
|
||||
|
||||
cddl = {
|
||||
@@ -440,6 +439,11 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "CeCILL-C Free Software License Agreement";
|
||||
};
|
||||
|
||||
classpathException20 = {
|
||||
spdxId = "Classpath-exception-2.0";
|
||||
fullName = "Classpath exception 2.0";
|
||||
};
|
||||
|
||||
cockroachdb-community-license = {
|
||||
fullName = "CockroachDB Community License Agreement";
|
||||
url = "https://www.cockroachlabs.com/cockroachdb-community-license/";
|
||||
@@ -588,14 +592,14 @@ lib.mapAttrs mkLicense (
|
||||
|
||||
fsl11Mit = {
|
||||
fullName = "Functional Source License, Version 1.1, MIT Future License";
|
||||
url = "https://fsl.software/FSL-1.1-MIT.template.md";
|
||||
spdxId = "FSL-1.1-MIT";
|
||||
free = false;
|
||||
redistributable = true;
|
||||
};
|
||||
|
||||
fsl11Asl20 = {
|
||||
fullName = "Functional Source License, Version 1.1, Apache 2.0 Future License";
|
||||
url = "https://fsl.software/FSL-1.1-Apache-2.0.template.md";
|
||||
spdxId = "FSL-1.1-ALv2";
|
||||
free = false;
|
||||
redistributable = true;
|
||||
};
|
||||
@@ -646,26 +650,6 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "GNU General Public License v2.0 only";
|
||||
};
|
||||
|
||||
gpl2Classpath = {
|
||||
spdxId = "GPL-2.0-with-classpath-exception";
|
||||
fullName = "GNU General Public License v2.0 only (with Classpath exception)";
|
||||
};
|
||||
|
||||
gpl2ClasspathPlus = {
|
||||
fullName = "GNU General Public License v2.0 or later (with Classpath exception)";
|
||||
url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
|
||||
};
|
||||
|
||||
gpl2UBDLPlus = {
|
||||
fullName = "GNU General Public License v3.0 or later (with UBDL exception)";
|
||||
url = "https://spdx.org/licenses/UBDL-exception.html";
|
||||
};
|
||||
|
||||
gpl2Oss = {
|
||||
fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
|
||||
url = "https://www.mysql.com/about/legal/licensing/foss-exception";
|
||||
};
|
||||
|
||||
gpl2Plus = {
|
||||
spdxId = "GPL-2.0-or-later";
|
||||
fullName = "GNU General Public License v2.0 or later";
|
||||
@@ -681,11 +665,6 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "GNU General Public License v3.0 or later";
|
||||
};
|
||||
|
||||
gpl3ClasspathPlus = {
|
||||
fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
|
||||
url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception";
|
||||
};
|
||||
|
||||
giftware = {
|
||||
spdxId = "Giftware";
|
||||
fullName = "Giftware License";
|
||||
@@ -1235,9 +1214,8 @@ lib.mapAttrs mkLicense (
|
||||
};
|
||||
|
||||
smail = {
|
||||
shortName = "smail";
|
||||
spdxId = "SMAIL-GPL";
|
||||
fullName = "SMAIL General Public License";
|
||||
url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/";
|
||||
};
|
||||
|
||||
smlnj = {
|
||||
@@ -1246,9 +1224,8 @@ lib.mapAttrs mkLicense (
|
||||
};
|
||||
|
||||
sspl = {
|
||||
shortName = "SSPL";
|
||||
spdxId = "SSPL-1.0";
|
||||
fullName = "Server Side Public License";
|
||||
url = "https://www.mongodb.com/licensing/server-side-public-license";
|
||||
free = false;
|
||||
# NOTE Debatable.
|
||||
# The license a slightly modified AGPL but still considered unfree by the
|
||||
@@ -1269,9 +1246,8 @@ lib.mapAttrs mkLicense (
|
||||
};
|
||||
|
||||
sustainableUse = {
|
||||
shortName = "sustainable";
|
||||
spdxId = "SUL-1.0";
|
||||
fullName = "Sustainable Use License";
|
||||
url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md";
|
||||
free = false;
|
||||
redistributable = false; # only free to redistribute "for non-commercial purposes"
|
||||
};
|
||||
@@ -1340,6 +1316,11 @@ lib.mapAttrs mkLicense (
|
||||
url = "https://github.com/PixarAnimationStudios/OpenUSD/blob/release/LICENSE.txt";
|
||||
};
|
||||
|
||||
ubdlException = {
|
||||
spdxId = "UBDL-exception";
|
||||
fullName = "Unmodified Binary Distribution exception";
|
||||
};
|
||||
|
||||
ucd = {
|
||||
fullName = "Unicode Character Database License";
|
||||
url = "https://fedoraproject.org/wiki/Licensing:UCD";
|
||||
@@ -1448,8 +1429,8 @@ lib.mapAttrs mkLicense (
|
||||
fullName = "Do What The F*ck You Want To Public License";
|
||||
};
|
||||
|
||||
wxWindows = {
|
||||
spdxId = "wxWindows";
|
||||
wxWindowsException31 = {
|
||||
spdxId = "WxWindows-exception-3.1";
|
||||
fullName = "wxWindows Library Licence, Version 3.1";
|
||||
};
|
||||
|
||||
|
||||
@@ -6263,6 +6263,12 @@
|
||||
githubId = 21953890;
|
||||
name = "Tim Digel";
|
||||
};
|
||||
despsyched = {
|
||||
email = "priyanshu.tripathi@deshaw.com";
|
||||
github = "despsyched";
|
||||
githubId = 196187334;
|
||||
name = "Priyanshu Tripathi";
|
||||
};
|
||||
desttinghim = {
|
||||
email = "opensource@louispearson.work";
|
||||
matrix = "@desttinghim:matrix.org";
|
||||
@@ -7300,12 +7306,6 @@
|
||||
githubId = 20847625;
|
||||
name = "Elizabeth Paź";
|
||||
};
|
||||
ehmry = {
|
||||
email = "ehmry@posteo.net";
|
||||
github = "ehmry";
|
||||
githubId = 537775;
|
||||
name = "Emery Hemingway";
|
||||
};
|
||||
eigengrau = {
|
||||
email = "seb@schattenkopie.de";
|
||||
name = "Sebastian Reuße";
|
||||
@@ -14026,6 +14026,11 @@
|
||||
githubId = 2422454;
|
||||
name = "Kai Wohlfahrt";
|
||||
};
|
||||
kyehn = {
|
||||
name = "kyehn";
|
||||
github = "kyehn";
|
||||
githubId = 228304369;
|
||||
};
|
||||
kylecarbs = {
|
||||
name = "Kyle Carberry";
|
||||
email = "kyle@carberry.com";
|
||||
@@ -20988,7 +20993,7 @@
|
||||
email = "nix@dev.quantenzitrone.eu";
|
||||
github = "quantenzitrone";
|
||||
githubId = 74491719;
|
||||
matrix = "@quantenzitrone:matrix.org";
|
||||
matrix = "@zitrone:utwente.io";
|
||||
name = "quantenzitrone";
|
||||
};
|
||||
qubasa = {
|
||||
|
||||
@@ -326,6 +326,7 @@ with lib.maintainers;
|
||||
# Verify additions to this team with at least one already existing member of the team.
|
||||
members = [
|
||||
de11n
|
||||
despsyched
|
||||
invokes-su
|
||||
];
|
||||
scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
|
||||
@@ -345,7 +346,6 @@ with lib.maintainers;
|
||||
dhall = {
|
||||
members = [
|
||||
Gabriella439
|
||||
ehmry
|
||||
];
|
||||
scope = "Maintain Dhall and related packages.";
|
||||
shortName = "Dhall";
|
||||
|
||||
@@ -24,6 +24,12 @@ abandoned by the kernel developers, even on stable NixOS versions. If you
|
||||
pin your kernel onto a non-longterm version, expect your evaluation to fail as
|
||||
soon as the version is out of maintenance.
|
||||
|
||||
A kernel will be removed from nixpkgs when the first batch of stable kernels
|
||||
_after_ the final release is published. E.g. when 6.15.11 is the final release
|
||||
of the 6.15 series and is released together with 6.16.3 and 6.12.43, it will be
|
||||
removed on the release of 6.16.4 and 6.12.44. Custom kernel variants such
|
||||
as linux-hardened are also affected by this.
|
||||
|
||||
Longterm versions of kernels will be removed before the next stable NixOS that will
|
||||
exceed the maintenance period of the kernel version.
|
||||
|
||||
|
||||
@@ -925,7 +925,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
|
||||
[services.frp](#opt-services.frp.enable).
|
||||
|
||||
- [river](https://github.com/riverwm/river), A dynamic tiling wayland
|
||||
compositor. Available as [programs.river](#opt-programs.river.enable).
|
||||
compositor. Available as `programs.river`.
|
||||
|
||||
- [wayfire](https://wayfire.org), a modular and extensible wayland compositor.
|
||||
Available as [programs.wayfire](#opt-programs.wayfire.enable).
|
||||
|
||||
@@ -92,6 +92,9 @@ Alongside many enhancements to NixOS modules and general system improvements, th
|
||||
|
||||
- [Traccar](https://www.traccar.org/), a modern GPS Tracking Platform. Available as [services.traccar](#opt-services.traccar.enable).
|
||||
|
||||
- [Memos](https://www.usememos.com/), a privacy-first, lightweight note-taking solution that allows you to effortlessly capture and share your ideas.
|
||||
Available as [services.memos](#opt-services.memos.enable).
|
||||
|
||||
- [Schroot](https://codeberg.org/shelter/reschroot), a lightweight virtualisation tool. Securely enter a chroot and run a command or login shell. Available as [programs.schroot](#opt-programs.schroot.enable).
|
||||
|
||||
- [Firezone](https://firezone.dev), an enterprise-ready zero-trust access platform built on WireGuard. This includes the server stack as [services.firezone.server.enable](#opt-services.firezone.server.enable), a TURN/STUN relay service as [services.firezone.relay.enable](#opt-services.firezone.relay.enable), a gateway service as [services.firezone.gateway.enable](#opt-services.firezone.gateway.enable), a headless client as [services.firezone.headless-client.enable](#opt-services.firezone.headless-client.enable) and a GUI client as [services.firezone.gui-client.enable](#opt-services.firezone.gui-client.enable).
|
||||
|
||||
@@ -172,6 +172,8 @@
|
||||
|
||||
- NixOS display manager modules now strictly use tty1, where many of them previously used tty7. Options to configure display managers' VT have been dropped. A configuration with a display manager enabled will not start `getty@tty1.service`, even if the system is forced to boot into `multi-user.target` instead of `graphical.target`.
|
||||
|
||||
- `river` 0.3.x has been renamed to `river-classic` upstream, and the package renamed accordingly. `programs.river` has been renamed to `programs.river-classic`.
|
||||
|
||||
- `command-not-found` package is now disabled by default; it works only for nix-channels based systems, and requires setup for it to work.
|
||||
|
||||
- The systemd target `kbrequest.target` is now unset by default, instead of being forcibly symlinked to `rescue.target`. In case you were relying on this behavior (Alt + ArrowUp on the tty causing the current target to be changed to `rescue.target`), you can restore it by setting `systemd.targets.rescue.aliases = [ "kbrequest.target" ];` in your configuration.
|
||||
|
||||
@@ -865,6 +865,7 @@
|
||||
./services/misc/mame.nix
|
||||
./services/misc/mbpfan.nix
|
||||
./services/misc/mediatomb.nix
|
||||
./services/misc/memos.nix
|
||||
./services/misc/metabase.nix
|
||||
./services/misc/mollysocket.nix
|
||||
./services/misc/moonraker.nix
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
# Remove perl from activation
|
||||
boot.initrd.systemd.enable = lib.mkDefault true;
|
||||
system.etc.overlay.enable = lib.mkDefault true;
|
||||
@@ -10,7 +9,6 @@
|
||||
# Random perl remnants
|
||||
system.tools.nixos-generate-config.enable = lib.mkDefault false;
|
||||
programs.less.lessopen = lib.mkDefault null;
|
||||
programs.command-not-found.enable = lib.mkDefault false;
|
||||
boot.loader.grub.enable = lib.mkDefault false;
|
||||
environment.defaultPackages = lib.mkDefault [ ];
|
||||
documentation.info.enable = lib.mkDefault false;
|
||||
|
||||
@@ -81,6 +81,7 @@ in
|
||||
ccacheWrapper = super.ccacheWrapper.override {
|
||||
extraConfig = ''
|
||||
export CCACHE_COMPRESS=1
|
||||
export CCACHE_SLOPPINESS=random_seed
|
||||
export CCACHE_DIR="${cfg.cacheDir}"
|
||||
export CCACHE_UMASK=007
|
||||
if [ ! -d "$CCACHE_DIR" ]; then
|
||||
|
||||
@@ -89,6 +89,4 @@ in
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ehmry ];
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ let
|
||||
# Order the sections in the TOML according to the order of sections
|
||||
# in `cfg.order`.
|
||||
motdConf =
|
||||
pkgs.runCommand "motd.conf"
|
||||
pkgs.runCommand "motd.toml"
|
||||
{
|
||||
__structuredAttrs = true;
|
||||
inherit (cfg) order settings;
|
||||
@@ -154,6 +154,8 @@ in
|
||||
security.pam.services.sshd.showMotd = lib.mkIf cfg.enableMotdInSSHD true;
|
||||
users.motdFile = lib.mkIf cfg.enableMotdInSSHD "/var/lib/rust-motd/motd";
|
||||
|
||||
programs.rust-motd.settings.global.show_legacy_warning = false;
|
||||
|
||||
services.openssh.extraConfig =
|
||||
lib.mkIf (cfg.settings ? last_login && cfg.settings.last_login != { })
|
||||
''
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.programs.river;
|
||||
cfg = config.programs.river-classic;
|
||||
|
||||
wayland-lib = import ./lib.nix { inherit lib; };
|
||||
in
|
||||
{
|
||||
options.programs.river = {
|
||||
enable = lib.mkEnableOption "river, a dynamic tiling Wayland compositor";
|
||||
options.programs.river-classic = {
|
||||
enable = lib.mkEnableOption "river-classic, a dynamic tiling Wayland compositor";
|
||||
|
||||
package =
|
||||
lib.mkPackageOption pkgs "river" {
|
||||
lib.mkPackageOption pkgs "river-classic" {
|
||||
nullable = true;
|
||||
extraDescription = ''
|
||||
If the package is not overridable with `xwaylandSupport`, then the module option
|
||||
@@ -61,6 +61,22 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "programs" "river" "enable" ] [ "programs" "river-classic" "enable" ])
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "programs" "river" "package" ]
|
||||
[ "programs" "river-classic" "package" ]
|
||||
)
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "programs" "river" "xwayland" "enable" ]
|
||||
[ "programs" "river-classic" "xwayland" "enable" ]
|
||||
)
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "programs" "river" "extraPackages" ]
|
||||
[ "programs" "river-classic" "extraPackages" ]
|
||||
)
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable (
|
||||
lib.mkMerge [
|
||||
{
|
||||
|
||||
@@ -175,8 +175,10 @@ in
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
(cfg.settings.ldap_user_pass_file or null) != null || (cfg.settings.ldap_user_pass or null) != null;
|
||||
message = "lldap: Default admin user password must be set. Please set the `ldap_user_pass` or better the `ldap_user_pass_file` setting.";
|
||||
(cfg.settings.ldap_user_pass_file or null) != null
|
||||
|| (cfg.settings.ldap_user_pass or null) != null
|
||||
|| (cfg.environment.LLDAP_LDAP_USER_PASS_FILE or null) != null;
|
||||
message = "lldap: Default admin user password must be set. Please set the `ldap_user_pass` or better the `ldap_user_pass_file` setting. Alternatively, you can set the `LLDAP_LDAP_USER_PASS_FILE` environment variable.";
|
||||
}
|
||||
{
|
||||
assertion =
|
||||
|
||||
@@ -94,16 +94,13 @@ in
|
||||
|
||||
dns = {
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = if config.networking.resolvconf.useLocalResolver then "127.0.0.1:53" else null;
|
||||
defaultText = literalExpression ''
|
||||
if config.networking.resolvconf.useLocalResolver then
|
||||
"127.0.0.1:53"
|
||||
else
|
||||
null
|
||||
'';
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
example = "127.0.0.1:53";
|
||||
description = ''
|
||||
IP and port to your DNS resolver
|
||||
IP and port to your DNS resolver.
|
||||
|
||||
Uses resolvers from /etc/resolv.conf if unset.
|
||||
|
||||
::: {.note}
|
||||
The configured DNS resolver must validate DNSSEC signatures.
|
||||
|
||||
@@ -630,7 +630,7 @@ in
|
||||
''
|
||||
+ concatStrings (
|
||||
mapAttrsToList (name: inbox: ''
|
||||
if [ ! -e ${stateDir}/inboxes/${escapeShellArg name} ]; then
|
||||
if [ ! -e ${escapeShellArg inbox.inboxdir} ]; then
|
||||
# public-inbox-init creates an inbox and adds it to a config file.
|
||||
# It tries to atomically write the config file by creating
|
||||
# another file in the same directory, and renaming it.
|
||||
@@ -643,7 +643,7 @@ in
|
||||
${escapeShellArgs (
|
||||
[
|
||||
name
|
||||
"${stateDir}/inboxes/${name}"
|
||||
inbox.inboxdir
|
||||
inbox.url
|
||||
]
|
||||
++ inbox.address
|
||||
@@ -653,9 +653,9 @@ in
|
||||
fi
|
||||
|
||||
ln -sf ${inbox.description} \
|
||||
${stateDir}/inboxes/${escapeShellArg name}/description
|
||||
${escapeShellArg inbox.inboxdir}/description
|
||||
|
||||
export GIT_DIR=${stateDir}/inboxes/${escapeShellArg name}/all.git
|
||||
export GIT_DIR=${escapeShellArg inbox.inboxdir}/all.git
|
||||
if test -d "$GIT_DIR"; then
|
||||
# Config is inherited by each epoch repository,
|
||||
# so just needs to be set for all.git.
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
{
|
||||
config,
|
||||
options,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.memos;
|
||||
opt = options.services.memos;
|
||||
envFileFormat = pkgs.formats.keyValue { };
|
||||
in
|
||||
{
|
||||
options.services.memos = {
|
||||
enable = lib.mkEnableOption "Memos note-taking";
|
||||
package = lib.mkPackageOption pkgs "Memos" {
|
||||
default = "memos";
|
||||
};
|
||||
|
||||
openFirewall = lib.mkEnableOption "opening the ports in the firewall";
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
The user to run Memos as.
|
||||
|
||||
::: {.note}
|
||||
If changing the default value, **you** are responsible of creating the corresponding user with [{option}`users.users`](#opt-users.users).
|
||||
:::
|
||||
'';
|
||||
default = "memos";
|
||||
};
|
||||
|
||||
group = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
The group to run Memos as.
|
||||
|
||||
::: {.note}
|
||||
If changing the default value, **you** are responsible of creating the corresponding group with [{option}`users.groups`](#opt-users.groups).
|
||||
:::
|
||||
'';
|
||||
default = "memos";
|
||||
};
|
||||
|
||||
dataDir = lib.mkOption {
|
||||
default = "/var/lib/memos/";
|
||||
type = lib.types.path;
|
||||
description = ''
|
||||
Specifies the directory where Memos will store its data.
|
||||
|
||||
::: {.note}
|
||||
It will be automatically created with the permissions of [{option}`services.memos.user`](#opt-services.memos.user) and [{option}`services.memos.group`](#opt-services.memos.group).
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = envFileFormat.type;
|
||||
description = ''
|
||||
The environment variables to configure Memos.
|
||||
|
||||
::: {.note}
|
||||
At time of writing, there is no clear documentation about possible values.
|
||||
It's possible to convert CLI flags into these variables.
|
||||
Example : CLI flag "--unix-sock" converts to {env}`MEMOS_UNIX_SOCK`.
|
||||
:::
|
||||
'';
|
||||
default = {
|
||||
MEMOS_MODE = "prod";
|
||||
MEMOS_ADDR = "127.0.0.1";
|
||||
MEMOS_PORT = "5230";
|
||||
MEMOS_DATA = cfg.dataDir;
|
||||
MEMOS_DRIVER = "sqlite";
|
||||
MEMOS_INSTANCE_URL = "http://localhost:5230";
|
||||
};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
MEMOS_MODE = "prod";
|
||||
MEMOS_ADDR = "127.0.0.1";
|
||||
MEMOS_PORT = "5230";
|
||||
MEMOS_DATA = config.${opt.dataDir};
|
||||
MEMOS_DRIVER = "sqlite";
|
||||
MEMOS_INSTANCE_URL = "http://localhost:5230";
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = ''
|
||||
The environment file to use when starting Memos.
|
||||
|
||||
::: {.note}
|
||||
By default, generated from [](opt-${opt.settings}).
|
||||
:::
|
||||
'';
|
||||
example = "/var/lib/memos/memos.env";
|
||||
default = envFileFormat.generate "memos.env" cfg.settings;
|
||||
defaultText = lib.literalMD ''
|
||||
generated from {option}`${opt.settings}`
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users = lib.mkIf (cfg.user == "memos") {
|
||||
${cfg.user} = {
|
||||
description = lib.mkDefault "Memos service user";
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = lib.mkIf (cfg.group == "memos") {
|
||||
${cfg.group} = { };
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [
|
||||
cfg.port
|
||||
];
|
||||
|
||||
systemd.tmpfiles.settings."10-memos" = {
|
||||
"${cfg.dataDir}" = {
|
||||
d = {
|
||||
mode = "0750";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.memos = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
wants = [ "network.target" ];
|
||||
description = "Memos, a privacy-first, lightweight note-taking solution";
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
Type = "simple";
|
||||
RestartSec = 60;
|
||||
LimitNOFILE = 65536;
|
||||
NoNewPrivileges = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
ReadWritePaths = [
|
||||
cfg.dataDir
|
||||
];
|
||||
ProtectSystem = "strict";
|
||||
PrivateUsers = true;
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
UMask = "0077";
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectProc = "invisible";
|
||||
SystemCallFilter = [
|
||||
" " # This is needed to clear the SystemCallFilter existing definitions
|
||||
"~@reboot"
|
||||
"~@swap"
|
||||
"~@obsolete"
|
||||
"~@mount"
|
||||
"~@module"
|
||||
"~@debug"
|
||||
"~@cpu-emulation"
|
||||
"~@clock"
|
||||
"~@raw-io"
|
||||
"~@privileged"
|
||||
"~@resources"
|
||||
];
|
||||
CapabilityBoundingSet = [
|
||||
" " # Reset all capabilities to an empty set
|
||||
];
|
||||
RestrictAddressFamilies = [
|
||||
" " # This is needed to clear the RestrictAddressFamilies existing definitions
|
||||
"none" # Remove all addresses families
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
ProtectKernelLogs = true;
|
||||
SystemCallArchitectures = "native";
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
EnvironmentFile = cfg.environmentFile;
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = [ lib.maintainers.m0ustach3 ];
|
||||
}
|
||||
@@ -323,6 +323,16 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
configureNginx = lib.mkEnableOption "" // {
|
||||
description = "Whether to configure nginx as a reverse proxy.";
|
||||
};
|
||||
|
||||
domain = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "paperless.example.com";
|
||||
description = "Domain under which paperless will be available.";
|
||||
};
|
||||
|
||||
exporter = {
|
||||
enable = lib.mkEnableOption "regular automatic document exports";
|
||||
|
||||
@@ -380,6 +390,27 @@ in
|
||||
services.paperless.manage = manage;
|
||||
environment.systemPackages = [ manage ];
|
||||
|
||||
services.nginx = lib.mkIf cfg.configureNginx {
|
||||
enable = true;
|
||||
upstreams.paperless.servers."${cfg.address}:${toString cfg.port}" = { };
|
||||
virtualHosts.${cfg.domain} = {
|
||||
forceSSL = lib.mkDefault true;
|
||||
locations = {
|
||||
"/".proxyPass = "http://paperless";
|
||||
"/static/" = {
|
||||
root = config.services.paperless.package;
|
||||
extraConfig = ''
|
||||
rewrite ^/(.*)$ /lib/paperless-ngx/$1 break;
|
||||
'';
|
||||
};
|
||||
"/ws/status" = {
|
||||
proxyPass = "http://paperless";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.redis.servers.paperless.enable = lib.mkIf enableRedis true;
|
||||
|
||||
services.postgresql = lib.mkIf cfg.database.createLocally {
|
||||
@@ -394,6 +425,9 @@ in
|
||||
};
|
||||
|
||||
services.paperless.settings = lib.mkMerge [
|
||||
(lib.mkIf (cfg.domain != "") {
|
||||
PAPERLESS_URL = "https://${cfg.domain}";
|
||||
})
|
||||
(lib.mkIf cfg.database.createLocally {
|
||||
PAPERLESS_DBENGINE = "postgresql";
|
||||
PAPERLESS_DBHOST = "/run/postgresql";
|
||||
|
||||
@@ -123,6 +123,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ehmry ];
|
||||
}
|
||||
|
||||
@@ -141,8 +141,6 @@ in
|
||||
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ehmry ];
|
||||
|
||||
# TODO: socket activated rsyncd
|
||||
|
||||
}
|
||||
|
||||
@@ -264,7 +264,6 @@ in
|
||||
doc = ./yggdrasil.md;
|
||||
maintainers = with lib.maintainers; [
|
||||
gazally
|
||||
ehmry
|
||||
nagy
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1531,7 +1531,6 @@ in
|
||||
index index.php index.html /index.php$request_uri;
|
||||
${lib.optionalString (cfg.nginx.recommendedHttpHeaders) ''
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Robots-Tag "noindex, nofollow";
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header X-Frame-Options sameorigin;
|
||||
|
||||
@@ -81,44 +81,16 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services = {
|
||||
prlcc = {
|
||||
description = "Parallels Control Center";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlcc";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prldnd = {
|
||||
description = "Parallels Drag And Drop Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prldnd";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prlcp = {
|
||||
description = "Parallels Copy Paste Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlcp";
|
||||
Restart = "always";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prlshprof = {
|
||||
description = "Parallels Shared Profile Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlshprof";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
systemd.user.services.prlcc = {
|
||||
description = "Parallels Control Center";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlcc";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ codgician ];
|
||||
}
|
||||
|
||||
@@ -2,9 +2,6 @@ import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "ccache";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ ehmry ];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
|
||||
@@ -21,9 +21,6 @@ in
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "cjdns";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ ehmry ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
# Alice finds peers over over ETHInterface.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "eris-server";
|
||||
meta.maintainers = with lib.maintainers; [ ehmry ];
|
||||
|
||||
nodes.server = {
|
||||
environment.systemPackages = [
|
||||
|
||||
@@ -36,7 +36,6 @@ let
|
||||
kernels = pkgs.linuxKernel.vanillaPackages // {
|
||||
inherit (pkgs.linuxKernel.packages)
|
||||
linux_6_12_hardened
|
||||
linux_6_15_hardened
|
||||
linux_rt_5_4
|
||||
linux_rt_5_10
|
||||
linux_rt_5_15
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
services.displayManager.lemurs.enable = true;
|
||||
|
||||
programs.river.enable = true;
|
||||
programs.river-classic.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
@@ -6,9 +6,6 @@ in
|
||||
{
|
||||
|
||||
name = "molly-brown";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ ehmry ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
||||
|
||||
+27
-24
@@ -17,29 +17,32 @@
|
||||
imagemagick
|
||||
jq
|
||||
];
|
||||
services.paperless = {
|
||||
enable = true;
|
||||
passwordFile = builtins.toFile "password" "admin";
|
||||
|
||||
exporter = {
|
||||
services = {
|
||||
nginx.virtualHosts."localhost".forceSSL = false;
|
||||
paperless = {
|
||||
enable = true;
|
||||
configureNginx = true;
|
||||
domain = "localhost";
|
||||
passwordFile = builtins.toFile "password" "admin";
|
||||
|
||||
settings = {
|
||||
"no-color" = lib.mkForce false; # override a default option
|
||||
"no-thumbnail" = true; # add a new option
|
||||
exporter = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
"no-color" = lib.mkForce false; # override a default option
|
||||
"no-thumbnail" = true; # add a new option
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
postgres =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ self.simple ];
|
||||
services.paperless.database.createLocally = true;
|
||||
services.paperless.settings = {
|
||||
PAPERLESS_OCR_LANGUAGE = "deu";
|
||||
};
|
||||
postgres = {
|
||||
imports = [ self.simple ];
|
||||
services.paperless.database.createLocally = true;
|
||||
services.paperless.settings = {
|
||||
PAPERLESS_OCR_LANGUAGE = "deu";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
self;
|
||||
@@ -59,7 +62,7 @@
|
||||
with subtest("Web interface gets ready"):
|
||||
node.wait_for_unit("paperless-web.service")
|
||||
# Wait until server accepts connections
|
||||
node.wait_until_succeeds("curl -fs localhost:28981")
|
||||
node.wait_until_succeeds("curl -fs localhost")
|
||||
|
||||
# Required for consuming documents via the web interface
|
||||
with subtest("Task-queue gets ready"):
|
||||
@@ -70,32 +73,32 @@
|
||||
"convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
|
||||
"-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png"
|
||||
)
|
||||
node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/")
|
||||
node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost/api/documents/post_document/")
|
||||
|
||||
with subtest("Add a txt document via the web interface"):
|
||||
node.succeed(
|
||||
"echo 'hello web 16-10-2005' > /tmp/webdoc.txt"
|
||||
)
|
||||
node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.txt -fs localhost:28981/api/documents/post_document/")
|
||||
node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.txt -fs localhost/api/documents/post_document/")
|
||||
|
||||
with subtest("Documents are consumed"):
|
||||
node.wait_until_succeeds(
|
||||
"(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 3))"
|
||||
"(($(curl -u admin:admin -fs localhost/api/documents/ | jq .count) == 3))"
|
||||
)
|
||||
docs = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results']
|
||||
docs = json.loads(node.succeed("curl -u admin:admin -fs localhost/api/documents/"))['results']
|
||||
assert "2005-10-16" in docs[0]['created']
|
||||
assert "2005-10-16" in docs[1]['created']
|
||||
assert "2005-10-16" in docs[2]['created']
|
||||
|
||||
# Detects gunicorn issues, see PR #190888
|
||||
with subtest("Document metadata can be accessed"):
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/1/metadata/"))
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost/api/documents/1/metadata/"))
|
||||
assert "original_checksum" in metadata
|
||||
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/2/metadata/"))
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost/api/documents/2/metadata/"))
|
||||
assert "original_checksum" in metadata
|
||||
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/3/metadata/"))
|
||||
metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost/api/documents/3/metadata/"))
|
||||
assert "original_checksum" in metadata
|
||||
|
||||
with subtest("Exporter"):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "rsyncd";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ ehmry ];
|
||||
|
||||
nodes =
|
||||
let
|
||||
|
||||
@@ -18,20 +18,21 @@
|
||||
withMDNS ? true,
|
||||
withDNS-SD ? false,
|
||||
avahi-compat,
|
||||
tlsBackend ? "native-tls", # "native-tls" "rustls-tls-native-roots" "rustls-tls-webpki-roots"
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "librespot";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "librespot-org";
|
||||
repo = "librespot";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dGQDRb7fgIkXelZKa+PdodIs9DxbgEMlVGJjK/hU3Mo=";
|
||||
hash = "sha256-IsHyYH4RDMRqXLNv6RZNzRTl3+zxan0TM/bjHoZC8YA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-SqvJSHkyd1IicT6c4pE96dBJNNodULhpyG14HRGVWCk=";
|
||||
cargoHash = "sha256-1Jc7gfnrsvk3Lcrvq0jV78IMKAnMDsW3nDr1W34PVmE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -50,14 +51,16 @@ rustPlatform.buildRustPackage rec {
|
||||
++ lib.optional withPulseAudio libpulseaudio;
|
||||
|
||||
buildNoDefaultFeatures = true;
|
||||
buildFeatures =
|
||||
lib.optional withRodio "rodio-backend"
|
||||
++ lib.optional withMDNS "with-libmdns"
|
||||
++ lib.optional withDNS-SD "with-dns-sd"
|
||||
++ lib.optional withALSA "alsa-backend"
|
||||
++ lib.optional withAvahi "with-avahi"
|
||||
++ lib.optional withPortAudio "portaudio-backend"
|
||||
++ lib.optional withPulseAudio "pulseaudio-backend";
|
||||
buildFeatures = [
|
||||
tlsBackend
|
||||
]
|
||||
++ lib.optional withRodio "rodio-backend"
|
||||
++ lib.optional withMDNS "with-libmdns"
|
||||
++ lib.optional withDNS-SD "with-dns-sd"
|
||||
++ lib.optional withALSA "alsa-backend"
|
||||
++ lib.optional withAvahi "with-avahi"
|
||||
++ lib.optional withPortAudio "portaudio-backend"
|
||||
++ lib.optional withPulseAudio "pulseaudio-backend";
|
||||
|
||||
postFixup = lib.optionalString withALSA ''
|
||||
wrapProgram "$out/bin/librespot" \
|
||||
|
||||
@@ -38,17 +38,17 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "7.42";
|
||||
version = "7.45";
|
||||
|
||||
src = fetchurl {
|
||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||
hash =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
"sha256-3K2cgOwBRwm/S4MRcymKCxRhUMkcfuWzWn1G2m3Dbf4="
|
||||
"sha256-plXLOJcQbZlSGPgNdjNEPS2pZ9almrmNzxYfhOZGXjg="
|
||||
else
|
||||
{
|
||||
x86_64-linux = "sha256-XxVcy3s3gOnh6uhv9r0yJFwBMCxhrnT/swaUY4t1CpY=";
|
||||
aarch64-linux = "sha256-3DKVyooYi6aSBzP4DSnIchGyHKbCANjX0TPspKf5dXU=";
|
||||
x86_64-linux = "sha256-pOPL8HoAAFNDq6L3SC/OygDtqqYVvfkWwVA6qv1xZPs=";
|
||||
aarch64-linux = "sha256-rclLjAiG8aLsVinghpPZJiPU4Iq5jQ6s2H0+du+a9Ts=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system};
|
||||
};
|
||||
|
||||
@@ -20,8 +20,8 @@ let
|
||||
sha256Hash = "sha256-fLjCbB9Wwrx7siYQTmtWvce+8TdYTea+y6HTtSTYWAY=";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2025.1.3.5"; # "Android Studio Narwhal 3 Feature Drop | 2025.1.3 RC 1"
|
||||
sha256Hash = "sha256-3LkcpvuoUhY/kRpoqYnwfx1cdPvvdBMEFXtRLYmqTk4=";
|
||||
version = "2025.1.3.6"; # "Android Studio Narwhal 3 Feature Drop | 2025.1.3 RC 2"
|
||||
sha256Hash = "sha256-S8KK/EGev0v03fVywIkD6Ym3LrciGKXJVorzyZ1ljdQ=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2025.1.4.3"; # "Android Studio Narwhal 4 Feature Drop | 2025.1.4 Canary 3"
|
||||
|
||||
@@ -55,7 +55,10 @@ stdenv.mkDerivation rec {
|
||||
description = "Simple integrated development environment for Java";
|
||||
homepage = "https://www.greenfoot.org/";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.gpl2ClasspathPlus;
|
||||
license = with licenses; [
|
||||
gpl2Plus
|
||||
classpathException20
|
||||
];
|
||||
mainProgram = "greenfoot";
|
||||
maintainers = [ maintainers.chvp ];
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -125,6 +125,7 @@ mapAliases (
|
||||
surround = vim-surround;
|
||||
sleuth = vim-sleuth;
|
||||
solidity = vim-solidity;
|
||||
ssr = ssr-nvim; # Added 2025-08-31
|
||||
stylish-haskell = vim-stylish-haskell;
|
||||
stylishHaskell = vim-stylish-haskell; # backwards compat, added 2014-10-18
|
||||
suda-vim = vim-suda; # backwards compat, added 2024-05-16
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
symlinkJoin,
|
||||
}:
|
||||
final: prev: {
|
||||
|
||||
corePlugins = symlinkJoin {
|
||||
name = "core-vim-plugins";
|
||||
paths = with final; [
|
||||
# plugin managers
|
||||
lazy-nvim
|
||||
mini-deps
|
||||
packer-nvim
|
||||
vim-plug
|
||||
|
||||
# core dependencies
|
||||
plenary-nvim
|
||||
|
||||
# popular plugins
|
||||
mini-nvim
|
||||
nvim-cmp
|
||||
nvim-lspconfig
|
||||
nvim-treesitter
|
||||
vim-airline
|
||||
vim-fugitive
|
||||
vim-surround
|
||||
];
|
||||
|
||||
meta.description = "Collection of popular vim plugins (for internal testing purposes)";
|
||||
};
|
||||
|
||||
}
|
||||
@@ -48,6 +48,8 @@ let
|
||||
inherit (neovimUtils) buildNeovimPlugin;
|
||||
};
|
||||
|
||||
corePlugins = callPackage ./corePlugins.nix { };
|
||||
|
||||
# TL;DR
|
||||
# * Add your plugin to ./vim-plugin-names
|
||||
# * run ./update.py
|
||||
@@ -66,6 +68,7 @@ lib.pipe initialPackages [
|
||||
(extends luaPackagePlugins)
|
||||
(extends nodePackagePlugins)
|
||||
(extends nonGeneratedPlugins)
|
||||
(extends corePlugins)
|
||||
(extends overrides)
|
||||
(extends aliases)
|
||||
lib.makeExtensible
|
||||
|
||||
@@ -9,8 +9,10 @@ let
|
||||
|
||||
luarocksPackageNames = [
|
||||
"fidget-nvim"
|
||||
"fzf-lua"
|
||||
"gitsigns-nvim"
|
||||
"grug-far-nvim"
|
||||
"haskell-tools-nvim"
|
||||
"image-nvim"
|
||||
"lsp-progress-nvim"
|
||||
"lualine-nvim"
|
||||
@@ -34,6 +36,8 @@ let
|
||||
"plenary-nvim"
|
||||
"rest-nvim"
|
||||
"rocks-config-nvim"
|
||||
"rocks-nvim"
|
||||
"rustaceanvim"
|
||||
"rtp-nvim"
|
||||
"telescope-manix"
|
||||
"telescope-nvim"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{ notmuch }: notmuch.vim
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
vimPlugins,
|
||||
}:
|
||||
lib.recurseIntoAttrs vimPlugins.nvim-treesitter.grammarPlugins
|
||||
@@ -0,0 +1 @@
|
||||
{ parinfer-rust }: parinfer-rust
|
||||
@@ -7,9 +7,7 @@
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
neovimUtils,
|
||||
replaceVars,
|
||||
symlinkJoin,
|
||||
# Language dependencies
|
||||
fetchYarnDeps,
|
||||
mkYarnModules,
|
||||
@@ -35,10 +33,8 @@
|
||||
neovim-unwrapped,
|
||||
nim1,
|
||||
nodejs,
|
||||
notmuch,
|
||||
openscad,
|
||||
openssh,
|
||||
parinfer-rust,
|
||||
ranger,
|
||||
ripgrep,
|
||||
sqlite,
|
||||
@@ -64,7 +60,6 @@
|
||||
codeium,
|
||||
# command-t dependencies
|
||||
getconf,
|
||||
ruby,
|
||||
# cornelis dependencies
|
||||
cornelis,
|
||||
# cpsm dependencies
|
||||
@@ -108,7 +103,6 @@
|
||||
# hurl dependencies
|
||||
hurl,
|
||||
# must be lua51Packages
|
||||
luajitPackages,
|
||||
aider-chat,
|
||||
# typst-preview dependencies
|
||||
tinymist,
|
||||
@@ -131,42 +125,22 @@ self: super:
|
||||
let
|
||||
luaPackages = neovim-unwrapped.lua.pkgs;
|
||||
|
||||
# Ensure the vim plugin builders are not used in this file.
|
||||
# If they are used, these stubs will throw.
|
||||
buildVimPlugin = throw "New plugin definitions should be done outside `overrides.nix`";
|
||||
buildNeoVimPlugin = throw "New plugin definitions should be done outside `overrides.nix`";
|
||||
# Ensures new attributes are not added in this file.
|
||||
assertNoAdditions =
|
||||
overrides:
|
||||
let
|
||||
prevNames = lib.attrNames super;
|
||||
definedNames = lib.attrNames overrides;
|
||||
addedNames = lib.subtractLists prevNames definedNames;
|
||||
in
|
||||
lib.throwIfNot (addedNames == [ ])
|
||||
"vimPlugins: the following attributes should not be defined in overrides.nix:${
|
||||
lib.concatMapStrings (name: "\n- ${name}") addedNames
|
||||
}"
|
||||
overrides;
|
||||
in
|
||||
{
|
||||
corePlugins = symlinkJoin {
|
||||
name = "core-vim-plugins";
|
||||
paths = with self; [
|
||||
# plugin managers
|
||||
lazy-nvim
|
||||
mini-deps
|
||||
packer-nvim
|
||||
vim-plug
|
||||
|
||||
# core dependencies
|
||||
plenary-nvim
|
||||
|
||||
# popular plugins
|
||||
mini-nvim
|
||||
nvim-cmp
|
||||
nvim-lspconfig
|
||||
nvim-treesitter
|
||||
vim-airline
|
||||
vim-fugitive
|
||||
vim-surround
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Collection of popular vim plugins (for internal testing purposes)";
|
||||
};
|
||||
};
|
||||
|
||||
#######################
|
||||
# Regular overrides
|
||||
|
||||
assertNoAdditions {
|
||||
advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs {
|
||||
checkInputs = with self; [
|
||||
snacks-nvim
|
||||
@@ -1306,8 +1280,7 @@ in
|
||||
dependencies = [ self.plenary-nvim ];
|
||||
};
|
||||
|
||||
fzf-lua = neovimUtils.buildNeovimPlugin {
|
||||
luaAttr = luaPackages.fzf-lua;
|
||||
fzf-lua = super.fzf-lua.overrideAttrs {
|
||||
runtimeDeps = [ fzf ];
|
||||
nvimSkipModules = [
|
||||
"fzf-lua.shell_helper"
|
||||
@@ -1433,10 +1406,9 @@ in
|
||||
dependencies = [ self.luasnip ];
|
||||
};
|
||||
|
||||
haskell-tools-nvim = neovimUtils.buildNeovimPlugin {
|
||||
haskell-tools-nvim = super.haskell-tools-nvim.overrideAttrs {
|
||||
# Optional integrations
|
||||
checkInputs = [ self.telescope-nvim ];
|
||||
luaAttr = luaPackages.haskell-tools-nvim;
|
||||
};
|
||||
|
||||
helm-ls-nvim = super.helm-ls-nvim.overrideAttrs {
|
||||
@@ -2339,8 +2311,6 @@ in
|
||||
NotebookNavigator-nvim = super.NotebookNavigator-nvim.overrideAttrs {
|
||||
};
|
||||
|
||||
notmuch-vim = notmuch.vim;
|
||||
|
||||
nterm-nvim = super.nterm-nvim.overrideAttrs {
|
||||
dependencies = [ self.aniseed ];
|
||||
};
|
||||
@@ -2699,8 +2669,6 @@ in
|
||||
dependencies = [ self.nvim-treesitter ];
|
||||
};
|
||||
|
||||
nvim-treesitter-parsers = lib.recurseIntoAttrs self.nvim-treesitter.grammarPlugins;
|
||||
|
||||
nvim-treesitter-pyfold = super.nvim-treesitter-pyfold.overrideAttrs {
|
||||
dependencies = [ self.nvim-treesitter ];
|
||||
};
|
||||
@@ -2905,8 +2873,6 @@ in
|
||||
dependencies = [ self.nui-nvim ];
|
||||
};
|
||||
|
||||
inherit parinfer-rust;
|
||||
|
||||
parpar-nvim = super.parpar-nvim.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
nvim-parinfer
|
||||
@@ -3091,27 +3057,22 @@ in
|
||||
dependencies = [ self.plenary-nvim ];
|
||||
};
|
||||
|
||||
rocks-nvim =
|
||||
(neovimUtils.buildNeovimPlugin {
|
||||
luaAttr = luaPackages.rocks-nvim;
|
||||
}).overrideAttrs
|
||||
(oa: {
|
||||
passthru = oa.passthru // {
|
||||
initLua = ''
|
||||
vim.g.rocks_nvim = {
|
||||
luarocks_binary = "${neovim-unwrapped.lua.pkgs.luarocks_bootstrap}/bin/luarocks"
|
||||
}
|
||||
'';
|
||||
};
|
||||
rocks-nvim = super.rocks-nvim.overrideAttrs (oa: {
|
||||
passthru = oa.passthru // {
|
||||
initLua = ''
|
||||
vim.g.rocks_nvim = {
|
||||
luarocks_binary = "${neovim-unwrapped.lua.pkgs.luarocks_bootstrap}/bin/luarocks"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
rustaceanvim = neovimUtils.buildNeovimPlugin {
|
||||
rustaceanvim = super.rustaceanvim.overrideAttrs {
|
||||
checkInputs = [
|
||||
# Optional integration
|
||||
self.neotest
|
||||
];
|
||||
luaAttr = luaPackages.rustaceanvim;
|
||||
};
|
||||
|
||||
rust-tools-nvim = super.rust-tools-nvim.overrideAttrs {
|
||||
@@ -3252,7 +3213,7 @@ in
|
||||
}
|
||||
);
|
||||
|
||||
ssr = super.ssr-nvim.overrideAttrs {
|
||||
ssr-nvim = super.ssr-nvim.overrideAttrs {
|
||||
dependencies = [ self.nvim-treesitter ];
|
||||
};
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "gpsp";
|
||||
version = "0-unstable-2025-01-20";
|
||||
version = "0-unstable-2025-08-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "gpsp";
|
||||
rev = "b0d5d27ae51c23f514974ddffa5760f1e1d05d9b";
|
||||
hash = "sha256-e2U1xEshoPJlaVUEbqNZIayNaSdDC65hE1VrvxvQSx0=";
|
||||
rev = "143b0abb02a6ff501757674c9fdf47e0fcd7cbd3";
|
||||
hash = "sha256-XdcoM0hzVvuZZn7kXh1X8HSUGGEm/0Uqh7du7nx4sIE=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mame2003-plus";
|
||||
version = "0-unstable-2025-08-20";
|
||||
version = "0-unstable-2025-08-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "mame2003-plus-libretro";
|
||||
rev = "3f778c3a06172f01a9ac6c08812f46bd0173187a";
|
||||
hash = "sha256-drSulDZxs6xei/XksMviVvqWjihBTdZTkrIsO2v+7wM=";
|
||||
rev = "250d22b0cba0f145c7b958821fa7d1f839f4a37b";
|
||||
hash = "sha256-jonFTHNuO7w2gypPyjx6DML8vNBIa+9Ur9Fa48WBNq4=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mame2003";
|
||||
version = "0-unstable-2025-05-16";
|
||||
version = "0-unstable-2025-08-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "mame2003-libretro";
|
||||
rev = "c24237583afcadb1c3c1727532bd4a49ebc5eff1";
|
||||
hash = "sha256-zj1mNpfwYCUQAHAeg8+hVUOZ/xvIFhn65AeljjqI1Ss=";
|
||||
rev = "dfddf4db86a3acd5997ce9419c7afd00ff6587a0";
|
||||
hash = "sha256-GJRawFdlHCfBRiErJJ3ZvZDF1gvYVkuQvKXV1qUCCRQ=";
|
||||
};
|
||||
|
||||
# Fix build with GCC 14
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "swanstation";
|
||||
version = "0-unstable-2025-05-26";
|
||||
version = "0-unstable-2025-08-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "swanstation";
|
||||
rev = "05cee5f56c37eaa3a243e0906d2082b025598056";
|
||||
hash = "sha256-Cwf6hZKl+rE00C0rFq7VhTj3qG4rszQ+8qZQMZ+H7e8=";
|
||||
rev = "4d309c05fd7bdc503d91d267bd542edb8d192b09";
|
||||
hash = "sha256-v51xgsyVtyipss0VWqMTI69MLTJ4Eb37hJfbQfid/0Q=";
|
||||
};
|
||||
|
||||
extraNativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -28,7 +28,6 @@ mkDerivation rec {
|
||||
mainProgram = "confclerk";
|
||||
homepage = "http://www.toastfreeware.priv.at/confclerk";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -47,7 +47,6 @@ stdenv.mkDerivation {
|
||||
description = "Tools for inspecting, analyzing and optimizing ELF files";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [
|
||||
ehmry
|
||||
philiptaron
|
||||
];
|
||||
};
|
||||
|
||||
@@ -28,7 +28,6 @@ python3Packages.buildPythonApplication {
|
||||
description = "Experimental console client for the Gemini protocol";
|
||||
mainProgram = "av98";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
|
||||
broken = true;
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -9,10 +9,10 @@
|
||||
|
||||
buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "142.0";
|
||||
version = "142.0.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "b0c1c766083a30a92b77dcf16a584d9fb341cd811d21c3a34da4cd0d714fd6adc73b608092d66058697bc4562faacc44859153e49ffdeb6e14e059e59f2ea246";
|
||||
sha512 = "fca1b9c67a0b2f216f1f11fd5e3a08920998921e3d61eb633f1dde7fe69cb40cdbb63a41a1dfc4f1022509da643e3791467d88e62e7ea30b293ebf69d87bb585";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -51,7 +51,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Graphical small-internet client, supports gemini, http, https, gopher, finger";
|
||||
mainProgram = "kristall";
|
||||
homepage = "https://random-projects.net/projects/kristall.gemini";
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
license = licenses.gpl3Only;
|
||||
inherit (qtmultimedia.meta) platforms;
|
||||
};
|
||||
|
||||
@@ -126,13 +126,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"aws": {
|
||||
"hash": "sha256-52tdACEZF1AOg1pN25bo0T2pLObjho4fRrMSBhjP1xM=",
|
||||
"hash": "sha256-5W12hwonBaEto5PTnvcBm9qeeIY37ALsyXs0r9pfVak=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-aws",
|
||||
"rev": "v6.8.0",
|
||||
"rev": "v6.11.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-rTQzbI04C92J+IXVX8dHtcbMvOif5jLW8ejm20qfrSA="
|
||||
"vendorHash": "sha256-i3NwpixAXi9PzciiwTtHB8yrzLWv67gHiDY4HshAbBo="
|
||||
},
|
||||
"awscc": {
|
||||
"hash": "sha256-RMOLAJyoIVIlg4GgU6rCSASgcZlvFMmLjFPqc5Lrdp8=",
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "seafile-client";
|
||||
version = "9.0.12";
|
||||
version = "9.0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile-client";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9ng8TsT211jAt2Vhv8fEIQGCtbQ6LQ6pCVFToVaK8LY=";
|
||||
hash = "sha256-ZMhU0uXAC3tH1e3ktiHhC5YCDwFOnILretPgjYYa9DQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils git nix curl jq
|
||||
#!nix-shell -i bash -p coreutils git nix curl jq nixfmt-tree
|
||||
# shellcheck shell=bash enable=all
|
||||
|
||||
set -e
|
||||
@@ -226,6 +226,7 @@ if grep '""' "${tmp}"; then
|
||||
fi
|
||||
|
||||
mv "${tmp}" "${file}"
|
||||
treefmt "${file}"
|
||||
|
||||
printf "\nFinished\nMoved output to %s\n\n" "${file}" >&2
|
||||
|
||||
|
||||
@@ -209,7 +209,6 @@ mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [
|
||||
jcumming
|
||||
ehmry
|
||||
];
|
||||
|
||||
# `Makefile.am` assumes the ability to run the hostPlatform's python binary at build time
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
buildKodiAddon rec {
|
||||
pname = "arteplussept";
|
||||
namespace = "plugin.video.arteplussept";
|
||||
version = "1.4.2";
|
||||
version = "1.4.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
|
||||
hash = "sha256-dqxGKaOnEYOI33Aw76zbjma5z7MqOUh367dFsV87olU=";
|
||||
hash = "sha256-05k0ijTp0JDtHdxTJ5I8ff47F6LXGP78rInyX0nD7W8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -42,8 +42,8 @@ runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}"
|
||||
src
|
||||
llvm
|
||||
llvmPackages
|
||||
tier1TargetPlatforms
|
||||
targetPlatforms
|
||||
targetPlatformsWithHostTools
|
||||
badTargetPlatforms
|
||||
;
|
||||
unwrapped = rustc-unwrapped;
|
||||
|
||||
@@ -7,13 +7,14 @@
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
cups,
|
||||
qt5,
|
||||
qt6,
|
||||
undmg,
|
||||
xorg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "010editor";
|
||||
version = "16.0";
|
||||
version = "16.0.1";
|
||||
|
||||
src = finalAttrs.passthru.srcs.${stdenv.hostPlatform.system};
|
||||
|
||||
@@ -27,14 +28,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
lib.optionals stdenv.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
qt5.wrapQtAppsHook
|
||||
qt6.wrapQtAppsHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ undmg ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
cups
|
||||
qt5.qtbase
|
||||
qt5.qtwayland
|
||||
qt6.qtbase
|
||||
qt6.qtwayland
|
||||
xorg.xkeyboardconfig
|
||||
];
|
||||
|
||||
installPhase =
|
||||
@@ -47,12 +49,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
linuxInstall = ''
|
||||
mkdir -p $out/opt && cp -ar source/* $out/opt
|
||||
|
||||
# Use makeWrapper to clean environment and force xcb
|
||||
# Wrap binary: clean env, fix XKB lookup
|
||||
makeWrapper $out/opt/010editor $out/bin/010editor \
|
||||
--unset QT_PLUGIN_PATH \
|
||||
--set QT_QPA_PLATFORM xcb
|
||||
--set XKB_CONFIG_ROOT ${xorg.xkeyboardconfig}/share/X11/xkb
|
||||
|
||||
# Copy the icon and generated desktop file
|
||||
# Install icon + desktop entry
|
||||
install -D $out/opt/010_icon_128x128.png $out/share/icons/hicolor/128x128/apps/010.png
|
||||
install -D $desktopItem/share/applications/* -t $out/share/applications/
|
||||
'';
|
||||
@@ -89,17 +91,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
passthru.srcs = {
|
||||
x86_64-linux = fetchzip {
|
||||
url = "https://download.sweetscape.com/010EditorLinux64Installer${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-DK+AIk90AC/KjZR0yBMHaRF7ajuX+UvT8rqDVdL678M=";
|
||||
hash = "sha256-fPQCVA9VrpNBTA7PiOsHwIiaZLKKoK817PtWNX8uHBQ=";
|
||||
};
|
||||
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://download.sweetscape.com/010EditorMac64Installer${finalAttrs.version}.dmg";
|
||||
hash = "sha256-TWatSVqm9a+bVLXtJjiWAtkcB7qZqoeJ7Gmr62XUVz4=";
|
||||
hash = "sha256-q/lfe4IWYJbxoGVBQju+t/w13UI3XHaVNPdTjnIQFw8=";
|
||||
};
|
||||
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://download.sweetscape.com/010EditorMacARM64Installer${finalAttrs.version}.dmg";
|
||||
hash = "sha256-CtExBuu6EL8ilq3+gtwjNwnMxXkKgPdrk34tYvjN2ps=";
|
||||
hash = "sha256-kBrYSxTNz01pPaRfKZWE6dDoACgs5tlfb+M6A7R0Vo4=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "adguardhome";
|
||||
version = "0.107.64";
|
||||
version = "0.107.65";
|
||||
src = fetchFromGitHub {
|
||||
owner = "AdguardTeam";
|
||||
repo = "AdGuardHome";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UmgWRei3qVkPLtusnXDGeaobxMy1a3Nlb1kBqkcmpxA=";
|
||||
hash = "sha256-OOW77CJRR5vi5jHFOCyF/OyCXaQdTgEc8xZKPcF9vQE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-EKQGbDLaEZGthdBr+Fj5pZ2TBCQ1Df+L9uuI0y/k7XU=";
|
||||
vendorHash = "sha256-spBMVSZhiM0R5tf8dhZD+N4ucFZ9Wno9Y+BhZMdzQRM=";
|
||||
|
||||
dashboard = buildNpmPackage {
|
||||
inherit (finalAttrs) src;
|
||||
@@ -45,7 +45,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.sh;
|
||||
schema_version = 29;
|
||||
schema_version = 30;
|
||||
tests.adguardhome = nixosTests.adguardhome;
|
||||
tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
|
||||
@@ -99,7 +99,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mainProgram = "alephone";
|
||||
homepage = "https://alephone.lhowon.org/";
|
||||
license = [ lib.licenses.gpl3 ];
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "argyllcms";
|
||||
version = "3.4.0";
|
||||
version = "3.4.1";
|
||||
|
||||
src = fetchzip {
|
||||
# Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
|
||||
# while on me. It might be good to find a mirror
|
||||
url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
|
||||
hash = "sha256-jY6X9mQaP9NTIkbpW5QO31s+5Iv/mFEDgtwDgYXzIU4=";
|
||||
hash = "sha256-QVugWtAk8xBn+/fRFqCoi072Q2q8OlB0LRhavrHC5MI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "asciinema-automation";
|
||||
version = "0.2.0";
|
||||
version = "0.2.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PierreMarchand20";
|
||||
repo = "asciinema_automation";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SjUsPrhoNz2NTPAkmUH0Csv6hbDc6nyKdckGqV5S3GY=";
|
||||
hash = "sha256-VfIr7w/5hQwr6XYuC3f8h71uScr0lBdx6PyO1hpiZhA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "await";
|
||||
version = "1.0.7";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "slavaGanzin";
|
||||
repo = "await";
|
||||
rev = version;
|
||||
hash = "sha256-Yrit1WdWIfjwqbjvyjrPT3EqSSkooYX+uoOstbxy//I=";
|
||||
hash = "sha256-p0rB1fPfBL1Vj4p7IZtmLhfB5LwwyRaiCVSeDZAXJAo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
python3,
|
||||
robin-map,
|
||||
SDL2,
|
||||
spirv-headers,
|
||||
soundtouch,
|
||||
stdenv,
|
||||
vulkan-headers,
|
||||
@@ -102,7 +101,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qt6.qttools
|
||||
soundtouch
|
||||
SDL2
|
||||
spirv-headers
|
||||
vulkan-headers
|
||||
xbyak
|
||||
|
||||
@@ -145,6 +143,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(cmakeBool "DISABLE_SYSTEM_LODEPNG" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_VMA" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_ZSTD" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_SPIRV_HEADERS" true)
|
||||
(cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations)
|
||||
(cmakeBool "ENABLE_CUBEB" enableCubeb)
|
||||
(cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence)
|
||||
|
||||
@@ -51,6 +51,5 @@ buildNimPackage (finalAttrs: {
|
||||
mainProgram = "balls";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -185,7 +185,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/baresip/baresip";
|
||||
maintainers = with lib.maintainers; [
|
||||
raskin
|
||||
ehmry
|
||||
rnhmjoj
|
||||
];
|
||||
mainProgram = "baresip";
|
||||
|
||||
@@ -17,6 +17,5 @@ buildNimPackage (finalAttrs: {
|
||||
description = "Base45 library for Nim";
|
||||
license = lib.licenses.unlicense;
|
||||
mainProgram = "base45";
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "BeatPrints";
|
||||
version = "1.1.4";
|
||||
version = "1.1.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TrueMyst";
|
||||
repo = "BeatPrints";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HtYPEnHbJarSC3P337l3IGagk62FgEohSAVyv6PBnIs=";
|
||||
hash = "sha256-7h2MbU6wPqcRhWijdMyd7sTf3UVNCX+5JUNytKr5/EM=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "beekeeper-studio";
|
||||
version = "5.2.12";
|
||||
version = "5.3.4";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -44,8 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fetchurl {
|
||||
url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/beekeeper-studio_${finalAttrs.version}_${arch}.deb";
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-hpzvu4SyVLXhQ5wbh5hyx+8tM19SxkKZvlMVhzhDCW4=";
|
||||
aarch64-linux = "sha256-s567NOTzTItfOdsABIzYoF8iYSpwDsDzbnLZhUSfT8o=";
|
||||
x86_64-linux = "sha256-JSgZ/rDR3d2aKWuclE9tB5538fcMSShjx9gkzkp/7GA=";
|
||||
aarch64-linux = "sha256-RsBw4jXcTA2WS1eMleAdljdw8ur0kf2WoQW3dNol2FA=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
{
|
||||
stdenv,
|
||||
cacert,
|
||||
curl,
|
||||
runCommandLocal,
|
||||
lib,
|
||||
autoPatchelfHook,
|
||||
libcxx,
|
||||
libGL,
|
||||
cacert,
|
||||
common-updater-scripts,
|
||||
curl,
|
||||
gcc,
|
||||
jq,
|
||||
lib,
|
||||
libGL,
|
||||
libcxx,
|
||||
runCommandLocal,
|
||||
stdenv,
|
||||
writeShellApplication,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "blackmagic-desktop-video";
|
||||
version = "14.4.1a4";
|
||||
version = "15.0";
|
||||
|
||||
buildInputs = [
|
||||
autoPatchelfHook
|
||||
@@ -23,27 +26,23 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# yes, the below download function is an absolute mess.
|
||||
# blame blackmagicdesign.
|
||||
src =
|
||||
let
|
||||
# from the URL the download page where you click the "only download" button is at
|
||||
REFERID = "5baba0af3eda41ee9cd0ec7349660d74";
|
||||
# from the URL that the POST happens to, see browser console
|
||||
DOWNLOADID = "bc31044728f146859c6d9e0ccef868d8";
|
||||
in
|
||||
runCommandLocal "${finalAttrs.pname}-${lib.versions.majorMinor finalAttrs.version}-src.tar.gz"
|
||||
{
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-qh305s7u1yurv58TZnlONgDmWT4RXG3fXTfun382HAs=";
|
||||
outputHash = "sha256-+89enkB+Lxuzpkwwfy0y1NajNqx6QQfeVVrak4LgawQ=";
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
nativeBuildInputs = [ curl ];
|
||||
nativeBuildInputs = [
|
||||
curl
|
||||
jq
|
||||
];
|
||||
|
||||
# ENV VARS
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
inherit REFERID;
|
||||
SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
|
||||
DOWNLOADSURL = "https://www.blackmagicdesign.com/api/support/us/downloads.json";
|
||||
|
||||
USERAGENT = builtins.concatStringsSep " " [
|
||||
"User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})"
|
||||
@@ -58,8 +57,24 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"platform" = "Linux";
|
||||
"policy" = true;
|
||||
};
|
||||
|
||||
PRODUCT = "Desktop Video";
|
||||
VERSION = finalAttrs.version;
|
||||
}
|
||||
''
|
||||
DOWNLOADID=$(
|
||||
curl --silent --compressed "$DOWNLOADSURL" \
|
||||
| jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .downloadId'
|
||||
)
|
||||
REFERID=$(
|
||||
curl --silent --compressed "$DOWNLOADSURL" \
|
||||
| jq --raw-output '.downloads[] | .urls.Linux?[]? | select(.downloadTitle | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .releaseId'
|
||||
)
|
||||
echo "Download ID is $DOWNLOADID"
|
||||
echo "Refer ID is $REFERID"
|
||||
test -n "$REFERID"
|
||||
test -n "$DOWNLOADID"
|
||||
SITEURL="https://www.blackmagicdesign.com/api/register/us/download/$DOWNLOADID";
|
||||
RESOLVEURL=$(curl \
|
||||
-s \
|
||||
-H "$USERAGENT" \
|
||||
@@ -75,13 +90,30 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
> $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = lib.getExe (writeShellApplication {
|
||||
# mostly stolen from pkgs/by-name/da/davinci-resolve/package.nix :)
|
||||
name = "update-blackmagic-desktop-video";
|
||||
runtimeInputs = [
|
||||
common-updater-scripts
|
||||
curl
|
||||
jq
|
||||
];
|
||||
text = ''
|
||||
set -o errexit
|
||||
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
|
||||
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("Desktop Video")) | .downloadTitle]' | grep -oP 'Desktop Video \K\d\d\.\d+(\.\d+)?' | sort | tail -n 1)"
|
||||
|
||||
update-source-version blackmagic-desktop-video "$latestLinuxVersion"
|
||||
'';
|
||||
});
|
||||
|
||||
postUnpack =
|
||||
let
|
||||
arch = stdenv.hostPlatform.uname.processor;
|
||||
in
|
||||
''
|
||||
tar xf Blackmagic_Desktop_Video_Linux_${lib.head (lib.splitString "a" finalAttrs.version)}/other/${arch}/desktopvideo-${finalAttrs.version}-${arch}.tar.gz
|
||||
unpacked=$NIX_BUILD_TOP/desktopvideo-${finalAttrs.version}-${stdenv.hostPlatform.uname.processor}
|
||||
tar xf Blackmagic_Desktop_Video_Linux_${finalAttrs.version}/other/${arch}/desktopvideo-${finalAttrs.version}*-${arch}.tar.gz
|
||||
unpacked=$NIX_BUILD_TOP/desktopvideo-${finalAttrs.version}*-${stdenv.hostPlatform.uname.processor}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -59,7 +59,10 @@ stdenv.mkDerivation rec {
|
||||
description = "Simple integrated development environment for Java";
|
||||
homepage = "https://www.bluej.org/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.gpl2ClasspathPlus;
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus
|
||||
classpathException20
|
||||
];
|
||||
mainProgram = "bluej";
|
||||
maintainers = with lib.maintainers; [ chvp ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
@@ -33,6 +33,5 @@ buildGoModule rec {
|
||||
mainProgram = "bombadillo";
|
||||
homepage = "https://bombadillo.colorfield.space/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,21 @@
|
||||
{ "_comment": "@generated by pkgs/by-name/bu/buck2/update.sh"
|
||||
, "_prelude": "sha256-cyuOMi8x8q9gd6p1obnYYDVPxyONZ+y41AFXvSbUjC0="
|
||||
, "buck2-x86_64-linux": "sha256-l/W6Bza01IyOFvHb2rlBY72Tl+JNgwmkO8EhUPWrxBY="
|
||||
, "rust-project-x86_64-linux": "sha256-3UGgvQKSm6Qohk/NDRU1fM+eFEpqM9XMLxL2AkXXrW0="
|
||||
, "buck2-x86_64-darwin": "sha256-wHk/tJJbupMsrcmXXNVXurfLY2TOSssMnuTZ7LNjASY="
|
||||
, "rust-project-x86_64-darwin": "sha256-ePawMIfltPRK3mJJxI1BvGs6b2vIcgWzW2XTJykUsdI="
|
||||
, "buck2-aarch64-linux": "sha256-dhqBYFQ6e5nWSrbUMUFoato1sb4bl95JcdqcgeC5mcs="
|
||||
, "rust-project-aarch64-linux": "sha256-Zduna35ieycN80K2wh5OkcSaOWiqhxLJkduBk7f2XqU="
|
||||
, "buck2-aarch64-darwin": "sha256-XtGs7g64s76AYhpFDbqSuSlblRauxJM0PaAk1MNNgxA="
|
||||
, "rust-project-aarch64-darwin": "sha256-CkyLLv41iJTKHVB0e355ZO2MV7NzQeiF1gtWEGF5oAY="
|
||||
{
|
||||
"x86_64-linux": {
|
||||
"buck2": "sha256-gVOho7p25okvAV8OqXppdtwOOEzqH7VWcJBT4l5CT2U=",
|
||||
"rust-project": "sha256-HKctvCiXyGFzfHfB3Qj6qR2p46i5vaaZgPg2J827ou4="
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"buck2": "sha256-wHk/tJJbupMsrcmXXNVXurfLY2TOSssMnuTZ7LNjASY=",
|
||||
"rust-project": "sha256-ePawMIfltPRK3mJJxI1BvGs6b2vIcgWzW2XTJykUsdI="
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"buck2": "sha256-Gn/Q2P0Fs93SbOawhzv8Z9DgbrIUlQ+9E3PyCNsV1pk=",
|
||||
"rust-project": "sha256-Pm5lEIu0hzI5BuA/LuTKjBP8S63jiz1oSB0g9tSETGU="
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"buck2": "sha256-XtGs7g64s76AYhpFDbqSuSlblRauxJM0PaAk1MNNgxA=",
|
||||
"rust-project": "sha256-CkyLLv41iJTKHVB0e355ZO2MV7NzQeiF1gtWEGF5oAY="
|
||||
},
|
||||
"version": "2025-08-15",
|
||||
"preludeGit": "892cb85f5fc3258c7e4f89a836821ec4b8c7ee44",
|
||||
"preludeFod": "sha256-cyuOMi8x8q9gd6p1obnYYDVPxyONZ+y41AFXvSbUjC0="
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
zstd,
|
||||
buildPackages,
|
||||
fetchurl,
|
||||
installShellFiles,
|
||||
testers,
|
||||
buck2, # for passthru.tests
|
||||
versionCheckHook,
|
||||
autoPatchelfHook,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
# NOTE (aseipp): buck2 uses a precompiled binary build for good reason — the
|
||||
@@ -42,128 +43,105 @@ let
|
||||
# procued by GitHub Actions. this also includes the hash for a download of a
|
||||
# compatible buck2-prelude
|
||||
buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
|
||||
|
||||
# our version of buck2; this should be a git tag
|
||||
version = "2025-08-15";
|
||||
archHashes = buildHashes.${stdenv.hostPlatform.system};
|
||||
|
||||
# map our platform name to the rust toolchain suffix
|
||||
# NOTE (aseipp): must be synchronized with update.sh!
|
||||
# NOTE (aseipp): must be synchronized with update.nu!
|
||||
platform-suffix =
|
||||
{
|
||||
x86_64-darwin = "x86_64-apple-darwin";
|
||||
aarch64-darwin = "aarch64-apple-darwin";
|
||||
x86_64-linux = "x86_64-unknown-linux-musl";
|
||||
aarch64-linux = "aarch64-unknown-linux-musl";
|
||||
x86_64-linux = "x86_64-unknown-linux-gnu";
|
||||
aarch64-linux = "aarch64-unknown-linux-gnu";
|
||||
}
|
||||
."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
# the platform-specific, statically linked binary — which is also
|
||||
# zstd-compressed
|
||||
buck2-src =
|
||||
let
|
||||
name = "buck2-${version}-${platform-suffix}.zst";
|
||||
hash = buildHashes."buck2-${stdenv.hostPlatform.system}";
|
||||
url = "https://github.com/facebook/buck2/releases/download/${version}/buck2-${platform-suffix}.zst";
|
||||
in
|
||||
fetchurl { inherit name url hash; };
|
||||
|
||||
# rust-project, which is used to provide IDE integration Buck2 Rust projects,
|
||||
# is part of the official distribution
|
||||
rust-project-src =
|
||||
let
|
||||
name = "rust-project-${version}-${platform-suffix}.zst";
|
||||
hash = buildHashes."rust-project-${stdenv.hostPlatform.system}";
|
||||
url = "https://github.com/facebook/buck2/releases/download/${version}/rust-project-${platform-suffix}.zst";
|
||||
in
|
||||
fetchurl { inherit name url hash; };
|
||||
|
||||
# compatible version of buck2 prelude; this is exported via passthru.prelude
|
||||
# for downstream consumers to use when they need to automate any kind of
|
||||
# tooling
|
||||
prelude-src =
|
||||
let
|
||||
prelude-hash = "892cb85f5fc3258c7e4f89a836821ec4b8c7ee44";
|
||||
name = "buck2-prelude-${version}.tar.gz";
|
||||
hash = buildHashes."_prelude";
|
||||
url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
|
||||
in
|
||||
fetchurl { inherit name url hash; };
|
||||
|
||||
.${stdenv.hostPlatform.system};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "buck2";
|
||||
version = "unstable-${version}"; # TODO (aseipp): kill 'unstable' once a non-prerelease is made
|
||||
version = "unstable-${buildHashes.version}"; # TODO (aseipp): kill 'unstable' once a non-prerelease is made
|
||||
|
||||
srcs = [
|
||||
buck2-src
|
||||
rust-project-src
|
||||
# the platform-specific binary — which is also
|
||||
# zstd-compressed
|
||||
(fetchurl {
|
||||
url = "https://github.com/facebook/buck2/releases/download/${lib.removePrefix "unstable-" finalAttrs.version}/buck2-${platform-suffix}.zst";
|
||||
hash = archHashes.buck2;
|
||||
})
|
||||
# rust-project, which is used to provide IDE integration Buck2 Rust projects,
|
||||
# is part of the official distribution
|
||||
(fetchurl {
|
||||
url = "https://github.com/facebook/buck2/releases/download/${lib.removePrefix "unstable-" finalAttrs.version}/rust-project-${platform-suffix}.zst";
|
||||
hash = archHashes.rust-project;
|
||||
})
|
||||
];
|
||||
|
||||
unpackCmd = "unzstd $curSrc -o $(stripHash $curSrc)";
|
||||
sourceRoot = ".";
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
autoPatchelfHook
|
||||
zstd
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
dontConfigure = true;
|
||||
dontStrip = true;
|
||||
buildInputs = [
|
||||
#225963
|
||||
stdenv.cc.cc.libgcc or null
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
unzstd ${buck2-src} -o ./buck2
|
||||
unzstd ${rust-project-src} -o ./rust-project
|
||||
runHook postUnpack
|
||||
'';
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
chmod +x ./buck2 && chmod +x ./rust-project
|
||||
runHook postBuild
|
||||
'';
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./buck2 --version && ./rust-project --version
|
||||
runHook postCheck
|
||||
'';
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
install -D buck2 $out/bin/buck2
|
||||
install -D rust-project $out/bin/rust-project
|
||||
|
||||
install -D buck2* "$out/bin/buck2"
|
||||
install -D rust-project* "$out/bin/rust-project"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd buck2 \
|
||||
--bash <( $out/bin/buck2 completion bash ) \
|
||||
--fish <( $out/bin/buck2 completion fish ) \
|
||||
--zsh <( $out/bin/buck2 completion zsh )
|
||||
'';
|
||||
|
||||
# Have to put this at a weird stage because if it is put in
|
||||
# postInstall, preFixup, or postFixup, autoPatchelf wouldn't
|
||||
# have run yet
|
||||
preInstallCheck =
|
||||
let
|
||||
emulator = stdenv.hostPlatform.emulator buildPackages;
|
||||
in
|
||||
lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ''
|
||||
installShellCompletion --cmd buck2 \
|
||||
--bash <(${emulator} $out/bin/buck2 completion bash ) \
|
||||
--fish <(${emulator} $out/bin/buck2 completion fish ) \
|
||||
--zsh <(${emulator} $out/bin/buck2 completion zsh )
|
||||
'';
|
||||
|
||||
doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
# TODO: When --version returns a real output, remove this.
|
||||
# Currently it just spits out a hash
|
||||
preVersionCheck = "version=buck2";
|
||||
|
||||
passthru = {
|
||||
prelude = prelude-src;
|
||||
|
||||
updateScript = ./update.sh;
|
||||
tests = testers.testVersion {
|
||||
package = buck2;
|
||||
|
||||
# NOTE (aseipp): the buck2 --version command doesn't actually print out
|
||||
# the given version tagged in the release, but a hash, but not the git
|
||||
# hash; the entire version logic is bizarrely specific to buck2, and needs
|
||||
# to be reworked the open source build to behave like expected. in the
|
||||
# mean time, it *does* always print out 'buck2 <hash>...' so we can just
|
||||
# match on "buck2"
|
||||
version = "buck2";
|
||||
# compatible version of buck2 prelude; this is exported via passthru.prelude
|
||||
# for downstream consumers to use when they need to automate any kind of
|
||||
# tooling
|
||||
prelude = fetchurl {
|
||||
url = "https://github.com/facebook/buck2-prelude/archive/${buildHashes.preludeGit}.tar.gz";
|
||||
hash = buildHashes.preludeFod;
|
||||
};
|
||||
|
||||
updateScript = ./update.nu;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Fast, hermetic, multi-language build system";
|
||||
homepage = "https://buck2.build";
|
||||
changelog = "https://github.com/facebook/buck2/releases/tag/${version}";
|
||||
changelog = "https://github.com/facebook/buck2/releases/tag/${lib.removePrefix "unstable-" finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
asl20 # or
|
||||
mit
|
||||
];
|
||||
mainProgram = "buck2";
|
||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||
maintainers = with lib.maintainers; [
|
||||
thoughtpolice
|
||||
lf-
|
||||
@@ -176,4 +154,4 @@ stdenv.mkDerivation {
|
||||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -I ./.
|
||||
#! nix-shell -i nu
|
||||
#! nix-shell -p nushell nix
|
||||
|
||||
const ARCHES = [
|
||||
{ name: "x86_64-linux", target: "x86_64-unknown-linux-gnu" },
|
||||
{ name: "x86_64-darwin", target: "x86_64-apple-darwin" },
|
||||
{ name: "aarch64-linux", target: "aarch64-unknown-linux-gnu" },
|
||||
{ name: "aarch64-darwin", target: "aarch64-apple-darwin" },
|
||||
];
|
||||
|
||||
const MANIFEST = "pkgs/by-name/bu/buck2/hashes.json"
|
||||
|
||||
def main [] {
|
||||
let version = http get "https://api.github.com/repos/facebook/buck2/releases"
|
||||
| sort-by -r created_at
|
||||
| where prerelease == true and name != "latest"
|
||||
| first
|
||||
| get name
|
||||
|
||||
let preludeHash = http get $"https://github.com/facebook/buck2/releases/download/($version)/prelude_hash" | decode | str trim
|
||||
let preludeFod = run-external "nix" "--extra-experimental-features" "nix-command" "store" "prefetch-file" "--json" $"https://github.com/facebook/buck2-prelude/archive/($preludeHash).tar.gz" | from json | get hash
|
||||
|
||||
print $"Newest version: ($version)"
|
||||
print $"Newest prelude hash: ($preludeHash)"
|
||||
|
||||
let hashes = $ARCHES | par-each {
|
||||
|arch|
|
||||
|
||||
{
|
||||
$arch.name: {
|
||||
"buck2": (run-external "nix" "--extra-experimental-features" "nix-command" "store" "prefetch-file" "--json" $"https://github.com/facebook/buck2/releases/download/($version)/buck2-($arch.target).zst" | from json | get hash),
|
||||
"rust-project": (run-external "nix" "--extra-experimental-features" "nix-command" "store" "prefetch-file" "--json" $"https://github.com/facebook/buck2/releases/download/($version)/rust-project-($arch.target).zst" | from json | get hash),
|
||||
}
|
||||
}
|
||||
} | reduce { |val, accum| $accum | merge $val }
|
||||
|
||||
let new_manifest = $hashes
|
||||
| insert "version" $version
|
||||
| insert "preludeGit" $preludeHash
|
||||
| insert "preludeFod" $preludeFod
|
||||
|
||||
$new_manifest
|
||||
| to json
|
||||
| append "\n"
|
||||
| str join
|
||||
| save -f $MANIFEST
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=./. -i bash -p curl jq nix-prefetch common-updater-scripts nix coreutils
|
||||
# shellcheck shell=bash
|
||||
set -euo pipefail
|
||||
|
||||
VERSION=$(curl -s https://api.github.com/repos/facebook/buck2/releases \
|
||||
| jq -r 'sort_by(.created_at) | reverse |
|
||||
(map
|
||||
(select ((.prerelease == true) and (.name != "latest"))) |
|
||||
first
|
||||
) | .name')
|
||||
PRELUDE_HASH=$(curl -sLo - "https://github.com/facebook/buck2/releases/download/${VERSION}/prelude_hash")
|
||||
PRELUDE_DL_URL="https://github.com/facebook/buck2-prelude/archive/${PRELUDE_HASH}.tar.gz"
|
||||
|
||||
echo "Latest buck2 prerelease: $VERSION"
|
||||
echo "Compatible buck2-prelude hash: $PRELUDE_HASH"
|
||||
|
||||
ARCHS=(
|
||||
"x86_64-linux:x86_64-unknown-linux-musl"
|
||||
"x86_64-darwin:x86_64-apple-darwin"
|
||||
"aarch64-linux:aarch64-unknown-linux-musl"
|
||||
"aarch64-darwin:aarch64-apple-darwin"
|
||||
)
|
||||
|
||||
NFILE=pkgs/by-name/bu/buck2/package.nix
|
||||
HFILE=pkgs/by-name/bu/buck2/hashes.json
|
||||
rm -f "$HFILE" && touch "$HFILE"
|
||||
|
||||
PRELUDE_SHA256HASH="$(nix-prefetch-url --type sha256 "$PRELUDE_DL_URL")"
|
||||
PRELUDE_SRIHASH="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$PRELUDE_SHA256HASH")"
|
||||
|
||||
printf "{ \"_comment\": \"@generated by pkgs/by-name/bu/buck2/update.sh\"\n" >> "$HFILE"
|
||||
printf ", \"_prelude\": \"$PRELUDE_SRIHASH\"\n" >> "$HFILE"
|
||||
|
||||
for arch in "${ARCHS[@]}"; do
|
||||
IFS=: read -r arch_name arch_target <<< "$arch"
|
||||
sha256hash="$(nix-prefetch-url --type sha256 "https://github.com/facebook/buck2/releases/download/${VERSION}/buck2-${arch_target}.zst")"
|
||||
srihash="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$sha256hash")"
|
||||
echo ", \"buck2-$arch_name\": \"$srihash\"" >> "$HFILE"
|
||||
|
||||
IFS=: read -r arch_name arch_target <<< "$arch"
|
||||
sha256hash="$(nix-prefetch-url --type sha256 "https://github.com/facebook/buck2/releases/download/${VERSION}/rust-project-${arch_target}.zst")"
|
||||
srihash="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$sha256hash")"
|
||||
echo ", \"rust-project-$arch_name\": \"$srihash\"" >> "$HFILE"
|
||||
done
|
||||
echo "}" >> "$HFILE"
|
||||
|
||||
sed -i \
|
||||
'0,/version\s*=\s*".*";/s//version = "'"$VERSION"'";/' \
|
||||
"$NFILE"
|
||||
|
||||
sed -i \
|
||||
'0,/prelude-hash\s*=\s*".*";/s//prelude-hash = "'"$PRELUDE_HASH"'";/' \
|
||||
"$NFILE"
|
||||
|
||||
echo "Done; wrote $HFILE and updated version in $NFILE."
|
||||
@@ -17,7 +17,7 @@
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
version = "1.2.20";
|
||||
version = "1.2.21";
|
||||
pname = "bun";
|
||||
|
||||
src =
|
||||
@@ -87,19 +87,19 @@ stdenvNoCC.mkDerivation rec {
|
||||
sources = {
|
||||
"aarch64-darwin" = fetchurl {
|
||||
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
|
||||
hash = "sha256-QE9abdH2BLQOs7FW1Bl7uNOYuybgrkyKyOeqSQ9+I18=";
|
||||
hash = "sha256-/YhmMLoVxIQjatXz8islXSh8Pu+NO8JvyAmFEDXATOw=";
|
||||
};
|
||||
"aarch64-linux" = fetchurl {
|
||||
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
|
||||
hash = "sha256-mNLgssCUIVaRcrTUa2+BN4wtvdd0gOuyfzmJ3U5y4Ys=";
|
||||
hash = "sha256-DkyeVIdqFg6RgSrjxi02z71o8g4VjLcy9joNa3WUKHs=";
|
||||
};
|
||||
"x86_64-darwin" = fetchurl {
|
||||
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64-baseline.zip";
|
||||
hash = "sha256-li1ZeAHkLjxi+/b2O/8edqoaRxpYluvYMZeC8QzgiWE=";
|
||||
hash = "sha256-Qm1N3h5Rg0aNMf+G7RPAjW8p7wlcia5QtfX1IP3u2RY=";
|
||||
};
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
|
||||
hash = "sha256-Tp7cTLoMfBYjooi+AeU7veEaTQc/LPM5yrAmYnhYtUg=";
|
||||
hash = "sha256-WU9FTVHOVxmdQyDIXL1JW+nAVO8XquvKXmyQir/aYXk=";
|
||||
};
|
||||
};
|
||||
updateScript = writeShellScript "update-bun" ''
|
||||
|
||||
@@ -71,7 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Easy to use, multi OS streaming tool";
|
||||
homepage = "https://danielnoethen.de/butt/";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
mainProgram = "butt";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -17,6 +17,5 @@ buildNimPackage (finalAttrs: {
|
||||
description = "Tool to translate Ansi C code to Nim";
|
||||
mainProgram = "c2nim";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.ehmry ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -15,14 +15,14 @@ let
|
||||
"cli"
|
||||
"desktop"
|
||||
];
|
||||
version = "0.50.1";
|
||||
version = "0.51.0";
|
||||
cli = fetchurl {
|
||||
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
|
||||
hash = "sha256-mHB0nyU0nQg7duPcQf3NNz5vcnIfZcPLkAc+LoWdH58=";
|
||||
hash = "sha256-xMA7Q2VS73xG8/b3jAVz/HMmh8024nOxjcoh6bo/Cws=";
|
||||
};
|
||||
desktop = fetchurl {
|
||||
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-mVK/valleYH3qZdxRBCbmC7MTEE/Cn6MJwZviMgHL08=";
|
||||
hash = "sha256-kkwwaVqk2DGmnEM8ZQrCvhTSreT4HoiZ1rhheyqZfec=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version;
|
||||
@@ -42,7 +42,8 @@ let
|
||||
install -m 444 -D ${appimageContents}/caido.png \
|
||||
$out/share/icons/hicolor/512x512/apps/caido.png
|
||||
wrapProgram $out/bin/caido \
|
||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1 \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "tauri";
|
||||
version = "2.7.1";
|
||||
version = "2.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tauri-apps";
|
||||
repo = "tauri";
|
||||
tag = "tauri-cli-v${finalAttrs.version}";
|
||||
hash = "sha256-0J55AvAvvqTVls4474GcgLPBtSC+rh8cXVKluMjAVBE=";
|
||||
hash = "sha256-bubC2cGlZDam0IGGwB/GSiVt9LFfKmy0uZwwPhAPrl0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nkY1ydc2VewRwY+B5nR68mz8Ff3FK1KoHE4dLzNtPkY=";
|
||||
cargoHash = "sha256-LJYAVism63OVzAEJS8WeaL+XTpxOTCy22U5MUPu8rA4=";
|
||||
|
||||
nativeBuildInputs = lib.optionals (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isLinux) [
|
||||
pkg-config
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cdncheck";
|
||||
version = "1.1.33";
|
||||
version = "1.1.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectdiscovery";
|
||||
repo = "cdncheck";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-T00lM/jA0+3z5RViQkzACNyUqsgSzYtdgGwNli+nm7w=";
|
||||
hash = "sha256-I/wmKKrXFjaha2sq9l/zFJkkDf6DNNeSAOBcKmnOZNg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/1REkZ5+sz/H4T4lXhloz7fu5cLv1GoaD3dlttN+Qd4=";
|
||||
|
||||
@@ -84,7 +84,6 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/cjdelisle/cjdns";
|
||||
description = "Encrypted networking for regular people";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "clickup";
|
||||
version = "3.5.87";
|
||||
version = "3.5.120";
|
||||
|
||||
src = fetchurl {
|
||||
# Using archive.org because the website doesn't store older versions of the software.
|
||||
url = "https://web.archive.org/web/20250419020454/https://desktop.clickup.com/linux";
|
||||
hash = "sha256-+Et+N8ZR5pJ8dvsU/tZa+LLpatooTnq3D24c6t1NS18=";
|
||||
url = "https://web.archive.org/web/20250802083833/https://desktop.clickup.com/linux";
|
||||
hash = "sha256-LVHgXqTxDTsnVJ3zx74TzaSrEs2OD0wl0eioPd4+484=";
|
||||
};
|
||||
|
||||
appimage = appimageTools.wrapType2 {
|
||||
|
||||
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
|
||||
downloadPage = "http://collapseos.org/files/";
|
||||
homepage = "http://collapseos.org/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
mainProgram = "cos-serial";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ php.buildComposerProject2 (finalAttrs: {
|
||||
homepage = "https://github.com/maglnet/ComposerRequireChecker/";
|
||||
changelog = "https://github.com/maglnet/ComposerRequireChecker/releases/tag/${finalAttrs.version}";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "composer-require-checker";
|
||||
maintainers = [ lib.maintainers.patka ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "crosvm";
|
||||
version = "0-unstable-2025-08-18";
|
||||
version = "0-unstable-2025-08-28";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
|
||||
rev = "44659aa08a8c89c3dad2e468ff57cdb639c80732";
|
||||
hash = "sha256-bYTZ1R/WPUUZoxmdreFGaRt9epAI+mcIrEvs5RJPUeA=";
|
||||
rev = "ce1281988c5639f2a6a4cc6c20c03eb44751de07";
|
||||
hash = "sha256-zorrj6sENcjV+pa2VYhunu8LhxT3oOyDRreHX78HckI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
version = "1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/NerdyPepper/curie/releases/download/v${version}/curie-v${version}.tar.gz";
|
||||
url = "https://github.com/oppiliappan/curie/releases/download/v${version}/curie-v${version}.tar.gz";
|
||||
hash = "sha256-B89GNbOmm3lY/cRWQJEFu/5morCM/WrRQb/m6covbt8=";
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Upscaled version of scientifica";
|
||||
homepage = "https://github.com/NerdyPepper/curie";
|
||||
homepage = "https://github.com/oppiliappan/curie";
|
||||
license = licenses.ofl;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ moni ];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
let
|
||||
pname = "decent-sampler";
|
||||
version = "1.13.5";
|
||||
version = "1.13.10";
|
||||
rlkey = "orvjprslmwn0dkfs0ncx6nxnm";
|
||||
|
||||
icon = fetchurl {
|
||||
@@ -28,8 +28,8 @@ let
|
||||
|
||||
src = fetchzip {
|
||||
# dropbox links: https://www.dropbox.com/sh/dwyry6xpy5uut07/AABBJ84bjTTSQWzXGG5TOQpfa\
|
||||
url = "https://www.dropbox.com/scl/fo/a0i0udw7ggfwnjoi05hh3/AHWDqpqSKIsmfX6wyJdBhlU/Decent_Sampler-${version}-Linux-Static-x86_64.tar.gz?rlkey=${rlkey}&dl=0";
|
||||
hash = "sha256-B7iw0NK74p1GXPS0wh+m3HyFsnqgODbt41rXZPo3/rE=";
|
||||
url = "https://www.dropbox.com/scl/fo/a0i0udw7ggfwnjoi05hh3/ACdV5vrbMrsBIUbidqizaIk/Decent_Sampler-${version}-Linux-Static-x86_64.tar.gz?rlkey=${rlkey}&dl=0";
|
||||
hash = "sha256-2LyBldjsD05bMyK/aI+Ivk3f3cErRiM7GJlwOGqT9VQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
|
||||
@@ -29,17 +29,17 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "deno";
|
||||
version = "2.4.4";
|
||||
version = "2.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "denoland";
|
||||
repo = "deno";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true; # required for tests
|
||||
hash = "sha256-Zeml0hubyNK3wU29xNKwiOPHjLzbGryNhZ2/geoCpXs=";
|
||||
hash = "sha256-kzY/ZT5Ld6oQnl8vHBaMfdAgZljTcWCFafIbuRS21ro=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-oWbCv7uwqAeiDzCQ4fc3Yh+FxUJH/ar9A2y9qx95XjE=";
|
||||
cargoHash = "sha256-A1LABL99mXson3gw8CaDbMH4afzyGMcaK0A8+aeK7T0=";
|
||||
|
||||
patches = [
|
||||
# Patch out the remote upgrade (deno update) check.
|
||||
|
||||
@@ -32,7 +32,6 @@ buildGoModule rec {
|
||||
meta = src.meta // {
|
||||
description = "Extensive, fast, and accurate command-line image dithering tool";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
mainProgram = "didder";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
|
||||
version = "0.2.7";
|
||||
buildInputs = [ ncurses ];
|
||||
src = fetchFromGitHub {
|
||||
owner = "NerdyPepper";
|
||||
owner = "oppiliappan";
|
||||
repo = "dijo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-g+A8BJxqoAvm9LTLrLnClVGtFJCQ2gT0mDGAov/6vXE=";
|
||||
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Scriptable, curses-based, digital habit tracker";
|
||||
homepage = "https://github.com/NerdyPepper/dijo";
|
||||
homepage = "https://github.com/oppiliappan/dijo";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
mainProgram = "dijo";
|
||||
|
||||
@@ -21,6 +21,5 @@ buildGoModule rec {
|
||||
homepage = "https://dnslink.org/";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "dnslink";
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -142,7 +142,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [
|
||||
chuangzhu
|
||||
ehmry
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Graphical editor for ACLs and extended attributes";
|
||||
homepage = "https://rofi.roger-ferrer.org/eiciel/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ keysmashes ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "eiciel";
|
||||
};
|
||||
|
||||
@@ -41,7 +41,6 @@ buildGoModule rec {
|
||||
description = "Implementation of ERIS for Go";
|
||||
homepage = "https://codeberg.org/eris/eris-go";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
mainProgram = "eris-go";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ buildNimPackage (
|
||||
meta = final.src.meta // {
|
||||
homepage = "https://codeberg.org/eris/nim-eris";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
mainProgram = "eriscmd";
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user