kitagawa rice

- niri + noctalia dotfiles are now manually symlinked
- zsh being extremely slow is fixed
- stylix is now used for easier themeing of apps
This commit is contained in:
greyweather committed 2026-07-09 02:26:19 +01:00
1 parent dc47c5586c
commit d967557f2d
25 files changed
+849 -793

No files matched your search

+24 -574
View File
@@ -1,584 +1,34 @@
{
config,
pkgs,
lib,
...
}: {
programs.niri = {
enable = true;
package = pkgs.niri-stable;
settings = {
spawn-at-startup = [
{ argv = ["noctalia-shell"]; }
];
home.packages = with pkgs; [
gnome-calculator
nautilus
];
hotkey-overlay.skip-at-startup = true;
home.activation = {
symlinkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
if [ -f /home/grey/.config/niri/config.kdl ]; then
rm /home/grey/.config/niri/config.kdl
fi
ln -s /home/grey/nixos/assets/dotfiles/niri.kdl /home/grey/.config/niri/config.kdl
'';
cursor = {
size = 22;
theme = "Bibata-Modern-Ice";
};
symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
if [ -f /home/grey/.local/state/noctalia/settings.toml ]; then
rm /home/grey/.local/state/noctalia/settings.toml
fi
ln -s /home/grey/nixos/assets/dotfiles/noctalia-state/settings.toml /home/grey/.local/state/noctalia/settings.toml
input.keyboard.xkb.layout = "gb";
input.mouse.accel-speed = 1.0;
input.touchpad = {
accel-profile = "flat";
accel-speed = 0.75;
disabled-on-external-mouse = true;
tap = true;
dwt = true;
natural-scroll = true;
click-method = "clickfinger";
};
binds = {
"Mod+Space".action.toggle-overview = {};
"Mod+Shift+E".action.quit = {};
"Mod+F".action.fullscreen-window = {};
"Mod+Return".action.spawn = "kitty";
"Mod+Q".action.close-window = {};
"Mod+E".action.spawn = "nautilus";
"Mod+B".action.spawn = "floorp";
"Mod+D".action.spawn = "fuzzel";
"Mod+Z".action.spawn = ["kitty" "nh" "os" "switch" "./nixos"];
"Mod+TouchpadScrollLeft".action.focus-column-left = {};
"Mod+TouchpadScrollRight".action.focus-column-right = {};
"Mod+TouchpadScrollUp".action.focus-workspace-up = {};
"Mod+TouchpadScrollDown".action.focus-workspace-down = {};
"Mod+Left".action.focus-column-left = {};
"Mod+Shift+Left".action.move-column-left = {};
"Mod+Right".action.focus-column-right = {};
"Mod+Shift+Right".action.move-column-right = {};
"Mod+Up".action.focus-workspace-up = {};
"Mod+Shift+Up".action.move-window-to-workspace-up = {};
"Mod+Down".action.focus-workspace-down = {};
"Mod+Shift+Down".action.move-window-to-workspace-down = {};
"XF86MonBrightnessUp".action.spawn = ["brightnessctl" "set" "+5%"];
"XF86MonBrightnessDown".action.spawn = ["brightnessctl" "set" "5%-"];
"XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "msg" "volume" "increase"];
"XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "msg" "volume" "decrease"];
"Mod+Shift+P".action.spawn = ["noctalia-shell" "msg" "sessionMenu" "toggle"];
};
prefer-no-csd = true;
layout = {
gaps = 16;
struts.left = 64;
struts.right = 64;
always-center-single-column = true;
empty-workspace-above-first = true;
# fog of war
focus-ring = {
enable = true;
width = 2.5;
active.color = "#b2b2b2d6";
};
# border.active.gradient = {
# from = "red";
# to = "blue";
# in' = "oklch shorter hue";
# };
shadow.enable = true;
# default-column-display = "tabbed";
tab-indicator = {
position = "top";
gaps-between-tabs = 10;
# hide-when-single-tab = true;
# place-within-column = true;
# active.color = "red";
};
};
overview.zoom = 0.5;
window-rules = [
{
draw-border-with-background = false;
geometry-corner-radius = let
n = 10.0;
in {
top-right = n;
top-left = n;
bottom-left = n;
bottom-right = n;
};
clip-to-geometry = true;
}
{
matches = [
{
app-id = "^floorp$";
}
{
app-id = "^code$";
}
];
default-column-width.proportion = 1.0;
}
{
matches = [
{
app-id = "^kitty$";
}
];
default-column-width.proportion = 0.66;
}
];
debug = {
honor-xdg-activation-with-invalid-serial = {};
};
xwayland-satellite.path = "${lib.getExe pkgs.xwayland-satellite-unstable}";
};
};
programs.noctalia-shell = {
enable = true;
settings = {
settingsVersion = 0;
bar = {
barType = "simple";
position = "top";
monitors = [ ];
density = "default";
showOutline = false;
showCapsule = true;
capsuleOpacity = 1;
backgroundOpacity = 0.93;
useSeparateOpacity = false;
floating = false;
marginVertical = 4;
marginHorizontal = 4;
frameThickness = 8;
frameRadius = 12;
outerCorners = true;
hideOnOverview = false;
displayMode = "always_visible";
autoHideDelay = 500;
autoShowDelay = 150;
widgets = {
left = [
{
id = "Clock";
formatHorizontal = "h:mm A";
}
{
id = "SystemMonitor";
}
{
id = "MediaMini";
scrollingMode="never";
useFixedWidth = false;
maxWidth = 900;
}
];
center = [
{
id = "Workspace";
}
];
right = [
{
id = "Tray";
}
{
id = "NotificationHistory";
}
{
id = "Brightness";
}
{
id = "Battery";
displayMode="alwaysShow";
}
{
id = "Volume";
displayMode="alwaysShow";
}
{
id = "Bluetooth";
displayMode="alwaysShow";
}
{
id = "ControlCenter";
useDistroLogo = true;
}
];
};
screenOverrides = [ ];
};
general = {
avatarImage = "";
dimmerOpacity = 0.2;
showScreenCorners = true;
forceBlackScreenCorners = true;
scaleRatio = 1;
radiusRatio = 1;
iRadiusRatio = 1;
boxRadiusRatio = 1;
screenRadiusRatio = 1;
animationSpeed = 1.25;
animationDisabled = false;
compactLockScreen = false;
lockOnSuspend = true;
showSessionButtonsOnLockScreen = true;
showHibernateOnLockScreen = false;
enableShadows = true;
shadowDirection = "bottom_right";
shadowOffsetX = 1;
shadowOffsetY = 1;
language = "";
allowPanelsOnScreenWithoutBar = true;
showChangelogOnStartup = false;
telemetryEnabled = false;
enableLockScreenCountdown = true;
lockScreenCountdownDuration = 10000;
autoStartAuth = false;
allowPasswordWithFprintd = true;
};
ui = {
fontDefault = "";
fontFixed = "";
fontDefaultScale = 1;
fontFixedScale = 1;
tooltipsEnabled = true;
panelBackgroundOpacity = 0.93;
panelsAttachedToBar = true;
settingsPanelMode = "attached";
wifiDetailsViewMode = "grid";
bluetoothDetailsViewMode = "grid";
networkPanelView = "wifi";
bluetoothHideUnnamedDevices = false;
boxBorderEnabled = false;
};
location = {
name = "London";
weatherEnabled = true;
weatherShowEffects = true;
useFahrenheit = false;
use12hourFormat = false;
showWeekNumberInCalendar = false;
showCalendarEvents = true;
showCalendarWeather = true;
analogClockInCalendar = false;
firstDayOfWeek = -1;
hideWeatherTimezone = false;
hideWeatherCityName = true;
};
calendar = {
cards = [
{
enabled = true;
id = "calendar-header-card";
}
{
enabled = true;
id = "calendar-month-card";
}
{
enabled = true;
id = "weather-card";
}
];
};
wallpaper = {
enabled = true;
overviewEnabled = true;
directory = "/home/grey/nixos/assets/wallpapers";
monitorDirectories = [ ];
enableMultiMonitorDirectories = false;
showHiddenFiles = true;
viewMode = "single";
setWallpaperOnAllMonitors = true;
fillMode = "crop";
fillColor = "#000000";
useSolidColor = true;
solidColor = "#1a1a2e";
automationEnabled = false;
wallpaperChangeMode = "random";
randomIntervalSec = 300;
transitionDuration = 1500;
transitionType = "random";
transitionEdgeSmoothness = 0.05;
panelPosition = "follow_bar";
hideWallpaperFilenames = false;
useWallhaven = false;
wallhavenQuery = "";
wallhavenSorting = "relevance";
wallhavenOrder = "desc";
wallhavenCategories = "111";
wallhavenPurity = "100";
wallhavenRatios = "";
wallhavenApiKey = "";
wallhavenResolutionMode = "atleast";
wallhavenResolutionWidth = "";
wallhavenResolutionHeight = "";
sortOrder = "name";
};
appLauncher = {
enableClipboardHistory = false;
autoPasteClipboard = false;
enableClipPreview = true;
clipboardWrapText = true;
clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store";
clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store";
position = "center";
pinnedApps = [ ];
useApp2Unit = false;
sortByMostUsed = true;
terminalCommand = "alacritty -e";
customLaunchPrefixEnabled = false;
customLaunchPrefix = "";
viewMode = "list";
showCategories = true;
iconMode = "tabler";
showIconBackground = false;
enableSettingsSearch = true;
enableWindowsSearch = true;
ignoreMouseInput = false;
screenshotAnnotationTool = "";
};
controlCenter = {
position = "close_to_bar_button";
diskPath = "/";
shortcuts = {
left = [
{
id = "Network";
}
{
id = "Bluetooth";
}
{
id = "WallpaperSelector";
}
{
id = "NoctaliaPerformance";
}
];
right = [
{
id = "Notifications";
}
{
id = "PowerProfile";
}
{
id = "KeepAwake";
}
{
id = "NightLight";
}
];
};
cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = false;
id = "brightness-card";
}
{
enabled = true;
id = "weather-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
};
systemMonitor = {
cpuWarningThreshold = 80;
cpuCriticalThreshold = 90;
tempWarningThreshold = 80;
tempCriticalThreshold = 90;
gpuWarningThreshold = 80;
gpuCriticalThreshold = 90;
memWarningThreshold = 80;
memCriticalThreshold = 90;
swapWarningThreshold = 80;
swapCriticalThreshold = 90;
diskWarningThreshold = 80;
diskCriticalThreshold = 90;
diskAvailWarningThreshold = 20;
diskAvailCriticalThreshold = 10;
cpuPollingInterval = 1000;
gpuPollingInterval = 3000;
enableDgpuMonitoring = false;
memPollingInterval = 1000;
diskPollingInterval = 30000;
networkPollingInterval = 1000;
loadAvgPollingInterval = 3000;
useCustomColors = false;
warningColor = "";
criticalColor = "";
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";
};
dock = {
enabled = false;
position = "bottom";
displayMode = "auto_hide";
backgroundOpacity = 1;
floatingRatio = 1;
size = 1;
onlySameOutput = true;
monitors = [ ];
pinnedApps = [ ];
colorizeIcons = false;
pinnedStatic = false;
inactiveIndicators = false;
deadOpacity = 0.6;
animationSpeed = 1;
};
network = {
wifiEnabled = true;
bluetoothRssiPollingEnabled = false;
bluetoothRssiPollIntervalMs = 10000;
wifiDetailsViewMode = "grid";
bluetoothDetailsViewMode = "grid";
bluetoothHideUnnamedDevices = false;
};
sessionMenu = {
enableCountdown = false;
countdownDuration = 10000;
position = "center";
showHeader = true;
largeButtonsStyle = true;
largeButtonsLayout = "single-row";
showNumberLabels = true;
powerOptions = [
{
action = "lock";
enabled = false;
}
{
action = "suspend";
enabled = true;
}
{
action = "hibernate";
enabled = false;
}
{
action = "reboot";
enabled = true;
}
{
action = "logout";
enabled = false;
}
{
action = "shutdown";
enabled = true;
}
];
};
notifications = {
enabled = true;
monitors = [ ];
location = "top_right";
overlayLayer = true;
backgroundOpacity = 1;
respectExpireTimeout = false;
lowUrgencyDuration = 3;
normalUrgencyDuration = 8;
criticalUrgencyDuration = 15;
enableKeyboardLayoutToast = true;
saveToHistory = {
low = true;
normal = true;
critical = true;
};
sounds = {
enabled = false;
volume = 0.5;
separateSounds = false;
criticalSoundFile = "";
normalSoundFile = "";
lowSoundFile = "";
excludedApps = "discord,firefox,chrome,chromium,edge";
};
enableMediaToast = false;
};
osd = {
enabled = true;
location = "top_right";
autoHideMs = 2000;
overlayLayer = true;
backgroundOpacity = 1;
enabledTypes = [
0
1
2
];
monitors = [ ];
};
audio = {
volumeStep = 5;
volumeOverdrive = false;
cavaFrameRate = 30;
visualizerType = "linear";
mprisBlacklist = [ ];
preferredPlayer = "";
volumeFeedback = false;
};
brightness = {
brightnessStep = 5;
enforceMinimum = true;
enableDdcSupport = false;
};
colorSchemes = {
useWallpaperColors = false;
predefinedScheme = "Nord";
darkMode = true;
monitorForColors = "";
};
nightLight = {
enabled = true;
forced = false;
autoSchedule = true;
nightTemp = "5000";
dayTemp = "6250";
manualSunrise = "06:30";
manualSunset = "18:30";
};
hooks = {
enabled = false;
wallpaperChange = "";
darkModeChange = "";
screenLock = "";
screenUnlock = "";
performanceModeEnabled = "";
performanceModeDisabled = "";
startup = "";
session = "";
};
desktopWidgets = {
enabled = false;
gridSnap = false;
monitorWidgets = [ ];
};
};
if [ -d /home/grey/.local/state/noctalia/plugins ]; then
rm -rf /home/grey/.local/state/noctalia/plugins
fi
ln -s /home/grey/nixos/assets/dotfiles/noctalia-state/plugins /home/grey/.local/state/noctalia/plugins
'';
};
}