add de3
This commit is contained in:
parent
cf401b300c
commit
83aa4d9424
15 changed files with 620 additions and 198 deletions
376
home-manager/modules/de3u.nix
Normal file
376
home-manager/modules/de3u.nix
Normal file
|
@ -0,0 +1,376 @@
|
|||
|
||||
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;
|
||||
|
||||
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.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"];
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue