feat: firefly working
This commit is contained in:
parent
42f1a7ebe3
commit
d7b649395c
Binary file not shown.
|
@ -17,7 +17,7 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
package = cfg.package.override {
|
package = cfg.package.override {
|
||||||
dataDir = cfg.dataDir;
|
inherit (cfg) dataDir;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
options.services.firefly-iii = {
|
options.services.firefly-iii = {
|
||||||
|
@ -77,16 +77,15 @@ in {
|
||||||
services.phpfpm = {
|
services.phpfpm = {
|
||||||
settings = {
|
settings = {
|
||||||
error_log = "syslog";
|
error_log = "syslog";
|
||||||
log_level = "debug";
|
|
||||||
};
|
};
|
||||||
pools.firefly-iii = {
|
pools.firefly-iii = {
|
||||||
|
inherit (cfg) phpPackage;
|
||||||
phpOptions = ''
|
phpOptions = ''
|
||||||
log_errors = yes
|
log_errors = yes
|
||||||
error_reporting = E_ALL
|
error_reporting = E_ALL
|
||||||
'';
|
'';
|
||||||
user = "firefly-iii";
|
user = "firefly-iii";
|
||||||
group = "firefly-iii";
|
group = "firefly-iii";
|
||||||
phpPackage = cfg.phpPackage;
|
|
||||||
phpEnv = cfg.settings;
|
phpEnv = cfg.settings;
|
||||||
settings = mapAttrs (_: mkDefault) {
|
settings = mapAttrs (_: mkDefault) {
|
||||||
catch_workers_output = "yes";
|
catch_workers_output = "yes";
|
||||||
|
@ -117,11 +116,14 @@ in {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
User = "firefly-iii";
|
User = "firefly-iii";
|
||||||
WorkingDirectory = package;
|
WorkingDirectory = cfg.dataDir;
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
umask 077
|
umask 077
|
||||||
|
cp -f -r ${package}/* ${cfg.dataDir}
|
||||||
|
find ${cfg.dataDir} -perm 400 -exec chmod 444 {} \;
|
||||||
|
find ${cfg.dataDir} -perm 500 -exec chmod 555 {} \;
|
||||||
${lib.optionalString cfg.dbCreateLocally ''
|
${lib.optionalString cfg.dbCreateLocally ''
|
||||||
mkdir -p ${cfg.dataDir}/storage/database/
|
mkdir -p ${cfg.dataDir}/storage/database/
|
||||||
touch ${cfg.dataDir}/storage/database/database.sqlite
|
touch ${cfg.dataDir}/storage/database/database.sqlite
|
||||||
|
@ -138,7 +140,9 @@ in {
|
||||||
|
|
||||||
# Data dir
|
# Data dir
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d ${cfg.dataDir} 0710 firefly-iii firefly-iii - -"
|
"d ${cfg.dataDir} 0750 firefly-iii firefly-iii - -"
|
||||||
|
"d ${cfg.dataDir}/bootstrap 0700 firefly-iii firefly-iii - -"
|
||||||
|
"d ${cfg.dataDir}/bootstrap/cache 0700 firefly-iii firefly-iii - -"
|
||||||
"d ${cfg.dataDir}/storage 0700 firefly-iii firefly-iii - -"
|
"d ${cfg.dataDir}/storage 0700 firefly-iii firefly-iii - -"
|
||||||
"d ${cfg.dataDir}/storage/app 0700 firefly-iii firefly-iii - -"
|
"d ${cfg.dataDir}/storage/app 0700 firefly-iii firefly-iii - -"
|
||||||
"d ${cfg.dataDir}/storage/database 0700 firefly-iii firefly-iii - -"
|
"d ${cfg.dataDir}/storage/database 0700 firefly-iii firefly-iii - -"
|
||||||
|
@ -153,22 +157,20 @@ in {
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = mkDefault true;
|
enable = mkDefault true;
|
||||||
recommendedSetup = true;
|
|
||||||
recommendedTlsSettings = mkDefault true;
|
recommendedTlsSettings = mkDefault true;
|
||||||
recommendedOptimisation = mkDefault true;
|
recommendedOptimisation = mkDefault true;
|
||||||
recommendedGzipSettings = mkDefault true;
|
recommendedGzipSettings = mkDefault true;
|
||||||
virtualHosts.${cfg.virtualHost} = {
|
virtualHosts.${cfg.virtualHost} = {
|
||||||
root = "${package}/public";
|
root = "${cfg.dataDir}/public";
|
||||||
locations = {
|
locations = {
|
||||||
"/" = {
|
"/" = {
|
||||||
index = "index.php";
|
|
||||||
tryFiles = "$uri $uri/ /index.php?$query_string";
|
tryFiles = "$uri $uri/ /index.php?$query_string";
|
||||||
|
index = "index.php";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
autoindex on;
|
|
||||||
sendfile off;
|
sendfile off;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"~* \\.php(?:$|/)" = {
|
"~ \.php$" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
include ${config.services.nginx.package}/conf/fastcgi_params ;
|
include ${config.services.nginx.package}/conf/fastcgi_params ;
|
||||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{config, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [../fireflyIII.nix];
|
imports = [../fireflyIII.nix];
|
||||||
|
|
||||||
wireguard.elisabeth = {
|
wireguard.elisabeth = {
|
||||||
|
@ -12,9 +16,9 @@
|
||||||
settings = {
|
settings = {
|
||||||
APP_URL = "https://money.${config.secrets.secrets.global.domains.web}";
|
APP_URL = "https://money.${config.secrets.secrets.global.domains.web}";
|
||||||
TZ = "Europe/Berlin";
|
TZ = "Europe/Berlin";
|
||||||
TRUSTED_PROXIES = "**";
|
TRUSTED_PROXIES = lib.trace "fix" "*";
|
||||||
SITE_OWNER = "firefly-admin@${config.secrets.secrets.global.domains.mail_public}";
|
SITE_OWNER = "firefly-admin@${config.secrets.secrets.global.domains.mail_public}";
|
||||||
APP_KEY = "ctiectiectiectctiectiectiectieie";
|
APP_KEY = lib.trace "fix" "ctiectiectiectctiectiectiectieie";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
deploy = super.callPackage ./deploy.nix {};
|
deploy = super.callPackage ./deploy.nix {};
|
||||||
netbird-dashboard = super.callPackage ./netbird-dashboard {};
|
netbird-dashboard = super.callPackage ./netbird-dashboard {};
|
||||||
minify = super.callPackage ./minify {};
|
minify = super.callPackage ./minify {};
|
||||||
firefly-iii = super.callPackage ./firefly-iii {};
|
firefly-iii = super.callPackage ./firefly-iii.nix {};
|
||||||
mongodb-bin = super.callPackage ./mongodb-bin.nix {};
|
mongodb-bin = super.callPackage ./mongodb-bin.nix {};
|
||||||
awakened-poe-trade = super.callPackage ./awakened-poe-trade.nix {};
|
awakened-poe-trade = super.callPackage ./awakened-poe-trade.nix {};
|
||||||
neovim-clean = super.neovim-unwrapped.overrideAttrs (_neovimFinal: neovimPrev: {
|
neovim-clean = super.neovim-unwrapped.overrideAttrs (_neovimFinal: neovimPrev: {
|
||||||
|
|
35
pkgs/firefly-iii.nix
Normal file
35
pkgs/firefly-iii.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
fetchurl,
|
||||||
|
dataDir ? "/var/lib/firefly-iii",
|
||||||
|
}: let
|
||||||
|
version = "6.1.13";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/firefly-iii/firefly-iii/releases/download/v${version}/FireflyIII-v${version}.tar.gz";
|
||||||
|
hash = "sha256-uQzk3pgdZ0baqmBouHfcuzrymwrsDy6b4IwSY3br6f0=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
inherit src version;
|
||||||
|
pname = "firefly-iii";
|
||||||
|
sourceRoot = ".";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/storage
|
||||||
|
cp -r ./ $out
|
||||||
|
rm -R $out/storage
|
||||||
|
#ln -fs ${dataDir}/storage $out/storage
|
||||||
|
#ln -fs ${dataDir}/bootstrap/cache $out/bootstrap/cache
|
||||||
|
#ln -fs ${dataDir}/.env $out/.env
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Firefly III: a personal finances manager";
|
||||||
|
homepage = "https://github.com/firefly-iii/firefly-iii/";
|
||||||
|
changelog = "https://github.com/firefly-iii/firefly-iii/releases/tag/v${version}";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [patrickdag];
|
||||||
|
mainProgram = "firefly-iii";
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
pkgs ?
|
|
||||||
import <nixpkgs> {
|
|
||||||
inherit system;
|
|
||||||
},
|
|
||||||
system ? builtins.currentSystem,
|
|
||||||
noDev ? false,
|
|
||||||
php ? pkgs.php,
|
|
||||||
phpPackages ? pkgs.phpPackages,
|
|
||||||
}: let
|
|
||||||
composerEnv = import ./composer-env.nix {
|
|
||||||
inherit (pkgs) stdenv lib writeTextFile fetchurl unzip;
|
|
||||||
inherit php phpPackages;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
import ./php-packages.nix {
|
|
||||||
inherit composerEnv noDev;
|
|
||||||
inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
|
|
||||||
}
|
|
|
@ -1,259 +0,0 @@
|
||||||
# This file originates from composer2nix
|
|
||||||
{
|
|
||||||
stdenv,
|
|
||||||
lib,
|
|
||||||
writeTextFile,
|
|
||||||
fetchurl,
|
|
||||||
php,
|
|
||||||
unzip,
|
|
||||||
phpPackages,
|
|
||||||
}: let
|
|
||||||
inherit (phpPackages) composer;
|
|
||||||
|
|
||||||
filterSrc = src:
|
|
||||||
builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src;
|
|
||||||
|
|
||||||
buildZipPackage = {
|
|
||||||
name,
|
|
||||||
src,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit name src;
|
|
||||||
nativeBuildInputs = [unzip];
|
|
||||||
buildCommand = ''
|
|
||||||
shopt -s dotglob
|
|
||||||
unzip $src
|
|
||||||
baseDir=$(find . -type d -mindepth 1 -maxdepth 1)
|
|
||||||
cd $baseDir
|
|
||||||
mkdir -p $out
|
|
||||||
mv * $out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
buildPackage = {
|
|
||||||
name,
|
|
||||||
src,
|
|
||||||
packages ? {},
|
|
||||||
devPackages ? {},
|
|
||||||
buildInputs ? [],
|
|
||||||
symlinkDependencies ? false,
|
|
||||||
executable ? false,
|
|
||||||
removeComposerArtifacts ? false,
|
|
||||||
postInstall ? "",
|
|
||||||
noDev ? false,
|
|
||||||
composerExtraArgs ? "",
|
|
||||||
unpackPhase ? "true",
|
|
||||||
buildPhase ? "true",
|
|
||||||
...
|
|
||||||
} @ args: let
|
|
||||||
reconstructInstalled = writeTextFile {
|
|
||||||
name = "reconstructinstalled.php";
|
|
||||||
executable = true;
|
|
||||||
text = ''
|
|
||||||
#! ${php}/bin/php
|
|
||||||
<?php
|
|
||||||
if(file_exists($argv[1]))
|
|
||||||
{
|
|
||||||
$composerLockStr = file_get_contents($argv[1]);
|
|
||||||
|
|
||||||
if($composerLockStr === false)
|
|
||||||
{
|
|
||||||
fwrite(STDERR, "Cannot open composer.lock contents\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$config = json_decode($composerLockStr, true);
|
|
||||||
|
|
||||||
if(array_key_exists("packages", $config))
|
|
||||||
$allPackages = $config["packages"];
|
|
||||||
else
|
|
||||||
$allPackages = array();
|
|
||||||
|
|
||||||
${lib.optionalString (!noDev) ''
|
|
||||||
if(array_key_exists("packages-dev", $config))
|
|
||||||
$allPackages = array_merge($allPackages, $config["packages-dev"]);
|
|
||||||
''}
|
|
||||||
|
|
||||||
$packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
|
||||||
print($packagesStr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
print("[]");
|
|
||||||
?>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
constructBin = writeTextFile {
|
|
||||||
name = "constructbin.php";
|
|
||||||
executable = true;
|
|
||||||
text = ''
|
|
||||||
#! ${php}/bin/php
|
|
||||||
<?php
|
|
||||||
$composerJSONStr = file_get_contents($argv[1]);
|
|
||||||
|
|
||||||
if($composerJSONStr === false)
|
|
||||||
{
|
|
||||||
fwrite(STDERR, "Cannot open composer.json contents\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$config = json_decode($composerJSONStr, true);
|
|
||||||
|
|
||||||
if(array_key_exists("bin-dir", $config))
|
|
||||||
$binDir = $config["bin-dir"];
|
|
||||||
else
|
|
||||||
$binDir = "bin";
|
|
||||||
|
|
||||||
if(array_key_exists("bin", $config))
|
|
||||||
{
|
|
||||||
if(!file_exists("vendor/".$binDir))
|
|
||||||
mkdir("vendor/".$binDir);
|
|
||||||
|
|
||||||
foreach($config["bin"] as $bin)
|
|
||||||
symlink("../../".$bin, "vendor/".$binDir."/".basename($bin));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
bundleDependencies = dependencies:
|
|
||||||
lib.concatMapStrings (dependencyName: let
|
|
||||||
dependency = dependencies.${dependencyName};
|
|
||||||
in ''
|
|
||||||
${
|
|
||||||
if dependency.targetDir == ""
|
|
||||||
then ''
|
|
||||||
vendorDir="$(dirname ${dependencyName})"
|
|
||||||
mkdir -p "$vendorDir"
|
|
||||||
${
|
|
||||||
if symlinkDependencies
|
|
||||||
then ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
|
|
||||||
else ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
|
|
||||||
}
|
|
||||||
''
|
|
||||||
else ''
|
|
||||||
namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")"
|
|
||||||
mkdir -p "$namespaceDir"
|
|
||||||
${
|
|
||||||
if symlinkDependencies
|
|
||||||
then ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
|
|
||||||
else ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
|
|
||||||
}
|
|
||||||
''
|
|
||||||
}
|
|
||||||
'') (builtins.attrNames dependencies);
|
|
||||||
|
|
||||||
extraArgs = removeAttrs args ["packages" "devPackages" "buildInputs"];
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation ({
|
|
||||||
buildInputs = [php composer] ++ buildInputs;
|
|
||||||
|
|
||||||
inherit unpackPhase buildPhase;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
${
|
|
||||||
if executable
|
|
||||||
then ''
|
|
||||||
mkdir -p $out/share/php
|
|
||||||
cp -av $src $out/share/php/$name
|
|
||||||
chmod -R u+w $out/share/php/$name
|
|
||||||
cd $out/share/php/$name
|
|
||||||
''
|
|
||||||
else ''
|
|
||||||
cp -av $src $out
|
|
||||||
chmod -R u+w $out
|
|
||||||
cd $out
|
|
||||||
''
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove unwanted files
|
|
||||||
rm -f *.nix
|
|
||||||
|
|
||||||
export HOME=$TMPDIR
|
|
||||||
|
|
||||||
# Remove the provided vendor folder if it exists
|
|
||||||
rm -Rf vendor
|
|
||||||
|
|
||||||
# If there is no composer.lock file, compose a dummy file.
|
|
||||||
# Otherwise, composer attempts to download the package.json file from
|
|
||||||
# the registry which we do not want.
|
|
||||||
if [ ! -f composer.lock ]
|
|
||||||
then
|
|
||||||
cat > composer.lock <<EOF
|
|
||||||
{
|
|
||||||
"packages": []
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Reconstruct the installed.json file from the lock file
|
|
||||||
mkdir -p vendor/composer
|
|
||||||
${php}/bin/php ${reconstructInstalled} composer.lock > vendor/composer/installed.json
|
|
||||||
|
|
||||||
# Copy or symlink the provided dependencies
|
|
||||||
cd vendor
|
|
||||||
${bundleDependencies packages}
|
|
||||||
${lib.optionalString (!noDev) (bundleDependencies devPackages)}
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# The post Install phase needs an APP_KEY
|
|
||||||
echo "APP_KEY=SomeRandomStringOf32CharsExactly" > .env
|
|
||||||
# Reconstruct autoload scripts
|
|
||||||
# We use the optimize feature because Nix packages cannot change after they have been built
|
|
||||||
# Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
|
|
||||||
composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
|
|
||||||
|
|
||||||
# Run the install step as a validation to confirm that everything works out as expected
|
|
||||||
composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
|
|
||||||
|
|
||||||
${lib.optionalString executable ''
|
|
||||||
# Reconstruct the bin/ folder if we deploy an executable project
|
|
||||||
${php}/bin/php ${constructBin} composer.json
|
|
||||||
ln -s $(pwd)/vendor/bin $out/bin
|
|
||||||
''}
|
|
||||||
|
|
||||||
${lib.optionalString (!symlinkDependencies) ''
|
|
||||||
# Patch the shebangs if possible
|
|
||||||
if [ -d $(pwd)/vendor/bin ]
|
|
||||||
then
|
|
||||||
# Look for all executables in bin/
|
|
||||||
for i in $(pwd)/vendor/bin/*
|
|
||||||
do
|
|
||||||
# Look for their location
|
|
||||||
realFile=$(readlink -f "$i")
|
|
||||||
|
|
||||||
# Restore write permissions
|
|
||||||
chmod u+wx "$(dirname "$realFile")"
|
|
||||||
chmod u+w "$realFile"
|
|
||||||
|
|
||||||
# Patch shebang
|
|
||||||
sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \
|
|
||||||
-e "s|#!/usr/bin/env php|#!${php}/bin/php|" \
|
|
||||||
"$realFile" > tmp
|
|
||||||
mv tmp "$realFile"
|
|
||||||
chmod u+x "$realFile"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
''}
|
|
||||||
|
|
||||||
if [ "$removeComposerArtifacts" = "1" ]
|
|
||||||
then
|
|
||||||
# Remove composer stuff
|
|
||||||
rm -f composer.json composer.lock
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Execute post install hook
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
// extraArgs);
|
|
||||||
in {
|
|
||||||
inherit filterSrc;
|
|
||||||
composer = lib.makeOverridable composer;
|
|
||||||
buildZipPackage = lib.makeOverridable buildZipPackage;
|
|
||||||
buildPackage = lib.makeOverridable buildPackage;
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
stdenv,
|
|
||||||
lib,
|
|
||||||
fetchFromGitHub,
|
|
||||||
dataDir ? "/var/lib/firefly-iii",
|
|
||||||
}: let
|
|
||||||
version = "6.1.13";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "firefly-iii";
|
|
||||||
repo = "firefly-iii";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-85zI8uCyyoCflzxDkvba6FWa9B3kh179DJfQ2Um6MGM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
package =
|
|
||||||
(import ./compose2nix.nix {
|
|
||||||
inherit pkgs;
|
|
||||||
inherit (stdenv.hostPlatform) system;
|
|
||||||
noDev = true;
|
|
||||||
php = pkgs.php83;
|
|
||||||
phpPackages = pkgs.php83Packages;
|
|
||||||
})
|
|
||||||
.overrideAttrs (oldAttrs: {
|
|
||||||
installPhase =
|
|
||||||
oldAttrs.installPhase
|
|
||||||
+ ''
|
|
||||||
rm -R $out/storage
|
|
||||||
ln -s ${dataDir}/storage $out/storage
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
in
|
|
||||||
package.override rec {
|
|
||||||
inherit src version;
|
|
||||||
pname = "firefly-iii";
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Firefly III: a personal finances manager";
|
|
||||||
homepage = "https://github.com/firefly-iii/firefly-iii/";
|
|
||||||
changelog = "https://github.com/firefly-iii/firefly-iii/releases/tag/v${version}";
|
|
||||||
license = licenses.agpl3Only;
|
|
||||||
maintainers = with maintainers; [patrickdag];
|
|
||||||
mainProgram = "firefly-iii";
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
563
stats.json
563
stats.json
|
@ -1,563 +0,0 @@
|
||||||
{
|
|
||||||
"attributes": null,
|
|
||||||
"cpuTime": 0.05694299936294556,
|
|
||||||
"envs": {
|
|
||||||
"bytes": 10040,
|
|
||||||
"elements": 611,
|
|
||||||
"number": 322
|
|
||||||
},
|
|
||||||
"functions": [
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 43,
|
|
||||||
"count": 4,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/flake.nix",
|
|
||||||
"line": 154,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/flake.nix",
|
|
||||||
"line": 109,
|
|
||||||
"name": "outputs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 32,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/flake.nix",
|
|
||||||
"line": 18,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 7,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 248,
|
|
||||||
"name": "extends"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 244,
|
|
||||||
"name": "extends"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 242,
|
|
||||||
"name": "extends"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/flake.nix",
|
|
||||||
"line": 6,
|
|
||||||
"name": "outputs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 12,
|
|
||||||
"count": 4,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 34,
|
|
||||||
"name": "op"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 23,
|
|
||||||
"count": 24,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 37,
|
|
||||||
"name": "op"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 16,
|
|
||||||
"count": 24,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 37,
|
|
||||||
"name": "op"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 25,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/flake.nix",
|
|
||||||
"line": 18,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 25,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 31,
|
|
||||||
"name": "eachSystem"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 16,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 31,
|
|
||||||
"name": "eachSystem"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source/flake.nix",
|
|
||||||
"line": 5,
|
|
||||||
"name": "outputs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 19,
|
|
||||||
"count": 4,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/lib.nix",
|
|
||||||
"line": 34,
|
|
||||||
"name": "op"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 16,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/default.nix",
|
|
||||||
"line": 11,
|
|
||||||
"name": "callLibs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 961,
|
|
||||||
"name": "recursiveUpdateUntil"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 959,
|
|
||||||
"name": "recursiveUpdateUntil"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 957,
|
|
||||||
"name": "recursiveUpdateUntil"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 38,
|
|
||||||
"count": 8,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 1000,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 33,
|
|
||||||
"count": 8,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 1000,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 27,
|
|
||||||
"count": 8,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 1000,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 999,
|
|
||||||
"name": "recursiveUpdate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 997,
|
|
||||||
"name": "recursiveUpdate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/hosts.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 25,
|
|
||||||
"count": 3,
|
|
||||||
"line": 25,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 14,
|
|
||||||
"count": 3,
|
|
||||||
"line": 25,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 23,
|
|
||||||
"count": 1,
|
|
||||||
"line": 2,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 10,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 649,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 648,
|
|
||||||
"name": "mapAttrsToList"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 646,
|
|
||||||
"name": "mapAttrsToList"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/lists.nix",
|
|
||||||
"line": 2,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 16,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/trivial.nix",
|
|
||||||
"line": 133,
|
|
||||||
"name": "flip"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/trivial.nix",
|
|
||||||
"line": 133,
|
|
||||||
"name": "flip"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 10,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/trivial.nix",
|
|
||||||
"line": 133,
|
|
||||||
"name": "flip"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/trivial.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 32,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/hosts.nix",
|
|
||||||
"line": 46,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 29,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/hosts.nix",
|
|
||||||
"line": 46,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/na7sykizsgkzh9i3wc8m8pz5xfqib2rv-source/flake.nix",
|
|
||||||
"line": 7,
|
|
||||||
"name": "outputs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 4,
|
|
||||||
"line": 10,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 8,
|
|
||||||
"count": 4,
|
|
||||||
"line": 10,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 26,
|
|
||||||
"count": 4,
|
|
||||||
"line": 31,
|
|
||||||
"name": "resolveInput"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 38,
|
|
||||||
"count": 2,
|
|
||||||
"line": 38,
|
|
||||||
"name": "getInputByPath"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 25,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 307,
|
|
||||||
"name": "extend"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 11,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 306,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 48,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 305,
|
|
||||||
"name": "makeExtensibleWithCustomName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 34,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 305,
|
|
||||||
"name": "makeExtensibleWithCustomName"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 29,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 418,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 417,
|
|
||||||
"name": "filterAttrs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 415,
|
|
||||||
"name": "filterAttrs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 25,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/default.nix",
|
|
||||||
"line": 10,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/lists.nix",
|
|
||||||
"line": 138,
|
|
||||||
"name": "foldl'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/lists.nix",
|
|
||||||
"line": 136,
|
|
||||||
"name": "foldl'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/lists.nix",
|
|
||||||
"line": 134,
|
|
||||||
"name": "foldl'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 24,
|
|
||||||
"count": 9,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 963,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 21,
|
|
||||||
"count": 9,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 963,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 13,
|
|
||||||
"count": 13,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 962,
|
|
||||||
"name": "f"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 24,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/generate-installer-package.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 14,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/generate-installer-package.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/k90n9mjy7v6s7m1gabx3y4pvwfgcp9zf-source/nix/generate-installer-package.nix",
|
|
||||||
"line": 1,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 14,
|
|
||||||
"count": 1,
|
|
||||||
"line": 2,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"line": 2,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 595,
|
|
||||||
"name": "nameValuePair"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 5,
|
|
||||||
"count": 5,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 593,
|
|
||||||
"name": "nameValuePair"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 11,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/flake-version-info.nix",
|
|
||||||
"line": 12,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 2,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/flake-version-info.nix",
|
|
||||||
"line": 12,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/flake-version-info.nix",
|
|
||||||
"line": 10,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 1,
|
|
||||||
"count": 1,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/attrsets.nix",
|
|
||||||
"line": 2,
|
|
||||||
"name": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 10,
|
|
||||||
"count": 3,
|
|
||||||
"file": "/nix/store/nra828scc8qs92b9pxra5csqzffb6hpl-source/lib/fixed-points.nix",
|
|
||||||
"line": 84,
|
|
||||||
"name": "fix'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"column": 28,
|
|
||||||
"count": 2,
|
|
||||||
"line": 38,
|
|
||||||
"name": "getInputByPath"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"gc": {
|
|
||||||
"heapSize": 402915328,
|
|
||||||
"totalBytes": 579024
|
|
||||||
},
|
|
||||||
"list": {
|
|
||||||
"bytes": 1480,
|
|
||||||
"concats": 1,
|
|
||||||
"elements": 185
|
|
||||||
},
|
|
||||||
"nrAvoided": 324,
|
|
||||||
"nrFunctionCalls": 263,
|
|
||||||
"nrLookups": 149,
|
|
||||||
"nrOpUpdateValuesCopied": 4133,
|
|
||||||
"nrOpUpdates": 49,
|
|
||||||
"nrPrimOpCalls": 112,
|
|
||||||
"nrThunks": 1907,
|
|
||||||
"primops": {
|
|
||||||
"attrNames": 6,
|
|
||||||
"concatMap": 1,
|
|
||||||
"elemAt": 8,
|
|
||||||
"fetchTree": 3,
|
|
||||||
"foldl'": 6,
|
|
||||||
"fromJSON": 1,
|
|
||||||
"fromTOML": 2,
|
|
||||||
"head": 10,
|
|
||||||
"import": 15,
|
|
||||||
"isAttrs": 16,
|
|
||||||
"isFunction": 4,
|
|
||||||
"isList": 4,
|
|
||||||
"length": 9,
|
|
||||||
"listToAttrs": 1,
|
|
||||||
"map": 1,
|
|
||||||
"mapAttrs": 5,
|
|
||||||
"readFile": 2,
|
|
||||||
"removeAttrs": 3,
|
|
||||||
"seq": 1,
|
|
||||||
"tail": 1,
|
|
||||||
"zipAttrsWith": 13
|
|
||||||
},
|
|
||||||
"sets": {
|
|
||||||
"bytes": 132800,
|
|
||||||
"elements": 7704,
|
|
||||||
"number": 596
|
|
||||||
},
|
|
||||||
"sizes": {
|
|
||||||
"Attr": 16,
|
|
||||||
"Bindings": 16,
|
|
||||||
"Env": 16,
|
|
||||||
"Value": 24
|
|
||||||
},
|
|
||||||
"symbols": {
|
|
||||||
"bytes": 10273,
|
|
||||||
"number": 1031
|
|
||||||
},
|
|
||||||
"values": {
|
|
||||||
"bytes": 100320,
|
|
||||||
"number": 4180
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue