2021-11-25 11:55:30 +00:00
|
|
|
{ config, options, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.modules.themes.a-happy-gnome;
|
|
|
|
in
|
|
|
|
{
|
2021-11-25 13:45:48 +00:00
|
|
|
options.modules.themes.a-happy-gnome.enable = lib.mkEnableOption "Enables my configuration of GNOME Shell.";
|
2021-11-25 11:55:30 +00:00
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
services.xserver.enable = true;
|
|
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
|
|
|
2021-12-02 13:45:49 +00:00
|
|
|
# Import the configuration with dconf.
|
|
|
|
programs.dconf.enable = true;
|
|
|
|
environment.etc."dconf/profile/gnome".text = "user-db:user";
|
|
|
|
environment.etc."dconf/db/gnome".source = ./schemas;
|
|
|
|
|
2021-11-25 13:45:48 +00:00
|
|
|
# I'm pretty sure this is already done but just to make sure.
|
|
|
|
services.gnome.chrome-gnome-shell.enable = true;
|
2021-11-25 11:55:30 +00:00
|
|
|
|
2021-11-25 13:45:48 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
2021-11-27 08:04:01 +00:00
|
|
|
# It is required for custom menus in extensions.
|
|
|
|
gnome-menus
|
|
|
|
|
2021-12-02 13:45:49 +00:00
|
|
|
# My preferred extensions.
|
2021-11-25 11:55:30 +00:00
|
|
|
gnomeExtensions.arcmenu
|
2021-12-02 13:45:49 +00:00
|
|
|
gnomeExtensions.gsconnect
|
2021-11-25 11:55:30 +00:00
|
|
|
gnomeExtensions.x11-gestures
|
2021-12-02 13:45:49 +00:00
|
|
|
|
|
|
|
# Setting up Pop shell.
|
|
|
|
gnome-shell-extension-pop-shell
|
|
|
|
pop-launcher
|
|
|
|
pop-launcher-plugin-duckduckgo-bangs
|
2021-11-25 11:55:30 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|