Compare commits
8 commits
4f944b2f9c
...
c214e2c40b
Author | SHA1 | Date | |
---|---|---|---|
c214e2c40b | |||
56feb3e570 | |||
75c0ca9805 | |||
14bf6d7ef6 | |||
f62569d5d6 | |||
caf4fab8f4 | |||
64db2313b0 | |||
bc2ebd6c82 |
8 changed files with 105 additions and 21 deletions
|
@ -15,10 +15,6 @@
|
||||||
programs = {
|
programs = {
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
hyfetch.enable = true;
|
hyfetch.enable = true;
|
||||||
yazi = {
|
|
||||||
enable = true;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# miscellaneous programs that do not need to be configured
|
# miscellaneous programs that do not need to be configured
|
||||||
|
|
|
@ -8,14 +8,19 @@
|
||||||
terminal = "foot";
|
terminal = "foot";
|
||||||
browser = "firefox";
|
browser = "firefox";
|
||||||
prefix = "Alt";
|
prefix = "Alt";
|
||||||
|
guiFileManager = "nautilus";
|
||||||
|
cliFileManager = "yazi";
|
||||||
in {
|
in {
|
||||||
programs.niri.settings.binds = {
|
programs.niri.settings.binds = {
|
||||||
"${prefix}+D".action.spawn = appLauncher;
|
"${prefix}+D".action.spawn = appLauncher;
|
||||||
"${prefix}+Return".action.spawn = terminal;
|
"${prefix}+Return".action.spawn = terminal;
|
||||||
"${prefix}+W".action.spawn = browser;
|
"${prefix}+W".action.spawn = browser;
|
||||||
"${prefix}+Shift+E".action.quit.skip-confirmation = true;
|
"${prefix}+E".action.spawn = guiFileManager;
|
||||||
|
"${prefix}+Shift+E".action.spawn = [terminal "-e" cliFileManager];
|
||||||
|
|
||||||
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
||||||
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
||||||
|
"${prefix}+Shift+Q".action.quit.skip-confirmation = true;
|
||||||
"${prefix}+F".action = config.lib.niri.actions.maximize-column;
|
"${prefix}+F".action = config.lib.niri.actions.maximize-column;
|
||||||
"${prefix}+Shift+F".action = config.lib.niri.actions.fullscreen-window;
|
"${prefix}+Shift+F".action = config.lib.niri.actions.fullscreen-window;
|
||||||
"${prefix}+C".action = config.lib.niri.actions.center-column;
|
"${prefix}+C".action = config.lib.niri.actions.center-column;
|
||||||
|
@ -157,5 +162,7 @@ in {
|
||||||
"XF86AudioMedia" = {
|
"XF86AudioMedia" = {
|
||||||
action.spawn = ["sh" "-c" "env XDG_CURRENT_DESKTOP=gnome gnome-control-center"];
|
action.spawn = ["sh" "-c" "env XDG_CURRENT_DESKTOP=gnome gnome-control-center"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"XF86PowerOff".action.spawn = "wlogout";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,13 @@ in {
|
||||||
|
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
settings = {
|
settings = {
|
||||||
input.keyboard.xkb = {
|
input = {
|
||||||
|
power-key-handling.enable = false;
|
||||||
|
keyboard.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
options = "compose:ralt";
|
options = "compose:ralt";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
hotkey-overlay.skip-at-startup = true;
|
hotkey-overlay.skip-at-startup = true;
|
||||||
|
@ -117,4 +120,64 @@ in {
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.wlogout = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
layout = let
|
||||||
|
systemd = let
|
||||||
|
systemd = lib.getExe' pkgs.systemd;
|
||||||
|
in {
|
||||||
|
loginctl = systemd "loginctl";
|
||||||
|
systemctl = systemd "systemctl";
|
||||||
|
};
|
||||||
|
in [
|
||||||
|
{
|
||||||
|
action = "${systemd.loginctl} lock-session";
|
||||||
|
keybind = "l";
|
||||||
|
label = "lock";
|
||||||
|
text = "Lock";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} hibernate";
|
||||||
|
keybind = "h";
|
||||||
|
label = "hibernate";
|
||||||
|
text = "Hibernate";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${
|
||||||
|
systemd.loginctl
|
||||||
|
} terminate-user ${
|
||||||
|
config.home.username
|
||||||
|
}";
|
||||||
|
|
||||||
|
keybind = "q";
|
||||||
|
label = "logout";
|
||||||
|
text = "Logout";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} poweroff";
|
||||||
|
keybind = "p";
|
||||||
|
label = "shutdown";
|
||||||
|
text = "Shutdown";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} suspend";
|
||||||
|
keybind = "s";
|
||||||
|
label = "suspend";
|
||||||
|
text = "Suspend";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} reboot";
|
||||||
|
keybind = "r";
|
||||||
|
label = "reboot";
|
||||||
|
text = "Reboot";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
./gnupg.nix
|
./gnupg.nix
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
./zellij.nix
|
|
||||||
./nix-index.nix
|
./nix-index.nix
|
||||||
|
./yazi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
26
home/terminal/programs/yazi.nix
Normal file
26
home/terminal/programs/yazi.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.yazi = let
|
||||||
|
# https://github.com/iynaix/dotfiles/blob/8bb1568019ea26f034ac1af9c499b3ff102391a5/home-manager/shell/yazi.nix#L9-L11
|
||||||
|
mkYaziPlugin = name: text: {
|
||||||
|
"${name}" = toString (pkgs.writeTextDir "${name}.yazi/init.lua" text) + "/${name}.yazi";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
plugins = mkYaziPlugin "smart-enter" ''
|
||||||
|
return {
|
||||||
|
entry = function()
|
||||||
|
local h = cx.active.current.hovered
|
||||||
|
ya.manager_emit(h and h.cha.is_dir and "enter" or "open", { hovered = true })
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
keymap.manager.prepend_keymap = [
|
||||||
|
{
|
||||||
|
on = "l";
|
||||||
|
run = "plugin --sync smart-enter";
|
||||||
|
desc = "Enter the child directory, or open the file";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
programs.zellij = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
pane_frames = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,5 +1,9 @@
|
||||||
{
|
{
|
||||||
services.logind = {
|
services.logind = {
|
||||||
lidSwitch = "suspend";
|
lidSwitch = "suspend";
|
||||||
|
extraConfig = ''
|
||||||
|
HandlePowerKey=ignore
|
||||||
|
HandlePowerKeyLongPress=poweroff
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
logind.extraConfig = ''
|
|
||||||
HandlePowerKey=suspend
|
|
||||||
'';
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
# battery info
|
# battery info
|
||||||
|
|
Loading…
Reference in a new issue