/ systems / modules / dev / base.nix
base.nix
 1  { config, lib, pkgs, ... }:
 2  
 3  let
 4    cfg = config.modules.dev;
 5    inherit (lib) mkEnableOption mkIf;
 6  in
 7  {
 8    options = {
 9      modules.dev = {
10        enable = mkEnableOption "Mark this machine as a dev machine";
11      };
12    };
13    config = mkIf cfg.enable {
14      # Dev means Emacs 🙃
15      modules.editors.emacs.enable = true;
16      modules.shell = {
17        direnv.enable = true;
18        git.enable = true;
19        gnupg.enable = true;
20        tmux.enable = true;
21      };
22      # Enable lorri (to handle nix shells)
23      # services.lorri.enable = true;
24      environment.systemPackages = with pkgs; [
25        grc
26        ripgrep
27        gnumake
28      ];
29    };
30  }