feature(flake): simplyfi the flake and add a module system

This commit is contained in:
2025-12-28 18:40:36 +01:00
parent f8964775af
commit 4360fbed68

View File

@@ -2,73 +2,58 @@
description = "0x29a ecosystem NixOS flake"; description = "0x29a ecosystem NixOS flake";
inputs = { inputs = {
# the main nix package collection nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
# home manager for dotfiles
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# noctalia shell
noctalia = { noctalia = {
url = "github:noctalia-dev/noctalia-shell"; url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# nixvim
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = inputs@{self, nixpkgs, home-manager, nixvim, ... }: let outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: {
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
nixosConfigurations = { nixosConfigurations = {
# default config
default = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
};
modules = [
# import host specific configs
./hosts/default/configuration.nix
# import host specific hardware configs
./hosts/default/hardware-configuration.nix
];
};
# laptop neon default = nixpkgs.lib.nixosSystem {
neon = nixpkgs.lib.nixosSystem { system = "x86_64-linux";
inherit system; specialArgs = { inherit inputs; };
specialArgs = {
inherit inputs;
};
modules = [ modules = [
# import host specific configs ./hosts/default/hardware-configuration.nix
./hosts/neon/configuration.nix ./hosts/default/configuration.nix
# import host specific hardware configs
./hosts/neon/hardware-configuration.nix
# import noctalia shell configs
./hosts/neon/noctalia.nix
# import home-manager as a module
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
# User specific inputs home-manager.users.aaron.imports = [
home-manager.users.aaron = {
imports = [
nixvim.homeModules.nixvim nixvim.homeModules.nixvim
./hosts/neon/home.nix ./users/aaron/home.nix
];
}
]; ];
}; };
neon = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hosts/neon/hardware-configuration.nix
./hosts/neon/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
./users/aaron/home.nix
];
} }
]; ];
}; };