{ config, pkgs, inputs, ... }: { # Noctalia v5 shell, managed via its upstream home-manager module. # See https://docs.noctalia.dev/v5/getting-started/nixos/ imports = [ inputs.noctalia.homeModules.default ]; programs.noctalia = { enable = true; # The module's `package` option has no default, so it must be set explicitly. 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 Mono"; ui_scale = 1.2; avatar_path = "/home/aaron/syncthing/pictures/Logo-Aaron-Totenkopf-rund-schwarz.png"; telemetry_enabled = false; clipboard_enabled = true; password_style = "random"; panel = { launcher_compact = true; 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/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 = { behavior_order = [ "screen-off" "lock" "lock-and-suspend" ]; behavior = { "screen-off" = { enabled = true; timeout = 600; }; "lock" = { enabled = true; timeout = 660; }; "lock-and-suspend" = { enabled = true; timeout = 1800; }; }; }; }; }; }