Move useless partials as modules

This commit is contained in:
2026-07-08 00:53:17 +02:00
parent 4e922387bf
commit e091288eb7
10 changed files with 217 additions and 198 deletions
+124
View File
@@ -0,0 +1,124 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.shell.gnome;
in
{
options.home.shell.gnome = {
extensions = {
paperwm = mkOption {
type = types.bool;
default = true;
description = "Enable the PaperWM extension.";
};
app-hider = mkOption {
type = types.bool;
default = true;
description = "Enable the App Hider extension.";
};
dash-to-panel = mkOption {
type = types.bool;
default = true;
description = "Enable the Dash to Panel extension.";
};
};
config = {
dconf = {
enable = true;
settings = {
# We define the input sources to use the French layout with Mac keyboard variant.
"org/gnome/desktop/input-sources" = {
sources = [
(mkTuple [
"xkb"
"fr+mac"
])
];
};
# We define the interface settings to use a teal accent color and prefer dark color scheme.
"org/gnome/desktop/interface" = {
accent-color = "teal";
color-scheme = "prefer-dark";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:maximize,minimize,close";
};
# We define the shell settings to enable user extensions
# and enable the PaperWM, App Hider, and Dash to Panel extensions if they are enabled in the configuration.
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions =
with pkgs.gnomeExtensions;
[ ]
+ mk-if cfg.extensions.paperwm [ paperwm.extensionUuid ]
+ mk-if cfg.extensions.app-hider [ app-hider.extensionUuid ]
+ mk-if cfg.extensions.dash-to-panel [ dash-to-panel.extensionUuid ];
};
}
+ mkIf cfg.extensions.app-hider {
"org/gnome/shell/extensions/app-hider" = {
hidden-apps = [
"nvim.desktop"
"cups.desktop"
"xterm.desktop"
"nixos-manual.desktop"
];
};
}
+ mkIf cfg.extensions.dash-to-panel {
"org/gnome/shell/extensions/dash-to-panel" = {
prefs-opened = false;
isolate-monitors = true;
isolate-workspaces = true;
appicon-margin = 2;
appicon-padding = 12;
trans-panel-opacity = 0.75;
trans-use-border = true;
trans-use-custom-opacity = true;
dot-color-dominant = true;
dot-color-override = false;
dot-color-unfocused-different = false;
dot-position = "BOTTOM";
dot-style-focused = "METRO";
dot-style-unfocused = "SQUARES";
panel-top-bottom-margins = 0;
panel-top-bottom-padding = 0;
focus-highlight = false;
focus-highlight-dominant = true;
highlight-appicon-hover = true;
hide-overview-on-startup = true;
};
}
+ mkIf cfg.extensions.paperwm {
"org/gnome/shell/extensions/paperwm" = {
show-window-position-bar = false;
show-workspace-indicator = false;
};
"org/gnome/shell/extensions/paperwm/workspaces" = {
list = [
"personal"
"university"
];
};
"org/gnome/shell/extensions/paperwm/workspaces/personal" = {
name = "Personel";
index = 0;
};
"org/gnome/shell/extensions/paperwm/workspaces/university" = {
name = "Université";
index = 1;
};
};
};
};
};
}