workstation perf tweaks
This commit is contained in:
parent
349cdd047d
commit
e70c974289
5 changed files with 325 additions and 288 deletions
|
|
@ -39,8 +39,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-substituters = [ "https://niri.cachix.org" ];
|
extra-substituters = ["https://niri.cachix.org"];
|
||||||
extra-trusted-public-keys = [ "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" ];
|
extra-trusted-public-keys = ["niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="];
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ in {
|
||||||
package = pkgs.niri-unstable;
|
package = pkgs.niri-unstable;
|
||||||
settings = {
|
settings = {
|
||||||
window-rules = [
|
window-rules = [
|
||||||
{ draw-border-with-background = false; }
|
{draw-border-with-background = false;}
|
||||||
];
|
];
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
xwayland-satellite = {
|
xwayland-satellite = {
|
||||||
|
|
@ -97,7 +97,7 @@ in {
|
||||||
path = lib.getExe pkgs.xwayland-satellite-unstable;
|
path = lib.getExe pkgs.xwayland-satellite-unstable;
|
||||||
};
|
};
|
||||||
spawn-at-startup = [
|
spawn-at-startup = [
|
||||||
{ argv = ["noctalia-shell"]; }
|
{argv = ["noctalia-shell"];}
|
||||||
];
|
];
|
||||||
clipboard.disable-primary = true;
|
clipboard.disable-primary = true;
|
||||||
input = {
|
input = {
|
||||||
|
|
@ -107,129 +107,138 @@ in {
|
||||||
natural-scroll = false;
|
natural-scroll = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
binds = {
|
binds =
|
||||||
"Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot";
|
{
|
||||||
"Mod+q".action = config.lib.niri.actions.close-window;
|
"Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot";
|
||||||
# "$mod, F, fullscreen, 0"
|
"Mod+q".action = config.lib.niri.actions.close-window;
|
||||||
# "$mod SHIFT, F, fullscreen, 1"
|
# "$mod, F, fullscreen, 0"
|
||||||
# "$mod, Space, togglefloating"
|
# "$mod SHIFT, F, fullscreen, 1"
|
||||||
# "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
|
# "$mod, Space, togglefloating"
|
||||||
"Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
# "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
|
||||||
|
"Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
||||||
|
|
||||||
"Print".action.spawn-sh = "grim - | satty -f -";
|
"Print".action.spawn-sh = "grim - | satty -f -";
|
||||||
|
|
||||||
"Mod+c".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "clipboard"];
|
"Mod+c".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "clipboard"];
|
||||||
|
|
||||||
"Mod+Minus".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
"Mod+Minus".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
||||||
"Mod+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
"Mod+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
||||||
"XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
"XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
|
||||||
"XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
"XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
|
||||||
|
|
||||||
"XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"];
|
"XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"];
|
||||||
"XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"];
|
"XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"];
|
||||||
|
|
||||||
"XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
"XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
||||||
"XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
"XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
||||||
"Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
"Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
||||||
"Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
"Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
||||||
|
|
||||||
# Previous/next but change the shuffle/random state before action (and change back afterwards)
|
# Previous/next but change the shuffle/random state before action (and change back afterwards)
|
||||||
"Mod+Shift+Bracketright".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
"Mod+Shift+Bracketright".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||||
"Mod+Shift+bracketleft".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
"Mod+Shift+bracketleft".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||||
"Shift+XF86AudioNext".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
"Shift+XF86AudioNext".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||||
"Shift+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
"Shift+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
|
||||||
|
|
||||||
# Previous/next
|
# Previous/next
|
||||||
"Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
"Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
||||||
"Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
"Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
||||||
"XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
"XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
|
||||||
"XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
"XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
|
||||||
|
|
||||||
# Seek forward/back
|
# Seek forward/back
|
||||||
"Mod+Control+bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
"Mod+Control+bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
||||||
"Mod+Control+bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
"Mod+Control+bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
||||||
"Control+XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
"Control+XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
|
||||||
"Control+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
"Control+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
|
||||||
|
|
||||||
# Toggle play/pause
|
# Toggle play/pause
|
||||||
"XF86AudioPlay".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
"XF86AudioPlay".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||||
"XF86AudioPause".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
"XF86AudioPause".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||||
"Mod+Backslash".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
"Mod+Backslash".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
|
||||||
|
|
||||||
"Control+Alt+l".action.spawn = ["noctalia-shell" "ipc" "call" "lockScreen" "lock"];
|
"Control+Alt+l".action.spawn = ["noctalia-shell" "ipc" "call" "lockScreen" "lock"];
|
||||||
|
|
||||||
"Mod+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
"Mod+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
||||||
|
|
||||||
"Mod+Left".action = config.lib.niri.actions.focus-column-left;
|
"Mod+Left".action = config.lib.niri.actions.focus-column-left;
|
||||||
"Mod+Right".action = config.lib.niri.actions.focus-column-right;
|
"Mod+Right".action = config.lib.niri.actions.focus-column-right;
|
||||||
|
|
||||||
# "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left;
|
# "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left;
|
||||||
# "Mod+Shift+Right".action = config.lib.niri.actions.move-column-right;
|
# "Mod+Shift+Right".action = config.lib.niri.actions.move-column-right;
|
||||||
"Mod+Shift+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
"Mod+Shift+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
||||||
"Mod+Shift+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
"Mod+Shift+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
||||||
|
|
||||||
"Mod+Down".action = config.lib.niri.actions.focus-window-or-workspace-down;
|
"Mod+Down".action = config.lib.niri.actions.focus-window-or-workspace-down;
|
||||||
"Mod+Up".action = config.lib.niri.actions.focus-window-or-workspace-up;
|
"Mod+Up".action = config.lib.niri.actions.focus-window-or-workspace-up;
|
||||||
|
|
||||||
"Mod+Shift+Down".action = config.lib.niri.actions.move-window-down-or-to-workspace-down;
|
"Mod+Shift+Down".action = config.lib.niri.actions.move-window-down-or-to-workspace-down;
|
||||||
"Mod+Shift+Up".action = config.lib.niri.actions.move-window-up-or-to-workspace-up;
|
"Mod+Shift+Up".action = config.lib.niri.actions.move-window-up-or-to-workspace-up;
|
||||||
|
|
||||||
# "Mod+Control+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
# "Mod+Control+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
|
||||||
# "Mod+Control+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
# "Mod+Control+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
|
||||||
|
|
||||||
"Mod+Space".action = config.lib.niri.actions.toggle-window-floating;
|
"Mod+Space".action = config.lib.niri.actions.toggle-window-floating;
|
||||||
|
|
||||||
"Mod+F".action = config.lib.niri.actions.fullscreen-window;
|
"Mod+F".action = config.lib.niri.actions.fullscreen-window;
|
||||||
|
|
||||||
"Mod+M".action = config.lib.niri.actions.maximize-column;
|
"Mod+M".action = config.lib.niri.actions.maximize-column;
|
||||||
|
|
||||||
"Mod+O".action = config.lib.niri.actions.toggle-overview;
|
"Mod+O".action = config.lib.niri.actions.toggle-overview;
|
||||||
|
|
||||||
# "$mod, left, hy3:movefocus, l"
|
# "$mod, left, hy3:movefocus, l"
|
||||||
# "$mod, right, hy3:movefocus, r"
|
# "$mod, right, hy3:movefocus, r"
|
||||||
# "$mod, up, hy3:movefocus, u"
|
# "$mod, up, hy3:movefocus, u"
|
||||||
# "$mod, down, hy3:movefocus, d"
|
# "$mod, down, hy3:movefocus, d"
|
||||||
# "$mod, h, hy3:movefocus, l"
|
# "$mod, h, hy3:movefocus, l"
|
||||||
# "$mod, j, hy3:movefocus, d"
|
# "$mod, j, hy3:movefocus, d"
|
||||||
# "$mod, k, hy3:movefocus, u"
|
# "$mod, k, hy3:movefocus, u"
|
||||||
# "$mod, l, hy3:movefocus, r"
|
# "$mod, l, hy3:movefocus, r"
|
||||||
|
|
||||||
# "$mod SHIFT, left, hy3:movewindow, l"
|
# "$mod SHIFT, left, hy3:movewindow, l"
|
||||||
# "$mod SHIFT, right, hy3:movewindow, r"
|
# "$mod SHIFT, right, hy3:movewindow, r"
|
||||||
# "$mod SHIFT, up, hy3:movewindow, u"
|
# "$mod SHIFT, up, hy3:movewindow, u"
|
||||||
# "$mod SHIFT, down, hy3:movewindow, d"
|
# "$mod SHIFT, down, hy3:movewindow, d"
|
||||||
# "$mod SHIFT, h, hy3:movewindow, l"
|
# "$mod SHIFT, h, hy3:movewindow, l"
|
||||||
# "$mod SHIFT, j, hy3:movewindow, d"
|
# "$mod SHIFT, j, hy3:movewindow, d"
|
||||||
# "$mod SHIFT, k, hy3:movewindow, u"
|
# "$mod SHIFT, k, hy3:movewindow, u"
|
||||||
# "$mod SHIFT, l, hy3:movewindow, r"
|
# "$mod SHIFT, l, hy3:movewindow, r"
|
||||||
|
|
||||||
# "$mod CTRL, left, resizeactive, -80 0"
|
# "$mod CTRL, left, resizeactive, -80 0"
|
||||||
# "$mod CTRL, right, resizeactive, 80 0"
|
# "$mod CTRL, right, resizeactive, 80 0"
|
||||||
# "$mod CTRL, up, resizeactive, 0 -80"
|
# "$mod CTRL, up, resizeactive, 0 -80"
|
||||||
# "$mod CTRL, down, resizeactive, 0 80"
|
# "$mod CTRL, down, resizeactive, 0 80"
|
||||||
# "$mod CTRL, h, resizeactive, -80 0"
|
# "$mod CTRL, h, resizeactive, -80 0"
|
||||||
# "$mod CTRL, j, resizeactive, 0 80"
|
# "$mod CTRL, j, resizeactive, 0 80"
|
||||||
# "$mod CTRL, k, resizeactive, 0 -80"
|
# "$mod CTRL, k, resizeactive, 0 -80"
|
||||||
# "$mod CTRL, l, resizeactive, 80 0"
|
# "$mod CTRL, l, resizeactive, 80 0"
|
||||||
|
|
||||||
# "$mod, mouse_down, workspace, e-1"
|
# "$mod, mouse_down, workspace, e-1"
|
||||||
# "$mod, mouse_up, workspace, e+1"
|
# "$mod, mouse_up, workspace, e+1"
|
||||||
}
|
}
|
||||||
// (
|
// (
|
||||||
# workspaces
|
# workspaces
|
||||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||||
lib.listToAttrs (builtins.concatLists (builtins.genList (
|
lib.listToAttrs (
|
||||||
i: let
|
builtins.concatLists (builtins.genList (
|
||||||
ws = i + 1;
|
i: let
|
||||||
in [
|
ws = i + 1;
|
||||||
{ name = "Mod+${toString i}"; value = { action.focus-workspace = i; }; }
|
in [
|
||||||
{ name = "Mod+Shift+${toString i}"; value = { action.move-window-to-workspace = i; }; }
|
{
|
||||||
# "$mod, code:1${toString i}, workspace, ${toString ws}"
|
name = "Mod+${toString i}";
|
||||||
# "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
value = {action.focus-workspace = i;};
|
||||||
]
|
}
|
||||||
)
|
{
|
||||||
9)
|
name = "Mod+Shift+${toString i}";
|
||||||
));
|
value = {action.move-window-to-workspace = i;};
|
||||||
|
}
|
||||||
|
# "$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||||
|
# "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
9)
|
||||||
|
)
|
||||||
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,208 +21,207 @@ in {
|
||||||
zip
|
zip
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs =
|
||||||
home-manager.enable = true;
|
{
|
||||||
|
home-manager.enable = true;
|
||||||
|
|
||||||
zed-editor = {
|
zed-editor = {
|
||||||
extensions = [
|
extensions = [
|
||||||
"elm"
|
"elm"
|
||||||
"nix"
|
"nix"
|
||||||
];
|
];
|
||||||
extraPackages = with pkgs; [ package-version-server ];
|
extraPackages = with pkgs; [package-version-server];
|
||||||
userKeymaps = [
|
userKeymaps = [
|
||||||
{
|
{
|
||||||
context = "vim_mode == normal";
|
context = "vim_mode == normal";
|
||||||
bindings = {
|
bindings = {
|
||||||
"tab" = "pane::ActivateNextItem";
|
"tab" = "pane::ActivateNextItem";
|
||||||
"shift-tab" = "pane::ActivatePrevItem";
|
"shift-tab" = "pane::ActivatePrevItem";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
vim_mode = true;
|
||||||
|
show_whitespaces = "boundary";
|
||||||
|
soft_wrap = "editor_width";
|
||||||
|
load_direnv = "shell_hook";
|
||||||
|
telemetry = {
|
||||||
|
diagnostics = false;
|
||||||
|
metrics = false;
|
||||||
};
|
};
|
||||||
}
|
node = {
|
||||||
];
|
|
||||||
userSettings = {
|
|
||||||
vim_mode = true;
|
|
||||||
show_whitespaces = "boundary";
|
|
||||||
soft_wrap = "editor_width";
|
|
||||||
load_direnv = "shell_hook";
|
|
||||||
telemetry = {
|
|
||||||
diagnostics = false;
|
|
||||||
metrics = false;
|
|
||||||
};
|
|
||||||
node = {
|
|
||||||
path = lib.getExe pkgs.nodejs;
|
path = lib.getExe pkgs.nodejs;
|
||||||
npm_path = lib.getExe' pkgs.nodejs "npm";
|
npm_path = lib.getExe' pkgs.nodejs "npm";
|
||||||
};
|
};
|
||||||
languages.Nix.formatter.external = {
|
languages.Nix.formatter.external = {
|
||||||
command = "alejandra";
|
command = "alejandra";
|
||||||
arguments = ["--quiet" "--"];
|
arguments = ["--quiet" "--"];
|
||||||
};
|
};
|
||||||
lsp = {
|
lsp = {
|
||||||
elm-language-server.initialization_options = {
|
elm-language-server.initialization_options = {
|
||||||
"elmReviewDiagnostics" = "warning";
|
"elmReviewDiagnostics" = "warning";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
neovim = {
|
neovim = {
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
withNodeJs = true;
|
withNodeJs = true;
|
||||||
withPython3 = true;
|
withPython3 = true;
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
direnv-vim
|
direnv-vim
|
||||||
fugitive
|
fugitive
|
||||||
vim-nix
|
vim-nix
|
||||||
camelcasemotion
|
camelcasemotion
|
||||||
vim-indent-object
|
vim-indent-object
|
||||||
vim-commentary
|
vim-commentary
|
||||||
vim-surround
|
vim-surround
|
||||||
transparent-nvim
|
transparent-nvim
|
||||||
{
|
{
|
||||||
plugin = vim-airline;
|
plugin = vim-airline;
|
||||||
config = ''
|
config = ''
|
||||||
if exists('g:started_by_firenvim')
|
if exists('g:started_by_firenvim')
|
||||||
let g:airline#extensions#tabline#enabled = 0
|
let g:airline#extensions#tabline#enabled = 0
|
||||||
let g:airline_powerline_fonts = 0
|
let g:airline_powerline_fonts = 0
|
||||||
else
|
else
|
||||||
let g:airline#extensions#tabline#enabled = 1
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
let g:airline_powerline_fonts = 1
|
let g:airline_powerline_fonts = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" remove c, which contains filename, without firevim it's in the buffer, with firevim I don't want to see it, so this can always be applied
|
" remove c, which contains filename, without firevim it's in the buffer, with firevim I don't want to see it, so this can always be applied
|
||||||
let g:airline#extensions#default#layout = [
|
let g:airline#extensions#default#layout = [
|
||||||
\ [ 'a', 'b' ],
|
\ [ 'a', 'b' ],
|
||||||
\ [ 'x', 'y', 'z', 'error', 'warning' ]
|
\ [ 'x', 'y', 'z', 'error', 'warning' ]
|
||||||
\ ]
|
\ ]
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
vim-visual-multi
|
vim-visual-multi
|
||||||
{
|
{
|
||||||
plugin = fzf-vim;
|
plugin = fzf-vim;
|
||||||
config = ''
|
config = ''
|
||||||
map ; :Files<CR>
|
map ; :Files<CR>
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
firenvim
|
firenvim
|
||||||
vim-gitgutter
|
vim-gitgutter
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set hidden
|
set hidden
|
||||||
set nobackup
|
set nobackup
|
||||||
set nowritebackup
|
set nowritebackup
|
||||||
set cmdheight=2
|
set cmdheight=2
|
||||||
set updatetime=200
|
set updatetime=200
|
||||||
set shortmess+=c
|
set shortmess+=c
|
||||||
" maybe should be number?
|
" maybe should be number?
|
||||||
set signcolumn=yes
|
set signcolumn=yes
|
||||||
|
|
||||||
set clipboard+=unnamedplus
|
set clipboard+=unnamedplus
|
||||||
set mouse=a
|
set mouse=a
|
||||||
|
|
||||||
map <Tab> :bnext<CR>
|
map <Tab> :bnext<CR>
|
||||||
map <S-Tab> :bprev<CR>
|
map <S-Tab> :bprev<CR>
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
git = {
|
|
||||||
signing.key = null;
|
|
||||||
signing.signByDefault = true;
|
|
||||||
iniContent = {
|
|
||||||
gpg.format = "ssh";
|
|
||||||
gpg.ssh.defaultKeyCommand = toString (pkgs.writeShellScript "git-ssh-key" ''
|
|
||||||
echo -n 'key::'
|
|
||||||
${pkgs.openssh}/bin/ssh-add -L | ${pkgs.gnugrep}/bin/grep -v 'no-touch-required'
|
|
||||||
'');
|
|
||||||
};
|
};
|
||||||
enable = true;
|
|
||||||
lfs.enable = true;
|
|
||||||
userName = "notgne2";
|
|
||||||
userEmail = "gen2@gen2.space";
|
|
||||||
ignores = [".envrc"];
|
|
||||||
extraConfig.push.autoSetupRemote = true;
|
|
||||||
};
|
|
||||||
} // (lib.optionalAttrs (options.programs ? nixcord) {
|
|
||||||
nixcord = {
|
|
||||||
package = pkgs.vencord;
|
|
||||||
|
|
||||||
discord.enable = false;
|
git = {
|
||||||
|
signing.key = null;
|
||||||
vesktop = {
|
signing.signByDefault = true;
|
||||||
|
iniContent = {
|
||||||
|
gpg.format = "ssh";
|
||||||
|
gpg.ssh.defaultKeyCommand = toString (pkgs.writeShellScript "git-ssh-key" ''
|
||||||
|
echo -n 'key::'
|
||||||
|
${pkgs.openssh}/bin/ssh-add -L | ${pkgs.gnugrep}/bin/grep -v 'no-touch-required'
|
||||||
|
'');
|
||||||
|
};
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vesktop;
|
lfs.enable = true;
|
||||||
|
userName = "notgne2";
|
||||||
|
userEmail = "gen2@gen2.space";
|
||||||
|
ignores = [".envrc"];
|
||||||
|
extraConfig.push.autoSetupRemote = true;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// (lib.optionalAttrs (options.programs ? nixcord) {
|
||||||
|
nixcord = {
|
||||||
|
package = pkgs.vencord;
|
||||||
|
|
||||||
config = {
|
discord.enable = false;
|
||||||
transparent = true;
|
|
||||||
frameless = true;
|
|
||||||
disableMinSize = true;
|
|
||||||
# enabledThemes = [];
|
|
||||||
plugins = {
|
|
||||||
ircColors.enable = true;
|
|
||||||
whoReacted.enable = true;
|
|
||||||
alwaysTrust.enable = true;
|
|
||||||
anonymiseFileNames = {
|
|
||||||
enable = true;
|
|
||||||
anonymiseByDefault = true;
|
|
||||||
consistent = "file";
|
|
||||||
method = "consistent";
|
|
||||||
};
|
|
||||||
newGuildSettings = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
messages = "only@Mentions";
|
vesktop = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vesktop;
|
||||||
|
};
|
||||||
|
|
||||||
everyone = true;
|
config = {
|
||||||
role = true;
|
transparent = true;
|
||||||
events = true;
|
frameless = true;
|
||||||
|
disableMinSize = true;
|
||||||
|
# enabledThemes = [];
|
||||||
|
plugins = {
|
||||||
|
ircColors.enable = true;
|
||||||
|
whoReacted.enable = true;
|
||||||
|
alwaysTrust.enable = true;
|
||||||
|
anonymiseFileNames = {
|
||||||
|
enable = true;
|
||||||
|
anonymiseByDefault = true;
|
||||||
|
consistent = "file";
|
||||||
|
method = "consistent";
|
||||||
|
};
|
||||||
|
newGuildSettings = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
messages = "only@Mentions";
|
||||||
|
|
||||||
|
everyone = true;
|
||||||
|
role = true;
|
||||||
|
events = true;
|
||||||
|
};
|
||||||
|
copyEmojiMarkdown = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
fakeNitro = {
|
||||||
|
enableEmojiBypass = false;
|
||||||
|
enableStickerBypass = false;
|
||||||
|
enableStreamQualityBypass = true;
|
||||||
|
};
|
||||||
|
noPendingCount = {
|
||||||
|
enable = true;
|
||||||
|
hideFriendRequestsCount = true;
|
||||||
|
hideMessageRequestCount = true;
|
||||||
|
hidePremiumOffersCount = true;
|
||||||
|
};
|
||||||
|
platformIndicators.enable = true;
|
||||||
|
userVoiceShow.enable = true;
|
||||||
};
|
};
|
||||||
copyEmojiMarkdown = {
|
};
|
||||||
enable = true;
|
dorion = {
|
||||||
};
|
enable = false;
|
||||||
fakeNitro = {
|
package = pkgs.dorion;
|
||||||
enableEmojiBypass = false;
|
|
||||||
enableStickerBypass = false;
|
theme = "stylix";
|
||||||
enableStreamQualityBypass = true;
|
themes = ["stylix"];
|
||||||
};
|
|
||||||
noPendingCount = {
|
useNativeTitlebar = true;
|
||||||
enable = true;
|
|
||||||
hideFriendRequestsCount = true;
|
# theme = "dark";
|
||||||
hideMessageRequestCount = true;
|
# zoom = "1.1";
|
||||||
hidePremiumOffersCount = true;
|
blur = "acrylic"; # "none", "blur", or "acrylic"
|
||||||
};
|
sysTray = true;
|
||||||
platformIndicators.enable = true;
|
openOnStartup = false;
|
||||||
userVoiceShow.enable = true;
|
# autoClearCache = true;
|
||||||
|
# rpcServer = true;
|
||||||
|
rpcProcessScanner = true;
|
||||||
|
pushToTalk = true;
|
||||||
|
pushToTalkKeys = ["RControl"];
|
||||||
|
desktopNotifications = true;
|
||||||
|
unreadBadge = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dorion = {
|
});
|
||||||
enable = false;
|
|
||||||
package = pkgs.dorion;
|
|
||||||
|
|
||||||
theme = "stylix";
|
|
||||||
themes = ["stylix"];
|
|
||||||
|
|
||||||
useNativeTitlebar = true;
|
|
||||||
|
|
||||||
# theme = "dark";
|
|
||||||
# zoom = "1.1";
|
|
||||||
blur = "acrylic"; # "none", "blur", or "acrylic"
|
|
||||||
sysTray = true;
|
|
||||||
openOnStartup = false;
|
|
||||||
# autoClearCache = true;
|
|
||||||
# rpcServer = true;
|
|
||||||
rpcProcessScanner = true;
|
|
||||||
pushToTalk = true;
|
|
||||||
pushToTalkKeys = ["RControl"];
|
|
||||||
desktopNotifications = true;
|
|
||||||
unreadBadge = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
FZF_DEFAULT_COMMAND = "${pkgs.fd}/bin/fd --type f";
|
FZF_DEFAULT_COMMAND = "${pkgs.fd}/bin/fd --type f";
|
||||||
|
|
@ -232,5 +231,4 @@ in {
|
||||||
ext_tabline=false
|
ext_tabline=false
|
||||||
ext_popupmenu=false
|
ext_popupmenu=false
|
||||||
'';
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,12 +96,20 @@ in {
|
||||||
|
|
||||||
wireplumber.extraConfig."99-alsa-lowlatency"."alsa_monitor.rules" = [
|
wireplumber.extraConfig."99-alsa-lowlatency"."alsa_monitor.rules" = [
|
||||||
{
|
{
|
||||||
matches = [ { "node.name" = "matches:alsa_output.*"; } ];
|
matches = [{"node.name" = "matches:alsa_output.*";}];
|
||||||
apply_properties = {
|
apply_properties = {
|
||||||
"audio.format" = "S32LE";
|
"audio.format" = "S32LE";
|
||||||
"audio.rate" = toString (cfg.rate * (if cfg.usbSoundcard then 2 else 1)); # for USB soundcards it should be twice your desired rate
|
"audio.rate" = toString (cfg.rate
|
||||||
"api.alsa.period-size" = toString cfg.periodSize; # defaults to 1024, tweak by trial-and-error
|
* (
|
||||||
"api.alsa.disable-batch" = if cfg.batch then "false" else "true"; # generally, USB soundcards use the batch mode
|
if cfg.usbSoundcard
|
||||||
|
then 2
|
||||||
|
else 1
|
||||||
|
)); # for USB soundcards it should be twice your desired rate
|
||||||
|
"api.alsa.period-size" = toString cfg.periodSize; # defaults to 1024, tweak by trial-and-error
|
||||||
|
"api.alsa.disable-batch" =
|
||||||
|
if cfg.batch
|
||||||
|
then "false"
|
||||||
|
else "true"; # generally, USB soundcards use the batch mode
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -72,9 +72,30 @@ in {
|
||||||
|
|
||||||
# Make battery usage and performance sane
|
# Make battery usage and performance sane
|
||||||
# hardware.system76.power-daemon.enable = lib.mkDefault true;
|
# hardware.system76.power-daemon.enable = lib.mkDefault true;
|
||||||
|
zramSwap.enable = true;
|
||||||
services.tlp.enable = false;
|
services.tlp.enable = false;
|
||||||
services.power-profiles-daemon.enable = lib.mkDefault false;
|
services.power-profiles-daemon.enable = lib.mkDefault false;
|
||||||
services.system76-scheduler.enable = lib.mkDefault true;
|
services.system76-scheduler = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
exceptions = lib.mkDefault [
|
||||||
|
"include descends=\"schedtool\""
|
||||||
|
"include descends=\"nice\""
|
||||||
|
"include descends=\"chrt\""
|
||||||
|
"include descends=\"taskset\""
|
||||||
|
"include descends=\"ionice\""
|
||||||
|
|
||||||
|
"schedtool"
|
||||||
|
"nice"
|
||||||
|
"chrt"
|
||||||
|
"ionice"
|
||||||
|
|
||||||
|
"dbus"
|
||||||
|
"dbus-broker"
|
||||||
|
"rtkit-daemon"
|
||||||
|
"taskset"
|
||||||
|
"systemd"
|
||||||
|
];
|
||||||
|
};
|
||||||
services.tuned = {
|
services.tuned = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
settings.dynamic_tuning = lib.mkDefault true;
|
settings.dynamic_tuning = lib.mkDefault true;
|
||||||
|
|
@ -153,6 +174,7 @@ in {
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"adbusers" # run ADB commands
|
"adbusers" # run ADB commands
|
||||||
"audio" # soundcard access
|
"audio" # soundcard access
|
||||||
|
"rtkit" # realtime stuff?
|
||||||
"video" # webcam access (and maybe wayland too?)
|
"video" # webcam access (and maybe wayland too?)
|
||||||
"libvirtd" # run VMs through libvirt
|
"libvirtd" # run VMs through libvirt
|
||||||
"kvm" # run KVM VMs
|
"kvm" # run KVM VMs
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue