{ config, lib, pkgs, ... }: let cfg = config.custom.development; in { options.custom.development.enable = lib.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf cfg.enable { custom.nvim.enable = true; #################### Git configuration #################### programs.git = { enable = true; lfs.enable = true; config = { user = { email = "vili.m.sinerva@gmail.com"; name = "Vili Sinervä"; signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJowj9IJIgYjDwZm5mEttiwvPfu1dd4eVTHfaDnbwcOV"; }; merge = { ff = "true"; }; pull = { ff = "only"; }; commit = { verbose = "true"; }; gpg.format = "ssh"; commit.gpgsign = "true"; }; }; #################### Packages #################### environment.systemPackages = with pkgs; [ nixfmt-rfc-style nixd vagrant nmap metasploit armitage ]; virtualisation.virtualbox.host.enable = true; virtualisation.virtualbox.host.addNetworkInterface = false; users.extraGroups.vboxusers.members = [ "vili" ]; fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); }; }