My Nix Configuration
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}