diff --git a/modules/desktop/gui.nix b/modules/desktop/gui.nix index 7ceb866..2e4cb48 100644 --- a/modules/desktop/gui.nix +++ b/modules/desktop/gui.nix @@ -49,6 +49,10 @@ (lib.mkIf guiEnabled { services.xserver.enable = true; + # Trash, MTP, network mounts, etc. for GTK file managers (Nemo). Without gvfs the Delete + # key silently fails (move-to-trash) while Shift+Delete still works (permanent delete). + services.gvfs.enable = lib.mkDefault true; + # Chromium/Electron (Edge, Vesktop, etc.) only add native Wayland + IME flags when this is # set; nixpkgs wrappers gate on NIXOS_OZONE_WL and WAYLAND_DISPLAY. Helps PipeWire/desktop # portal screen capture on wlroots-like sessions. Harmless on X11 (flags stay off). diff --git a/modules/desktop/hyprland/default.nix b/modules/desktop/hyprland/default.nix index 874bfa2..aca2e9a 100644 --- a/modules/desktop/hyprland/default.nix +++ b/modules/desktop/hyprland/default.nix @@ -103,7 +103,7 @@ "ControlSuper,T,exec,konsole" "SUPER,D,exec,rofi -show drun" "ControlSuper,D,exec,rofi -show window" - "SUPER,E,exec,dolphin" + "SUPER,E,exec,nemo" "Super, Q, killactive" "ControlSuper, Q, exec, hyprctl kill" "Super, F, fullscreen, 0" diff --git a/modules/desktop/niri/default.nix b/modules/desktop/niri/default.nix index 4642812..cc174be 100644 --- a/modules/desktop/niri/default.nix +++ b/modules/desktop/niri/default.nix @@ -56,7 +56,7 @@ let "Mod+Control+T"."spawn-sh" = "konsole"; #TODO[epic=Binds] This should only be set if having konsole "Mod+D"."spawn-sh" = "rofi -show drun"; #TODO[epic=Binds] This should only be set if having rofi "Mod+Space"."spawn-sh" = "dms ipc call spotlight toggle"; #TODO[epic=Binds] This should only be set if having dms - "Mod+E"."spawn-sh" = "dolphin"; #TODO[epic=Binds] This should only be set if having dolphin + "Mod+E"."spawn-sh" = "nemo"; #TODO[epic=Binds] This should only be set if having nemo "Mod+Control+O"."spawn-sh" = "rofi -show window"; #TODO[epic=Binds] This should only be set if having rofi "Mod+V"."spawn-sh" = "dms ipc call clipboard toggle"; #TODO[epic=Binds] This should only be set if having dms "Mod+N"."spawn-sh" = "dms ipc call notepad toggle"; #TODO[epic=Binds] This should only be set if having dms diff --git a/modules/hosts/desktop-home-base.nix b/modules/hosts/desktop-home-base.nix index d577743..13bc1ac 100644 --- a/modules/hosts/desktop-home-base.nix +++ b/modules/hosts/desktop-home-base.nix @@ -37,7 +37,7 @@ terminals.kitty.enable = lib.mkDefault true; - filebrowsers.dolphin.enable = lib.mkDefault true; + filebrowsers.nemo.enable = lib.mkDefault true; browsers = { chrome.enable = lib.mkDefault false; diff --git a/modules/wisdom/filebrowsers/dolphin.nix b/modules/wisdom/filebrowsers/dolphin.nix deleted file mode 100644 index cdba40a..0000000 --- a/modules/wisdom/filebrowsers/dolphin.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ ... }: { - flake.homeManagerModules.wisdomFilebrowsersDolphin = - { config, lib, pkgs, ... }: - let - root = config.chiasson.home; - cfg = root.filebrowsers.dolphin; - in - { - options.chiasson.home.filebrowsers.dolphin.enable = lib.mkEnableOption "Dolphin + declarative dolphinrc."; - - config = lib.mkIf (root.enable && cfg.enable) { - home.packages = [ pkgs.kdePackages.dolphin ]; - - xdg.configFile."dolphinrc".text = '' - [ContentDisplay] - UsePermissionsFormat=CombinedFormat - - [General] - StartupPath=~ - DoubleClickViewAction=show_hidden_files - ShowFullPath=true - ShowFullPathInTitlebar=true - ShowStatusBar=FullWidth - UseTabForSwitchingSplitView=true - Version=202 - ViewPropsTimestamp=2025,11,17,23,21,57.762 - - [KFileDialog Settings] - Places Icons Auto-resize=false - Places Icons Static Size=22 - - [MainWindow] - MenuBar=Disabled - ToolBarsMovable=Disabled - - [PreviewSettings] - Plugins=appimagethumbnail,audiothumbnail,blenderthumbnail,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,mobithumbnail,opendocumentthumbnail,gsthumbnail,rawthumbnail,svgthumbnail,ffmpegthumbs - - [IconsMode] - IconSize=48 - PreviewSize=48 - TextLines=2 - UseThumbnails=true - - [DetailsMode] - FontWeight=50 - HighlightEntireRow=true - - [ViewProperties] - Mode=1 - ColumnWidths=50,50,50,50,50,50,50,50,50,50 - SortColumn=0 - SortOrder=0 - SortFoldersFirst=true - SortHiddenLast=false - SortCaseSensitively=false - ShowPreviews=true - ShowInGroups=false - ShowFoldersFirst=true - ShowHiddenFilesLast=false - NaturalSorting=true - - [ContextMenu] - ShowCopyToMenu=true - ShowMoveToMenu=true - - [Search] - Location=Everywhere - - [SettingsWindow] - SidebarWidth=180 - SplitterState=AAAA/wAAAAD9AAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAQAAAAEAAAAA= - ''; - }; - }; -} diff --git a/modules/wisdom/filebrowsers/nemo.nix b/modules/wisdom/filebrowsers/nemo.nix new file mode 100644 index 0000000..8c032c8 --- /dev/null +++ b/modules/wisdom/filebrowsers/nemo.nix @@ -0,0 +1,24 @@ +{ ... }: { + flake.homeManagerModules.wisdomFilebrowsersNemo = + { config, lib, pkgs, ... }: + let + root = config.chiasson.home; + cfg = root.filebrowsers.nemo; + in + { + options.chiasson.home.filebrowsers.nemo.enable = lib.mkEnableOption '' + Nemo file manager (GTK). Colors come from DMS matugen via GTK settings — no KDE/Qt bridge needed. + ''; + + config = lib.mkIf (root.enable && cfg.enable) { + home.packages = [pkgs.nemo]; + + xdg.mimeApps = { + enable = lib.mkDefault true; + defaultApplications = { + "inode/directory" = lib.mkDefault "nemo.desktop"; + }; + }; + }; + }; +}