main
1{inputs, ...}: {
2 flake-file.inputs.noctalia = {
3 url = "github:noctalia-dev/noctalia-shell/v4.7.6";
4 inputs.nixpkgs.follows = "nixpkgs";
5 };
6
7 flake.modules.nixos.de-shell-noctalia = {...}: {
8 imports = [inputs.noctalia.nixosModules.default];
9
10 services.noctalia-shell = {
11 enable = true;
12 };
13 };
14
15 flake.modules.homeManager.de-shell-noctalia = {
16 config,
17 pkgs,
18 ...
19 }: {
20 imports = [inputs.noctalia.homeModules.default];
21
22 home.packages = [pkgs.app2unit];
23
24 programs.noctalia-shell = {
25 enable = true;
26 systemd.enable = true;
27 settings = {
28 setupCompleted = true;
29 general = {
30 avatarImage = "${config.home.homeDirectory}/.face";
31 radiusRatio = 0.75;
32 screenRadiusRatio = 0.5;
33 };
34 wallpaper = {
35 enabled = true;
36 defaultWallpaper = config.stylix.image;
37 directory = dirOf config.stylix.image;
38 overviewEnabled = true;
39 };
40 appLauncher = {
41 backgroundOpacity = config.stylix.opacity.popups;
42 enableClipboardHistory = config.services.cliphist.enable;
43 useApp2Unit = true;
44 terminalCommand = "ghostty -e";
45 };
46 notifications = {
47 lowUrgencyDuration = 3;
48 normalUrgencyDuration = 5;
49 criticalUrgencyDuration = 7;
50 };
51 location.name = "重庆, 中国";
52 };
53 };
54 };
55}