15 src = fetchFromGitHub {
19 hash = "sha256-P5H+NfjE8wTmPD1VOI72hPi2DlDb4pCyq0nphK1VGK0=";
22 frontend = stdenv.mkDerivation (finalAttrs: {
23 pname = "vikunja-frontend";
26 sourceRoot = "${finalAttrs.src.name}/frontend";
28 pnpmDeps = pnpm.fetchDeps {
35 hash = "sha256-D2dOyYsdsNV1ZSQdjpy6rfoix7yBACEHj/2XyHb7HWE=";
50 pnpm run test:unit --run
58 # Injects a `t.Skip()` into a given test since there's apparently no other way to skip tests here.
60 lineOffset: testCase: file:
62 jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]);
65 sed -i -e '/${testCase}/{
66 ${jumpAndAppend} t.Skip();
76 fakeGit = writeShellScriptBin "git" ''
77 if [[ $@ = "describe --tags --always --abbrev=10" ]]; then
80 >&2 echo "Unknown command: $@"
90 vendorHash = "sha256-OsKejno8QGg7HzRsrftngiWGiWHFc1jDLi5mQ9/NjI4=";
95 cp -r ${frontend} frontend/dist
99 # These tests need internet, so we skip them.
100 ${skipTest 1 "TestConvertTrelloToVikunja" "pkg/modules/migration/trello/trello_test.go"}
101 ${skipTest 1 "TestConvertTodoistToVikunja" "pkg/modules/migration/todoist/todoist_test.go"}
107 # Fixes "mkdir /homeless-shelter: permission denied" - "Error: error compiling magefiles" during build
108 export HOME=$(mktemp -d)
116 mage test:integration
121 install -Dt $out/bin vikunja
125 passthru.tests.vikunja = nixosTests.vikunja;
128 changelog = "https://kolaente.dev/vikunja/api/src/tag/v${version}/CHANGELOG.md";
129 description = "Todo-app to organize your life";
130 homepage = "https://vikunja.io/";
131 license = lib.licenses.agpl3Plus;
132 maintainers = with lib.maintainers; [ leona ];
133 mainProgram = "vikunja";
134 platforms = lib.platforms.linux;