- idle: 300s screen-off, 600s lock, 5s fade, and explicit actions (without them the behaviours do nothing once settings.toml is gone) - font without Mono, launcher without categories or global emoji, control-center logo from syncthing - drop shell.ui_scale and shell.panel.launcher_compact, which v5 ignores Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
149 lines
3.6 KiB
Nix
149 lines
3.6 KiB
Nix
{ pkgs, inputs, ... }:
|
|
|
|
{
|
|
# Noctalia v5 shell, managed via home-manager's built-in programs.noctalia module.
|
|
# The noctalia flake's homeModules.default is not imported: it redeclares the same
|
|
# options and its disabledModules path ("programs/noctalia.nix") doesn't match HM's.
|
|
# See https://docs.noctalia.dev/v5/getting-started/nixos/
|
|
|
|
programs.noctalia = {
|
|
enable = true;
|
|
|
|
# Use the package from the noctalia flake rather than nixpkgs.
|
|
package = inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
|
|
|
# settings is rendered to ~/.config/noctalia/config.toml
|
|
settings = {
|
|
# theme / colors
|
|
theme = {
|
|
source = "builtin";
|
|
builtin = "Nord";
|
|
mode = "dark";
|
|
templates.builtin_ids = [ "ghostty" ];
|
|
};
|
|
|
|
# general
|
|
shell = {
|
|
font_family = "0xProto Nerd Font";
|
|
avatar_path = "/home/aaron/syncthing/pictures/Logo-Aaron-Totenkopf-rund-schwarz.png";
|
|
telemetry_enabled = false;
|
|
clipboard_enabled = true;
|
|
password_style = "random";
|
|
|
|
launcher = {
|
|
categories = false;
|
|
providers.emoji.global = false;
|
|
};
|
|
|
|
panel = {
|
|
open_near_click_control_center = true;
|
|
open_near_click_session = true;
|
|
open_near_click_wallpaper = true;
|
|
transparency_mode = "glass";
|
|
};
|
|
|
|
screen_corners = {
|
|
enabled = true;
|
|
size = 10;
|
|
};
|
|
};
|
|
|
|
# location / weather
|
|
location.address = "Bern";
|
|
|
|
weather = {
|
|
enabled = true;
|
|
unit = "metric";
|
|
};
|
|
|
|
# wallpaper
|
|
wallpaper = {
|
|
enabled = true;
|
|
directory = "/home/aaron/Pictures/Wallpapers";
|
|
fill_mode = "crop";
|
|
default.path = "/home/aaron/Pictures/Wallpapers/nord-theme-tower.png";
|
|
};
|
|
|
|
# bar layout
|
|
bar = {
|
|
order = [ "default" ];
|
|
default = {
|
|
position = "top";
|
|
background_opacity = 0.93;
|
|
font_weight = 400;
|
|
margin_edge = 0;
|
|
margin_ends = 0;
|
|
radius = 0;
|
|
scale = 1.2;
|
|
widget_spacing = 20;
|
|
start = [
|
|
"control-center"
|
|
"cpu"
|
|
"ram"
|
|
"temp"
|
|
"active_window"
|
|
];
|
|
center = [ "workspaces" ];
|
|
end = [
|
|
"tray"
|
|
"bluetooth"
|
|
"notifications"
|
|
"volume"
|
|
"network"
|
|
"clock"
|
|
];
|
|
};
|
|
};
|
|
|
|
# per-widget styling
|
|
widget = {
|
|
bluetooth.capsule = true;
|
|
control-center = {
|
|
capsule_radius = 8;
|
|
custom_image = "/home/aaron/syncthing/pictures/nix_flake_logo.png";
|
|
scale = 1.4;
|
|
};
|
|
cpu.capsule = true;
|
|
network = {
|
|
capsule = true;
|
|
show_label = false;
|
|
};
|
|
notifications.capsule = true;
|
|
ram.capsule = true;
|
|
temp.capsule = true;
|
|
volume = {
|
|
capsule = true;
|
|
show_label = false;
|
|
};
|
|
};
|
|
|
|
# idle behavior
|
|
idle = {
|
|
pre_action_fade_seconds = 5;
|
|
behavior_order = [
|
|
"screen-off"
|
|
"lock"
|
|
"lock-and-suspend"
|
|
];
|
|
behavior = {
|
|
"screen-off" = {
|
|
action = "screen_off";
|
|
enabled = true;
|
|
timeout = 300;
|
|
};
|
|
"lock" = {
|
|
action = "lock";
|
|
enabled = true;
|
|
timeout = 600;
|
|
};
|
|
"lock-and-suspend" = {
|
|
action = "lock_and_suspend";
|
|
enabled = true;
|
|
timeout = 1800;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|