Flake for my NixOS devices
1{...}: {
2 config,
3 lib,
4 pkgs,
5 ...
6}: {
7 options.cow.utils = {
8 enable =
9 (lib.mkEnableOption "Handy utilities to have")
10 // {
11 default = true;
12 };
13 batAliases =
14 (lib.mkEnableOption "Aliases for bat commands in the shell")
15 // {
16 default = true;
17 };
18 };
19
20 config = lib.mkIf config.cow.utils.enable {
21 home.packages = with pkgs;
22 [
23 ripgrep
24 binutils
25 usbutils
26 qrencode
27 nmap
28 file
29 procfd
30 dust
31 zip
32 unzip
33 imagemagick
34 # inputs.gh-grader-preview.packages.${pkgs.system}.default
35 libqalculate
36 p7zip
37 poop
38 file
39 screen
40 util-linux
41 inetutils
42 just
43 man-pages
44 htop
45 dig
46 doggo
47 tealdeer
48
49 hyfetch
50 fastfetch
51 ]
52 ++ lib.optionals config.cow.gdi.enable [
53 wev
54 libreoffice-qt6
55 obs-studio
56 loupe
57 gimp
58 inkscape
59 lorien
60 pympress
61 ];
62
63 home.shellAliases = lib.mkIf config.cow.utils.batAliases {
64 cat = "bat";
65 man = "batman";
66 bg = "batgrep";
67 bdiff = "batdiff";
68 };
69
70 programs.bat = {
71 enable = true;
72 syntaxes = {
73 nushell.src = ../res/bat-nushell.sublime-syntax.yaml;
74 };
75 extraPackages = with pkgs.bat-extras; [
76 batdiff
77 batman
78 batgrep
79 batwatch
80 ];
81 };
82
83 programs.hyfetch = {
84 enable = true;
85 settings = {
86 backend = "fastfetch";
87 color_align = {
88 custom_colors = [];
89 fore_back = null;
90 mode = "horizontal";
91 };
92 distro = null;
93 light_dark = "dark";
94 lightness = 0.5;
95 mode = "rgb";
96 preset = "gay-men";
97 pride_month_disable = false;
98 pride_month_shown = [];
99 };
100 };
101 };
102}