NixOS-Configs/flake.nix
2024-03-12 23:03:09 -05:00

139 lines
3.9 KiB
Nix

{
inputs = {
disko.url = "github:nix-community/disko";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-2311.url = "github:nixos/nixpkgs/23.11";
home-manager-2311 = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs-2311";
};
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
wayland-pipewire-idle-inhibit = {
url = "github:rafaelrc7/wayland-pipewire-idle-inhibit";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{
self,
nixpkgs,
nixpkgs-2311,
nix,
nixos-hardware,
home-manager,
wayland-pipewire-idle-inhibit,
...
}: {
nixosConfigurations = let
workstation = {
system = "x86_64-linux";
modules = [
./workstation
inputs.home-manager.nixosModules.home-manager
./home
./home/gui
./wm/sway
];
};
server = {
system = "x86_64-linux";
modules = [
./server
inputs.home-manager.nixosModules.home-manager
./home
];
};
in {
fred = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = server.modules ++ [
{
networking.hostName = "fred";
}
./hosts/fred
];
};
www2 = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = server.modules ++ [
{
networking.hostName = "www2";
}
./hosts/fred
];
};
loki = inputs.nixpkgs.lib.nixosSystem {
#specialArgs = {inherit inputs;};
#extraSpecialArgs = {inherit inputs;};
modules = workstation.modules ++ [
{
networking.hostName = "loki";
}
./hosts/loki
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
];
};
smaug = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = workstation.modules ++ [
{
networking.hostName = "smaug";
}
./hosts/smaug
./hosts/smaug/podman.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
];
};
pocket2 = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
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 {
specialArgs = {inherit inputs;};
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 {
specialArgs = {inherit inputs;};
modules = workstation.modules ++ [
{
networking.hostName = "eve";
}
./hosts/eve
inputs.nixos-hardware.nixosModules.google-pixelbook
];
};
vm2 = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = workstation.modules ++ [
{
services.getty.autologinUser = "don";
networking.hostName = "vm2";
}
./hosts/vm1
];
};
};
};
}