1{ 2 description = "Gensokyo system configurations"; 3 4 nixConfig = { 5 extra-substituters = [ 6 "https://nonbunary.soopy.moe/gensokyo-global" 7 "https://nonbunary.soopy.moe/gensokyo-systems" 8 ]; 9 10 extra-trusted-public-keys = [ 11 "gensokyo-global:XiCN0D2XeSxF4urFYTprR+1Nr/5hWyydcETwZtPG6Ec=" 12 "gensokyo-systems:r/Wx649dPuQrCN9Pgh3Jic526zQNk3oWMqYJHnob/Ok=" 13 ]; 14 15 fallback = true; 16 }; 17 18 inputs = { 19 nixpkgs.url = "nixpkgs/master"; 20 21 home-manager = { 22 url = "github:nix-community/home-manager/release-23.05"; 23 inputs.nixpkgs.follows = "nixpkgs"; 24 }; 25 26 lanzaboote = { 27 url = "github:nix-community/lanzaboote/v0.3.0"; 28 inputs.nixpkgs.follows = "nixpkgs"; 29 }; 30 31 attic = { 32 url = "github:zhaofengli/attic"; 33 inputs.nixpkgs.follows = "nixpkgs"; 34 }; 35 mystia = { 36 url = "github:soopyc/mystia"; 37 inputs.nixpkgs.follows = "nixpkgs"; 38 }; 39 }; 40 41 outputs = { 42 nixpkgs, 43 home-manager, 44 ... 45 } @ inputs: let 46 _utils = import ./global/utils.nix {}; 47 lib = nixpkgs.lib; 48 49 systems = [ 50 "x86_64-linux" 51 "aarch64-linux" 52 "x86_64-darwin" 53 "aarch64-darwin" 54 ]; 55 forAllSystems = fn: lib.genAttrs systems (s: fn nixpkgs.legacyPackages.${s}); 56 in { 57 nixosConfigurations = { 58 koumakan = import ./systems/koumakan {inherit _utils lib inputs;}; 59 }; 60 61 devShells = forAllSystems (pkgs: { 62 default = pkgs.mkShell { 63 packages = [ 64 (pkgs.python311.withPackages (p: [p.requests])) 65 ]; 66 }; 67 }); 68 69 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; 70 }; 71}