nixos-config/modules/programs/gnome/default.nix

144 lines
4.2 KiB
Nix
Raw Normal View History

2021-07-29 20:21:51 +00:00
{ pkgs, config, lib, ... }:
let
cfg = config.ptw.services.gnome;
in {
options.ptw.services.gnome = {
enable = lib.mkEnableOption "Configure GNOME using HomeManager";
};
config = lib.mkIf cfg.enable {
2021-08-04 17:07:42 +00:00
environment = {
systemPackages = with pkgs; [
arc-theme
gnomeExtensions.appindicator
gnomeExtensions.caffeine
gnomeExtensions.gnome-40-ui-improvements
2021-08-24 09:36:15 +00:00
gnomeExtensions.notification-timeout # Custom package
2021-08-24 16:15:26 +00:00
gnomeExtensions.windowisready-remover # Custom package
2021-08-04 17:07:42 +00:00
gnomeExtensions.application-volume-mixer
2022-01-01 21:05:16 +00:00
gnomeExtensions.tiling-assistant
gnomeExtensions.tilingnome
2021-10-22 19:45:06 +00:00
gnomeExtensions.tray-icons-reloaded
2021-09-04 17:26:11 +00:00
gnomeExtensions.gsconnect
2021-09-02 18:58:41 +00:00
gnomeExtensions.blur-my-shell
2021-08-04 17:07:42 +00:00
gnome.eog
gnome.nautilus
unstable.gnome.gnome-shell
gnome.gnome-terminal
pinentry-gnome
dconf # For home-manager
2021-08-28 12:51:14 +00:00
libsForQt5.qtstyleplugin-kvantum
2021-08-04 17:07:42 +00:00
];
gnome.excludePackages = pkgs.gnome.optionalPackages;
2021-07-29 20:21:51 +00:00
};
2021-08-28 12:51:14 +00:00
2021-08-04 17:07:42 +00:00
services = {
accounts-daemon.enable = true;
colord.enable = false;
geoclue2.enable = false;
dleyna-renderer.enable = false;
dleyna-server.enable = false;
gvfs.enable = lib.mkForce false;
telepathy.enable = false;
gnome = {
chrome-gnome-shell.enable = false;
gnome-initial-setup.enable = false;
gnome-remote-desktop.enable = false;
rygel.enable = false;
gnome-online-accounts.enable = false;
evolution-data-server.enable = lib.mkForce false;
tracker.enable = false;
tracker-miners.enable = false;
core-utilities.enable = false;
games.enable = false;
};
2021-07-29 20:21:51 +00:00
2021-08-04 17:07:42 +00:00
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
2021-07-29 20:21:51 +00:00
2021-08-04 17:07:42 +00:00
xserver = {
enable = true;
layout = "de";
libinput.enable = true;
desktopManager.gnome.enable = true;
2021-10-18 14:11:00 +00:00
displayManager.gdm = {
enable = true;
wayland = true;
2021-08-04 17:07:42 +00:00
};
2021-07-29 20:21:51 +00:00
};
};
2021-08-04 17:07:42 +00:00
xdg.portal = {
enable = true;
2021-10-22 19:45:06 +00:00
#extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
2021-08-04 17:07:42 +00:00
gtkUsePortal = true;
};
home-manager.users."${config.ptw.system.singleUser}" = {
2021-08-28 12:51:14 +00:00
xdg.configFile = {
# Make QT apps use a dark theme
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=KvArcDark
'';
};
2021-08-04 17:07:42 +00:00
dconf.settings = {
# The packages come in from modules/programs/gnome
# Theme
"org/gnome/desktop/interface" = {
gtk-theme = "Arc-Dark";
};
# Nightlight (TODO: ?)
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
};
# Extensions
"org/gnome/shell" = {
2022-01-01 21:05:16 +00:00
enabled-extensions = let
isMiku = config.ptw.system.hostName == "miku";
isNishimiya = config.ptw.system.hostName == "nishimiya";
in [
2021-08-04 17:07:42 +00:00
"caffeine@patapon.info"
"notification-timeout@chlumskyvaclav.gmail.com"
"gnome-ui-tune@itstime.tech"
"volume-mixer@evermiss.net"
2021-08-24 16:15:26 +00:00
"windowIsReady_Remover@nunofarruca@gmail.com"
2021-09-02 18:58:41 +00:00
"blur-my-shell@aunetx"
2021-09-04 17:26:11 +00:00
"gsconnect@andyholmes.github.io"
2022-01-01 21:05:16 +00:00
] ++ (lib.optional isMiku "tiling-assistant@leleat-on-github")
++ (lib.optional (isNishimiya || isMiku) "tilingnome@rliang.github.com");
2021-08-04 17:07:42 +00:00
};
"org/gnome/shell/extensions/caffeine" = {
show-notifications = false;
inhibit-apps = [ "mpv.desktop" ];
};
"org/gnome/shell/extensions/notification-timeout" = {
timeout = 3000;
};
"org/gnome/shell/extensions/gnome-ui-tune" = {
hide-search = true;
};
# Shortcuts
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Alt>Return";
command = "gnome-terminal";
name = "Terminal";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Super>s";
command = "systemctl suspend";
name = "Suspend";
};
};
};
2021-07-29 20:21:51 +00:00
};
}