Migrated from multi repos to monorepo architecture.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports=[
|
||||
./desktop-environment.nix
|
||||
./flatpaks.nix
|
||||
./terminal.nix
|
||||
./updates.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.numbus-computer.packages.desktop;
|
||||
in
|
||||
|
||||
{
|
||||
options.numbus-computer.packages.desktop = {
|
||||
gnome = {
|
||||
enable = mkEnableOption "Wether to enable the GNOME desktop environment.";
|
||||
|
||||
extensions = mkOption {
|
||||
type = types.listOf types.str ;
|
||||
default = [];
|
||||
example = [ "dash-to-dock" "caffeine" "clipboard-history" "appindicator-support" ];
|
||||
description = "Extensions to add to the Gnome desktop environment to improve your experience.";
|
||||
};
|
||||
};
|
||||
kde_plasma = {
|
||||
enable = mkEnableOption "Wether to enable the KDE Plasma desktop environment.";
|
||||
};
|
||||
hyprland = {
|
||||
enable = mkEnableOption "Wether to enable the hyprland desktop environment.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
# GNOME
|
||||
(mkIf (cfg.gnome.enable == true) {
|
||||
services.xserver.enable = false;
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.desktopManager.gnome.enable = true;
|
||||
services.gnome.core-apps.enable = false;
|
||||
services.gnome.core-developer-tools.enable = false;
|
||||
services.gnome.games.enable = false;
|
||||
environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
|
||||
})
|
||||
|
||||
# GNOME extensions
|
||||
(mkIf (cfg.gnome.enable == true && cfg.desktop.gnome.extensions != [ ]) {
|
||||
environment.systemPackages = map (ext: pkgs.gnomeExtensions.${ext}) cfg.desktop.gnome.extensions;
|
||||
})
|
||||
|
||||
# KDE Plasma
|
||||
(mkIf (cfg.kde_plasma.enable == true) {
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.sddm.enable = true;
|
||||
displayManager.sddm.wayland.enable = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.discover
|
||||
kdePackages.kcalc
|
||||
kdePackages.kcharselect
|
||||
kdePackages.kclock
|
||||
kdePackages.kcolorchooser
|
||||
kdePackages.kolourpaint
|
||||
kdePackages.sddm-kcm
|
||||
kdiff3
|
||||
wayland-utils
|
||||
wl-clipboard
|
||||
];
|
||||
})
|
||||
|
||||
# Hyprland
|
||||
(mkIf (cfg.hyprland.enable == true) {
|
||||
programs.hyprland.enable = true;
|
||||
environment.systemPackages = [
|
||||
pkgs.kitty
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user