{ description = "Nydragon's system configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.home-manager.follows = "home-manager"; }; nysh = { url = "git+https://git.ccnlc.eu/nydragon/nysh.git"; inputs.nixpkgs.follows = "nixpkgs"; }; rustypaste = { url = "git+https://git.ccnlc.eu/Nydragon/flakey-rustypaste.git"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { imports = [ ./hosts ./parts ]; systems = [ "x86_64-linux" "aarch64-linux" ]; perSystem = { pkgs, inputs', ... }: { formatter = pkgs.nixfmt-rfc-style; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ pre-commit nixfmt-rfc-style nodePackages.prettier typos inputs'.agenix.packages.default ]; shellHook = '' ${pkgs.pre-commit}/bin/pre-commit install -f ''; }; }; }; }