feat(niri): use noctalia shell

This commit is contained in:
2025-10-17 22:39:14 +08:00
parent 465eb3c608
commit c71710867f
7 changed files with 209 additions and 4 deletions

BIN
assets/avatar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

46
flake.lock generated
View File

@@ -969,6 +969,30 @@
"type": "github"
}
},
"noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"quickshell": [
"quickshell"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1760714359,
"narHash": "sha256-SveT35nrv8qLnxKHp8MLXaY0rVd9BFhVOAn3WR79S84=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "bda54677e1724054c3676da8f049c61378790b3a",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
@@ -1011,6 +1035,26 @@
"url": "ssh://git@git.imxyy.top:2222/imxyy1soope1/HF-plant.git"
}
},
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1760315601,
"narHash": "sha256-cvguRikKX0yXZ7jaK4Gt3qB1I33T5TzYZQf0Ampx8ko=",
"owner": "outfoxxed",
"repo": "quickshell",
"rev": "00858812f25b748d08b075a0d284093685fa3ffd",
"type": "github"
},
"original": {
"owner": "outfoxxed",
"repo": "quickshell",
"type": "github"
}
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
@@ -1030,7 +1074,9 @@
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"noctalia": "noctalia",
"plant": "plant",
"quickshell": "quickshell",
"sops-nix": "sops-nix",
"stylix": "stylix",
"zen": "zen"

View File

@@ -62,6 +62,16 @@
zen.url = "github:0xc000022070/zen-browser-flake";
zen.inputs.nixpkgs.follows = "nixpkgs";
quickshell = {
url = "github:outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
inputs.quickshell.follows = "quickshell"; # Use same quickshell version
};
plant = {
url = "git+ssh://git@git.imxyy.top:2222/imxyy1soope1/HF-plant.git?rev=08dc0b3889797eb3618c7475c3c367ec0e5fdf40";
flake = false;
@@ -159,6 +169,8 @@
(final: prev: {
darkly-qt5 = inputs.darkly.packages.${final.system}.darkly-qt5;
darkly-qt6 = inputs.darkly.packages.${final.system}.darkly-qt6;
noctalia-shell = inputs.noctalia.packages.${final.system}.default;
})
(final: prev: {
inherit lib;
@@ -170,6 +182,7 @@
inputs.sops-nix.homeManagerModules.sops
inputs.impermanence.nixosModules.home-manager.impermanence
inputs.stylix.homeModules.stylix
inputs.noctalia.homeModules.default
inputs.zen.homeModules.beta
# workaround for annoying stylix
(
@@ -195,6 +208,14 @@
outputs
hostname
;
assets =
with lib.haumea;
load {
src = ./assets;
loader = [
(matchers.always loaders.path)
];
};
secrets =
with lib.haumea;
load {

View File

@@ -2,6 +2,7 @@
config,
lib,
pkgs,
assets,
...
}:
{
@@ -102,16 +103,16 @@
XDG_SESSION_DESKTOP = "niri";
NIXOS_OZONE_WL = "1";
NOCTALIA_SETTINGS_FALLBACK = "${config.my.hm.xdg.configHome}/noctalia/gui-settings.json";
};
spawn-at-startup = map (c: { command = c; }) [
[ "${lib.getExe' pkgs.swaynotificationcenter "swaync"}" ]
[
"${lib.getExe pkgs.swaybg}"
"-m"
"fill"
"-i"
(toString ./wallpaper.png)
(toString assets.wallpaper)
]
[
"wl-paste"
@@ -129,6 +130,8 @@
"cliphist"
"store"
]
# [ "${lib.getExe' pkgs.swaynotificationcenter "swaync"}" ]
[ "noctalia-shell" ]
];
binds =

View File

@@ -2,6 +2,7 @@ args@{
lib,
config,
pkgs,
assets,
...
}:
let
@@ -63,6 +64,8 @@ in
swaynotificationcenter
nautilus
noctalia-shell
];
programs.wofi.enable = true;
xdg.configFile."wofi" = {
@@ -75,12 +78,144 @@ in
};
programs.waybar = {
enable = true;
systemd.enable = true;
systemd.enable = false;
};
xdg.configFile."waybar/config.jsonc".text = builtins.toJSON (import ./waybar/config.nix args);
xdg.configFile."waybar/style.css" = {
source = ./waybar/style.css;
};
programs.noctalia-shell = {
enable = true;
settings = {
audio.mprisBlacklist = [
"firefox"
"chromium"
"zen"
];
bar = {
density = "comfortable";
floating = true;
marginHorizontal = 0.5;
marginVertical = 0.5;
showCapsule = false;
widgets = {
left = [
{
customIconPath = "";
icon = "";
id = "ControlCenter";
useDistroLogo = true;
}
{
customFont = "";
formatHorizontal = "HH:mm MMdd ddd";
formatVertical = "HH mm - dd MM";
id = "Clock";
useCustomFont = false;
usePrimaryColor = true;
}
{
id = "SystemMonitor";
showCpuTemp = false;
showCpuUsage = true;
showDiskUsage = false;
showMemoryAsPercent = false;
showMemoryUsage = true;
showNetworkStats = true;
}
{
hideUnoccupied = false;
id = "Workspace";
labelMode = "none";
}
];
center = [
{
hideMode = "hidden";
id = "MediaMini";
scrollingMode = "hover";
showAlbumArt = true;
showVisualizer = true;
visualizerType = "wave";
}
];
right = [
{
hideWhenZero = true;
id = "NotificationHistory";
showUnreadBadge = true;
}
{
blacklist = [ ];
colorizeIcons = false;
id = "Tray";
}
{
displayMode = "onhover";
id = "Volume";
}
{
displayMode = "onhover";
id = "Microphone";
}
];
};
};
# FIXME: Customize
colorSchemes.predefinedScheme = "Tokyo-Night";
controlCenter = {
cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = false;
id = "weather-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
shortcuts = {
left = [ { id = "Bluetooth"; } ];
right = [ { id = "Notifications"; } ];
};
};
general = {
avatarImage = "${assets.avatar}";
scaleRatio = 1.05;
radiusRatio = 0.8;
};
location.weatherEnabled = false;
network.wifiEnabled = false;
notifications = {
alwaysOnTop = true;
location = "top_center";
};
osd = {
alwaysOnTop = true;
location = "top_center";
};
setupCompleted = true;
ui = {
# I love Jetbrains Mono
fontDefault = "Monospace";
fontFixed = "Monospace";
};
wallpaper.enabled = false;
};
};
};
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB