nix-config/home.nix

250 lines
4.1 KiB
Nix
Raw Normal View History

2024-05-18 11:31:35 -07:00
{
lib,
pkgs,
...
}:
2020-10-12 00:47:07 -07:00
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
2021-04-11 23:31:11 -07:00
imports = (import ./programs);
2024-05-18 11:31:35 -07:00
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"discord"
"slack"
"vscode"
"vscode-extension-github-copilot"
"vscode-extension-github-copilot-chat"
2024-05-18 11:31:35 -07:00
"vscode-extension-MS-python-vscode-pylance"
"vscode-extension-visualjj-visualjj"
2024-05-18 11:31:35 -07:00
];
2022-08-08 00:37:22 -07:00
2021-04-11 23:31:11 -07:00
home = {
stateVersion = "24.05";
2021-04-11 23:31:11 -07:00
sessionVariables = {
EDITOR = "nvim";
VISUAL = "$EDITOR";
};
2022-08-07 22:50:23 -07:00
packages = with pkgs; [
any-nix-shell
aspell
2024-09-07 11:10:17 -07:00
basedpyright
bash-language-server
2022-08-07 22:50:23 -07:00
cachix
cmake
coursier
2024-03-23 10:14:43 -07:00
curlFull
delta
2024-03-23 10:14:43 -07:00
deno
2024-04-26 12:20:53 -07:00
devenv
discord
dua
2022-08-07 22:50:23 -07:00
fd
ffmpeg
2022-09-18 15:10:19 -07:00
font-awesome
2022-08-07 22:50:23 -07:00
gnupg
go
2022-12-10 11:46:19 -08:00
graphviz
2024-09-07 11:10:17 -07:00
jq-lsp
lazyjj
2022-08-07 22:50:23 -07:00
luajit
2024-09-07 11:10:17 -07:00
lua-language-server
2023-02-24 18:19:14 -08:00
marksman
2024-10-26 14:38:40 -07:00
marp-cli
2022-08-07 22:50:23 -07:00
maven
meld
2023-12-17 15:32:00 -08:00
metals
2022-08-07 22:50:23 -07:00
multimarkdown
mypy
neofetch
neovim
2024-06-07 23:26:11 -07:00
nil
2022-08-07 22:50:23 -07:00
niv
2024-09-07 11:10:17 -07:00
nixd
2022-08-07 22:50:23 -07:00
nix-index
2024-05-18 11:31:35 -07:00
nixfmt-rfc-style
2022-10-08 11:48:26 -07:00
nix-prefetch-git
nodejs
2024-02-18 21:29:00 -08:00
ollama
2022-08-07 22:50:23 -07:00
openssl
pandoc
patchelf
pngpaste
2023-01-04 18:12:50 -08:00
prettyping
2024-02-18 21:29:00 -08:00
python3Packages.huggingface-hub
2024-02-19 22:39:38 -08:00
python3Packages.jupyterlab
2022-08-07 22:50:23 -07:00
rclone
readline
ripgrep
2024-11-01 19:22:00 -07:00
ripgrep-all
2024-03-23 10:14:43 -07:00
rustup
2022-08-07 22:50:23 -07:00
sbt
scala-cli
shellcheck
slack
slides
slumber
2022-08-07 22:50:23 -07:00
sqlite
stylua
2024-11-09 10:52:51 -08:00
swift-format
2022-08-07 22:50:23 -07:00
tealdeer
2022-09-18 15:10:19 -07:00
tectonic
texlab
2022-08-07 22:50:23 -07:00
tig
tokei
tree
tree-sitter
2024-09-07 11:10:17 -07:00
typescript
typescript-language-server
wget
2024-07-07 19:22:52 -07:00
vscode-langservers-extracted
2022-08-07 22:50:23 -07:00
xz
2024-09-07 11:10:17 -07:00
yaml-language-server
2022-08-07 22:50:23 -07:00
yq
];
2020-10-12 00:47:07 -07:00
};
2021-04-11 11:19:06 -07:00
programs.bat = {
2024-03-23 10:14:43 -07:00
enable = true;
2021-04-11 11:19:06 -07:00
};
2024-02-18 21:29:00 -08:00
programs.btop = {
enable = true;
};
2023-04-08 16:32:46 -07:00
2023-12-06 23:03:53 -08:00
programs.darcs = {
enable = true;
2024-05-18 11:31:35 -07:00
author = [ "Salar Rahmanian <code@softinio.com>" ];
2023-12-06 23:03:53 -08:00
boring = [
"^.idea$"
"^.direnv$"
"^.envrc$"
"^.vscode$"
];
};
2021-09-07 08:04:39 -07:00
programs.direnv = {
2021-04-11 11:19:06 -07:00
enable = true;
2021-09-07 08:04:39 -07:00
nix-direnv.enable = true;
2021-04-11 11:19:06 -07:00
};
programs.eza = {
enable = true;
2024-03-23 10:14:43 -07:00
enableFishIntegration = true;
git = true;
2024-10-20 20:36:27 -07:00
icons = "auto";
extraOptions = [
"--group-directories-first"
"--long"
"--header"
"--all"
];
};
2021-09-07 08:04:39 -07:00
programs.fzf = {
2021-04-11 11:19:06 -07:00
enable = true;
enableFishIntegration = true;
};
programs.gh = {
enable = true;
2021-11-07 13:24:41 -08:00
settings = {
editor = "nvim";
git_protocol = "ssh";
2024-01-23 20:31:55 -08:00
prompt = "enabled";
aliases = {
co = "pr checkout";
pv = "pr view";
};
2021-11-07 13:24:41 -08:00
};
2021-04-11 11:19:06 -07:00
};
2023-09-23 15:30:58 -07:00
programs.gh-dash = {
enable = true;
};
2023-04-30 11:44:34 -07:00
programs.helix = {
enable = true;
settings = {
theme = "tokyonight";
};
};
2020-10-12 00:47:07 -07:00
programs.htop = {
enable = true;
};
2024-09-16 21:23:51 -07:00
programs.java = {
enable = true;
};
2020-10-12 00:47:07 -07:00
programs.jq = {
enable = true;
};
programs.jujutsu = {
enable = true;
settings = {
signing = {
key = "~/.ssh/id_ed25519.pub";
};
user = {
name = "Salar Rahmanian";
email = "code@softinio.com";
};
ui = {
diff.format = "git";
diff.tool = [
"delta"
"--color-only"
"--hyperlinks"
"--line-numbers"
"--side-by-side"
"$left"
"$right"
];
editor = "nvim";
merge-editor = [
"meld"
"$left"
"$base"
"$right"
"-o"
"$output"
];
pager = "delta";
};
};
};
2024-01-23 20:31:55 -08:00
programs.lazygit = {
enable = true;
};
2024-02-18 21:29:00 -08:00
programs.nix-index = {
enable = true;
enableFishIntegration = true;
};
2020-10-12 00:47:07 -07:00
programs.starship = {
enable = true;
enableFishIntegration = true;
2020-10-12 00:47:07 -07:00
settings = {
2021-06-23 22:52:33 -07:00
command_timeout = 1000;
2021-06-07 21:08:10 -07:00
character = {
success_symbol = " [λ](bold green)";
error_symbol = " [λ](bold red)";
};
2020-10-12 00:47:07 -07:00
};
};
# Neovim Configuration
xdg.configFile."nvim".source = builtins.fetchGit {
url = "https://code.softinio.com/softinio/nvim-config";
rev = "a972cdf4f9067111d67f2f0b5655eede437cdff3";
};
2020-10-12 00:47:07 -07:00
}