NixOS/flake.nix

63 lines
1.4 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
disko = {
url = "github:nix-community/disko/latest";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
disko,
home-manager,
nixpkgs,
...
}:
let
system = "x86_64-linux";
serverModules = [
disko.nixosModules.disko
];
commonModules = [
disko.nixosModules.disko
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ifrahim = import ./home.nix;
}
];
in
{
nixosConfigurations = {
# Black Server Configuration
black = nixpkgs.lib.nixosSystem {
inherit system;
modules = serverModules ++ [ ./servers/black/configuration.nix ];
};
# Laptop Configuration
laptop = nixpkgs.lib.nixosSystem {
inherit system;
modules = commonModules ++ [ ./laptop/configuration.nix ];
};
nvidia = nixpkgs.lib.nixosSystem {
inherit system;
modules = commonModules ++ [
./nvidia/nvidia.nix
./desktop/configuration.nix
];
};
};
};
}