{ description = "Declaratively update your data."; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; outputs = { self, nixpkgs, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; package = pkgs.stdenv.mkDerivation rec { pname = "fooud"; version = "1.0"; src = ./.; deps = pkgs.callPackage ./build.zig.zon.nix {}; nativeBuildInputs = [ pkgs.zig.hook pkgs.libgit2 pkgs.gpgme ]; zigBuildFlags = [ "--system" "${deps}" "-Doptimize=Debug" ]; }; in { lib = builtins.import ./lib.nix { pkgs = pkgs; }; nixosModules = rec { fooud = { pkgs, lib, config, inputs, ... }: { options.programs.fooud.enable = lib.mkEnableOption ("fooud") // { default = true; }; config = lib.mkIf config.programs.fooud.enable { environment.systemPackages = [ pkgs.libgit2 pkgs.gpgme pkgs.nix package ]; }; }; default = fooud; }; packages.${system} = rec { default = package; fooud = default; }; checks.${system}.build = let package = self.packages.${system}.default; in pkgs.runCommand "fooud-build" { buildInputs = [ pkgs.git pkgs.nix ]; } '' mkdir repo git -C repo init > /dev/null 2>&1 echo "hi" > repo/README.md git -C repo config user.email "you@example.com" > /dev/null 2>&1 git -C repo config user.name "Your Name" > /dev/null 2>&1 git -C repo add . > /dev/null 2>&1 git -C repo commit -m "initial commit" > /dev/null 2>&1 # this check won't succeed until I find a way to run a chroot store ${package}/bin/fooud --git repo --dest test ''; }; }