diff --git a/home-manager/home-fish.nix b/home-manager/home-fish.nix index 60e93c1..5c4bef7 100644 --- a/home-manager/home-fish.nix +++ b/home-manager/home-fish.nix @@ -3,6 +3,7 @@ pkgs: enable = true; shellAliases = { nsh = "nix-shell --command fish"; + cd = "z"; }; # interactiveShellInit = '' # function fish_prompt diff --git a/home-manager/home-k9s.nix b/home-manager/home-k9s.nix new file mode 100644 index 0000000..0398cf9 --- /dev/null +++ b/home-manager/home-k9s.nix @@ -0,0 +1,3 @@ +pkgs: { + enable = true; +} diff --git a/home-manager/home-starship.nix b/home-manager/home-starship.nix index 821c000..2b65102 100644 --- a/home-manager/home-starship.nix +++ b/home-manager/home-starship.nix @@ -1,4 +1,4 @@ -{ +pkgs: { enable = true; settings = { add_newline = false; @@ -12,9 +12,17 @@ nix_shell.symbol = " "; nodejs.symbol = " "; package.disabled = true; + palette = "catppuccin_macchiato"; python.symbol = " "; package.symbol = " "; rust.symbol = " "; shell.disabled = false; - }; + } // builtins.fromTOML (builtins.readFile + (pkgs.fetchFromGitHub + { + owner = "catppuccin"; + repo = "starship"; + rev = "3e3e54410c3189053f4da7a7043261361a1ed1bc"; # Replace with the latest commit hash + sha256 = "soEBVlq3ULeiZFAdQYMRFuswIIhI9bclIU8WXjxd7oY="; + } + /palettes/macchiato.toml)); } diff --git a/home-manager/home-tmux.nix b/home-manager/home-tmux.nix index f34d028..3f3e9b6 100644 --- a/home-manager/home-tmux.nix +++ b/home-manager/home-tmux.nix @@ -1,11 +1,13 @@ -{ +pkgs: { baseIndex = 1; clock24 = true; enable = true; escapeTime = 0; keyMode = "vi"; mouse = true; + plugins = [pkgs.tmuxPlugins.catppuccin]; shortcut = "Space"; + tmuxinator.enable = true; extraConfig = '' bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel diff --git a/home-manager/home.nix b/home-manager/home.nix index 1443479..d1fa111 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -1,87 +1,109 @@ { config, pkgs, ... }: { - # Home Manager needs a bit of information about you and the - # paths it should manage. - home.username = "jfrikker"; - home.homeDirectory = "/Users/jfrikker"; + # Home Manager needs a bit of information about you and the + # paths it should manage. + home.username = "jfrikker"; + home.homeDirectory = "/Users/jfrikker"; - home.sessionVariables.TEST = "foo"; - home.sessionVariables.RUST_SRC_PATH = "${pkgs.rust-bin.stable."1.68.0".rust-src}/lib/rustlib/src/rust/library"; - home.sessionVariables.BAT_THEME = "catppuccin-macchiato"; + home.sessionVariables.BAT_THEME = "catppuccin-macchiato"; + home.sessionVariables.EDITOR = "nvim"; + home.sessionVariables.RUST_SRC_PATH = "${pkgs.rust-bin.stable."1.68.0".rust-src}/lib/rustlib/src/rust/library"; - home.packages = [ - # pkgs.apacheKafka - pkgs.aria - pkgs.aws-iam-authenticator - pkgs.awscli - pkgs.bashInteractive - # pkgs.emacs - pkgs.fd - pkgs.fend - # pkgs.ghc - # pkgs.go - # pkgs.haskellPackages.cabal-install - # pkgs.haskellPackages.haskell-language-server - pkgs.httpie - # pkgs.inconsolata-nerdfont - pkgs.jdt-language-server - pkgs.just - pkgs.jsonnet - pkgs.kubectl - pkgs.maven - pkgs.mysql-client - # pkgs.neovide - pkgs.neovim - pkgs.nodejs-16_x - pkgs.nodePackages.typescript-language-server - pkgs.postgresql - pkgs.ripgrep - # pkgs.rlwrap - # pkgs.rust-analyzer - pkgs.rust-script - pkgs.rust-bin.stable."1.68.0".default - pkgs.rust-bin.stable."1.68.0".rust-analyzer - # pkgs.rustup - # pkgs.sbcl - # pkgs.source-code-pro - pkgs.tokei - # pkgs.xonsh - pkgs.yarn - # pkgs.zellij - ]; + xdg.enable = true; + xdg.configFile."k9s/skin.yml" = { + enable = true; + source = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "k9s"; + rev = "322598e19a4270298b08dc2765f74795e23a1615"; # Replace with the latest commit hash + sha256 = "GrRCOwCgM8BFhY8TzO3/WDTUnGtqkhvlDWE//ox2GxI="; + } + /dist/macchiato.yml; + }; - # This value determines the Home Manager release that your - # configuration is compatible with. This helps avoid breakage - # when a new Home Manager release introduces backwards - # incompatible changes. - # - # You can update Home Manager without changing this value. See - # the Home Manager release notes for a list of state version - # changes in each release. - home.stateVersion = "22.05"; + xdg.configFile."lazygit/config.yml" = { + enable = true; + source = pkgs.fetchFromGitHub + { + owner = "catppuccin"; + repo = "lazygit"; + rev = "b2ecb6d41b6f54a82104879573c538e8bdaeb0bf"; # Replace with the latest commit hash + sha256 = "9BBmWRcjNaJE9T0RKVEJaSnkrbMom0CLYE8PzAT6yFw="; + } + /themes/macchiato.yml; + }; - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; + home.packages = [ + # pkgs.apacheKafka + pkgs.aria + pkgs.aws-iam-authenticator + pkgs.awscli + pkgs.bashInteractive + # pkgs.emacs + pkgs.fd + pkgs.fend + # pkgs.ghc + # pkgs.go + # pkgs.haskellPackages.cabal-install + # pkgs.haskellPackages.haskell-language-server + pkgs.httpie + # pkgs.inconsolata-nerdfont + pkgs.jdt-language-server + pkgs.just + pkgs.jsonnet + pkgs.kubectl + pkgs.maven + pkgs.mysql-client + # pkgs.neovide + pkgs.neovim + pkgs.nodejs-16_x + pkgs.nodePackages.typescript-language-server + pkgs.postgresql + pkgs.ripgrep + # pkgs.rlwrap + # pkgs.rust-analyzer + pkgs.rust-script + pkgs.rust-bin.stable."1.68.0".default + pkgs.rust-bin.stable."1.68.0".rust-analyzer + # pkgs.rustup + # pkgs.sbcl + # pkgs.source-code-pro + pkgs.tokei + # pkgs.xonsh + pkgs.yarn + # pkgs.zellij + ]; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + home.stateVersion = "22.05"; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; - programs.bash.enable = true; - programs.bat = import ./home-bat.nix pkgs; - programs.btop.enable = true; - programs.exa = import ./home-exa.nix; - programs.fish = import ./home-fish.nix pkgs; - programs.fzf = import ./home-fzf.nix; - # programs.gh.enable = true; - programs.git.enable = true; - programs.git.delta.enable = true; - programs.java.enable = true; - programs.java.package = pkgs.jdk17; - programs.jq.enable = true; - programs.k9s.enable = true; - programs.lazygit.enable = true; - programs.starship = import ./home-starship.nix; - programs.tmux = import ./home-tmux.nix; - programs.zoxide.enable = true; + programs.bash.enable = true; + programs.bat = import ./home-bat.nix pkgs; + programs.btop.enable = true; + programs.exa = import ./home-exa.nix; + programs.fish = import ./home-fish.nix pkgs; + programs.fzf = import ./home-fzf.nix; + # programs.gh.enable = true; + programs.git.enable = true; + programs.git.delta.enable = true; + programs.java.enable = true; + programs.java.package = pkgs.jdk17; + programs.jq.enable = true; + programs.k9s.enable = true; + programs.lazygit.enable = true; + programs.starship = import ./home-starship.nix pkgs; + programs.tmux = import ./home-tmux.nix pkgs; + programs.zoxide.enable = true; - # programs.neovim = import ./home-neovim.nix pkgs; + # programs.neovim = import ./home-neovim.nix pkgs; }