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