{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.profiles.dev; in { imports = [ ./containers.nix ./hidden.nix ./sql.nix ]; 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; gnupg.enable = true; nmap.enable = true; wget.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; [ nix-index nix-update nixpkgs-review hydra-check jq yq htmlq sops httpie logcli ]; }; xdg.configFile = { "gdb/gdbinit".source = ./gdbinit; "ghc/ghci.conf".source = ./ghci.conf; }; }; }; }