hosts: set nixpkgs.pkgs based on nixpkgs.system
This commit is contained in:
parent
2961c1ea52
commit
aec7c92cc7
60
flake.nix
60
flake.nix
@ -36,47 +36,45 @@
|
||||
|
||||
extern = import ./extern { inherit inputs; };
|
||||
|
||||
pkgs' = os.mkPkgs;
|
||||
multiPkgs = os.mkPkgs;
|
||||
|
||||
outputs =
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = pkgs'.${system};
|
||||
in
|
||||
{
|
||||
nixosConfigurations =
|
||||
import ./hosts (nixos.lib.recursiveUpdate inputs {
|
||||
inherit pkgs system extern;
|
||||
inherit (pkgs) lib;
|
||||
outputs = {
|
||||
nixosConfigurations =
|
||||
import ./hosts (nixos.lib.recursiveUpdate inputs {
|
||||
inherit multiPkgs extern;
|
||||
defaultSystem = "x86_64-linux";
|
||||
lib = nixos.lib.extend (final: prev: {
|
||||
dev = self.lib;
|
||||
});
|
||||
});
|
||||
|
||||
nixosModules =
|
||||
let moduleList = import ./modules/module-list.nix;
|
||||
in lib.pathsToImportedAttrs moduleList;
|
||||
nixosModules =
|
||||
let moduleList = import ./modules/module-list.nix;
|
||||
in lib.pathsToImportedAttrs moduleList;
|
||||
|
||||
overlay = import ./pkgs;
|
||||
overlays = lib.pathsToImportedAttrs (lib.pathsIn ./overlays);
|
||||
overlay = import ./pkgs;
|
||||
overlays = lib.pathsToImportedAttrs (lib.pathsIn ./overlays);
|
||||
|
||||
lib = import ./lib { inherit nixos pkgs self inputs; };
|
||||
lib = import ./lib { inherit nixos self inputs; };
|
||||
|
||||
templates.flk.path = ./.;
|
||||
templates.flk.description = "flk template";
|
||||
defaultTemplate = self.templates.flk;
|
||||
templates.flk.path = ./.;
|
||||
templates.flk.description = "flk template";
|
||||
defaultTemplate = self.templates.flk;
|
||||
|
||||
deploy.nodes = os.mkNodes deploy self.nixosConfigurations;
|
||||
deploy.nodes = os.mkNodes deploy self.nixosConfigurations;
|
||||
|
||||
checks =
|
||||
let
|
||||
tests = import ./tests { inherit self pkgs; };
|
||||
deployChecks = builtins.mapAttrs
|
||||
(system: deployLib: deployLib.deployChecks self.deploy)
|
||||
deploy.lib;
|
||||
in
|
||||
nixos.lib.recursiveUpdate tests deployChecks;
|
||||
};
|
||||
checks =
|
||||
let
|
||||
tests = import ./tests { inherit self pkgs; };
|
||||
deployChecks = builtins.mapAttrs
|
||||
(system: deployLib: deployLib.deployChecks self.deploy)
|
||||
deploy.lib;
|
||||
in
|
||||
nixos.lib.recursiveUpdate tests deployChecks;
|
||||
};
|
||||
|
||||
systemOutputs = utils.lib.eachDefaultSystem (system:
|
||||
let pkgs = pkgs'.${system}; in
|
||||
let pkgs = multiPkgs.${system}; in
|
||||
{
|
||||
packages = utils.lib.flattenTreeSystem system
|
||||
(os.mkPackages { inherit pkgs; });
|
||||
|
@ -25,6 +25,10 @@ that you intend to use on your machine.
|
||||
Additionally, this is the perfect place to import anything you might need from
|
||||
the [nixos-hardware][nixos-hardware] repository.
|
||||
|
||||
> ##### _Note:_
|
||||
> Set `nixpkgs.system` to the architecture of this host, default is "x86_64-linux".
|
||||
> Keep in mind that not all packages are available for all architectures.
|
||||
|
||||
## Example
|
||||
|
||||
hosts/librem.nix:
|
||||
|
@ -3,9 +3,9 @@
|
||||
, lib
|
||||
, nixos
|
||||
, override
|
||||
, pkgs
|
||||
, multiPkgs
|
||||
, self
|
||||
, system
|
||||
, defaultSystem
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
@ -27,7 +27,7 @@ let
|
||||
modules;
|
||||
};
|
||||
|
||||
global = {
|
||||
global = { config, ... }: {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
@ -39,7 +39,7 @@ let
|
||||
"home-manager=${home}"
|
||||
];
|
||||
|
||||
nixpkgs = { inherit pkgs; };
|
||||
nixpkgs.pkgs = lib.mkDefault multiPkgs.${config.nixpkgs.system};
|
||||
|
||||
nix.registry = {
|
||||
devos.flake = self;
|
||||
@ -79,7 +79,8 @@ let
|
||||
};
|
||||
in
|
||||
dev.os.devosSystem {
|
||||
inherit system specialArgs;
|
||||
inherit specialArgs;
|
||||
system = defaultSystem;
|
||||
modules = modules // { inherit local lib; };
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
args@{ nixos, pkgs, self, ... }:
|
||||
args@{ nixos, self, ... }:
|
||||
let inherit (nixos) lib; in
|
||||
lib.makeExtensible (final:
|
||||
let callLibs = file: import file
|
||||
|
Loading…
Reference in New Issue
Block a user