28 lines
826 B
Nix
28 lines
826 B
Nix
{ 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;
|
|
};
|
|
};
|
|
}
|