aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..8c8d079
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,52 @@
+{
+ description = "Flake for running Garage as a NixOS container";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
+ nomad-driver-nix.url = "github:input-output-hk/nomad-driver-nix";
+ garage.url = "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?ref=nix-remove-system&rev=60c26fbc628d7b450ae39214b578ab6a30583d5c";
+ };
+
+ outputs = { self, nixpkgs, nomad-driver-nix, garage }: {
+ nixosConfigurations = {
+ garage = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ specialArgs.self = self;
+ modules = [
+ nomad-driver-nix.nixosModules.nix-driver-nomad
+ (nixpkgs + /nixos/modules/profiles/headless.nix)
+ (nixpkgs + /nixos/modules/profiles/minimal.nix)
+ (nixpkgs + /nixos/modules/misc/version.nix)
+ ({ lib, pkgs, self, config, ... }: {
+ nixpkgs.overlays = [ nomad-driver-nix.overlay ];
+ networking.hostName = lib.mkDefault "garage-nixos";
+
+ nix = {
+ settings.system-features = [ "recursive-nix" "nixos-test" ];
+ extraOptions = ''
+ experimental-features = nix-command flakes ca-references recursive-nix
+ '';
+ };
+
+ users.users = {
+ nixos = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" ];
+ initialHashedPassword = "";
+ };
+
+ root.initialHashedPassword = "";
+ };
+
+ security.sudo = {
+ enable = lib.mkDefault true;
+ wheelNeedsPassword = lib.mkForce false;
+ };
+
+ system.stateVersion = "22.11";
+ })
+ ];
+ };
+ };
+ };
+}