dotfiles/flakes/de_plasma/home_manager/default.nix
RingOfStorms (Joshua Bell) e1600b97e5 dont restore apps
2025-12-12 23:00:56 -06:00

312 lines
8.1 KiB
Nix

{
osConfig,
lib,
...
}:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf;
in
{
imports = [
./shortcuts.nix
];
options = { };
config = mkIf cfg.enable {
programs.feh.enable = true; # Image preview
programs.plasma = {
enable = true;
immutableByDefault = true;
overrideConfig = true;
desktop = {
mouseActions = {
leftClick = null;
middleClick = "contextMenu";
rightClick = "contextMenu";
};
widgets = [
# {
# plasmusicToolbar = {
# background = "transparentShadow";
# position = {
# horizontal = 51;
# vertical = 300;
# };
# size = {
# height = 400;
# width = 250;
# };
# };
# }
];
};
fonts = {
fixedWidth = {
family = "JetBrainsMono Nerd Font Mono";
pointSize = 11;
};
# general = {
# family = "";
# pointSize = 11;
# };
};
input = {
keyboard = {
layouts = [
{ layout = "us"; }
];
};
mice = [
# {
# acceleration = 0.5;
# accelerationProfile = "none";
# enable = true;
# leftHanded = false;
# middleButtonEmulation = false;
# name = "Logitech G403 HERO Gaming Mouse";
# naturalScroll = false;
# productId = "c08f";
# scrollSpeed = 1;
# vendorId = "046d";
# }
];
touchpads = [
# {
# disableWhileTyping = true;
# enable = true;
# leftHanded = true;
# middleButtonEmulation = true;
# name = "PNP0C50:00 0911:5288 Touchpad";
# naturalScroll = true;
# pointerSpeed = 0;
# productId = "21128";
# tapToClick = true;
# vendorId = "2321";
# }
];
};
krunner = {
activateWhenTypingOnDesktop = true;
historyBehavior = "enableAutoComplete";
position = "center";
shortcuts = {
launch = "Meta+Space";
runCommandOnClipboard = "Meta+Shift+Space";
};
};
kscreenlocker = {
appearance = {
alwaysShowClock = true;
showMediaControls = true;
wallpaper = ../../../hosts/_shared_assets/wallpapers/pixel_night.png;
# wallpaperPlainColor = "0,64,174,256";
};
autoLock = false;
lockOnResume = true;
lockOnStartup = false;
passwordRequired = true;
timeout = 5;
};
kwin = {
borderlessMaximizedWindows = true;
cornerBarrier = false;
edgeBarrier = 50;
effects = {
blur.enable = false;
desktopSwitching = {
animation = "off";
navigationWrapping = true;
};
dimInactive.enable = false;
fallApart.enable = false;
hideCursor = {
enable = true;
hideOnInactivity = 10;
hideOnTyping = true;
};
shakeCursor.enable = false;
snapHelper.enable = true;
translucency.enable = false;
windowOpenClose.animation = "off";
wobblyWindows.enable = false;
};
nightLight.enable = false;
scripts = {
polonium.enable = false;
};
# TODO these are not showing in pager for some reason? Set right?
virtualDesktops = {
names = [
""
""
""
""
""
""
""
""
""
];
rows = 1;
};
};
panels = [
{
location = "top";
alignment = "left";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
{
name = "org.dhruv8sh.kara";
config = {
general = {
spacing = 3;
type = 1;
};
type2 = {
fixedLen = 25;
labelSource = 1;
};
};
}
];
}
{
location = "top";
alignment = "center";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
"org.kde.plasma.digitalclock"
];
}
{
location = "top";
alignment = "right";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
"org.kde.plasma.systemtray"
];
}
{
location = "bottom";
alignment = "center";
lengthMode = "fit";
height = 30;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "dodgewindows";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.icontasks"
];
}
];
powerdevil = {
AC = {
autoSuspend.action = "nothing";
dimDisplay.enable = false;
dimKeyboard.enable = false;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "turnOffScreen";
powerProfile = "performance";
whenLaptopLidClosed = "turnOffScreen";
};
battery = {
autoSuspend.action = "nothing";
dimDisplay.enable = false;
dimKeyboard.enable = false;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "turnOffScreen";
powerProfile = "balanced";
whenLaptopLidClosed = "sleep";
};
batteryLevels = {
criticalAction = "shutDown";
criticalLevel = 3;
lowLevel = 15;
};
lowBattery.autoSuspend.action = "nothing";
general = {
pausePlayersOnSuspend = true;
};
};
session = {
general.askForConfirmationOnLogout = false;
sessionRestore = {
excludeApplications = [ ];
# restoreOpenApplicationsOnLogin = "onLastLogout";
restoreOpenApplicationsOnLogin = "startWithEmptySession";
};
};
# Window rules for specific applications
window-rules = [
{
description = "Kitty - No window decorations";
match = {
window-class = {
value = "kitty";
type = "exact";
};
};
apply = {
noborder = {
value = true;
apply = "force"; # Force this setting
};
};
}
];
windows = {
allowWindowsToRememberPositions = true;
};
workspace = {
enableMiddleClickPaste = true;
clickItemTo = "open";
colorScheme = "BreezeDark";
lookAndFeel = "org.kde.breezedark.desktop";
theme = "breeze-dark";
cursor.theme = "breeze_cursors";
wallpaper = [
../../../hosts/_shared_assets/wallpapers/pixel_neon.png
../../../hosts/_shared_assets/wallpapers/pixel_neon_v.png
];
};
configFile = {
kwalletrc.Wallet.Enabled = false;
plasmanotifyrc.Notifications.PopupPosition = "TopRight";
ksmserverrc.General.loginMode = "restorePreviousLogout";
kwinrc.Wayland.InputMethod =
"/run/current-system/sw/share/applications/org.fcitx.Fcitx5.desktop";
};
};
};
}