mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
85 lines
2.6 KiB
Nix
85 lines
2.6 KiB
Nix
|
{ config, options, lib, pkgs, ... }:
|
||
|
|
||
|
let
|
||
|
cfg = config.themes.themes.knome;
|
||
|
in {
|
||
|
options.themes.themes.knome.enable = lib.mkEnableOption "KNOME, an attempt to bring as much GNOME to KDE Plasma";
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
services.xserver = {
|
||
|
enable = true;
|
||
|
displayManager.sddm.enable = true;
|
||
|
desktopManager.plasma5 = {
|
||
|
enable = true;
|
||
|
|
||
|
# CAUTION: These are internal options so expect sudden changes.
|
||
|
kwinrc = {
|
||
|
Compositing.OpenGLIsUnsafe = false;
|
||
|
Effect-PresentWindows = {
|
||
|
BorderActivate = 7;
|
||
|
BorderActivateAll = 9;
|
||
|
};
|
||
|
ModifierOnlyShortcuts.Meta = "org.kde.krunner,/App,,toggleDisplay";
|
||
|
NightColor.Active = true;
|
||
|
Plugins.overviewEnabled = true;
|
||
|
|
||
|
# The title bar decorations.
|
||
|
"org.kde.kdecoration2" = {
|
||
|
ButtonsOnLeft = "N";
|
||
|
ButtonsOnRight = "X";
|
||
|
ShowToolTips = false;
|
||
|
};
|
||
|
|
||
|
# Set touch edges to nothing as my preferences.
|
||
|
# I let my keyboard do the work as much as possible.
|
||
|
TouchEdges = {
|
||
|
Bottom = "none";
|
||
|
Left = "none";
|
||
|
Right = "none";
|
||
|
Top = "none";
|
||
|
};
|
||
|
|
||
|
# Filtering windows by the current activity only and nothing else.
|
||
|
# The default also includes through the same desktop which severely limits my task switching.
|
||
|
TabBox = {
|
||
|
ApplicationsMode = 1;
|
||
|
DesktopMode = 0;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
kdeglobals = {
|
||
|
KDE = {
|
||
|
AnimationDuration = 0.5;
|
||
|
LookAndFeelPackage = "org.kde.breezedark.desktop";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# Put all of the Plasma dotfiles in certain locations.
|
||
|
environment.etc = {
|
||
|
"xdg/baloofilerc".source = ./config/kde/baloofilerc;
|
||
|
"xdg/kglobalshortcutsrc".source = ./config/kde/kglobalshortcutsrc;
|
||
|
"xdg/khotkeysrc".source = ./config/kde/khotkeysrc;
|
||
|
"xdg/klaunchrc".source = ./config/kde/klaunchrc;
|
||
|
"xdg/krunnerrc".source = ./config/kde/krunnerrc;
|
||
|
"xdg/plasma-org.kde.plasma.desktop-appletsrc".source = ./config/kde/plasma-org.kde.plasma.desktop-appletsrc;
|
||
|
"xdg/plasmanotifyrc".source = ./config/kde/plasmanotifyrc;
|
||
|
"xdg/plasmarc".source = ./config/kde/plasmarc;
|
||
|
};
|
||
|
|
||
|
# Install additional packages.
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
kitty # The preferred terminal emulator.
|
||
|
] ++ (with pkgs.plasma5Packages; [
|
||
|
bismuth # Tiling inside Plasma?
|
||
|
|
||
|
# Powering up Krunner.
|
||
|
krunner-symbols
|
||
|
krunner-ssh
|
||
|
]);
|
||
|
|
||
|
programs.kdeconnect.enable = true;
|
||
|
};
|
||
|
}
|