forest/flake.nix

99 lines
2.4 KiB
Nix

{
inputs = {
nixpkgs-stable = {
url = "github:NixOS/nixpkgs/nixos-22.11";
};
nixpkgs-unstable = {
url = "github:NixOS/nixpkgs/nixos-unstable";
};
home-manager-unstable = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
fsh = {
url = "github:ashhhleyyy/fsh";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
};
outputs = { self, nixpkgs-stable, nixpkgs-unstable, fsh, home-manager-unstable, nixos-generators, ... }:
let
home-manager = home-manager-unstable;
overlays = [
fsh.overlays.default
];
overlays-module = ({ nixpkgs, ... }: {
nixpkgs.overlays = overlays;
});
in
{
nixosConfigurations.fern = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/fern/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/desktop.nix
];
};
}
];
};
nixosConfigurations.alex = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/alex/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/desktop.nix
./home/ash/vscodium.nix
];
};
}
];
};
nixosConfigurations.emira = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/emira/configuration.nix
./common/generic-qemu.nix
];
};
packages.x86_64-linux = {
emira = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/emira/configuration.nix
];
format = "qcow";
};
};
};
}