Begin Dendritic rewrite
This commit is contained in:
182
flake.nix
182
flake.nix
@@ -21,6 +21,9 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
|
||||
firefox-addons = {
|
||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
@@ -29,179 +32,22 @@
|
||||
|
||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||
|
||||
#simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.11";
|
||||
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||
|
||||
nixvim.url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Moirai";
|
||||
|
||||
aurora.url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Aurora";
|
||||
|
||||
self.submodules = true;
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
|
||||
|
||||
profiles = let
|
||||
dir = builtins.readDir ./profiles;
|
||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||
in (builtins.listToAttrs
|
||||
(builtins.map
|
||||
(name: ({
|
||||
inherit name;
|
||||
|
||||
value = { ... }: {
|
||||
imports = [
|
||||
./system
|
||||
./profiles/${name}
|
||||
];
|
||||
};
|
||||
})) filtered)
|
||||
);
|
||||
|
||||
homes = let
|
||||
dir = builtins.readDir ./homes;
|
||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||
in (builtins.listToAttrs
|
||||
(builtins.map
|
||||
(name: ({
|
||||
inherit name;
|
||||
|
||||
value = { ... } @ exputs: {
|
||||
imports = [ (import ./homes/${name}/home-manager (exputs // inputs)) ];
|
||||
};
|
||||
|
||||
})) filtered)
|
||||
);
|
||||
|
||||
iso = (nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inputs = inputs // {
|
||||
nathan = self.homes.nathan;
|
||||
inherit self;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
self.profiles.iso
|
||||
];
|
||||
}).config.system.build.isoImage;
|
||||
|
||||
templates = {
|
||||
nixos = {
|
||||
welcomeText = ''
|
||||
#Welcome to Olympus!
|
||||
Have Fun!
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Generate this where you want your config.
|
||||
'';
|
||||
|
||||
path = ./templates/nixos;
|
||||
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
welcomeText = ''
|
||||
#Welcome to Olympus!
|
||||
Have Fun!
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Generate this where you want your config.
|
||||
'';
|
||||
|
||||
path = ./templates/home-manager;
|
||||
|
||||
};
|
||||
|
||||
nix-on-droid = {
|
||||
welcomeText = ''
|
||||
#Welcome to Olympus!
|
||||
Have Fun!
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Generate this where you want your config.
|
||||
'';
|
||||
|
||||
path = ./templates/nix-on-droid;
|
||||
|
||||
};
|
||||
|
||||
machines = let
|
||||
dir = builtins.readDir ./machines;
|
||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||
in (builtins.listToAttrs
|
||||
(builtins.map
|
||||
(name: ({
|
||||
inherit name;
|
||||
|
||||
value = {
|
||||
welcomeText = ''
|
||||
#Welcome to Olympus!
|
||||
|
||||
##Warning:
|
||||
This is a config for ${name}, an established machine!
|
||||
It may require significant alterations to be usable!
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Generate this where you want your config.
|
||||
'';
|
||||
|
||||
path = ./machines/${name};
|
||||
};
|
||||
|
||||
})) filtered)
|
||||
);
|
||||
|
||||
homes = let
|
||||
dir = builtins.readDir ./homes;
|
||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||
in (builtins.listToAttrs
|
||||
(builtins.map
|
||||
(name: ({
|
||||
inherit name;
|
||||
|
||||
value = {
|
||||
welcomeText = ''
|
||||
#Welcome home, ${name}!
|
||||
Your config is right here.
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Generate this where you want your config.
|
||||
'';
|
||||
|
||||
path = ./homes/${name};
|
||||
};
|
||||
|
||||
})) filtered)
|
||||
);
|
||||
|
||||
default = self.templates.nixos;
|
||||
};
|
||||
|
||||
|
||||
nixosConfigurations = let
|
||||
dir = builtins.readDir ./machines;
|
||||
filtered = builtins.filter (x: dir.${x} == "directory" && x != "android") (builtins.attrNames dir);
|
||||
in (builtins.listToAttrs
|
||||
(builtins.map
|
||||
(name: ({
|
||||
inherit name;
|
||||
|
||||
value = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = inputs;
|
||||
|
||||
modules = [
|
||||
{ sysconfig.host = name; }
|
||||
./machines/${name}
|
||||
self.profiles.${name}
|
||||
];
|
||||
};
|
||||
|
||||
})) filtered)
|
||||
);
|
||||
};
|
||||
outputs = { ... } @ inputs:
|
||||
inputs.flake-parts.lib.mkFlake { inherit inputs; }
|
||||
(inputs.import-tree [
|
||||
./profiles
|
||||
./homes
|
||||
./machines
|
||||
./system
|
||||
./templates/default.nix
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user