mail.idimitrov.dev/flake.nix

51 lines
1.4 KiB
Nix
Raw Normal View History

2023-09-19 14:22:42 +02:00
{
inputs = {
2024-06-05 18:32:01 +02:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
2023-09-20 12:38:25 +02:00
vpsadminos.url = "github:vpsfreecz/vpsadminos";
2024-07-07 19:05:57 +02:00
simple-nixos-mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; inputs.nixpkgs.follows = "nixpkgs"; };
hosts = { url = "github:StevenBlack/hosts"; inputs.nixpkgs.follows = "nixpkgs"; };
webshite = { url = "github:ivandimitrov8080/idimitrov.dev"; inputs.nixpkgs.follows = "nixpkgs"; };
pic = { url = "github:ivandimitrov8080/pic.idimitrov.dev"; inputs.nixpkgs.follows = "nixpkgs"; };
2023-09-19 14:22:42 +02:00
};
outputs =
2024-06-05 18:32:01 +02:00
{ nixpkgs
2023-09-20 12:38:25 +02:00
, vpsadminos
2024-07-07 19:05:57 +02:00
, simple-nixos-mailserver
2024-04-05 11:59:44 +02:00
, hosts
2024-07-07 19:05:57 +02:00
, webshite
, pic
2023-09-19 14:22:42 +02:00
, ...
2023-11-09 11:09:02 +01:00
}:
let
2023-11-26 12:47:58 +01:00
system = "x86_64-linux";
myOverlay = final: prev: {
scripts = (final.buildEnv { name = "scripts"; paths = [ ./. ]; });
webshite = webshite.packages.${system}.default;
2024-07-07 19:05:57 +02:00
pic = pic.packages.${system}.default.overrideAttrs (prev: {
env = {
FILEPATH = "/var/pic";
};
});
2023-11-09 11:09:02 +01:00
};
in
{
2023-09-19 14:22:42 +02:00
nixosConfigurations = {
2023-11-26 12:47:58 +01:00
inherit system;
2024-06-05 18:32:01 +02:00
mailserver = nixpkgs.lib.nixosSystem {
2023-09-19 14:22:42 +02:00
modules = [
2023-09-20 12:38:25 +02:00
vpsadminos.nixosConfigurations.container
2024-04-05 15:37:20 +02:00
simple-nixos-mailserver.nixosModule
2024-04-05 11:59:44 +02:00
hosts.nixosModule
2023-09-19 14:22:42 +02:00
./mailserver
];
2023-11-09 11:09:02 +01:00
pkgs = import nixpkgs {
inherit system;
overlays = [ myOverlay ];
};
2023-09-19 14:22:42 +02:00
};
};
};
}