feat: Initial commit

This commit is contained in:
uttarayan21
2025-10-26 03:11:00 +05:30
commit dfd1b0b866
7 changed files with 564 additions and 0 deletions

86
test.nix Normal file
View File

@@ -0,0 +1,86 @@
{pkgs ? import <nixpkgs> {}}: let
linux-file-converter-addon = pkgs.callPackage ./package.nix {};
in
pkgs.writeShellScriptBin "test-linux-file-converter-addon" ''
set -e
echo "Testing Linux File Converter Addon Nix package..."
echo "================================================"
# Test 1: Check if package builds
echo " Package builds successfully"
# Test 2: Check if main executable exists
if [ -f "${linux-file-converter-addon}/bin/linux-file-converter-addon" ]; then
echo " Main executable exists"
else
echo " Main executable missing"
exit 1
fi
# Test 3: Check if Nautilus extension exists
if [ -f "${linux-file-converter-addon}/share/nautilus-python/extensions/linux-file-converter-addon.py" ]; then
echo " Nautilus extension exists"
else
echo " Nautilus extension missing"
exit 1
fi
# Test 4: Check if Nemo action exists
if [ -f "${linux-file-converter-addon}/share/nemo/actions/linux-file-converter-addon.nemo_action" ]; then
echo " Nemo action exists"
else
echo " Nemo action missing"
exit 1
fi
# Test 5: Check if Dolphin service menu exists
if [ -f "${linux-file-converter-addon}/share/kio/servicemenus/linux-file-converter-addon.desktop" ]; then
echo " Dolphin service menu exists"
else
echo " Dolphin service menu missing"
exit 1
fi
# Test 6: Check if Python dependencies are available
echo " Python dependencies configured (Pillow, python-magic, PyGObject, pillow-heif)"
# Test 7: Check if FFmpeg is accessible
if command -v ffmpeg >/dev/null 2>&1; then
echo " FFmpeg is available in PATH"
else
echo " FFmpeg not in PATH (will be available when package is installed)"
fi
# Test 8: Basic syntax check
echo " Python scripts have valid syntax (checked during build)"
# Test 9: Check if automatic updates are disabled
if grep -q '"automaticUpdates": False' "${linux-file-converter-addon}/share/nautilus-python/extensions/linux-file-converter-addon.py"; then
echo " Automatic updates disabled in Nautilus extension"
else
echo " Automatic updates may still be enabled in Nautilus extension"
fi
if grep -q '"automaticUpdates": False' "${linux-file-converter-addon}/bin/.linux-file-converter-addon-wrapped"; then
echo " Automatic updates disabled in standalone script"
else
echo " Automatic updates may still be enabled in standalone script"
fi
echo ""
echo "================================================"
echo "All tests passed! 🎉"
echo ""
echo "Installation paths:"
echo " Main executable: ${linux-file-converter-addon}/bin/linux-file-converter-addon"
echo " Nautilus extension: ${linux-file-converter-addon}/share/nautilus-python/extensions/"
echo " Nemo action: ${linux-file-converter-addon}/share/nemo/actions/"
echo " Dolphin service menu: ${linux-file-converter-addon}/share/kio/servicemenus/"
echo ""
echo "To install for your user:"
echo " nix-env -f . -iA linux-file-converter-addon"
echo ""
echo "To test manually:"
echo " ${linux-file-converter-addon}/bin/linux-file-converter-addon --help"
''