diff options
| author | kdam0 <me@kumardamani.net> | 2025-03-05 13:54:06 +0000 |
|---|---|---|
| committer | kdam0 <me@kumardamani.net> | 2025-03-05 13:54:06 +0000 |
| commit | 8b3c0f2757d239540dc5a3427913c0192d7db0a8 (patch) | |
| tree | 3e0a3da53235db99c0d70d603cedb8d09bc142ff /home-manager | |
| parent | 88e99d590fc3066d7ebac4b081924e4b4ca78fe5 (diff) | |
ref a common module
Diffstat (limited to 'home-manager')
| -rw-r--r-- | home-manager/.config/home-manager/common/default.nix | 209 | ||||
| -rw-r--r-- | home-manager/.config/home-manager/flake.nix | 1 | ||||
| -rw-r--r-- | home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix | 181 |
3 files changed, 210 insertions, 181 deletions
diff --git a/home-manager/.config/home-manager/common/default.nix b/home-manager/.config/home-manager/common/default.nix new file mode 100644 index 0000000..04519eb --- /dev/null +++ b/home-manager/.config/home-manager/common/default.nix @@ -0,0 +1,209 @@ +{config, lib, pkgs, ...}: +{ + nix.gc.automatic = true; + + home = { + sessionPath = [ + "$HOME/.config/home-manager/common/scripts" + ]; + sessionVariables = { + EDITOR = "hx"; + }; + shellAliases = { + l = "ls -l"; + ll = "ls -al"; + ".." = "cd .."; + v = "$EDITOR $@"; + r = "yazi $@"; + gst = "git status"; + gd = "git diff"; + search = "nix search nixpkgs $@"; + conf = "$EDITOR ~/.config/home-manager/common/default.nix"; + up = "cd ~/.config/home-manager && home-manager switch"; + tmux = "tmux -u $@"; + }; + stateVersion = "23.05"; + packages = with pkgs; [ + coreutils + dig + fd + htop + imagemagick + jq + nmap + poppler + python311 + ripgrep + smartcat + sshpass + tldr + yazi + ]; + }; + + programs = { + home-manager.enable = true; + zsh = { + enable = true; + defaultKeymap = "viins"; + initExtra = '' + source ${config.home.homeDirectory}/.p10k.zsh + bindkey '^ ' autosuggest-accept + ''; + zplug = { + enable = true; + plugins = [ + { name = "zsh-users/zsh-autosuggestions"; } + { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } + ]; + }; + }; + tmux = { + enable = true; + clock24 = true; + shell = "${pkgs.zsh}/bin/zsh"; + prefix = "C-a"; + terminal = "xterm-256color"; + keyMode = "vi"; + plugins = with pkgs; [ + tmuxPlugins.sensible + { + plugin = tmuxPlugins.resurrect; + extraConfig = "set -g @resurrect-strategy-nvim 'session'"; + } + tmuxPlugins.pain-control + tmuxPlugins.yank + ]; + sensibleOnTop = true; + extraConfig = "set -g default-command '$SHELL'"; + }; + git = { + enable = true; + userName = "Kumar Damani"; + userEmail = "me@kumardamani.net"; + aliases = { + lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; + }; + delta = { + enable = true; + }; + lfs = { + enable = true; + }; + extraConfig = { + push = { autoSetupRemote = true; }; + }; + }; + fzf = { + enable = true; + tmux.enableShellIntegration = true; + }; + direnv = { + enable = true; + enableZshIntegration = true; # see note on other shells below + nix-direnv.enable = true; + config = { + global = { + load_dotenv = true; + }; + }; + }; + helix = { + enable = true; + settings = { + # theme = "jetbrains_dark"; + theme = "gruvbox_dark_hard"; + editor = { + mouse = false; + true-color = true; + line-number = "relative"; + lsp.display-messages = true; + rulers = [81]; + indent-guides = { + render = true; + character = "╎"; + }; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "block"; + }; + file-picker = { + hidden = false; + }; + end-of-line-diagnostics = "hint"; + inline-diagnostics = { + cursor-line = "error"; + }; + }; + keys.normal = { + space.space = "file_picker"; + space.w = ":w"; + space.q = ":q"; + G = "goto_file_end"; + esc = [ "collapse_selection" "keep_primary_selection" ]; + }; + }; + extraPackages = [ + pkgs.bash-language-server + pkgs.marksman + pkgs.gopls + pkgs.ansible-language-server + pkgs.yaml-language-server + pkgs.ruff + pkgs.pyright + pkgs.pylyzer + pkgs.nodePackages.prettier + pkgs.typescript-language-server + pkgs.vscode-langservers-extracted + ]; + languages = { + language-server.ruff = { + command = "ruff"; + args = ["server"]; + config = { + settings = { + lineLength = 88; + lint = { + select = ["B" "C4" "I" "N" "PIE" "RUF" "TCH" "TID" "UP" "S" "W" "E" "F"]; + preview = false; + }; + format = { + preview = true; + }; + }; + }; + }; + language-server.pyright = { + config.python.analysis = { + typeCheckingMode = "basic"; + }; + }; + language-server.pylyzer = { + command = "pylyzer"; + config = { + settings = { + args = ["--server"]; + }; + }; + }; + language = [ + { + name = "python"; + language-servers = ["ruff" "pyright" "pylyzer"]; + auto-format = true; + } + { + name = "javascript"; + language-servers = ["typescript-language-server"]; + formatter = { + command = "prettier"; + args = [ "--parser" "typescript" ]; + }; + auto-format = true; + } + ]; + }; + }; + }; +} diff --git a/home-manager/.config/home-manager/flake.nix b/home-manager/.config/home-manager/flake.nix index 19de58e..0918c14 100644 --- a/home-manager/.config/home-manager/flake.nix +++ b/home-manager/.config/home-manager/flake.nix @@ -65,6 +65,7 @@ "kdam0" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."x86_64-linux"; modules = [ + ./common ./per-user/kdam0-wsl/home.nix ]; diff --git a/home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix b/home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix index 474af48..c14dbe4 100644 --- a/home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix +++ b/home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix @@ -2,186 +2,5 @@ { home.username = "kdam0"; home.homeDirectory = "/home/kdam0"; - home.sessionPath = [ - "$HOME/.config/home-manager/common/scripts" - ]; - home.sessionVariables = { - EDITOR = "hx"; - }; - home.shellAliases = { - l = "ls -l"; - ll = "ls -al"; - ".." = "cd .."; - v = "$EDITOR $@"; - r = "yazi $@"; - gst = "git status"; - gd = "git diff"; - chm = "$EDITOR ~/.config/home-manager/per-user/kdam0-wsl/home.nix"; - search = "nix search nixpkgs $@"; - conf = "ranger ~/.config/home-manager/common/"; - up = "cd ~/.config/home-manager && home-manager switch"; - tmux = "tmux -u $@"; - }; - - programs.home-manager.enable = true; - programs.zsh = { - enable = true; - defaultKeymap = "viins"; - initExtra = '' - source ${config.home.homeDirectory}/.p10k.zsh - bindkey '^ ' autosuggest-accept - ''; - zplug = { - enable = true; - plugins = [ - { name = "zsh-users/zsh-autosuggestions"; } - { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } - ]; - }; - }; - programs.tmux = { - enable = true; - clock24 = true; - shell = "${pkgs.zsh}/bin/zsh"; - # shell = "/bin/zsh"; - prefix = "C-a"; - terminal = "xterm-256color"; - keyMode = "vi"; - plugins = with pkgs; [ - tmuxPlugins.sensible - { - plugin = tmuxPlugins.resurrect; - extraConfig = "set -g @resurrect-strategy-nvim 'session'"; - } - tmuxPlugins.pain-control - tmuxPlugins.yank - ]; - sensibleOnTop = true; - extraConfig = "set -g default-command '$SHELL'"; - }; - programs.git = { - enable = true; - userName = "Kumar Damani"; - userEmail = "me@kumardamani.net"; - aliases = { - lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; - }; - delta = { - enable = true; - }; - lfs = { - enable = true; - }; - extraConfig = { - push = { autoSetupRemote = true; }; - }; - }; - programs.fzf = { - enable = true; - tmux.enableShellIntegration = true; - }; - programs.direnv = { - enable = true; - enableZshIntegration = true; # see note on other shells below - nix-direnv.enable = true; - config = { - global = { - load_dotenv = true; - }; - }; - }; - programs.helix = { - enable = true; - settings = { - # theme = "jetbrains_dark"; - theme = "gruvbox_dark_hard"; - editor = { - mouse = false; - true-color = true; - line-number = "relative"; - lsp.display-messages = true; - rulers = [81]; - indent-guides = { - render = true; - character = "╎"; - }; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "block"; - }; - }; - keys.normal = { - space.space = "file_picker"; - space.w = ":w"; - space.q = ":q"; - G = "goto_file_end"; - esc = [ "collapse_selection" "keep_primary_selection" ]; - space.t = ":sh xelatex KumarDamaniCV.tex"; - }; - }; - extraPackages = [ - pkgs.bash-language-server - pkgs.marksman - pkgs.gopls - pkgs.ansible-language-server - pkgs.yaml-language-server - pkgs.ruff - pkgs.pyright - pkgs.pylyzer - pkgs.vscode-langservers-extracted - ]; - languages = { - language-server.ruff = { - command = "ruff"; - args = ["server"]; - config = { - settings = { - lineLength = 88; - lint = { - select = ["B" "C4" "I" "N" "PIE" "RUF" "TCH" "TID" "UP" "S" "W" "E" "F"]; - preview = false; - }; - format = { - preview = true; - }; - }; - }; - }; - language-server.pyright = { - config.python.analysis = { - typeCheckingMode = "basic"; - }; - }; - language-server.pylyzer = { - command = "pylyzer"; - config = { - settings = { - args = ["--server"]; - }; - }; - }; - language = [ - { - name = "python"; - language-servers = ["ruff" "pyright" "pylyzer"]; - auto-format = true; - } - ]; - }; - }; - home.stateVersion = "23.05"; - home.packages = with pkgs; [ - dig - fd - htop - imagemagick - jq - poppler - python3Minimal - ripgrep - tldr - yazi - ]; targets.genericLinux.enable = true; } |
