{ pkgs, lib, ... }: { programs = { # a nicer cat bat = { enable = true; config = { style = "auto"; }; }; # load and unload environment variables depending on the current directory direnv = { enable = true; nix-direnv.enable = true; }; nix-index = { enable = true; }; nushell = { enable = true; }; ssh = { enable = true; matchBlocks = { "*".extraOptions = lib.mkIf pkgs.stdenv.isDarwin { UseKeychain = "yes"; AddKeysToAgent = "yes"; }; remarkable = { hostname = "10.11.99.1"; user = "root"; }; }; }; vscode = { enable = false; # extensions = [ pijul-vscode ]; }; zoxide = { enable = true; }; }; home.packages = builtins.attrValues ({ inherit (pkgs) # GUI apps cinny discord-ptb lagrange obsidian slack zoom-us # system tools curl wget # lightweight session management abduco # archive tool atool # fancy version of `top` with ASCII graphs bottom # fancy version of `du` du-dust # fancy version of `ls`, fork of now-unmaintained `exa` eza # 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 # backups for the truly paranoid tarsnap # terminal color support testing terminal-colors # extract RAR archives unrar # extract XZ archives xz # dev tools # source code line counter cloc # command line tools for digitalocean doctl # command line tools for fly.io flyctl # benchmarking tool hyperfine # json processor jq # task runner just # alternative to `git` pijul # better version of `grep` ripgrep # rust implementation of `tldr` tealdeer # reimplementation of `httpie` in rust xh # useful nix related tools nixfmt nix-prefetch-git nix-tree # adding/managing alternative binary caches hosted by Cachix cachix # run software from nixpkgs without installing it comma # nix language servers nil nixd; } // lib.optionalAttrs pkgs.stdenv.isDarwin { inherit (pkgs) # useful macOS CLI commands m-cli; }); }