nix-config/modules/niri/default.nix

71 lines
1.6 KiB
Nix

{ inputs, lib, config, pkgs, ... }: let
inherit (lib) mkIf;
inherit (config) withNiri username;
in {
imports = [
./xwl-satellite.service.nix
];
config = mkIf withNiri {
nixpkgs.overlays = mkIf config.withNiri [
inputs.niri.overlays.niri
];
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
};
services.logind = {
powerKey = "poweroff";
lidSwitch = "suspend";
};
home-manager.users.${username} = {
home.packages = with pkgs; [
brightnessctl
swaybg
swayidle
];
programs.niri = {
settings = import ./niri.conf.nix { config = config; };
};
programs.fuzzel= {
enable = true;
settings = import ./fuzzel.conf.nix { lib = lib; config = config; };
};
programs.waybar = {
enable = true;
settings = import ./waybar.conf.nix { config = config; };
style = (import ./waybar.css.nix { config = config; }).style;
};
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = import ./swaylock.conf.nix { lib = lib; config = config; };
};
services.mako = {
enable = true;
defaultTimeout = 5000;
maxVisible = 3;
font = "AlegreyaSans";
backgroundColor = config.theme.base;
borderColor = config.theme.muted;
textColor = config.theme.text;
borderSize = 1;
borderRadius = 8;
icons = false;
};
};
};
}