nix/home/tiling/noctalia.nix

616 lines
17 KiB
Nix

{
pkgs,
config,
...
}:
{
programs.noctalia-shell = {
enable = true;
colors = with config.scheme.withHashtag; {
mPrimary = config.scheme.withHashtag.${config.colors.accent};
mOnPrimary = base00;
mSecondary = base13;
mOnSecondary = base00;
mTertiary = base04;
mOnTertiary = base00;
mError = base12;
mOnError = base00;
mSurface = base00;
mOnSurface = base05;
mSurfaceVariant = base01;
mOnSurfaceVariant = base05;
mOutline = base02;
mShadow = base00;
mHover = base04;
mOnHover = base00;
};
settings = {
appLauncher = {
autoPasteClipboard = false;
clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store";
clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store";
clipboardWrapText = true;
customLaunchPrefix = "";
customLaunchPrefixEnabled = false;
enableClipPreview = true;
enableClipboardHistory = true;
enableSettingsSearch = true;
enableWindowsSearch = true;
iconMode = "tabler";
ignoreMouseInput = false;
overviewLayer = false;
pinnedApps = [ ];
position = "top_left";
screenshotAnnotationTool = "";
showCategories = true;
showIconBackground = false;
sortByMostUsed = true;
terminalCommand = "kitty -e";
useApp2Unit = false;
viewMode = "list";
};
audio = {
cavaFrameRate = 30;
mprisBlacklist = [ ];
preferredPlayer = "";
visualizerType = "linear";
volumeFeedback = false;
volumeOverdrive = false;
volumeStep = 5;
};
bar = {
autoHideDelay = 500;
autoShowDelay = 150;
backgroundOpacity = 0.90;
monitors = [ ];
showCapsule = true;
barType = "simple";
capsuleColorKey = "none";
capsuleOpacity = 0.90;
displayMode = "always_visible";
floating = false;
marginHorizontal = 5;
marginVertical = 5;
frameRadius = 12;
frameThickness = 8;
hideOnOverview = false;
outerCorners = false;
screenOverrides = [ ];
showOutline = false;
useSeparateOpacity = true;
widgets = {
center = [ ];
left = [
{
colorizeSystemIcon = "none";
enableColorization = true;
hideMode = "alwaysExpanded";
icon = "rocket";
id = "CustomButton";
ipcIdentifier = "";
leftClickExec = "niri msg action spawn -- fuzzel";
leftClickUpdateText = false;
maxTextLength = {
horizontal = 10;
vertical = 10;
};
middleClickExec = "";
middleClickUpdateText = false;
parseJson = false;
rightClickExec = "";
rightClickUpdateText = false;
showIcon = true;
textCollapse = "";
textCommand = "";
textIntervalMs = 3000;
textStream = false;
wheelDownExec = "";
wheelDownUpdateText = false;
wheelExec = "";
wheelMode = "unified";
wheelUpExec = "";
wheelUpUpdateText = false;
wheelUpdateText = false;
}
{
characterCount = 2;
colorizeIcons = false;
emptyColor = "secondary";
enableScrollWheel = true;
focusedColor = "primary";
followFocusedScreen = false;
groupedBorderOpacity = 1;
hideUnoccupied = true;
iconScale = 0.6;
id = "Workspace";
labelMode = "index";
occupiedColor = "secondary";
pillSize = 0.6;
reverseScroll = false;
showApplications = true;
showBadge = true;
showLabelsOnlyWhenOccupied = true;
unfocusedIconsOpacity = 1;
}
{
compactMode = true;
diskPath = "/";
iconColor = "none";
id = "SystemMonitor";
showCpuFreq = false;
showCpuTemp = false;
showCpuUsage = true;
showDiskAvailable = false;
showDiskUsage = true;
showDiskUsageAsPercent = false;
showGpuTemp = false;
showLoadAverage = false;
showMemoryAsPercent = true;
showMemoryUsage = true;
showNetworkStats = false;
showSwapUsage = false;
textColor = "none";
useMonospaceFont = true;
}
{
colorizeIcons = false;
hideMode = "hidden";
id = "ActiveWindow";
maxWidth = 600;
scrollingMode = "always";
showIcon = true;
textColor = "none";
useFixedWidth = false;
}
];
right = [
{
compactMode = false;
compactShowAlbumArt = true;
compactShowVisualizer = false;
hideMode = "hidden";
hideWhenIdle = false;
id = "MediaMini";
maxWidth = 380;
panelShowAlbumArt = true;
panelShowVisualizer = true;
scrollingMode = "hover";
showAlbumArt = false;
showArtistFirst = false;
showProgressRing = true;
showVisualizer = false;
textColor = "none";
useFixedWidth = false;
visualizerType = "linear";
}
{
blacklist = [ ];
chevronColor = "none";
colorizeIcons = true;
drawerEnabled = false;
hidePassive = false;
id = "Tray";
pinned = [ ];
}
{
hideWhenZero = false;
hideWhenZeroUnread = true;
iconColor = "none";
id = "NotificationHistory";
showUnreadBadge = true;
unreadBadgeColor = "primary";
}
{
deviceNativePath = "";
displayMode = "icon-hover";
hideIfIdle = false;
hideIfNotDetected = true;
id = "Battery";
showNoctaliaPerformance = false;
showPowerProfiles = true;
}
{
displayMode = "onhover";
iconColor = "none";
id = "Volume";
middleClickCommand = "pwvucontrol || pavucontrol";
textColor = "none";
}
{
displayMode = "onhover";
iconColor = "none";
id = "Brightness";
textColor = "none";
}
{
colorizeDistroLogo = false;
colorizeSystemIcon = "none";
customIconPath = "";
enableColorization = false;
icon = "noctalia";
id = "ControlCenter";
useDistroLogo = false;
}
{
clockColor = "none";
customFont = "";
formatHorizontal = "ddd MMM dd yyyy @ h:mm AP";
formatVertical = "HH mm - dd MM";
id = "Clock";
tooltipFormat = "HH:mm ddd, MMM dd";
useCustomFont = false;
}
];
};
};
brightness = {
brightnessStep = 5;
enforceMinimum = false;
};
calendar = {
cards = [
{
enabled = true;
id = "calendar-header-card";
}
{
enabled = true;
id = "calendar-month-card";
}
{
enabled = true;
id = "weather-card";
}
{
enabled = true;
id = "timer-card";
}
];
};
colorSchemes = {
darkMode = true;
generationMethod = "tonal-spot";
manualSunrise = "06:30";
manualSunset = "18:30";
monitorForColors = "";
predefinedScheme = "Noctalia (default)";
schedulingMode = "off";
useWallpaperColors = false;
};
controlCenter = {
cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
diskPath = "/";
position = "close_to_bar_button";
shortcuts = {
left = [
{ id = "Network"; }
{ id = "Bluetooth"; }
{ id = "WallpaperSelector"; }
];
right = [
{ id = "Notifications"; }
{ id = "PowerProfile"; }
{ id = "KeepAwake"; }
{ id = "NightLight"; }
];
};
};
desktopWidgets = {
enabled = false;
gridSnap = false;
monitorWidgets = [ ];
};
dock = {
animationSpeed = 1;
backgroundOpacity = 1;
colorizeIcons = false;
deadOpacity = 0.6;
displayMode = "auto_hide";
enabled = false;
floatingRatio = 1;
inactiveIndicators = false;
monitors = [ ];
onlySameOutput = true;
pinnedApps = [ ];
pinnedStatic = false;
position = "bottom";
size = 1;
};
general = {
allowPanelsOnScreenWithoutBar = true;
allowPasswordWithFprintd = false;
animationDisabled = false;
animationSpeed = 1;
autoStartAuth = false;
avatarImage = "/home/sckova/.face";
boxRadiusRatio = 1;
clockFormat = "hh\\nmm";
clockStyle = "custom";
compactLockScreen = false;
dimmerOpacity = 0.5;
enableLockScreenCountdown = true;
enableShadows = false;
forceBlackScreenCorners = false;
iRadiusRatio = 1;
language = "";
lockOnSuspend = true;
lockScreenAnimations = false;
lockScreenCountdownDuration = 10000;
lockScreenMonitors = [ ];
radiusRatio = 1;
scaleRatio = 1;
screenRadiusRatio = 1;
shadowDirection = "bottom_right";
shadowOffsetX = 2;
shadowOffsetY = 3;
showChangelogOnStartup = true;
showHibernateOnLockScreen = false;
showScreenCorners = false;
showSessionButtonsOnLockScreen = true;
telemetryEnabled = false;
};
hooks = {
darkModeChange = "";
enabled = false;
performanceModeDisabled = "";
performanceModeEnabled = "";
screenLock = "";
screenUnlock = "";
session = "";
startup = "";
wallpaperChange = "";
};
location = {
analogClockInCalendar = false;
firstDayOfWeek = -1;
hideWeatherCityName = false;
hideWeatherTimezone = false;
name = "Atlanta, US";
showCalendarEvents = true;
showCalendarWeather = true;
showWeekNumberInCalendar = true;
use12hourFormat = true;
useFahrenheit = true;
weatherEnabled = true;
weatherShowEffects = true;
};
network = {
bluetoothDetailsViewMode = "grid";
bluetoothHideUnnamedDevices = false;
bluetoothRssiPollIntervalMs = 10000;
bluetoothRssiPollingEnabled = false;
wifiDetailsViewMode = "grid";
wifiEnabled = true;
};
nightLight = {
autoSchedule = true;
dayTemp = "6500";
enabled = true;
forced = false;
manualSunrise = "06:30";
manualSunset = "18:30";
nightTemp = "4000";
};
notifications = {
backgroundOpacity = 1;
criticalUrgencyDuration = 15;
enableBatteryToast = true;
enableKeyboardLayoutToast = true;
enableMediaToast = false;
enabled = true;
location = "top_right";
lowUrgencyDuration = 3;
monitors = [ ];
normalUrgencyDuration = 8;
overlayLayer = true;
respectExpireTimeout = false;
saveToHistory = {
critical = true;
low = true;
normal = true;
};
sounds = {
criticalSoundFile = "";
enabled = true;
excludedApps = "discord,firefox,chrome,chromium,edge";
lowSoundFile = "";
normalSoundFile = "";
separateSounds = false;
volume = 0.5;
};
};
osd = {
autoHideMs = 2000;
backgroundOpacity = 1;
enabled = true;
enabledTypes = [
0
1
2
];
location = "top_right";
monitors = [ ];
overlayLayer = true;
};
plugins.autoUpdate = false;
sessionMenu = {
countdownDuration = 5000;
enableCountdown = true;
largeButtonsLayout = "single-row";
largeButtonsStyle = true;
position = "center";
powerOptions = [
{
action = "lock";
enabled = true;
}
{
action = "suspend";
enabled = true;
}
{
action = "hibernate";
enabled = true;
}
{
action = "reboot";
enabled = true;
}
{
action = "logout";
enabled = true;
}
{
action = "shutdown";
enabled = true;
}
];
showHeader = true;
showNumberLabels = true;
};
settingsVersion = 49;
systemMonitor = {
batteryCriticalThreshold = 5;
batteryWarningThreshold = 20;
cpuCriticalThreshold = 90;
cpuPollingInterval = 1000;
cpuWarningThreshold = 80;
criticalColor = "";
diskAvailCriticalThreshold = 10;
diskAvailWarningThreshold = 20;
diskCriticalThreshold = 90;
diskPollingInterval = 3000;
diskWarningThreshold = 80;
enableDgpuMonitoring = false;
externalMonitor = "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor";
gpuCriticalThreshold = 90;
gpuPollingInterval = 3000;
gpuWarningThreshold = 80;
loadAvgPollingInterval = 3000;
memCriticalThreshold = 90;
memPollingInterval = 1000;
memWarningThreshold = 80;
networkPollingInterval = 1000;
swapCriticalThreshold = 90;
swapWarningThreshold = 80;
tempCriticalThreshold = 90;
tempWarningThreshold = 80;
useCustomColors = false;
warningColor = "";
};
templates = {
activeTemplates = [ ];
enableUserTheming = false;
};
ui = {
bluetoothDetailsViewMode = "grid";
bluetoothHideUnnamedDevices = false;
boxBorderEnabled = false;
fontDefault = "Noto Sans";
fontDefaultScale = 1;
fontFixed = "FiraMono Nerd Font Mono";
fontFixedScale = 1;
networkPanelView = "wifi";
panelBackgroundOpacity = 1;
panelsAttachedToBar = true;
settingsPanelMode = "attached";
tooltipsEnabled = true;
wifiDetailsViewMode = "grid";
};
wallpaper = {
automationEnabled = false;
directory = "/home/sckova/.local/share/wallpaper";
enableMultiMonitorDirectories = false;
enabled = false;
fillColor = "#1e1e2e";
fillMode = "crop";
hideWallpaperFilenames = true;
monitorDirectories = [ ];
overviewEnabled = false;
panelPosition = "follow_bar";
randomIntervalSec = 300;
setWallpaperOnAllMonitors = true;
showHiddenFiles = false;
solidColor = "#1a1a2e";
sortOrder = "name";
transitionDuration = 1500;
transitionEdgeSmoothness = 0.05;
transitionType = "random";
useSolidColor = false;
useWallhaven = false;
viewMode = "single";
wallhavenApiKey = "";
wallhavenCategories = "111";
wallhavenOrder = "desc";
wallhavenPurity = "100";
wallhavenQuery = "";
wallhavenRatios = "";
wallhavenResolutionHeight = "";
wallhavenResolutionMode = "atleast";
wallhavenResolutionWidth = "";
wallhavenSorting = "relevance";
wallpaperChangeMode = "random";
};
};
};
systemd.user.services.noctalia-shell = {
Unit = {
After = [ "niri.service" ];
PartOf = [ "niri.service" ];
Description = "Noctalia Shell - Wayland desktop shell";
Documentation = "https://docs.noctalia.dev";
X-Restart-Triggers = [
"${config.xdg.configFile."noctalia/settings.json".source}"
"${config.xdg.configFile."noctalia/colors.json".source}"
];
};
Service = {
ExecStart = "${pkgs.noctalia-shell}/bin/noctalia-shell";
Restart = "on-failure";
Environment = [ "QT_QPA_PLATFORMTHEME=qt6ct" ];
};
Install.WantedBy = [ "niri.service" ];
};
}