c: Move into own file

This commit is contained in:
Geoffrey Frogeye 2024-01-08 22:59:06 +01:00
parent 881b22c9b2
commit 42bc007ed4
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
10 changed files with 182 additions and 134 deletions

40
hm/dev/c.nix Normal file
View file

@ -0,0 +1,40 @@
{ pkgs, lib, config, ... }:
{
config = lib.mkIf config.frogeye.dev.c {
frogeye = {
direnv = {
CCACHE_DIR = "${config.xdg.cacheHome}/ccache"; # The config file alone seems to be not enough
};
junkhome = [
"binwalk" # Should use .config according to the GitHub code though
"cmake"
"ddd"
"ghidra"
];
shellAliases = {
gdb = "gdb -x ${config.xdg.configHome}/gdbinit";
};
};
home.packages = with pkgs; [
binwalk
ccache
clang
cmake
ddd
gdb
];
programs.nixvim.extraPlugins = [ pkgs.vimPlugins.nvim-dap ]; # Debug Adapter Protocol client
xdg.configFile = {
"ccache.conf" = {
text = "ccache_dir = ${config.xdg.cacheHome}/ccache";
};
gdbinit = {
text = ''
define hook-quit
set confirm off
end
'';
};
};
};
}

60
hm/dev/common.nix Normal file
View file

@ -0,0 +1,60 @@
{ pkgs, config, ... }: {
# TODO Maybe should be per-directory dotenv
# Or not, for neovim
config = {
# Always on
home.packages = with pkgs; [
# Common
perf-tools
jq
yq
universal-ctags
highlight
# Network
socat
dig
whois
nmap
tcpdump
# nix
nix
# Always on (graphical)
] ++ lib.optionals config.frogeye.desktop.xorg [
# Common
zeal-qt6 # Offline documentation
# Network
wireshark-qt
# Ansible
] ++ lib.optionals config.frogeye.dev.ansible [
ansible
ansible-lint
# Docker
] ++ lib.optionals config.frogeye.dev.docker [
docker
docker-compose
# FPGA
] ++ lib.optionals config.frogeye.dev.fpga [
verilog
] ++ lib.optionals (config.frogeye.dev.fpga && pkgs.stdenv.isx86_64) [
ghdl
# FPGA (graphical)
] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.fpga) [
yosys
gtkwave
# Python
] ++ lib.optionals config.frogeye.dev.python [
python3Packages.ipython
];
};
}

6
hm/dev/default.nix Normal file
View file

@ -0,0 +1,6 @@
{ pkgs, config, ... }: {
imports = [
./c.nix
./common.nix
];
}