348 lines
9.1 KiB
Nix
348 lines
9.1 KiB
Nix
{
|
|
description = "My flake for my infrastructure";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.05";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
|
comin = {
|
|
url = "github:nlewo/comin";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
nixpkgs,
|
|
...
|
|
}@inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
lib = nixpkgs.lib;
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
pkgsUnstable = import inputs.nixpkgs-unstable {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
in
|
|
{
|
|
# this allows you to access `pkgsUnstable` anywhere in your config
|
|
_module.args.pkgsUnstable = import inputs.nixpkgsUnstable {
|
|
inherit (pkgs.stdenv.hostPlatform) system;
|
|
inherit (nixpkgs) config;
|
|
};
|
|
|
|
nixosConfigurations = {
|
|
app-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "app-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
borg-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "borg-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
db-mdb11 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "db-mdb11";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
db-pg17 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "db-pg17";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
fs-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "fs-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
gms-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "gms-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
hel-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "hel-01";
|
|
stateversion = "23.11";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
log-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "log-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
nbg-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "nbg-01";
|
|
stateversion = "23.11";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
print-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "print-01";
|
|
stateversion = "25.05";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
|
|
test-nixos = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "test-nixos";
|
|
stateversion = "24.11";
|
|
};
|
|
modules = [ ./configuration.nix ];
|
|
};
|
|
|
|
web-01 = lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgsUnstable;
|
|
hostname = "web-01";
|
|
stateversion = "";
|
|
};
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.comin.nixosModules.comin
|
|
(
|
|
{ ... }:
|
|
{
|
|
services.comin = {
|
|
enable = true;
|
|
remotes = [
|
|
{
|
|
name = "origin";
|
|
url = "https://git.its-et.me/etorres/nixos.git";
|
|
branches.main.name = "main";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
)
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|