File tree Expand file tree Collapse file tree 5 files changed +35
-13
lines changed Expand file tree Collapse file tree 5 files changed +35
-13
lines changed Original file line number Diff line number Diff line change 34
34
35
35
extern = import ./extern { inherit inputs ; } ;
36
36
37
- pkgs' = os . mkPkgs { inherit self ; } ;
37
+ multiPkgs = os . mkPkgs { inherit self ; } ;
38
38
39
39
outputs =
40
40
let
41
- system = "x86_64-linux" ;
42
- pkgs = pkgs' . ${ system } ;
41
+ defaultSystem = "x86_64-linux" ;
42
+ pkgs = multiPkgs . ${ defaultSystem } ;
43
43
in
44
44
{
45
45
nixosConfigurations =
46
46
import ./hosts ( nixos . lib . recursiveUpdate inputs {
47
- inherit pkgs system extern ;
47
+ inherit multiPkgs defaultSystem extern ;
48
48
inherit ( pkgs ) lib ;
49
49
} ) ;
50
50
55
55
overlay = import ./pkgs ;
56
56
overlays = lib . pathsToImportedAttrs ( lib . pathsIn ./overlays ) ;
57
57
58
- lib = import ./lib { inherit nixos pkgs ; } ;
58
+ lib = import ./lib { inherit nixos ; } ;
59
59
60
60
templates . flk . path = ./. ;
61
61
templates . flk . description = "flk template" ;
74
74
} ;
75
75
76
76
systemOutputs = utils . lib . eachDefaultSystem ( system :
77
- let pkgs = pkgs' . ${ system } ; in
77
+ let pkgs = multiPkgs . ${ system } ; in
78
78
{
79
79
packages = utils . lib . flattenTreeSystem system
80
80
( os . mkPackages {
Original file line number Diff line number Diff line change
1
+ { suites , ... } :
2
+ {
3
+ ### root password is empty by default ###
4
+ imports = suites . base ;
5
+
6
+ nixpkgs . system = "aarch64-linux" ;
7
+
8
+ boot . loader . systemd-boot . enable = true ;
9
+ boot . loader . efi . canTouchEfiVariables = true ;
10
+
11
+ networking . networkmanager . enable = true ;
12
+
13
+ fileSystems . "/" = { device = "/dev/disk/by-label/nixos" ; } ;
14
+ }
Original file line number Diff line number Diff line change @@ -25,6 +25,10 @@ that you intend to use on your machine.
25
25
Additionally, this is the perfect place to import anything you might need from
26
26
the [ nixos-hardware] [ nixos-hardware ] repository.
27
27
28
+ You can set the option ` nixpkgs.system ` to indicates the host system's
29
+ architecture. This will result in the host getting an instance of nixpkgs for
30
+ that architecture. The definition must be one exported by the nixpkgs flake.
31
+
28
32
## Example
29
33
30
34
hosts/librem.nix:
Original file line number Diff line number Diff line change 3
3
, lib
4
4
, nixos
5
5
, override
6
- , pkgs
6
+ , multiPkgs
7
7
, self
8
- , system
8
+ , defaultSystem
9
9
, ...
10
10
} :
11
11
let
28
28
modules ;
29
29
} ;
30
30
31
- global = {
31
+ global = { config , ... } : {
32
32
home-manager . useGlobalPkgs = true ;
33
33
home-manager . useUserPackages = true ;
34
34
40
40
"home-manager=${ home } "
41
41
] ;
42
42
43
- nixpkgs = { inherit pkgs ; } ;
43
+
44
+ nixpkgs . pkgs = lib . mkDefault multiPkgs . ${ config . nixpkgs . system } ;
44
45
45
46
nix . registry = {
46
47
devos . flake = self ;
62
63
modOverrides
63
64
] ++ extern . modules ;
64
65
65
- specialArgs = extern . specialArgs // { inherit suites ; } ;
66
+ specialArgs = extern . specialArgs // {
67
+ inherit suites multiPkgs ;
68
+ } ;
66
69
67
70
mkHostConfig = hostName :
68
71
let
75
78
} ;
76
79
in
77
80
dev . os . devosSystem {
78
- inherit system specialArgs ;
81
+ inherit specialArgs ;
82
+ system = defaultSystem ;
79
83
80
84
modules = modules ++ [
81
85
local
Original file line number Diff line number Diff line change 1
- args @{ nixos , pkgs , ... } :
1
+ args @{ nixos , ... } :
2
2
let inherit ( nixos ) lib ; in
3
3
lib . makeExtensible ( self :
4
4
let callLibs = file : import file
You can’t perform that action at this time.
0 commit comments