flocon/modules/gnome.nix

141 lines
3.5 KiB
Nix
Raw Normal View History

2024-09-24 13:09:36 +00:00
{
config,
lib,
pkgs,
username,
...
2024-09-24 21:47:52 +00:00
}: let
2024-09-05 14:11:32 +00:00
cfg = config.modules.gnome;
stylixEnabled = config.modules.stylix.enable or false;
2024-09-24 21:47:52 +00:00
in {
2024-09-05 14:11:32 +00:00
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-24 21:47:52 +00:00
extraGSettingsOverridePackages = [pkgs.mutter];
2024-08-25 19:58:12 +00:00
extraGSettingsOverrides = ''
2024-09-24 13:09:36 +00:00
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
2024-08-25 19:58:12 +00:00
'';
};
};
2024-09-24 13:09:36 +00:00
environment.gnome.excludePackages = (
2024-09-24 21:47:52 +00:00
with pkgs; [
2024-09-24 13:09:36 +00:00
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
2024-09-24 13:09:36 +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" = {
2024-09-24 21:47:52 +00:00
xkb-options = ["compose:ralt"];
2024-09-08 14:18:43 +00:00
};
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" = {
2024-09-24 13:09:36 +00:00
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"
];
2024-09-09 17:56:11 +00:00
2024-09-24 13:09:36 +00:00
enabled = [
"org.gnome.Nautilus.desktop"
"org.gnome.Settings.desktop"
];
2024-09-09 17:56:11 +00:00
};
"org/freedesktop/tracker/mine/files" = {
2024-09-24 13:09:36 +00:00
index-recursive-directories = [
"&DESKTOP"
"&DOCUMENTS"
"&MUSIC"
"&PICTURES"
"&VIDEOS"
"/home/${username}/Notes"
"/home/${username}/Projects"
];
};
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
};
}