rose-pine-nix/modules/home-manager/tmux.nix

50 lines
1 KiB
Nix
Raw Normal View History

2024-05-21 14:53:46 -07:00
{
config,
lib,
pkgs,
...
}:
let
2024-05-21 14:53:46 -07:00
inherit (lib)
ctp
mkOption
types
concatStrings
;
inherit (config.catppuccin) sources;
cfg = config.programs.tmux.catppuccin;
enable = cfg.enable && config.programs.tmux.enable;
feat: limit use of IFD, add auto updates & vm testing (#40) * feat(modules): remove unnecessary IFD by moving all upstream repos to our flake inputs, we no longer need to have [IFD](https://nixos.wiki/wiki/Import_From_Derivation) in most of our modules - making evaluation faster for all configurations. the only remaining instances of IFD are in `lib.ctp.toYAML` and the themes for kitty, which is due to it's use upstream in home-manager * ci: start auto updating flake inputs * ci: init basic vm tests * ci: rename ci to format * ci: use PAT for update-lock workflow this is required to run tests such as test-vm after the pull request is made * fix(home-manager): make sure to use readFile in helix module * ci: fix typo in test-vm * ci: use verbose logging in test-vm & enable kvm * docs: add flake inputs & vm testing to CONTRIBUTING.md * feat(modules)!: use nvfetcher for upstream sources * docs: add information about nvfetcher * chore: don't include flake-compat in flake inputs while this does make us lose out on easy updating, i think it's nice not have this as a required dependency for flake users * chore: update flake inputs Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f58889c07efa8e1328fdf93dc1796ec2a5c47f38' (2023-07-29) → 'github:nix-community/home-manager/48b0a30202516e25d9885525fbb200a045f23f26' (2023-11-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2a9d660ff0f7ffde9d73be328ee6e6f10ef66b28' (2023-07-28) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29) * chore: update nvfetcher sources * refactor: don't instantiate nixpkgs in flake + cleanup vm test * fix(home-manager): update paths from new lazygit theme revision * feat(lib)!: use constant module arguments automatically
2023-11-02 10:55:47 -07:00
plugin =
# TODO @getchoo: upstream this in nixpkgs
pkgs.tmuxPlugins.mkTmuxPlugin {
pluginName = "catppuccin";
version = builtins.substring 0 7 sources.tmux.revision;
feat: limit use of IFD, add auto updates & vm testing (#40) * feat(modules): remove unnecessary IFD by moving all upstream repos to our flake inputs, we no longer need to have [IFD](https://nixos.wiki/wiki/Import_From_Derivation) in most of our modules - making evaluation faster for all configurations. the only remaining instances of IFD are in `lib.ctp.toYAML` and the themes for kitty, which is due to it's use upstream in home-manager * ci: start auto updating flake inputs * ci: init basic vm tests * ci: rename ci to format * ci: use PAT for update-lock workflow this is required to run tests such as test-vm after the pull request is made * fix(home-manager): make sure to use readFile in helix module * ci: fix typo in test-vm * ci: use verbose logging in test-vm & enable kvm * docs: add flake inputs & vm testing to CONTRIBUTING.md * feat(modules)!: use nvfetcher for upstream sources * docs: add information about nvfetcher * chore: don't include flake-compat in flake inputs while this does make us lose out on easy updating, i think it's nice not have this as a required dependency for flake users * chore: update flake inputs Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f58889c07efa8e1328fdf93dc1796ec2a5c47f38' (2023-07-29) → 'github:nix-community/home-manager/48b0a30202516e25d9885525fbb200a045f23f26' (2023-11-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2a9d660ff0f7ffde9d73be328ee6e6f10ef66b28' (2023-07-28) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29) * chore: update nvfetcher sources * refactor: don't instantiate nixpkgs in flake + cleanup vm test * fix(home-manager): update paths from new lazygit theme revision * feat(lib)!: use constant module arguments automatically
2023-11-02 10:55:47 -07:00
src = sources.tmux;
};
2023-04-18 17:01:16 -07:00
in
{
options.programs.tmux.catppuccin = ctp.mkCatppuccinOpt { name = "tmux"; } // {
2024-05-21 14:53:46 -07:00
extraConfig = mkOption {
type = types.lines;
description = "Additional configuration for the catppuccin plugin.";
default = "";
example = ''
set -g @catppuccin_status_modules_right "application session user host date_time"
'';
};
2024-05-21 14:53:46 -07:00
};
config.programs.tmux.plugins = lib.mkIf enable [
{
inherit plugin;
extraConfig = concatStrings [
''
set -g @catppuccin_flavour '${cfg.flavor}'
''
cfg.extraConfig
];
}
];
}