Nixfiles/home.nix
2021-06-20 22:04:52 +02:00

113 lines
2.8 KiB
Nix

{ config, pkgs, lib, ... }:
{
imports = [
./graphical.nix
];
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "traxys";
home.homeDirectory = "/home/traxys";
home.sessionVariables = {
EDITOR = "nvim";
RUSTC_WRAPPER = "${pkgs.sccache}/bin/sccache";
};
home.packages = with pkgs; [
bitwarden-cli
rustup
neovim-nightly
rust-analyzer
clang-tools
nodePackages.vscode-json-languageserver
nodePackages.bash-language-server
nixpkgs-fmt
(import (builtins.fetchTarball {
url = https://github.com/nix-community/rnix-lsp/archive/master.tar.gz;
}))
exa
];
programs = {
home-manager = {
enable = true;
};
bat = {
enable = true;
};
git = {
enable = true;
userName = "Quentin Boyer";
userEmail = "quentin+dev@familleboyer.net";
};
zoxide = {
enable = true;
};
zsh = {
enable = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" "wd" "rust" ];
};
plugins = [
{
name = "fast-syntax-highlighting";
file = "fast-syntax-highlighting.plugin.zsh";
src = pkgs.fetchFromGitHub {
owner = "zdharma";
repo = "fast-syntax-highlighting";
rev = "817916dfa907d179f0d46d8de355e883cf67bd97";
sha256 = "0m102makrfz1ibxq8rx77nngjyhdqrm8hsrr9342zzhq1nf4wxxc";
};
}
];
initExtra =
''
source ~/.p10k.zsh
source ~/.powerlevel10k/powerlevel10k.zsh-theme
if [ -f "$HOME/.zvars" ]; then
source "$HOME/.zvars"
fi
${pkgs.fortune}/bin/fortune \
| ${pkgs.cowsay}/bin/cowsay \
| ${pkgs.lolcat}/bin/lolcat
'';
shellAliases = {
cat = "${pkgs.bat}/bin/bat -p";
ls = "${pkgs.exa}/bin/exa --icons";
screenRegion = "${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - ";
};
};
};
home.file = {
".config/nvim" = {
source = ./nvim;
recursive = true;
};
".powerlevel10k" = {
source = pkgs.fetchFromGitHub {
owner = "romkatv";
repo = "powerlevel10k";
rev = "v1.15.0";
sha256 = "1b3j2riainx3zz4irww72z0pb8l8ymnh1903zpsy5wmjgb0wkcwq";
};
};
".zprofile".source = ./zprofile;
".p10k.zsh".source = ./p10k.zsh;
};
# 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 = "21.11";
}