Files
nixos-config/home-manager/commands/commands.nix

165 lines
2.8 KiB
Nix

{
pkgs,
pkgs-unstable,
lib,
hostname,
hostTypes,
...
}:
{
imports = [
./direnv.nix
# ./custom/custom.nix
./eza.nix
./fastfetch/fastfetch.nix
./git.nix
# ./newsboat.nix
./nixvim/default.nix
./starship.nix
./tmux.nix
./zsh.nix
];
home.packages = with pkgs; [
# Common packages for all systems
age
age-plugin-1p
age-plugin-yubikey
agedu
b3sum
bat
basalt
btop
curl
dig
dust
fd
fosrl-olm
fzf
git-filter-repo
graphviz
jq
kitty
lazygit
lazyjournal
manga-tui
# netscanner
nix-du
nmap
openssl
ripgrep
s3cmd
timg
tldr
trippy
trivy
wget
wireguard-tools
#pkgs-unstable.witr
yazi
yt-dlp
zstd
]
# Desktop-specific packages (Linux desktops and macOS)
++ lib.optionals (!(hostTypes.isServer hostname)) (with pkgs; [
claude-code
ocamlPackages.utop
# opencode
openconnect
# termusic
yubikey-manager
])
# Server-specific packages
++ lib.optionals (hostTypes.isServer hostname) (with pkgs; [
# Add server-specific packages here
])
# Host-specific packages
++ lib.optionals (hostname == "eva-01") [
# cli
parted
traceroute
# cyber
amass
bettercap
bloodhound
bully
burpsuite
cowpatty
crunch
dirbuster
dnschef
ffuf
hash-identifier
hashcat
hashcat-utils
hping
macchanger
medusa
netdiscover
netexec
pwnat
pwncat
reaverwps-t6x
recon-ng
rustscan
sqlmap
steghide
thc-hydra
]
++ lib.optionals (hostname == "eva-03") [
# cli
parted
traceroute
ffmpeg-full
]
++ lib.optionals (hostname == "buildbox") [
# cli
parted
traceroute
ffmpeg-full
];
programs = {
ssh = {
enable = true;
matchBlocks = {
global = {
host = "*";
setEnv = {
TERM = "xterm-256color";
};
};
} // lib.optionalAttrs (hostname == "buildbox") {
"192.168.8.109" = {
identityFile = "~/.ssh/gitea-buildbox";
user = "gitea";
};
"gitea.miguelmuniz.com" = {
identityFile = "~/.ssh/gitea-buildbox";
user = "gitea";
};
"github.com" = {
identityFile = "~/.ssh/github-buildbox";
user = "git";
};
};
extraConfig = if hostname == "eva-02"
then ''
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
};
# fonts.fontconfig.enable = lib.mkIf (hostname != "eva-02") true;
}