mirror of
https://github.com/go-vikunja/vikunja.git
synced 2025-12-05 19:16:51 -06:00
85 lines
1.9 KiB
Nix
85 lines
1.9 KiB
Nix
{ pkgs, lib, config, inputs, ... }:
|
|
|
|
let
|
|
pkgs-unstable = import inputs.nixpkgs-unstable { system = pkgs.stdenv.system; };
|
|
in {
|
|
scripts.patch-sass-embedded.exec = ''
|
|
find node_modules/.pnpm/sass-embedded-linux-*/node_modules/sass-embedded-linux-*/dart-sass/src -name dart -print0 | xargs -I {} -0 patchelf --set-interpreter "$(<$NIX_CC/nix-support/dynamic-linker)" {}
|
|
'';
|
|
|
|
packages = with pkgs-unstable; [
|
|
# General tools
|
|
git-cliff
|
|
actionlint
|
|
crowdin-cli
|
|
nfpm
|
|
# API tools
|
|
golangci-lint mage
|
|
# Desktop
|
|
electron
|
|
# Font processing tools
|
|
wget
|
|
python3
|
|
python3Packages.pip
|
|
python3Packages.fonttools
|
|
python3Packages.brotli
|
|
nodejs
|
|
];
|
|
|
|
languages = {
|
|
javascript = {
|
|
enable = true;
|
|
package = pkgs-unstable.nodejs-slim;
|
|
pnpm = {
|
|
enable = true;
|
|
package = pkgs-unstable.pnpm;
|
|
};
|
|
};
|
|
|
|
go = {
|
|
enable = true;
|
|
package = pkgs-unstable.go;
|
|
enableHardeningWorkaround = true;
|
|
};
|
|
};
|
|
|
|
services.mailpit = {
|
|
enable = true;
|
|
package = pkgs-unstable.mailpit;
|
|
};
|
|
|
|
env = {
|
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
|
|
PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS = "1";
|
|
# PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH = "${pkgs-unstable.chromium}/bin/chromium";
|
|
VIKUNJA_SERVICE_TESTINGTOKEN = "test";
|
|
};
|
|
|
|
devcontainer = {
|
|
enable = true;
|
|
settings = {
|
|
forwardPorts = [ 4173 3456 ];
|
|
portsAttributes = {
|
|
"4173" = {
|
|
label = "Vikunja Frontend dev server";
|
|
};
|
|
"3456" = {
|
|
label = "Vikunja API";
|
|
};
|
|
};
|
|
customizations.vscode.extensions = [
|
|
"Syler.sass-indented"
|
|
"codezombiech.gitignore"
|
|
"dbaeumer.vscode-eslint"
|
|
"editorconfig.editorconfig"
|
|
"golang.Go"
|
|
"lokalise.i18n-ally"
|
|
"mikestead.dotenv"
|
|
"mkhl.direnv"
|
|
"vitest.explorer"
|
|
"vue.volar"
|
|
];
|
|
};
|
|
};
|
|
}
|