NixOS-Configs/flake.nix
2024-01-04 22:15:10 -06:00

117 lines
3.2 KiB
Nix

{
inputs = {
disko.url = "github:nix-community/disko";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
#nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
#home-manager = {
#url = "github:nix-community/home-manager/release-23.05";
#inputs.nixpkgs.follows = "nixpkgs";
#};
};
outputs = inputs@{
self,
nixpkgs,
nix,
nixos-hardware,
home-manager,
...
}: {
nixosConfigurations = let
workstation = {
system = "x86_64-linux";
modules = [
inputs.disko.nixosModules.disko
./workstation
inputs.home-manager.nixosModules.home-manager
./home
./wm/sway
];
};
server = {
system = "x86_64-linux";
modules = [
inputs.disko.nixosModules.disko
./server
inputs.home-manager.nixosModules.home-manager
./home
];
};
in {
fred = inputs.nixpkgs.lib.nixosSystem {
modules = server.modules ++ [
{
networking.hostName = "fred";
}
./hosts/fred
];
};
loki = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
networking.hostName = "loki";
}
./hosts/loki
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
];
};
smaug = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
networking.hostName = "smaug";
}
./hosts/smaug
./hosts/smaug/podman.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
];
};
pocket2 = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
networking.hostName = "pocket2";
}
./hosts/pocket2
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
];
};
dragon = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
networking.hostName = "dragon";
}
./hosts/dragon
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
];
};
eve = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
networking.hostName = "eve";
}
./hosts/eve
inputs.nixos-hardware.nixosModules.google-pixelbook
];
};
vm2 = inputs.nixpkgs.lib.nixosSystem {
modules = workstation.modules ++ [
{
services.getty.autologinUser = "don";
networking.hostName = "vm2";
}
./hosts/vm1
];
};
};
};
}