mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 04:58:01 +00:00
59 lines
1.8 KiB
Nix
59 lines
1.8 KiB
Nix
# All of the development-related shtick for this project is over here.
|
|
{ inputs, ... }: {
|
|
flake = {
|
|
lib = import ../../lib { lib = inputs.nixpkgs.lib; };
|
|
|
|
foodogsquaredLib = ../../lib;
|
|
};
|
|
|
|
perSystem = { config, lib, pkgs, ... }: {
|
|
apps = {
|
|
run-workflow-with-vm =
|
|
let
|
|
inputsArgs = lib.mapAttrsToList
|
|
(name: source:
|
|
let
|
|
name' = if (name == "self") then "config" else name;
|
|
in
|
|
"'${name'}=${source}'")
|
|
inputs;
|
|
script = pkgs.callPackage ../../apps/run-workflow-with-vm {
|
|
inputs = inputsArgs;
|
|
};
|
|
in
|
|
{
|
|
type = "app";
|
|
program = "${script}/bin/run-workflow-with-vm";
|
|
};
|
|
};
|
|
|
|
# No amount of formatters will make this codebase nicer but it sure does
|
|
# feel like it does.
|
|
formatter = pkgs.treefmt;
|
|
|
|
# My several development shells for usual type of projects. This is much
|
|
# more preferable than installing all of the packages at the system
|
|
# configuration (or even home environment).
|
|
devShells = import ../../shells { inherit pkgs; } // {
|
|
default = import ../../shell.nix {
|
|
inherit pkgs;
|
|
extraPackages = with pkgs; [
|
|
# Mozilla addons-specific tooling. Unfortunately, only available with
|
|
# flakes-based setups.
|
|
nur.repos.rycee.mozilla-addons-to-nix
|
|
];
|
|
};
|
|
website = import ../../docs/website/shell.nix { inherit pkgs; };
|
|
};
|
|
|
|
# Packages that are meant to be consumed inside of a development
|
|
# environment.
|
|
devPackages = {
|
|
inherit (import ../../docs { inherit pkgs; }) website;
|
|
};
|
|
|
|
# All of the typical devcontainers to be used.
|
|
devcontainers = import ../../devcontainers { inherit pkgs; };
|
|
};
|
|
}
|