diff --git a/aspects/cli/btop.nix b/aspects/cli/btop.nix new file mode 100644 index 0000000..09a815e --- /dev/null +++ b/aspects/cli/btop.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + flake.modules.homeManager.cli-btop = { config, lib, pkgs, ... }: { + programs.btop = { + enable = true; + settings = { + theme_background = false; + proc_sorting = "cpu direct"; + update_ms = 500; + }; + }; + }; +} diff --git a/aspects/cli/comma.nix b/aspects/cli/comma.nix new file mode 100644 index 0000000..b8e6c2a --- /dev/null +++ b/aspects/cli/comma.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + flake.modules.homeManager.cli-comma = { config, lib, pkgs, inputs, ... }: { + imports = [ inputs.nix-index-database.homeModules.nix-index ]; + + programs.nix-index-database.comma.enable = true; + }; +} diff --git a/aspects/cli/direnv.nix b/aspects/cli/direnv.nix new file mode 100644 index 0000000..4399283 --- /dev/null +++ b/aspects/cli/direnv.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + flake.modules.homeManager.cli-direnv = { config, lib, pkgs, ... }: { + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; +} diff --git a/aspects/cli/helix.nix b/aspects/cli/helix.nix new file mode 100644 index 0000000..1fa2baf --- /dev/null +++ b/aspects/cli/helix.nix @@ -0,0 +1,50 @@ +{ ... }: +{ + flake.modules.homeManager.cli-helix = { config, lib, pkgs, ... }: { + home.sessionVariables = { + EDITOR = "hx"; + }; + + programs.helix = { + enable = true; + settings = { + editor = { + file-picker.hidden = false; + idle-timeout = 0; + line-number = "relative"; + cursor-shape = { + normal = "underline"; + insert = "bar"; + select = "underline"; + }; + soft-wrap.enable = true; + auto-format = true; + indent-guides.render = true; + }; + keys.normal = { + space = { + o = "file_picker_in_current_buffer_directory"; + esc = [ + "collapse_selection" + "keep_primary_selection" + ]; + }; + }; + }; + languages = { + language = [ + { + name = "nix"; + auto-format = true; + formatter.command = "nixfmt"; + } + { + name = "typst"; + auto-format = true; + formatter.command = "typstyle -c 1000 -i"; + } + ]; + }; + }; + }; +} diff --git a/aspects/cli/hm-cli.nix b/aspects/cli/hm-cli.nix new file mode 100644 index 0000000..acee59d --- /dev/null +++ b/aspects/cli/hm-cli.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + flake.modules.homeManager.cli-base = { config, lib, pkgs, ... }: { + home = { + packages = with pkgs; [ hm-cli ]; + sessionVariables = { + HM_PATH = "/etc/nixos"; + }; + }; + }; +} diff --git a/aspects/cli/starship.nix b/aspects/cli/starship.nix new file mode 100644 index 0000000..e9884a7 --- /dev/null +++ b/aspects/cli/starship.nix @@ -0,0 +1,41 @@ +{ ... }: +{ + flake.modules.homeManager.cli-starship = { config, lib, pkgs, ... }: { + programs.starship = { + enable = true; + enableBashIntegration = true; + enableFishIntegration = true; + settings = { + add_newline = false; + format = '' + $hostname$directory$git_branch$git_status$nix_shell + [ ❯ ](bold green) + ''; + right_format = "$cmd_duration$character"; + hostname = { + ssh_symbol = "󰖟 "; + }; + character = { + error_symbol = "[](red)"; + success_symbol = "[󱐋](green)"; + }; + cmd_duration = { + format = "[󰄉 $duration ]($style)"; + style = "yellow"; + min_time = 500; + }; + git_branch = { + symbol = " "; + style = "purple"; + }; + git_status.style = "red"; + nix_shell = { + format = "via [$symbol$state]($style)"; + heuristic = true; + style = "blue"; + symbol = "󱄅 "; + }; + }; + }; + }; +} diff --git a/aspects/cli/tmux.nix b/aspects/cli/tmux.nix new file mode 100644 index 0000000..078a6aa --- /dev/null +++ b/aspects/cli/tmux.nix @@ -0,0 +1,12 @@ +{ ... }: +{ + flake.modules.homeManager.cli-tmux = { config, lib, pkgs, ... }: { + programs.tmux = { + enable = true; + clock24 = true; + terminal = "xterm-256color"; + mouse = true; + keyMode = "vi"; + }; + }; +}