{ nixConfig = { experimental-features = "nix-command flakes"; substitute = "true"; extra-substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; cores = 0; max-jobs = 2; netrc-file = "/home/thehedgehog/.netrc"; }; description = "PyroNet machines and services"; inputs = { flake-parts = { url = "github:hercules-ci/flake-parts"; }; nixpkgs.url = "https://nixpkgs.dev/channel/nixpkgs-unstable"; nixpkgs-stalwart-fix.url = "github:pyrox0/nixpkgs/fix/stalwart-module"; # Overrides flake-compat.url = "github:edolstra/flake-compat"; flake-utils = { url = "github:numtide/flake-utils"; }; # Inputs agenix = { url = "github:ryantm/agenix"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; }; buildbot-nix = { url = "github:nix-community/buildbot-nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-parts.follows = "flake-parts"; inputs.treefmt-nix.follows = ""; }; caelestia = { url = "github:caelestia-dots/shell"; inputs.nixpkgs.follows = "nixpkgs"; inputs.quickshell.follows = "quickshell"; }; ctp = { url = "github:catppuccin/nix"; }; dms = { url = "github:AvengeMedia/DankMaterialShell"; inputs.nixpkgs.follows = "nixpkgs"; }; # DMS Plugins dms-wp-shuffler = { url = "github:Daniel-42-z/dms-wallpaper-shuffler"; flake = false; }; dms-power-usage = { url = "github:Daniel-42-z/dms-power-usage"; flake = false; }; dms-plugins = { url = "github:AvengeMedia/dms-plugins"; flake = false; }; easy-hosts.url = "github:tgirlcloud/easy-hosts"; golink = { url = "github:tailscale/golink"; inputs.nixpkgs.follows = "nixpkgs"; }; hardware = { url = "github:nixos/nixos-hardware"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; my-pkgs = { url = "git+https://git.pyrox.dev/pyrox/pkgs"; inputs.nixpkgs.follows = "nixpkgs"; }; quickshell = { url = "github:quickshell-mirror/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; tangled = { url = "git+https://tangled.org/@tangled.org/core"; }; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { # Systems we want to build for systems = [ "x86_64-linux" ]; # Flake modules imports = [ inputs.easy-hosts.flakeModule inputs.home-manager.flakeModules.home-manager ./packages ./lib ./overlays ./devShells ./nixosModules ./homeModules ./templates ./hosts ]; # # Flake attributes # flake = { # # }; # Per-system stuff perSystem = { pkgs, system, ... }: { _module.args.pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.self.overlays.openssh-fixperms inputs.golink.overlays.default ]; config = { allowUnfree = true; }; }; formatter = pkgs.nixfmt; }; # Enable debugging for nixd debug = true; }; }