This commit is contained in:
Smaug123
2021-07-08 23:42:43 +01:00
commit 84f30e5eaa
3 changed files with 682 additions and 0 deletions

110
home.nix Normal file
View File

@@ -0,0 +1,110 @@
{ config, pkgs, ... }:
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "Patrick";
# 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.05";
home.packages =
[
pkgs.tmux
pkgs.wget
pkgs.youtube-dl
pkgs.cmake
pkgs.gcc
pkgs.gdb
pkgs.hledger
pkgs.hledger-web
pkgs.dotnet-sdk_5
pkgs.docker
pkgs.jitsi-meet
pkgs.elan
pkgs.protonmail-bridge
pkgs.handbrake
];
programs.zsh = {
enable = true;
autocd = true;
dotDir = ".config/zsh";
enableAutosuggestions = true;
enableCompletion = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" "osx" "dircycle" "timer" ];
theme = "robbyrussell";
};
sessionVariables = {
EDITOR = "vim";
LC_ALL = "en_US.UTF-8";
LC_CTYPE = "en_US.UTF-8";
};
shellAliases = {
view = "vim -R";
};
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
programs.git = {
package = pkgs.gitAndTools.gitFull;
enable = true;
userName = "Smaug123";
userEmail = "patrick+github@patrickstevens.co.uk";
aliases = {
co = "checkout";
st = "status";
};
extraConfig = {
push = {
default = "current";
};
pull = {
rebase = false;
};
init = {
defaultBranch = "main";
};
advice = {
addIgnoredFile = false;
};
};
};
programs.neovim.enable = true;
programs.neovim.plugins = with pkgs.vimPlugins; [
{ plugin = rust-vim;
config = "let g:rustfmt_autosave = 1"; }
{ plugin = syntastic;
config = ''let g:syntastic_rust_checkers = ['cargo']
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0''; }
YouCompleteMe
tagbar
];
programs.neovim.viAlias = true;
programs.neovim.vimAlias = true;
programs.neovim.vimdiffAlias = true;
programs.neovim.withPython3 = true;
programs.neovim.extraConfig = builtins.readFile ./init.vim;
}