forked from kclejeune/system
-
Notifications
You must be signed in to change notification settings - Fork 0
/
common.nix
157 lines (155 loc) · 4.36 KB
/
common.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
{ config, pkgs, ... }:
{
home =
let
NODE_GLOBAL = "${config.home.homeDirectory}/.node-packages";
in
{
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
stateVersion = "22.05";
sessionVariables = {
GPG_TTY = "/dev/ttys000";
EDITOR = "nvim";
VISUAL = "nvim";
CLICOLOR = 1;
LSCOLORS = "ExFxBxDxCxegedabagacad";
KAGGLE_CONFIG_DIR = "${config.xdg.configHome}/kaggle";
NODE_PATH = "${NODE_GLOBAL}/lib";
};
sessionPath = [
"${NODE_GLOBAL}/bin"
"${config.home.homeDirectory}/.rd/bin"
"${config.home.homeDirectory}/.local/bin"
];
# define package definitions for current user environment
packages = [
# (pkgs.uutils-coreutils.override { prefix = "u"; })
# pkgs.alejandra
# pkgs.cowsay
# pkgs.fd
# pkgs.ffmpeg
# pkgs.glow # markdown previewer in terminal
# pkgs.grype
# pkgs.httpie
# pkgs.hugo # static site generator
# pkgs.kotlin
# pkgs.lazydocker
# pkgs.ldns # replacement of `dig`, it provide the command `drill`
# pkgs.nix
# pkgs.nixfmt-rfc-style
# pkgs.nixpkgs-fmt
# pkgs.nodejs_20
# pkgs.poetry
# pkgs.rnix-lsp
# pkgs.ruff
# pkgs.stylua
# pkgs.treefmt
pkgs.age
pkgs.aria2 # A lightweight multi-protocol & multi-source command-line download utility
pkgs.atuin
pkgs.autojump
pkgs.bat
pkgs.btop # replacement of htop/nmon
pkgs.cachix
pkgs.cb # defined in flake.nix
# pkgs.cirrus-cli
pkgs.comma
pkgs.coreutils-full
pkgs.curl
pkgs.diffutils
pkgs.direnv
pkgs.dnsutils # `dig` + `nslookup`
pkgs.eza # A modern replacement for ‘ls’
pkgs.file
pkgs.findutils
pkgs.fzf # A command-line fuzzy finder
pkgs.gawk
pkgs.gh
pkgs.gnugrep
# pkgs.gnupg
pkgs.gnused
pkgs.gnutar
pkgs.helm-docs
pkgs.hurl
pkgs.iftop # network monitoring
pkgs.ipcalc # it is a calculator for the IPv4/v6 addresses
pkgs.iperf3
pkgs.jq # A lightweight and flexible command-line JSON processor
pkgs.kubectl
pkgs.kubectx
pkgs.kubernetes-helm
pkgs.kustomize
pkgs.lsof # list open files
# pkgs.luajit
pkgs.mmv
pkgs.mtr # A network diagnostic tool
pkgs.ncdu
pkgs.neofetch
pkgs.nil
pkgs.nixd
pkgs.nix-output-monitor
pkgs.nmap # A utility for network discovery and security auditing
pkgs.nnn # terminal file manager
pkgs.p7zip
# pkgs.packer # y u so big
pkgs.parallel
# pkgs.pciutils # lspci
pkgs.pre-commit
pkgs.ranger
pkgs.rclone
# pkgs.restic
pkgs.ripgrep # recursively searches directories for a regex pattern
pkgs.rsync
pkgs.shellcheck
pkgs.socat # replacement of openbsd-netcat
pkgs.starship
pkgs.sysdo # defined in flake.nix
pkgs.talosctl
pkgs.tree
pkgs.which
pkgs.xz
pkgs.yq-go # yaml processer https://github.com/mikefarah/yq
pkgs.zstd
# python with default packages
# (pkgs.python3.withPackages (
# ps: [
# #ps.numpy
# #ps.scipy
# #ps.matplotlib
# #ps.networkx
# ]
# ))
];
};
programs = {
home-manager = {
enable = true;
};
dircolors.enable = true;
go.enable = true;
gpg.enable = true;
htop.enable = true;
jq.enable = true;
# java = {
# enable = false;
# package = pkgs.jdk21;
# };
k9s.enable = true;
lazygit.enable = true;
less.enable = true;
man.enable = true;
nix-index.enable = true;
# pandoc.enable = true;
ripgrep.enable = true;
starship.enable = true;
# yt-dlp.enable = true;
zoxide.enable = true;
};
}