Skip to content

Instantly share code, notes, and snippets.

@LnL7
Last active September 2, 2025 20:07
Show Gist options
  • Select an option

  • Save LnL7/e645b9075933417e7fd8f93207787581 to your computer and use it in GitHub Desktop.

Select an option

Save LnL7/e645b9075933417e7fd8f93207787581 to your computer and use it in GitHub Desktop.
NixOS configuration overlays
{ config, pkgs, ... }:
let
# Import unstable channel.
# sudo nix-channel --add http://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable
# sudo nix-channel --update nixpkgs-unstable
unstable = import <nixpkgs-unstable> {};
in
{
environment.systemPackages =
[ pkgs.hello # regular channel
unstable.spotify # newer version from nixpkgs-unstable
];
virtualisation.libvirtd.enable = true;
nixpkgs.overlays =
[ (self: super:
{
# override with newer version from nixpkgs-unstable
qemu = unstable.qemu;
# custom package that depends on hello from nixpkgs-unstable
foo = super.callPackage ./pkgs/foo { inherit (unstable) hello; };
})
];
}
@ony
Copy link

ony commented Mar 30, 2021

It might be possible to bring in unstable.qemu with dependencies satisfied from pkgs using override attribute of package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment