summaryrefslogtreecommitdiff
path: root/global/common
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2024-06-03 20:50:58 +0530
committersinanmohd <sinan@sinanmohd.com>2024-06-03 21:25:00 +0530
commitd4f7650cd0735d1fe9173530cc31c24b65ed44ff (patch)
tree82086000936fed44120734ce2308207478d73954 /global/common
parent279ff6251173e161cc50d8ae03cb3cd2e90a61a4 (diff)
global/font: init
Diffstat (limited to 'global/common')
-rw-r--r--global/common/default.nix6
-rw-r--r--global/common/modules/font.nix36
-rw-r--r--global/common/modules/userdata.nix26
3 files changed, 68 insertions, 0 deletions
diff --git a/global/common/default.nix b/global/common/default.nix
new file mode 100644
index 0000000..329963d
--- /dev/null
+++ b/global/common/default.nix
@@ -0,0 +1,6 @@
+{ ... }: {
+ imports = [
+ ./modules/font.nix
+ ./modules/userdata.nix
+ ];
+}
diff --git a/global/common/modules/font.nix b/global/common/modules/font.nix
new file mode 100644
index 0000000..cf0ea61
--- /dev/null
+++ b/global/common/modules/font.nix
@@ -0,0 +1,36 @@
+{ pkgs, lib, ... }: let
+ name = {
+ type = lib.types.str;
+ example = "Terminess Nerd Font";
+ };
+ size = {
+ type = with lib.types; nullOr int;
+ default = null;
+ };
+ packages = {
+ type = with lib.types; listOf path;
+ example = "[ pkgs.terminus-nerdfont ]";
+ };
+in {
+ options.global.font = {
+ sans = {
+ size = lib.mkOption size;
+ name = lib.mkOption (name // {
+ default = "DeepMind Sans";
+ });
+ packages = lib.mkOption (packages // {
+ default = [ pkgs.dm-sans ];
+ });
+ };
+
+ monospace = {
+ size = lib.mkOption size;
+ name = lib.mkOption (name // {
+ default = "Terminess Nerd Font";
+ });
+ packages = lib.mkOption (packages // {
+ default = [ pkgs.terminus-nerdfont ];
+ });
+ };
+ };
+}
diff --git a/global/common/modules/userdata.nix b/global/common/modules/userdata.nix
new file mode 100644
index 0000000..d591920
--- /dev/null
+++ b/global/common/modules/userdata.nix
@@ -0,0 +1,26 @@
+{ config, lib, ... }: let
+ cfg = config.global.userdata;
+in {
+ options.global.userdata = {
+ name = lib.mkOption {
+ type = lib.types.str;
+ default = "sinan";
+ description = "Owner's username";
+ };
+ nameFq = lib.mkOption {
+ type = lib.types.str;
+ default = "sinanmohd";
+ description = "Owner's fully qualified username";
+ };
+ domain = lib.mkOption {
+ type = lib.types.str;
+ default = "sinanmohd.com";
+ description = "Owner's domain";
+ };
+ email = lib.mkOption {
+ type = lib.types.str;
+ default = "${cfg.name}@${cfg.domain}";
+ description = "Owner's email";
+ };
+ };
+}