Compare commits

..

5 commits

4 changed files with 69 additions and 6 deletions

View file

@ -28,7 +28,13 @@ in {
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${getExe custom-wayneko} --layer top --type striped";
ExecStart = ''
${getExe custom-wayneko}\
--layer top\
--type striped\
--background-colour 0xb4befe\
--outline-colour 0x1e1e2e
'';
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;

View file

@ -23,6 +23,7 @@ in {
extraPortals =
[
pkgs.xdg-desktop-portal-gtk
pkgs.kdePackages.xdg-desktop-portal-kde
]
++ (
optional config.programs.niri.enable
@ -33,10 +34,22 @@ in {
pkgs.xdg-desktop-portal-hyprland
);
config = {
common.default = mkIf config.programs.hyprland.enable ["*"];
hyprland.default = mkIf config.programs.hyprland.enable ["*"];
niri = {
default = [
"gnome"
"gtk"
"kde"
];
# Portal API reference:
# https://docs.flatpak.org/en/latest/portal-api-reference.html
# "org.freedesktop.impl.portal.Access" = ["kde"];
# "org.freedesktop.impl.portal.Notification" = ["kde"];
"org.freedesktop.impl.portal.FileChooser" = ["kde"];
};
};
configPackages = [
pkgs.niri
# pkgs.niri
];
};
}

View file

@ -115,6 +115,32 @@ window-rule {
block-out-from "screen-capture"
open-on-workspace "keepassxc"
}
window-rule {
match app-id="unset"
open-floating true
}
window-rule {
match app-id="org.gnome.Nautilus"
open-floating true
}
window-rule {
match app-id="org.freedesktop.impl.portal.desktop.kde"
open-floating true
}
// Fix discord screencasting
debug {
wait-for-frame-completion-in-pipewire
}
// Always focus the KeePassXC-Browser unlock dialog.
//
// This dialog opens parented to the KeePassXC window rather than the browser,
// so it doesn't get auto-focused by default.
window-rule {
match app-id="^org\\.keepassxc\\.KeePassXC$" title="^KeePassXC - Browser Access Request$"
match app-id="^org\\.keepassxc\\.KeePassXC$" title="^Unlock Database - KeePassXC$"
open-focused true
}
hotkey-overlay {
skip-at-startup
}

View file

@ -21,8 +21,8 @@
new-swww = (pkgs.swww.override {inherit rustPlatform;}).overrideAttrs (prev: {
src = pkgs.fetchFromGitHub {
inherit (prev.src) owner repo;
rev = "398a4048e389341dfd55285c53518a8ea3930ec4";
hash = "sha256-ZAC5TbkshztW2IeDorhaxUmVCHf2tJCSGIGHSNl91Ns";
rev = "805a355da574fed46e664606660e2499f02e2174";
hash = "sha256-+sdV7NFueCeBLrsl7lrqzlG5tPNqDe/zlcIb8TYxQl8=";
};
doInstallCheck = false;
@ -31,6 +31,24 @@
hash = "sha256-YH2gcy/8EtUmTHzwt38bBOFX3saN1wHIGQ5/eWqvSeM=";
};
});
patched-niri = pkgs.niri.overrideAttrs (prev: {
src = pkgs.fetchFromGitHub {
inherit (prev.src) owner repo;
rev = "37458d94b288945f6cfbd3c5c233f634d59f246c";
hash = "sha256-F5iVU/hjoSHSSe0gllxm0PcAaseEtGNanYK5Ha3k2Tg=";
};
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
inherit (patched-niri) src;
hash = "sha256-fT0L/OTlQ9BnKHnckKsLi+tN+oevEU+eJWrh1INqQhA=";
};
patches = [
(pkgs.fetchpatch {
url = "https://github.com/YaLTeR/niri/commit/ab71a6c553f9c53ea484ec6dedc5dcede708929f.diff";
hash = "sha256-C3TJIK5/YTAcmdSP6NyOwX+1oA36u6nrMuJuVYIvAHQ=";
})
];
});
in {
options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor";
@ -40,7 +58,7 @@ in {
{
programs.niri = {
enable = true;
package = pkgs.niri;
package = patched-niri;
};
# The niri module auto enables the gnome keyring,
# which is something I direly want to avoid.