stylix and bugfixes

This commit is contained in:
alisceon 2026-01-08 18:05:08 +01:00
parent 1b31f9e29c
commit 86a63e1131
11 changed files with 193 additions and 155 deletions

View file

@ -1,10 +1,5 @@
{ pkgs, config, hostName, lib, ... }: {
programs = {
firefox = {
nativeMessagingHosts = [
pkgs.gnome-browser-connector
];
}; # end firefox
}; # end programs
dconf.enable = true;

View file

@ -110,7 +110,7 @@
modifier = "${key_mod}";
startup = [
{ command = "systemctl --user start libinput-gestures"; }
{ command = "swaybg -m fill -i /home/alisceon/Pictures/system/bg.png";}
{ command = "swaybg -m fill -i /home/alisceon/Pictures/system/bg.png";}
];
bars = [
{ command = "${pkgs.waybar}/bin/waybar"; }
@ -127,6 +127,7 @@
"type:mouse" = {
natural_scroll = "disabled";
accel_profile = "flat";
pointer_accel = "0.5";
};
"*" = {
xkb_layout = hostnameInputs;
@ -226,7 +227,7 @@
];
}; # end window
assigns = {
"1" = [{app_id = "firefox";}];
"1" = [{app_id = "chromium";}];
"2" = [{class = "steam";}];
"3" = [];
"4" = [{class = "Code";}];
@ -361,6 +362,9 @@
enable_audio_bell = false;
window_padding_width = 2;
};
environment = {
SHELL_THICCNESS = "LOW"; # instructs xonsh to default to a slim environment
};
}; # end kitty
}; # end programs
gtk = {
@ -369,73 +373,58 @@
gtk3.enable = true;
gtk4.enable = true;
};
xdg = {
configFile."libinput-gestures.conf".text = ''
gesture pinch in 3 sh -c "echo key ctrl+w | ${pkgs.dotool}/bin/dotool"
gesture swipe left 3 ${swaymsg} workspace prev
gesture swipe right 3 ${swaymsg} workspace next
gesture swipe down 3 ${swaymsg} move container to scratchpad
gesture swipe up 3 ${swaymsg} fullscreen
gesture swipe down 4 ${lock}
gesture pinch out 3 ${swaymsg} floating toggle
gesture pinch in 4 ${swaymsg} kill
'';
configFile."electron-flags.conf".text = ''
--enable-features=WaylandWindowDecorations,AllowQt
--ozone-platform=wayland
--gtk-version=4
'';
mimeApps = {
enable = true;
defaultApplicationPackages = [
pkgs.gnome-text-editor
pkgs.evince
pkgs.vlc
pkgs.loupe
pkgs.nautilus
pkgs.chromium
];
defaultApplications = { # mostly redundant but the additional granularity is good for reducing friction
# Text
"text/*" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"application/pdf" = [ "${pkgs.evince}/share/applications/org.gnome.Evince.desktop" ];
# Media
"video/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"audio/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
xdg.configFile."libinput-gestures.conf".text = ''
gesture swipe left 3 ${swaymsg} workspace prev
gesture swipe right 3 ${swaymsg} workspace next
gesture swipe down 3 ${swaymsg} move container to scratchpad
gesture swipe up 3 ${swaymsg} fullscreen
gesture pinch in 3 ${swaymsg} floating enable
gesture pinch out 3 ${swaymsg} floating disable
gesture pinch in 4 ${swaymsg} kill
gesture swipe up 4 ${lock}
'';
xdg.configFile."electron-flags.conf".text = ''
--enable-features=WaylandWindowDecorations,AllowQt
--ozone-platform=wayland
--gtk-version=4
'';
xdg.configFile."chromium-flags.conf".text = ''
--enable-features=WaylandWindowDecorations,AllowQt
--ozone-platform=wayland
--gtk-version=4
'';
xdg.mimeApps = {
enable = true;
defaultApplications ={
# Text
"text/plain" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"text/markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"text/x-markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"text/csv" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"text/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
"application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
# Media
"video/mp4" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"audio/mpeg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"audio/ogg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"audio/wav" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"audio/flac" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"video/x-matroska" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"video/webm" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"video/avi" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
"video/mkv" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
# Browser
"text/html" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ];
"application/xhtml+xml" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ];
"application/x-web-app-manifest+json" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ];
"application/xml-dtd" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ];
# Browser
"text/html" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
"application/xhtml+xml" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
"application/x-web-app-manifest+json" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
"application/xml-dtd" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
# Images
"image/png" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/jpeg" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/gif" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/bmp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/webp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/svg+xml" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/svg+xml-compressed" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/tiff" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/apng" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
"image/heic" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
# Images
"image/*" = [ "${pkgs.loupe}/share/applications/org.gnome.Loupe.desktop.desktop" ];
};
};
};
# this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180
systemd.user.sessionVariables = {
# this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180
# setting GNOME_DESKTOP_SESSION_ID will fool some legacy systems into thinking we're running gnome
# this is an issue for xdg-open which can be circumvented by adding glib to the system which lets xdg-open fallback to gio-open
GNOME_DESKTOP_SESSION_ID = "999";
SHELL_THICCNESS = "LOW";
};
} # end file