This commit is contained in:
2026-04-07 19:25:39 +02:00
parent edee55fb07
commit b721630485
7 changed files with 541 additions and 46 deletions
+94 -26
View File
@@ -2,53 +2,121 @@
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
disko = {
disko-stable = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
disko-unstable = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
home-manager = {
home-manager-unstable = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
"lolcat++" = {
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";
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";
inputs.home-manager.follows = "home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.home-manager.follows = "home-manager-unstable";
};
};
outputs =
inputs@{
nixpkgs,
disko,
home-manager,
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 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
disko.nixosModules.disko
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "hm-backup";
home-manager.users.love = import "${dotfiles}/home.nix";
}
./hosts/kronos
];
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";
};
};
};
}