{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.profiles.dev.default; in { imports = [ ./containers.nix ./sql.nix ]; options.nixfiles.modules.profiles.dev.default.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; git.client.enable = true; gnupg.enable = true; nmap.enable = true; wget.enable = true; }; hm.home = { file = { ".editorconfig".source = ./editorconfig.ini; ".gdbinit".source = ./gdbinit; ".ghc/ghci.conf".source = ./ghci.conf; ".stack/config.yaml".text = generators.toYAML {} { templates.params = rec { author-name = my.fullname; author-email = my.email; copyright = "Copyright (c) 2023 ${author-name} <${author-email}>"; github-username = my.username; }; }; ".stack/global-project/stack.yaml".text = generators.toYAML {} { packages = []; resolver = "lts-20.14"; }; }; sessionVariables = with config.dirs; rec { CABAL_DIR = "${config.my.home}/.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.my.home}/.stack"; CARGO_HOME = "${config.my.home}/.cargo"; GOPATH = "${config.my.home}/.go"; PYTHONSTARTUP = ./pystartup.py; }; packages = with pkgs; [ nix-index nix-update nixpkgs-review hydra-check jq yq htmlq sops ]; }; }; }