66 lines
1.8 KiB
Nix
66 lines
1.8 KiB
Nix
{
|
|
description = "Dibbler samspleisebod";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
outputs = { self, nixpkgs, flake-utils }: let
|
|
inherit (nixpkgs) lib;
|
|
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
|
|
forAllSystems = f: lib.genAttrs systems (system: let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in f system pkgs);
|
|
in {
|
|
packages = forAllSystems (system: pkgs: {
|
|
default = self.packages.${system}.dibbler;
|
|
dibbler = pkgs.callPackage ./nix/dibbler.nix {
|
|
python3Packages = pkgs.python312Packages;
|
|
};
|
|
skrot = self.nixosConfigurations.skrot.config.system.build.sdImage;
|
|
});
|
|
|
|
apps = forAllSystems (system: pkgs: {
|
|
default = self.apps.${system}.dibbler;
|
|
dibbler = flake-utils.lib.mkApp {
|
|
drv = self.packages.${system}.dibbler;
|
|
};
|
|
});
|
|
|
|
overlays = {
|
|
default = self.overlays.dibbler;
|
|
dibbler = final: prev: {
|
|
inherit (self.packages.${prev.system}) dibbler;
|
|
};
|
|
};
|
|
|
|
devShells = forAllSystems (system: pkgs: {
|
|
default = self.devShells.${system}.dibbler;
|
|
dibbler = pkgs.callPackage ./nix/shell.nix {
|
|
python = pkgs.python312;
|
|
};
|
|
});
|
|
|
|
# Note: using the module requires that you have applied the overlay first
|
|
nixosModules.default = import ./nix/module.nix;
|
|
|
|
nixosConfigurations.skrot = nixpkgs.lib.nixosSystem (rec {
|
|
system = "aarch64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [ self.overlays.dibbler ];
|
|
};
|
|
modules = [
|
|
(nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64.nix")
|
|
self.nixosModules.default
|
|
./nix/skrott.nix
|
|
];
|
|
});
|
|
};
|
|
}
|