noctalia v5

This commit is contained in:
EdenQwQ 2026-06-13 00:16:12 +08:00
parent f0ba537f6f
commit ac74d0707f
10 changed files with 192 additions and 687 deletions

611
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -55,8 +55,9 @@
};
flake-parts.url = "github:hercules-ci/flake-parts";
niri-unstable = {
url = "github:JustinSpedding/niri/up-down-keybinds";
# url = "github:JustinSpedding/niri/up-down-keybinds";
# url = "github:Atan-D-RP4/niri/feat/layer-anims";
url = "github:niri-wm/niri";
flake = false;
};
niri = {
@ -106,7 +107,5 @@
kimi-cli.url = "github:MoonshotAI/kimi-cli";
awww.url = "git+https://codeberg.org/LGFae/awww";
waydeeper.url = "github:EdenQwQ/waydeeper";
hermes-agent.url = "github:NousResearch/hermes-agent";
nixpkgs-mozilla.url = "github:mozilla/nixpkgs-mozilla";
};
}

View file

@ -56,8 +56,8 @@
if ${pkgs.systemd}/bin/systemctl --user is-active caelestia.service; then
run --silence ${pkgs.systemd}/bin/systemctl --user stop caelestia.service
fi
if ${pkgs.systemd}/bin/systemctl --user is-active noctalia-shell.service; then
run --silence ${pkgs.systemd}/bin/systemctl --user stop noctalia-shell.service
if ${pkgs.systemd}/bin/systemctl --user is-active noctalia.service; then
run --silence ${pkgs.systemd}/bin/systemctl --user stop noctalia.service
fi
run --silence ${pkgs.systemd}/bin/systemctl --user start ${config.desktopShell}.service
'';

View file

@ -15,14 +15,6 @@ let
xray true
blur true
}
popups {
opacity 0.75
geometry-corner-radius 15
background-effect {
xray false
blur true
}
}
}
window-rule {
match is-floating=true
@ -91,7 +83,6 @@ let
builtins.replaceStrings
[
"output \"${config.lib.monitors.mainMonitorName}\" {"
"binds {"
]
[
''
@ -100,10 +91,6 @@ let
top-right
}
''
''
binds {
Shift_R { release { toggle-overview; }; }
''
]
config.programs.niri.finalConfig
+ "\n"

View file

@ -7,204 +7,54 @@
...
}:
{
programs.noctalia-shell = {
colors = with config.lib.stylix.colors.withHashtag; {
mError = base08;
mHover = base0E;
mOnError = base00;
mOnHover = base00;
programs.noctalia = {
systemd.enable = true;
customPalettes.stylix.dark = with config.lib.stylix.colors.withHashtag; {
mPrimary = base0D;
mOnPrimary = base00;
mOnSecondary = base01;
mSecondary = base0E;
mOnSecondary = base00;
mTertiary = base0C;
mOnTertiary = base00;
mError = base08;
mOnError = base00;
mSurface = base00;
mOnSurface = base05;
mOnSurfaceVariant = base07;
mOnTeritiary = base00;
mOutline = base02;
mPrimary = base0B;
mSecondary = base0A;
mShadow = "#000000";
mSurface = base01;
mHover = base0C;
mOnHover = base00;
mSurfaceVariant = base01;
mTeritiary = base0C;
};
settings = {
setupCompleted = true;
bar = {
density = "comfortable";
floating = true;
showCapsule = true;
outerCorners = true;
marginVertical = 6;
marginHorizontal = 6;
widgets = {
center = [
{
id = "SystemMonitor";
showCpuTemp = true;
showCpuUsage = true;
showDiskUsage = false;
showMemoryAsPercent = false;
showMemoryUsage = true;
showNetworkoStats = false;
usePrimaryColor = true;
}
];
left = [
{
id = "Workspace";
labelMode = "none";
hideUnoccupied = false;
}
{
id = "MediaMini";
autoHide = true;
scrollingMode = "hover";
showAlbumArt = true;
showVisualizer = true;
visualizerType = "wave";
}
];
right = [
{
id = "Tray";
drawerEnabled = false;
colorizeIcons = false;
blacklist = [ ];
}
{
id = "Volume";
displayMode = "onhover";
}
{
id = "Battery";
displayMode = "alwaysShow";
warningThreshold = 30;
}
{
id = "Clock";
customFont = "Monofur Nerd Font Mono";
formatHorizontal = "HH:mm ddd, MMM dd";
formatVertical = "HH mm - dd MM";
useCustomFont = true;
usePrimaryColor = true;
}
{
id = "ControlCenter";
useDistroLogo = false;
}
];
};
};
controlCenter.cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = true;
id = "brightness-card";
}
{
enabled = true;
id = "weather-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
idle = {
enabled = true;
screenOffTimeout = 500;
lockTimeout = 560;
suspendTimeout = 1800;
fadeDuration = 10;
};
colorSchemes = {
generateTemplatesForPredefined = false;
useWallpaperColors = false;
};
general = {
avatarImage = "/home/${user}/.face";
forceBlackScreenCorners = false;
showScreenCorners = false;
};
location = {
name = "西";
};
ui = {
fontDefault = "Hug Me Tight";
fontFixed = "Maple Mono";
panelBackgroundOpacity = 0.85;
};
dock.enabled = false;
wallpaper.enabled = false;
nightLight = {
enabled = true;
forced = true;
nightTemp = "5000";
};
desktopWidgets = {
editMode = false;
enabled = true;
monitorWidgets = [
{
name = config.lib.monitors.mainMonitorName;
widgets = [
{
id = "Clock";
showBackground = true;
x = 80;
y = 100;
}
{
id = "Weather";
showBackground = true;
x = 80;
y = 300;
}
];
}
];
};
};
};
mOnSurfaceVariant = base04;
mOutline = base03;
mShadow = base00;
systemd.user.services = lib.mkIf (config.desktopShell == "noctalia-shell") {
noctalia-shell =
let
noctaliaPackage = inputs.noctalia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default;
noctaliaConfig = "/home/${user}/.config/noctalia/gui-settings.json";
in
{
Unit = {
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
StartLimitIntervalSec = 60;
StartLimitBurst = 3;
X-Restart-Triggers = [
noctaliaPackage
noctaliaConfig
];
terminal = {
foreground = base05;
background = base00;
cursor = base05;
cursorText = base00;
selectionFg = base05;
selectionBg = base02;
normal = {
black = base00;
red = base08;
green = base0B;
yellow = base0A;
blue = base0D;
magenta = base0E;
cyan = base0C;
white = base05;
};
Install.WantedBy = [ "graphical-session.target" ];
Service = {
ExecStart = "${noctaliaPackage}/bin/noctalia-shell";
Restart = "on-failure";
RestartSec = 3;
TimeoutStartSec = 10;
TimeoutStopSec = 5;
Environment = [
"NOCTALIA_SETTINGS_FALLBACK=${noctaliaConfig}"
];
bright = {
black = base03;
red = base08;
green = base0B;
yellow = base0A;
blue = base0D;
magenta = base0E;
cyan = base0C;
white = base07;
};
};
};
};
}

View file

@ -17,7 +17,7 @@
waybar = "pkill -USR1 .waybar-wrapped";
dms = "dms ipc call bar toggle";
caelestia = "echo pass";
noctalia-shell = "noctalia-shell ipc call bar toggle";
noctalia-shell = "noctalia msg bar-toggle";
}
.${config.desktopShell};
}

View file

@ -5,12 +5,15 @@
...
}:
{
programs.gemini-cli = {
programs.antigravity-cli = {
enable = true;
};
programs.claude-code = {
enable = true;
};
programs.pi-coding-agent = {
enable = true;
};
home.sessionVariables = {
GEMINI_API_KEY = "$(cat ${config.age.secrets.gemini_token.path})";
ANTHROPIC_AUTH_TOKEN = "$(cat ${config.age.secrets.anyrouter_token.path})";
@ -27,6 +30,5 @@
opencode
codex
gitingest
inputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}

View file

@ -51,6 +51,7 @@
android-tools
tree-sitter
inputs.agenix.packages.${pkgs.stdenv.hostPlatform.system}.agenix
evtest
];
imports = [
./eye-candy.nix

View file

@ -26,7 +26,7 @@
enable = config.desktopShell == "caelestia";
systemd.enable = config.desktopShell == "caelestia";
};
programs.noctalia-shell.enable = config.desktopShell == "noctalia-shell";
programs.noctalia.enable = config.desktopShell == "noctalia-shell";
home.packages = lib.mkIf (config.desktopShell == "noctalia-shell") [
inputs.noctalia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default
];

View file

@ -43,5 +43,4 @@
inherit (inputs.niri.overlays) niri;
nur = inputs.nur.overlays.default;
nix-matlab = inputs.nix-matlab.overlay;
inherit (inputs.nixpkgs-mozilla.overlays) firefox;
}