dot.nix/flake.nix

94 lines
2 KiB
Nix

{
description = "Unstable Flake";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, ... }: let
ARM = "aarch64-linux"; # ARM systems
X86 = "x86_64-linux"; # x86_64 systems
lib = nixpkgs.lib;
in {
nixosConfigurations = {
caenus = lib.nixosSystem {
system = ARM;
modules = [
./nix
./host/caenus
];
};
cloud = lib.nixosSystem {
system = X86;
modules = [
./nix
./host/cloud
];
};
dockge = lib.nixosSystem {
system = X86;
modules = [
./nix
./host/dockge
];
};
nix = lib.nixosSystem {
system = X86;
modules = [
./nix
./host/nix
];
};
proxy = lib.nixosSystem {
system = X86;
modules = [
./nix
./host/proxy
];
};
};
homeConfigurations = let
armPkgs = import nixpkgs {
system = ARM;
};
x86Pkgs = import nixpkgs {
system = X86;
# overlays = [ (import ./nixos/overlays) ];
};
in {
"toph@caenus" = home-manager.lib.homeManagerConfiguration {
pkgs = armPkgs;
modules = [ ./home ];
};
"toph@cloud" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@dockge" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@nix" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
"toph@proxy" = home-manager.lib.homeManagerConfiguration {
pkgs = x86Pkgs;
modules = [ ./home ];
};
};
};
}