2023-06-01 14:39:07 -05:00
|
|
|
{
|
2023-06-27 13:01:30 -05:00
|
|
|
description = "eve-psr-nix0 - Home Server";
|
|
|
|
|
2023-06-09 14:24:51 -05:00
|
|
|
inputs = {
|
2024-12-05 09:19:27 -06:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-24.11";
|
2023-06-25 20:49:00 -05:00
|
|
|
agenix = {
|
|
|
|
url = "github:ryantm/agenix";
|
2023-06-09 14:24:51 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-06-25 20:49:00 -05:00
|
|
|
inputs.darwin.follows = "";
|
2023-06-27 20:21:45 -05:00
|
|
|
inputs.home-manager.follows = "";
|
2023-06-09 14:24:51 -05:00
|
|
|
};
|
2023-06-27 13:01:30 -05:00
|
|
|
nix-serve-ng = {
|
|
|
|
url = github:aristanetworks/nix-serve-ng;
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-07-01 18:30:30 -05:00
|
|
|
parts.url = "github:hercules-ci/flake-parts";
|
2023-06-09 14:24:51 -05:00
|
|
|
};
|
|
|
|
|
2023-07-01 20:43:20 -05:00
|
|
|
outputs = inputs@{ self, agenix, nix-serve-ng, nixpkgs, parts, ... }:
|
2023-07-01 18:30:30 -05:00
|
|
|
parts.lib.mkFlake { inherit inputs; } {
|
|
|
|
systems =
|
|
|
|
[ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
2023-06-30 19:35:17 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
perSystem = { config, self', inputs', pkgs, system, ... }:
|
|
|
|
let
|
|
|
|
shell = import ./nix/shell.nix { inherit inputs' agenix pkgs; };
|
|
|
|
in
|
|
|
|
{
|
|
|
|
devShells.default = shell.dev;
|
|
|
|
formatter = pkgs.nixpkgs-fmt;
|
|
|
|
};
|
2023-06-25 13:27:19 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
flake =
|
|
|
|
let
|
|
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
system = "x86_64-linux";
|
|
|
|
in
|
|
|
|
{
|
2023-06-09 14:24:51 -05:00
|
|
|
inherit system;
|
2023-06-25 13:27:19 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
nixosConfigurations = {
|
|
|
|
eve-psr-nix0 = nixpkgs.lib.nixosSystem {
|
|
|
|
inherit system;
|
|
|
|
specialArgs = inputs;
|
|
|
|
modules = [
|
|
|
|
({ modulesPath, ... }: {
|
2023-06-09 14:24:51 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
imports = [
|
|
|
|
agenix.nixosModules.default
|
|
|
|
nix-serve-ng.nixosModules.default
|
2023-06-26 20:05:48 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/application/containers.nix
|
2024-02-24 12:01:51 -06:00
|
|
|
./nix/application/miniflux.nix
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/application/nginx.nix
|
2024-08-14 22:19:20 -05:00
|
|
|
./nix/application/postgresql.nix
|
2023-06-26 20:05:48 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/monitoring/nginx.nix
|
|
|
|
./nix/monitoring/grafana.nix
|
|
|
|
./nix/monitoring/prometheus.nix
|
2023-06-25 13:27:19 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/system/age.nix
|
2024-08-14 22:19:20 -05:00
|
|
|
./nix/system/backups.nix
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/system/dns.nix
|
|
|
|
./nix/system/hardware.nix
|
|
|
|
./nix/system/nix-conf.nix
|
2023-09-11 19:52:03 -05:00
|
|
|
./nix/system/network.nix
|
2023-09-14 18:25:30 -05:00
|
|
|
./nix/system/overlays.nix
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/system/security.nix
|
|
|
|
./nix/system/system.nix
|
|
|
|
./nix/system/virtualisation.nix
|
2024-12-05 09:19:27 -06:00
|
|
|
./nix/system/wireguard.nix
|
2023-06-09 14:24:51 -05:00
|
|
|
|
2023-07-01 18:30:30 -05:00
|
|
|
./nix/user/users.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
system.stateVersion = "22.11";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2023-06-09 14:24:51 -05:00
|
|
|
};
|
2023-06-01 14:39:07 -05:00
|
|
|
};
|
|
|
|
}
|