93 lines
3.0 KiB
Nix
93 lines
3.0 KiB
Nix
{ config, nixosConfig, lib, mylib, pkgs, ... }:
|
|
|
|
with lib;
|
|
with mylib.modules;
|
|
|
|
let
|
|
cfg = config.modules.gnome;
|
|
in {
|
|
|
|
options.modules.gnome = {
|
|
enable = mkEnableOpt "Gnome Desktop";
|
|
extensions = mkBoolOpt false "Enable Gnome shell-extensions";
|
|
|
|
# TODO: Add other themes, whitesur for example
|
|
theme = {
|
|
papirusIcons = mkBoolOpt false "Enable the Papirus icon theme";
|
|
numixCursor = mkBoolOpt false "Enable the Numix cursor theme";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
assertions = [
|
|
{
|
|
assertion = nixosConfig.services.xserver.desktopManager.gnome.enable;
|
|
message = "Can't enable Gnome module when Gnome is not enabled!";
|
|
}
|
|
];
|
|
|
|
gtk = mkMerge [
|
|
{ enable = true; }
|
|
|
|
(optionalAttrs cfg.papirusIcons {
|
|
iconTheme.package = pkgs.papirus-icon-theme;
|
|
iconTheme.name = "Papirus";
|
|
})
|
|
];
|
|
|
|
home.pointerCursor = mkMerge [
|
|
{
|
|
pointerCursor.gtk.enable = true;
|
|
pointerCursor.x11.enable = true;
|
|
}
|
|
|
|
(optionalAttrs cfg.numixCursor {
|
|
pointerCursor.package = pkgs.numix-cursor-theme;
|
|
pointerCursor.name = "Numix-Cursor";
|
|
})
|
|
];
|
|
|
|
home.packages = with pkgs; builtins.concatLists [
|
|
[
|
|
# gnome.gnome-session # Allow to start gnome from tty (sadly this is not usable, many things don't work)
|
|
gnome.gnome-boxes # VM
|
|
gnome.sushi # Gnome files previews
|
|
gnome.gnome-logs # systemd log viewer
|
|
gnome.gnome-tweaks # conflicts with nixos/hm gnome settings file sometimes, watch out what settings to change
|
|
gnome.gnome-nettool
|
|
gnome.simple-scan
|
|
gnome.gnome-sound-recorder
|
|
gnome.file-roller # archive manager
|
|
# gnome-usage # Alternative system performance monitor (gnome.gnome-system-monitor is the preinstalled one)
|
|
# gnome-secrets # Alternative keepass database viewer
|
|
gnome-firmware
|
|
]
|
|
|
|
(optionals cfg.extensions [
|
|
gnomeExtensions.appindicator
|
|
gnomeExtensions.blur-my-shell
|
|
gnomeExtensions.sound-output-device-chooser
|
|
gnomeExtensions.vitals
|
|
gnomeExtensions.no-overview
|
|
# gnomeExtensions.switch-workspace
|
|
gnomeExtensions.maximize-to-empty-workspace
|
|
gnomeExtensions.pip-on-top
|
|
gnomeExtensions.custom-hot-corners-extended
|
|
# gnomeExtensions.dock-from-dash
|
|
gnomeExtensions.gamemode
|
|
# gnomeExtensions.gsconnect # kde connect alternative
|
|
# gnomeExtensions.quake-mode # dropdown for any application
|
|
# gnomeExtensions.systemd-manager # to quickly start nextcloud
|
|
gnomeExtensions.extensions-sync
|
|
gnomeExtensions.tweaks-in-system-menu
|
|
# gnomeExtensions.compiz-windows-effect # WobBlY wiNdoWS
|
|
gnomeExtensions.panel-scroll
|
|
gnomeExtensions.rounded-window-corners
|
|
# gnomeExtensions.easyeffects-preset-selector # Throws error com.sth could not be found, dbus problem?
|
|
gnomeExtensions.launch-new-instance
|
|
gnomeExtensions.auto-activities
|
|
])
|
|
];
|
|
};
|
|
}
|