fix qt6 dolphin and kde theming
A small sample of the massive uncommitted change hoard
This commit is contained in:
parent
945793973e
commit
546298220a
modules
|
@ -14,61 +14,31 @@
|
|||
};
|
||||
|
||||
home-manager.users.${config.main-user} = {
|
||||
home.file.".icons/default/index.theme".text = ''
|
||||
[Icon Theme]
|
||||
Inherits=breeze_cursors
|
||||
'';
|
||||
|
||||
xdg.configFile = let
|
||||
qtctConf = colors: ''
|
||||
[Appearance]
|
||||
style=Breeze
|
||||
icon_theme=breeze-dark
|
||||
standard_dialogs=xdgdesktopportal
|
||||
|
||||
# Cantata misbehaves without color overrides. This overrides the breeze colors with the
|
||||
# exact same colors.
|
||||
color_scheme_path=${colors}
|
||||
custom_palette=true
|
||||
|
||||
[Interface]
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=2
|
||||
double_click_interval=400
|
||||
gui_effects=General, AnimateMenu, AnimateCombo
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
'';
|
||||
in {
|
||||
# fixes dolphin background colors
|
||||
"kdeglobals".source = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors";
|
||||
|
||||
"qt5ct/qt5ct.conf".text = qtctConf ./colors-qt5ct.conf;
|
||||
"qt6ct/qt6ct.conf".text = qtctConf ./colors-qt6ct.conf;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.kdePackages.breeze-gtk;
|
||||
name = "Breeze-Dark";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.kdePackages.breeze-icons;
|
||||
name = "breeze-dark";
|
||||
};
|
||||
cursorTheme = {
|
||||
package = pkgs.kdePackages.breeze-gtk;
|
||||
name = "breeze_cursors";
|
||||
};
|
||||
|
||||
gtk3.extraConfig.gtk-xft-rgba = "rgb";
|
||||
gtk4.extraConfig.gtk-xft-rgba = "rgb";
|
||||
};
|
||||
imports = [ ./home.nix ];
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [(final: prev: {
|
||||
qt6Packages = prev.qt6Packages.overrideScope (qfinal: qprev: {
|
||||
qt6ct = qprev.qt6ct.overrideAttrs (ctprev: {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ilya-fedin";
|
||||
repo = "qt6ct";
|
||||
rev = "refs/heads/shenanigans";
|
||||
sha256 = "2RlzcjGx4vBs+r/kXd1kP3o5tQ5hWdlu4J/tWmd7FVk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = (builtins.filter (p: p != qfinal.qmake) ctprev.nativeBuildInputs) ++ [ final.cmake ];
|
||||
|
||||
buildInputs = ctprev.buildInputs ++ (with final.kdePackages; [
|
||||
kconfig
|
||||
kcolorscheme
|
||||
kiconthemes
|
||||
]);
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "PLUGINDIR" "lib/qt-6/plugins")
|
||||
];
|
||||
});
|
||||
});
|
||||
})];
|
||||
}
|
||||
|
|
70
modules/theme/home.nix
Normal file
70
modules/theme/home.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ pkgs, ... }: {
|
||||
home.file.".icons/default/index.theme".text = ''
|
||||
[Icon Theme]
|
||||
Inherits=breeze_cursors
|
||||
'';
|
||||
|
||||
xdg.configFile = let
|
||||
qtctConf = kdecolors: ''
|
||||
[Appearance]
|
||||
${if kdecolors then ''
|
||||
color_scheme_path=${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors
|
||||
'' else ''
|
||||
color_scheme_path=${./colors-qt5ct.conf}
|
||||
''}
|
||||
custom_palette=true
|
||||
icon_theme=breeze-dark
|
||||
standard_dialogs=xdgdesktopportal
|
||||
style=Breeze
|
||||
|
||||
[Fonts]
|
||||
fixed="JetBrainsMono Nerd Font,12,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium"
|
||||
general="DejaVu Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=2
|
||||
double_click_interval=400
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
toolbutton_style=2
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=0
|
||||
'';
|
||||
in {
|
||||
# fixes dolphin background colors
|
||||
"kdeglobals".source = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors";
|
||||
|
||||
"qt5ct/qt5ct.conf".text = qtctConf false;
|
||||
"qt6ct/qt6ct.conf".text = qtctConf true;
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.kdePackages.breeze
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.kdePackages.breeze-gtk;
|
||||
name = "Breeze-Dark";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.kdePackages.breeze-icons;
|
||||
name = "breeze-dark";
|
||||
};
|
||||
cursorTheme = {
|
||||
package = pkgs.kdePackages.breeze-gtk;
|
||||
name = "breeze_cursors";
|
||||
};
|
||||
|
||||
gtk3.extraConfig.gtk-xft-rgba = "rgb";
|
||||
gtk4.extraConfig.gtk-xft-rgba = "rgb";
|
||||
};
|
||||
}
|
|
@ -3,14 +3,30 @@
|
|||
kdePackages.dolphin
|
||||
libssh # sftp
|
||||
|
||||
kdePackages.dolphin-plugins
|
||||
|
||||
# open with
|
||||
kdePackages.kservice
|
||||
kdePackages.kde-cli-tools
|
||||
|
||||
# thumbnails
|
||||
ffmpegthumbs
|
||||
kdePackages.kio
|
||||
kdePackages.kio-extras
|
||||
kdePackages.kio-fuse
|
||||
kdePackages.kimageformats
|
||||
kdePackages.kdegraphics-thumbnailers
|
||||
|
||||
# compress menu
|
||||
kdePackages.ark
|
||||
];
|
||||
|
||||
xdg.configFile."dolphinrc".source = ./dolphinrc;
|
||||
xdg.configFile = {
|
||||
"dolphinrc".source = ./dolphinrc;
|
||||
# taken from plasma-workspace. required for dolphin to be able to open any files.
|
||||
# https://github.com/KDE/plasma-workspace/blob/master/menu/desktop/plasma-applications.menu
|
||||
"menus/applications.menu".source = ./plasma-applications.menu;
|
||||
};
|
||||
xdg.dataFile = {
|
||||
"kxmlgui5/dolphin/dolphinui.rc".source = ./dolphinui.rc;
|
||||
"dolphin/view_properties/global/.directory".source = ./view_properties;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
MenuBar=Disabled
|
||||
|
||||
[General]
|
||||
BrowseThroughArchives=true
|
||||
OpenExternallyCalledFolderInNewTab=false
|
||||
|
|
410
modules/user/modules/dolphin/plasma-applications.menu
Normal file
410
modules/user/modules/dolphin/plasma-applications.menu
Normal file
|
@ -0,0 +1,410 @@
|
|||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||
|
||||
<Menu>
|
||||
<Name>Applications</Name>
|
||||
<Directory>kde-main.directory</Directory>
|
||||
<!-- Search the default locations -->
|
||||
<DefaultAppDirs/>
|
||||
<DefaultDirectoryDirs/>
|
||||
<DefaultLayout>
|
||||
<Merge type="menus"/>
|
||||
<Merge type="files"/>
|
||||
<Separator/>
|
||||
<Menuname>More</Menuname>
|
||||
</DefaultLayout>
|
||||
<Layout>
|
||||
<Merge type="menus"/>
|
||||
<Menuname>Applications</Menuname>
|
||||
<Merge type="files"/>
|
||||
</Layout>
|
||||
|
||||
<Menu>
|
||||
<Name>Applications</Name>
|
||||
<Directory>kf5-unknown.directory</Directory>
|
||||
<OnlyUnallocated/>
|
||||
<Include>
|
||||
<Not>
|
||||
<!-- Don't list non-KDE core applications -->
|
||||
<And>
|
||||
<Category>Core</Category>
|
||||
<Not><Category>KDE</Category></Not>
|
||||
</And>
|
||||
<!-- Don't list SUSE's YaST in here -->
|
||||
<Category>X-SuSE-YaST</Category>
|
||||
<Category>X-KDE-settings-hardware</Category>
|
||||
<Category>X-KDE-settings-accessibility</Category>
|
||||
<Category>X-KDE-settings-components</Category>
|
||||
<Category>X-KDE-settings-desktop</Category>
|
||||
<Category>X-KDE-settings-looknfeel</Category>
|
||||
<Category>X-KDE-settings-network</Category>
|
||||
<Category>X-KDE-settings-webbrowsing</Category>
|
||||
<Category>X-KDE-settings-peripherals</Category>
|
||||
<Category>X-KDE-settings-hardware</Category>
|
||||
<Category>X-KDE-settings-power</Category>
|
||||
<Category>X-KDE-settings-security</Category>
|
||||
<Category>X-KDE-settings-sound</Category>
|
||||
<Category>X-KDE-settings-system</Category>
|
||||
<Category>X-KDE-information</Category>
|
||||
<Filename>kde-kcm_knetworkconfmodule_ss.desktop</Filename>
|
||||
<Filename>kde-medianotifications.desktop</Filename>
|
||||
<Filename>kde-audioencoding.desktop</Filename>
|
||||
</Not>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Development</Name>
|
||||
<Directory>kf5-development.directory</Directory>
|
||||
<Menu>
|
||||
<Name>Translation</Name>
|
||||
<Directory>kf5-development-translation.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Development</Category>
|
||||
<Category>Translation</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Web Development</Name>
|
||||
<Directory>kf5-development-webdevelopment.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Development</Category>
|
||||
<Category>WebDevelopment</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Development</Category>
|
||||
<Not><Category>Translation</Category></Not>
|
||||
<Not><Category>WebDevelopment</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Science</Name>
|
||||
<Directory>kf5-science.directory</Directory>
|
||||
<Include>
|
||||
<And><!-- Include /any/ Science app which is not an Education app -->
|
||||
<Or>
|
||||
<Category>Astronomy</Category>
|
||||
<Category>Biology</Category>
|
||||
<Category>Chemistry</Category>
|
||||
<Category>Geology</Category>
|
||||
<Category>MedicalSoftware</Category>
|
||||
<Category>Physics</Category>
|
||||
<Category>Math</Category>
|
||||
<Category>Science</Category>
|
||||
</Or>
|
||||
<Not><Category>Education</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Education</Name>
|
||||
<Directory>kf5-education.directory</Directory>
|
||||
<Menu>
|
||||
<Name>Languages</Name>
|
||||
<Directory>kf5-edu-languages.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Category>Languages</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Mathematics</Name>
|
||||
<Directory>kf5-edu-mathematics.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Category>Math</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Miscellaneous</Name>
|
||||
<Directory>kf5-edu-miscellaneous.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Not>
|
||||
<Category>Languages</Category>
|
||||
<Category>Math</Category>
|
||||
<Category>Science</Category>
|
||||
<Category>Teaching</Category>
|
||||
</Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Science</Name>
|
||||
<Directory>kf5-edu-science.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Category>Science</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Tools</Name>
|
||||
<Directory>kf5-edu-tools.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Education</Category>
|
||||
<Category>Teaching</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Games</Name>
|
||||
<Directory>kf5-games.directory</Directory>
|
||||
<Menu>
|
||||
<Name>Arcade</Name>
|
||||
<Directory>kf5-games-arcade.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>ArcadeGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Board</Name>
|
||||
<Directory>kf5-games-board.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>BoardGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Card</Name>
|
||||
<Directory>kf5-games-card.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>CardGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Kidsgames</Name>
|
||||
<Directory>kf5-games-kids.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>KidsGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>TacticStrategy</Name>
|
||||
<Directory>kf5-games-strategy.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>StrategyGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Logic</Name>
|
||||
<Directory>kf5-games-logic.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Category>LogicGame</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Game</Category>
|
||||
<Not>
|
||||
<Category>ArcadeGame</Category>
|
||||
<Category>BoardGame</Category>
|
||||
<Category>CardGame</Category>
|
||||
<Category>KidsGame</Category>
|
||||
<Category>StrategyGame</Category>
|
||||
<Category>LogicGame</Category>
|
||||
</Not>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Graphics</Name>
|
||||
<Directory>kf5-graphics.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Graphics</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Graphics</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Internet</Name>
|
||||
<Directory>kf5-internet.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Network</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>Terminal</Name>
|
||||
<Directory>kf5-internet-terminal.directory</Directory>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Network</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Multimedia</Name>
|
||||
<Directory>kf5-multimedia.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>AudioVideo</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>AudioVideo</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Office</Name>
|
||||
<Directory>kf5-office.directory</Directory>
|
||||
<Layout>
|
||||
<Merge type="menus"/>
|
||||
<Filename>kde-koshell.desktop</Filename>
|
||||
<Filename>kde-Kontact.desktop</Filename>
|
||||
<Separator/>
|
||||
<Filename>kde-kword.desktop</Filename>
|
||||
<Filename>kde-kspread.desktop</Filename>
|
||||
<Filename>kde-kpresenter.desktop</Filename>
|
||||
<Merge type="files"/>
|
||||
<Separator/>
|
||||
<Menuname>More</Menuname>
|
||||
</Layout>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Office</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Office</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Settingsmenu</Name>
|
||||
<Directory>kf5-settingsmenu.directory</Directory>
|
||||
<Include>
|
||||
<Category>Settings</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>System</Name>
|
||||
<Directory>kf5-system.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>System</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>System</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>ScreenSavers</Name>
|
||||
<Directory>kf5-system-screensavers.directory</Directory>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Terminal</Name>
|
||||
<Directory>kf5-system-terminal.directory</Directory>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>Utilities</Name>
|
||||
<Directory>kf5-utilities.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Utility</Category>
|
||||
<Not><Category>X-KDE-More</Category></Not>
|
||||
</And>
|
||||
<Category>TextEditor</Category>
|
||||
<Category>Accessibility</Category>
|
||||
<Category>X-KDE-Utilities-Desktop</Category>
|
||||
<Category>X-KDE-Utilities-File</Category>
|
||||
<Category>X-KDE-Utilities-Peripherals</Category>
|
||||
<Category>X-KDE-Utilities-PIM</Category>
|
||||
</Include>
|
||||
<Menu>
|
||||
<Name>XUtilities</Name>
|
||||
<Directory>kf5-utilities-xutils.directory</Directory>
|
||||
</Menu>
|
||||
<Menu>
|
||||
<Name>More</Name>
|
||||
<Directory>kf5-more.directory</Directory>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>Utility</Category>
|
||||
<Category>X-KDE-More</Category>
|
||||
</And>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
<Include>
|
||||
<And>
|
||||
<Category>KDE</Category>
|
||||
<Category>Core</Category>
|
||||
</And>
|
||||
</Include>
|
||||
<DefaultMergeDirs/>
|
||||
<MergeFile>applications-kmenuedit.menu</MergeFile>
|
||||
</Menu>
|
Loading…
Reference in a new issue