add gnome module
This commit is contained in:
92
modules/gnome.nix
Normal file
92
modules/gnome.nix
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
{ 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
|
||||||
|
])
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Reference in New Issue
Block a user