138 lines
3.9 KiB
Nix
138 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;};
|
|
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
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|