{ config, lib, pkgs, ... }: { options.snowflake.workstation = { enable = lib.mkEnableOption "enable workstation mode"; isDevMachine = lib.mkEnableOption "packages for coding development"; isOfficeMachine = lib.mkEnableOption "packages for doc processing"; isGamingMachine = lib.mkEnableOption "packages for gaming"; }; config = lib.mkIf config.snowflake.workstation.enable { programs.zsh.enable = true; # base packages required everywhere environment = { shells = with pkgs; [ bash zsh fish ]; systemPackages = with pkgs; [ # text editor nano # fallback in case neovim fails emacs # for orgmode ]; }; programs.gnupg.agent = { enable = true; enableSSHSupport = false; pinentryPackage = pkgs.pinentry-curses; }; }; }