mirror of
https://github.com/nix-community/home-manager
synced 2024-12-30 21:59:49 +01:00
8d5e27b480
* nix: add options 'nixPath' and 'keepOldNixPath' By default, the system value for $NIX_PATH is kept as a fallback. To completely override the system value for $NIX_PATH: nix.keepOldNixPath = false; * nix: add more tests * nix: add a declarative alternative to Nix channels This adds a new option, 'nix.channels'. It's the Nix channels equivalent of the 'nix.registry' option, and compatible with pre-Flake Nix tooling including nix-env and nix-shell. Like 'nix.registry', this option is useful for pinning Nix channels. Channels defined in the new option can coexist with channels introduced through the nix-channel command. If the same channel exists in both, the one from Home Manager will be prioritized. * nix: add news entry * nix: make channels respect use-xdg-base-directories * nix: remove 'with lib;' --------- Co-authored-by: Michael Hoang <enzime@users.noreply.github.com>
29 lines
781 B
Nix
29 lines
781 B
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
let
|
|
exampleChannel = pkgs.writeTextDir "default.nix" ''
|
|
{ pkgs ? import <nixpkgs> { } }:
|
|
|
|
{
|
|
example = pkgs.emptyDirectory;
|
|
}
|
|
'';
|
|
in {
|
|
config = {
|
|
nix = {
|
|
package = config.lib.test.mkStubPackage {
|
|
version = lib.getVersion pkgs.nixVersions.stable;
|
|
};
|
|
channels.example = exampleChannel;
|
|
settings.use-xdg-base-directories = true;
|
|
};
|
|
|
|
nmt.script = ''
|
|
assertFileContains home-path/etc/profile.d/hm-session-vars.sh \
|
|
'export NIX_PATH="/home/hm-user/.local/state/nix/defexpr/50-home-manager''${NIX_PATH:+:$NIX_PATH}"'
|
|
assertFileContent \
|
|
home-files/.local/state/nix/defexpr/50-home-manager/example/default.nix \
|
|
${exampleChannel}/default.nix
|
|
'';
|
|
};
|
|
}
|