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 = outputs =
{ {
self,
darwin, darwin,
nixpkgs, nixpkgs,
home-manager, home-manager,
nix-rosetta-builder, nix-rosetta-builder,
... ...
}@inputs: }@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 = { darwinConfigurations = {
larstvei-macbookpro = darwin.lib.darwinSystem { larstvei-macbookpro = darwin.lib.darwinSystem {
system = "aarch64-darwin"; system = "aarch64-darwin";
specialArgs = sharedArgs;
specialArgs = { inherit inputs; };
modules = [ modules = [
home-manager.darwinModules.default home-manager.darwinModules.default
./machines/macbook ./machines/macbook
@ -51,7 +69,7 @@
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem { nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = sharedArgs;
modules = [ modules = [
home-manager.nixosModules.default home-manager.nixosModules.default
./machines/thinkpad ./machines/thinkpad
@ -60,7 +78,7 @@
nixosConfigurations.vm-aarch64 = nixpkgs.lib.nixosSystem { nixosConfigurations.vm-aarch64 = nixpkgs.lib.nixosSystem {
system = "aarch64-linux"; system = "aarch64-linux";
specialArgs = { inherit inputs; }; specialArgs = sharedArgs;
modules = [ modules = [
home-manager.nixosModules.default home-manager.nixosModules.default
./machines/vm-aarch64 ./machines/vm-aarch64

View File

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

View File

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

View File

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