nixos/home/modules/plasma/default.nix

163 lines
3.8 KiB
Nix
Raw Normal View History

{ lib, pkgs, ... }:
{
programs.firefox = {
nativeMessagingHosts = [ pkgs.plasma-browser-integration ];
profiles.default = {
extensions = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ];
settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
"media.hardwaremediakeys.enabled" = false;
};
};
};
programs.plasma = {
enable = true;
overrideConfig = true;
input.touchpads = [{
enable = true;
name = "SynPS/2 Synaptics TouchPad";
vendorId = "0002";
productId = "0007";
disableWhileTyping = false;
naturalScroll = true;
}];
powerdevil = let
settings = {
powerButtonAction = "sleep";
};
modes = [ "AC" "battery" "lowBattery" ];
in lib.mergeAttrsList (
map (m: { "${m}" = settings; }) modes
);
kwin.edgeBarrier = 0;
workspace = {
clickItemTo = "open";
theme = "breeze-dark";
colorScheme = "BreezeDark";
lookAndFeel = "org.kde.breezedark.desktop";
wallpaper = ../../resources/wallpaper.png;
};
panels = [
{
screen = "all";
2024-08-17 21:35:40 +05:30
floating = false;
height = 44;
widgets = let
kickoff = {
kickoff.icon = "nix-snowflake-white";
2024-08-17 21:35:40 +05:30
};
taskmanager = {
iconTasks.launchers = [
"applications:systemsettings.desktop"
"applications:org.kde.dolphin.desktop"
"applications:firefox.desktop"
"applications:org.kde.konsole.desktop"
];
2024-08-17 21:35:40 +05:30
};
systray = {
2024-08-17 21:55:05 +05:30
systemTray.items.shown = [
2024-08-17 21:35:40 +05:30
"org.kde.plasma.battery"
];
};
digital-clock = {
digitalClock = {
date.format = "isoDate";
time.format = "24h";
calendar.firstDayOfWeek = "monday";
};
2024-08-17 21:35:40 +05:30
};
workspaces = "org.kde.plasma.pager";
separator = "org.kde.plasma.marginseparator";
desktop = "org.kde.plasma.showdesktop";
in
[
kickoff
workspaces
taskmanager
separator
digital-clock
separator
systray
desktop
];
}
];
window-rules = [
{
description = "Konsole";
match.window-class.value = "konsole org.kde.konsole";
apply = {
maximizehoriz = true;
maximizevert = true;
};
}
];
shortcuts = {
kwin = {
"Window Close" = "Alt+Q";
"Switch One Desktop Up" = "Ctrl+Alt+Up";
"Switch One Desktop Down" = "Ctrl+Alt+Down";
"Switch One Desktop to the Left" = "Ctrl+Alt+Left";
"Switch One Desktop to the Right" = "Ctrl+Alt+Right";
"Window One Desktop Up" = "Ctrl+Alt+Shift+Up";
"Window One Desktop Down" = "Ctrl+Alt+Shift+Down";
"Window One Desktop to the Left" = "Ctrl+Alt+Shift+Left";
"Window One Desktop to the Right" = "Ctrl+Alt+Shift+Right";
};
};
configFile = {
dolphinrc.General = {
RememberOpenedTabs = false;
BrowseThroughArchives = true;
UseTabForSwitchingSplitView = true;
};
kwinrc.TabBox = {
HighlightWindows = false;
MultiScreenMode = 1;
};
kwinrc.Desktops = {
Number = 4;
Rows = 2;
};
kwinrc.Windows = {
DelayFocusInterval = 0;
FocusPolicy = "FocusFollowsMouse";
NextFocusPrefersMouse = true;
FocusStealingPreventionLevel = 0;
};
kxkbrc.Layout = {
LayoutList = "us,ru";
DisplayNames = ",";
VariantList = ",";
Options = "caps:escape_shifted_capslock,grp:win_space_toggle";
ResetOldOptions = true;
};
};
};
}