From da58fe5c3a0c51d4b38e241ee6b0dec0c808b090 Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Tue, 18 Mar 2025 10:59:33 +0100 Subject: [PATCH] feat: move all shell related stuff to separate module. --- hosts/nixos/home.nix | 101 -------------------------- modules/home-manager/default.nix | 2 + modules/home-manager/shell.nix | 118 +++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 101 deletions(-) create mode 100644 modules/home-manager/shell.nix diff --git a/hosts/nixos/home.nix b/hosts/nixos/home.nix index 37430a6..3cb31a7 100644 --- a/hosts/nixos/home.nix +++ b/hosts/nixos/home.nix @@ -14,20 +14,10 @@ # PACKAGES home.packages = with pkgs; [ - alejandra keepassxc - age - nix-output-monitor - nvd tutanota-desktop - nurl - entr - ffmpeg - imagemagick - glow spice-gtk vesktop - buku piper heroic prismlauncher @@ -37,17 +27,9 @@ itch wineWowPackages.staging rpcs3 - unzip - p7zip - aria2 osu-lazer-bin overskride delfin - commitizen - license-go - termsonic - inputs.iamb.packages.x86_64-linux.default - toot ]; programs.thunderbird = { @@ -61,92 +43,9 @@ # Install imv programs.imv.enable = true; - # Enable nix-index - programs.nix-index = { - enable = true; - enableZshIntegration = true; - }; - - # Enable comma - programs.nix-index-database.comma.enable = true; - - # Enable git - programs.git = { - enable = true; - userName = "Crony Akatsuki"; - userEmail = "crony@cronyakatsuki.xyz"; - }; - # Enable syncthing services.syncthing.enable = true; - # Install fzf - programs.fzf = { - enable = true; - enableZshIntegration = true; - defaultCommand = "fd --type f"; - }; - - # Install starship - programs.starship = { - enable = true; - enableZshIntegration = true; - settings = { - add_newline = false; - }; - }; - - # Install zoxide - programs.zoxide = { - enable = true; - enableZshIntegration = true; - }; - - # Install eza - programs.eza = { - enable = true; - enableZshIntegration = true; - git = true; - icons = "always"; - }; - - # Install direnv - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; - - # Install the fuck - programs.thefuck = { - enable = true; - enableZshIntegration = true; - }; - - # Install tealdeer - programs.tealdeer.enable = true; - - # Install bat - programs.bat.enable = true; - - # Install jq - programs.jq.enable = true; - - # Install fd - programs.fd = { - enable = true; - hidden = true; - ignores = ["~/Documents/Share" ".git"]; - }; - - # Install rg - programs.ripgrep = { - enable = true; - }; - - # Install btop - programs.btop.enable = true; - # Default environmental variables home.sessionVariables = { EDITOR = "nvim"; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 189cf51..b91805d 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -11,6 +11,7 @@ ./restic.nix ./hyprland.nix ./browsers + ./shell.nix ]; crony.mangohud.enable = lib.mkDefault true; @@ -24,4 +25,5 @@ crony.restic.enable = lib.mkDefault true; crony.hyprland.enable = lib.mkDefault true; crony.browsers.enable = lib.mkDefault true; + crony.shell.enable = lib.mkDefault true; } diff --git a/modules/home-manager/shell.nix b/modules/home-manager/shell.nix new file mode 100644 index 0000000..37bfc55 --- /dev/null +++ b/modules/home-manager/shell.nix @@ -0,0 +1,118 @@ +{ + inputs, + config, + pkgs, + lib, + ... +}: { + # Module that bundles all my shell related software that make up my shell experience + options = { + crony.shell.enable = lib.mkEnableOption "Enable my bundled shell software that make up my shell experience"; + }; + + config = lib.mkIf config.crony.shell.enable { + home.packages = with pkgs; [ + alejandra + age + nix-output-monitor + nvd + nurl + entr + ffmpeg + imagemagick + glow + buku + unzip + p7zip + aria2 + commitizen + license-go + termsonic + inputs.iamb.packages.x86_64-linux.default + toot + ]; + + # Enable nix-index + programs.nix-index = { + enable = true; + enableZshIntegration = true; + }; + + # Enable comma + programs.nix-index-database.comma.enable = true; + + # Enable git + programs.git = { + enable = true; + userName = "Crony Akatsuki"; + userEmail = "crony@cronyakatsuki.xyz"; + }; + + # Install fzf + programs.fzf = { + enable = true; + enableZshIntegration = true; + defaultCommand = "fd --type f"; + }; + + # Install starship + programs.starship = { + enable = true; + enableZshIntegration = true; + settings = { + add_newline = false; + }; + }; + + # Install zoxide + programs.zoxide = { + enable = true; + enableZshIntegration = true; + }; + + # Install eza + programs.eza = { + enable = true; + enableZshIntegration = true; + git = true; + icons = "always"; + }; + + # Install direnv + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; + + # Install the fuck + programs.thefuck = { + enable = true; + enableZshIntegration = true; + }; + + # Install tealdeer + programs.tealdeer.enable = true; + + # Install bat + programs.bat.enable = true; + + # Install jq + programs.jq.enable = true; + + # Install fd + programs.fd = { + enable = true; + hidden = true; + ignores = ["~/Documents/Share" ".git"]; + }; + + # Install rg + programs.ripgrep = { + enable = true; + }; + + # Install btop + programs.btop.enable = true; + }; +}