nix-config/flake.nix

138 lines
3.4 KiB
Nix
Raw Normal View History

2022-05-25 19:27:42 +02:00
{
inputs = {
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
2024-12-31 14:03:06 +00:00
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
2022-09-28 21:42:37 +02:00
2023-01-09 18:23:59 +01:00
flake-utils.url = "github:numtide/flake-utils";
2022-09-28 21:42:37 +02:00
2022-05-29 13:39:17 +02:00
sops-nix = {
2023-01-09 18:23:59 +01:00
url = "github:Mic92/sops-nix";
2024-12-31 17:13:04 +01:00
inputs.nixpkgs.follows = "nixpkgs-stable";
2022-05-29 13:39:17 +02:00
};
2022-09-28 21:42:37 +02:00
2025-01-01 16:37:23 +01:00
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
2025-01-02 16:29:05 +01:00
microvm = {
url = "github:astro/microvm.nix/v0.5.0";
inputs = {
nixpkgs.follows = "nixpkgs-stable";
flake-utils.follows = "flake-utils";
};
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.1";
2025-01-12 13:45:55 +01:00
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
2025-01-21 00:14:24 +00:00
authentik-nix = {
url = "github:nix-community/authentik-nix";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
2023-02-14 22:13:52 +01:00
tmux-yank = {
url = "github:tmux-plugins/tmux-yank";
flake = false;
};
2022-05-25 19:27:42 +02:00
};
outputs =
2025-01-11 03:55:19 +01:00
inputs@{
self,
2025-01-21 00:14:24 +00:00
authentik-nix,
2025-01-11 03:55:19 +01:00
flake-utils,
lanzaboote,
microvm,
nixos-hardware,
nixpkgs-stable,
nixpkgs-unstable,
sops-nix,
...
}:
2022-09-28 21:42:37 +02:00
2025-01-11 03:55:19 +01:00
{
nixosConfigurations = {
toaster = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
sops-nix.nixosModules.sops
lanzaboote.nixosModules.lanzaboote
nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen3
2025-01-11 03:55:19 +01:00
./hosts/toaster
2025-01-11 03:55:19 +01:00
./modules/basic-tools
./modules/binary-caches.nix
./modules/devtools.nix
./modules/gnome.nix
./modules/gnupg.nix
./modules/radio.nix
./modules/science.nix
./modules/tlp.nix
./modules/virtualization.nix
./hosts/toaster/secure-boot.nix
./modules/chromium.nix
./modules/mail
./modules/wg
];
};
2025-01-02 18:23:46 +00:00
cloud = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
2025-01-02 18:45:55 +00:00
modules = [
2025-01-02 18:23:46 +00:00
sops-nix.nixosModules.sops
./hosts/cloud
2025-01-02 18:45:55 +00:00
./modules/basic-tools
2025-01-02 20:37:22 +00:00
./modules/server
./modules/binary-caches.nix
2025-01-04 21:07:54 +00:00
./modules/wg
2025-01-02 18:23:46 +00:00
];
};
2025-01-02 19:32:39 +00:00
minime = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
sops-nix.nixosModules.sops
2025-01-12 13:45:55 +01:00
microvm.nixosModules.host
2025-01-02 19:32:39 +00:00
./hosts/minime
./modules/basic-tools
./modules/server
2025-01-02 20:37:22 +00:00
./modules/binary-caches.nix
2025-01-04 21:07:54 +00:00
./modules/wg
2025-01-02 19:32:39 +00:00
];
};
2025-01-12 13:45:55 +01:00
auth = nixpkgs-stable.lib.nixosSystem {
2025-01-12 21:32:36 +01:00
system = "x86_64-linux";
2025-01-12 13:45:55 +01:00
specialArgs = { inherit inputs; };
modules = [
sops-nix.nixosModules.sops
microvm.nixosModules.microvm
2025-01-21 00:14:24 +00:00
authentik-nix.nixosModules.default
2025-01-12 13:45:55 +01:00
2025-01-19 20:38:22 +01:00
./hosts/auth
2025-01-12 13:45:55 +01:00
./modules/server
2025-01-13 18:23:27 +01:00
./modules/wg
2025-01-12 21:32:36 +01:00
];
};
2025-01-19 20:47:09 +01:00
radicale = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
sops-nix.nixosModules.sops
microvm.nixosModules.microvm
./hosts/radicale
./modules/server
./modules/wg
];
};
2022-06-17 19:29:47 +02:00
};
2025-01-11 03:55:19 +01:00
};
}