probably broken

This commit is contained in:
2025-12-31 12:24:43 -06:00
parent 0c1f0a4639
commit d8058560b1
158 changed files with 1198 additions and 423 deletions

251
flake.nix
View File

@@ -11,12 +11,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nix-on-droid = {
url = "github:nix-community/nix-on-droid";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
@@ -41,154 +35,151 @@
#nixvim.url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Moirai";
nixvim.url = "git+ssh://gitea@gitea.esotericbytes.com/Blunkall-Technologies/Moirai";
};
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
profiles = let
dir = builtins.readDir ./system/profiles;
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
in (builtins.listToAttrs
(builtins.map
(name: ({
inherit name;
value = { ... }: {
imports = [
./system
./system/profiles/${name}
];
};
})) filtered)
);
nixosConfigurations = {
homes = let
dir = builtins.readDir ./system/users;
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
in (builtins.listToAttrs
(builtins.map
(name: ({
inherit name;
value = { ... }: {
imports = [
./system/users/${name}/home-manager
];
};
})) filtered)
);
homebox = nixpkgs.lib.nixosSystem {
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
inherit self;
};
};
modules = [
./system-config/configuration/homebox
./system-config
];
};
laptop = nixpkgs.lib.nixosSystem {
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
inherit self;
};
};
modules = [
./system-config/configuration/laptop
./system-config
];
};
jesstop = nixpkgs.lib.nixosSystem {
specialArgs = {
inputs = inputs // {
};
};
modules = [
./system-config/configuration/jesstop
./system-config
];
};
pi4 = {
system = "aarch64-linux";
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
inherit self;
};
};
modules = [
./system-config/configuration/pi4
./system-config
];
};
live = nixpkgs.lib.nixosSystem {
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
inherit self;
};
};
modules = [
./system-config/configuration/live
./system-config
];
};
container = nixpkgs.lib.nixosSystem {
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
inherit self;
};
};
modules = [
./system-config/configuration/containers/nathan
./system-config
];
};
iso = nixpkgs.lib.nixosSystem {
iso = (nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
nathan = self.homes.nathan;
inherit self;
};
};
modules = [
./system-config/configuration/iso
./system-config
self.profiles.iso
];
};
};
}).config.system.build.isoImage;
templates = {
nixos = {
welcomeText = ''
#Welcome to Olympus!
Have Fun!
'';
description = ''
Generate this where you want your config.
'';
source = ./templates/nixos;
nixOnDroidConfigurations.default = inputs.nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = import nixpkgs {
system = "aarch64-linux";
overlays = [ inputs.nix-on-droid.overlays.default ];
};
modules = [
./system-config/configuration/android
];
home-manager = {
welcomeText = ''
#Welcome to Olympus!
Have Fun!
'';
description = ''
Generate this where you want your config.
'';
source = ./templates/home-manager;
extraSpecialArgs = {
inputs = inputs // {
nathan = import ./home-manager/users/nathan;
home-manager-config = import ./home-manager;
};
};
};
nix-on-droid = {
welcomeText = ''
#Welcome to Olympus!
Have Fun!
'';
homeConfigurations = {
nathan = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = builtins.currentSystem;
};
description = ''
Generate this where you want your config.
'';
modules = [
./home-manager
{
homeconfig = {
username = "nathan";
graphical = false;
minimal = false;
source = ./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.
'';
source = ./machines/${name};
};
}
];
extraSpecialArgs = {
inherit inputs;
};
};
})) 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.
'';
source = ./homes/${name};
};
})) filtered)
);
default = self.templates.nixos;
};
iso = self.nixosConfigurations.iso.config.system.build.isoImage;
};
}