aboutsummaryrefslogblamecommitdiff
path: root/home/programs/desktop/noctalia.nix
blob: db8095c9d30455d2d2e4c20088590581457d5387 (plain) (tree)


















































































































































































































































                                                                                     
{
  pkgs,
  inputs,
  config,
  ...
}:
let
  inherit (config.home) homeDirectory;
  noctalia = "${inputs.noctalia.packages.${pkgs.system}.default}/bin/noctalia-shell";
in
{
  home.packages = [
    pkgs.matugen
  ];

  systemd.user.services.noctalia = {
    Unit.Description = "Noctalia Wayland Shell";
    Unit.PartOf = "graphical-session.target";
    Unit.After = "graphical-session.target";
    Unit.ConditionEnvironment = "WAYLAND_DISPLAY";
    Install.WantedBy = [ "graphical-session.target" ];
    Service.ExecStart = noctalia;
  };

  programs.noctalia-shell = {
    enable = true;
    settings = {
      settingsVersion = 15;
      bar = {
        position = "top";
        backgroundOpacity = 0.9;
        monitors = [ ];
        density = "comfortable";
        showCapsule = true;
        floating = false;
        marginVertical = 0.25;
        marginHorizontal = 0.25;
        widgets = {
          left = [
            {
              id = "SystemMonitor";
            }
            {
              id = "ActiveWindow";
            }
            {
              id = "MediaMini";
            }
          ];
          center = [
            {
              id = "Workspace";
            }
          ];
          right = [
            {
              id = "KeepAwake";
            }
            {
              id = "ScreenRecorder";
            }
            {
              id = "Tray";
            }
            {
              id = "NotificationHistory";
            }
            {
              id = "WiFi";
            }
            {
              id = "Bluetooth";
            }
            {
              id = "Battery";
            }
            {
              id = "Volume";
            }
            {
              id = "Brightness";
            }
            {
              id = "Clock";
            }
            {
              id = "ControlCenter";
            }
          ];
        };
      };

      general = {
        dimDesktop = true;
        showScreenCorners = true;
        forceBlackScreenCorners = false;
        radiusRatio = 1;
        screenRadiusRatio = 1;
        animationSpeed = 1.1;
        animationDisabled = false;
      };

      location = {
        name = "Los Angeles";
        useFahrenheit = false;
        use12hourFormat = false;
        showWeekNumberInCalendar = true;
      };

      screenRecorder = {
        directory = "/home/fcuny/Videos";
        frameRate = 60;
        audioCodec = "opus";
        videoCodec = "h264";
        quality = "very_high";
        colorRange = "limited";
        showCursor = true;
        audioSource = "default_output";
        videoSource = "portal";
      };

      wallpaper = {
        enabled = true;
        directory = "${homeDirectory}/Sync/wallpapers";
        enableMultiMonitorDirectories = false;
        setWallpaperOnAllMonitors = true;
        defaultWallpaper = "";
        fillMode = "crop";
        fillColor = "#000000";
        randomEnabled = true;
        randomIntervalSec = 300;
        transitionDuration = 1500;
        transitionType = "random";
        transitionEdgeSmoothness = 0.05;
        monitors = [ ];
      };

      appLauncher = {
        enableClipboardHistory = true;
        position = "center";
        backgroundOpacity = 1;
        pinnedExecs = [ ];
        useApp2Unit = false;
        sortByMostUsed = true;
        terminalCommand = "kitty";
      };

      controlCenter = {
        position = "close_to_bar_button";
      };

      dock = {
        enabled = false;
        displayMode = "always_visible";
        backgroundOpacity = 1;
        floatingRatio = 1;
        onlySameOutput = true;
        monitors = [ ];
        pinnedApps = [ ];
      };

      network = {
        wifiEnabled = true;
      };

      notifications = {
        doNotDisturb = false;
        monitors = [ ];
        location = "top_right";
        alwaysOnTop = true;
        lastSeenTs = 0;
        respectExpireTimeout = false;
        lowUrgencyDuration = 3;
        normalUrgencyDuration = 8;
        criticalUrgencyDuration = 15;
      };

      osd = {
        enabled = true;
        location = "top_right";
        monitors = [ ];
        autoHideMs = 2000;
      };

      audio = {
        volumeStep = 5;
        volumeOverdrive = false;
        cavaFrameRate = 60;
        visualizerType = "linear";
        mprisBlacklist = [ ];
        preferredPlayer = "";
      };

      ui = {
        fontDefault = "Roboto";
        fontFixed = "DejaVu Sans Mono";
        fontDefaultScale = 1;
        fontFixedScale = 1;
        monitorsScaling = [ ];
        idleInhibitorEnabled = false;
        tooltipsEnabled = true;
      };

      brightness = {
        brightnessStep = 5;
      };

      colorSchemes = {
        useWallpaperColors = true;
        predefinedScheme = "Noctalia (default)";
        darkMode = true;
        matugenSchemeType = "scheme-expressive";
        generateTemplatesForPredefined = true;
      };

      templates = {
        gtk = false;
        qt = false;
        kitty = false;
        ghostty = false;
        foot = false;
        fuzzel = false;
        vesktop = false;
        pywalfox = false;
        enableUserTemplates = false;
      };

      nightLight = {
        enabled = true;
        forced = false;
        autoSchedule = true;
        nightTemp = "4000";
        dayTemp = "6500";
      };

      hooks = {
        enabled = false;
        wallpaperChange = "";
        darkModeChange = "";
      };
    };
  };
}