seriously plasma is SO buggy the way i have it set up i just wanted to check if an issue was with hyprland or wayland in general, and it appears to be wayland lmao
280 lines
7.9 KiB
Nix
280 lines
7.9 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
programs.plasma = {
|
|
enable = true;
|
|
|
|
hotkeys.commands."launch-konsole" = {
|
|
name = "Launch Konsole";
|
|
key = "Meta+Alt+K";
|
|
command = "konsole";
|
|
};
|
|
|
|
fonts = {
|
|
general = {
|
|
family = "JetBrains Mono";
|
|
pointSize = 12;
|
|
};
|
|
};
|
|
|
|
desktop.widgets = [
|
|
{
|
|
plasmusicToolbar = {
|
|
position = {
|
|
horizontal = 51;
|
|
vertical = 100;
|
|
};
|
|
size = {
|
|
width = 250;
|
|
height = 250;
|
|
};
|
|
};
|
|
}
|
|
];
|
|
|
|
panels = [
|
|
# Windows-like panel at the bottom
|
|
{
|
|
location = "bottom";
|
|
widgets = [
|
|
# We can configure the widgets by adding the name and config
|
|
# attributes. For example to add the the kickoff widget and set the
|
|
# icon to "nix-snowflake-white" use the below configuration. This will
|
|
# add the "icon" key to the "General" group for the widget in
|
|
# ~/.config/plasma-org.kde.plasma.desktop-appletsrc.
|
|
{
|
|
name = "org.kde.plasma.kickoff";
|
|
config = {
|
|
General = {
|
|
icon = "nix-snowflake-white";
|
|
alphaSort = true;
|
|
};
|
|
};
|
|
}
|
|
# Or you can configure the widgets by adding the widget-specific options for it.
|
|
# See modules/widgets for supported widgets and options for these widgets.
|
|
# For example:
|
|
{
|
|
kickoff = {
|
|
sortAlphabetically = true;
|
|
icon = "nix-snowflake-white";
|
|
};
|
|
}
|
|
# Adding configuration to the widgets can also for example be used to
|
|
# pin apps to the task-manager, which this example illustrates by
|
|
# pinning dolphin and konsole to the task-manager by default with widget-specific options.
|
|
{
|
|
iconTasks = {
|
|
launchers = [
|
|
"applications:org.kde.dolphin.desktop"
|
|
"applications:org.kde.konsole.desktop"
|
|
];
|
|
};
|
|
}
|
|
# Or you can do it manually, for example:
|
|
{
|
|
name = "org.kde.plasma.icontasks";
|
|
config = {
|
|
General = {
|
|
launchers = [
|
|
"applications:org.kde.dolphin.desktop"
|
|
"applications:org.kde.konsole.desktop"
|
|
];
|
|
};
|
|
};
|
|
}
|
|
# If no configuration is needed, specifying only the name of the
|
|
# widget will add them with the default configuration.
|
|
"org.kde.plasma.marginsseparator"
|
|
# If you need configuration for your widget, instead of specifying the
|
|
# the keys and values directly using the config attribute as shown
|
|
# above, plasma-manager also provides some higher-level interfaces for
|
|
# configuring the widgets. See modules/widgets for supported widgets
|
|
# and options for these widgets. The widgets below shows two examples
|
|
# of usage, one where we add a digital clock, setting 12h time and
|
|
# first day of the week to Sunday and another adding a systray with
|
|
# some modifications in which entries to show.
|
|
{
|
|
digitalClock = {
|
|
calendar.firstDayOfWeek = "sunday";
|
|
time.format = "12h";
|
|
};
|
|
}
|
|
{
|
|
systemTray.items = {
|
|
# We explicitly show bluetooth and battery
|
|
shown = [
|
|
"org.kde.plasma.battery"
|
|
"org.kde.plasma.bluetooth"
|
|
];
|
|
# And explicitly hide networkmanagement and volume
|
|
hidden = [
|
|
"org.kde.plasma.networkmanagement"
|
|
"org.kde.plasma.volume"
|
|
];
|
|
};
|
|
}
|
|
];
|
|
hiding = "none";
|
|
}
|
|
# Application name, Global menu and Song information and playback controls at the top
|
|
{
|
|
location = "top";
|
|
height = 26;
|
|
widgets = [
|
|
{
|
|
applicationTitleBar = {
|
|
behavior = {
|
|
activeTaskSource = "activeTask";
|
|
};
|
|
layout = {
|
|
elements = [ "windowTitle" ];
|
|
horizontalAlignment = "left";
|
|
showDisabledElements = "deactivated";
|
|
verticalAlignment = "center";
|
|
};
|
|
overrideForMaximized.enable = false;
|
|
titleReplacements = [
|
|
{
|
|
type = "regexp";
|
|
originalTitle = "^Brave Web Browser$";
|
|
newTitle = "Brave";
|
|
}
|
|
{
|
|
type = "regexp";
|
|
originalTitle = ''\\bDolphin\\b'';
|
|
newTitle = "File manager";
|
|
}
|
|
];
|
|
windowTitle = {
|
|
font = {
|
|
bold = false;
|
|
fit = "fixedSize";
|
|
size = 12;
|
|
};
|
|
hideEmptyTitle = true;
|
|
margins = {
|
|
bottom = 0;
|
|
left = 10;
|
|
right = 5;
|
|
top = 0;
|
|
};
|
|
source = "appName";
|
|
};
|
|
};
|
|
}
|
|
"org.kde.plasma.appmenu"
|
|
"org.kde.plasma.panelspacer"
|
|
{
|
|
plasmusicToolbar = {
|
|
panelIcon = {
|
|
albumCover = {
|
|
useAsIcon = false;
|
|
radius = 8;
|
|
};
|
|
icon = "view-media-track";
|
|
};
|
|
playbackSource = "auto";
|
|
musicControls.showPlaybackControls = true;
|
|
songText = {
|
|
displayInSeparateLines = true;
|
|
maximumWidth = 640;
|
|
scrolling = {
|
|
behavior = "alwaysScroll";
|
|
speed = 3;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
window-rules = [
|
|
{
|
|
description = "Dolphin";
|
|
match = {
|
|
window-class = {
|
|
value = "dolphin";
|
|
type = "substring";
|
|
};
|
|
window-types = [ "normal" ];
|
|
};
|
|
apply = {
|
|
noborder = {
|
|
value = true;
|
|
apply = "force";
|
|
};
|
|
# `apply` defaults to "apply-initially"
|
|
maximizehoriz = true;
|
|
maximizevert = true;
|
|
};
|
|
}
|
|
];
|
|
|
|
powerdevil = {
|
|
AC = {
|
|
powerButtonAction = "lockScreen";
|
|
autoSuspend = {
|
|
action = "shutDown";
|
|
idleTimeout = 1000;
|
|
};
|
|
turnOffDisplay = {
|
|
idleTimeout = 1000;
|
|
idleTimeoutWhenLocked = "immediately";
|
|
};
|
|
};
|
|
battery = {
|
|
powerButtonAction = "sleep";
|
|
whenSleepingEnter = "standbyThenHibernate";
|
|
};
|
|
lowBattery = {
|
|
whenLaptopLidClosed = "hibernate";
|
|
};
|
|
};
|
|
|
|
kwin = {
|
|
edgeBarrier = 0; # Disables the edge-barriers introduced in plasma 6.1
|
|
cornerBarrier = false;
|
|
|
|
scripts.polonium.enable = true;
|
|
};
|
|
|
|
kscreenlocker = {
|
|
lockOnResume = true;
|
|
timeout = 10;
|
|
};
|
|
|
|
#
|
|
# Some mid-level settings:
|
|
#
|
|
shortcuts = {
|
|
ksmserver = {
|
|
"Lock Session" = [
|
|
"Screensaver"
|
|
"Meta+Ctrl+Alt+L"
|
|
];
|
|
};
|
|
|
|
kwin = {
|
|
"Expose" = "Meta+,";
|
|
"Switch Window Down" = "Meta+J";
|
|
"Switch Window Left" = "Meta+H";
|
|
"Switch Window Right" = "Meta+L";
|
|
"Switch Window Up" = "Meta+K";
|
|
};
|
|
};
|
|
|
|
#
|
|
# Some low-level settings:
|
|
#
|
|
configFile = {
|
|
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
|
|
kwinrc."org.kde.kdecoration2".ButtonsOnLeft = "SF";
|
|
kwinrc.Desktops.Number = {
|
|
value = 8;
|
|
# Forces kde to not change this value (even through the settings app).
|
|
immutable = true;
|
|
};
|
|
};
|
|
};
|
|
}
|