mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 00:58:12 +09:00
Merge pull request #24 from moons-14/codex/gnomely
Add GNOME module, centralize Wayland portals, set default Ly session, and remove camera portal
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
./git
|
||||
./gnupg
|
||||
./grok.nix
|
||||
./gnome.nix
|
||||
./greetd.nix
|
||||
./ly
|
||||
./gtk
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.gnome;
|
||||
in
|
||||
{
|
||||
options.my.applications.gnome = {
|
||||
enable = lib.mkEnableOption "GNOME desktop environment";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.desktopManager.gnome.enable = true;
|
||||
|
||||
# ly is the display manager for switching between installed sessions.
|
||||
services.displayManager.gdm.enable = lib.mkForce false;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome-tweaks # GNOME desktop customization tool
|
||||
gnome-extension-manager # GNOME Shell extension manager
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -17,6 +17,8 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.displayManager.defaultSession = lib.mkDefault "niri";
|
||||
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -15,19 +15,27 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.xwayland.enable = true;
|
||||
|
||||
# Keep global Wayland portal settings in this module so hardware/application
|
||||
# modules do not each append their own portal backends.
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
];
|
||||
xdgOpenUsePortal = true;
|
||||
config = {
|
||||
common.default = [
|
||||
common.default = [ "gtk" ];
|
||||
niri.default = lib.mkForce [
|
||||
"wlr"
|
||||
"gtk"
|
||||
];
|
||||
gnome.default = [
|
||||
"gnome"
|
||||
"gtk"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -8,11 +8,12 @@ let
|
||||
in
|
||||
{
|
||||
options.my.features.gui.desktop = {
|
||||
enable = lib.mkEnableOption "Niri Wayland compositor environment";
|
||||
enable = lib.mkEnableOption "Graphical desktop sessions";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.applications = {
|
||||
gnome.enable = true;
|
||||
gtk.enable = true;
|
||||
niri.enable = true;
|
||||
wayland.enable = true;
|
||||
|
||||
@@ -32,10 +32,5 @@ in
|
||||
pulse.enable = true;
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user