diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 72200724..296a3970 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -12,6 +12,5 @@ ./services/matcha.nix ./services/plover.nix ./services/yt-dlp.nix - ./tinted-theming.nix ]; } diff --git a/modules/home-manager/tinted-theming.nix b/modules/home-manager/tinted-theming.nix deleted file mode 120000 index 5c9d3a8b..00000000 --- a/modules/home-manager/tinted-theming.nix +++ /dev/null @@ -1 +0,0 @@ -../nixos/tinted-theming.nix \ No newline at end of file diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 025a12c0..6a00daa2 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -12,6 +12,5 @@ ./services/wezterm-mux-server.nix ./services/vouch-proxy.nix ./services/yt-dlp.nix - ./tinted-theming.nix ]; } diff --git a/modules/nixos/tinted-theming.nix b/modules/nixos/tinted-theming.nix deleted file mode 100644 index eff5d1ee..00000000 --- a/modules/nixos/tinted-theming.nix +++ /dev/null @@ -1,162 +0,0 @@ -# Essentially a derivative of nix-colors that closely follows Tinted Theming -# "standard" and can hold multiple palettes suitable for generating multiple -# configuration files for organization purposes. -{ config, lib, ... }: - -let - # This follows the schema of a Tinted Theming scheme. Its support for legacy - # Base16 theme is pretty awful for now. Anyways. this would allow a simple - # `lib.importYAML` and wam-bam-thank-you-mam. - schemeType = { name, config, lib, ... }: { - # This would allow extensions to the schema if the scheme author or the - # user wants to add some. - freeformType = with lib.types; attrsOf anything; - - options = { - # The builder will be the one to detect these properly. Though, we could - # also detect this ourselves as well... but with Nixlang? REALLY!?! - system = lib.mkOption { - type = with lib.types; nullOr (enum [ "base16" "base24" ]); - default = null; - example = "base24"; - description = '' - Indicates which system this scheme supports. This is mainly on the - builder to properly detect this. - ''; - }; - - author = lib.mkOption { - type = lib.types.nonEmptyStr; - default = "You"; - example = "Scheme Author"; - description = '' - The scheme author's readable name. - ''; - }; - - name = lib.mkOption { - type = lib.types.nonEmptyStr; - default = name; - example = "Bark on a tree"; - description = '' - The human-readable name of the scheme. - ''; - }; - - description = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - example = "Rusty theme inspired from the forestry (and Nord theme)."; - description = "A short description of the theme."; - }; - - variant = lib.mkOption { - type = with lib.types; nullOr (enum [ "dark" "light" ]); - default = null; - example = "light"; - description = '' - The variant of the theme. This is typically associated with already - existing standards such as the FreeDesktop appearance. - ''; - }; - - palette = lib.mkOption { - type = with lib.types; attrsOf ( - coercedTo str (lib.removePrefix "#") str - ); - default = { }; - example = { - base00 = "2b221f"; - base01 = "412c26"; - base02 = "5c362c"; - base03 = "a45b43"; - base04 = "e1bcb2"; - base05 = "f5ecea"; - base06 = "fefefe"; - base07 = "eb8a65"; - base08 = "d03e68"; - base09 = "df937a"; - base0A = "afa644"; - base0B = "85b26e"; - base0C = "eb914a"; - base0D = "c67f62"; - base0E = "8b7ab9"; - base0F = "7f3F83"; - }; - description = '' - A set of colors. For this module, we place a small additional - restriction in here that all attributes should be a string. It is - common to set colors in HTML hex format. - ''; - }; - }; - }; -in -{ - options.tinted-theming = { - templates = lib.mkOption { - type = with lib.types; attrsOf path; - default = { }; - example = lib.literalExpression '' - { - vim = pkgs.fetchFromGitHub { - owner = "tinted-theming"; - repo = "base16-vim"; - rev = "tinted-theming/base16-vim"; - hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; - }; - - helix = ./templates/helix; - } - ''; - description = '' - A set of templates for the specified builder to generate the - configuration files. - ''; - }; - - schemes = lib.mkOption { - type = with lib.types; attrsOf (submodule schemeType); - default = { }; - example = { - "bark-on-a-tree" = { - system = "base16"; - author = "Gabriel Arazas"; - description = '' - Rusty and woody theme inspired from forestry (and Nord theme). - ''; - variant = "dark"; - palette = rec { - background = base00; - foreground = base05; - base00 = "2b221f"; - base01 = "412c26"; - base02 = "5c362c"; - base03 = "a45b43"; - base04 = "e1bcb2"; - base05 = "f5ecea"; - base06 = "fefefe"; - base07 = "eb8a65"; - base08 = "d03e68"; - base09 = "df937a"; - base0A = "afa644"; - base0B = "85b26e"; - base0C = "eb914a"; - base0D = "c67f62"; - base0E = "8b7ab9"; - base0F = "7f3F83"; - }; - }; - }; - description = '' - A set of [Tinted Theming](https://github.com/tinted-theming) schemes. - You can set the palette to whatever criteria you deem suitable but - this module closely follows common formats with this theming ecosystem. - - The most common palette scheme is Base16 where the colors are set from - `base00` to `base0F`. Some themes could have 24-colors variant or have - additional meaningful names (e.g., `foreground`, `background`). - ''; - }; - }; -} diff --git a/modules/nixvim/default.nix b/modules/nixvim/default.nix index 0ac73c84..8cbae499 100644 --- a/modules/nixvim/default.nix +++ b/modules/nixvim/default.nix @@ -7,6 +7,5 @@ ./plugins/legendary-nvim.nix ./plugins/nvim-config-local.nix ./plugins/smart-splits.nix - ./tinted-theming.nix ]; } diff --git a/modules/nixvim/tinted-theming.nix b/modules/nixvim/tinted-theming.nix deleted file mode 120000 index 5c9d3a8b..00000000 --- a/modules/nixvim/tinted-theming.nix +++ /dev/null @@ -1 +0,0 @@ -../nixos/tinted-theming.nix \ No newline at end of file