Compare commits
No commits in common. "43be7acfcb33424cb564b55d50c97f43c50e6058" and "b80e1e39459b2a7042c7a02d09f069e0764dee0f" have entirely different histories.
43be7acfcb
...
b80e1e3945
13 changed files with 433 additions and 183 deletions
|
|
@ -29,21 +29,6 @@
|
|||
initExtra = ''
|
||||
unsetopt beep
|
||||
${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";
|
||||
history = {
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
flake.modules = {
|
||||
nixos.kde =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services = {
|
||||
displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "user";
|
||||
};
|
||||
plasma-login-manager.enable = true;
|
||||
};
|
||||
desktopManager.plasma6.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
};
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = with pkgs; [
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-gnome
|
||||
];
|
||||
config.common.default = "*";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.karousel
|
||||
kde-rounded-corners
|
||||
];
|
||||
programs.kdeconnect.enable = true;
|
||||
};
|
||||
|
||||
homeManager.kde =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -6,9 +6,10 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
mpv
|
||||
decibels
|
||||
loupe
|
||||
obs-studio
|
||||
qview
|
||||
showtime
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
265
aspects/desktop/niri.nix
Normal file
265
aspects/desktop/niri.nix
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
{ ... }:
|
||||
{
|
||||
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,6 +11,7 @@
|
|||
aspellDicts.en-computers
|
||||
aspellDicts.pt_BR
|
||||
glow
|
||||
papers
|
||||
presenterm
|
||||
rnote
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ in
|
|||
ai
|
||||
bluetooth
|
||||
dev
|
||||
kde
|
||||
libvirtd
|
||||
networkmanager
|
||||
niri
|
||||
podman
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,8 +17,9 @@ in
|
|||
bluetooth
|
||||
dev
|
||||
fwupd
|
||||
kde
|
||||
libvirtd
|
||||
networkmanager
|
||||
niri
|
||||
podman
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
nixos-firewall-tool
|
||||
sysz
|
||||
wget
|
||||
yazi
|
||||
];
|
||||
shellAliases = {
|
||||
cat = "${lib.getExe pkgs.bat} --paging=never --style=plain";
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
};
|
||||
systemPackages = with pkgs; [
|
||||
adwaita-icon-theme
|
||||
ghostty
|
||||
gnome-disk-utility
|
||||
junction
|
||||
libfido2
|
||||
|
|
@ -97,9 +98,9 @@
|
|||
jack.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
displayManager.autoLogin = {
|
||||
greetd = {
|
||||
enable = true;
|
||||
user = "user";
|
||||
settings.default_session.user = "greeter";
|
||||
};
|
||||
flatpak = {
|
||||
enable = true;
|
||||
|
|
@ -115,7 +116,19 @@
|
|||
|
||||
security.rtkit.enable = true; # Needed for pipewire to acquire realtime priority
|
||||
|
||||
users = {
|
||||
users.greeter = {
|
||||
isSystemUser = true;
|
||||
group = "greeter";
|
||||
};
|
||||
groups.greeter = { };
|
||||
};
|
||||
|
||||
programs = {
|
||||
kdeconnect = {
|
||||
enable = true;
|
||||
package = pkgs.valent;
|
||||
};
|
||||
dconf.enable = true;
|
||||
appimage = {
|
||||
enable = true;
|
||||
|
|
@ -134,6 +147,14 @@
|
|||
roboto
|
||||
];
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
config.common.default = "*";
|
||||
};
|
||||
};
|
||||
|
||||
homeManager.desktop =
|
||||
|
|
@ -152,6 +173,11 @@
|
|||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [ xwayland-satellite ];
|
||||
sessionVariables.TERMINAL = "ghostty";
|
||||
};
|
||||
|
||||
services.vicinae = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
|
|
@ -160,6 +186,29 @@
|
|||
};
|
||||
};
|
||||
|
||||
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 = {
|
||||
enable = true;
|
||||
userDirs.enable = true;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
"org.freedesktop.Platform.VulkanLayer.MangoHud/x86_64/25.08"
|
||||
rec {
|
||||
appId = "com.hypixel.HytaleLauncher";
|
||||
sha256 = "uu7FA36M4wSqDXRF1fFNla8S5MjL1N1kZi4gwbpw1oY=";
|
||||
sha256 = "MSCzfcucPbAlSXZSwX4MOJjetiRW5bLihxvQ0QKQtBI=";
|
||||
bundle = "${pkgs.fetchurl {
|
||||
url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak";
|
||||
inherit sha256;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,8 @@ in
|
|||
gaming
|
||||
|
||||
# other aspects
|
||||
kde
|
||||
stylix
|
||||
niri
|
||||
];
|
||||
};
|
||||
"user@io" = mkHomeConfiguration {
|
||||
|
|
@ -45,7 +46,8 @@ in
|
|||
desktop
|
||||
|
||||
# other aspects
|
||||
kde
|
||||
stylix
|
||||
niri
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
183
flake.lock
generated
183
flake.lock
generated
|
|
@ -177,11 +177,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773889306,
|
||||
"narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=",
|
||||
"lastModified": 1772699110,
|
||||
"narHash": "sha256-jkyo/9fZVB3F/PHk3fVK1ImxJBZ71DCOYZvAz4R4v4E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "5ad85c82cc52264f4beddc934ba57f3789f28347",
|
||||
"rev": "42affa9d33750ac0a0a89761644af20d8d03e6ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -266,11 +266,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -384,11 +384,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774561634,
|
||||
"narHash": "sha256-3q1xsREjqdVIIwQQDZQ9y0YdBzP8gAxdwKoKnZSzJtU=",
|
||||
"lastModified": 1772845525,
|
||||
"narHash": "sha256-Dp5Ir2u4jJDGCgeMRviHvEQDe+U37hMxp6RSNOoMMPc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7c046c63ac3b467c1d589b99d531da5b6520825a",
|
||||
"rev": "27b93804fbef1544cb07718d3f0a451f4c4cd6c0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -427,11 +427,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773422513,
|
||||
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
|
||||
"lastModified": 1772330611,
|
||||
"narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
|
||||
"rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -461,11 +461,11 @@
|
|||
},
|
||||
"import-tree": {
|
||||
"locked": {
|
||||
"lastModified": 1773693634,
|
||||
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
|
||||
"lastModified": 1772344373,
|
||||
"narHash": "sha256-OQQ1MhB9t1J71b2wxRRTdH/Qd8UGG0p+dGspfCf5U1c=",
|
||||
"owner": "vic",
|
||||
"repo": "import-tree",
|
||||
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
|
||||
"rev": "10fda59eee7d7970ec443b925f32a1bc7526648c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -499,11 +499,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774551325,
|
||||
"narHash": "sha256-Q2dh3zBu3oixlEWAbtXGL44O6jtEP/Tog0P44qu0RJY=",
|
||||
"lastModified": 1772806698,
|
||||
"narHash": "sha256-hc6NZ0UlY5V1hHlrsCG+fJClReMJQCqW4SJ3Kq1SVK8=",
|
||||
"owner": "numtide",
|
||||
"repo": "llm-agents.nix",
|
||||
"rev": "8348bf988abbbafa5f105f819a6153f1dbe22a2e",
|
||||
"rev": "a90b7a43af62a0732c7aba479fd493c777956aa0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -535,11 +535,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774156144,
|
||||
"narHash": "sha256-gdYe9wTPl4ignDyXUl1LlICWj41+S0GB5lG1fKP17+A=",
|
||||
"lastModified": 1772341813,
|
||||
"narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "55b588747fa3d7fc351a11831c4b874dab992862",
|
||||
"rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -556,11 +556,11 @@
|
|||
"optnix": "optnix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774427328,
|
||||
"narHash": "sha256-KtGThScvwNbCm+6XwUKRfpTjJVKV9SHswm29px3m4pw=",
|
||||
"lastModified": 1772655076,
|
||||
"narHash": "sha256-JRxinIHNvALYnNVuhnV2H8TU2nkDNTMaSlYbyUtvBV8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-cli",
|
||||
"rev": "23e7540706eb5271f4ab37b9e52532637d57c63b",
|
||||
"rev": "0f09d374f22f197921d1753103985357d3626fcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -571,11 +571,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1773628058,
|
||||
"narHash": "sha256-hpXH0z3K9xv0fHaje136KY872VT2T5uwxtezlAskQgY=",
|
||||
"lastModified": 1772173633,
|
||||
"narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f8573b9c935cfaa162dd62cc9e75ae2db86f85df",
|
||||
"rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -602,11 +602,11 @@
|
|||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1772328832,
|
||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||
"lastModified": 1769909678,
|
||||
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||
"rev": "72716169fe93074c333e8d0173151350670b824c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -617,11 +617,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1774388614,
|
||||
"narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=",
|
||||
"lastModified": 1772598333,
|
||||
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e",
|
||||
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -649,11 +649,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1774273680,
|
||||
"narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=",
|
||||
"lastModified": 1772736753,
|
||||
"narHash": "sha256-au/m3+EuBLoSzWUCb64a/MZq6QUtOV8oC0D9tY2scPQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed",
|
||||
"rev": "917fec990948658ef1ccd07cef2a1ef060786846",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -665,11 +665,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1772956932,
|
||||
"narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=",
|
||||
"lastModified": 1772173633,
|
||||
"narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "608d0cadfed240589a7eea422407a547ad626a14",
|
||||
"rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -681,11 +681,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1774386573,
|
||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||
"lastModified": 1772624091,
|
||||
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -729,11 +729,11 @@
|
|||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1773389992,
|
||||
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||
"lastModified": 1772198003,
|
||||
"narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
|
||||
"rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -751,11 +751,11 @@
|
|||
"noctalia-qs": "noctalia-qs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774574060,
|
||||
"narHash": "sha256-1aPBtIO74L/S4ymQ//qgWJfjknjpAlKEPULOL833wOc=",
|
||||
"lastModified": 1772845298,
|
||||
"narHash": "sha256-TfIfbElVko7AKfbT48PIdOlhqcWjBFYF5AFrm5KLHjM=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "f19a19cfc6dcf2cd73b1d9d11460cbe363b0c967",
|
||||
"rev": "b47a6e22bb5e009a3696cc383c87c67be9b08919",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -769,16 +769,14 @@
|
|||
"nixpkgs": [
|
||||
"noctalia",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_3",
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774556355,
|
||||
"narHash": "sha256-N131zILQ06ZNEvtgtjjFZ0N5qEI70rKKhCZsBcZoDH8=",
|
||||
"lastModified": 1772673824,
|
||||
"narHash": "sha256-TLHXPoELZA6VeuzC1Zpx+MnSsYzrJs+DSieMgfjAOJc=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-qs",
|
||||
"rev": "070340934ca374bc770fd500a0fd7b3210f06b1c",
|
||||
"rev": "f8531192cd09b9ea2e78d18e9cfc9d3dba498690",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -869,7 +867,7 @@
|
|||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nur": "nur",
|
||||
"systems": "systems_4",
|
||||
"systems": "systems_3",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
|
|
@ -877,11 +875,11 @@
|
|||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774124764,
|
||||
"narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=",
|
||||
"lastModified": 1772296853,
|
||||
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "e31c79f571c5595a155f84b9d77ce53a84745494",
|
||||
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -922,16 +920,16 @@
|
|||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
|
@ -965,35 +963,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"terranix": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_5",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773700838,
|
||||
"narHash": "sha256-6KFxpxyXjcqhOexc7ZeaXVWdDtGb6zO8HtjBEci9DfU=",
|
||||
"lastModified": 1772491825,
|
||||
"narHash": "sha256-XD65bXPDbl1BVryeapZAbzi+GNKj3nUTRYhe64MdaEY=",
|
||||
"owner": "terranix",
|
||||
"repo": "terranix",
|
||||
"rev": "306ce146bf0324dc3b3c45c095036b6f0e26bf35",
|
||||
"rev": "39fce702d8f2e4b076ba8e83ef93bd29db560dd5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1090,28 +1073,6 @@
|
|||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773297127,
|
||||
"narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"noctalia",
|
||||
"noctalia-qs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772660329,
|
||||
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
|
||||
|
|
@ -1129,14 +1090,14 @@
|
|||
"vicinae": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774444959,
|
||||
"narHash": "sha256-QsfXRSRyptJ91/rXobWpmZRC/TBT69Stmok1sXqDpa0=",
|
||||
"lastModified": 1772722036,
|
||||
"narHash": "sha256-jwEFqCHrNMiguDLgoUJnc48Kd/hz4rmSiVC3r9NKBIo=",
|
||||
"owner": "vicinaehq",
|
||||
"repo": "vicinae",
|
||||
"rev": "5f7d3d62bb2c38181e0289fa0e3b43dfec206bfd",
|
||||
"rev": "ca1067afd8c1a3707f1aaf6eb64e980539945b43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1151,11 +1112,11 @@
|
|||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774478219,
|
||||
"narHash": "sha256-WyPQoYBde7TSCR45ZgofzBqvVo/MpH3Vkh8YMj9OZC0=",
|
||||
"lastModified": 1772772172,
|
||||
"narHash": "sha256-OCEb6jXTvhnMTMqMLleYChekDO/zh+VtunBAS0WevPM=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "2e49c5278af6ef5f1e17e0fd27c2e22b1a7edc38",
|
||||
"rev": "5f8f34c0dd56808ecbfa35697353c455e4a416b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
32
packages/niri-auto-centre.nix
Normal file
32
packages/niri-auto-centre.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
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