Rename noctalia-shell to noctalia and add support

* Rename `nooctalia-plugins` to `noctalia-plugins` in host modules and
  plugin definitions
* Update Hyprland keybindings and exec-once to use the new `noctalia`
  commands
* Add `stylixImage` option and enable pointer cursor in
  `modules/core/user.nix`
* Introduce `modules/home/nixpkgs.nix` to allow unfree packages and
  insecure Electron
* Add full Noctalia configuration module with settings for audio,
  bar, calendar, location, notifications, plugins, shell, wallpaper,
  and widgets
* Enable `noctalia` in `modules/home/stylix.nix` and replace legacy
  `noctalia-shell` imports in `modules/home/default.nix`
This commit is contained in:
2026-07-17 15:08:33 +02:00
parent 1d0f2a29f3
commit f4a59aefc7
25 changed files with 311 additions and 178 deletions
+21
View File
@@ -0,0 +1,21 @@
{
inputs,
system,
...
}: {
programs.noctalia = {
enable = true;
package = inputs.noctalia.packages.${system}.default;
};
imports = [
./settings
];
}
# {
# ...
# }: {
# programs.noctalia.settings = {
# };
# }
+8
View File
@@ -0,0 +1,8 @@
{username, ...}: {
programs.noctalia.settings.audio = {
enable_overdrive = true;
enable_sounds = true;
notification_sound = "/home/${username}/garandos/modules/home/noctalia/settings/notification/payday-2-new-objective-sound-effect.wav";
sound_volume = 0.1;
};
}
+33
View File
@@ -0,0 +1,33 @@
_: {
programs.noctalia.settings.bar = {
enabled = true;
background_opacity = 0.0;
widget_spacing = 10;
margin_ends = 0;
scale = 0.95;
font_family = "FiraCode Nerd Font";
start = [
"launcher"
"spacer_2"
"clock"
"spacer_3"
"cpu"
"ram"
"network_rx"
"network_tx"
"sysmon"
];
center = ["workspaces"];
end = [
"tray"
"notifications"
"bluetooth"
"battery"
"recorder"
"volume"
"network"
"control-center"
];
};
}
@@ -0,0 +1,12 @@
{gitEmail, ...}: {
programs.noctalia.settings.calendar = {
enabled = true;
account."home_nextcloud" = {
name = "Kalendarz";
provider = "custom";
server_url = "https://nextcloud.garandplg.com/remote.php/dav";
type = "caldav";
username = "${gitEmail}";
};
};
}
@@ -0,0 +1,13 @@
_: {
imports = [
./notification
./plugins
./audio.nix
./bar.nix
./calendar.nix
./location.nix
./shell.nix
./wallpaper.nix
./widget.nix
];
}
@@ -0,0 +1,6 @@
{location, ...}: {
programs.noctalia.settings.location = {
auto_locate = false;
address = "${location}";
};
}
@@ -0,0 +1,7 @@
_: {
programs.noctalia.settings.notification = {
enable_daemon = true;
show_app_name = true;
show_actions = true;
};
}
@@ -0,0 +1,9 @@
_: {
programs.noctalia.settings.plugins = {
enabled = ["noctalia/timer" "noctalia/screen_recorder"];
};
imports = [
./screen-recorder.nix
];
}
@@ -0,0 +1,15 @@
_: {
programs.noctalia.settings.plugin_settings."noctalia/screen_recorder" = {
audio_codec = "flac";
audio_source = "both";
color_range = "full";
hide_inactive = true;
quality = "ultra";
replay_duration = 60;
replay_enabled = true;
replay_storage = "disk";
resolution = "1920x1080";
video_codec = "hevc";
video_source = "focused";
};
}
+14
View File
@@ -0,0 +1,14 @@
{username, ...}: {
programs.noctalia.settings.shell = {
app_icon_colorize = true;
avatar_path = "/home/${username}/garandos/modules/home/hyprland/face.jpg";
corner_radius_scale = 2.0;
lang = "pl";
launch_apps_as_systemd_services = true;
screen_time_enabled = true;
time_format = "{:%H:%M:%S}";
panel.open_near_click_control_center = true;
screen_corners.enabled = true;
screenshot.confirm_region = true;
};
}
@@ -0,0 +1,12 @@
{
username,
stylixImage,
...
}: let
wallpapersPath = "/home/${username}/Pictures/Wallpapers";
in {
programs.noctalia.settings = {
lockscreen.wallpaper = "${wallpapersPath}/${stylixImage}";
wallpaper.enabled = true;
};
}
+50
View File
@@ -0,0 +1,50 @@
{username, ...}: {
programs.noctalia.settings.widget = {
battery.display_mode = "graphic";
bluetooth.hide_when_no_connected_device = true;
clock.format = "{:%H:%M:%S}";
control-center = {
custom_image = "/home/${username}/garandos/GarandOS.svg";
scale = 1.3;
};
cpu.display = "text";
launcher.glyph = "rocket";
media.title_scroll = "on_hover";
network.show_label = false;
network_rx = {
display = "text";
network_speed_compact = true;
};
network_tx = {
display = "text";
network_speed_compact = true;
};
ram.display = "text";
recorder.type = "noctalia/screen_recorder:recorder";
spacer_2.type = "spacer";
spacer_3.type = "spacer";
sysmon = {
display = "text";
path = "/home";
stat = "disk_pct";
};
tray.hidden = ["nm-applet" "Easy Effects"];
workspaces.scale = 1.1;
};
}