old
1{
2 pkgs,
3 lib,
4 ...
5}: {
6 home.packages = with pkgs; [
7 # Misc
8 gnupg
9 gnumake
10
11 fd # search for files by name, faster than find
12 ripgrep # search for files by its content, replacement of grep
13 yq-go # yaml processor https://github.com/mikefarah/yq
14 delta # A viewer for git and diff output
15 gping # ping, but with a graph(TUI)
16 websocat # Command-line client for WebSockets
17
18 # nix related
19 nix-index # A small utility to index nix store paths
20 nix-init # generate nix derivation from url
21 nix-melt # A TUI flake.lock viewer
22 nix-tree # A TUI to visualize the dependency graph of a nix derivation
23 ];
24
25 programs = {
26 # A command-line fuzzy finder
27 fzf = {
28 enable = true;
29 };
30
31 # a cat(1) clone with syntax highlighting and Git integration.
32 bat = {
33 enable = true;
34 config = {
35 pager = "less -FR";
36 };
37 };
38
39 # zoxide is a smarter cd command, inspired by z and autojump.
40 # It remembers which directories you use most frequently,
41 # so you can "jump" to them in just a few keystrokes.
42 # zoxide works on all major shells.
43 zoxide = {
44 enable = true;
45 enableBashIntegration = true;
46 enableFishIntegration = true;
47 enableNushellIntegration = true;
48 };
49
50 carapace = {
51 enable = true;
52 enableBashIntegration = true;
53 enableFishIntegration = true;
54 enableNushellIntegration = true;
55 };
56
57 # rbw, a unofficial CLI Bitwarden client
58 rbw = {
59 enable = true;
60 settings = {
61 base_url = "https://bitwarden.hpcesia.com/";
62 email = "me@hpcesia.com";
63 pinentry = lib.mkDefault pkgs.pinentry-tty;
64 };
65 };
66
67 # very fast version of tldr in Rust
68 tealdeer = {
69 enable = true;
70 enableAutoUpdates = true;
71 settings = {
72 display = {
73 compact = false;
74 use_pager = true;
75 };
76 updates = {
77 auto_update = false;
78 auto_update_interval_hours = 720;
79 };
80 };
81 };
82
83 # Atuin replaces your existing shell history with a SQLite database,
84 # and records additional context for your commands.
85 # Additionally, it provides optional and fully encrypted
86 # synchronisation of your history between machines, via an Atuin server.
87 atuin = {
88 enable = true;
89 enableBashIntegration = true;
90 enableFishIntegration = true;
91 enableNushellIntegration = true;
92 settings = {
93 sync_address = "https://atuin.hpcesia.com";
94 sync_frequency = "10m";
95 filter_mode = "host";
96 style = "full";
97 inline_height = 32;
98 keymap_mode = "vim-normal";
99 };
100 };
101
102 eza = {
103 enable = true;
104 enableBashIntegration = true;
105 enableFishIntegration = true;
106 icons = "auto";
107 git = true;
108 };
109 };
110}