mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
Gabriel Arazas
9b7cc8a850
We now have a "proper" profiles modules ala-nixpkgs so we'll have to move these to make it less confusing.
50 lines
1.3 KiB
Nix
50 lines
1.3 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
hostCfg = config.hosts.ni;
|
|
cfg = hostCfg.setups.desktop;
|
|
|
|
hasAnyWorkflowEnabled = workflows:
|
|
lib.lists.any (workflow: config.workflows.workflows.${workflow}.enable) workflows;
|
|
in
|
|
{
|
|
options.hosts.ni.setups.desktop.enable =
|
|
lib.mkEnableOption "desktop environment setup";
|
|
|
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
|
{
|
|
# Bring all of the desktop goodies.
|
|
suites.desktop = {
|
|
enable = true;
|
|
audio.enable = true;
|
|
fonts.enable = true;
|
|
hardware.enable = true;
|
|
cleanup.enable = true;
|
|
wine.enable = true;
|
|
};
|
|
|
|
# Apparently the Emacs of 3D artists.
|
|
programs.blender = {
|
|
enable = true;
|
|
package = pkgs.blender-foodogsquared;
|
|
addons = with pkgs; [
|
|
blender-blendergis
|
|
blender-machin3tools
|
|
];
|
|
};
|
|
|
|
# Make it in multiple languages. Take note the input method engine is set
|
|
# up by the workflow module of choice...
|
|
suites.i18n.enable = true;
|
|
|
|
# ...which is by the way is this one.
|
|
workflows.workflows.a-happy-gnome.enable = true;
|
|
}
|
|
|
|
(lib.mkIf (hasAnyWorkflowEnabled [ "a-happy-gnome" "knome" "mosey-branch" ]) {
|
|
hosts.ni.networking.setup = "networkmanager";
|
|
suites.i18n.setup = "ibus";
|
|
})
|
|
]);
|
|
}
|