diff options
Diffstat (limited to 'home-manager/features/cli/apps')
| -rw-r--r-- | home-manager/features/cli/apps/btop.nix | 15 | ||||
| -rw-r--r-- | home-manager/features/cli/apps/helix.nix | 71 | ||||
| -rw-r--r-- | home-manager/features/cli/apps/lazygit.nix | 12 | ||||
| -rw-r--r-- | home-manager/features/cli/apps/zellij.nix | 22 |
4 files changed, 120 insertions, 0 deletions
diff --git a/home-manager/features/cli/apps/btop.nix b/home-manager/features/cli/apps/btop.nix new file mode 100644 index 0000000..5bb2499 --- /dev/null +++ b/home-manager/features/cli/apps/btop.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: let + cfg = config.features.cli.apps.btop; +in { + options.features.cli.apps.btop.enable = lib.mkEnableOption "btop"; + config = lib.mkIf cfg.enable { + programs.btop = { + enable = true; + settings = { + color_theme = "TTY"; + theme_background = false; + update_ms = 500; + }; + }; + }; +} diff --git a/home-manager/features/cli/apps/helix.nix b/home-manager/features/cli/apps/helix.nix new file mode 100644 index 0000000..a267b23 --- /dev/null +++ b/home-manager/features/cli/apps/helix.nix @@ -0,0 +1,71 @@ +{ + config, + pkgs, + lib, + ... +}: let + cfg = config.features.cli.apps.helix; +in { + options.features.cli.apps.helix.enable = lib.mkEnableOption "helix"; + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ + wl-clipboard + ]; + programs.helix = { + enable = true; + extraPackages = with pkgs; [ + markdown-oxide + python312Packages.black + vscode-langservers-extracted + nil + ]; + settings = { + editor = { + color-modes = true; + true-color = true; + line-number = "relative"; + mouse = false; + lsp.display-messages = true; + statusline = { + left = ["file-name" "file-modification-indicator"]; + center = []; + right = []; + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + }; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + soft-wrap = { + enable = true; + wrap-indicator = ""; + }; + }; + keys = { + normal = { + esc = ["collapse_selection" "keep_primary_selection"]; + space = { + v = "file_picker_in_current_buffer_directory"; + h = ":lsp-workspace-command"; + }; + }; + }; + }; + languages = { + language = [ + { + name = "nix"; + auto-format = true; + formatter.command = "${pkgs.alejandra}/bin/alejandra"; + language-servers = ["nil"]; + } + ]; + }; + }; + }; +} diff --git a/home-manager/features/cli/apps/lazygit.nix b/home-manager/features/cli/apps/lazygit.nix new file mode 100644 index 0000000..9d19a36 --- /dev/null +++ b/home-manager/features/cli/apps/lazygit.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + ... +}: let + cfg = config.features.cli.apps.lazygit; +in { + options.features.cli.apps.lazygit.enable = lib.mkEnableOption "lazygit"; + config = lib.mkIf cfg.enable { + programs.lazygit.enable = true; + }; +} diff --git a/home-manager/features/cli/apps/zellij.nix b/home-manager/features/cli/apps/zellij.nix new file mode 100644 index 0000000..8942771 --- /dev/null +++ b/home-manager/features/cli/apps/zellij.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: let + cfg = config.features.cli.apps.zellij; +in { + options.features.cli.apps.zellij.enable = lib.mkEnableOption "zellij"; + config = lib.mkIf cfg.enable { + programs.zellij = { + enable = true; + settings = { + pane_frames = true; + ui.pane_frames.rounded_corners = true; + simplified_ui = true; + default_layout = "compact"; + hide_session_name = true; + + mouse_mode = false; + + on_force_close = "detach"; + session_serialization = true; + }; + }; + }; +} |
