Find a file
2023-11-19 22:56:10 -06:00
.github/workflows Run GH Workflow monthly 2023-11-20 07:29:48 +13:00
plugins Merge 4e3ecd54b5 into 17ded7214a 2023-11-19 22:56:10 -06:00
tools styler00dollar-vsgan-trt: init at unstable-2022-09-19 2022-12-09 21:09:27 -07:00
.gitignore initial commit 2019-06-25 17:40:02 -06:00
default.nix styler00dollar-vsgan-trt: init at unstable-2022-09-19 2022-12-09 21:09:27 -07:00
everything-shell.nix Add GH Workflow 2023-11-20 07:29:48 +13:00
flake.lock flake.lock: Update 2022-05-27 22:27:20 +02:00
flake.nix flake.nix: Allow unfree packages 2021-05-29 16:30:09 -06:00
LICENSE Add license 2021-05-17 22:29:38 -06:00
README.md Update URLs in readme 2023-03-08 18:20:04 -07:00
test-build.sh Add GH Workflow 2023-11-20 07:29:48 +13:00

vs-overlay

A collection of packages (mostly plugins) related to using VapourSynth with Nix.

Standalone Nix

Add the repository to ~/.config/nixpkgs/overlays.nix:

[
  (import (builtins.fetchTarball "https://github.com/nix-community/vs-overlay/archive/master.tar.gz"))
]

NixOS, without flakes

Add the repository to the nixpkgs.overlays option of configuration.nix:

{
  nixpkgs.overlays = [
    (import (builtins.fetchTarball "https://github.com/nix-community/vs-overlay/archive/master.tar.gz"))
  ];
}

NixOS, with flakes

Note: Flakes are an experimental feature of Nix.
If you're not already using them, you should follow NixOS, without flakes instead.

Note: This only fetches the overlay as a flake, it doesn't use the pinned Nixpkgs version.
See Usage as a flake for more information.

In flake.nix, add vs-overlay as an input:

{
  inputs.vs-overlay.url = "github:nix-community/vs-overlay";
}

Then add vs-overlay.overlay to nixpkgs.overlays:

{
  nixpkgs.overlays = [
    vs-overlay.overlay
  ];
}

Usage

Adding the repository as an overlay will add the packages to the main pkgs set, using them is the same as packages from Nixpkgs:

Manually building

# Build a standalone package
nix-build '<nixpkgs>' -A getnative

# Build a VSEdit package with the given plugins
nix-build -E '
  { pkgs ? import <nixpkgs> {} }:
  with pkgs;
  vapoursynth-editor.withPlugins [
    vapoursynthPlugins.mvtools
    vapoursynthPlugins.vsutil
  ]
'

NixOS config

{
  environment.systemPackages = with pkgs; [
    # Standalone package from this overlay
    getnative

    # Vapoursynth (from Nixpkgs) with plugins
    (vapoursynth.withPlugins [
        vapoursynthPlugins.mvtools
    ])

    # VSEdit (from Nixpkgs) with plugins
    (vapoursynth-editor.withPlugins [
        vapoursynthPlugins.vsutil
    ])
  ];
}

Usage as a flake

Note: Flakes are an experimental Nix feature intended to improve reproducibility.

When this repository is used as a flake, it uses a pinned version of Nixpkgs rather than the system set.
This has both advantages and disadvantages: a newer revision of Nixpkgs could have an important fix for a plugin dependency, but an update could also break a plugin due to backwards-incompatible changes.

Setup

In flake.nix, add vs-overlay as an input:

{
  inputs.vs-overlay.url = "github:nix-community/vs-overlay";
}

Usage

Packages are accessible through vs-overlay.packages.<system>:

{
  environment.systemPackages = with pkgs; [
    vs-overlay.packages.x86_64-linux.getnative

    (vapoursynth.withPlugins [
      vs-overlay.packages.x86_64-linux.vapoursynthPlugins.vsutil
    ])
  ];
}

License

Like Nixpkgs itself, this repository uses the MIT license.
It only applies to the files in this repository, not the results of building the packages.