summaryrefslogtreecommitdiff
path: root/features/user/cli/apps
diff options
context:
space:
mode:
authoroutremonde <outremonde@vivaldi.net>2025-06-10 20:32:00 -0400
committeroutremonde <outremonde@vivaldi.net>2025-06-10 20:32:00 -0400
commit9786eb8672213344d8d1b7bdef12bc94510b20db (patch)
treeb7d79440800c92d32187ab32c636b0830c94a610 /features/user/cli/apps
initialized repository
Former-commit-id: 84647f22b951a957b2b83885b612115d473f6626
Diffstat (limited to 'features/user/cli/apps')
-rw-r--r--features/user/cli/apps/btop.nix15
-rw-r--r--features/user/cli/apps/helix.nix71
-rw-r--r--features/user/cli/apps/zellij.nix22
3 files changed, 108 insertions, 0 deletions
diff --git a/features/user/cli/apps/btop.nix b/features/user/cli/apps/btop.nix
new file mode 100644
index 0000000..5bb2499
--- /dev/null
+++ b/features/user/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/features/user/cli/apps/helix.nix b/features/user/cli/apps/helix.nix
new file mode 100644
index 0000000..a267b23
--- /dev/null
+++ b/features/user/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/features/user/cli/apps/zellij.nix b/features/user/cli/apps/zellij.nix
new file mode 100644
index 0000000..8942771
--- /dev/null
+++ b/features/user/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;
+ };
+ };
+ };
+}