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";
inputs = {
# the main nix package collection
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
# home manager for dotfiles
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# noctalia shell
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
# nixvim
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{self, nixpkgs, home-manager, nixvim, ... }: let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: {
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
neon = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
};
default = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
# import host specific configs
./hosts/neon/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
./hosts/default/hardware-configuration.nix
./hosts/default/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
# User specific inputs
home-manager.users.aaron = {
imports = [
home-manager.users.aaron.imports = [
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
];
}
];
};