{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.profiles.dev; in { imports = attrValues (modulesIn ./.); options.nixfiles.modules.profiles.dev.enable = mkEnableOption "Catch-all profile for stuff related to software development and etc."; config = mkIf cfg.enable { nixfiles.modules = { bat.enable = true; curl.enable = true; direnv.enable = true; editorconfig.enable = true; git.client.enable = true; nmap.enable = true; wget.enable = true; podman.enable = true; }; hm = { home = { sessionVariables = rec { CABAL_DIR = "${config.dirs.data}/cabal"; CABAL_CONFIG = pkgs.writeText "cabal-config" '' repository hackage.haskell.org url: https://hackage.haskell.org/ secure: True jobs: $ncpus remote-repo-cache: ${CABAL_DIR}/packages world-file: ${CABAL_DIR}/world logs-dir: ${CABAL_DIR}/logs build-summary: ${CABAL_DIR}/logs/build.log installdir: ${CABAL_DIR}/bin extra-prog-path: ${CABAL_DIR}/bin ''; STACK_ROOT = "${config.dirs.data}/stack"; RUSTUP_HOME = "${config.dirs.data}/rustup"; CARGO_HOME = "${config.dirs.data}/cargo"; GOPATH = "${config.dirs.data}/go"; GORE_HOME = "${config.dirs.data}/gore"; PYTHONSTARTUP = ./pystartup.py; }; packages = with pkgs; [ age distrobox google-cloud-sdk htmlq httpie hydra-check iaito jq logcli nix-update nixpkgs-review scaleway-cli sops toolbox vultr-cli yq ]; language = { collate = "C"; messages = "C"; }; }; xdg.configFile = { "gdb/gdbinit".source = ./gdbinit; "ghc/ghci.conf".source = ./ghci.conf; }; }; programs.wireshark = { enable = true; package = pkgs.wireshark; }; nix.settings = { keep-derivations = true; keep-outputs = true; }; my.extraGroups = [ "kvm" "wireshark" ]; }; }