nixos/flake.nix
2024-07-31 19:36:01 -04:00

116 lines
3.1 KiB
Nix

# /etc/nixos/flake.nix
{
description = "flake for mira::{auxin, leptin, gastrin}";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
nixos-unstable = {
url = "github:NixOS/nixpkgs/nixos-unstable";
# inputs.nixpkgs.follows = "nixos-unstable";
};
nixpkgs-unstable = {
url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
nix-darwin = {
url = "github:LnL7/nix-darwin";
# inputs.nixpkgs.follows = "nixpkgs-darwin";
};
};
outputs = {
self,
nixos-unstable,
nixpkgs-darwin,
nix-darwin,
nixpkgs-unstable,
...
} @ inputs: let
overlays = [inputs.neovim-nightly-overlay.overlays.default];
in {
nixosConfigurations = {
auxin-iso = nixos-unstable.lib.nixosSystem {
modules = [
"${nixos-unstable}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
"${nixos-unstable}/nixos/modules/installer/cd-dvd/channel.nix"
./auxin/configuration.nix
./vm.nix
./common.nix
];
specialArgs = {
# inherit inputs;
meta = {
hostname = "auxin-iso";
};
};
};
auxin-vm = nixos-unstable.lib.nixosSystem {
modules = [
# "${nixos-unstable}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
# "${nixos-unstable}/nixos/modules/installer/cd-dvd/channel.nix"
"${nixos-unstable}/nixos/modules/virtualisation/virtualbox-image.nix"
./auxin/configuration.nix
./vm.nix
./common.nix
];
specialArgs = {
# inherit inputs;
meta = {
hostname = "auxin-vm";
};
};
};
auxin = nixos-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
meta = {hostname = "auxin";};
};
modules = [
./auxin/configuration.nix
./auxin/hardware-configuration.nix
./common.nix
];
};
orexin = nixos-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
meta = {hostname = "orexin";};
};
modules = [
./common.nix
./orexin/configuration.nix
./orexin/hardware-configuration.nix
];
};
gastrin = nixos-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
meta = {hostname = "gastrin";};
};
modules = [
./gastrin/configuration.nix
./common.nix
];
};
};
darwinConfigurations = {
leptin = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [
./leptin/configuration.nix
./common.nix
{nixpkgs.overlays = overlays;}
];
specialArgs = {
meta = {hostname = "leptin";};
inherit nixpkgs-darwin;
inherit nix-darwin;
inherit inputs;
inherit nixpkgs-unstable;
};
};
};
};
}