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}