This is a repo with pkgs meant for EUVlok, although it can be used by other repos as well too
This flake advertises the public eupkgs Cachix cache through nixConfig:
extra-substituters = [ "https://eupkgs.cachix.org" ];
extra-trusted-public-keys = [
"eupkgs.cachix.org-1:V9Y0HdASNNSU9U6EkXhR1j85bZGRtNgW7wSyTiQrwGU="
];Accept the flake configuration when Nix prompts to download prebuilt packages
from Cachix instead of building them locally. For non-interactive use, pass
--accept-flake-config. Multi-user Nix installations may require a trusted
administrator to add the same substituter and public key system-wide.
GitHub Actions pulls from this cache for all checks. Builds on master and
manually dispatched builds also push successful results using the repository's
CACHIX_AUTH_TOKEN; pull requests remain read-only.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
euvlok-pkgs.url = "github:euvlok/pkgs";
};
}Composes into your own nixpkgs, so the resulting package set inherits your
config (e.g. allowUnfree) and overlays
{
# ...
outputs = { self, nixpkgs, euvlok-pkgs, ... }: {
nixosConfigurations.myHost = nixpkgs.lib.nixosSystem {
modules = [
({ pkgs, ... }: {
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [ euvlok-pkgs.overlays.default ];
environment.systemPackages = with pkgs; [ claude-code yt-dlp ];
})
];
};
};
}Note: legacyPackages is built from the nixpkgs this flake imports with no
config applied, so unfree packages will be refused. Prefer overlays.default
unless you explicitly want this flake's pinned nixpkgs.
{
# ...
outputs = { self, nixpkgs, euvlok-pkgs, ... }: {
nixosConfigurations.myHost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
environment.systemPackages = with euvlok-pkgs.legacyPackages.x86_64-linux; [
helium-browser
yt-dlp
];
}
];
};
};
}{
# ...
outputs = { self, nixpkgs, euvlok-pkgs, home-manager, ... }: {
homeConfigurations.myUser = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
{
home.packages = with euvlok-pkgs.legacyPackages.x86_64-linux; [
helium-browser
yt-dlp
];
}
];
};
};
}If you only want a few packages in your top-level pkgs, wrap overlays.default
and inherit what you need:
nixpkgs.overlays = [
(final: prev: {
inherit (prev.extend euvlok-pkgs.overlays.default) yt-dlp;
})
];