123 lines
3.1 KiB
Nix
123 lines
3.1 KiB
Nix
{
|
|
description = "NixOS configuration";
|
|
|
|
inputs = {
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
disko-stable = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
};
|
|
disko-unstable = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
home-manager-unstable = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
mailserver = {
|
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver?ref=nixos-25.05";
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
};
|
|
|
|
"lolcat++-stable" = {
|
|
url = "github:lolcatpp/lolcatpp";
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
};
|
|
"lolcat++-unstable" = {
|
|
url = "github:lolcatpp/lolcatpp";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
dotfiles = {
|
|
url = "path:/home/love/dotfiles";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
inputs.home-manager.follows = "home-manager-unstable";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
inputs@{
|
|
nixpkgs-stable,
|
|
nixpkgs-unstable,
|
|
disko-stable,
|
|
disko-unstable,
|
|
home-manager-unstable,
|
|
dotfiles,
|
|
...
|
|
}:
|
|
let
|
|
mkHost = {
|
|
hostPath,
|
|
nixpkgs,
|
|
disko,
|
|
lolcat,
|
|
}:
|
|
nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inputs = inputs // { "lolcat++" = lolcat; };
|
|
};
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
hostPath
|
|
];
|
|
};
|
|
mkDesktopHost = {
|
|
hostPath,
|
|
nixpkgs,
|
|
disko,
|
|
lolcat,
|
|
}:
|
|
nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inputs = inputs // { "lolcat++" = lolcat; };
|
|
};
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
home-manager-unstable.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.backupFileExtension = "hm-backup";
|
|
home-manager.users.love = import "${dotfiles}/home.nix";
|
|
}
|
|
hostPath
|
|
];
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
Kronos = mkDesktopHost {
|
|
hostPath = ./hosts/kronos;
|
|
nixpkgs = nixpkgs-unstable;
|
|
disko = disko-unstable;
|
|
lolcat = inputs."lolcat++-unstable";
|
|
};
|
|
kronos = mkDesktopHost {
|
|
hostPath = ./hosts/kronos;
|
|
nixpkgs = nixpkgs-unstable;
|
|
disko = disko-unstable;
|
|
lolcat = inputs."lolcat++-unstable";
|
|
};
|
|
Hermes = mkHost {
|
|
hostPath = ./hosts/hermes;
|
|
nixpkgs = nixpkgs-stable;
|
|
disko = disko-stable;
|
|
lolcat = inputs."lolcat++-stable";
|
|
};
|
|
hermes = mkHost {
|
|
hostPath = ./hosts/hermes;
|
|
nixpkgs = nixpkgs-stable;
|
|
disko = disko-stable;
|
|
lolcat = inputs."lolcat++-stable";
|
|
};
|
|
};
|
|
};
|
|
}
|