modules: system: packages: make it configurable

This commit is contained in:
Bruno BELANYI 2021-05-29 20:34:38 +02:00
parent 7916a26a58
commit c23d89dcb2

View file

@ -1,23 +1,36 @@
# Common packages
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
let
cfg = config.my.system.packages;
in
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
git
git-crypt
mosh
vim
wget
];
options.my.system.packages = with lib; {
enable = my.mkDisableOption "packages configuration";
programs.vim.defaultEditor = true; # Modal editing is life
programs.zsh = {
enable = true; # Use integrations
# Disable global compinit when a user config exists
enableGlobalCompInit = !config.my.home.zsh.enable;
allowUnfree = my.mkDisableOption "allow unfree packages";
};
nixpkgs.config.allowUnfree = true; # Because I don't care *that* much.
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
git
git-crypt
mosh
vim
wget
];
programs = {
vim.defaultEditor = true; # Modal editing is life
zsh = {
enable = true; # Use integrations
# Disable global compinit when a user config exists
enableGlobalCompInit = !config.my.home.zsh.enable;
};
};
nixpkgs.config = {
allowUnfree = cfg.allowUnfree; # Because I don't care *that* much.
};
};
}