Files
dotfiles/home.nix
2018-10-27 10:12:29 +02:00

179 lines
3.7 KiB
Nix
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ pkgs, ... }:
let
latest = import <nixpkgs>{};
in
{
home.packages = with pkgs; [
latest.wget
latest.curl
latest.httpie
latest.fasd
latest.ripgrep
latest.tree
latest.ncdu
latest.pv
latest.jq
latest.whois
latest.gnumake
latest.atool
latest.unzip
latest.zip
latest.p7zip
latest.pass
latest.pcmanfm
latest.udiskie
latest.gitAndTools.gitflow latest.gitAndTools.tig
firefox
google-chrome-beta
latest.google-play-music-desktop-player
latest.vscode
latest.jetbrains.phpstorm
unclutter-xfixes
latest.playerctl latest.numlockx
python
latest.docker latest.docker_compose
# Peek. See https://github.com/NixOS/nixpkgs/issues/39832
peek
ffmpeg
glib
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
keybinder
# urxvt. See https://github.com/rycee/home-manager/blob/master/modules/programs/urxvt.nix
latest.rxvt_unicode-with-plugins
];
# Doc: https://rycee.gitlab.io/home-manager/options.html
services.unclutter.enable = true;
services.parcellite.enable = true;
services.gpg-agent.enable = true;
programs.home-manager = {
enable = true;
path = https://github.com/rycee/home-manager/archive/release-18.03.tar.gz;
};
## TODO Enable when available in this current branch of
## Home manager, or switch to master
# programs.urxvt = {
# enable = true;
# package = latest.rxvt_unicode-with-plugins;
# };
programs.zsh = {
enable = true;
enableAutosuggestions = true;
enableCompletion = true;
history = {
ignoreDups = true;
save = 100000000000;
size = 100000000000;
};
oh-my-zsh = {
enable = true;
theme = "robbyrussell";
plugins = [ "git" "git-flow" "docker" "ssh-agent" "last-working-dir" "fasd" ];
};
initExtra = "
bindkey ' ' forward-word
";
sessionVariables = {
EDITOR = "vim";
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=7";
};
shellAliases = {
a = "fasd -a"; # any
s = "fasd -si"; # show / search / select
d = "fasd -d"; # directory
f = "fasd -f"; # file
sd = "fasd -sid"; # interactive directory selection
sf = "fasd -sif"; # interactive file selection
z = "fasd_cd -d"; # cd, same functionality as j in autojump
j = "fasd_cd -d"; # cd, same functionality as j in autojump
zz = "fasd_cd -d -i"; # cd with interactive selection
dc = "docker-compose";
dcr = "docker-compose run --rm";
copy = "xclip -selection c";
deploy = "docker run -it --rm -v ~/.ssh:/root/.ssh -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent -v $(pwd):/source neolao/capistrano:3.4.0 bash";
bepo = "setxkbmap -layout fr -variant bepo";
fr = "setxkbmap -layout fr -variant oss";
m = "make";
t = "task";
p = "pass";
tg = "tig --all";
tgs = "tig status";
};
};
programs.git = {
enable = true;
package = latest.gitAndTools.gitFull;
userEmail = "pierre@occitech.fr";
userName = "Pierre Martin";
aliases = {
co = "checkout";
};
ignores = [
".DS_Store"
".svn"
"*~"
"*.swp"
"*.rbc"
".watsonrc"
".idea"
".vscode"
];
};
programs.htop = {
enable = true;
};
programs.browserpass = {
enable = true;
browsers = [ "firefox" ];
};
programs.vim = {
enable = true;
};
programs.autorandr = {
enable = true;
hooks = {
postswitch = {
"notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
};
};
#TODO profiles
};
}
# TODO
#
# - setup GPG for Git, mails etc...
# - try fzf?