From e091288eb76606c1117e97118396d92f42b69a5a Mon Sep 17 00:00:00 2001 From: Laurent Gueret Date: Wed, 8 Jul 2026 00:53:17 +0200 Subject: [PATCH] Move useless partials as modules --- hosts/nixos/home/partials/firefox.nix | 68 ---------- hosts/nixos/home/partials/gnome/dconf.nix | 111 ---------------- hosts/nixos/home/users/alistreaza.nix | 7 +- hosts/nixos/system/os.nix | 11 +- hosts/nixos/system/partials/apps/env.nix | 7 - hosts/nixos/system/partials/apps/settings.nix | 6 - modules/home/darwin/{app => }/paneru.nix | 0 modules/home/nixos/apps/firefox.nix | 79 +++++++++++ modules/home/nixos/{ => apps}/ghostty.nix | 2 +- modules/home/nixos/shells/gnome.nix | 124 ++++++++++++++++++ 10 files changed, 217 insertions(+), 198 deletions(-) delete mode 100644 hosts/nixos/home/partials/firefox.nix delete mode 100644 hosts/nixos/home/partials/gnome/dconf.nix delete mode 100644 hosts/nixos/system/partials/apps/env.nix delete mode 100644 hosts/nixos/system/partials/apps/settings.nix rename modules/home/darwin/{app => }/paneru.nix (100%) create mode 100644 modules/home/nixos/apps/firefox.nix rename modules/home/nixos/{ => apps}/ghostty.nix (89%) create mode 100644 modules/home/nixos/shells/gnome.nix diff --git a/hosts/nixos/home/partials/firefox.nix b/hosts/nixos/home/partials/firefox.nix deleted file mode 100644 index d3874b0..0000000 --- a/hosts/nixos/home/partials/firefox.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ ... }: - -{ - programs.firefox = { - enable = true; - policies = { - ExtensionSettings = { - "uBlock0@raymondhill.net" = { - default_area = "menupanel"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - private_browsing = true; - }; - }; - }; - profiles.alistreaza = { - settings = { - # Disable some telemetry - "app.shield.optoutstudies.enabled" = false; - "browser.discovery.enabled" = false; - "browser.newtabpage.activity-stream.feeds.telemetry" = false; - "browser.newtabpage.activity-stream.telemetry" = false; - "browser.ping-centre.telemetry" = false; - "datareporting.healthreport.service.enabled" = false; - "datareporting.healthreport.uploadEnabled" = false; - "datareporting.policy.dataSubmissionEnabled" = false; - "datareporting.sessions.current.clean" = true; - "devtools.onboarding.telemetry.logged" = false; - "toolkit.telemetry.archive.enabled" = false; - "toolkit.telemetry.bhrPing.enabled" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.firstShutdownPing.enabled" = false; - "toolkit.telemetry.hybridContent.enabled" = false; - "toolkit.telemetry.newProfilePing.enabled" = false; - "toolkit.telemetry.prompted" = 2; - "toolkit.telemetry.rejected" = true; - "toolkit.telemetry.reportingpolicy.firstRun" = false; - "toolkit.telemetry.server" = ""; - "toolkit.telemetry.shutdownPingSender.enabled" = false; - "toolkit.telemetry.unified" = false; - "toolkit.telemetry.unifiedIsOptIn" = false; - "toolkit.telemetry.updatePing.enabled" = false; - # New tab page - "browser.newtabpage.activity-stream.feeds.topsites" = false; - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false; - # No bookmartks - "browser.toolbars.bookmarks.visibility" = "never"; - # Vertical tabs - "sidebar.backupState" = { - "panelOpen" = true; - "launcherExpanded" = false; - "launcherVisible" = true; - }; - "sidebar.new-sidebar.has-used" = true; - "sidebar.verticalTabs" = true; - "sidebar.revamp" = true; - "sidebar.main.tools" = "history,passwords"; - }; - }; - }; - xdg.mimeApps.defaultApplications = { - "text/html" = [ "firefox.desktop" ]; - "text/xml" = [ "firefox.desktop" ]; - "x-scheme-handler/http" = [ "firefox.desktop" ]; - "x-scheme-handler/https" = [ "firefox.desktop" ]; - }; -} diff --git a/hosts/nixos/home/partials/gnome/dconf.nix b/hosts/nixos/home/partials/gnome/dconf.nix deleted file mode 100644 index db6bd82..0000000 --- a/hosts/nixos/home/partials/gnome/dconf.nix +++ /dev/null @@ -1,111 +0,0 @@ -{ - lib, - pkgs, - ... -}: -with lib.hm.gvariant; -{ - home.packages = with pkgs; [ - gnomeExtensions.paperwm - gnomeExtensions.app-hider - gnomeExtensions.dash-to-panel - ]; - - dconf = { - enable = true; - settings = { - - "org/gnome/desktop/input-sources" = { - sources = [ - (mkTuple [ - "xkb" - "fr+mac" - ]) - ]; - }; - - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = with pkgs.gnomeExtensions; [ - paperwm.extensionUuid - app-hider.extensionUuid - dash-to-panel.extensionUuid - ]; - }; - - "org/gnome/desktop/wm/preferences" = { - button-layout = "appmenu:maximize,minimize,close"; - }; - - "org/gnome/shell/extensions/app-hider" = { - hidden-apps = [ - "nvim.desktop" - "cups.desktop" - "xterm.desktop" - "nixos-manual.desktop" - "org.gnome.Loupe.desktop" - ]; - }; - - "org/gnome/desktop/interface" = { - accent-color = "teal"; - color-scheme = "prefer-dark"; - }; - - "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; - }; - - "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; - }; - - }; - }; -} diff --git a/hosts/nixos/home/users/alistreaza.nix b/hosts/nixos/home/users/alistreaza.nix index 9c8255d..2d4a55a 100644 --- a/hosts/nixos/home/users/alistreaza.nix +++ b/hosts/nixos/home/users/alistreaza.nix @@ -4,7 +4,6 @@ imports = [ (import-tree ../../../../modules/home/common) (import-tree ../../../../modules/home/nixos) - (import-tree ../partials) ]; home = { @@ -20,12 +19,12 @@ home.shell.git.enable = true; home.shell.neovim.enable = true; - # Terminal app - home.ghostty.enable = true; - # Code editor home.env.nix.enable = true; + # Terminal app + home.ghostty.enable = true; + # The state version is required and should stay at the version you # originally installed. home.stateVersion = "25.11"; diff --git a/hosts/nixos/system/os.nix b/hosts/nixos/system/os.nix index f07f9d5..75c1813 100755 --- a/hosts/nixos/system/os.nix +++ b/hosts/nixos/system/os.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { # System services @@ -30,6 +30,15 @@ # Terminal programs.ssh.enableAskPassword = false; # No-window git push fix + environment.systemPackages = with pkgs; [ + pods + zed-editor + ]; + + services.flatpak.packages = [ + "io.github.flattool.Warehouse" + ]; + # System version system.stateVersion = "25.11"; } diff --git a/hosts/nixos/system/partials/apps/env.nix b/hosts/nixos/system/partials/apps/env.nix deleted file mode 100644 index 3b6e514..0000000 --- a/hosts/nixos/system/partials/apps/env.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = with pkgs; [ - pods - zed-editor - ]; -} diff --git a/hosts/nixos/system/partials/apps/settings.nix b/hosts/nixos/system/partials/apps/settings.nix deleted file mode 100644 index 20a1d76..0000000 --- a/hosts/nixos/system/partials/apps/settings.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - services.flatpak.packages = [ - "io.github.flattool.Warehouse" - ]; -} diff --git a/modules/home/darwin/app/paneru.nix b/modules/home/darwin/paneru.nix similarity index 100% rename from modules/home/darwin/app/paneru.nix rename to modules/home/darwin/paneru.nix diff --git a/modules/home/nixos/apps/firefox.nix b/modules/home/nixos/apps/firefox.nix new file mode 100644 index 0000000..2b0f68b --- /dev/null +++ b/modules/home/nixos/apps/firefox.nix @@ -0,0 +1,79 @@ +{ lib, config, ... }: +with lib; +let + cfg = config.home.firefox; +in +{ + options.home.firefox = { + enable = mkEnableOption "Ghostty service"; + }; + config = mkIf cfg.enable { + + xdg.mimeApps.defaultApplications = { + "text/html" = [ "firefox.desktop" ]; + "text/xml" = [ "firefox.desktop" ]; + "x-scheme-handler/http" = [ "firefox.desktop" ]; + "x-scheme-handler/https" = [ "firefox.desktop" ]; + }; + + programs.firefox = { + enable = true; + policies = { + ExtensionSettings = { + "uBlock0@raymondhill.net" = { + default_area = "menupanel"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + private_browsing = true; + }; + }; + }; + profiles.alistreaza = { + settings = { + # Disable some telemetry + "app.shield.optoutstudies.enabled" = false; + "browser.discovery.enabled" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.ping-centre.telemetry" = false; + "datareporting.healthreport.service.enabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.sessions.current.clean" = true; + "devtools.onboarding.telemetry.logged" = false; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.hybridContent.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.prompted" = 2; + "toolkit.telemetry.rejected" = true; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + "toolkit.telemetry.server" = ""; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.unifiedIsOptIn" = false; + "toolkit.telemetry.updatePing.enabled" = false; + # New tab page + "browser.newtabpage.activity-stream.feeds.topsites" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false; + # No bookmartks + "browser.toolbars.bookmarks.visibility" = "never"; + # Vertical tabs + "sidebar.backupState" = { + "panelOpen" = true; + "launcherExpanded" = false; + "launcherVisible" = true; + }; + "sidebar.new-sidebar.has-used" = true; + "sidebar.verticalTabs" = true; + "sidebar.revamp" = true; + "sidebar.main.tools" = "history,passwords"; + }; + }; + }; + + }; +} diff --git a/modules/home/nixos/ghostty.nix b/modules/home/nixos/apps/ghostty.nix similarity index 89% rename from modules/home/nixos/ghostty.nix rename to modules/home/nixos/apps/ghostty.nix index 8d4ed93..42829e0 100644 --- a/modules/home/nixos/ghostty.nix +++ b/modules/home/nixos/apps/ghostty.nix @@ -5,7 +5,7 @@ let in { options.home.ghostty = { - enable = mkEnableOption "Xdg service"; + enable = mkEnableOption "Ghostty service"; }; config = mkIf cfg.enable { diff --git a/modules/home/nixos/shells/gnome.nix b/modules/home/nixos/shells/gnome.nix new file mode 100644 index 0000000..a94fae1 --- /dev/null +++ b/modules/home/nixos/shells/gnome.nix @@ -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; + }; + }; + }; + }; + }; +}