{ outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; imports = [ inputs.hercules-ci-effects.flakeModule ./assets ./hosts ./modules ./wrappers ./effects.nix ./pkgs ]; perSystem = { inputs', self', pkgs, lib, ... }: { devShells.default = pkgs.mkShellNoCC { packages = [ inputs'.agenix.packages.agenix inputs'.attic.packages.attic # TODO: Contribute darwin support to nh pkgs.nh ]; }; packages.base-packages = pkgs.symlinkJoin { name = "settei-base"; paths = with self'.packages; [ helix fish git-commit-last ]; }; # Re-export it for convenience and for caching packages.attic = inputs'.attic.packages.attic; formatter = pkgs.alejandra; }; }; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixpkgs-unstable"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; darwin = { url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.darwin.follows = "darwin"; inputs.home-manager.follows = "home-manager"; }; mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; inputs.nixpkgs.follows = "nixpkgs"; }; wrapper-manager = { url = "github:viperML/wrapper-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; wrapper-manager-hm-compat = { url = "github:nrabulinski/wrapper-manager-hm-compat"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; racket = { url = "github:nrabulinski/racket.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; hercules-ci-effects = { url = "github:hercules-ci/hercules-ci-effects"; }; conduit-src = { url = "gitlab:famedly/conduit?ref=next"; flake = false; }; nvidia-patch = { url = "github:arcnmx/nvidia-patch.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; crane = { url = "github:ipetkov/crane"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-darwin = { url = "github:bandithedoge/nixpkgs-firefox-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; niko-nur = { url = "github:nrabulinski/nur-packages"; }; attic = { url = "github:zhaofengli/attic"; inputs.nixpkgs.follows = "nixpkgs"; inputs.crane.follows = "crane"; }; }; nixConfig = { extra-substituters = [ "https://hyprland.cachix.org" "https://cache.garnix.io" "https://nix-community.cachix.org" "https://hercules-ci.cachix.org" "https://nrabulinski.cachix.org" "https://cache.nrab.lol/public" ]; extra-trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "hercules-ci.cachix.org-1:ZZeDl9Va+xe9j+KqdzoBZMFJHVQ42Uu/c/1/KMC5Lw0=" "nrabulinski.cachix.org-1:Q5FD7+1c68uH74CQK66UWNzxhanZW8xcg1LFXxGK8ic=" "public:wIIyvCTlsk39uwKlBFOuVY+BXrPY3lUNAEpDN4H+O0Q=" ]; }; }