fruitbasket/flake.nix

143 lines
4.5 KiB
Nix
Raw Normal View History

2022-03-04 16:40:11 +01:00
{
2022-09-06 17:16:31 +02:00
inputs = {
2023-12-14 15:07:02 +01:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
2024-03-05 15:10:20 +01:00
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
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";
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
, ...
}@inputs:
let
supportedSystems = [ "x86_64-linux" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
in
2023-05-25 22:58:14 +02: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-12 11:34:16 +01:00
formatters = forAllSystems (system: {
default = pkgs.${system}.nixpkgs-fmt;
});
hydraJobs = forAllSystems (system: {
quitte = self.packages.${system}.quitte;
});
2022-04-19 16:39:09 +02: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
2022-09-06 17:16:31 +02:00
./hosts/quitte/configuration.nix
2023-07-19 15:46:49 +02:00
./modules/bacula.nix
2022-12-17 19:12:41 +01:00
./modules/options.nix
2022-09-06 17:16:31 +02:00
./modules/base.nix
./modules/sops.nix
2023-07-04 15:56:50 +02:00
./modules/kpp.nix
2024-02-02 19:54:06 +01:00
./modules/ese-website.nix
2023-07-04 15:10:00 +02:00
./modules/ldap
2024-03-04 22:14:24 +01:00
./modules/sssd.nix
2023-09-04 13:14:05 +02:00
./modules/mail
2023-04-04 14:27:43 +02:00
./modules/mailman.nix
2024-02-02 19:54:06 +01:00
./modules/mysql.nix
2024-02-25 23:10:43 +01:00
./modules/nix-serve.nix
2022-09-06 17:16:31 +02:00
./modules/nginx.nix
# ./modules/hydra.nix
2023-06-30 13:57:21 +02:00
./modules/userdir.nix
2022-11-18 19:08:43 +01:00
./modules/hedgedoc.nix
2023-08-22 14:55:56 +02:00
./modules/padlist.nix
2023-08-21 11:40:56 +02:00
./modules/postgres.nix
2024-02-02 21:08:30 +01:00
./modules/wiki
2023-04-03 22:48:14 +02:00
./modules/ftp.nix
2023-10-15 11:35:37 +02:00
#./modules/stream.nix
2022-11-18 17:00:20 +01:00
./modules/nextcloud.nix
2022-12-17 19:11:37 +01:00
./modules/matrix.nix
./modules/mautrix-telegram.nix
2023-07-04 14:20:55 +02:00
./modules/vaultwarden.nix
2023-08-16 13:24:56 +02:00
./modules/website.nix
2023-07-19 15:01:47 +02:00
./modules/zsh.nix
./modules/course-management.nix
2023-09-27 15:08:12 +02:00
./modules/courses-phil.nix
2023-06-22 00:05:52 +02:00
./modules/gitea.nix
2023-10-04 18:49:12 +02:00
./modules/fail2ban.nix
2023-10-15 13:38:48 +02:00
./modules/kanboard.nix
./modules/infoscreen.nix
./modules/manual.nix
./modules/sharepic.nix
2023-11-17 18:18:35 +01:00
./modules/zammad.nix
2024-01-25 19:40:22 +01:00
./modules/initrd-ssh.nix
2024-02-02 19:54:06 +01:00
./modules/fsrewsp.nix
./modules/nightline.nix
2024-02-03 20:05:52 +01:00
./modules/decisions.nix
2024-02-03 20:48:34 +01:00
./modules/struktur-bot.nix
2022-09-06 17:16:31 +02:00
{
2023-12-14 15:51:52 +01:00
nixpkgs.overlays = [ self.overlays.default ];
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
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
2023-11-28 11:37:35 +01:00
./modules/base.nix
./modules/zsh.nix
2023-11-28 22:44:12 +01:00
./modules/fail2ban.nix
2023-12-12 12:57:47 +01:00
./modules/sssd.nix
{
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
};
}