feat(niri): added niri wm and supporting packages config

Changed files
+741
.config
fuzzel
ghostty
niri
noctalia
+13
.config/fuzzel/fuzzel.ini
···
+
[colors]
+
# catppuccin mocha blue
+
background=1e1e2eee
+
text=cdd6f4ff
+
prompt=bac2deff
+
placeholder=7f849cff
+
input=cdd6f4ff
+
match=89b4faff
+
selection=585b70ff
+
selection-text=cdd6f4ff
+
selection-match=89b4faff
+
counter=7f849cff
+
border=89b4faff
+1
.config/ghostty/config
···
theme = catppuccin-mocha.conf
shell-integration = zsh
+
background-opacity = 0.9
+300
.config/niri/config.kdl
···
+
// This config is in the KDL format: https://kdl.dev
+
// "/-" comments out the following node.
+
// Check the wiki for a full description of the configuration:
+
// https://yalter.github.io/niri/Configuration:-Introduction
+
+
// Input device configuration.
+
// Find the full list of options on the wiki:
+
// https://yalter.github.io/niri/Configuration:-Input
+
+
prefer-no-csd
+
+
input {
+
keyboard {
+
repeat-rate 50
+
repeat-delay 200
+
xkb {
+
}
+
numlock
+
}
+
+
touchpad {
+
tap
+
// dwt
+
// dwtp
+
// drag false
+
// drag-lock
+
// natural-scroll
+
// accel-speed 0.2
+
// accel-profile "flat"
+
// scroll-method "two-finger"
+
// disabled-on-external-mouse
+
}
+
+
mouse {
+
// off
+
// natural-scroll
+
// accel-speed 0.2
+
// accel-profile "flat"
+
// scroll-method "no-scroll"
+
}
+
+
trackpoint {
+
}
+
+
// Uncomment this to make the mouse warp to the center of newly focused windows.
+
// warp-mouse-to-focus
+
+
focus-follows-mouse max-scroll-amount="0%"
+
}
+
+
// https://yalter.github.io/niri/Configuration:-Outputs
+
output "DP-1" {
+
// Uncomment this line to disable this output.
+
// off
+
+
mode "1920x1080@164.999"
+
scale 1
+
transform "normal"
+
position x=0 y=0
+
}
+
+
// Find more information on the wiki:
+
// https://yalter.github.io/niri/Configuration:-Layout
+
layout {
+
gaps 8
+
+
center-focused-column "never"
+
+
preset-column-widths {
+
proportion 0.33333
+
proportion 0.5
+
proportion 0.66667
+
}
+
+
default-column-width { proportion 0.5; }
+
focus-ring {
+
width 2
+
+
//catppuccin blue
+
active-color "#89b4fa"
+
+
//catppuccin surface-1
+
inactive-color "#45475a"
+
}
+
+
border {
+
off
+
width 1.5
+
//catppuccin yellow surface-1 red
+
active-color "#f9e2af"
+
inactive-color "#45475a"
+
urgent-color "#f38ba8"
+
}
+
+
shadow {
+
// on
+
softness 30
+
spread 5
+
offset x=0 y=5
+
color "#0007"
+
}
+
+
struts {
+
}
+
}
+
+
+
spawn-sh-at-startup "qs -c ~/.config/quickshell/noctalia-shell/"
+
spawn-sh-at-startup "swaybg -i ~/.wallpaper/solace_mountain_night.png"
+
+
+
hotkey-overlay {
+
skip-at-startup
+
}
+
+
+
screenshot-path null
+
+
// https://yalter.github.io/niri/Configuration:-Animations
+
animations {
+
// off
+
}
+
+
+
// https://yalter.github.io/niri/Configuration:-Window-Rules
+
window-rule {
+
match app-id=r#"^org\.wezfurlong\.wezterm$"#
+
default-column-width {}
+
}
+
+
window-rule {
+
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
+
open-floating true
+
}
+
+
+
// Example: block out two password managers from screen capture.
+
// (This example rule is commented out with a "/-" in front.)
+
/-window-rule {
+
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
+
match app-id=r#"^org\.gnome\.World\.Secrets$"#
+
+
block-out-from "screen-capture"
+
+
// Use this instead if you want them visible on third-party screenshot tools.
+
// block-out-from "screencast"
+
}
+
+
window-rule {
+
geometry-corner-radius 8
+
clip-to-geometry true
+
}
+
+
binds {
+
Mod+Shift+Slash { show-hotkey-overlay; }
+
Mod+Return hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
+
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
+
Super+Shift+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
+
+
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
+
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
+
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
+
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
+
+
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
+
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
+
+
Mod+O repeat=false { toggle-overview; }
+
Mod+Q repeat=false { close-window; }
+
+
Mod+Left { focus-column-left; }
+
Mod+Down { focus-window-down; }
+
Mod+Up { focus-window-up; }
+
Mod+Right { focus-column-right; }
+
+
Mod+H { focus-column-left; }
+
Mod+J { focus-window-down; }
+
Mod+K { focus-window-up; }
+
Mod+L { focus-column-right; }
+
+
Mod+Ctrl+Left { move-column-left; }
+
Mod+Ctrl+Down { move-window-down; }
+
Mod+Ctrl+Up { move-window-up; }
+
Mod+Ctrl+Right { move-column-right; }
+
Mod+Ctrl+H { move-column-left; }
+
Mod+Ctrl+J { move-window-down; }
+
Mod+Ctrl+K { move-window-up; }
+
Mod+Ctrl+L { move-column-right; }
+
+
Mod+Home { focus-column-first; }
+
Mod+End { focus-column-last; }
+
Mod+Ctrl+Home { move-column-to-first; }
+
Mod+Ctrl+End { move-column-to-last; }
+
+
Mod+Shift+Left { focus-monitor-left; }
+
Mod+Shift+Down { focus-monitor-down; }
+
Mod+Shift+Up { focus-monitor-up; }
+
Mod+Shift+Right { focus-monitor-right; }
+
Mod+Shift+H { focus-monitor-left; }
+
Mod+Shift+J { focus-monitor-down; }
+
Mod+Shift+K { focus-monitor-up; }
+
Mod+Shift+L { focus-monitor-right; }
+
+
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
+
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
+
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
+
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
+
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
+
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
+
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
+
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
+
+
Mod+Page_Down { focus-workspace-down; }
+
Mod+Page_Up { focus-workspace-up; }
+
Mod+U { focus-workspace-down; }
+
Mod+I { focus-workspace-up; }
+
Mod+Shift+Page_Down { move-column-to-workspace-down; }
+
Mod+Shift+Page_Up { move-column-to-workspace-up; }
+
Mod+Shift+U { move-column-to-workspace-down; }
+
Mod+Shift+I { move-column-to-workspace-up; }
+
+
Mod+Ctrl+Page_Down { move-workspace-down; }
+
Mod+Ctrl+Page_Up { move-workspace-up; }
+
Mod+Ctrl+U { move-workspace-down; }
+
Mod+Ctrl+I { move-workspace-up; }
+
+
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
+
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
+
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
+
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
+
+
Mod+WheelScrollRight { focus-column-right; }
+
Mod+WheelScrollLeft { focus-column-left; }
+
Mod+Ctrl+WheelScrollRight { move-column-right; }
+
Mod+Ctrl+WheelScrollLeft { move-column-left; }
+
+
Mod+Shift+WheelScrollDown { focus-column-right; }
+
Mod+Shift+WheelScrollUp { focus-column-left; }
+
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
+
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
+
+
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+6 { focus-workspace 6; }
+
Mod+7 { focus-workspace 7; }
+
Mod+8 { focus-workspace 8; }
+
Mod+9 { focus-workspace 9; }
+
+
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+Shift+6 { move-column-to-workspace 6; }
+
Mod+Shift+7 { move-column-to-workspace 7; }
+
Mod+Shift+8 { move-column-to-workspace 8; }
+
Mod+Shift+9 { move-column-to-workspace 9; }
+
+
Mod+BracketLeft { consume-or-expel-window-left; }
+
Mod+BracketRight { consume-or-expel-window-right; }
+
Mod+Comma { consume-window-into-column; }
+
Mod+Period { expel-window-from-column; }
+
+
Mod+R { switch-preset-column-width; }
+
Mod+Shift+R { switch-preset-window-height; }
+
Mod+Ctrl+R { reset-window-height; }
+
Mod+F { maximize-column; }
+
Mod+Shift+F { fullscreen-window; }
+
+
Mod+Ctrl+F { expand-column-to-available-width; }
+
+
Mod+C { center-column; }
+
+
Mod+Ctrl+C { center-visible-columns; }
+
+
Mod+Minus { set-column-width "-10%"; }
+
Mod+Equal { set-column-width "+10%"; }
+
+
Mod+Shift+Minus { set-window-height "-10%"; }
+
Mod+Shift+Equal { set-window-height "+10%"; }
+
+
Mod+V { toggle-window-floating; }
+
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
+
+
Mod+W { toggle-column-tabbed-display; }
+
+
Print { screenshot; }
+
Ctrl+Print { screenshot-screen; }
+
Alt+Print { screenshot-window; }
+
+
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
+
+
Mod+Shift+E { quit; }
+
Ctrl+Alt+Delete { quit; }
+
+
Mod+Shift+P { power-off-monitors; }
+
}
+18
.config/noctalia/colors.json
···
+
{
+
"mError": "#f38ba8",
+
"mHover": "#94e2d5",
+
"mOnError": "#11111b",
+
"mOnHover": "#11111b",
+
"mOnPrimary": "#11111b",
+
"mOnSecondary": "#11111b",
+
"mOnSurface": "#cdd6f4",
+
"mOnSurfaceVariant": "#a3b4eb",
+
"mOnTertiary": "#11111b",
+
"mOutline": "#4c4f69",
+
"mPrimary": "#cba6f7",
+
"mSecondary": "#fab387",
+
"mShadow": "#11111b",
+
"mSurface": "#1e1e2e",
+
"mSurfaceVariant": "#313244",
+
"mTertiary": "#94e2d5"
+
}
+406
.config/noctalia/settings.json
···
+
{
+
"appLauncher": {
+
"customLaunchPrefix": "",
+
"customLaunchPrefixEnabled": false,
+
"enableClipboardHistory": false,
+
"pinnedExecs": [
+
],
+
"position": "center",
+
"sortByMostUsed": true,
+
"terminalCommand": "xterm -e",
+
"useApp2Unit": false
+
},
+
"audio": {
+
"cavaFrameRate": 30,
+
"externalMixer": "pwvucontrol || pavucontrol",
+
"mprisBlacklist": [
+
],
+
"preferredPlayer": "",
+
"visualizerQuality": "high",
+
"visualizerType": "linear",
+
"volumeOverdrive": false,
+
"volumeStep": 5
+
},
+
"bar": {
+
"backgroundOpacity": 0.6900000000000001,
+
"capsuleOpacity": 1,
+
"density": "default",
+
"exclusive": true,
+
"floating": false,
+
"marginHorizontal": 0.25,
+
"marginVertical": 0.25,
+
"monitors": [
+
],
+
"outerCorners": true,
+
"position": "top",
+
"showCapsule": true,
+
"widgets": {
+
"center": [
+
{
+
"characterCount": 2,
+
"hideUnoccupied": false,
+
"id": "Workspace",
+
"labelMode": "name"
+
}
+
],
+
"left": [
+
{
+
"colorizeDistroLogo": false,
+
"customIconPath": "",
+
"icon": "noctalia",
+
"id": "ControlCenter",
+
"useDistroLogo": false
+
},
+
{
+
"diskPath": "/",
+
"id": "SystemMonitor",
+
"showCpuTemp": true,
+
"showCpuUsage": true,
+
"showDiskUsage": false,
+
"showMemoryAsPercent": false,
+
"showMemoryUsage": true,
+
"showNetworkStats": false,
+
"usePrimaryColor": false
+
},
+
{
+
"colorizeIcons": false,
+
"hideMode": "hidden",
+
"id": "ActiveWindow",
+
"maxWidth": 145,
+
"scrollingMode": "hover",
+
"showIcon": true,
+
"useFixedWidth": false
+
},
+
{
+
"hideMode": "hidden",
+
"hideWhenIdle": false,
+
"id": "MediaMini",
+
"maxWidth": 145,
+
"scrollingMode": "hover",
+
"showAlbumArt": false,
+
"showArtistFirst": true,
+
"showVisualizer": false,
+
"useFixedWidth": false,
+
"visualizerType": "linear"
+
}
+
],
+
"right": [
+
{
+
"id": "ScreenRecorder"
+
},
+
{
+
"blacklist": [
+
],
+
"colorizeIcons": false,
+
"drawerEnabled": true,
+
"id": "Tray",
+
"pinned": [
+
]
+
},
+
{
+
"hideWhenZero": true,
+
"id": "NotificationHistory",
+
"showUnreadBadge": true
+
},
+
{
+
"displayMode": "onhover",
+
"id": "Battery",
+
"warningThreshold": 30
+
},
+
{
+
"displayMode": "onhover",
+
"id": "Volume"
+
},
+
{
+
"displayMode": "onhover",
+
"id": "Brightness"
+
},
+
{
+
"customFont": "",
+
"formatHorizontal": "HH:mm ddd, MMM dd",
+
"formatVertical": "HH mm - dd MM",
+
"id": "Clock",
+
"useCustomFont": false,
+
"usePrimaryColor": true
+
}
+
]
+
}
+
},
+
"brightness": {
+
"brightnessStep": 5,
+
"enableDdcSupport": false,
+
"enforceMinimum": true
+
},
+
"changelog": {
+
"lastSeenVersion": ""
+
},
+
"colorSchemes": {
+
"darkMode": true,
+
"generateTemplatesForPredefined": true,
+
"manualSunrise": "06:30",
+
"manualSunset": "18:30",
+
"matugenSchemeType": "scheme-fruit-salad",
+
"predefinedScheme": "Catppuccin",
+
"schedulingMode": "off",
+
"useWallpaperColors": false
+
},
+
"controlCenter": {
+
"cards": [
+
{
+
"enabled": true,
+
"id": "profile-card"
+
},
+
{
+
"enabled": true,
+
"id": "shortcuts-card"
+
},
+
{
+
"enabled": true,
+
"id": "audio-card"
+
},
+
{
+
"enabled": true,
+
"id": "weather-card"
+
},
+
{
+
"enabled": true,
+
"id": "media-sysmon-card"
+
}
+
],
+
"position": "close_to_bar_button",
+
"shortcuts": {
+
"left": [
+
{
+
"id": "WiFi"
+
},
+
{
+
"id": "Bluetooth"
+
},
+
{
+
"id": "ScreenRecorder"
+
},
+
{
+
"id": "WallpaperSelector"
+
}
+
],
+
"right": [
+
{
+
"id": "Notifications"
+
},
+
{
+
"id": "PowerProfile"
+
},
+
{
+
"id": "KeepAwake"
+
},
+
{
+
"id": "NightLight"
+
}
+
]
+
}
+
},
+
"dock": {
+
"backgroundOpacity": 1,
+
"colorizeIcons": false,
+
"displayMode": "always_visible",
+
"enabled": false,
+
"floatingRatio": 1,
+
"monitors": [
+
],
+
"onlySameOutput": true,
+
"pinnedApps": [
+
],
+
"size": 1
+
},
+
"general": {
+
"allowPanelsOnScreenWithoutBar": true,
+
"animationDisabled": false,
+
"animationSpeed": 1,
+
"avatarImage": "/home/banana/.face",
+
"compactLockScreen": false,
+
"dimmerOpacity": 0.35000000000000003,
+
"enableShadows": false,
+
"forceBlackScreenCorners": false,
+
"language": "",
+
"lockOnSuspend": true,
+
"radiusRatio": 1,
+
"scaleRatio": 0.9500000000000001,
+
"screenRadiusRatio": 1,
+
"shadowDirection": "bottom_right",
+
"shadowOffsetX": 2,
+
"shadowOffsetY": 3,
+
"showScreenCorners": false
+
},
+
"hooks": {
+
"darkModeChange": "",
+
"enabled": false,
+
"wallpaperChange": ""
+
},
+
"location": {
+
"analogClockInCalendar": false,
+
"firstDayOfWeek": -1,
+
"name": "Singapore",
+
"showCalendarEvents": true,
+
"showCalendarWeather": true,
+
"showWeekNumberInCalendar": false,
+
"use12hourFormat": false,
+
"useFahrenheit": false,
+
"weatherEnabled": true,
+
"weatherShowEffects": true
+
},
+
"network": {
+
"wifiEnabled": true
+
},
+
"nightLight": {
+
"autoSchedule": true,
+
"dayTemp": "6500",
+
"enabled": false,
+
"forced": false,
+
"manualSunrise": "06:30",
+
"manualSunset": "18:30",
+
"nightTemp": "4000"
+
},
+
"notifications": {
+
"backgroundOpacity": 1,
+
"criticalUrgencyDuration": 15,
+
"enableKeyboardLayoutToast": true,
+
"enabled": true,
+
"location": "top_right",
+
"lowUrgencyDuration": 3,
+
"monitors": [
+
],
+
"normalUrgencyDuration": 8,
+
"overlayLayer": true,
+
"respectExpireTimeout": false
+
},
+
"osd": {
+
"autoHideMs": 2000,
+
"backgroundOpacity": 1,
+
"enabled": true,
+
"location": "top_right",
+
"monitors": [
+
],
+
"overlayLayer": true
+
},
+
"screenRecorder": {
+
"audioCodec": "opus",
+
"audioSource": "default_output",
+
"colorRange": "limited",
+
"directory": "/home/banana/Videos",
+
"frameRate": 60,
+
"quality": "very_high",
+
"showCursor": true,
+
"videoCodec": "h264",
+
"videoSource": "portal"
+
},
+
"sessionMenu": {
+
"countdownDuration": 10000,
+
"enableCountdown": true,
+
"position": "center",
+
"powerOptions": [
+
{
+
"action": "lock",
+
"countdownEnabled": true,
+
"enabled": true
+
},
+
{
+
"action": "suspend",
+
"countdownEnabled": true,
+
"enabled": true
+
},
+
{
+
"action": "hibernate",
+
"countdownEnabled": true,
+
"enabled": true
+
},
+
{
+
"action": "reboot",
+
"countdownEnabled": true,
+
"enabled": true
+
},
+
{
+
"action": "logout",
+
"countdownEnabled": true,
+
"enabled": true
+
},
+
{
+
"action": "shutdown",
+
"countdownEnabled": true,
+
"enabled": true
+
}
+
],
+
"showHeader": true
+
},
+
"settingsVersion": 23,
+
"setupCompleted": true,
+
"systemMonitor": {
+
"cpuCriticalThreshold": 90,
+
"cpuWarningThreshold": 80,
+
"criticalColor": "",
+
"diskCriticalThreshold": 90,
+
"diskWarningThreshold": 80,
+
"memCriticalThreshold": 90,
+
"memWarningThreshold": 80,
+
"tempCriticalThreshold": 90,
+
"tempWarningThreshold": 80,
+
"useCustomColors": false,
+
"warningColor": ""
+
},
+
"templates": {
+
"alacritty": false,
+
"code": false,
+
"discord": false,
+
"enableUserTemplates": false,
+
"foot": false,
+
"fuzzel": false,
+
"ghostty": false,
+
"gtk": false,
+
"kcolorscheme": false,
+
"kitty": false,
+
"pywalfox": false,
+
"qt": false,
+
"spicetify": false,
+
"vicinae": false,
+
"walker": false,
+
"wezterm": false
+
},
+
"ui": {
+
"fontDefault": "Roboto",
+
"fontDefaultScale": 1,
+
"fontFixed": "DejaVu Sans Mono",
+
"fontFixedScale": 1,
+
"panelBackgroundOpacity": 1,
+
"panelsAttachedToBar": true,
+
"settingsPanelAttachToBar": false,
+
"tooltipsEnabled": true
+
},
+
"wallpaper": {
+
"defaultWallpaper": "/home/banana/.config/quickshell/noctalia-shell/Assets/Wallpaper/noctalia.png",
+
"directory": "/home/banana/Pictures/Wallpapers",
+
"enableMultiMonitorDirectories": false,
+
"enabled": false,
+
"fillColor": "#000000",
+
"fillMode": "crop",
+
"hideWallpaperFilenames": false,
+
"monitors": [
+
],
+
"overviewEnabled": false,
+
"panelPosition": "follow_bar",
+
"randomEnabled": false,
+
"randomIntervalSec": 300,
+
"recursiveSearch": false,
+
"setWallpaperOnAllMonitors": true,
+
"transitionDuration": 1500,
+
"transitionEdgeSmoothness": 0.05,
+
"transitionType": "random",
+
"useWallhaven": false,
+
"wallhavenCategories": "111",
+
"wallhavenOrder": "desc",
+
"wallhavenPurity": "100",
+
"wallhavenQuery": "",
+
"wallhavenResolutionHeight": "",
+
"wallhavenResolutionMode": "atleast",
+
"wallhavenResolutionWidth": "",
+
"wallhavenSorting": "relevance"
+
}
+
}
+3
README.md
···
### Software
These dotfiles contain configurations for the following:
```
+
niri
+
noctalia-shell
+
fuzzel
zsh
nvim
git