mirror of
https://github.com/EdenQwQ/nixos.git
synced 2026-07-16 22:16:51 +08:00
noctalia v5
This commit is contained in:
parent
f0ba537f6f
commit
ac74d0707f
10 changed files with 192 additions and 687 deletions
611
flake.lock
generated
611
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -55,8 +55,9 @@
|
||||||
};
|
};
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
niri-unstable = {
|
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:Atan-D-RP4/niri/feat/layer-anims";
|
||||||
|
url = "github:niri-wm/niri";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
niri = {
|
niri = {
|
||||||
|
|
@ -106,7 +107,5 @@
|
||||||
kimi-cli.url = "github:MoonshotAI/kimi-cli";
|
kimi-cli.url = "github:MoonshotAI/kimi-cli";
|
||||||
awww.url = "git+https://codeberg.org/LGFae/awww";
|
awww.url = "git+https://codeberg.org/LGFae/awww";
|
||||||
waydeeper.url = "github:EdenQwQ/waydeeper";
|
waydeeper.url = "github:EdenQwQ/waydeeper";
|
||||||
hermes-agent.url = "github:NousResearch/hermes-agent";
|
|
||||||
nixpkgs-mozilla.url = "github:mozilla/nixpkgs-mozilla";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,8 @@
|
||||||
if ${pkgs.systemd}/bin/systemctl --user is-active caelestia.service; then
|
if ${pkgs.systemd}/bin/systemctl --user is-active caelestia.service; then
|
||||||
run --silence ${pkgs.systemd}/bin/systemctl --user stop caelestia.service
|
run --silence ${pkgs.systemd}/bin/systemctl --user stop caelestia.service
|
||||||
fi
|
fi
|
||||||
if ${pkgs.systemd}/bin/systemctl --user is-active noctalia-shell.service; then
|
if ${pkgs.systemd}/bin/systemctl --user is-active noctalia.service; then
|
||||||
run --silence ${pkgs.systemd}/bin/systemctl --user stop noctalia-shell.service
|
run --silence ${pkgs.systemd}/bin/systemctl --user stop noctalia.service
|
||||||
fi
|
fi
|
||||||
run --silence ${pkgs.systemd}/bin/systemctl --user start ${config.desktopShell}.service
|
run --silence ${pkgs.systemd}/bin/systemctl --user start ${config.desktopShell}.service
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,6 @@ let
|
||||||
xray true
|
xray true
|
||||||
blur true
|
blur true
|
||||||
}
|
}
|
||||||
popups {
|
|
||||||
opacity 0.75
|
|
||||||
geometry-corner-radius 15
|
|
||||||
background-effect {
|
|
||||||
xray false
|
|
||||||
blur true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
match is-floating=true
|
match is-floating=true
|
||||||
|
|
@ -91,7 +83,6 @@ let
|
||||||
builtins.replaceStrings
|
builtins.replaceStrings
|
||||||
[
|
[
|
||||||
"output \"${config.lib.monitors.mainMonitorName}\" {"
|
"output \"${config.lib.monitors.mainMonitorName}\" {"
|
||||||
"binds {"
|
|
||||||
]
|
]
|
||||||
[
|
[
|
||||||
''
|
''
|
||||||
|
|
@ -100,10 +91,6 @@ let
|
||||||
top-right
|
top-right
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
''
|
|
||||||
binds {
|
|
||||||
Shift_R { release { toggle-overview; }; }
|
|
||||||
''
|
|
||||||
]
|
]
|
||||||
config.programs.niri.finalConfig
|
config.programs.niri.finalConfig
|
||||||
+ "\n"
|
+ "\n"
|
||||||
|
|
|
||||||
|
|
@ -7,203 +7,53 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
programs.noctalia-shell = {
|
programs.noctalia = {
|
||||||
colors = with config.lib.stylix.colors.withHashtag; {
|
systemd.enable = true;
|
||||||
mError = base08;
|
customPalettes.stylix.dark = with config.lib.stylix.colors.withHashtag; {
|
||||||
mHover = base0E;
|
mPrimary = base0D;
|
||||||
mOnError = base00;
|
|
||||||
mOnHover = base00;
|
|
||||||
mOnPrimary = base00;
|
mOnPrimary = base00;
|
||||||
mOnSecondary = base01;
|
mSecondary = base0E;
|
||||||
|
mOnSecondary = base00;
|
||||||
|
mTertiary = base0C;
|
||||||
|
mOnTertiary = base00;
|
||||||
|
mError = base08;
|
||||||
|
mOnError = base00;
|
||||||
|
mSurface = base00;
|
||||||
mOnSurface = base05;
|
mOnSurface = base05;
|
||||||
mOnSurfaceVariant = base07;
|
mHover = base0C;
|
||||||
mOnTeritiary = base00;
|
mOnHover = base00;
|
||||||
mOutline = base02;
|
|
||||||
mPrimary = base0B;
|
|
||||||
mSecondary = base0A;
|
|
||||||
mShadow = "#000000";
|
|
||||||
mSurface = base01;
|
|
||||||
mSurfaceVariant = base01;
|
mSurfaceVariant = base01;
|
||||||
mTeritiary = base0C;
|
mOnSurfaceVariant = base04;
|
||||||
};
|
mOutline = base03;
|
||||||
settings = {
|
mShadow = base00;
|
||||||
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;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services = lib.mkIf (config.desktopShell == "noctalia-shell") {
|
terminal = {
|
||||||
noctalia-shell =
|
foreground = base05;
|
||||||
let
|
background = base00;
|
||||||
noctaliaPackage = inputs.noctalia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
cursor = base05;
|
||||||
noctaliaConfig = "/home/${user}/.config/noctalia/gui-settings.json";
|
cursorText = base00;
|
||||||
in
|
selectionFg = base05;
|
||||||
{
|
selectionBg = base02;
|
||||||
Unit = {
|
normal = {
|
||||||
After = [ "graphical-session.target" ];
|
black = base00;
|
||||||
PartOf = [ "graphical-session.target" ];
|
red = base08;
|
||||||
StartLimitIntervalSec = 60;
|
green = base0B;
|
||||||
StartLimitBurst = 3;
|
yellow = base0A;
|
||||||
X-Restart-Triggers = [
|
blue = base0D;
|
||||||
noctaliaPackage
|
magenta = base0E;
|
||||||
noctaliaConfig
|
cyan = base0C;
|
||||||
];
|
white = base05;
|
||||||
|
};
|
||||||
|
bright = {
|
||||||
|
black = base03;
|
||||||
|
red = base08;
|
||||||
|
green = base0B;
|
||||||
|
yellow = base0A;
|
||||||
|
blue = base0D;
|
||||||
|
magenta = base0E;
|
||||||
|
cyan = base0C;
|
||||||
|
white = base07;
|
||||||
};
|
};
|
||||||
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}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
waybar = "pkill -USR1 .waybar-wrapped";
|
waybar = "pkill -USR1 .waybar-wrapped";
|
||||||
dms = "dms ipc call bar toggle";
|
dms = "dms ipc call bar toggle";
|
||||||
caelestia = "echo pass";
|
caelestia = "echo pass";
|
||||||
noctalia-shell = "noctalia-shell ipc call bar toggle";
|
noctalia-shell = "noctalia msg bar-toggle";
|
||||||
}
|
}
|
||||||
.${config.desktopShell};
|
.${config.desktopShell};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,15 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
programs.gemini-cli = {
|
programs.antigravity-cli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
programs.claude-code = {
|
programs.claude-code = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
programs.pi-coding-agent = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
GEMINI_API_KEY = "$(cat ${config.age.secrets.gemini_token.path})";
|
GEMINI_API_KEY = "$(cat ${config.age.secrets.gemini_token.path})";
|
||||||
ANTHROPIC_AUTH_TOKEN = "$(cat ${config.age.secrets.anyrouter_token.path})";
|
ANTHROPIC_AUTH_TOKEN = "$(cat ${config.age.secrets.anyrouter_token.path})";
|
||||||
|
|
@ -27,6 +30,5 @@
|
||||||
opencode
|
opencode
|
||||||
codex
|
codex
|
||||||
gitingest
|
gitingest
|
||||||
inputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
android-tools
|
android-tools
|
||||||
tree-sitter
|
tree-sitter
|
||||||
inputs.agenix.packages.${pkgs.stdenv.hostPlatform.system}.agenix
|
inputs.agenix.packages.${pkgs.stdenv.hostPlatform.system}.agenix
|
||||||
|
evtest
|
||||||
];
|
];
|
||||||
imports = [
|
imports = [
|
||||||
./eye-candy.nix
|
./eye-candy.nix
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
enable = config.desktopShell == "caelestia";
|
enable = config.desktopShell == "caelestia";
|
||||||
systemd.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") [
|
home.packages = lib.mkIf (config.desktopShell == "noctalia-shell") [
|
||||||
inputs.noctalia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
inputs.noctalia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -43,5 +43,4 @@
|
||||||
inherit (inputs.niri.overlays) niri;
|
inherit (inputs.niri.overlays) niri;
|
||||||
nur = inputs.nur.overlays.default;
|
nur = inputs.nur.overlays.default;
|
||||||
nix-matlab = inputs.nix-matlab.overlay;
|
nix-matlab = inputs.nix-matlab.overlay;
|
||||||
inherit (inputs.nixpkgs-mozilla.overlays) firefox;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue