# zlib license
#
# Copyright (c) 2024 ona-li-toki-e-jan-Epiphany-tawa-mi
#
# This software is provided ‘as-is’, without any express or implied
# warranty. In no event will the authors be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
#
# 2. Altered source versions must be plainly marked as such, and must not be
# misrepresented as being the original software.
#
# 3. This notice may not be removed or altered from any source
# distribution.

{
  description = "Brainblast-Toolkit development environment";

  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";

  outputs = { nixpkgs, ... }:
    let inherit (nixpkgs.lib) genAttrs systems;

        forSystems = f: genAttrs systems.flakeExposed (system: f {
          pkgs = import nixpkgs { inherit system; };
        });
    in {
      devShells = forSystems ({ pkgs, ... }:
        let inherit (pkgs) buildFHSEnv;
        in {
          default = (buildFHSEnv {
            name = "brainblast-toolkit-build-environment";

            targetPkgs = pkgs: with pkgs; [
              cc65

              vice
              x16-emulator x16-rom
              atari800
            ];
          }).env;
      });
    };
}
