diff --git a/flake.nix b/flake.nix index 87e3591..d2c46c2 100644 --- a/flake.nix +++ b/flake.nix @@ -39,8 +39,8 @@ }; nixConfig = { - extra-substituters = [ "https://niri.cachix.org" ]; - extra-trusted-public-keys = [ "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" ]; + extra-substituters = ["https://niri.cachix.org"]; + extra-trusted-public-keys = ["niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964="]; }; outputs = { diff --git a/home-manager/modules/ezpcusr.nix b/home-manager/modules/ezpcusr.nix index 41d88a3..a5c8fa1 100644 --- a/home-manager/modules/ezpcusr.nix +++ b/home-manager/modules/ezpcusr.nix @@ -89,7 +89,7 @@ in { package = pkgs.niri-unstable; settings = { window-rules = [ - { draw-border-with-background = false; } + {draw-border-with-background = false;} ]; prefer-no-csd = true; xwayland-satellite = { @@ -97,7 +97,7 @@ in { path = lib.getExe pkgs.xwayland-satellite-unstable; }; spawn-at-startup = [ - { argv = ["noctalia-shell"]; } + {argv = ["noctalia-shell"];} ]; clipboard.disable-primary = true; input = { @@ -107,129 +107,138 @@ in { natural-scroll = false; }; }; - binds = { - "Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot"; - "Mod+q".action = config.lib.niri.actions.close-window; - # "$mod, F, fullscreen, 0" - # "$mod SHIFT, F, fullscreen, 1" - # "$mod, Space, togglefloating" - # "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next" - "Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"]; + binds = + { + "Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot"; + "Mod+q".action = config.lib.niri.actions.close-window; + # "$mod, F, fullscreen, 0" + # "$mod SHIFT, F, fullscreen, 1" + # "$mod, Space, togglefloating" + # "$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+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"]; - "XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"]; - "XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"]; + "Mod+Minus".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"]; + "Mod+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"]; + "XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"]; + "XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"]; - "XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"]; - "XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"]; + "XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"]; + "XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"]; - "XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"]; - "XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"]; - "Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"]; - "Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"]; + "XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"]; + "XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"]; + "Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"]; + "Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"]; - # 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+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+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"; + # 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+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+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"; - # Previous/next - "Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"]; - "Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"]; - "XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"]; - "XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"]; + # Previous/next + "Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"]; + "Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"]; + "XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"]; + "XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"]; - # Seek forward/back - "Mod+Control+bracketleft".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+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"]; + # Seek forward/back + "Mod+Control+bracketleft".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+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"]; - # Toggle play/pause - "XF86AudioPlay".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"]; + # Toggle play/pause + "XF86AudioPlay".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"]; - "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+Right".action = config.lib.niri.actions.focus-column-right; + "Mod+Left".action = config.lib.niri.actions.focus-column-left; + "Mod+Right".action = config.lib.niri.actions.focus-column-right; - # "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left; - # "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+Right".action = config.lib.niri.actions.consume-or-expel-window-right; + # "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left; + # "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+Right".action = config.lib.niri.actions.consume-or-expel-window-right; - "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+Down".action = config.lib.niri.actions.focus-window-or-workspace-down; + "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+Up".action = config.lib.niri.actions.move-window-up-or-to-workspace-up; + "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+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+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+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, right, hy3:movefocus, r" - # "$mod, up, hy3:movefocus, u" - # "$mod, down, hy3:movefocus, d" - # "$mod, h, hy3:movefocus, l" - # "$mod, j, hy3:movefocus, d" - # "$mod, k, hy3:movefocus, u" - # "$mod, l, hy3:movefocus, r" + # "$mod, left, hy3:movefocus, l" + # "$mod, right, hy3:movefocus, r" + # "$mod, up, hy3:movefocus, u" + # "$mod, down, hy3:movefocus, d" + # "$mod, h, hy3:movefocus, l" + # "$mod, j, hy3:movefocus, d" + # "$mod, k, hy3:movefocus, u" + # "$mod, l, hy3:movefocus, r" - # "$mod SHIFT, left, hy3:movewindow, l" - # "$mod SHIFT, right, hy3:movewindow, r" - # "$mod SHIFT, up, hy3:movewindow, u" - # "$mod SHIFT, down, hy3:movewindow, d" - # "$mod SHIFT, h, hy3:movewindow, l" - # "$mod SHIFT, j, hy3:movewindow, d" - # "$mod SHIFT, k, hy3:movewindow, u" - # "$mod SHIFT, l, hy3:movewindow, r" + # "$mod SHIFT, left, hy3:movewindow, l" + # "$mod SHIFT, right, hy3:movewindow, r" + # "$mod SHIFT, up, hy3:movewindow, u" + # "$mod SHIFT, down, hy3:movewindow, d" + # "$mod SHIFT, h, hy3:movewindow, l" + # "$mod SHIFT, j, hy3:movewindow, d" + # "$mod SHIFT, k, hy3:movewindow, u" + # "$mod SHIFT, l, hy3:movewindow, r" - # "$mod CTRL, left, resizeactive, -80 0" - # "$mod CTRL, right, resizeactive, 80 0" - # "$mod CTRL, up, resizeactive, 0 -80" - # "$mod CTRL, down, resizeactive, 0 80" - # "$mod CTRL, h, resizeactive, -80 0" - # "$mod CTRL, j, resizeactive, 0 80" - # "$mod CTRL, k, resizeactive, 0 -80" - # "$mod CTRL, l, resizeactive, 80 0" + # "$mod CTRL, left, resizeactive, -80 0" + # "$mod CTRL, right, resizeactive, 80 0" + # "$mod CTRL, up, resizeactive, 0 -80" + # "$mod CTRL, down, resizeactive, 0 80" + # "$mod CTRL, h, resizeactive, -80 0" + # "$mod CTRL, j, resizeactive, 0 80" + # "$mod CTRL, k, resizeactive, 0 -80" + # "$mod CTRL, l, resizeactive, 80 0" - # "$mod, mouse_down, workspace, e-1" - # "$mod, mouse_up, workspace, e+1" - } + # "$mod, mouse_down, workspace, e-1" + # "$mod, mouse_up, workspace, e+1" + } // ( # workspaces # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} - lib.listToAttrs (builtins.concatLists (builtins.genList ( - i: let - ws = i + 1; - in [ - { name = "Mod+${toString i}"; value = { action.focus-workspace = i; }; } - { 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) - )); + lib.listToAttrs ( + builtins.concatLists (builtins.genList ( + i: let + ws = i + 1; + in [ + { + name = "Mod+${toString i}"; + value = {action.focus-workspace = i;}; + } + { + 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) + ) + ); }; }; diff --git a/home-manager/users/notgne2.nix b/home-manager/users/notgne2.nix index 0c5cbc3..90c1627 100644 --- a/home-manager/users/notgne2.nix +++ b/home-manager/users/notgne2.nix @@ -21,208 +21,207 @@ in { zip ]; - programs = { - home-manager.enable = true; + programs = + { + home-manager.enable = true; - zed-editor = { - extensions = [ - "elm" - "nix" - ]; - extraPackages = with pkgs; [ package-version-server ]; - userKeymaps = [ - { - context = "vim_mode == normal"; - bindings = { - "tab" = "pane::ActivateNextItem"; - "shift-tab" = "pane::ActivatePrevItem"; + zed-editor = { + extensions = [ + "elm" + "nix" + ]; + extraPackages = with pkgs; [package-version-server]; + userKeymaps = [ + { + context = "vim_mode == normal"; + bindings = { + "tab" = "pane::ActivateNextItem"; + "shift-tab" = "pane::ActivatePrevItem"; + }; + } + ]; + userSettings = { + vim_mode = true; + show_whitespaces = "boundary"; + soft_wrap = "editor_width"; + load_direnv = "shell_hook"; + telemetry = { + diagnostics = false; + metrics = false; }; - } - ]; - userSettings = { - vim_mode = true; - show_whitespaces = "boundary"; - soft_wrap = "editor_width"; - load_direnv = "shell_hook"; - telemetry = { - diagnostics = false; - metrics = false; - }; - node = { + node = { path = lib.getExe pkgs.nodejs; npm_path = lib.getExe' pkgs.nodejs "npm"; - }; - languages.Nix.formatter.external = { - command = "alejandra"; - arguments = ["--quiet" "--"]; - }; - lsp = { - elm-language-server.initialization_options = { - "elmReviewDiagnostics" = "warning"; + }; + languages.Nix.formatter.external = { + command = "alejandra"; + arguments = ["--quiet" "--"]; + }; + lsp = { + elm-language-server.initialization_options = { + "elmReviewDiagnostics" = "warning"; + }; }; }; }; - }; - neovim = { - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = true; - withPython3 = true; - plugins = with pkgs.vimPlugins; [ - direnv-vim - fugitive - vim-nix - camelcasemotion - vim-indent-object - vim-commentary - vim-surround - transparent-nvim - { - plugin = vim-airline; - config = '' - if exists('g:started_by_firenvim') - let g:airline#extensions#tabline#enabled = 0 - let g:airline_powerline_fonts = 0 - else - let g:airline#extensions#tabline#enabled = 1 - let g:airline_powerline_fonts = 1 - endif + neovim = { + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + withNodeJs = true; + withPython3 = true; + plugins = with pkgs.vimPlugins; [ + direnv-vim + fugitive + vim-nix + camelcasemotion + vim-indent-object + vim-commentary + vim-surround + transparent-nvim + { + plugin = vim-airline; + config = '' + if exists('g:started_by_firenvim') + let g:airline#extensions#tabline#enabled = 0 + let g:airline_powerline_fonts = 0 + else + let g:airline#extensions#tabline#enabled = 1 + let g:airline_powerline_fonts = 1 + 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 - let g:airline#extensions#default#layout = [ - \ [ 'a', 'b' ], - \ [ 'x', 'y', 'z', 'error', 'warning' ] - \ ] - ''; - } - vim-visual-multi - { - plugin = fzf-vim; - config = '' - map ; :Files - ''; - } - firenvim - vim-gitgutter - ]; - extraConfig = '' - set encoding=utf-8 - set hidden - set nobackup - set nowritebackup - set cmdheight=2 - set updatetime=200 - set shortmess+=c - " maybe should be number? - set signcolumn=yes + " 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 = [ + \ [ 'a', 'b' ], + \ [ 'x', 'y', 'z', 'error', 'warning' ] + \ ] + ''; + } + vim-visual-multi + { + plugin = fzf-vim; + config = '' + map ; :Files + ''; + } + firenvim + vim-gitgutter + ]; + extraConfig = '' + set encoding=utf-8 + set hidden + set nobackup + set nowritebackup + set cmdheight=2 + set updatetime=200 + set shortmess+=c + " maybe should be number? + set signcolumn=yes - set clipboard+=unnamedplus - set mouse=a + set clipboard+=unnamedplus + set mouse=a - map :bnext - map :bprev - ''; - }; - - 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' - ''); + map :bnext + map :bprev + ''; }; - 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; - - vesktop = { + 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; - 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 = { - 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; + discord.enable = false; - messages = "only@Mentions"; + vesktop = { + enable = true; + package = pkgs.vesktop; + }; - everyone = true; - role = true; - events = true; + config = { + 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"; + + 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; - }; - fakeNitro = { - enableEmojiBypass = false; - enableStickerBypass = false; - enableStreamQualityBypass = true; - }; - noPendingCount = { - enable = true; - hideFriendRequestsCount = true; - hideMessageRequestCount = true; - hidePremiumOffersCount = true; - }; - platformIndicators.enable = true; - userVoiceShow.enable = 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; }; }; - 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 = { FZF_DEFAULT_COMMAND = "${pkgs.fd}/bin/fd --type f"; @@ -232,5 +231,4 @@ in { ext_tabline=false ext_popupmenu=false ''; - } diff --git a/modules/ezpw.nix b/modules/ezpw.nix index 5ecb0bf..b9e0f39 100644 --- a/modules/ezpw.nix +++ b/modules/ezpw.nix @@ -96,12 +96,20 @@ in { wireplumber.extraConfig."99-alsa-lowlatency"."alsa_monitor.rules" = [ { - matches = [ { "node.name" = "matches:alsa_output.*"; } ]; + matches = [{"node.name" = "matches:alsa_output.*";}]; apply_properties = { - "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 - "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 + "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 + "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 }; } ]; diff --git a/modules/workstation.nix b/modules/workstation.nix index 11a74b9..f7f300b 100644 --- a/modules/workstation.nix +++ b/modules/workstation.nix @@ -72,9 +72,30 @@ in { # Make battery usage and performance sane # hardware.system76.power-daemon.enable = lib.mkDefault true; + zramSwap.enable = true; services.tlp.enable = 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 = { enable = lib.mkDefault true; settings.dynamic_tuning = lib.mkDefault true; @@ -153,6 +174,7 @@ in { extraGroups = [ "adbusers" # run ADB commands "audio" # soundcard access + "rtkit" # realtime stuff? "video" # webcam access (and maybe wayland too?) "libvirtd" # run VMs through libvirt "kvm" # run KVM VMs