Allow for autoloading modules

Autoloads files within modules/ and makes them available by their module
type and name, e.g. `mixins-zsh`, `editor-nvim` and `users-opdavies`
when imported with `inputs.self.nixosModules`.

Based on afab322e6d/modules/default.nix.

This assumes there will be a modules/*.nix file and currently doesn't
work with modules/*/default.nix. This is something I'd like to add in
the future.

I also want find a cleaner way to pass arguments into these shortcuts as
this also doesn't work in their implementation as far as I can see.
This commit is contained in:
Oliver Davies 2025-04-10 08:56:11 +01:00
parent 797d1206b0
commit eea806e0f8
16 changed files with 140 additions and 63 deletions

View file

@ -1,12 +0,0 @@
let
username = "eric";
in
{
users.users.${username} = {
description = "Eric Davies";
extraGroups = [ ];
initialPassword = "eric";
isNormalUser = true;
packages = [ ];
};
}

View file

@ -1,12 +0,0 @@
let
username = "luke";
in
{
users.users.${username} = {
description = "Luke Davies";
extraGroups = [ ];
initialPassword = username;
isNormalUser = true;
packages = [ ];
};
}

View file

@ -1,29 +0,0 @@
{ lib, pkgs, ... }:
with lib;
{
users.users.opdavies = {
description = "Oliver Davies";
initialPassword = "opdavies";
isNormalUser = true;
extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [
qrencode
];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcR57U61CmPbV/QlaqeBZh3SNmWPGC7rhJpt1Ds3d3N"
];
};
age.identityPaths = [
"/home/opdavies/.ssh/id_rsa"
];
}