mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 06:08:11 +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
|
./git
|
||||||
./gnupg
|
./gnupg
|
||||||
./grok.nix
|
./grok.nix
|
||||||
|
./gnome.nix
|
||||||
./greetd.nix
|
./greetd.nix
|
||||||
./ly
|
./ly
|
||||||
./gtk
|
./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 {
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.displayManager.defaultSession = lib.mkDefault "niri";
|
||||||
|
|
||||||
services.displayManager.ly = {
|
services.displayManager.ly = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -15,19 +15,27 @@ in
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.xwayland.enable = true;
|
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 = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-wlr
|
pkgs.xdg-desktop-portal-gnome
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
pkgs.xdg-desktop-portal-wlr
|
||||||
];
|
];
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
config = {
|
config = {
|
||||||
common.default = [
|
common.default = [ "gtk" ];
|
||||||
|
niri.default = lib.mkForce [
|
||||||
"wlr"
|
"wlr"
|
||||||
"gtk"
|
"gtk"
|
||||||
];
|
];
|
||||||
|
gnome.default = [
|
||||||
|
"gnome"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,11 +8,12 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.features.gui.desktop = {
|
options.my.features.gui.desktop = {
|
||||||
enable = lib.mkEnableOption "Niri Wayland compositor environment";
|
enable = lib.mkEnableOption "Graphical desktop sessions";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
my.applications = {
|
my.applications = {
|
||||||
|
gnome.enable = true;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
|
|||||||
@@ -32,10 +32,5 @@ in
|
|||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user