Files
nixos/flake.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";
}
];
};
}
)
];
};
};
};
}