93 lines
1.8 KiB
Nix
93 lines
1.8 KiB
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
inputs.noctalia.homeModules.default
|
|
];
|
|
|
|
programs.noctalia-shell = {
|
|
enable = true;
|
|
settings = {
|
|
bar = {
|
|
position = "top";
|
|
floating = true;
|
|
backgroundOpacity = 0.93;
|
|
};
|
|
general = {
|
|
animationSpeed = 1.5;
|
|
radiusRatio = 1.2;
|
|
};
|
|
colorSchemes = {
|
|
darkMode = true;
|
|
useWallpaperColors = true;
|
|
};
|
|
location = {
|
|
weatherEnabled = false;
|
|
};
|
|
wallpaper = {
|
|
enabled = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
home.file.".cache/noctalia/wallpapers.json" = {
|
|
text = builtins.toJSON {
|
|
defaultWallpaper = "${../wallpaper.png}";
|
|
wallpapers = { };
|
|
};
|
|
};
|
|
|
|
programs.niri.settings = {
|
|
spawn-at-startup = [
|
|
{
|
|
command = [
|
|
"noctalia-shell"
|
|
];
|
|
}
|
|
]; # place noctalia overview wallpaper on the backdrop layer
|
|
layer-rules = [
|
|
{
|
|
matches = [
|
|
{ namespace = "^noctalia-overview*"; }
|
|
];
|
|
place-within-backdrop = true;
|
|
}
|
|
];
|
|
|
|
# allow notification actions and window activation from noctalia
|
|
debug = {
|
|
honor-xdg-activation-with-invalid-serial = [ ];
|
|
};
|
|
|
|
binds =
|
|
with config.lib.niri.actions;
|
|
let
|
|
noctalia =
|
|
cmd:
|
|
[
|
|
"noctalia-shell"
|
|
"ipc"
|
|
"call"
|
|
]
|
|
++ (lib.splitString " " cmd);
|
|
|
|
in
|
|
{
|
|
|
|
# noctalia shell keybinds
|
|
"Mod+D".action = spawn (noctalia "launcher toggle");
|
|
"Mod+A".action = spawn (noctalia "controlCenter toggle");
|
|
"Mod+Escape".action = spawn (noctalia "sessionMenu toggle");
|
|
"Mod+Shift+X".action = spawn (noctalia "lockScreen lock");
|
|
"Mod+N".action = spawn (noctalia "notifications toggleHistory");
|
|
|
|
};
|
|
};
|
|
|
|
}
|