332 lines
10 KiB
Nix
332 lines
10 KiB
Nix
inputs: {
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.de3u;
|
|
in {
|
|
imports = [
|
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
];
|
|
|
|
options.de3u = {
|
|
enable = mkEnableOption "Enable de3 user stuff";
|
|
|
|
tiling = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Enable tiling stuff";
|
|
};
|
|
|
|
touch = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Make usable for touchscreens";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
ezcolors.enable = lib.mkDefault true;
|
|
ezcolors.plasma = lib.mkDefault true;
|
|
ezfonts.enable = lib.mkDefault true;
|
|
ezfonts.plasma = lib.mkDefault true;
|
|
|
|
home.file."${config.home.homeDirectory}/.gtkrc-2.0".force = true;
|
|
gtk.cursorTheme.name = "breeze_cursors";
|
|
gtk.cursorTheme.size = 24;
|
|
gtk.iconTheme.name = "breeze-dark";
|
|
gtk.gtk2.extraConfig = ''
|
|
gtk-primary-button-warps-slider=0
|
|
gtk-toolbar-style=3
|
|
gtk-menu-images=1
|
|
gtk-button-images=1
|
|
'';
|
|
|
|
programs.plasma = {
|
|
enable = true;
|
|
|
|
workspace = {
|
|
clickItemTo = "open";
|
|
};
|
|
|
|
files = {
|
|
kwinrc = {
|
|
Plugins.bismuthEnabled = true;
|
|
"Effect-windowview".BorderActivateAll = 9;
|
|
|
|
Windows = {
|
|
SeparateScreenFocus = true;
|
|
FocusPolicy = "FocusFollowsMouse";
|
|
DelayFocusInterval = 150;
|
|
};
|
|
|
|
Desktops = {
|
|
Name_1 = "Desktop 1";
|
|
Name_2 = "Desktop 2";
|
|
Name_3 = "Desktop 3";
|
|
Name_4 = "Desktop 4";
|
|
Name_5 = "Desktop 5";
|
|
Name_6 = "Desktop 6";
|
|
Name_7 = "Desktop 7";
|
|
Name_8 = "Desktop 8";
|
|
Name_9 = "Desktop 9";
|
|
|
|
Id_1 = "00b35302-cb53-4916-a0dc-298be5ff8aa5";
|
|
Id_2 = "42f85748-5f93-4071-a52e-98d073ffaeb5";
|
|
Id_3 = "08fadbbc-5dcd-4cb6-b2f1-c2c75ac7f502";
|
|
Id_4 = "cb38b6b0-6027-4ef0-a249-0cdb74bfcb82";
|
|
Id_5 = "18e21702-5ee1-4093-85e8-ba7fc2d97f56";
|
|
Id_6 = "012bd0db-84ab-4f9a-8eb2-8ea50b23357e";
|
|
Id_7 = "97465b5b-3409-47d6-9b89-a57e1906edc3";
|
|
Id_8 = "f7d25083-250e-4bcf-84ee-340af7ad0eeb";
|
|
Id_9 = "b8c3616c-7cef-4e67-92cf-661f3d32833e";
|
|
|
|
Number = 9;
|
|
};
|
|
|
|
"Script-bismuth" = {
|
|
untileByDragging = false;
|
|
ignoreClass = "yakuake,spectacle,Conky,zoom,pinentry-qt";
|
|
maximizeSoleTile = true;
|
|
};
|
|
};
|
|
|
|
kcminputrc = {
|
|
Mouse.cursorSize = 24;
|
|
};
|
|
|
|
plasmashellrc = {
|
|
"PlasmaViews.Panel 28.Defaults".thickness = 34;
|
|
};
|
|
|
|
kdeglobals = {
|
|
KDE = {
|
|
LookAndFeelPackage = "org.kde.breezedark.desktop";
|
|
};
|
|
General = {
|
|
BrowserApplication =
|
|
if config.programs.firefox.enable
|
|
then
|
|
(
|
|
if config.programs.firefox.package.pname == "firefox"
|
|
then "firefox.desktop"
|
|
else "librewolf.desktop"
|
|
)
|
|
else "chromium-browser.desktop";
|
|
TerminalApplication = "kermit";
|
|
TerminalService = "kermit.desktop";
|
|
};
|
|
};
|
|
|
|
kwalletrc = {
|
|
Wallet.Enabled = false;
|
|
"org.freedesktop.secrets".apiEnabled = false;
|
|
};
|
|
};
|
|
|
|
hotkeys.commands."Launch Kermit" = {
|
|
key = "Meta+T";
|
|
command = "kermit";
|
|
};
|
|
|
|
shortcuts = {
|
|
"org.kde.krunner.desktop"."_launch" = ["Meta+D" "Search" "Alt+Space"];
|
|
"org.kde.plasma.emojier.desktop"."_launch" = [];
|
|
|
|
plasmashell = {
|
|
"activate task manager entry 1" = [];
|
|
"activate task manager entry 2" = [];
|
|
"activate task manager entry 3" = [];
|
|
"activate task manager entry 4" = [];
|
|
"activate task manager entry 5" = [];
|
|
"activate task manager entry 6" = [];
|
|
"activate task manager entry 7" = [];
|
|
"activate task manager entry 8" = [];
|
|
"activate task manager entry 9" = [];
|
|
"activate task manager entry 10" = [];
|
|
"next activity" = [];
|
|
"manage activities" = [];
|
|
};
|
|
|
|
kwin = {
|
|
"Window Quick Tile Left" = [];
|
|
"Window Quick Tile Right" = [];
|
|
"Window Quick Tile Top" = [];
|
|
"Window Quick Tile Bottom" = [];
|
|
|
|
"Switch to Desktop 1" = "Meta+1";
|
|
"Switch to Desktop 2" = "Meta+2";
|
|
"Switch to Desktop 3" = "Meta+3";
|
|
"Switch to Desktop 4" = "Meta+4";
|
|
"Switch to Desktop 5" = "Meta+5";
|
|
"Switch to Desktop 6" = "Meta+6";
|
|
"Switch to Desktop 7" = "Meta+7";
|
|
"Switch to Desktop 8" = "Meta+8";
|
|
"Switch to Desktop 9" = "Meta+9";
|
|
|
|
"Window to Desktop 1" = "Meta+!";
|
|
"Window to Desktop 2" = "Meta+@";
|
|
"Window to Desktop 3" = "Meta+#";
|
|
"Window to Desktop 4" = "Meta+$";
|
|
"Window to Desktop 5" = "Meta+%";
|
|
"Window to Desktop 6" = "Meta+^";
|
|
"Window to Desktop 7" = "Meta+&";
|
|
"Window to Desktop 8" = "Meta+*";
|
|
"Window to Desktop 9" = "Meta+(";
|
|
|
|
"Window Close" = "Meta+Q";
|
|
"Window Fullscreen" = "Meta+F";
|
|
|
|
view_zoom_in = "Meta++";
|
|
view_zoom_out = "Meta+_";
|
|
|
|
"Window to Next Screen" = "Meta+>";
|
|
"Window to Previous Screen" = "Meta+<";
|
|
"Switch to Next Screen" = "Meta+.";
|
|
"Switch to Previous Screen" = "Meta+,";
|
|
|
|
"Show Desktop" = [];
|
|
|
|
"Window On All Desktops" = "Meta+A";
|
|
};
|
|
|
|
bismuth = {
|
|
focus_next_window = "Meta+Tab";
|
|
focus_prev_window = "Meta+Shift+Tab";
|
|
focus_bottom_window = "Meta+Down";
|
|
focus_left_window = "Meta+Left";
|
|
focus_right_window = "Meta+Right";
|
|
focus_upper_window = "Meta+Up";
|
|
|
|
next_layout = "Meta+Space";
|
|
prev_layout = "Meta+Shift+Space";
|
|
|
|
toggle_window_floating = "Meta+S";
|
|
|
|
increase_window_height = "Meta+Ctrl+Up";
|
|
decrease_window_height = "Meta+Ctrl+Down";
|
|
increase_window_width = "Meta+Ctrl+Right";
|
|
decrease_window_width = "Meta+Ctrl+Left";
|
|
|
|
increase_master_size = "Meta+=";
|
|
decrease_master_size = "Meta+-";
|
|
|
|
move_window_to_bottom_pos = "Meta+Shift+Down";
|
|
move_window_to_left_pos = "Meta+Shift+Left";
|
|
move_window_to_right_pos = "Meta+Shift+Right";
|
|
move_window_to_upper_pos = "Meta+Shift+Up";
|
|
|
|
push_window_to_master = "Meta+M";
|
|
|
|
move_window_to_next_pos = [];
|
|
move_window_to_prev_pos = [];
|
|
decrease_master_win_count = [];
|
|
increase_master_win_count = [];
|
|
rotate = [];
|
|
rotate_part = [];
|
|
rotate_reverse = [];
|
|
toggle_float_layout = [];
|
|
toggle_monocle_layout = [];
|
|
toggle_quarter_layout = [];
|
|
toggle_spiral_layout = [];
|
|
toggle_spread_layout = [];
|
|
toggle_stair_layout = [];
|
|
toggle_three_column_layout = [];
|
|
toggle_tile_layout = [];
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.firefox.enable = true;
|
|
|
|
programs.kermit = {
|
|
enable = lib.mkDefault true;
|
|
settings = {
|
|
key = lib.mkDefault "shift";
|
|
opacity = lib.mkDefault "1";
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
plasma5Packages.bismuth
|
|
plasma5Packages.kate
|
|
|
|
thunderbird
|
|
|
|
xdg-desktop-portal-kde
|
|
];
|
|
|
|
systemd.user.sessionVariables = {
|
|
MOZ_ENABLE_WAYLAND = "1";
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = lib.mkIf (cfg.tiling && !cfg.touch) "1";
|
|
};
|
|
|
|
xdg.configFile."mimeapps.list".force = true;
|
|
xdg.mimeApps = let
|
|
browser =
|
|
if config.programs.firefox.enable
|
|
then
|
|
(
|
|
if config.programs.firefox.package.pname == "firefox"
|
|
then "firefox.desktop"
|
|
else "librewolf.desktop"
|
|
)
|
|
else "chromium-browser.desktop";
|
|
|
|
apps = {
|
|
"text/plain" = "org.kde.kate.desktop";
|
|
|
|
"inode/directory" = "org.kde.dolphin.desktop";
|
|
|
|
"image/*" = "org.kde.gwenview.desktop";
|
|
# and because mimeapps.list is DUMB
|
|
"image/jpeg" = "org.kde.gwenview.desktop";
|
|
"image/bmp" = "org.kde.gwenview.desktop";
|
|
"image/gif" = "org.kde.gwenview.desktop";
|
|
"image/jpg" = "org.kde.gwenview.desktop";
|
|
"image/pjpeg" = "org.kde.gwenview.desktop";
|
|
"image/png" = "org.kde.gwenview.desktop";
|
|
"image/tiff" = "org.kde.gwenview.desktop";
|
|
"image/x-bmp" = "org.kde.gwenview.desktop";
|
|
"image/x-gray" = "org.kde.gwenview.desktop";
|
|
"image/x-icb" = "org.kde.gwenview.desktop";
|
|
"image/x-ico" = "org.kde.gwenview.desktop";
|
|
"image/x-png" = "org.kde.gwenview.desktop";
|
|
"image/x-portable-anymap" = "org.kde.gwenview.desktop";
|
|
"image/x-portable-bitmap" = "org.kde.gwenview.desktop";
|
|
"image/x-portable-graymap" = "org.kde.gwenview.desktop";
|
|
"image/x-portable-pixmap" = "org.kde.gwenview.desktop";
|
|
"image/x-xbitmap" = "org.kde.gwenview.desktop";
|
|
"image/x-xpixmap" = "org.kde.gwenview.desktop";
|
|
"image/x-pcx" = "org.kde.gwenview.desktop";
|
|
"image/svg+xml" = "org.kde.gwenview.desktop";
|
|
"image/svg+xml-compressed" = "org.kde.gwenview.desktop";
|
|
"image/vnd.wap.wbmp" = "org.kde.gwenview.desktop";
|
|
"image/x-icns" = "org.kde.gwenview.desktop";
|
|
|
|
# "video/*" = "org.gnome.Totem.desktop";
|
|
|
|
"text/html" = browser;
|
|
"x-scheme-handler/http" = browser;
|
|
"x-scheme-handler/https" = browser;
|
|
"x-scheme-handler/about" = browser;
|
|
|
|
# "x-scheme-handler/mailto" = "org.gnome.Geary.desktop";
|
|
|
|
# "application/zip" = "org.gnome.FileRoller.desktop";
|
|
# "application/rar" = "org.gnome.FileRoller.desktop";
|
|
# "application/7z" = "org.gnome.FileRoller.desktop";
|
|
# "application/*tar" = "org.gnome.FileRoller.desktop";
|
|
# "x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop";
|
|
# "x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop";
|
|
};
|
|
in {
|
|
enable = true;
|
|
associations.added = apps;
|
|
defaultApplications = apps;
|
|
};
|
|
};
|
|
}
|