workstation perf tweaks

This commit is contained in:
notgne2 2025-11-20 12:15:48 -07:00
parent 349cdd047d
commit e70c974289
No known key found for this signature in database
5 changed files with 325 additions and 288 deletions

View file

@ -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 = {

View file

@ -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)
)
);
}; };
}; };

View file

@ -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
''; '';
} }

View file

@ -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
}; };
} }
]; ];

View file

@ -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