Commit bbdd162
Changed files (7)
modules
desktop
apps
desktop-environment
discrete
shell
noctalia
wm
modules/desktop/apps/kdeconnect.nix
@@ -16,11 +16,15 @@
};
};
- flake.modules.homeManager.desktop = {osConfig, ...}: {
+ flake.modules.homeManager.desktop = {osConfig, ...}: let
+ isPlasma = osConfig.services.desktopManager.plasma6.enable;
+ isNoctalia = osConfig.services.noctalia-shell.enable or false;
+ in {
services.kdeconnect = {
enable = true;
# If using Plasma, KDE Connect has integrated indicator.
- indicator = !osConfig.services.desktopManager.plasma6.enable;
+ # If using Noctalia, a KDE Connect widget plugin is available, so no indicator is needed.
+ indicator = !isPlasma && !isNoctalia;
};
};
}
modules/desktop/desktop-environment/discrete/shell/noctalia/keybindings/niri.nix
@@ -8,6 +8,10 @@
programs.niri.settings.binds = with config.lib.niri.actions; let
noctalia = spawn "noctalia-shell" "ipc" "call";
in {
+ "Mod+Shift+Slash" = {
+ action = noctalia "plugin:keybind-cheatsheet" "toggle";
+ hotkey-overlay.title = "Toggle Hotkey Cheatsheet";
+ };
"Mod+Space" = lib.mkIf (!(config.services.vicinae.enable or false)) {
action = noctalia "launcher" "toggle";
hotkey-overlay.title = "Toggle Application Launcher";
modules/desktop/desktop-environment/discrete/shell/noctalia/bar.nix
@@ -11,18 +11,13 @@
marginHorizontal = 8; # 8px
marginVertical = 8; # 8px
widgets = {
- center = [
- {
- id = "Workspace";
- hideUnoccupied = true;
- labelMode = "index";
- }
- ];
left = [
{
id = "SystemMonitor";
usePrimaryColor = true;
}
+ {id = "plugin:kde-connect";}
+ {id = "plugin:privacy-indicator";}
{
id = "MediaMini";
hideMode = "hidden";
@@ -33,16 +28,23 @@
showArtistFirst = false;
}
];
- right = [
+ center = [
{
- id = "Tray";
+ id = "Workspace";
+ hideUnoccupied = true;
+ labelMode = "index";
}
+ ];
+ right = [
+ {id = "Tray";}
{
id = "NotificationHistory";
hideWhenZero = true;
showUnreadBadge = true;
}
{id = "Volume";}
+ {id = "Bluetooth";}
+ {id = "Network";}
{
id = "Battery";
showNoctaliaPerformance = true;
modules/desktop/desktop-environment/discrete/shell/noctalia/colors.nix
@@ -1,12 +1,8 @@
-{lib, ...}: {
+{
flake.modules.homeManager.de-shell-noctalia = {config, ...}: {
programs.noctalia-shell.settings.colorSchemes = {
darkMode = config.lib.stylix.colors.variant == "dark";
useWallpaperColors = false;
};
-
- programs.noctalia-shell.colors = {
- mPrimary = lib.mkForce config.lib.stylix.colors.base0E;
- };
};
}
modules/desktop/desktop-environment/discrete/shell/noctalia/plugins.nix
@@ -0,0 +1,42 @@
+{
+ flake.modules.homeManager.de-shell-noctalia = {pkgs, ...}: {
+ home.packages = [
+ pkgs.kdePackages.qttools # Needed for KDE Connect plugin to work properly
+ ];
+
+ programs.noctalia-shell = {
+ plugins = {
+ sources = [
+ {
+ enabled = true;
+ name = "Official Noctalia Plugins";
+ url = "https://github.com/noctalia-dev/noctalia-plugins";
+ }
+ ];
+ states = {
+ kaomoji-provider = {
+ enabled = true;
+ sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
+ };
+ kde-connect = {
+ enabled = true;
+ sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
+ };
+ keybind-cheatsheet = {
+ enabled = true;
+ sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
+ };
+ privacy-indicator = {
+ enabled = true;
+ sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
+ };
+ };
+ version = 2;
+ };
+
+ pluginSettings = {
+ privacy-indicator.hideInactive = true;
+ };
+ };
+ };
+}
modules/desktop/desktop-environment/discrete/wm/niri/default.nix
@@ -21,6 +21,7 @@
programs.niri.package = osConfig.programs.niri.package;
programs.niri.settings = {
screenshot-path = "${config.xdg.userDirs.pictures}/Screenshots/Screenshot_%Y-%m-%d_%H-%M-%S.png";
+ hotkey-overlay.skip-at-startup = true;
};
};
}
modules/desktop/desktop-environment/discrete/wm/niri/keybinding.nix
@@ -3,7 +3,7 @@
programs.niri.settings.binds = with config.lib.niri.actions; {
# Mod-Shift-/, which is usually the same as Mod-?,
# shows a list of important hotkeys.
- "Mod+Shift+Slash".action = show-hotkey-overlay;
+ "Mod+Shift+Slash".action = lib.mkIf (config.services.noctalia-shell.enable or false) show-hotkey-overlay;
"Mod+Escape".action = toggle-overview;
"Mod+Shift+E".action = quit;