mirror of Team/StarlightOS at forge.starlightnet.work
1{
2 description = "The Starlight OS";
3
4 inputs = {
5 security.url = "git+https://git.vulpecula.zone/tasiaiso/nixos-security";
6 nixpkgs.follows = "security/nixpkgs";
7
8 disko = {
9 url = "github:nix-community/disko";
10 inputs.nixpkgs.follows = "nixpkgs";
11 };
12 nixos-cli = {
13 url = "github:nix-community/nixos-cli";
14 inputs.nixpkgs.follows = "nixpkgs";
15 inputs.flake-compat.follows = "flake-compat";
16 # inputs.flake-parts.follows = "flake-parts";
17 inputs.optnix.follows = "optnix";
18 };
19 optnix = {
20 url = "github:water-sucks/optnix";
21 inputs.nixpkgs.follows = "nixpkgs";
22 inputs.flake-compat.follows = "flake-compat";
23 };
24 flake-compat = {
25 url = "github:edolstra/flake-compat";
26 };
27 };
28
29 outputs = {
30 self,
31 nixpkgs,
32 ...
33 } @ inputs: let
34 inherit (self) outputs;
35
36 defaultSpecialArgs = {
37 inherit self inputs outputs;
38 };
39 pkgs = nixpkgs.legacyPackages.x86_64-linux;
40 in {
41 packages.x86_64-linux = import ./pkgs {inherit pkgs inputs;};
42 # packages.aarch64-linux = import ./pkgs nixpkgs.legacyPackages.aarch64-linux // defaultSpecialArgs;
43
44 formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
45 formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
46
47 nixosConfigurations = {
48 slos =
49 nixpkgs.lib.nixosSystem {
50 system = "x86_64-linux";
51 specialArgs = defaultSpecialArgs;
52 modules = [
53 ./slos/configuration.nix
54 ];
55 };
56 installer =
57 nixpkgs.lib.nixosSystem {
58 system = "x86_64-linux";
59 specialArgs = defaultSpecialArgs;
60 modules = [
61 ./installer/configuration.nix
62 ];
63 };
64 };
65
66 hydraJobs = {
67 packages = self.packages.x86_64-linux;
68 hosts = {
69 # slos = self.nixosConfigurations.slos.config.system.build.toplevel;
70 installer = self.nixosConfigurations.installer.config.system.build.toplevel;
71 };
72 };
73 };
74}