diff options
Diffstat (limited to 'global/common')
| -rw-r--r-- | global/common/default.nix | 6 | ||||
| -rw-r--r-- | global/common/modules/font.nix | 36 | ||||
| -rw-r--r-- | global/common/modules/userdata.nix | 26 | 
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"; +    }; +  }; +} | 
