summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..7ec30ab
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,66 @@
+{
+ description = "teawie moment";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ pre-commit-hooks = {
+ url = "github:cachix/pre-commit-hooks.nix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ flake-compat = {
+ url = "github:edolstra/flake-compat";
+ flake = false;
+ };
+ flake-utils.url = "github:numtide/flake-utils";
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ pre-commit-hooks,
+ flake-compat,
+ flake-utils,
+ }: let
+ version = "0.0.1";
+ supportedSystems = with flake-utils.lib.system; [x86_64-linux x86_64-darwin aarch64-linux aarch64-darwin];
+ in
+ flake-utils.lib.eachSystem supportedSystems (system: let
+ pkgs = import nixpkgs {inherit system;};
+ in {
+ packages =
+ {
+ teawiebot = with pkgs;
+ python39Packages.buildPythonPackage {
+ pname = "teawiebot";
+ inherit version;
+ src = ./.;
+ format = "flit";
+ propagatedBuildInputs = with pkgs.python39Packages; [hatchling discordpy requests];
+ };
+ }
+ // {default = self.packages.${system}.teawiebot;};
+
+ checks = {
+ pre-commit-check = pre-commit-hooks.lib.${system}.run {
+ src = ./.;
+ hooks = {
+ isort.enable = true;
+ pylint.enable = true;
+ yapf = {
+ enable = true;
+ name = "yapf";
+ entry = "${pkgs.python39Packages.yapf}/bin/yapf -i";
+ types = ["file" "python"];
+ };
+ };
+ };
+ };
+
+ devShells = with pkgs; {
+ default = mkShell {
+ packages = with pkgs.python39Packages; [python39 discordpy flit pylint requests toml yapf];
+ inherit (self.checks.${system}.pre-commit-check) shellHook;
+ };
+ };
+ });
+}