Files
dotfiles/nixos/sni.nix

75 lines
2.1 KiB
Nix

{ config, inputs, pkgs, makeEnable, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
kanshiSniPackage =
inputs.kanshi-sni.packages.${system}.default.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [
./patches/kanshi-sni-refresh-and-reconnect.patch
];
});
in
makeEnable config "myModules.sni" true {
home-manager.sharedModules = [
({ lib, ... }: {
systemd.user.services.kanshi-sni = {
Unit = {
Description = "kanshi-sni tray app";
After = [ "graphical-session.target" "tray.target" "kanshi.service" ];
PartOf = [ "graphical-session.target" "kanshi.service" ];
Requires = [ "tray.target" ];
Wants = [ "kanshi.service" ];
};
Service = {
ExecStart = "${kanshiSniPackage}/bin/kanshi-sni";
Restart = "always";
RestartSec = 3;
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
};
services.blueman-applet.enable = true;
services.kdeconnect = {
enable = true;
indicator = true;
};
home.activation.disableKdeConnectBluetooth =
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
${pkgs.kdePackages.kconfig}/bin/kwriteconfig6 \
--file kdeconnect/config \
--group General \
--key disabled_providers \
'BluetoothLinkProvider,AsyncLinkProvider'
'';
services.network-manager-applet.enable = true;
# Disable the XDG autostart for nm-applet since we're managing it via systemd.
# The XDG autostart races with the systemd service and doesn't use --indicator.
xdg.configFile."autostart/nm-applet.desktop".text = ''
[Desktop Entry]
Hidden=true
'';
services.udiskie = {
enable = true;
tray = "always";
};
services.pasystray.enable = true;
services.flameshot = {
enable = true;
settings = {
General = {
useGrimAdapter = true;
};
};
};
})
];
}