{ description = "A very basic flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; }; outputs = { self, nixpkgs, } @ inputs: let supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system}); in { # Formatter formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); # Packages packages = forAllSystems (system: { default = pkgs.${system}.poetry2nix.mkPoetryApplication {projectDir = self;}; }); # Dev Shell devShells = forAllSystems (system: { default = pkgs.${system}.mkShellNoCC { packages = with pkgs.${system}; [ (poetry2nix.mkPoetryEnv {projectDir = self;}) poetry mypy python310Packages.types-requests ]; }; }); # Run as apps apps = forAllSystems (system: { default = { program = "${self.packages.${system}.default}/bin/outage_detector"; type = "app"; }; }); # Home Manager Module # homeManagerModules.default = import ./nix/hm-module.nix self; # NixOS Module # nixosModules.default = import ./nix/module.nix inputs; }; }