Decouple system from flake

This commit is contained in:
Giulio De Pasquale 2022-10-13 19:05:31 +02:00
parent 73844fcf66
commit 45935b999e
3 changed files with 33 additions and 29 deletions

View File

@ -12,10 +12,12 @@
outputs = outputs =
inputs@{ self, nixpkgs, nixos-unstable, home-manager, vim-extra-plugins }: inputs@{ self, nixpkgs, nixos-unstable, home-manager, vim-extra-plugins }:
let let
system = "x86_64-linux"; x64System = "x86_64-linux";
pkgs = import nixpkgs { wrapPkgsSystem = { system }:
import nixpkgs rec {
inherit system; inherit system;
unstable = wrapUnstablePkgsSystem { inherit system; };
config.allowUnfree = true; config.allowUnfree = true;
overlays = [ overlays = [
(final: prev: { inherit unstable; }) (final: prev: { inherit unstable; })
@ -23,27 +25,31 @@
]; ];
}; };
unstable = import nixos-unstable { wrapUnstablePkgsSystem = { system }:
import nixos-unstable {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
utils = import ./lib { pkgsX64 = wrapPkgsSystem { system = x64System; };
inherit pkgs unstable nixpkgs nixos-unstable home-manager; unstableX64 = wrapPkgsSystem { system = x64System; };
};
inherit (utils) host; utilsX64 = import ./lib {
inherit (utils) user; inherit nixpkgs nixos-unstable home-manager;
pkgs = pkgsX64;
unstable = unstableX64;
system = x64System;
};
in { in {
nixosConfigurations = { nixosConfigurations = {
architect = host.mkHost { architect = utilsX64.host.mkHost {
name = "architect"; name = "architect";
users = [{ users = [{
user = "giulio"; user = "giulio";
roles = [ ]; roles = [ ];
}]; }];
}; };
gAluminum = host.mkHost { gAluminum = utilsX64.host.mkHost {
name = "gAluminum"; name = "gAluminum";
users = [{ users = [{
user = "giulio"; user = "giulio";
@ -51,7 +57,7 @@
}]; }];
roles = [ "gnome" ]; roles = [ "gnome" ];
}; };
proxy = host.mkHost { proxy = utilsX64.host.mkHost {
name = "proxy"; name = "proxy";
users = [ ]; users = [ ];
}; };

View File

@ -1,6 +1,6 @@
{ pkgs, unstable, nixpkgs, nixos-unstable, home-manager, ... }: rec { { pkgs, unstable, nixpkgs, nixos-unstable, home-manager, system, ... }: rec {
user = import ./user.nix { inherit pkgs unstable; }; user = import ./user.nix { inherit pkgs unstable system; };
host = import ./host.nix { host = import ./host.nix {
inherit pkgs nixpkgs unstable nixos-unstable home-manager user; inherit pkgs nixpkgs unstable nixos-unstable home-manager user system;
}; };
} }

View File

@ -1,10 +1,8 @@
{ pkgs, nixpkgs, nixos-unstable, unstable, home-manager, user, ... }: { pkgs, nixpkgs, nixos-unstable, unstable, home-manager, user, system, ... }:
{ {
mkHost = { name, users, roles ? [ ], imports ? [ ] }: mkHost = { name, users, roles ? [ ], imports ? [ ] }:
let let
system = "x86_64-linux";
mkRole = role: import (../roles + "/${role}.nix"); mkRole = role: import (../roles + "/${role}.nix");
users_mod = (map (u: users_mod = (map (u: