1{
2 pkgs,
3 lib,
4 config,
5 inputs,
6 system,
7 ...
8}:
9let
10 cfg = config.py.profiles.cli;
11 inherit (lib) mkEnableOption mkDefault mkIf;
12in
13{
14 options.py.profiles.cli.enable = mkEnableOption "CLI Profile";
15 config = mkIf cfg.enable {
16 py.programs = {
17 bat.enable = mkDefault true;
18 direnv.enable = mkDefault true;
19 fish.enable = mkDefault true;
20 fzf.enable = mkDefault true;
21 git = {
22 enable = mkDefault true;
23 gh.enable = mkDefault true;
24 lazygit.enable = mkDefault true;
25 };
26 gpg.enable = mkDefault true;
27 helix.enable = mkDefault true;
28 nix-index.enable = mkDefault true;
29 nushell.enable = mkDefault true;
30 pandoc.enable = mkDefault true;
31 ssh.enable = mkDefault true;
32 starship.enable = mkDefault true;
33 wakatime.enable = mkDefault true;
34 zoxide.enable = mkDefault true;
35 };
36 catppuccin = {
37 btop.enable = true;
38 glamour.enable = true;
39 };
40 programs = {
41 eza = {
42 enable = true;
43 icons = "auto";
44 git = true;
45 enableBashIntegration = false;
46 enableIonIntegration = false;
47 };
48 btop = {
49 enable = true;
50 };
51 };
52 xdg.configFile = {
53 "rbw/config.json".source = ./rbw-config.json;
54 };
55 home.packages = with pkgs; [
56 btrfs-progs
57 fd
58 fzf
59 glow
60 gnupg
61 pinentry
62 rbw
63 rsync
64 xdg-utils
65 yt-dlp
66 inputs.nix-search.packages.${system}.default
67 ];
68 };
69}