{ pkgs, lib, config, ... }: { home.packages = [ # preview markdown pkgs.python3Packages.grip # For {nix,haskell} contribution pkgs.gh pkgs.act pkgs.nixfmt-rfc-style pkgs.nix-doc pkgs.nixpkgs-review pkgs.shellcheck pkgs.lua-language-server pkgs.stylua # lua pkgs.nil # nix pkgs.fish-lsp # fish pkgs.pyright # python pkgs.taplo # toml pkgs.vscode-langservers-extracted # JSON etc pkgs.yaml-language-server # yaml # bash pkgs.shfmt pkgs.nodePackages.bash-language-server ]; programs.git = { enable = true; signing.signByDefault = true; maintenance = { enable = true; # We don't deal with worktree folders anyway repositories = lib.map (path: "${config.home.homeDirectory}/r/${path}") [ "nixos/nixpkgs" "ghc/ghc" "haskell/cabal" ]; }; includes = let fromList = import ../../../git-identities/git-compat.nix; identities = import ../../../git-identities/list.nix; in fromList identities; }; programs.gpg.enable = true; # programs.vscode = { # enable = true; # profiles.default.extensions = [ # pkgs.vscode-extensions.redhat.java # pkgs.vscode-extensions.vscjava.vscode-java-pack # ]; # }; nix = { settings = { extra-substituters = [ "https://ghc-nix.cachix.org" "https://haskell-language-server.cachix.org" "https://helix.cachix.org" "https://cache.iog.io" ]; extra-trusted-public-keys = [ "ghc-nix.cachix.org-1:ziC/I4BPqeA4VbtOFpFpu6D1t6ymFvRWke/lc2+qjcg=" "haskell-language-server.cachix.org-1:juFfHrwkOxqIOZShtC4YC1uT1bBcq2RSvC7OMKx0Nz8=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ]; }; }; }