Nix packaging for Vieb.
It is provided here since Vieb was rejected from nixpkgs due to security concerns about an electron based browser, and special rules in nixpkgs policy regarding browsers.
Versions of vieb prior to 12.4.0 are vulnerable to remote code execution! Upgrade as soon as possible.
In addition to the normal packages
output, this flake provides the non-standard packagesFunc
, which is a function taking a pkgs
value and returning an attrset of packages (in this case, just vieb
).
This allows you to easily use vieb without re-instantiating nixpkgs.
An example for a nixos configuration flake:
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.vieb-nix.url = "github:tejing1/vieb-nix";
inputs.vieb-nix.inputs.nixpkgs.follows = "nixpkgs";
outputs = { nixpkgs, vieb-nix, ...}: {
hostname = nixpkgs.lib.nixosSystem {
system = "x86-64-linux";
modules = [
./configuration.nix
({pkgs, ...}: {
environment.systemPackages = [ (vieb-nix.packagesFunc pkgs).vieb ];
})
];
};
}
}
In practice, you'll likely prefer to carry the flake inputs through to your configuration.nix and set the same setting there. There are other guides about how to do this if you don't already know.
This repo's default.nix
accepts a named argument pkgs
and returns an attrset containing the vieb
attribute.
{ pkgs, ... }:
let
# This is not reproducible! Consider pinning methods.
vieb-nix = import (builtins.fetchTarball "https://github.com/tejing1/vieb-nix/archive/refs/heads/master.tar.gz") { inherit pkgs; };
in {
environment.systemPackages = [ vieb-nix.vieb ];
}
If you use the Nix User Repository, then Vieb is available under repos.vieb-nix.vieb
.