mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-08 00:19:01 +00:00
Gabriel Arazas
03590ad834
This is now on the individual configurations to enable them since most workflows are expected to be quite similar to desktop environments like from default NixOS modules.
85 lines
2.6 KiB
Nix
85 lines
2.6 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.workflows.workflows.knome;
|
|
in
|
|
{
|
|
options.workflows.workflows.knome.enable = lib.mkEnableOption "KNOME, an attempt to bring as much GNOME to KDE Plasma";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services.xserver = {
|
|
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;
|
|
};
|
|
}
|