Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GNOME polishing from Q.A findings #101516

Merged
merged 6 commits into from Oct 25, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -9,7 +9,14 @@ with lib;

isoImage.edition = "gnome";

services.xserver.desktopManager.gnome3.enable = true;
services.xserver.desktopManager.gnome3 = {
# Add firefox to favorite-apps
favoriteAppsOverride = ''
[org.gnome.shell]
favorite-apps=[ 'firefox.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
'';
enable = true;
};

services.xserver.displayManager = {
gdm = {
Expand Down
14 changes: 13 additions & 1 deletion nixos/modules/services/desktops/flatpak.nix
Expand Up @@ -15,6 +15,18 @@ in {
options = {
services.flatpak = {
enable = mkEnableOption "flatpak";

guiPackages = mkOption {
internal = true;
type = types.listOf types.package;
worldofpeace marked this conversation as resolved.
Show resolved Hide resolved
default = [];
example = literalExample "[ pkgs.gnome3.gnome-software ]";
description = ''
Packages that provide an interface for flatpak
(like gnome-software) that will be automatically available
to all users when flatpak is enabled.
'';
};
};
};

Expand All @@ -28,7 +40,7 @@ in {
}
];

environment.systemPackages = [ pkgs.flatpak ];
environment.systemPackages = [ pkgs.flatpak ] ++ cfg.guiPackages;

services.dbus.packages = [ pkgs.flatpak ];

Expand Down
25 changes: 22 additions & 3 deletions nixos/modules/services/x11/desktop-managers/gnome3.nix
Expand Up @@ -17,6 +17,11 @@ let
'';
};

defaultFavoriteAppsOverride = ''
[org.gnome.shell]
favorite-apps=[ 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
'';

nixos-gsettings-desktop-schemas = let
defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome3.gnome-shell ];
in
Expand All @@ -42,8 +47,7 @@ let
[org.gnome.desktop.screensaver]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}'

[org.gnome.shell]
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
${cfg.favoriteAppsOverride}

${cfg.extraGSettingsOverrides}
EOF
Expand Down Expand Up @@ -123,6 +127,17 @@ in
apply = list: list ++ [ pkgs.gnome3.gnome-shell pkgs.gnome3.gnome-shell-extensions ];
};

favoriteAppsOverride = mkOption {
internal = true; # this is messy
default = defaultFavoriteAppsOverride;
type = types.lines;
example = literalExample ''
[org.gnome.shell]
favorite-apps=[ 'firefox.desktop', 'org.gnome.Calendar.desktop' ]
'';
description = "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally.";
};

extraGSettingsOverrides = mkOption {
default = "";
type = types.lines;
Expand Down Expand Up @@ -207,6 +222,11 @@ in

# If gnome3 is installed, build vim for gtk3 too.
nixpkgs.config.vim.gui = "gtk3";

# Install gnome-software if flatpak is enabled
services.flatpak.guiPackages = [
pkgs.gnome3.gnome-software
];
})

(mkIf flashbackEnabled {
Expand Down Expand Up @@ -389,7 +409,6 @@ in
gnome-music
gnome-photos
gnome-screenshot
gnome-software
gnome-system-monitor
gnome-weather
nautilus
Expand Down