238 lines
5.8 KiB
Nix
238 lines
5.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
|
|
imports = (import ./programs);
|
|
|
|
nixpkgs.overlays = [
|
|
(import ./overlays/sumneko-lua-language-server)
|
|
];
|
|
|
|
home = {
|
|
username = "salar";
|
|
homeDirectory = "/Users/salar";
|
|
stateVersion = "21.11";
|
|
sessionVariables = {
|
|
EDITOR = "nvim";
|
|
VISUAL = "$EDITOR";
|
|
};
|
|
};
|
|
|
|
programs.bat = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
programs.gh = {
|
|
enable = true;
|
|
editor = "nvim";
|
|
gitProtocol = "ssh";
|
|
};
|
|
|
|
programs.htop = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.jq = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
settings = {
|
|
command_timeout = 1000;
|
|
character = {
|
|
success_symbol = " [λ](bold green)";
|
|
error_symbol = " [λ](bold red)";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.fish = {
|
|
enable = true;
|
|
|
|
plugins = [
|
|
{
|
|
name = "bass";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "edc";
|
|
repo = "bass";
|
|
rev = "50eba266b0d8a952c7230fca1114cbc9fbbdfbd4";
|
|
sha256 = "0ppmajynpb9l58xbrcnbp41b66g7p0c9l2nlsvyjwk6d16g4p4gy";
|
|
};
|
|
}
|
|
{
|
|
name = "foreign-env";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "oh-my-fish";
|
|
repo = "plugin-foreign-env";
|
|
rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc";
|
|
sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs";
|
|
};
|
|
}
|
|
{
|
|
name = "bobthefish";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "oh-my-fish";
|
|
repo = "theme-bobthefish";
|
|
rev = "a2ad38aa051aaed25ae3bd6129986e7f27d42d7b";
|
|
sha256 = "1fssb5bqd2d7856gsylf93d28n3rw4rlqkhbg120j5ng27c7v7lq";
|
|
};
|
|
}
|
|
];
|
|
|
|
loginShellInit = ''
|
|
set -xg TERM xterm-256color
|
|
if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
end
|
|
|
|
if test -e /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
|
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
|
end
|
|
|
|
if test -e $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
end
|
|
|
|
set -xg PATH $HOME/bin $PATH
|
|
|
|
set -xg JAVA_HOME /Users/salar/.nix-profile/bin
|
|
|
|
set -xg JDTLS_CONFIG /Users/salar/.config/jdt-language-server/config_mac
|
|
|
|
set -xg JAR /Users/salar/.config/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
|
|
|
|
set -xg WORKSPACE /Users/salar/Projects
|
|
|
|
set -xg NIX_PATH $HOME/.nix-defexpr/channels $NIX_PATH
|
|
|
|
set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n
|
|
|
|
set -xg TOOLCHAINS swift
|
|
|
|
set -xg XDG_CONFIG_HOME $HOME/.config
|
|
'';
|
|
|
|
promptInit = ''
|
|
eval (direnv hook fish)
|
|
any-nix-shell fish --info-right | source
|
|
'';
|
|
|
|
shellAliases = {
|
|
cat="bat";
|
|
du="ncdu --color dark -rr -x";
|
|
fzfp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'";
|
|
ping="prettyping";
|
|
".." = "cd ..";
|
|
pj="python -m json.tool";
|
|
l="exa --long --header --git --all";
|
|
g="git";
|
|
gl="git log";
|
|
gc="git commit -m";
|
|
gca="git commit -am";
|
|
gws="git status";
|
|
ghauth="gh auth login --with-token < ~/.ghauth";
|
|
gforksync="git fetch upstream && git merge upstream/master && git push origin master";
|
|
grep="grep --color=auto";
|
|
new-sbt="sbt new scala/scala-seed.g8";
|
|
nixre="home-manager switch";
|
|
nixedit="home-manager edit";
|
|
nixinfo="nix-shell -p nix-info --run \"nix-info -m\"";
|
|
nixgc="nix-collect-garbage -d";
|
|
nixq="nix-env -qa";
|
|
nixupdate="nix-channel --update";
|
|
nixupgrade="nix upgrade-nix";
|
|
nixup="nix-env -u";
|
|
nixversion="nix eval nixpkgs.lib.version";
|
|
nixdaemon="sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && launchctl start org.nixos.nix-daemon";
|
|
rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData";
|
|
v="nvim";
|
|
tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml";
|
|
sshfre1="ssh salar@fre1.softinio.net";
|
|
};
|
|
};
|
|
|
|
xdg.configFile."fish/conf.d/plugin-bobthefish.fish".text = lib.mkAfter ''
|
|
for f in $plugin_dir/*.fish
|
|
source $f
|
|
end
|
|
'';
|
|
|
|
# Neovim Configuration
|
|
xdg.configFile."nvim/lua/salargalaxyline.lua".source = programs/neovim/settings/salargalaxyline.lua;
|
|
xdg.configFile."nvim/init.lua".source = programs/neovim/init.lua;
|
|
|
|
home.packages = [
|
|
pkgs.adoptopenjdk-bin
|
|
pkgs.any-nix-shell
|
|
pkgs.asciinema
|
|
pkgs.aspell
|
|
pkgs.awscli
|
|
pkgs.cabal-install
|
|
pkgs.cmake
|
|
pkgs.coursier
|
|
pkgs.curlFull
|
|
pkgs.direnv
|
|
pkgs.dust
|
|
pkgs.exa
|
|
pkgs.fd
|
|
pkgs.ffmpeg
|
|
pkgs.ghcid
|
|
pkgs.gitAndTools.diff-so-fancy
|
|
pkgs.global
|
|
pkgs.gnupg
|
|
pkgs.gradle
|
|
pkgs.graphviz
|
|
pkgs.hlint
|
|
pkgs.httpie
|
|
pkgs.hugo
|
|
pkgs.hyperfine
|
|
pkgs.jansson
|
|
pkgs.luajit
|
|
pkgs.luajitPackages.luarocks
|
|
pkgs.maven
|
|
pkgs.multimarkdown
|
|
pkgs.ncdu
|
|
pkgs.neofetch
|
|
pkgs.neovim
|
|
pkgs.niv
|
|
pkgs.nixFlakes
|
|
pkgs.nixfmt
|
|
pkgs.nodePackages.pyright
|
|
pkgs.openssl
|
|
pkgs.pandoc
|
|
pkgs.pgcli
|
|
pkgs.prettyping
|
|
pkgs.procs
|
|
pkgs.procs
|
|
pkgs.ranger
|
|
pkgs.readline
|
|
pkgs.ripgrep
|
|
pkgs.rnix-lsp
|
|
pkgs.shellcheck
|
|
pkgs.stylua
|
|
pkgs.sumneko-lua-language-server
|
|
pkgs.tealdeer
|
|
pkgs.tig
|
|
pkgs.tokei
|
|
pkgs.tree
|
|
pkgs.universal-ctags
|
|
pkgs.vscodium
|
|
pkgs.wget
|
|
pkgs.xz
|
|
pkgs.yq
|
|
];
|
|
}
|