159 lines
4.4 KiB
Markdown
159 lines
4.4 KiB
Markdown
# AI SLOP WARNING: This repo is generated using claude 4 Don't use it.
|
|
The original code is not ai slop but this packaging of it is.
|
|
|
|
# Linux File Converter Addon - Nix Package
|
|
|
|
A Nix package for the [Linux File Converter Addon](https://github.com/Lich-Corals/linux-file-converter-addon) by Lich-Corals.
|
|
|
|
## Description
|
|
|
|
Linux File Converter Addon adds context menu options to convert between various image, audio, and video formats directly from your file manager. It supports multiple file managers including Nautilus, Nemo, Thunar, and Dolphin.
|
|
|
|
## Features
|
|
|
|
- **Image conversion**: Convert between PNG, JPEG, WebP, TIFF, BMP, GIF and more
|
|
- **Audio conversion**: Convert between MP3, WAV, FLAC, OGG, AAC, OPUS and more
|
|
- **Video conversion**: Convert between MP4, WebM, AVI, MKV and extract audio
|
|
- **Image resizing**: Resize images to specific dimensions or common presets
|
|
- **Wallpaper presets**: Convert to common wallpaper resolutions (HD, FHD, 4K, etc.)
|
|
- **Square format presets**: Convert to square formats (16x16 to 1024x1024)
|
|
- **Modern format support**: HEIF/HEIC support included (AVIF and JXL support available but not in nixpkgs)
|
|
|
|
## Installation
|
|
|
|
### Using Nix Flakes
|
|
|
|
Add this to your `flake.nix`:
|
|
|
|
```nix
|
|
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
};
|
|
|
|
outputs = { self, nixpkgs }: {
|
|
packages.x86_64-linux.linux-file-converter-addon =
|
|
nixpkgs.legacyPackages.x86_64-linux.callPackage ./package.nix {};
|
|
};
|
|
}
|
|
```
|
|
|
|
Then install with:
|
|
```bash
|
|
nix build .#linux-file-converter-addon
|
|
```
|
|
|
|
### Using nix-build
|
|
|
|
```bash
|
|
nix-build -E 'with import <nixpkgs> {}; callPackage ./package.nix {}'
|
|
```
|
|
|
|
### Adding to system configuration (NixOS)
|
|
|
|
Add to your `configuration.nix`:
|
|
|
|
```nix
|
|
{ pkgs, ... }:
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
(callPackage ./path/to/package.nix {})
|
|
];
|
|
}
|
|
```
|
|
|
|
### Adding to home-manager
|
|
|
|
Add to your `home.nix`:
|
|
|
|
```nix
|
|
{ pkgs, ... }:
|
|
{
|
|
home.packages = with pkgs; [
|
|
(callPackage ./path/to/package.nix {})
|
|
];
|
|
}
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Nautilus (GNOME Files)
|
|
|
|
After installation, restart Nautilus:
|
|
```bash
|
|
nautilus -q
|
|
```
|
|
|
|
Then right-click on any supported media file and look for "Convert to..." in the context menu.
|
|
|
|
### Other File Managers
|
|
|
|
The package also installs service menus for:
|
|
- **Nemo**: `.nemo_action` file installed to appropriate location
|
|
- **Dolphin**: KDE service menu installed
|
|
- **Thunar**: Can be used via the standalone script
|
|
|
|
### Standalone Usage
|
|
|
|
You can also run the converter directly:
|
|
```bash
|
|
linux-file-converter-addon /path/to/file1 /path/to/file2
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
The package includes all necessary dependencies:
|
|
|
|
- **Required**: FFmpeg, Python Pillow, python-magic, PyGObject
|
|
- **Optional**: pillow-heif (for HEIF/HEIC support)
|
|
- **Not available in nixpkgs**: pillow-avif-plugin, jxlpy
|
|
|
|
## Configuration
|
|
|
|
The addon creates a configuration file at `~/.config/linux-file-converter-addon/config.json` where you can customize:
|
|
|
|
- Enable/disable automatic updates (disabled by default in this Nix package)
|
|
- Show/hide patch notes and configuration hints
|
|
- Enable/disable specific conversion options
|
|
- Customize notification settings
|
|
|
|
## File Manager Support
|
|
|
|
| File Manager | Support | Installation Location |
|
|
|--------------|---------|----------------------|
|
|
| Nautilus | ✅ Full | `~/.local/share/nautilus-python/extensions/` |
|
|
| Nemo | ✅ Full | `~/.local/share/nemo/actions/` |
|
|
| Dolphin | ✅ Full | `~/.local/share/kio/servicemenus/` |
|
|
| Thunar | ✅ Partial | Standalone script |
|
|
|
|
## Supported Formats
|
|
|
|
### Images
|
|
**Input**: JPEG, PNG, BMP, PostScript, GIF, ICO, PCX, PPM, TIFF, XBM, FPX, WMF, XPM, WebP, HEIF, HEIC
|
|
**Output**: PNG, JPEG, BMP, GIF, WebP, TIFF
|
|
|
|
### Audio
|
|
**Input**: MP3, WAV, MP4, M4A, AAC, OGG, OPUS, FLAC, 3GP
|
|
**Output**: MP3, WAV, AAC, FLAC, M4A, OGG, OPUS
|
|
|
|
### Video
|
|
**Input**: MP4, WebM, MKV, AVI, MOV
|
|
**Output**: MP4, WebM, MKV, AVI + audio extraction (MP3, WAV)
|
|
|
|
## Notes
|
|
|
|
- Automatic updates are disabled in this Nix package since updates are managed through Nix
|
|
- FFmpeg is automatically available in the PATH when using this package
|
|
- The package sets up proper Python environment with all required dependencies
|
|
- Configuration directory is created automatically in user's home directory
|
|
|
|
## License
|
|
|
|
This Nix package is provided as-is. The original Linux File Converter Addon is licensed under AGPL-3.0+.
|
|
|
|
## Upstream
|
|
|
|
- **Original Project**: https://github.com/Lich-Corals/linux-file-converter-addon
|
|
- **Author**: Linus Tibert (Lich-Corals)
|
|
- **Version**: 1.3.11
|