Compare commits
6 Commits
03bc10d603
...
05f36f27cb
| Author | SHA1 | Date |
|---|---|---|
|
|
05f36f27cb | |
|
|
38f8b9428b | |
|
|
0bd723f281 | |
|
|
feca4dbd3f | |
|
|
d2aebddc26 | |
|
|
1b3613326f |
|
|
@ -3,9 +3,38 @@
|
|||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.file."${config.xdg.configHome}/mpv" = {
|
||||
source = ./files;
|
||||
recursive = true;
|
||||
home.file."${config.xdg.configHome}/mpv/scripts".source = ./files/scripts;
|
||||
home.file."${config.xdg.configHome}/mpv/fonts".source = ./files/fonts;
|
||||
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
osc = false;
|
||||
save-position-on-quit = true;
|
||||
sub-auto = "fuzzy";
|
||||
sub-font-size = 46;
|
||||
profile = "gpu-hq";
|
||||
scale = "ewa_lanczossharp";
|
||||
cscale = "ewa_lanczossharp";
|
||||
video-sync = "display-resample";
|
||||
interpolation = true;
|
||||
tscale = "oversample";
|
||||
vo = "gpu";
|
||||
hwdec = "auto";
|
||||
force-window = true;
|
||||
keep-open = true;
|
||||
};
|
||||
bindings = {
|
||||
"Ctrl+Shift+r" = "add sub-scale +0.05";
|
||||
"Ctrl+r" = "add sub-scale -0.05";
|
||||
"Ctrl+Alt+r" = "set sub-scale 1";
|
||||
};
|
||||
profiles.Idle = {
|
||||
profile-cond = ''p["idle-active"]'';
|
||||
profile-restore = "copy-equal";
|
||||
title = "' '";
|
||||
keepaspect = false;
|
||||
background = "none";
|
||||
};
|
||||
};
|
||||
programs.mpv = {enable = true;};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
osc=no
|
||||
save-position-on-quit=yes
|
||||
sub-auto=fuzzy
|
||||
profile=gpu-hq
|
||||
scale=ewa_lanczossharp
|
||||
cscale=ewa_lanczossharp
|
||||
video-sync=display-resample
|
||||
interpolation
|
||||
tscale=oversample
|
||||
vo=gpu
|
||||
hwdec=auto
|
||||
force-window=yes
|
||||
keep-open=yes
|
||||
|
||||
[Idle]
|
||||
profile-cond=p["idle-active"]
|
||||
profile-restore=copy-equal
|
||||
title=' '
|
||||
keepaspect=no
|
||||
background=none
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
{pkgs, scale ? null, ...}: let
|
||||
{
|
||||
pkgs,
|
||||
scale ? null,
|
||||
...
|
||||
}: let
|
||||
terminal = "${pkgs.foot}/bin/footclient";
|
||||
nautilus = "${pkgs.nautilus}/bin/nautilus";
|
||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||
|
|
@ -53,6 +57,9 @@
|
|||
in {
|
||||
# Since native Home Manager doesn't have a programs.niri module yet,
|
||||
# we generate the KDL configuration file directly.
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
];
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -85,140 +92,144 @@ in {
|
|||
};
|
||||
|
||||
xdg.configFile."niri/config.kdl".text = ''
|
||||
spawn-at-startup "${pkgs.swaybg}/bin/swaybg" "-i" "${../hyprland/files/wallpaper.png}" "-m" "fill"
|
||||
spawn-at-startup "foot" "--server"
|
||||
spawn-at-startup "ags" "run"
|
||||
spawn-at-startup "${pkgs.mate-polkit}/bin/polkit-mate"
|
||||
prefer-no-csd
|
||||
spawn-at-startup "${pkgs.swaybg}/bin/swaybg" "-i" "${../hyprland/files/wallpaper.png}" "-m" "fill"
|
||||
spawn-at-startup "foot" "--server"
|
||||
spawn-at-startup "ags" "run"
|
||||
spawn-at-startup "${pkgs.mate-polkit}/bin/polkit-mate"
|
||||
prefer-no-csd
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
layout {
|
||||
gaps 5
|
||||
border {
|
||||
off
|
||||
}
|
||||
focus-ring {
|
||||
width 4
|
||||
active-color "rgba(0, 47, 95, 238)"
|
||||
inactive-color "rgba(255, 255, 255, 0)"
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
mouse {
|
||||
accel-speed 0.5
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
}
|
||||
keyboard {
|
||||
xkb {
|
||||
options "compose:rctrl"
|
||||
gestures {
|
||||
hot-corners {
|
||||
off
|
||||
}
|
||||
}
|
||||
focus-follows-mouse max-scroll-amount="10%"
|
||||
warp-mouse-to-focus
|
||||
}
|
||||
${if scale != null then ''
|
||||
output "eDP-1" {
|
||||
scale ${toString scale}
|
||||
}
|
||||
'' else ""} window-rule {
|
||||
match app-id="vicinae"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
binds {
|
||||
// General Binds
|
||||
Mod+Return { spawn "sh" "-c" "${launch_terminal}/bin/launch_terminal $(niri msg --json focused-window | ${pkgs.jq}/bin/jq .pid)"; }
|
||||
Mod+Shift+Return { spawn "${terminal}"; }
|
||||
Mod+Q { close-window; }
|
||||
Mod+A { spawn "${nautilus}"; }
|
||||
Mod+B { spawn "Helium"; }
|
||||
Mod+M { maximize-column; }
|
||||
Mod+F {maximize-window-to-edges;}
|
||||
Mod+Tab { toggle-overview; }
|
||||
|
||||
// Vicinae Binds
|
||||
Mod+C { spawn "vicinae" "vicinae://extensions/vicinae/clipboard/history"; }
|
||||
Mod+N { spawn "vicinae" "vicinae://extensions/vicinae/wm/switch-windows"; }
|
||||
Mod+Escape { spawn "vicinae" "open" "-q" "Power Management "; }
|
||||
Mod+Space { spawn "vicinae" "toggle"; }
|
||||
layout {
|
||||
gaps 5
|
||||
border {
|
||||
off
|
||||
}
|
||||
focus-ring {
|
||||
width 4
|
||||
active-color "rgba(0, 47, 95, 238)"
|
||||
inactive-color "rgba(255, 255, 255, 0)"
|
||||
}
|
||||
}
|
||||
|
||||
Mod+Comma { consume-or-expel-window-left; }
|
||||
Mod+Period { consume-or-expel-window-right; }
|
||||
input {
|
||||
mouse {
|
||||
accel-speed 0.5
|
||||
}
|
||||
touchpad {
|
||||
tap
|
||||
}
|
||||
keyboard {
|
||||
xkb {
|
||||
options "compose:rctrl"
|
||||
}
|
||||
}
|
||||
focus-follows-mouse max-scroll-amount="10%"
|
||||
warp-mouse-to-focus
|
||||
}
|
||||
${
|
||||
if scale != null
|
||||
then ''
|
||||
output "eDP-1" {
|
||||
scale ${toString scale}
|
||||
}
|
||||
''
|
||||
else ""
|
||||
} window-rule {
|
||||
match app-id="vicinae"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
Mod+Alt+H { set-column-width "-5%"; }
|
||||
Mod+Alt+L { set-column-width "+5%"; }
|
||||
Mod+Alt+K { set-window-height "-5%"; }
|
||||
Mod+Alt+J { set-window-height "+5%"; }
|
||||
binds {
|
||||
// General Binds
|
||||
Mod+Return { spawn "sh" "-c" "${launch_terminal}/bin/launch_terminal $(niri msg --json focused-window | ${pkgs.jq}/bin/jq .pid)"; }
|
||||
Mod+Shift+Return { spawn "${terminal}"; }
|
||||
Mod+Q { close-window; }
|
||||
Mod+A { spawn "${nautilus}"; }
|
||||
Mod+B { spawn "Helium"; }
|
||||
Mod+M { maximize-column; }
|
||||
Mod+F {maximize-window-to-edges;}
|
||||
Mod+Tab { toggle-overview; }
|
||||
|
||||
// Movement
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
// Vicinae Binds
|
||||
Mod+C { spawn "vicinae" "vicinae://launch/clipboard/history"; }
|
||||
Mod+N { spawn "vicinae" "vicinae://launch/wm/switch-windows"; }
|
||||
Mod+Escape { spawn "vicinae" "open" "-q" "Power Management "; }
|
||||
Mod+Space { spawn "vicinae" "toggle"; }
|
||||
|
||||
Mod+Shift+H { move-column-left; }
|
||||
Mod+Shift+L { move-column-right; }
|
||||
Mod+Shift+J { move-window-down; }
|
||||
Mod+Shift+K { move-window-up; }
|
||||
Mod+Comma { consume-or-expel-window-left; }
|
||||
Mod+Period { consume-or-expel-window-right; }
|
||||
|
||||
// Workspaces
|
||||
Mod+Shift+U { move-column-to-workspace-down; }
|
||||
Mod+Shift+I { move-column-to-workspace-up; }
|
||||
Mod+Alt+H { set-column-width "-5%"; }
|
||||
Mod+Alt+L { set-column-width "+5%"; }
|
||||
Mod+Alt+K { set-window-height "-5%"; }
|
||||
Mod+Alt+J { set-window-height "+5%"; }
|
||||
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
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; }
|
||||
// Movement
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
// Move 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+H { move-column-left; }
|
||||
Mod+Shift+L { move-column-right; }
|
||||
Mod+Shift+J { move-window-down; }
|
||||
Mod+Shift+K { move-window-up; }
|
||||
|
||||
Print { screenshot; }
|
||||
Ctrl+Alt+L {spawn "${pkgs.hyprlock}/bin/hyprlock"; }
|
||||
// Workspaces
|
||||
Mod+Shift+U { move-column-to-workspace-down; }
|
||||
Mod+Shift+I { move-column-to-workspace-up; }
|
||||
|
||||
XF86MonBrightnessUp { spawn "${brightnessctl}" "set" "+10%"; }
|
||||
XF86MonBrightnessDown { spawn "${brightnessctl}" "set" "10%-"; }
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
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; }
|
||||
|
||||
// Volume
|
||||
XF86AudioRaiseVolume { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "10%+" "--limit" "1.0"; }
|
||||
XF86AudioLowerVolume { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "10%-"; }
|
||||
XF86AudioMute { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||
XF86AudioMicMute { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||
// Move 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; }
|
||||
|
||||
// Media
|
||||
XF86AudioNext { spawn "${playerctl}" "next"; }
|
||||
XF86AudioPrev { spawn "${playerctl}" "previous"; }
|
||||
Mod+XF86AudioMute { spawn "${playerctl}" "play-pause"; }
|
||||
Mod+XF86AudioRaiseVolume { spawn "${playerctl}" "next"; }
|
||||
Mod+XF86AudioLowerVolume { spawn "${playerctl}" "previous"; }
|
||||
}
|
||||
Print { screenshot; }
|
||||
Ctrl+Alt+L {spawn "${pkgs.hyprlock}/bin/hyprlock"; }
|
||||
|
||||
XF86MonBrightnessUp { spawn "${brightnessctl}" "set" "+10%"; }
|
||||
XF86MonBrightnessDown { spawn "${brightnessctl}" "set" "10%-"; }
|
||||
|
||||
// Volume
|
||||
XF86AudioRaiseVolume { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "10%+" "--limit" "1.0"; }
|
||||
XF86AudioLowerVolume { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "10%-"; }
|
||||
XF86AudioMute { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||
XF86AudioMicMute { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||
|
||||
// Media
|
||||
XF86AudioNext { spawn "${playerctl}" "next"; }
|
||||
XF86AudioPrev { spawn "${playerctl}" "previous"; }
|
||||
Mod+XF86AudioMute { spawn "${playerctl}" "play-pause"; }
|
||||
Mod+XF86AudioRaiseVolume { spawn "${playerctl}" "next"; }
|
||||
Mod+XF86AudioLowerVolume { spawn "${playerctl}" "previous"; }
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,5 +5,27 @@
|
|||
enable = true;
|
||||
autoStart = true;
|
||||
};
|
||||
settings = {
|
||||
font = {
|
||||
normal = {
|
||||
family = "Ubuntu Nerd Font";
|
||||
size = 8;
|
||||
};
|
||||
};
|
||||
theme = {
|
||||
dark = {
|
||||
name = "ayu-dark";
|
||||
};
|
||||
};
|
||||
launcher_window = {
|
||||
opacity = 0.95;
|
||||
client_side_decorations = {
|
||||
enabled = true;
|
||||
border_width = 0;
|
||||
rounding = 10;
|
||||
shadow_size = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,10 @@
|
|||
source ${./files/keys.zsh}
|
||||
eval "$(direnv hook zsh)"
|
||||
export LD_LIBRARY_PATH=${pkgs.sqlite.out}/lib:$LD_LIBRARY_PATH
|
||||
# Fix zsh-vi-mode bracketed paste: the trailing ~ of \e[201~ leaks
|
||||
# into vicmd and toggles case of the last pasted character.
|
||||
bindkey -M viins '^[[200~' .bracketed-paste
|
||||
bindkey -M vicmd '^[[200~' .bracketed-paste
|
||||
}
|
||||
function o() {
|
||||
${pkgs.handlr-regex}/bin/handlr open $@ < /dev/null &> /dev/null & disown
|
||||
|
|
|
|||
|
|
@ -89,8 +89,8 @@
|
|||
# xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||
# vim_shell # vim shell indicator (:sh)
|
||||
# midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||
vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
||||
# nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
||||
# vpn_ip # virtual private network indicator
|
||||
# load # CPU load
|
||||
# disk_usage # disk usage
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ in {
|
|||
peers = [
|
||||
{
|
||||
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
|
||||
allowedIPs = ["0.0.0.0/0" "::/0"];
|
||||
allowedIPs = ["0.0.0.0/0"];
|
||||
endpoint = "external.thomasave.be:13231";
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
|
|
@ -138,7 +138,7 @@ in {
|
|||
address = ["10.0.0.5/24"];
|
||||
privateKeyFile = "/home/user/.secrets/Wireguard/Aloria.key";
|
||||
listenPort = 51820;
|
||||
autostart = true;
|
||||
autostart = false;
|
||||
postUp = "resolvectl dns OPNsense 10.0.0.1; resolvectl domain OPNsense ~thomasave.be;";
|
||||
dns = ["10.0.0.1"];
|
||||
peers = [
|
||||
|
|
@ -162,6 +162,7 @@ in {
|
|||
enable = true;
|
||||
extraUpFlags = [
|
||||
"--login-server=https://headscale.thomasave.be"
|
||||
"--accept-routes"
|
||||
];
|
||||
authKeyFile = "/home/user/.secrets/Tailscale/Aloria/authkey";
|
||||
};
|
||||
|
|
@ -177,5 +178,22 @@ in {
|
|||
"net.ipv6.conf.all.disable_ipv6" = 1;
|
||||
"net.ipv6.conf.default.disable_ipv6" = 1;
|
||||
"net.ipv6.conf.lo.disable_ipv6" = 1;
|
||||
"net.ipv4.ip_forward" = 1;
|
||||
"net.ipv4.conf.all.forwarding" = 1;
|
||||
};
|
||||
|
||||
systemd.services.tailscale-ethtool-tweaks = {
|
||||
description = "Apply ethtool tweaks for Tailscale subnet routing performance";
|
||||
wantedBy = ["multi-user.target"];
|
||||
after = ["network-online.target"];
|
||||
wants = ["network-online.target"];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = pkgs.writeShellScript "tailscale-ethtool-tweaks" ''
|
||||
NETDEV=$(${pkgs.iproute2}/bin/ip -o route get 1.1.1.1 | ${pkgs.coreutils}/bin/cut -f 5 -d " ")
|
||||
${pkgs.ethtool}/bin/ethtool -K "$NETDEV" rx-udp-gro-forwarding on rx-gro-list off
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue