Compare commits

...

3 Commits

3 changed files with 106 additions and 58 deletions

View File

@ -18,44 +18,23 @@
# xdg-desktop-portal settings
services.dbus.enable = true;
xdg = {
mime = {
enable = true;
addedAssociations = {
"text/plain" = [ "nvim.desktop" ];
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "google-chrome.desktop" ];
"x-scheme-handler/http" = [ "google-chrome.desktop" ];
"x-scheme-handler/https" = [ "google-chrome.desktop" ];
"x-scheme-handler/ftp" = [ "google-chrome.desktop" ];
"x-scheme-handler/chrome" = [ "google-chrome.desktop" ];
"x-scheme-handler/about" = [ "google-chrome.desktop" ];
"x-scheme-handler/unknown" = [ "google-chrome.desktop" ];
"application/x-extension-htm" = [ "google-chrome.desktop" ];
"application/x-extension-html" = [ "google-chrome.desktop" ];
"application/x-extension-shtml" = [ "google-chrome.desktop" ];
"application/xhtml+xml" = [ "google-chrome.desktop" ];
"application/x-extension-xhtml" = [ "google-chrome.desktop" ];
"application/x-extension-xht" = [ "google-chrome.desktop" ];
"application/pdf" = [ "google-chrome.desktop" ];
};
defaultApplications = {
"text/plain" = [ "nvim.desktop" ];
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "google-chrome.desktop" ];
"x-scheme-handler/http" = [ "google-chrome.desktop" ];
"x-scheme-handler/https" = [ "google-chrome.desktop" ];
"x-scheme-handler/ftp" = [ "google-chrome.desktop" ];
"x-scheme-handler/chrome" = [ "google-chrome.desktop" ];
"x-scheme-handler/about" = [ "google-chrome.desktop" ];
"x-scheme-handler/unknown" = [ "google-chrome.desktop" ];
"application/x-extension-htm" = [ "google-chrome.desktop" ];
"application/x-extension-html" = [ "google-chrome.desktop" ];
"application/x-extension-shtml" = [ "google-chrome.desktop" ];
"application/xhtml+xml" = [ "google-chrome.desktop" ];
"application/x-extension-xhtml" = [ "google-chrome.desktop" ];
"application/x-extension-xht" = [ "google-chrome.desktop" ];
"application/pdf" = [ "google-chrome.desktop" ]; };
};
xdg.mime = {
enable = true;
defaultApplications = {
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "google-chrome.desktop" ];
"x-scheme-handler/http" = [ "google-chrome.desktop" ];
"x-scheme-handler/https" = [ "google-chrome.desktop" ];
"x-scheme-handler/ftp" = [ "google-chrome.desktop" ];
"x-scheme-handler/chrome" = [ "google-chrome.desktop" ];
"x-scheme-handler/about" = [ "google-chrome.desktop" ];
"x-scheme-handler/unknown" = [ "google-chrome.desktop" ];
"application/x-extension-htm" = [ "google-chrome.desktop" ];
"application/x-extension-html" = [ "google-chrome.desktop" ];
"application/x-extension-shtml" = [ "google-chrome.desktop" ];
"application/xhtml+xml" = [ "google-chrome.desktop" ];
"application/x-extension-xhtml" = [ "google-chrome.desktop" ];
"application/x-extension-xht" = [ "google-chrome.desktop" ];
"application/pdf" = [ "google-chrome.desktop" ]; };
};
}

View File

@ -70,6 +70,38 @@ in {
sound.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
xdg.mime = {
enable = true;
defaultApplications = {
"text/plain" = "org.gnome.TextEditor.desktop";
# Images
"image/bmp" = "org.gnome.Loupe.desktop";
"image/gif" = "org.gnome.Loupe.desktop";
"image/jpg" = "org.gnome.Loupe.desktop";
"image/pjpeg" = "org.gnome.Loupe.desktop";
"image/png" = "org.gnome.Loupe.desktop";
"image/tiff" = "org.gnome.Loupe.desktop";
"image/webp" = "org.gnome.Loupe.desktop";
"image/x-bmp" = "org.gnome.Loupe.desktop";
"image/x-gray" = "org.gnome.Loupe.desktop";
"image/x-icb" = "org.gnome.Loupe.desktop";
"image/x-ico" = "org.gnome.Loupe.desktop";
"image/x-png" = "org.gnome.Loupe.desktop";
"image/x-portable-anymap" = "org.gnome.Loupe.desktop";
"image/x-portable-bitmap" = "org.gnome.Loupe.desktop";
"image/x-portable-graymap" = "org.gnome.Loupe.desktop";
"image/x-portable-pixmap" = "org.gnome.Loupe.desktop";
"image/x-xbitmap" = "org.gnome.Loupe.desktop";
"image/x-xpixmap" = "org.gnome.Loupe.desktop";
"image/x-pcx" = "org.gnome.Loupe.desktop";
"image/svg+xml" = "org.gnome.Loupe.desktop";
"image/svg+xml-compressed" = "org.gnome.Loupe.desktop";
"image/vnd.wap.wbmp" = "org.gnome.Loupe.desktop";
"image/x-icns" = "org.gnome.Loupe.desktop";
};
};
home-manager.users.${user} = {
# Remove unwanted desktop entries
# Some are added to ~/.local/share/applications and must be removed manually there
@ -85,6 +117,9 @@ in {
# GNOME settings through home
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/desktop/background" = {
picture-options = "centered";
picture-uri = "${cfg.wallpaper}";
@ -100,15 +135,25 @@ in {
disable-user-extensions = false;
enabled-extensions = [
"focus-changer@heartmire"
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
"fullscreen-avoider@noobsai.github.com"
"fullscreen-to-empty-workspace@aiono.dev"
"gnome-set-panel-monitor@tstarr.us"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
"maximize-lonely-window@MrShuster"
];
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/mutter" = {
overlay-key = "Super";
center-new-windows = true;
focus-change-on-pointer-rest = false;
overlay-key = "Super";
workspaces-only-on-primary = true;
dynamic-workspaces = true;
};
"org/gnome/desktop/wm/preferences" = {
auto-raise = false;
raise-on-click = false;
};
"org/gnome/shell/keybindings" = {
switch-to-application-1 = [];
@ -126,22 +171,34 @@ in {
screensaver = [];
};
"org/gnome/desktop/wm/keybindings" = {
switch-to-workspace-1 = ["<Super>1"]; # 
switch-to-workspace-2 = ["<Super>2"]; # 
switch-to-workspace-3 = ["<Super>3"]; # 
switch-to-workspace-4 = ["<Super>4"]; # 
move-to-workspace-1 = ["<Shift><Super>1"]; # 
move-to-workspace-2 = ["<Shift><Super>2"]; # 
move-to-workspace-3 = ["<Shift><Super>3"]; # 
move-to-workspace-4 = ["<Shift><Super>4"]; # 
move-to-monitor-left = ["<Shift><Super>h"]; # 
move-to-monitor-right = ["<Shift><Super>l"]; # 
close = ["<Super>d"]; # 
toggle-fullscreen = [ "<Super>f" ]; # 
toggle-maximized = [ "<Super>t" ]; # 
raise-or-lower = [ "<Super>s" ]; # 
switch-windows = ["<Super>Tab"]; # 
switch-windows-backward = ["<Shift><Super>Tab"]; # 
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"];
switch-to-workspace-0 = ["<Super>0"];
move-to-workspace-1 = ["<Shift><Super>1"];
move-to-workspace-2 = ["<Shift><Super>2"];
move-to-workspace-3 = ["<Shift><Super>3"];
move-to-workspace-4 = ["<Shift><Super>4"];
move-to-workspace-5 = ["<Shift><Super>5"];
move-to-workspace-6 = ["<Shift><Super>6"];
move-to-workspace-7 = ["<Shift><Super>7"];
move-to-workspace-8 = ["<Shift><Super>8"];
move-to-workspace-9 = ["<Shift><Super>9"];
move-to-workspace-0 = ["<Shift><Super>0"];
move-to-monitor-left = ["<Shift><Super>h"];
move-to-monitor-right = ["<Shift><Super>l"];
close = ["<Super>d"];
toggle-fullscreen = [ "<Super>f" ];
toggle-maximized = [ "<Super>t" ];
raise-or-lower = [ "<Super>s" ];
switch-windows = ["<Super>Tab"];
switch-windows-backward = ["<Shift><Super>Tab"];
minimize = [];
};
} // generate_custom_keybindings {

View File

@ -0,0 +1,12 @@
self: super: {
gnome = super.gnome.overrideScope (gnomeFinal: gnomePrev: {
mutter = gnomePrev.mutter.overrideAttrs ( old: {
src = super.fetchgit {
url = "https://gitlab.gnome.org/vanvugt/mutter.git";
# GNOME 45: triple-buffering-v4-45
rev = "0b896518b2028d9c4d6ea44806d093fd33793689";
sha256 = "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w=";
};
});
});
}