Files
matrix/flake.nix

53 lines
1.4 KiB
Nix

{
description = "Flake to setup server using matrix communication protocol";
inputs = {
# stable and unstable nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# partitioning and disk management
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
# secret management
sops = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, nixpkgs-unstable, disko, sops, ... }@inputs: {
nixosConfigurations = {
# TODO replace hostname
matrix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
disko.nixosModules.disko
sops.nixosModules.sops
./nix/configuration.nix
./nix/disko.nix
];
specialArgs = { inherit inputs; };
};
};
# Add this section
checks.x86_64-linux = {
test1 = import ./nix/tests/test1.nix {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
};
};
# Development shell for working with the configuration
# execute: nix develop or use direnv
devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShell {
buildInputs = with nixpkgs.legacyPackages.x86_64-linux; [
# git
];
};
};
}