{ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; # New flake-parts input flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; clan-core = { url = "git+https://git.clan.lol/clan/clan-core"; inputs.nixpkgs.follows = "nixpkgs"; # Needed if your configuration uses nixpkgs unstable. # New inputs.flake-parts.follows = "flake-parts"; }; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ self, pkgs, ... }: { # We define our own systems below. you can still use this to add system specific outputs to your flake. # See: https://flake.parts/getting-started systems = [ "x86_64-linux" ]; # import clan-core modules imports = [ inputs.clan-core.flakeModules.default ]; perSystem = { config, inputs', pkgs, ... }: { devShells.default = pkgs.mkShell { packages = [ inputs'.clan-core.packages.clan-cli ]; }; }; # Define your clan # See: https://docs.clan.lol/reference/nix-api/buildclan/ clan = { # Clan wide settings. (Required) meta.name = "cool-clan"; # Ensure to choose a unique name. machines = { }; }; }); }