diff --git a/flake.lock b/flake.lock index b2f066e..8e1531b 100644 --- a/flake.lock +++ b/flake.lock @@ -89,7 +89,8 @@ "base16": "base16", "home-manager": "home-manager", "nixpkgs": "nixpkgs_2", - "tt-schemes": "tt-schemes" + "tt-schemes": "tt-schemes", + "tt-terminal": "tt-terminal" } }, "tt-schemes": { @@ -107,6 +108,22 @@ "repo": "schemes", "type": "github" } + }, + "tt-terminal": { + "flake": false, + "locked": { + "lastModified": 1786840953, + "narHash": "sha256-R5U9KnrG5cARf90nw5e33Z4A4svwLTRv9qbvFAiAaAY=", + "owner": "tinted-theming", + "repo": "tinted-terminal", + "rev": "993a33342b053b1830e4ccb82448455991dcfd54", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-terminal", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9d4d09a..0b42623 100644 --- a/flake.nix +++ b/flake.nix @@ -28,8 +28,10 @@ nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ + ./theme.nix + { config.theming.theme = "catppuccin-mocha"; } base16.nixosModule - { scheme = "${inputs.tt-schemes}/base16/${theme}.yaml"; } + ({ config, ... }: { scheme = "${config.theming.theme}"; }) ./modules/hosts/nerv/configuration.nix home-manager.nixosModules.home-manager { @@ -37,9 +39,10 @@ home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; imports = [ + ./modules/home.nix ./modules/programs/emacs.nix ./modules/programs/niri.nix - ./modules/home.nix + ./modules/programs/foot.nix ]; } ]; diff --git a/modules/programs/foot.nix b/modules/programs/foot.nix index b9ffe1f..18acca0 100644 --- a/modules/programs/foot.nix +++ b/modules/programs/foot.nix @@ -4,13 +4,40 @@ inputs, ... }: +let + c = config.scheme; +in { home-manager.users.lucy.programs.foot = { enable = true; settings = { - } - ++ builtins.readFile (config.scheme inputs.tt-terminal); + colors-dark = { + background = c.base00; + foreground = c.base05; + + regular0 = c.base00; + regular1 = c.base08; + regular2 = c.base0B; + regular3 = c.base0A; + regular4 = c.base0D; + regular5 = c.base0E; + regular6 = c.base0C; + regular7 = c.base05; + + bright0 = c.base03; + bright1 = c.base08; + bright2 = c.base0B; + bright3 = c.base0A; + bright4 = c.base0D; + bright5 = c.base0E; + bright6 = c.base0C; + bright7 = c.base07; + + selection-foreground = c.base00; + selection-background = c.base05; + }; + }; }; } diff --git a/theme.nix b/theme.nix new file mode 100644 index 0000000..e4d0841 --- /dev/null +++ b/theme.nix @@ -0,0 +1,12 @@ +{ lib, inputs}: { + options.theming.theme = lib.mkOption { + type = lib.types.str; + apply = name: "${inputs.tt-schemes}/base16/${name}"; + }; + options.theming.font = lib.mkOption { + type = lib.types.str; + }; + options.theming.fontPackage = lib.mkOption { + type = lib.types.pkgs; + }; +}