nix-config/modules/devtools.nix
2025-01-29 21:23:48 +01:00

81 lines
1.5 KiB
Nix

{
pkgs,
inputs,
config,
lib,
...
}:
{
environment.systemPackages =
with pkgs;
let
# kicad
kicad = pkgs.kicad.override {
addons = with pkgs.kicadAddons; [
kikit
kikit-library
];
};
# binwalk v3 on 24.11
sys_ver = config.system.nixos.release;
unstablepkgs = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system};
binwalkv3 = if lib.versionOlder "25.05" sys_ver then binwalk else unstablepkgs.binwalk;
in
[
# general
cmake
gcc
gef
gdb
binutils
binwalkv3
clang
clang-tools
direnv
sops
nil
nixpkgs-fmt
nix-index
kicad
kikit
freecad-wayland
imhex
python313Full
nixfmt-rfc-style
treefmt
android-tools
bacon
];
# android stuff
services.udev.packages = [
pkgs.android-udev-rules
];
# Wireshark
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
};
users.users."0xa".extraGroups = [ "wireshark" ];
## direnv
programs.bash.interactiveShellInit = ''
eval "$(direnv hook bash)"
'';
programs.zsh.interactiveShellInit = ''
eval "$(direnv hook zsh)"
'';
programs.fish.interactiveShellInit = ''
direnv hook fish | source
'';
# nix options for derivations to persist garbage collection
nix.extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
environment.pathsToLink = [
"/share/nix-direnv"
];
}