mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 14:28:02 +03:00
1 parent
95b437970e
commit
55dfbc577b
8 files changed
+309
No files matched your search
@@ -0,0 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./niri/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ lib, ... }:
|
||||
|
||||
let
|
||||
env = import ./niri/env.nix;
|
||||
execs = import ./niri/execs.nix;
|
||||
general = import ./niri/general.nix;
|
||||
rules = import ./niri/rules.nix;
|
||||
keybinds = import ./niri/keybinds.nix;
|
||||
in
|
||||
{
|
||||
xdg.configFile."niri/config.kdl".text = lib.concatStringsSep "\n" [
|
||||
env
|
||||
execs
|
||||
general
|
||||
rules
|
||||
keybinds
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
''
|
||||
environment {
|
||||
XCURSOR_SIZE "24"
|
||||
XCURSOR_THEME "Bibata-Modern-Classic"
|
||||
XDG_SESSION_TYPE "wayland"
|
||||
XDG_CURRENT_DESKTOP "niri"
|
||||
XDG_SESSION_DESKTOP "niri"
|
||||
GDK_BACKEND "wayland,x11"
|
||||
QT_QPA_PLATFORM "wayland;xcb"
|
||||
QT_QPA_PLATFORMTHEME "gtk3"
|
||||
QT_STYLE_OVERRIDE "adwaita-dark"
|
||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||
TERMINAL "ghostty"
|
||||
MESA_GL_VERSION_OVERRIDE "4.6"
|
||||
MESA_GLSL_VERSION_OVERRIDE "460"
|
||||
}
|
||||
''
|
||||
@@ -0,0 +1,6 @@
|
||||
''
|
||||
spawn-at-startup "noctalia-shell"
|
||||
spawn-at-startup "easyeffects" "--hide-window" "--service-mode"
|
||||
spawn-at-startup "wl-paste" "--type" "text" "--watch" "cliphist" "store"
|
||||
spawn-at-startup "wl-paste" "--type" "image" "--watch" "cliphist" "store"
|
||||
''
|
||||
@@ -0,0 +1,78 @@
|
||||
''
|
||||
prefer-no-csd
|
||||
|
||||
debug {
|
||||
honor-xdg-activation-with-invalid-serial
|
||||
}
|
||||
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "tr"
|
||||
}
|
||||
numlock
|
||||
repeat-delay 250
|
||||
repeat-rate 35
|
||||
}
|
||||
|
||||
mouse {
|
||||
accel-profile "flat"
|
||||
accel-speed 0.0
|
||||
}
|
||||
|
||||
touchpad {
|
||||
natural-scroll
|
||||
dwt
|
||||
click-method "clickfinger"
|
||||
scroll-factor 0.8
|
||||
}
|
||||
|
||||
focus-follows-mouse
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 5
|
||||
|
||||
center-focused-column "never"
|
||||
|
||||
focus-ring {
|
||||
width 1
|
||||
active-color "#33ccffee"
|
||||
inactive-color "#31313600"
|
||||
}
|
||||
|
||||
default-column-width {}
|
||||
}
|
||||
|
||||
window-rule {
|
||||
geometry-corner-radius 18
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
animations {
|
||||
window-open {
|
||||
duration-ms 250
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
window-close {
|
||||
duration-ms 200
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
horizontal-view-movement {
|
||||
duration-ms 350
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
workspace-switch {
|
||||
duration-ms 350
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
window-movement {
|
||||
duration-ms 250
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
window-resize {
|
||||
duration-ms 250
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
}
|
||||
''
|
||||
@@ -0,0 +1,95 @@
|
||||
''
|
||||
binds {
|
||||
Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
|
||||
|
||||
// Workspace navigation
|
||||
Ctrl+Mod+Right { focus-workspace-down; }
|
||||
Ctrl+Mod+Left { focus-workspace-up; }
|
||||
|
||||
// Interface
|
||||
Mod+Tab { spawn "noctalia-shell" "ipc" "call" "launcher" "windows"; }
|
||||
Mod+P { spawn "noctalia-shell" "ipc" "call" "bar" "toggle"; }
|
||||
Ctrl+Alt+Delete { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
|
||||
|
||||
// Plugins
|
||||
Mod+Shift+S { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "screenshot"; }
|
||||
Mod+Shift+Z { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "search"; }
|
||||
Mod+Shift+X { spawn "noctalia-shell" "ipc" "call" "plugin:screen-shot-and-record" "ocr"; }
|
||||
Mod+Shift+C { spawn "noctalia-shell" "ipc" "call" "plugin:music" "panel"; }
|
||||
|
||||
// Launchers
|
||||
Mod+Return { spawn "ghostty"; }
|
||||
Mod+W { spawn "zen-beta"; }
|
||||
Mod+E { spawn "nautilus"; }
|
||||
Mod+Z { spawn "zeditor"; }
|
||||
Mod+Alt+V { spawn "pavucontrol"; }
|
||||
Mod+Shift+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; }
|
||||
Mod+Shift+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
|
||||
Ctrl+Shift+Escape { spawn "ghostty" "-e" "btop"; }
|
||||
|
||||
// Window management
|
||||
Mod+Q { close-window; }
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+D { maximize-column; }
|
||||
// togglefloating ve pin Niri'de yok
|
||||
|
||||
// Focus
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Down { focus-window-down; }
|
||||
|
||||
// Move windows
|
||||
Mod+Shift+Left { move-column-left; }
|
||||
Mod+Shift+Right { move-column-right; }
|
||||
Mod+Shift+Up { move-window-up; }
|
||||
Mod+Shift+Down { move-window-down; }
|
||||
|
||||
// Workspace navigation (absolute)
|
||||
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+0 { focus-workspace 10; }
|
||||
|
||||
// Move window to workspace
|
||||
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+Shift+0 { move-column-to-workspace 10; }
|
||||
|
||||
// Media
|
||||
Mod+Shift+N { spawn "playerctl" "next"; }
|
||||
Mod+Shift+B { spawn "playerctl" "previous"; }
|
||||
Mod+Shift+P { spawn "playerctl" "play-pause"; }
|
||||
|
||||
// Mouse binds
|
||||
Mod+BTN_LEFT { move-window-with-mouse; }
|
||||
Mod+BTN_RIGHT { resize-window-with-mouse; }
|
||||
|
||||
// Volume & brightness
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
|
||||
|
||||
// Media keys
|
||||
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_SOURCE@" "toggle"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
|
||||
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
|
||||
XF86AudioPause allow-when-locked=true { spawn "playerctl" "play-pause"; }
|
||||
}
|
||||
''
|
||||
@@ -0,0 +1,45 @@
|
||||
''
|
||||
layer-rule {
|
||||
match namespace="^noctalia-overview.*"
|
||||
place-within-backdrop true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match title=r#"^(Open File)(.*)$"#
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match title=r#"^(Save As)(.*)$"#
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match title=r#"^(File Upload)(.*)$"#
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"^pavucontrol$"#
|
||||
open-floating true
|
||||
default-column-width { proportion 0.45; }
|
||||
}
|
||||
|
||||
// Picture-in-Picture — pin desteklenmiyor niri'de
|
||||
window-rule {
|
||||
match title=r#"(?i)^picture.in.picture"#
|
||||
open-floating true
|
||||
}
|
||||
|
||||
// Steam: ana pencere tiled, diğerleri floating
|
||||
window-rule {
|
||||
match app-id=r#"^steam$"#
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"^steam$"#
|
||||
match title=r#"^Steam$"#
|
||||
open-floating false
|
||||
}
|
||||
''
|
||||
@@ -0,0 +1,43 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.niri.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
config.niri = lib.mkForce {
|
||||
default = [
|
||||
"gnome"
|
||||
"gtk"
|
||||
];
|
||||
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
dbus.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
gnome = {
|
||||
gnome-keyring.enable = true;
|
||||
gnome-settings-daemon.enable = lib.mkDefault false;
|
||||
};
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
glib
|
||||
dconf
|
||||
dconf-editor
|
||||
xdg-utils
|
||||
xdg-user-dirs
|
||||
];
|
||||
}
|
||||
Reference in new issue
Block a user