This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
AsaJS/options/home/programs/dolphin.nix
2026-04-14 10:28:32 +07:00

389 lines
10 KiB
Nix

{
lib,
pkgs,
...
}: {
options.programs.dolphin = {
enable = lib.mkEnableOption "dolphin";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.kdePackages.dolphin;
};
config = {
General = {
DoubleClickViewAction = lib.mkOption {
type = lib.types.str;
default = "edit_select_all";
};
DoubleClickViewCustomAction = lib.mkOption {
type = lib.types.str;
default = "";
};
EditableUrl = lib.mkOption {
type = lib.types.bool;
default = false;
};
UrlCompletionMode = lib.mkOption {
type = lib.types.int;
default = 1;
};
ShowFullPath = lib.mkOption {
type = lib.types.bool;
default = false;
};
ShowFullPathInTitlebar = lib.mkOption {
type = lib.types.bool;
default = false;
};
OpenExternallyCalledFolderInNewTab = lib.mkOption {
type = lib.types.bool;
default = false;
};
AlwaysShowTabBar = lib.mkOption {
type = lib.types.bool;
default = false;
};
ShowCloseButtonOnTabs = lib.mkOption {
type = lib.types.bool;
default = true;
};
TabStyle = lib.mkOption {
type = lib.types.enum ["AutoSize" "FullWidth" "FixedSize"];
default = "AutoSize";
};
Version = lib.mkOption {
type = lib.types.int;
default = 0;
};
HomeUrl = lib.mkOption {
type = lib.types.str;
default = "~";
};
RememberOpenedTabs = lib.mkOption {
type = lib.types.bool;
default = true;
};
SplitView = lib.mkOption {
type = lib.types.bool;
default = false;
};
FilterBar = lib.mkOption {
type = lib.types.bool;
default = false;
};
GlobalViewProps = lib.mkOption {
type = lib.types.bool;
default = true;
};
BrowseThroughArchives = lib.mkOption {
type = lib.types.bool;
default = false;
};
ConfirmClosingMultipleTabs = lib.mkOption {
type = lib.types.bool;
default = true;
};
ConfirmClosingTerminalRunningProgram = lib.mkOption {
type = lib.types.bool;
default = true;
};
RenameInline = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowSelectionToggle = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowPasteBarAfterCopying = lib.mkOption {
type = lib.types.bool;
default = true;
};
UseTabForSwitchingSplitView = lib.mkOption {
type = lib.types.bool;
default = false;
};
CloseSplitViewChoice = lib.mkOption {
type = lib.types.enum ["ActiveView" "InactiveView" "RightView"];
default = "ActiveView";
};
OpenNewTabAfterLastTab = lib.mkOption {
type = lib.types.bool;
default = false;
};
ShowToolTips = lib.mkOption {
type = lib.types.bool;
default = false;
};
AutoExpandFolders = lib.mkOption {
type = lib.types.bool;
default = false;
};
ShowStatusBar = lib.mkOption {
type = lib.types.enum ["Small" "FullWidth" "Disabled"];
default = "Small";
};
ShowZoomSlider = lib.mkOption {
type = lib.types.bool;
default = false;
};
LockPanels = lib.mkOption {
type = lib.types.bool;
default = true;
};
EnlargeSmallPreviews = lib.mkOption {
type = lib.types.bool;
default = true;
};
SortingChoice = lib.mkOption {
type = lib.types.enum ["NaturalSorting" "CaseInsensitiveSorting" "CaseSensitiveSorting"];
default = "NaturalSorting";
};
HideXTrashFile = lib.mkOption {
type = lib.types.bool;
default = false;
};
DynamicView = lib.mkOption {
type = lib.types.bool;
default = false;
};
};
CompactMode = {
UseSystemFont = lib.mkOption {
type = lib.types.bool;
default = true;
};
ViewFont = lib.mkOption {
type = lib.types.str;
default = "System Font";
};
IconSize = lib.mkOption {
type = lib.types.int;
default = 22;
};
PreviewSize = lib.mkOption {
type = lib.types.int;
default = 48;
};
MaximumTextWidthIndex = lib.mkOption {
type = lib.types.int;
default = 0;
};
};
ContentDisplay = {
DirectorySizeMode = lib.mkOption {
type = lib.types.enum ["ContentCount" "ContentSize" "None"];
default = "ContentCount";
};
RecursiveDirectorySizeLimit = lib.mkOption {
type = lib.types.int;
default = 10;
};
UseShortRelativeDates = lib.mkOption {
type = lib.types.bool;
default = true;
};
UsePermissionsFormat = lib.mkOption {
type = lib.types.enum ["SymbolicFormat" "NumericFormat" "CombinedFormat"];
default = "SymbolicFormat";
};
ElidingMode = lib.mkOption {
type = lib.types.enum ["Right" "Middle"];
default = "Middle";
};
};
ContextMenu = {
ShowCopyMoveMenu = lib.mkOption {
type = lib.types.bool;
default = false;
};
ShowAddToPlaces = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowSortBy = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowViewMode = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowOpenInNewTab = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowOpenInNewWindow = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowOpenInSplitView = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowCopyLocation = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowDuplicateHere = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowOpenTerminal = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowCopyToOtherSplitView = lib.mkOption {
type = lib.types.bool;
default = true;
};
ShowMoveToOtherSplitView = lib.mkOption {
type = lib.types.bool;
default = true;
};
};
DetailsMode = {
UseSystemFont = lib.mkOption {
type = lib.types.bool;
default = true;
};
ViewFont = lib.mkOption {
type = lib.types.str;
default = "System Font";
};
IconSize = lib.mkOption {
type = lib.types.int;
default = 16;
};
PreviewSize = lib.mkOption {
type = lib.types.int;
default = 48;
};
ColumnPositions = lib.mkOption {
type = lib.types.str;
default = "0,1,2,3,4,5,6,7,8";
};
LeftPadding = lib.mkOption {
type = lib.types.int;
default = 20;
};
RightPadding = lib.mkOption {
type = lib.types.int;
default = 20;
};
HighlightEntireRow = lib.mkOption {
type = lib.types.bool;
default = true;
};
ExpandableFolders = lib.mkOption {
type = lib.types.bool;
default = true;
};
};
IconsMode = {
UseSystemFont = lib.mkOption {
type = lib.types.bool;
default = true;
};
ViewFont = lib.mkOption {
type = lib.types.str;
default = "System Font";
};
IconSize = lib.mkOption {
type = lib.types.int;
default = 32;
};
PreviewSize = lib.mkOption {
type = lib.types.int;
default = 64;
};
TextWidthIndex = lib.mkOption {
type = lib.types.int;
default = 1;
};
MaximumTextLines = lib.mkOption {
type = lib.types.int;
default = 3;
};
};
Settings = {
HiddenFilesShown = lib.mkOption {
type = lib.types.bool;
default = false;
};
};
Dolphin = {
Version = lib.mkOption {
type = lib.types.int;
default = -1;
};
ViewMode = lib.mkOption {
type = lib.types.int;
default = 0;
};
PreviewsShown = lib.mkOption {
type = lib.types.bool;
default = true;
};
GroupedSorting = lib.mkOption {
type = lib.types.bool;
default = false;
};
SortRole = lib.mkOption {
type = lib.types.str;
default = "text";
};
SortOrder = lib.mkOption {
type = lib.types.int;
default = 0;
};
SortFoldersFirst = lib.mkOption {
type = lib.types.bool;
default = true;
};
SortHiddenLast = lib.mkOption {
type = lib.types.bool;
default = false;
};
VisibleRoles = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
};
HeaderColumnWidths = lib.mkOption {
type = lib.types.str;
default = "";
};
};
NotificationMessages = {
ConfirmOpenManyFolders = lib.mkOption {
type = lib.types.bool;
default = true;
};
ConfirmOpenManyTerminals = lib.mkOption {
type = lib.types.bool;
default = true;
};
ConfirmRenameFileType = lib.mkOption {
type = lib.types.bool;
default = true;
};
};
VersionControl = {
enabledPlugins = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
};
};
};
};
}