Files
nixos-config/flake.nix
2025-08-19 11:52:32 -07:00

89 lines
2.4 KiB
Nix

{
description = "Nixos Config Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
inputs.nixpkgs.follows = "nixpkgs";
};
vscode-server = {
url = "github:nix-community/nixos-vscode-server";
};
};
outputs =
{ self,
nixpkgs,
nixpkgs-unstable,
nix-darwin,
home-manager,
home-manager-unstable,
nixvim,
nixos-hardware,
vscode-server,
...
}@inputs:
let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
buildbox = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "buildbox";};
system = system;
modules = [
./hosts/buildbox/configuration.nix
inputs.home-manager.nixosModules.default
vscode-server.nixosModules.default({ config, pkgs, ... }: {services.vscode-server.enable = true;})
];
};
eva-01 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-01";};
system = system;
modules = [
./hosts/eva-01/configuration.nix
inputs.home-manager.nixosModules.default
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
];
};
};
darwinConfigurations = {
eva-02 = nix-darwin.lib.darwinSystem{
specialArgs = {inherit inputs configPath;} // {hostname = "eva-02";};
system = "aarch64-darwin";
modules = [
./hosts/eva-02/configuration.nix
inputs.home-manager-unstable.darwinModules.home-manager
];
};
};
};
}