Define modules

This makes things a bit more robust against moving around files.
This commit is contained in:
larstvei 2026-02-22 00:04:35 +01:00
parent f652d2388f
commit 15da1edc1e
4 changed files with 42 additions and 19 deletions

View File

@ -27,19 +27,37 @@
outputs =
{
self,
darwin,
nixpkgs,
home-manager,
nix-rosetta-builder,
...
}@inputs:
let
sharedArgs = { inherit inputs self; };
in
{
nixosModules = {
base = ./modules/base;
nixos = ./modules/nixos;
graphical = ./modules/nixos/graphical;
};
homeModules = {
full = ./modules/home/full;
desktop = ./modules/desktop;
minimal = ./modules/home/minimal;
};
darwinModules = {
base = ./modules/darwin;
};
darwinConfigurations = {
larstvei-macbookpro = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = { inherit inputs; };
specialArgs = sharedArgs;
modules = [
home-manager.darwinModules.default
./machines/macbook
@ -51,7 +69,7 @@
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
specialArgs = sharedArgs;
modules = [
home-manager.nixosModules.default
./machines/thinkpad
@ -60,7 +78,7 @@
nixosConfigurations.vm-aarch64 = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
specialArgs = { inherit inputs; };
specialArgs = sharedArgs;
modules = [
home-manager.nixosModules.default
./machines/vm-aarch64

View File

@ -1,8 +1,13 @@
{ pkgs, inputs, ... }:
{
self,
pkgs,
inputs,
...
}:
{
imports = [
../../modules/base
../../modules/darwin
self.nixosModules.base
self.darwinModules.base
];
system.primaryUser = "larstvei";
@ -18,6 +23,6 @@
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs; };
users.larstvei.imports = [ ../../modules/home/full ];
users.larstvei.imports = [ self.homeModules.full ];
};
}

View File

@ -1,15 +1,16 @@
{ self, ... }:
{
imports = [
./keyboard
./hardware
../../modules/base
../../modules/nixos
../../modules/nixos/graphical
self.nixosModules.base
self.nixosModules.nixos
self.nixosModules.graphical
];
home-manager.users.larstvei.imports = [
../../modules/home/full
../../modules/desktop
self.homeModules.full
self.homeModules.desktop
];
services.gnome.gnome-keyring.enable = true;

View File

@ -1,14 +1,13 @@
{ self, ... }:
{
imports = [
./hardware
../../modules/base
../../modules/nixos
# ../../modules/nixos-graphical
self.nixosModules.base
self.nixosModules.nixos
];
home-manager.users.larstvei.imports = [
../../modules/home/minimal
# ../../modules/desktop
self.homeModules.minimal
];
networking.hostName = "larstvei-vm";