2022-03-04 16:40:11 +01:00
|
|
|
{
|
2022-09-06 17:16:31 +02:00
|
|
|
inputs = {
|
2024-06-16 18:12:57 +02:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
2023-12-14 15:07:02 +01:00
|
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
2022-03-04 16:40:11 +01:00
|
|
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
2023-09-19 16:03:41 +02:00
|
|
|
nix-index-database.url = "github:nix-community/nix-index-database";
|
|
|
|
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
2023-07-04 15:56:50 +02:00
|
|
|
kpp.url = "github:fsr/kpp";
|
|
|
|
kpp.inputs.nixpkgs.follows = "nixpkgs";
|
2024-01-29 14:51:37 +01:00
|
|
|
print-interface = {
|
|
|
|
url = "github:fsr/print-interface";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-10-23 10:27:30 +02:00
|
|
|
ese-manual.url = "git+https://git.ifsr.de/ese/manual-website";
|
|
|
|
ese-manual.inputs.nixpkgs.follows = "nixpkgs";
|
2024-01-01 17:21:33 +01:00
|
|
|
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
2023-10-23 10:27:30 +02:00
|
|
|
|
2023-06-08 13:34:45 +02:00
|
|
|
course-management = {
|
|
|
|
url = "github:fsr/course-management";
|
2024-11-04 21:20:39 +01:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-06-08 13:34:45 +02:00
|
|
|
};
|
2024-08-26 13:53:44 +02:00
|
|
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
|
|
|
nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";
|
2022-03-04 16:40:11 +01:00
|
|
|
};
|
2024-01-29 14:51:37 +01:00
|
|
|
outputs =
|
|
|
|
{ self
|
|
|
|
, nixpkgs
|
|
|
|
, sops-nix
|
|
|
|
, nix-index-database
|
|
|
|
, kpp
|
|
|
|
, ese-manual
|
|
|
|
, vscode-server
|
|
|
|
, course-management
|
|
|
|
, print-interface
|
2024-08-26 13:53:44 +02:00
|
|
|
, nix-minecraft
|
2024-01-29 14:51:37 +01:00
|
|
|
, ...
|
|
|
|
}@inputs:
|
2024-03-02 18:50:08 +01:00
|
|
|
let
|
|
|
|
supportedSystems = [ "x86_64-linux" ];
|
|
|
|
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
|
|
|
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
|
2024-07-22 18:05:26 +02:00
|
|
|
|
2024-03-02 18:50:08 +01:00
|
|
|
in
|
2023-05-25 22:58:14 +02:00
|
|
|
{
|
2024-03-02 18:50:08 +01:00
|
|
|
packages = forAllSystems (system: rec {
|
|
|
|
default = quitte;
|
|
|
|
quitte = self.nixosConfigurations.quitte.config.system.build.toplevel;
|
|
|
|
tomate = self.nixosConfigurations.tomate.config.system.build.toplevel;
|
|
|
|
});
|
2024-03-28 18:06:41 +01:00
|
|
|
formatter = forAllSystems (system: pkgs.${system}.nixpkgs-fmt);
|
2024-03-02 18:50:08 +01:00
|
|
|
hydraJobs = forAllSystems (system: {
|
|
|
|
quitte = self.packages.${system}.quitte;
|
|
|
|
});
|
2022-04-19 16:39:09 +02:00
|
|
|
|
2024-03-02 18:50:08 +01:00
|
|
|
devShells = forAllSystems (system: {
|
|
|
|
default = pkgs.${system}.mkShell {
|
|
|
|
packages = with pkgs.${system}; [
|
|
|
|
sops
|
|
|
|
];
|
|
|
|
};
|
|
|
|
});
|
2023-12-14 15:51:52 +01:00
|
|
|
overlays.default = import ./overlays;
|
2022-09-06 17:16:31 +02:00
|
|
|
nixosConfigurations = {
|
2024-03-05 15:10:20 +01:00
|
|
|
quitte = nixpkgs.lib.nixosSystem rec {
|
2022-09-06 17:16:31 +02:00
|
|
|
system = "x86_64-linux";
|
2024-03-05 15:10:20 +01:00
|
|
|
specialArgs = inputs // { inherit system; };
|
2022-09-06 17:16:31 +02:00
|
|
|
modules = [
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
2023-07-04 15:56:50 +02:00
|
|
|
inputs.kpp.nixosModules.default
|
2023-09-19 16:03:41 +02:00
|
|
|
inputs.nix-index-database.nixosModules.nix-index
|
2023-10-23 10:27:30 +02:00
|
|
|
ese-manual.nixosModules.default
|
2023-06-08 13:34:45 +02:00
|
|
|
course-management.nixosModules.default
|
2024-01-01 17:21:33 +01:00
|
|
|
vscode-server.nixosModules.default
|
2024-08-26 13:53:44 +02:00
|
|
|
nix-minecraft.nixosModules.minecraft-servers
|
2022-09-06 17:16:31 +02:00
|
|
|
./hosts/quitte/configuration.nix
|
2024-03-12 12:06:21 +01:00
|
|
|
./options
|
2024-02-02 19:54:06 +01:00
|
|
|
|
2024-03-12 12:03:29 +01:00
|
|
|
./modules/core
|
2023-07-04 15:10:00 +02:00
|
|
|
./modules/ldap
|
2023-09-04 13:14:05 +02:00
|
|
|
./modules/mail
|
2024-03-12 11:49:01 +01:00
|
|
|
./modules/web
|
2024-03-12 12:11:44 +01:00
|
|
|
./modules/courses
|
2024-03-12 12:34:20 +01:00
|
|
|
./modules/wiki
|
|
|
|
./modules/matrix
|
2024-07-22 13:26:53 +02:00
|
|
|
./modules/minecraft
|
2024-08-31 22:15:42 +02:00
|
|
|
./modules/keycloak
|
2024-11-08 11:16:21 +01:00
|
|
|
./modules/monitoring
|
2024-03-12 11:49:01 +01:00
|
|
|
|
2024-02-25 23:10:43 +01:00
|
|
|
./modules/nix-serve.nix
|
2022-11-18 19:08:43 +01:00
|
|
|
./modules/hedgedoc.nix
|
2023-08-22 14:55:56 +02:00
|
|
|
./modules/padlist.nix
|
2022-11-18 17:00:20 +01:00
|
|
|
./modules/nextcloud.nix
|
2023-07-04 14:20:55 +02:00
|
|
|
./modules/vaultwarden.nix
|
2024-04-11 15:25:04 +02:00
|
|
|
./modules/forgejo
|
2023-10-15 13:38:48 +02:00
|
|
|
./modules/kanboard.nix
|
2023-11-17 18:18:35 +01:00
|
|
|
./modules/zammad.nix
|
2024-09-28 10:48:10 +02:00
|
|
|
# ./modules/decisions.nix
|
2024-08-31 13:48:18 +02:00
|
|
|
./modules/stream.nix
|
2024-05-19 11:15:07 +02:00
|
|
|
# ./modules/struktur-bot.nix
|
2022-09-06 17:16:31 +02:00
|
|
|
{
|
2024-08-26 13:53:44 +02:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
self.overlays.default
|
|
|
|
nix-minecraft.overlay
|
|
|
|
];
|
2022-11-11 16:37:17 +01:00
|
|
|
sops.defaultSopsFile = ./secrets/quitte.yaml;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-11-28 11:37:35 +01:00
|
|
|
tomate = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = inputs;
|
|
|
|
modules = [
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
2023-11-28 11:42:50 +01:00
|
|
|
inputs.nix-index-database.nixosModules.nix-index
|
2024-01-02 14:28:58 +01:00
|
|
|
vscode-server.nixosModules.default
|
2024-01-29 14:51:37 +01:00
|
|
|
print-interface.nixosModules.default
|
2023-11-28 11:42:50 +01:00
|
|
|
./hosts/tomate/configuration.nix
|
2024-03-12 12:03:29 +01:00
|
|
|
./modules/core/base.nix
|
|
|
|
./modules/core/zsh.nix
|
|
|
|
./modules/core/sssd.nix
|
2023-12-12 12:57:47 +01:00
|
|
|
{
|
|
|
|
sops.defaultSopsFile = ./secrets/tomate.yaml;
|
|
|
|
}
|
2023-11-28 11:37:35 +01:00
|
|
|
];
|
|
|
|
};
|
2022-08-16 14:20:36 +02:00
|
|
|
};
|
2022-03-04 16:40:11 +01:00
|
|
|
};
|
|
|
|
}
|