nix-dots/flake.nix
2022-01-17 03:28:40 +00:00

96 lines
1.9 KiB
Nix

{
description = "Michael Thomas's NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR";
home-manager = {
url = "github:rycee/home-manager/release-21.11";
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
};
outputs = inputs: {
nixosConfigurations = {
loft = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./modules/common.nix
./modules/containers.nix
./machines/loft/configuration.nix
];
specialArgs = { inherit inputs; };
};
kitchen = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./modules/common.nix
./modules/containers.nix
./machines/kitchen/configuration.nix
];
specialArgs = { inherit inputs; };
};
work = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./modules/nix.nix
./modules/containers.nix
./machines/work/configuration.nix
];
specialArgs = { inherit inputs; };
};
};
homeConfigurations = {
nixos = inputs.home-manager.lib.homeManagerConfiguration {
system = "x86_64-linux";
homeDirectory = "/home/michael";
username = "michael";
stateVersion = "21.05";
configuration = { config, pkgs, ... }:
{
nixpkgs.config = {
allowUnfree = true;
};
programs.home-manager.enable = true;
imports = [
./user/environments/nixos/home.nix
];
};
};
wsl = inputs.home-manager.lib.homeManagerConfiguration {
system = "x86_64-linux";
homeDirectory = "/home/michael";
username = "michael";
stateVersion = "21.05";
configuration = { config, pkgs, ... }:
{
nixpkgs.config = {
allowUnfree = true;
};
programs.home-manager.enable = true;
imports = [
./user/environments/wsl/home.nix
];
};
};
};
};
}