feat(desktop): migrate to noctalia-shell, drop unused softwares

This commit is contained in:
2025-10-18 16:18:36 +08:00
parent 362d610f1d
commit e9204bb2f5
14 changed files with 36 additions and 1495 deletions

View File

@@ -130,11 +130,20 @@
"cliphist"
"store"
]
# [ "${lib.getExe' pkgs.swaynotificationcenter "swaync"}" ]
[ "noctalia-shell" ]
];
binds =
let
noctalia =
cmd:
[
"noctalia-shell"
"ipc"
"call"
]
++ (pkgs.lib.splitString " " cmd);
in
with config.my.hm.lib.niri.actions;
{
"Ctrl+Alt+T".action.spawn = [
@@ -148,16 +157,8 @@
];
"Mod+G".action.spawn = [ config.my.desktop.browser.default.command ];
"Mod+E".action.spawn = [ "nautilus" ];
"Mod+R".action.spawn = [
"sh"
"-c"
"pkill wofi || wofi --color ~/.config/wal/colors"
];
"Mod+V".action.spawn = [
"sh"
"-c"
"pkill ${lib.getExe pkgs.wofi} || ${lib.getExe pkgs.cliphist} list | wofi --dmenu --color ~/.config/wal/colors | cliphist decode | wl-copy"
];
"Mod+R".action.spawn = noctalia "launcher toggle";
"Mod+V".action.spawn = noctalia "launcher clipboard";
"XF86AudioRaiseVolume" = {
allow-when-locked = true;

View File

@@ -1,4 +1,4 @@
args@{
{
lib,
config,
pkgs,
@@ -62,28 +62,11 @@ in
playerctl
brightnessctl
swaynotificationcenter
nautilus
noctalia-shell
xdg-terminal-exec
];
programs.wofi.enable = true;
xdg.configFile."wofi" = {
source = ./wofi;
recursive = true;
};
xdg.configFile."wal" = {
source = ./wal;
recursive = true;
};
programs.waybar = {
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;
@@ -107,6 +90,11 @@ in
mSurfaceVariant = "#24283b";
};
settings = {
appLauncher = {
enableClipboardHistory = true;
useApp2Unit = true;
terminalCommand = "kitty -e";
};
audio.mprisBlacklist = [
"firefox"
"chromium"
@@ -121,16 +109,13 @@ in
widgets = {
left = [
{
customIconPath = "";
icon = "";
id = "ControlCenter";
useDistroLogo = true;
}
{
customFont = "";
id = "Clock";
formatHorizontal = "HH:mm MMdd ddd";
formatVertical = "HH mm - dd MM";
id = "Clock";
useCustomFont = false;
usePrimaryColor = true;
}
@@ -144,15 +129,15 @@ in
showNetworkStats = true;
}
{
hideUnoccupied = false;
id = "Workspace";
hideUnoccupied = false;
labelMode = "none";
}
];
center = [
{
hideMode = "hidden";
id = "MediaMini";
hideMode = "hidden";
scrollingMode = "hover";
showAlbumArt = true;
showVisualizer = true;
@@ -161,22 +146,21 @@ in
];
right = [
{
hideWhenZero = true;
id = "NotificationHistory";
hideWhenZero = true;
showUnreadBadge = true;
}
{
blacklist = [ ];
colorizeIcons = false;
id = "Tray";
colorizeIcons = false;
}
{
displayMode = "onhover";
id = "Volume";
displayMode = "onhover";
}
{
displayMode = "onhover";
id = "Microphone";
displayMode = "onhover";
}
];
};
@@ -184,24 +168,24 @@ in
controlCenter = {
cards = [
{
enabled = true;
id = "profile-card";
enabled = true;
}
{
enabled = true;
id = "shortcuts-card";
enabled = true;
}
{
enabled = true;
id = "audio-card";
}
{
enabled = false;
id = "weather-card";
}
{
enabled = true;
}
{
id = "weather-card";
enabled = false;
}
{
id = "media-sysmon-card";
enabled = true;
}
];
shortcuts = {
@@ -235,4 +219,4 @@ in
};
};
};
}
}

View File

@@ -1,6 +0,0 @@
#1e1e2e
#262636
#d9e0ee
#89b4fa
#f38ba8
#cba6f7

View File

@@ -1,99 +0,0 @@
_: {
layer = "top";
position = "top";
exclusive = true;
passthrough = false;
gtk-layer-shell = true;
height = 0;
modules-left = [
"clock"
"cpu"
"memory"
"niri/workspaces"
];
modules-center = [
"mpris"
];
modules-right = [
"custom/notification"
"tray"
"wireplumber"
"wireplumber#source"
];
"niri/workspaces" = {
format = "{value}";
};
cpu = {
interval = 1;
format = "󰞱 {}%";
max-length = 10;
on-click = "";
};
memory = {
interval = 10;
format = " {used:0.1f}G";
max-length = 10;
};
"custom/notification" = {
tooltip = false;
format = "{icon}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-double-click = "swaync-client -t -sw";
on-click-right = "swaync-client -d -sw";
escape = true;
};
tray = {
icon-size = 13;
tooltip = false;
spacing = 10;
};
mpris = {
player = "musicfox";
interval = 1;
format = "{status_icon} {artist} - {title}";
max-length = 60;
status-icons = {
paused = "";
playing = "";
stopped = "";
};
tooltip = false;
on-scroll-up = "playerctl -p musicfox volume 0.05+";
on-scroll-down = "playerctl -p musicfox volume 0.05-";
};
clock = {
format = " {:%H:%M %m.%d}";
tooltip = false;
};
wireplumber = {
format = "󰋋 {volume}%";
tooltip = false;
format-muted = "󰟎 Muted";
on-click = "wpctl set-mute @DEFAULT_SINK@ toggle";
on-click-middle = "pwvucontrol";
scroll-step = 5;
};
"wireplumber#source" = {
node-type = "Audio/Source";
format = "󰍬 {volume}%";
tooltip = false;
format-muted = "󰍭 Muted";
on-click = "wpctl set-mute @DEFAULT_SOURCE@ toggle";
on-click-middle = "pwvucontrol";
scroll-step = 5;
};
}

View File

@@ -1,240 +0,0 @@
* {
border: none;
border-radius: 0;
font-family: monospace;
font-weight: bold;
font-size: 14px;
min-height: 0;
}
window#waybar {
background: rgba(21, 18, 27, 0);
color: #cdd6f4;
}
tooltip {
color: #cdd6f4;
font-family: monospace;
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #2a2c36;
}
tooltip label {
color: #cdd6f4;
}
tooltip.background {
background-clip: padding-box;
}
tooltip * {
padding: 4px;
background-color: transparent;
color: white;
}
#workspaces button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#workspaces button.focused {
color: #a6adc8;
border-radius: 10px;
}
#workspaces button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
#taskbar button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#taskbar button.focused {
color: #a6adc8;
background: #eba0ac;
border-radius: 10px;
}
#taskbar button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
#tray menu {
color: #cdd6f4;
font-family: monospace;
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #2a2c36;
}
#custom-language,
#custom-updates,
#custom-caffeine,
#custom-weather,
#window,
#clock,
#battery,
#wireplumber,
#network,
#workspaces,
#taskbar,
#tray,
#custom-notification,
#mpd,
#mpris,
#cpu,
#memory,
#backlight {
background: #1e1e2e;
padding: 0px 10px;
margin: 3px 0px;
margin-top: 10px;
border: 1px solid #181825;
}
#tray {
border-radius: 10px;
margin-right: 10px;
}
#workspaces {
background: #1e1e2e;
border-radius: 10px;
margin-left: 10px;
padding-right: 0px;
padding-left: 5px;
}
#taskbar {
background: #1e1e2e;
border-radius: 10px;
margin-left: 10px;
padding-right: 0px;
padding-left: 5px;
}
#custom-language {
color: #f38ba8;
border-left: 0px;
border-right: 0px;
}
#custom-updates {
color: #f5c2e7;
border-left: 0px;
border-right: 0px;
border-radius: 10px 0px 0px 10px;
}
#custom-notification {
color: #cdd6f4;
font-size: 20px;
border-radius: 10px;
margin-right: 10px;
}
#mpd {
color: rgba(97, 134, 214, 0.973);
background: #1e1e2e;
border-radius: 10px;
border: 1px solid #181825;
}
#mpris {
color: rgba(97, 134, 214, 0.973);
background: #1e1e2e;
border-radius: 10px;
border: 1px solid #181825;
margin-right: 10px;
}
#window {
border-radius: 10px;
margin-left: 60px;
margin-right: 60px;
}
#window.empty {
border-radius: 0px;
background-color: transparent;
}
window#waybar.empty #window {
padding: 0px;
margin: 0px;
border: 0px;
background-color: transparent;
}
#clock {
color: #fab387;
border-radius: 10px 0px 0px 10px;
margin-left: 5px;
border-right: 0px;
}
#network {
color: #f9e2af;
border-left: 0px;
border-right: 0px;
}
#cpu {
color: #fab387;
border-radius: 0;
border-left: 0;
border-right: 0;
}
#memory {
color: #fab387;
border-radius: 0px 10px 10px 0px;
border-left: 0;
border-right: 0;
}
#wireplumber {
color: #89b4fa;
border-right: 0px;
border-radius: 10px 0px 0px 10px;
}
#wireplumber.source {
color: #cba6f7;
margin-right: 5px;
border-left: 0px;
border-radius: 0 10px 10px 0;
}
#battery {
color: #a6e3a1;
border-radius: 0 10px 10px 0;
margin-right: 10px;
border-left: 0px;
}

View File

@@ -1,39 +0,0 @@
## Wofi Config
## General
show=drun
prompt=Apps
normal_window=true
layer=top
term=kitty
## Geometry
width=500px
height=305px
location=0
orientation=vertical
halign=fill
line_wrap=off
dynamic_lines=false
## Images
allow_markup=true
allow_images=true
image_size=24
## Search
exec_search=false
hide_search=false
parse_search=false
insensitive=false
## Other
hide_scroll=true
no_actions=true
sort_order=default
gtk_dark=true
filter_rate=100
## Keys
key_expand=Tab
key_exit=Escape

View File

@@ -1,64 +0,0 @@
/*
* Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com>
*/
/** ********** Fonts ********** **/
* {
font-family: monospace;
font-size: 12px;
}
#window {
background-color: --wofi-color0;
color: --wofi-color2;
border: 2px solid --wofi-color1;
border-radius: 0px;
}
#outer-box {
padding: 20px;
}
#input {
background-color: --wofi-color1;
border: 0px solid --wofi-color3;
padding: 8px 12px;
}
#scroll {
margin-top: 20px;
}
#inner-box {
}
#img {
padding-right: 8px;
}
#text {
color: --wofi-color2;
}
#text:selected {
color: --wofi-color0;
}
#entry {
padding: 6px;
}
#entry:selected {
background-color: --wofi-color3;
color: --wofi-color0;
}
#unselected {
}
#selected {
}
#input, #entry:selected {
border-radius: 4px;
}