Initial Ubuntu 24.04 Niri installer

This commit is contained in:
wuyang
2026-07-27 13:39:29 +08:00
commit 1b0af7b3ff
12 changed files with 900 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
[main]
font=Noto Sans CJK SC:size=13
terminal=alacritty
prompt="搜索 "
icon-theme=Yaru
icons-enabled=yes
width=46
lines=10
horizontal-pad=20
vertical-pad=14
inner-pad=8
image-size-ratio=0.45
layer=overlay
[colors]
background=181a1de8
text=f0eee8ff
match=d4c5a5ff
selection=3b3e44ff
selection-text=ffffffff
selection-match=e7d8b8ff
border=ffffff20
[border]
width=1
radius=10
[dmenu]
exit-immediately-if-empty=yes
+16
View File
@@ -0,0 +1,16 @@
font=Noto Sans CJK SC 12
background-color=#181a1de8
text-color=#f0eee8
border-color=#ffffff20
progress-color=over #d4c5a5
border-size=1
border-radius=8
padding=14
margin=12
width=360
height=120
max-visible=5
default-timeout=5000
icons=1
layer=overlay
anchor=top-right
+223
View File
@@ -0,0 +1,223 @@
// Niri Beyond Glass
// Portable profile for Ubuntu 24.04 and Niri 26.04.
input {
keyboard {
numlock
}
touchpad {
tap
natural-scroll
dwt
}
mouse {
accel-profile "flat"
}
}
environment {
"XDG_CURRENT_DESKTOP" "niri"
"XDG_SESSION_DESKTOP" "niri"
"QT_QPA_PLATFORM" "wayland;xcb"
"NIXOS_OZONE_WL" "1"
"_JAVA_AWT_WM_NONREPARENTING" "1"
}
spawn-at-startup "xwayland-satellite"
spawn-at-startup "sh" "-lc" "$HOME/.local/bin/niri-beyond-wallpaper"
spawn-at-startup "waybar"
spawn-at-startup "mako"
spawn-at-startup "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"
spawn-at-startup "swayidle" "-w" "timeout" "600" "swaylock -f" "timeout" "660" "niri msg action power-off-monitors" "resume" "niri msg action power-on-monitors" "before-sleep" "swaylock -f"
hotkey-overlay {
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/niri-%Y-%m-%d-%H-%M-%S.png"
cursor {
xcursor-theme "Yaru"
xcursor-size 24
}
layer-rule {
match namespace="swaybg"
place-within-backdrop true
}
layer-rule {
match namespace="waybar"
geometry-corner-radius 10
background-effect {
blur true
xray true
noise 0.018
saturation 0.94
}
}
animations {
slowdown 0.85
}
layout {
gaps 8
center-focused-column "never"
background-color "#15171a"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width {
proportion 0.5
}
focus-ring {
width 2
active-color "#d4c5a5"
inactive-color "#4d5056"
urgent-color "#dc7a78"
}
border {
off
}
shadow {
on
softness 30
spread -5
offset x=0 y=8
color "#00000070"
}
tab-indicator {
active-color "#d4c5a5"
inactive-color "#4d5056"
urgent-color "#dc7a78"
}
insert-hint {
color "#d4c5a580"
}
}
window-rule {
match app-id=".*"
geometry-corner-radius 12
clip-to-geometry true
tiled-state true
draw-border-with-background false
}
window-rule {
match app-id=r#"(?i)^alacritty$"#
opacity 0.88
default-column-width {
proportion 0.5
}
background-effect {
blur true
xray true
noise 0.025
saturation 0.95
}
}
window-rule {
match app-id=r#"(?i)^(firefox|org\.mozilla\.firefox|google-chrome|chromium|brave-browser|zen-browser)$"#
opacity 1.0
default-column-width {
proportion 0.62
}
}
window-rule {
match app-id=r#"(?i)^(mpv|vlc|io\.github\.celluloid_player\.Celluloid|org\.gnome\.Totem|steam)$"#
opacity 1.0
default-column-width {
proportion 0.70
}
}
window-rule {
match app-id=r#"^org\.gnome\.(Calculator|Settings|Loupe)$"#
open-floating true
default-column-width {
proportion 0.36
}
}
binds {
Mod+Return hotkey-overlay-title="打开终端" { spawn "alacritty"; }
Mod+D hotkey-overlay-title="应用启动器" { spawn "fuzzel"; }
Mod+B hotkey-overlay-title="打开默认浏览器" { spawn "sh" "-lc" "xdg-open https://www.google.com"; }
Mod+E hotkey-overlay-title="文件管理器" { spawn "nautilus"; }
Mod+L hotkey-overlay-title="锁定屏幕" { spawn "swaylock" "-f"; }
Mod+Shift+Slash hotkey-overlay-title="显示快捷键说明" { show-hotkey-overlay; }
Mod+Q hotkey-overlay-title="关闭窗口" { close-window; }
Mod+O repeat=false hotkey-overlay-title="总览" { toggle-overview; }
Mod+F hotkey-overlay-title="最大化当前列" { maximize-column; }
Mod+Shift+F hotkey-overlay-title="窗口全屏" { fullscreen-window; }
Mod+V hotkey-overlay-title="切换浮动窗口" { toggle-window-floating; }
Mod+W hotkey-overlay-title="切换标签页模式" { toggle-column-tabbed-display; }
Mod+Left hotkey-overlay-title="焦点向左" { focus-column-left; }
Mod+Down hotkey-overlay-title="焦点向下" { focus-window-down; }
Mod+Up hotkey-overlay-title="焦点向上" { focus-window-up; }
Mod+Right hotkey-overlay-title="焦点向右" { focus-column-right; }
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+Semicolon { focus-column-right; }
Mod+Shift+Left hotkey-overlay-title="窗口向左移动" { move-column-left; }
Mod+Shift+Down hotkey-overlay-title="窗口向下移动" { move-window-down; }
Mod+Shift+Up hotkey-overlay-title="窗口向上移动" { move-window-up; }
Mod+Shift+Right hotkey-overlay-title="窗口向右移动" { move-column-right; }
Mod+Page_Down hotkey-overlay-title="下一个工作区" { focus-workspace-down; }
Mod+Page_Up hotkey-overlay-title="上一个工作区" { focus-workspace-up; }
Mod+Shift+Page_Down hotkey-overlay-title="窗口移到下一个工作区" { move-column-to-workspace-down; }
Mod+Shift+Page_Up hotkey-overlay-title="窗口移到上一个工作区" { move-column-to-workspace-up; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+R hotkey-overlay-title="切换列宽" { switch-preset-column-width; }
Mod+Shift+R hotkey-overlay-title="切换窗口高度" { switch-preset-window-height; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
Print hotkey-overlay-title="截图" { screenshot; }
Ctrl+Print hotkey-overlay-title="截取屏幕" { screenshot-screen; }
Alt+Print hotkey-overlay-title="截取窗口" { screenshot-window; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; }
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; }
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; }
Mod+Shift+E hotkey-overlay-title="退出 Niri" { quit; }
Mod+Shift+P hotkey-overlay-title="关闭显示器" { power-off-monitors; }
}
+21
View File
@@ -0,0 +1,21 @@
daemonize
show-failed-attempts
ignore-empty-password
font=Noto Sans CJK SC
font-size=24
indicator-radius=82
indicator-thickness=8
inside-color=181a1dcc
inside-clear-color=d4c5a5cc
inside-ver-color=5d83aacc
inside-wrong-color=dc7a78cc
ring-color=ffffff30
ring-clear-color=d4c5a5ff
ring-ver-color=7aa2c8ff
ring-wrong-color=dc7a78ff
key-hl-color=d4c5a5ff
text-color=f0eee8ff
text-clear-color=181a1dff
text-ver-color=f0eee8ff
text-wrong-color=f0eee8ff
separator-color=00000000
+56
View File
@@ -0,0 +1,56 @@
{
"layer": "top",
"position": "top",
"height": 36,
"spacing": 6,
"margin-top": 6,
"margin-left": 8,
"margin-right": 8,
"modules-left": ["custom/launcher"],
"modules-center": [],
"modules-right": ["tray", "network", "pulseaudio", "battery", "clock", "custom/lock", "custom/power"],
"custom/launcher": {
"format": " \uf141 ",
"tooltip": false,
"on-click": "fuzzel"
},
"tray": {
"icon-size": 17,
"spacing": 8
},
"network": {
"format-wifi": "\uf1eb {signalStrength}%",
"format-ethernet": "\uf1e6",
"format-disconnected": "\uf071",
"tooltip-format": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "\uf026",
"format-icons": ["\uf026", "\uf027", "\uf028"],
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"tooltip": false
},
"battery": {
"states": {"warning": 30, "critical": 15},
"format": "{icon} {capacity}%",
"format-charging": "\uf0e7 {capacity}%",
"format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"],
"tooltip": false
},
"clock": {
"interval": 1,
"format": "{:%m月%d日 %H:%M}",
"tooltip-format": "<tt>{calendar}</tt>"
},
"custom/lock": {
"format": "\uf023",
"tooltip": false,
"on-click": "swaylock -f"
},
"custom/power": {
"format": "\uf011",
"tooltip": false,
"on-click": "wlogout"
}
}
+59
View File
@@ -0,0 +1,59 @@
@define-color panel rgba(24, 26, 29, 0.76);
@define-color text #f0eee8;
@define-color muted #a8abb2;
@define-color accent #d4c5a5;
@define-color red #dc7a78;
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: "Noto Sans CJK SC", "Noto Sans", "FontAwesome";
font-size: 13px;
font-weight: 500;
}
window#waybar {
background: @panel;
color: @text;
border: 1px solid rgba(255, 255, 255, 0.10);
border-radius: 10px;
}
#custom-launcher,
#tray,
#network,
#pulseaudio,
#battery,
#clock,
#custom-lock,
#custom-power {
padding: 0 10px;
color: @text;
}
#custom-launcher {
color: @accent;
font-size: 16px;
}
#network.disconnected,
#battery.critical {
color: @red;
}
#custom-lock,
#custom-power {
padding: 0 12px;
}
#custom-power {
color: @red;
}
tooltip {
background: #202226;
color: @text;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 6px;
}