flocon/modules/gnome.nix

101 lines
3.1 KiB
Nix
Raw Normal View History

2024-09-08 14:18:43 +00:00
{ config, lib, pkgs, username, ... }:
2024-09-05 14:11:32 +00:00
let
cfg = config.modules.gnome;
stylixEnabled = config.modules.stylix.enable or false;
2024-09-05 14:11:32 +00:00
in
{
options = {
modules.gnome = {
enable = lib.mkEnableOption "Enable Gnome";
};
};
config = lib.mkIf cfg.enable {
2024-08-25 19:58:12 +00:00
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome = {
enable = true;
2024-09-05 14:11:32 +00:00
extraGSettingsOverridePackages = [ pkgs.mutter ];
2024-08-25 19:58:12 +00:00
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
};
environment.gnome.excludePackages =
(with pkgs; [ gnome-console gnome-photos gnome-tour gnome-software iagno hitori atomix gnome-contacts gnome-initial-setup gnome-music gedit cheese tali epiphany geary yelp ]);
2024-08-25 19:58:12 +00:00
environment.systemPackages = with pkgs; [
gnome-tweaks
2024-08-27 21:53:40 +00:00
gnome-power-manager
rhythmbox
2024-08-25 19:58:12 +00:00
];
stylix = lib.mkIf stylixEnabled {
2024-09-08 14:18:43 +00:00
targets = {
plymouth.enable = false;
gtk.enable = false;
gnome.enable = false;
};
fonts = {
sansSerif = {
package = pkgs.inter;
name = "Intel Variable";
};
serif = config.stylix.fonts.sansSerif;
};
};
2024-09-08 14:18:43 +00:00
home-manager.users.${username} = {
stylix = lib.mkIf stylixEnabled {
targets.gtk.enable = false;
};
dconf = {
enable = true;
settings = {
"org/gnome/shell" = {
disable-user-extensions = false; # enables user extensions
enabled-extensions = [
pkgs.gnomeExtensions.appindicator.extensionUuid
2024-09-09 10:53:03 +00:00
pkgs.gnomeExtensions.blur-my-shell.extensionUuid
2024-09-23 07:23:30 +00:00
pkgs.gnomeExtensions.emoji-copy.extensionUuid
2024-09-08 14:18:43 +00:00
];
};
"org/gnome/desktop/input-sources" = {
xkb-options = [ "compose:ralt" ];
};
2024-09-09 00:44:54 +00:00
"org/gnome/desktop/interface" = {
enable-hot-corners = false;
};
2024-09-09 17:56:11 +00:00
"org/gnome/desktop/search-providers" = {
disabled=["org.gnome.Terminal.desktop" "org.gnome.Software.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.clocks.desktop" "org.gnome.Characters.desktop" "org.gnome.Calendar.desktop" "org.gnome.Calculator.desktop"];
enabled = ["org.gnome.Nautilus.desktop" "org.gnome.Settings.desktop"];
};
"org/freedesktop/tracker/mine/files" = {
index-recursive-directories=["&DESKTOP" "&DOCUMENTS" "&MUSIC" "&PICTURES" "&VIDEOS" "/home/${username}/Notes" "/home/${username}/Projects"];
};
2024-09-08 14:18:43 +00:00
};
2024-09-08 14:18:43 +00:00
};
home.packages = with pkgs.gnomeExtensions; [
appindicator
2024-09-09 10:53:03 +00:00
blur-my-shell
2024-09-23 07:23:30 +00:00
emoji-copy
2024-09-08 14:18:43 +00:00
];
programs.gnome-terminal = {
enable = true;
showMenubar = false;
profile = {
"4621184a-b921-42cf-80a0-7784516606f2" = {
default = true;
audibleBell = false;
allowBold = true;
visibleName = "${username}";
font = "IntoneMono NF 14";
};
};
};
};
2024-08-25 19:58:12 +00:00
};
}