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