136 lines
4.0 KiB
Nix
136 lines
4.0 KiB
Nix
{ config, inputs, pkgs, ... }:
|
|
let
|
|
# Repo wallpapers are symlinked to ~/.config/wallpapers by xdg.configFile below
|
|
wallpaperDir = "${config.home.homeDirectory}/.config/wallpapers";
|
|
defaultWallpaper = "${wallpaperDir}/even-in-arcadia.png";
|
|
|
|
noctaliaIpc = pkgs.writeShellScriptBin "noctalia-ipc" ''
|
|
set -eu
|
|
exec noctalia msg "$@"
|
|
'';
|
|
in
|
|
{
|
|
imports = [ inputs.noctalia.homeModules.default ];
|
|
|
|
home.packages = [ noctaliaIpc ];
|
|
|
|
# Wallpapers tracked in the repo; symlinked to ~/.config/wallpapers for noctalia
|
|
xdg.configFile."wallpapers".source = ./wallpapers;
|
|
|
|
programs.noctalia = {
|
|
enable = true;
|
|
settings = {
|
|
|
|
bar.default = {
|
|
start = [ "launcher" "clipboard" "volume" "brightness" "active_window" ];
|
|
center = [ "workspaces" ];
|
|
end = [ "network" "sysmon" "battery" "notifications" "clock" "session" ];
|
|
thickness = 35;
|
|
padding = 17;
|
|
radius = 17;
|
|
margin_edge = 5;
|
|
margin_ends = 5;
|
|
margin_opposite_edge = 5;
|
|
widget_spacing = 15;
|
|
background_opacity = 0.9;
|
|
border = "outline";
|
|
capsule = true;
|
|
capsule_fill = "surface_variant";
|
|
capsule_opacity = 1.0;
|
|
capsule_padding = 6.0;
|
|
capsule_thickness = 0.76;
|
|
contact_shadow = true;
|
|
panel_overlap = 1;
|
|
shadow = true;
|
|
hover_highlight = true;
|
|
concave_edge_corners = true;
|
|
|
|
# cpu + ram rendered as one capsule labelled "sysmon"
|
|
capsule_group = [
|
|
{
|
|
id = "sysmon";
|
|
members = [ "cpu" "ram" ];
|
|
fill = "surface_variant";
|
|
opacity = 1.0;
|
|
padding = 6.0;
|
|
}
|
|
];
|
|
};
|
|
|
|
dock = {
|
|
enabled = true;
|
|
# Desktop entry IDs (filename without .desktop)
|
|
pinned = [ "zen" "codium" "com.mitchellh.ghostty" "thunar" "claude" ];
|
|
position = "bottom";
|
|
smart_auto_hide = true;
|
|
icon_size = 20;
|
|
radius = 15;
|
|
show_dots = true;
|
|
show_running = true;
|
|
show_instance_count = true;
|
|
magnification = true;
|
|
magnification_scale = 1.35;
|
|
background_opacity = 1.0;
|
|
border = "outline";
|
|
concave_edge_corners = true;
|
|
shadow = true;
|
|
main_axis_padding = 20;
|
|
cross_axis_padding = 10;
|
|
item_spacing = 5;
|
|
inactive_opacity = 0.85;
|
|
inactive_scale = 0.85;
|
|
};
|
|
|
|
idle = {
|
|
# screen turns off first, then locks after
|
|
behavior_order = [ "screen-off" "lock" ];
|
|
behavior = {
|
|
screen-off = {
|
|
action = "screen_off";
|
|
enabled = true;
|
|
timeout = 300; # 5 min
|
|
};
|
|
lock = {
|
|
action = "lock";
|
|
enabled = true;
|
|
timeout = 600; # 10 min
|
|
};
|
|
};
|
|
};
|
|
|
|
lockscreen.wallpaper = defaultWallpaper;
|
|
|
|
nightlight.enabled = true;
|
|
|
|
osd.position = "top_right";
|
|
|
|
shell = {
|
|
font_family = "JetBrainsMono Nerd Font";
|
|
polkit_agent = true;
|
|
corner_radius_scale = 1.0;
|
|
animation.speed = 2.0;
|
|
panel = {
|
|
clipboard_placement = "attached";
|
|
launcher_placement = "attached";
|
|
};
|
|
shadow.alpha = 0.5;
|
|
};
|
|
|
|
# Theme follows wallpaper colours (Catppuccin palette, muted scheme, dark mode)
|
|
theme = {
|
|
builtin = "Catppuccin";
|
|
source = "wallpaper";
|
|
mode = "dark";
|
|
wallpaper_scheme = "muted";
|
|
};
|
|
|
|
wallpaper = {
|
|
enabled = true;
|
|
directory = wallpaperDir;
|
|
default.path = defaultWallpaper;
|
|
};
|
|
|
|
};
|
|
};
|
|
}
|