nixconfig/flake.nix

115 lines
2.6 KiB
Nix
Raw Normal View History

2023-04-12 20:32:07 +02:00
{
description = "SoraFlake";
2023-11-04 02:28:27 +01:00
2023-04-12 20:32:07 +02:00
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hardware.url = "github:nixos/nixos-hardware";
nur.url = "github:nix-community/nur";
2023-11-04 02:28:27 +01:00
2023-04-12 20:32:07 +02:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
2023-11-04 02:28:27 +01:00
};
2023-04-12 20:32:07 +02:00
darwin = {
url = "github:lnl7/nix-darwin/master";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-16 23:06:28 +01:00
hyprland = {
url = "github:hyprwm/Hyprland";
2023-11-04 02:28:27 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-16 23:06:28 +01:00
sops-nix = {
url = "github:Mic92/sops-nix";
2023-11-21 02:36:47 +01:00
inputs.nixpkgs.follows = "nixpkgs";
2023-11-16 23:06:28 +01:00
inputs.nixpkgs-stable.follows = "nixpkgs";
};
nix-colors.url = "github:misterio77/nix-colors";
2023-11-04 02:28:27 +01:00
2023-04-12 20:32:07 +02:00
};
2023-11-04 02:28:27 +01:00
outputs = inputs:
2023-11-16 23:06:28 +01:00
let
gen = import ./generator.nix { inherit inputs; };
forEachSystem =
inputs.nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
in {
devShells = forEachSystem (system:
let
overlays = import ./pkgs/overlay.nix { inherit pkgs; };
overrides = { custom = import ./pkgs { inherit pkgs; }; };
pkgs = import inputs.nixpkgs { inherit system overlays; }
// overrides;
in { default = import ./shells/vevsh { inherit pkgs; }; });
nixosConfigurations = {
valinor = gen.generate {
type = "nixos";
system = "x86_64-linux";
host = "valinor";
};
iriy = gen.generate {
type = "nixos";
system = "x86_64-linux";
host = "iriy";
};
efir = gen.generate {
type = "nixos";
system = "x86_64-linux";
host = "efir";
};
avalon = gen.generate {
type = "nixos";
system = "x86_64-linux";
host = "avalon";
};
2023-11-04 02:28:27 +01:00
2023-04-12 20:32:07 +02:00
};
2023-11-16 23:06:28 +01:00
darwinConfigurations = {
asgard = gen.generate {
type = "macos";
system = "x86_64-darwin";
host = "asgard";
};
};
homeConfigurations = {
yomi = gen.generate {
type = "home";
system = "arm-64";
host = "example";
};
example = gen.generate {
type = "home";
system = "-"; # supports any
host = "example";
2023-11-04 02:28:27 +01:00
};
2023-04-12 20:32:07 +02:00
};
};
2023-11-04 02:28:27 +01:00
# ===== Unsupported/NotImplemented ======
# menel - PI/ARM64
# ilduma - PI/ARM64
# daimoth - PI/ARM64
# gimle - ....
# ===== Unused ======
#
# naraka - ?
# diyu - ?
# tirnanog - ?
# valhalla - ?
# arcadia - ?
# elysium - ?
# empyrean - ?
# duat - ?
# sheol - ?
# adlivun - ?
# araf - ?
# aman/araman - ?
2023-04-12 20:32:07 +02:00
}