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 36 sops-nix = { 37 url = "github:Mic92/sops-nix"; 38 inputs.nixpkgs.follows = "nixpkgs"; 39 }; 40 41 mystia = { 42 url = "github:soopyc/mystia"; 43 inputs.nixpkgs.follows = "nixpkgs"; 44 }; 45 }; 46 47 outputs = { 48 nixpkgs, 49 home-manager, 50 ... 51 } @ inputs: let 52 utils = import ./global/utils.nix; 53 lib = nixpkgs.lib; 54 55 systems = [ 56 "x86_64-linux" 57 "aarch64-linux" 58 "x86_64-darwin" 59 "aarch64-darwin" 60 ]; 61 forAllSystems = fn: lib.genAttrs systems (s: fn nixpkgs.legacyPackages.${s}); 62 in { 63 nixosConfigurations = { 64 koumakan = import ./systems/koumakan {inherit utils lib inputs;}; 65 }; 66 67 devShells = forAllSystems (pkgs: { 68 default = pkgs.mkShell { 69 packages = [ 70 (pkgs.python311.withPackages (p: [p.requests])) 71 ]; 72 }; 73 }); 74 75 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; 76 }; 77}