{ pkgs, lib, ... }: { # Programs + packages with configuration --------------------------------------------------------------- {{{ programs = { # a nicer cat # https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable bat = { enable = true; config = { style = "auto"; }; }; # Direnv, load and unload environment variables depending on the current directory. # https://direnv.net # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable direnv = { enable = true; nix-direnv.enable = true; }; nix-index = { enable = true; enableFishIntegration = true; }; ssh = { enable = true; matchBlocks."*".extraOptions = lib.optionalAttrs pkgs.stdenv.isDarwin { UseKeychain = "yes"; AddKeysToAgent = "yes"; }; }; # vscode vscode = { enable = true; # extensions = [ pijul-vscode ]; }; zoxide = { enable = true; enableFishIntegration = true; }; }; # }}} # Other packages ----------------------------------------------------------------------------- {{{ home.packages = builtins.attrValues ({ inherit (pkgs) # GUI apps discord-ptb element-desktop lagrange lapce obsidian slack zoom-us # System # lightweight session management abduco # archive tool atool # fancy version of `top` with ASCII graphs bottom curl # fancy version of `du` du-dust # fancy version of `ls` exa # fancy version of `find` fd # wrapper for `ssh` that better at not dropping connections mosh # fancy version of `ps` procs # pipe progress viewer pv # command line file encryption rage thefuck # extract RAR archives unrar wget # extract XZ archives xz # Dev stuff # source code line counter cloc # command line tools for digitalocean doctl # command line tools for fly.io flyctl # benchmarking tool hyperfine # json processor jq # alternative to `git` pijul # better version of `grep` ripgrep # rust implementation of `tldr` tealdeer # reimplementation of `httpie` in rust xh # Useful nix related tools # adding/managing alternative binary caches hosted by Cachix cachix # run software from nixpkgs without installing it comma nixpkgs-fmt nix-prefetch-git nix-tree # nix language server nil ; } // lib.optionalAttrs pkgs.stdenv.isDarwin { inherit (pkgs) # useful macOS CLI commands m-cli # see /overlays/colors.nix is-dark-mode ; }); # }}} }