nixos-config/modules/dev/base.nix
2020-12-29 22:32:59 +08:00

47 lines
1.5 KiB
Nix
Executable File

# The utmost requirements for a development workflow.
{ config, options, lib, pkgs, ... }:
with lib;
let cfg = config.modules.dev.base;
in {
options.modules.dev.base = {
enable = mkOption {
type = types.bool;
default = false;
};
};
config = mkIf cfg.enable {
my.packages = with pkgs; [
caddy # THE ULTIMATE HTTPS/2 SERVER FOR 'YER GOLFIN' SESSIONS!!!
cmake # Yo, I heard you like Makefiles.
cookiecutter # A project scaffolding tool.
gnumake # Make your life easier with GNU Make.
gitAndTools.hub # I wish Gitlab has something called lab.
hyperfine # You shouldn't be feel just fine with your programs...
kmon # A Linux kernel monitoring tool, right...
nixfmt # Formatter for uniform Nix code.
radare2-cutter # Rev-eng tools to feel like a hacker.
stow # Build your symlink farm on the other side of the country, er, filesystem.
tealdeer # What manuals should include.
universal-ctags # Enable fast traveling to your code (assuming written in a supported language).
];
# Augment your shell with automatic environment variables loading and unloading.
my.home.programs = {
direnv = {
enable = true;
enableBashIntegration = true;
enableFishIntegration = true;
enableZshIntegration = true;
};
# Enabling all of the shells for cross-testing purposes.
fish.enable = true;
bash.enable = true;
zsh.enable = true;
};
};
}