nixfiles/home-manager/modules/de2u.nix

223 lines
7.4 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.de2u;
in
{
options.de2u = {
enable = mkEnableOption "Enable de2 user stuff";
};
config = mkIf cfg.enable {
colors.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
programs.chromium.enable = lib.mkDefault true;
programs.kitty = {
enable = lib.mkDefault true;
settings = {
background_opacity = lib.mkDefault "1";
dynamic_background_opacity = lib.mkDefault true;
allow_remote_control = lib.mkDefault true;
hide_window_decorations = lib.mkDefault true;
};
};
home.packages = with pkgs; [
gnomeExtensions.pop-shell
gnomeExtensions.blur-me
gnomeExtensions.remove-rounded-corners
gnomeExtensions.improved-workspace-indicator
gnomeExtensions.vitals
gnomeExtensions.clipboard-indicator
# (gnomeExtensions.no-title-bar.overrideAttrs (old: {
# src = builtins.fetchGit {
# rev = "1e6647d1bf03559cd574f34aa2439b942cc94c60";
# url = "git+ssh://git@github.com/poehlerj/no-title-bar.git";
# };
# patches = old.patches ++ [
# (pkgs.fetchurl {
# url = "https://patch-diff.githubusercontent.com/raw/poehlerj/no-title-bar/pull/37.patch";
# sha256 = "sha256-4gUv7U8mtSDQ2aSlVALxMpLvLWUcf0Gd8N2xIGQ4LGQ=";
# })
# ];
# }))
gnomeExtensions.just-perfection
gnomeExtensions.appindicator
];
systemd.user.sessionVariables = {
QT_QPA_PLATFORM = "wayland-egl;xcb";
MOZ_ENABLE_WAYLAND = "1";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"inode/directory" = "org.gnome.Nautilus.desktop";
"text/html" = "chromium-browser.desktop";
"x-scheme-handler/http" = "chromium-browser.desktop";
"x-scheme-handler/https" = "chromium-browser.desktop";
"x-scheme-handler/about" = "chromium-browser.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";
};
};
dconf.settings = with lib.hm.gvariant; {
"org/gnome/desktop/interface" = {
enable-hot-corners = false;
show-battery-percentage = true;
};
"org/gnome/shell/extensions/pop-shell" = {
tile-by-default = true;
show-title = false;
active-hint = false;
};
"org/gnome/shell/extensions/improved-workspace-indicator" = {
panel-position = "left";
};
"org/gnome/shell/extensions/vitals" = {
hide-zeros = true;
show-battery = true;
update-time = 8;
};
"org/gnome/shell/extensions/appindicator" = {
icon-opacity = 255;
tray-pos = "center";
};
"org/gnome/shell/extensions/user-theme" = {
name = if config.colors.enable then "Generated" else "Default";
};
"org/gnome/shell/extensions/just-perfection" = {
activities-button = false;
animation = 3;
app-menu = true;
app-menu-icon = true;
background-menu = true;
dash = false;
double-super-to-appgrid = true;
gesture = true;
hot-corner = false;
show-apps-button = false;
startup-status = 0;
window-picker-icon = false;
window-preview-caption = true;
workspace = true;
workspace-popup = false;
workspace-switcher-should-show = false;
workspaces-in-app-grid = true;
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [
"pop-shell@system76.com"
"rrc@ogarcia.me"
"native-window-placement@gnome-shell-extensions.gcampax.github.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"improved-workspace-indicator@michaelaquilina.github.io"
"Vitals@CoreCoding.com"
"clipboard-indicator@tudmotu.com"
"just-perfection-desktop@just-perfection"
"appindicatorsupport@rgcjonas.gmail.com"
];
};
"org/gnome/desktop/peripherals/touchpad" = {
natural-scroll = false;
};
"org/gnome/mutter" = {
edge-tiling = false;
dynamic-workspaces = false;
};
"org/gnome/shell/extensions/blur-me" = {
toggle-app-blur = false;
};
"org/gnome/desktop/wm/preferences" = {
focus-mode = "sloppy";
resize-with-right-button = true;
num-workspaces = 9;
};
"org/gnome/maps" = {
night-mode = true;
transportation-type = "car";
};
"org/gnome/system/location" = {
enabled = true;
};
"org/gnome/desktop/wm/keybindings" = {
move-to-workspace-1 = [ "<Shift><Super>exclam" ];
move-to-workspace-2 = [ "<Shift><Super>at" ];
move-to-workspace-3 = [ "<Shift><Super>numbersign" ];
move-to-workspace-4 = [ "<Shift><Super>dollar" ];
move-to-workspace-5 = [ "<Shift><Super>percent" ];
move-to-workspace-6 = [ "<Shift><Super>asciicircum" ];
move-to-workspace-7 = [ "<Shift><Super>ampersand" ];
move-to-workspace-8 = [ "<Shift><Super>asterisk" ];
move-to-workspace-9 = [ "<Shift><Super>parenleft" ];
switch-to-workspace-1 = [ "<Super>1" ];
switch-to-workspace-2 = [ "<Super>2" ];
switch-to-workspace-3 = [ "<Super>3" ];
switch-to-workspace-4 = [ "<Super>4" ];
switch-to-workspace-5 = [ "<Super>5" ];
switch-to-workspace-6 = [ "<Super>6" ];
switch-to-workspace-7 = [ "<Super>7" ];
switch-to-workspace-8 = [ "<Super>8" ];
switch-to-workspace-9 = [ "<Super>9" ];
minimize = [ "<Super>comma" ];
switch-to-workspace-left = [ "" ];
switch-to-workspace-right = [ "" ];
maximize = [ "" ];
unmaximize = [ "" ];
move-to-monitor-up = [ "" ];
move-to-monitor-down = [ "" ];
move-to-monitor-left = [ "" ];
move-to-monitor-right = [ "" ];
move-to-workspace-down = [ "" ];
move-to-workspace-up = [ "" ];
switch-to-workspace-down = [ "<Primary><Super>Down" "<Primary><Super>j" ];
switch-to-workspace-up = [ "<Primary><Super>Up" "<Primary><Super>k" ];
toggle-maximized = [ "<Super>m" ];
close = [ "<Super>q" "<Alt>F4" ];
};
"org/gnome/mutter/keybindings" = {
toggle-tiled-left = [ "" ];
toggle-tiled-right = [ "" ];
};
"org/gnome/mutter/wayland/keybindings" = {
restore-shortcuts = [ "" ];
};
"org/gnome/shell/keybindings" = {
open-application-menu = [ "" ];
toggle-message-tray = [ "<Super>v" ];
toggle-overview = [ "" ];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
screensaver = [ "<Super>Escape" ];
home = [ "<Super>f" ];
email = [ "<Super>e" ];
www = [ "<Super>b" ];
terminal = [ "<Super>t" ];
rotate-video-lock-static = [ "" ];
area-screenshot = [ "<Primary><Shift>Print" ];
area-screenshot-clip = [ "<Shift>Print" ];
screenshot = [ "<Primary>Print" ];
screenshot-clip = [ "Print" ];
window-screenshot = [ "<Primary><Alt>Print" ];
window-screenshot-clip = [ "<Alt>Print" ];
};
};
};
}