diff options
| -rw-r--r-- | home-manager/.config/home-manager/flake.nix | 21 | ||||
| -rw-r--r-- | home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix | 187 |
2 files changed, 188 insertions, 20 deletions
diff --git a/home-manager/.config/home-manager/flake.nix b/home-manager/.config/home-manager/flake.nix index efc9ed7..19de58e 100644 --- a/home-manager/.config/home-manager/flake.nix +++ b/home-manager/.config/home-manager/flake.nix @@ -65,31 +65,12 @@ "kdam0" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."x86_64-linux"; modules = [ - ./per-user/kdam0-work/home.nix + ./per-user/kdam0-wsl/home.nix ]; # Optionally use extraSpecialArgs # to pass through arguments to home.nix }; - "kdam0@orb-deb" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."x86_64-linux"; - modules = [ - ./per-user/kdam0-orb-deb/home.nix - ]; - }; - "kdamani" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."x86_64-linux"; - modules = [ - ./per-user/kdamani-work/home.nix - ]; - }; - "kdamani@orb-deb" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."aarch64-linux"; - modules = [ - ./per-user/kdamani-work/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 new file mode 100644 index 0000000..474af48 --- /dev/null +++ b/home-manager/.config/home-manager/per-user/kdam0-wsl/home.nix @@ -0,0 +1,187 @@ +{ config, pkgs, libs, ...}: +{ + 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; +} |
