2022-06-23 02:57:41 -04:00
|
|
|
{ config, lib, pkgs, ... }:
|
2022-09-04 01:59:56 -04:00
|
|
|
|
2022-06-23 02:57:41 -04:00
|
|
|
let
|
|
|
|
inherit (import ./lib.nix { inherit lib; inherit pkgs; }) nLib;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options = with lib; with nLib; {
|
|
|
|
nathan = {
|
2022-09-04 02:22:19 -04:00
|
|
|
# Programs, many of these will be generic
|
2022-06-23 02:57:41 -04:00
|
|
|
programs = {
|
|
|
|
# Utility modules
|
|
|
|
utils = {
|
|
|
|
# Core utililtes I want on every system
|
|
|
|
# Enabled by default
|
|
|
|
core = mkEnableOptionT "utils-core";
|
2022-07-08 23:52:26 -04:00
|
|
|
# Development utilities that can't be installed through home manager due to collisions
|
|
|
|
devel = mkDefaultOption "devel" config.nathan.config.isDesktop;
|
2022-06-23 02:57:41 -04:00
|
|
|
};
|
|
|
|
};
|
|
|
|
# General system configuration
|
2022-09-04 04:09:33 -04:00
|
|
|
config = {
|
|
|
|
# Name of the user to install
|
|
|
|
user = mkOption {
|
|
|
|
default = "nathan";
|
|
|
|
example = "nathan";
|
|
|
|
description = "Username to use for common configuration";
|
|
|
|
type = lib.types.str;
|
|
|
|
};
|
|
|
|
# Name of the user to install
|
|
|
|
email = mkOption {
|
|
|
|
default = "nathan@mccarty.io";
|
|
|
|
example = "nathan@mccarty.io";
|
|
|
|
description = "Email to use for common configuration";
|
|
|
|
type = lib.types.str;
|
|
|
|
};
|
|
|
|
# Is this system a desktop?
|
|
|
|
# Off by default
|
|
|
|
isDesktop = mkEnableOption "Desktop specific settings";
|
|
|
|
};
|
2022-06-23 02:57:41 -04:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|