feat: ghostty module, noctalia dock, sync bar/theme config, global scroll fix
This commit is contained in:
@@ -78,7 +78,7 @@ nixos-config/
|
||||
|
||||
| Key | Action |
|
||||
|---|---|
|
||||
| `Mod+T` | Open kitty terminal |
|
||||
| `Mod+T` | Open ghostty terminal |
|
||||
| `Mod+Space` | Noctalia launcher |
|
||||
| `Mod+S` | Noctalia control center |
|
||||
| `Super+Alt+L` | Lock screen |
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
imports = [
|
||||
../modules/niri
|
||||
../modules/kitty
|
||||
../modules/ghostty
|
||||
../modules/cli
|
||||
../modules/applications
|
||||
];
|
||||
@@ -15,7 +16,7 @@
|
||||
home.activation.zenBrowserUserJs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
for profile in "$HOME/.config/zen/"*.*/; do
|
||||
[[ -d "$profile" ]] || continue
|
||||
echo 'user_pref("mousewheel.default.delta_multiplier_y", 50);' > "$profile/user.js"
|
||||
echo 'user_pref("mousewheel.default.delta_multiplier_y", 75);' > "$profile/user.js"
|
||||
done
|
||||
'';
|
||||
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
xdg-utils
|
||||
inotify-tools
|
||||
|
||||
# Editor
|
||||
vscodium
|
||||
|
||||
# Daily apps
|
||||
mpv
|
||||
imv
|
||||
@@ -106,4 +103,8 @@
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
programs.vscodium = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font-family = "JetBrainsMono Nerd Font";
|
||||
font-size = 11;
|
||||
|
||||
theme = "catppuccin-mocha";
|
||||
|
||||
window-decoration = false;
|
||||
|
||||
# Disable ligatures
|
||||
font-feature = [ "-liga" "-dlig" "-calt" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings.wheel_scroll_multiplier = 10;
|
||||
settings.wheel_scroll_multiplier = 300;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ input {
|
||||
natural-scroll
|
||||
// accel-speed 0.2
|
||||
accel-profile "flat"
|
||||
scroll-factor 1.0
|
||||
scroll-factor 0.3
|
||||
// scroll-method "two-finger"
|
||||
// disabled-on-external-mouse
|
||||
}
|
||||
@@ -364,7 +364,7 @@ binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+T hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
|
||||
Mod+T hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
||||
Mod+Space hotkey-overlay-title="Noctalia: Launcher" { spawn "noctalia-ipc" "panel-toggle" "launcher"; }
|
||||
Mod+S hotkey-overlay-title="Noctalia: Control Center" { spawn "noctalia-ipc" "panel-toggle" "control-center"; }
|
||||
Super+Alt+L hotkey-overlay-title="Noctalia: Lock" { spawn "noctalia-ipc" "session" "lock"; }
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ config, inputs, pkgs, ... }:
|
||||
let
|
||||
# Repo wallpapers are symlinked to ~/.config/wallpapers by xdg.configFile below
|
||||
wallpaperDir = "${config.home.homeDirectory}/.config/wallpapers";
|
||||
defaultWallpaper = "${wallpaperDir}/even-in-arcadia.png";
|
||||
|
||||
@@ -13,24 +14,38 @@ in
|
||||
|
||||
home.packages = [ noctaliaIpc ];
|
||||
|
||||
# Wallpapers tracked in the repo; linked to ~/.config/wallpapers for noctalia
|
||||
# Wallpapers tracked in the repo; symlinked to ~/.config/wallpapers for noctalia
|
||||
xdg.configFile."wallpapers".source = ./wallpapers;
|
||||
|
||||
programs.noctalia = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bar.default = {
|
||||
# "group:sysmon" renders as one capsule containing cpu + ram
|
||||
start = [ "launcher" "clipboard" "group:sysmon" "network" ];
|
||||
center = [ "clock" ];
|
||||
end = [ "notifications" "volume" "brightness" "battery" "control-center" "session" ];
|
||||
thickness = 40;
|
||||
padding = 10;
|
||||
radius = 0;
|
||||
margin_edge = 0;
|
||||
margin_ends = 0;
|
||||
widget_spacing = 8;
|
||||
|
||||
bar.default = {
|
||||
start = [ "launcher" "clipboard" "volume" "brightness" "active_window" ];
|
||||
center = [ "workspaces" ];
|
||||
end = [ "network" "sysmon" "battery" "notifications" "clock" "session" ];
|
||||
thickness = 35;
|
||||
padding = 17;
|
||||
radius = 17;
|
||||
margin_edge = 5;
|
||||
margin_ends = 5;
|
||||
margin_opposite_edge = 5;
|
||||
widget_spacing = 15;
|
||||
background_opacity = 0.9;
|
||||
border = "outline";
|
||||
capsule = true;
|
||||
capsule_fill = "surface_variant";
|
||||
capsule_opacity = 1.0;
|
||||
capsule_padding = 6.0;
|
||||
capsule_thickness = 0.76;
|
||||
contact_shadow = true;
|
||||
panel_overlap = 1;
|
||||
shadow = true;
|
||||
hover_highlight = true;
|
||||
concave_edge_corners = true;
|
||||
|
||||
# cpu + ram rendered as one capsule labelled "sysmon"
|
||||
capsule_group = [
|
||||
{
|
||||
id = "sysmon";
|
||||
@@ -42,18 +57,43 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
idle = {
|
||||
behavior_order = [ "lock" "screen-off" ];
|
||||
behavior = {
|
||||
lock = {
|
||||
action = "lock";
|
||||
dock = {
|
||||
enabled = true;
|
||||
timeout = 600;
|
||||
# Desktop entry IDs (filename without .desktop)
|
||||
pinned = [ "zen" "codium" "com.mitchellh.ghostty" "thunar" "claude" ];
|
||||
position = "bottom";
|
||||
smart_auto_hide = true;
|
||||
icon_size = 20;
|
||||
radius = 15;
|
||||
show_dots = true;
|
||||
show_running = true;
|
||||
show_instance_count = true;
|
||||
magnification = true;
|
||||
magnification_scale = 1.35;
|
||||
background_opacity = 1.0;
|
||||
border = "outline";
|
||||
concave_edge_corners = true;
|
||||
shadow = true;
|
||||
main_axis_padding = 20;
|
||||
cross_axis_padding = 10;
|
||||
item_spacing = 5;
|
||||
inactive_opacity = 0.85;
|
||||
inactive_scale = 0.85;
|
||||
};
|
||||
|
||||
idle = {
|
||||
# screen turns off first, then locks after
|
||||
behavior_order = [ "screen-off" "lock" ];
|
||||
behavior = {
|
||||
screen-off = {
|
||||
action = "screen_off";
|
||||
enabled = true;
|
||||
timeout = 660;
|
||||
timeout = 300; # 5 min
|
||||
};
|
||||
lock = {
|
||||
action = "lock";
|
||||
enabled = true;
|
||||
timeout = 600; # 10 min
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -68,24 +108,28 @@ in
|
||||
font_family = "JetBrainsMono Nerd Font";
|
||||
polkit_agent = true;
|
||||
corner_radius_scale = 1.0;
|
||||
animation.speed = 1.5;
|
||||
animation.speed = 2.0;
|
||||
panel = {
|
||||
clipboard_placement = "attached";
|
||||
launcher_placement = "attached";
|
||||
launcher_session_search = true;
|
||||
panel_overlap = 1; # pull panel flush against bar to hide seam
|
||||
contact_shadow = true; # gradient at meeting point masks any residual gap
|
||||
};
|
||||
shadow.alpha = 0.5;
|
||||
};
|
||||
|
||||
theme.builtin = "Kanagawa";
|
||||
# Theme follows wallpaper colours (Catppuccin palette, muted scheme, dark mode)
|
||||
theme = {
|
||||
builtin = "Catppuccin";
|
||||
source = "wallpaper";
|
||||
mode = "dark";
|
||||
wallpaper_scheme = "muted";
|
||||
};
|
||||
|
||||
wallpaper = {
|
||||
enabled = true;
|
||||
directory = wallpaperDir;
|
||||
default.path = defaultWallpaper;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user