back to kde+karousel, niri was cool, but it wasn't kde
This commit is contained in:
parent
b106482e3c
commit
43be7acfcb
12 changed files with 24 additions and 339 deletions
|
|
@ -29,6 +29,21 @@
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
unsetopt beep
|
unsetopt beep
|
||||||
${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin
|
${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin
|
||||||
|
|
||||||
|
# Fish-style Ctrl+Backspace: delete one path segment at a time
|
||||||
|
function backward-kill-path-component() {
|
||||||
|
if [[ "$LBUFFER" == */ ]]; then
|
||||||
|
LBUFFER="''${LBUFFER%/}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$LBUFFER" == */* ]]; then
|
||||||
|
LBUFFER="''${LBUFFER%/*}/"
|
||||||
|
else
|
||||||
|
zle backward-kill-word
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
zle -N backward-kill-path-component
|
||||||
|
bindkey '^H' backward-kill-path-component
|
||||||
'';
|
'';
|
||||||
loginExtra = "${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin";
|
loginExtra = "${lib.getExe pkgs.nix-your-shell} zsh | source /dev/stdin";
|
||||||
history = {
|
history = {
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,10 @@
|
||||||
];
|
];
|
||||||
config.common.default = "*";
|
config.common.default = "*";
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
kdePackages.karousel
|
||||||
|
kde-rounded-corners
|
||||||
|
];
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,9 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
decibels
|
mpv
|
||||||
loupe
|
|
||||||
obs-studio
|
obs-studio
|
||||||
showtime
|
qview
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,265 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
flake.modules = {
|
|
||||||
nixos.niri =
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
services.greetd.settings = {
|
|
||||||
default_session.command = "${lib.getExe pkgs.tuigreet} --user-menu --time --remember --asterisks --cmd ${config.programs.niri.package}/bin/niri-session";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.niri.enable = true;
|
|
||||||
};
|
|
||||||
homeManager.niri =
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
hostname ? null,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
isRotterdam = hostname == "rotterdam";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ inputs.noctalia.homeModules.default ];
|
|
||||||
|
|
||||||
services.kanshi = {
|
|
||||||
enable = true;
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "undocked";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = "eDP-1";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.0;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile = {
|
|
||||||
name = "docked";
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = "eDP-1";
|
|
||||||
status = "disable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "DP-1";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.0;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
xwayland-satellite
|
|
||||||
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
];
|
|
||||||
sessionVariables.QT_QPA_PLATFORMTHEME = "gtk3";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."niri/config.kdl".text = ''
|
|
||||||
input {
|
|
||||||
keyboard {
|
|
||||||
xkb {
|
|
||||||
layout "us"
|
|
||||||
variant "altgr-intl"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
touchpad {
|
|
||||||
tap
|
|
||||||
dwt
|
|
||||||
drag true
|
|
||||||
drag-lock
|
|
||||||
natural-scroll
|
|
||||||
accel-speed 0.2
|
|
||||||
accel-profile "flat"
|
|
||||||
scroll-method "two-finger"
|
|
||||||
middle-emulation
|
|
||||||
}
|
|
||||||
mouse {
|
|
||||||
natural-scroll
|
|
||||||
accel-speed 0.2
|
|
||||||
accel-profile "flat"
|
|
||||||
}
|
|
||||||
warp-mouse-to-focus mode="center-xy"
|
|
||||||
focus-follows-mouse
|
|
||||||
}
|
|
||||||
|
|
||||||
output "LG Electronics LG ULTRAWIDE 206AZFM5E459" {
|
|
||||||
layout {
|
|
||||||
preset-column-widths {
|
|
||||||
proportion 0.33333
|
|
||||||
proportion 0.5
|
|
||||||
proportion 0.66667
|
|
||||||
}
|
|
||||||
default-column-width { proportion 0.33333; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
layout {
|
|
||||||
gaps 8
|
|
||||||
center-focused-column "never"
|
|
||||||
always-center-single-column
|
|
||||||
empty-workspace-above-first
|
|
||||||
preset-column-widths {
|
|
||||||
proportion 0.5
|
|
||||||
proportion 1.0
|
|
||||||
}
|
|
||||||
default-column-width { proportion 0.5; }
|
|
||||||
focus-ring {
|
|
||||||
off
|
|
||||||
}
|
|
||||||
border {
|
|
||||||
width 4
|
|
||||||
active-color "#ffc87f"
|
|
||||||
inactive-color "#505050"
|
|
||||||
urgent-color "#9b0000"
|
|
||||||
}
|
|
||||||
tab-indicator {
|
|
||||||
width 4
|
|
||||||
gap 4
|
|
||||||
place-within-column
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
overview {
|
|
||||||
zoom 0.65
|
|
||||||
}
|
|
||||||
|
|
||||||
spawn-at-startup "noctalia-shell" "-d"
|
|
||||||
spawn-at-startup "${lib.getExe pkgs.niri-auto-centre}"
|
|
||||||
layer-rule {
|
|
||||||
match namespace="^noctalia-overview*"
|
|
||||||
place-within-backdrop true
|
|
||||||
}
|
|
||||||
|
|
||||||
hotkey-overlay {
|
|
||||||
skip-at-startup
|
|
||||||
}
|
|
||||||
|
|
||||||
prefer-no-csd
|
|
||||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
|
||||||
|
|
||||||
animations {
|
|
||||||
slowdown 0.3
|
|
||||||
}
|
|
||||||
|
|
||||||
window-rule {
|
|
||||||
match app-id="zen"
|
|
||||||
default-column-width { proportion ${if isRotterdam then "0.5" else "1.0"}; }
|
|
||||||
}
|
|
||||||
|
|
||||||
window-rule {
|
|
||||||
geometry-corner-radius 12
|
|
||||||
clip-to-geometry true
|
|
||||||
}
|
|
||||||
|
|
||||||
config-notification {
|
|
||||||
disable-failed
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
Alt+Space repeat=false { spawn "vicinae" "toggle"; }
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
|
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
|
|
||||||
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
|
|
||||||
XF86MonBrightnessUp allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
|
|
||||||
XF86MonBrightnessDown allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
|
|
||||||
XF86AudioPlay allow-when-locked=true { spawn "${lib.getExe pkgs.playerctl}" "play-pause"; }
|
|
||||||
XF86AudioStop allow-when-locked=true { spawn "${lib.getExe pkgs.playerctl}" "stop"; }
|
|
||||||
XF86AudioPrev allow-when-locked=true { spawn "${lib.getExe pkgs.playerctl}" "previous"; }
|
|
||||||
XF86AudioNext allow-when-locked=true { spawn "${lib.getExe pkgs.playerctl}" "next"; }
|
|
||||||
Mod+V repeat=false { spawn "vicinae" "vicinae://extensions/vicinae/clipboard/history"; }
|
|
||||||
Mod+Shift+L repeat=false { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
|
|
||||||
Mod+Return { spawn "ghostty"; }
|
|
||||||
Ctrl+Alt+Shift+A allow-when-locked=true { spawn "toggleaudiosink"; }
|
|
||||||
Mod+W repeat=false { toggle-overview; }
|
|
||||||
Mod+Q { close-window; }
|
|
||||||
Alt+Shift+Q { close-window;}
|
|
||||||
Mod+Shift+Q { close-window; }
|
|
||||||
Alt+F4 { close-window; }
|
|
||||||
Mod+Left { focus-column-left; }
|
|
||||||
Mod+Down { focus-window-or-workspace-down; }
|
|
||||||
Mod+Up { focus-window-or-workspace-up; }
|
|
||||||
Mod+Right { focus-column-right; }
|
|
||||||
Mod+H { focus-column-left; }
|
|
||||||
Mod+L { focus-column-right; }
|
|
||||||
Mod+J { focus-window-or-workspace-down; }
|
|
||||||
Mod+K { focus-window-or-workspace-up; }
|
|
||||||
Mod+Ctrl+Left { move-column-left; }
|
|
||||||
Mod+Ctrl+Down { move-window-down-or-to-workspace-down; }
|
|
||||||
Mod+Ctrl+Up { move-window-up-or-to-workspace-up; }
|
|
||||||
Mod+Ctrl+Right { move-column-right; }
|
|
||||||
Mod+Ctrl+H { move-column-left; }
|
|
||||||
Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
|
||||||
Mod+Ctrl+K { move-window-up-or-to-workspace-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+Alt+Left { focus-monitor-left; }
|
|
||||||
Mod+Alt+Down { focus-monitor-down; }
|
|
||||||
Mod+Alt+Up { focus-monitor-up; }
|
|
||||||
Mod+Alt+Right { focus-monitor-right; }
|
|
||||||
Mod+Alt+H { focus-monitor-left; }
|
|
||||||
Mod+Alt+J { focus-monitor-down; }
|
|
||||||
Mod+Alt+K { focus-monitor-up; }
|
|
||||||
Mod+Alt+L { focus-monitor-right; }
|
|
||||||
Mod+Alt+Ctrl+Left { move-column-to-monitor-left; }
|
|
||||||
Mod+Alt+Ctrl+Down { move-column-to-monitor-down; }
|
|
||||||
Mod+Alt+Ctrl+Up { move-column-to-monitor-up; }
|
|
||||||
Mod+Alt+Ctrl+Right { move-column-to-monitor-right; }
|
|
||||||
Mod+Alt+Ctrl+H { move-column-to-monitor-left; }
|
|
||||||
Mod+Alt+Ctrl+J { move-column-to-monitor-down; }
|
|
||||||
Mod+Alt+Ctrl+K { move-column-to-monitor-up; }
|
|
||||||
Mod+Alt+Ctrl+L { move-column-to-monitor-right; }
|
|
||||||
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+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+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+F { maximize-column; }
|
|
||||||
Mod+Ctrl+F { fullscreen-window; }
|
|
||||||
Mod+C { center-visible-columns; }
|
|
||||||
Mod+Ctrl+C { center-column; }
|
|
||||||
Mod+Space { toggle-window-floating; }
|
|
||||||
Mod+Ctrl+Space { switch-focus-between-floating-and-tiling; }
|
|
||||||
Mod+T { toggle-column-tabbed-display; }
|
|
||||||
Print { screenshot-screen; }
|
|
||||||
Mod+Print { screenshot; }
|
|
||||||
Ctrl+Print { screenshot-window; }
|
|
||||||
Mod+Backspace allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
|
||||||
Mod+Alt+E { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
|
|
||||||
Ctrl+Alt+Delete { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
|
|
||||||
Mod+Ctrl+P { power-off-monitors; }
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -11,7 +11,6 @@
|
||||||
aspellDicts.en-computers
|
aspellDicts.en-computers
|
||||||
aspellDicts.pt_BR
|
aspellDicts.pt_BR
|
||||||
glow
|
glow
|
||||||
papers
|
|
||||||
presenterm
|
presenterm
|
||||||
rnote
|
rnote
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@ in
|
||||||
ai
|
ai
|
||||||
bluetooth
|
bluetooth
|
||||||
dev
|
dev
|
||||||
|
kde
|
||||||
libvirtd
|
libvirtd
|
||||||
networkmanager
|
networkmanager
|
||||||
niri
|
|
||||||
podman
|
podman
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,7 @@ in
|
||||||
dev
|
dev
|
||||||
fwupd
|
fwupd
|
||||||
kde
|
kde
|
||||||
libvirtd
|
|
||||||
networkmanager
|
networkmanager
|
||||||
# niri
|
|
||||||
podman
|
podman
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
nixos-firewall-tool
|
nixos-firewall-tool
|
||||||
sysz
|
sysz
|
||||||
wget
|
wget
|
||||||
yazi
|
|
||||||
];
|
];
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
cat = "${lib.getExe pkgs.bat} --paging=never --style=plain";
|
cat = "${lib.getExe pkgs.bat} --paging=never --style=plain";
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,6 @@
|
||||||
};
|
};
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
ghostty
|
|
||||||
gnome-disk-utility
|
gnome-disk-utility
|
||||||
junction
|
junction
|
||||||
libfido2
|
libfido2
|
||||||
|
|
@ -153,11 +152,6 @@
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [ xwayland-satellite ];
|
|
||||||
sessionVariables.TERMINAL = "ghostty";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.vicinae = {
|
services.vicinae = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
|
|
@ -166,29 +160,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
|
||||||
ghostty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
cursor-style = "block";
|
|
||||||
shell-integration-features = "no-cursor";
|
|
||||||
cursor-style-blink = false;
|
|
||||||
custom-shader = "${builtins.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/hackr-sh/ghostty-shaders/cb6eb4b0d1a3101c869c62e458b25a826f9dcde3/cursor_blaze.glsl";
|
|
||||||
sha256 = "sha256:0g2lgqjdrn3c51glry7x2z30y7ml0y61arl5ykmf4yj0p85s5f41";
|
|
||||||
}}";
|
|
||||||
bell-features = "";
|
|
||||||
gtk-titlebar-style = "tabs";
|
|
||||||
keybind = [ "shift+enter=text:\\x1b\\r" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
password-store = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.pass-wayland;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userDirs.enable = true;
|
userDirs.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
"org.freedesktop.Platform.VulkanLayer.MangoHud/x86_64/25.08"
|
"org.freedesktop.Platform.VulkanLayer.MangoHud/x86_64/25.08"
|
||||||
rec {
|
rec {
|
||||||
appId = "com.hypixel.HytaleLauncher";
|
appId = "com.hypixel.HytaleLauncher";
|
||||||
sha256 = "MSCzfcucPbAlSXZSwX4MOJjetiRW5bLihxvQ0QKQtBI=";
|
sha256 = "uu7FA36M4wSqDXRF1fFNla8S5MjL1N1kZi4gwbpw1oY=";
|
||||||
bundle = "${pkgs.fetchurl {
|
bundle = "${pkgs.fetchurl {
|
||||||
url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak";
|
url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak";
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,6 @@ in
|
||||||
|
|
||||||
# other aspects
|
# other aspects
|
||||||
kde
|
kde
|
||||||
stylix
|
|
||||||
# niri
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"user@io" = mkHomeConfiguration {
|
"user@io" = mkHomeConfiguration {
|
||||||
|
|
@ -47,8 +45,7 @@ in
|
||||||
desktop
|
desktop
|
||||||
|
|
||||||
# other aspects
|
# other aspects
|
||||||
stylix
|
kde
|
||||||
niri
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
perSystem =
|
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
packages.niri-auto-centre = pkgs.writeShellApplication {
|
|
||||||
name = "niri-auto-centre";
|
|
||||||
runtimeInputs = [ pkgs.jq ];
|
|
||||||
text = ''
|
|
||||||
while true; do
|
|
||||||
ACTIVE_WORKSPACE=$(niri msg --json workspaces | jq -r '.[] | select(.is_active == true)')
|
|
||||||
WORKSPACE_ID=$(echo "$ACTIVE_WORKSPACE" | jq -r '.id')
|
|
||||||
OUTPUT_NAME=$(echo "$ACTIVE_WORKSPACE" | jq -r '.output')
|
|
||||||
|
|
||||||
MONITOR_WIDTH=$(niri msg --json outputs | jq -r ".\"$OUTPUT_NAME\".logical.width")
|
|
||||||
|
|
||||||
SUMMED_TILE_WIDTH=$(niri msg --json windows | jq --argjson wid "$WORKSPACE_ID" -r '
|
|
||||||
[.[] | select(.workspace_id == $wid) | {col: .layout.pos_in_scrolling_layout[0], width: .layout.tile_size[0]}]
|
|
||||||
| group_by(.col) | map(first.width) | add
|
|
||||||
')
|
|
||||||
|
|
||||||
if awk "BEGIN {exit !($SUMMED_TILE_WIDTH < $MONITOR_WIDTH)}"; then
|
|
||||||
niri msg action center-visible-columns
|
|
||||||
fi
|
|
||||||
|
|
||||||
sleep 0.1
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue