384 lines
12 KiB
Nix
384 lines
12 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;
|
|
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;
|
|
};
|
|
};
|
|
|
|
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+Shift+Up";
|
|
decrease_window_height = "Meta+Shift+Down";
|
|
increase_window_width = "Meta+Shift+Right";
|
|
decrease_window_width = "Meta+Shift+Left";
|
|
|
|
increase_master_size = "Meta+=";
|
|
decrease_master_size = "Meta+-";
|
|
|
|
decrease_master_win_count = [ ];
|
|
increase_master_win_count = [ ];
|
|
move_window_to_bottom_pos = [ ];
|
|
move_window_to_left_pos = [ ];
|
|
move_window_to_next_pos = [ ];
|
|
move_window_to_prev_pos = [ ];
|
|
move_window_to_right_pos = [ ];
|
|
move_window_to_upper_pos = [ ];
|
|
push_window_to_master = [ ];
|
|
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 = [ ];
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.user.services.yubikey-touch-detector = {
|
|
Service = {
|
|
ExecStart = toString (pkgs.writeShellScript "yubikey-touch-detector-libnotify" ''
|
|
export SSH_AUTH_SOCK="$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)"
|
|
${pkgs.yubikey-touch-detector}/bin/yubikey-touch-detector -libnotify
|
|
'');
|
|
};
|
|
Install = rec {
|
|
WantedBy = [ "graphical-session.target" ];
|
|
};
|
|
};
|
|
|
|
programs.firefox = {
|
|
enable = lib.mkDefault true;
|
|
|
|
package = lib.mkDefault (librewolf.override {
|
|
cfg = {
|
|
enableGnomeExtensions = true;
|
|
pipewireSupport = true;
|
|
};
|
|
});
|
|
|
|
extensions = lib.optionals (pkgs ? nur.repos.rycee.firefox-addons) (with pkgs.nur.repos.rycee.firefox-addons; [
|
|
darkreader
|
|
bitwarden
|
|
violentmonkey
|
|
canvasblocker
|
|
sponsorblock
|
|
stylus
|
|
vimium
|
|
]);
|
|
|
|
profiles.default = {
|
|
settings = {
|
|
"browser.startup.homepage" = "https://wizbos.club";
|
|
|
|
# Make the browser usable, if I wanted autism privacy, I would use TOR browser.
|
|
"privacy.resistFingerprinting" = false;
|
|
"webgl.disabled" = false;
|
|
"privacy.clearOnShutdown.history" = false;
|
|
"privacy.clearOnShutdown.cookies" = false;
|
|
"privacy.clearOnShutdown.sessions" = false;
|
|
"privacy.clearOnShutdown.cache" = false;
|
|
"places.history.enabled" = true;
|
|
"network.dns.disableIPv6" = false;
|
|
"media.peerconnection.ice.no_host" = false;
|
|
|
|
# Make Jitsi work sanely
|
|
"media.setsinkid.enabled" = true;
|
|
"privacy.webrtc.legacyGlobalIndicator" = false;
|
|
"privacy.webrtc.hideGlobalIndicator" = true;
|
|
|
|
# good tweaks
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"layers.acceleration.force-enabled" = true;
|
|
"gfx.webrender.all" = true;
|
|
"svg.context-properties.content.enabled" = true;
|
|
|
|
"reader.color_scheme" = "dark";
|
|
|
|
# # LibreWolf ruins the user agent making sites unusable without RFP, so use the user agent from RFP manually. This also seems sane for compatibility when using Firefox.
|
|
# "general.useragent.override" = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
|
|
# set the user agent to a _realistic_ user agent because cloudflare keeps sniffing my balls
|
|
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.kermit = {
|
|
enable = lib.mkDefault true;
|
|
settings = {
|
|
key = lib.mkDefault "shift";
|
|
opacity = lib.mkDefault "1";
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
plasma5Packages.bismuth
|
|
plasma5Packages.kate
|
|
|
|
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;
|
|
};
|
|
};
|
|
}
|