old
  1{inputs, ...}: {
  2  flake-file.inputs.noctalia = {
  3    url = "github:noctalia-dev/noctalia";
  4    inputs.nixpkgs.follows = "nixpkgs";
  5  };
  6
  7  den.aspects.desktop.env.shell.noctalia = {
  8    persistHome = {config, ...}: {
  9      directories = [
 10        "${config.xdg.stateHome}/noctalia"
 11      ];
 12    };
 13
 14    homeManager = {
 15      user,
 16      config,
 17      pkgs,
 18      ...
 19    }: {
 20      imports = [inputs.noctalia.homeModules.default];
 21
 22      programs.noctalia = {
 23        enable = true;
 24
 25        settings = {
 26          battery.warning_threshold = 20;
 27          notification.layer = "overlay";
 28          osd = {
 29            background_opacity = 0.9;
 30            position_vertical = "top_right";
 31          };
 32          desktop_widgets.enabled = false;
 33          shell = {
 34            avatar_path = "/var/lib/AccountsService/icons/${user.userName}.png";
 35            lang = "zh_CN.UTF-8";
 36            panel = {
 37              open_near_click_control_center = true;
 38              transparency_mode = "glass";
 39            };
 40            screenshot = {
 41              directory = "${config.xdg.userDirs.pictures}/Screenshots";
 42              filename_pattern = "Screenshot_%Y-%m-%d_%H-%M-%S";
 43            };
 44          };
 45          bar = {
 46            order = ["default"];
 47            default = {
 48              background_opacity = 0.9;
 49              margin_edge = 8;
 50              margin_ends = 8;
 51              radius = 14;
 52              start = ["launcher" "privacy" "media"];
 53              center = ["workspaces"];
 54              end = [
 55                "tray"
 56                "notifications"
 57                "clipboard"
 58                "network"
 59                "bluetooth"
 60                "volume"
 61                "brightness"
 62                "battery"
 63                "clock"
 64                "control-center"
 65              ];
 66            };
 67          };
 68          widget = {
 69            battery = {
 70              display_mode = "graphic";
 71              show_label = false;
 72            };
 73            brightness.show_label = false;
 74            clock = {
 75              capsule = true;
 76              capsule_opacity = 0.9;
 77              capsule_padding = 10.0;
 78              format = "{:%Y-%m-%d %H:%M}";
 79            };
 80            control-center = {
 81              capsule = true;
 82              capsule_opacity = 0.9;
 83              custom_image = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake.png";
 84            };
 85            launcher = {
 86              capsule = true;
 87              capsule_opacity = 0.9;
 88            };
 89            media = {
 90              capsule = true;
 91              capsule_opacity = 0.9;
 92            };
 93            network.show_label = false;
 94            privacy = {
 95              capsule = true;
 96              capsule_opacity = 0.9;
 97            };
 98            tray = {drawer = true;};
 99            volume.show_label = false;
100            workspaces.hide_when_empty = true;
101          };
102        };
103      };
104    };
105  };
106
107  den.aspects.desktop.env.shell.noctalia.themes = {
108    catppuccin = {
109      homeManager = {pkgs, ...}: {
110        programs.noctalia = {
111          settings = {
112            theme = {
113              source = "builtin";
114              builtin = "Catppuccin";
115            };
116            wallpaper.default = pkgs.nixos-artwork.wallpapers.catppuccin-mocha;
117          };
118        };
119      };
120    };
121  };
122}