130 lines
2.3 KiB
Nix
130 lines
2.3 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
# minimal config, suitable for servers
|
|
|
|
{
|
|
imports = [
|
|
# shell config
|
|
#./modules/shell
|
|
];
|
|
|
|
programs.home-manager.enable = true;
|
|
home = {
|
|
username = "alex";
|
|
homeDirectory = "/home/alex";
|
|
stateVersion = "21.05";
|
|
sessionPath = [ "$HOME/.local/bin" ];
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
# archives
|
|
#p7zip
|
|
#unrar
|
|
# nix tools
|
|
nix-index
|
|
nixfmt
|
|
# misc
|
|
fd # better find
|
|
file # info about files
|
|
unzip
|
|
dropbox
|
|
gotop
|
|
gnumake
|
|
ripgrep # better grep
|
|
sqlite
|
|
# pass
|
|
pandoc
|
|
hledger
|
|
hledger-web
|
|
hledger-iadd
|
|
hledger-ui
|
|
smos
|
|
|
|
# editors
|
|
emacs
|
|
|
|
# c/c++
|
|
clang_12
|
|
|
|
# haskell
|
|
ghcid
|
|
ghc
|
|
cabal2nix
|
|
nix-prefetch-git
|
|
cabal-install
|
|
haskellPackages.cabal-fmt
|
|
haskellPackages.stylish-haskell
|
|
haskellPackages.ormolu
|
|
];
|
|
home.extraOutputsToInstall = [ "doc" "info" "devdoc" ];
|
|
|
|
xdg.enable = true;
|
|
# xdg.configFile = {
|
|
# "emacs".source = ./emacs.d;
|
|
# };
|
|
|
|
xdg.configFile.tmux = {
|
|
target = "tmux/tmux.conf";
|
|
text = ''
|
|
set -g default-terminal "tmux-256color"
|
|
set -g prefix C-z
|
|
bind-key C-z send-prefix
|
|
set -g renumber-windows on
|
|
'';
|
|
};
|
|
|
|
programs = {
|
|
# better cat
|
|
bat.enable = true;
|
|
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv = {
|
|
enable = true;
|
|
enableFlakes = true;
|
|
};
|
|
enableZshIntegration = true;
|
|
enableBashIntegration = true;
|
|
};
|
|
|
|
gh = {
|
|
enable = true;
|
|
gitProtocol = "ssh";
|
|
};
|
|
|
|
git = {
|
|
enable = true;
|
|
ignores = [ "*~" "*.swp" "result" "dist-newstyle" ];
|
|
userEmail = "me@failco.de";
|
|
userName = "Alexander Kobjolke";
|
|
aliases = { st = "status"; };
|
|
};
|
|
|
|
gpg = {
|
|
enable = true;
|
|
settings = { homedir = "~/.local/share/gnupg"; };
|
|
};
|
|
|
|
password-store = {
|
|
enable = true;
|
|
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
|
|
settings = { PASSWORD_STORE_DIR = "$HOME/.local/share/password-store"; };
|
|
};
|
|
|
|
ssh.enable = true;
|
|
|
|
neovim = import ./modules/nvim.nix pkgs;
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
enableSshSupport = true;
|
|
defaultCacheTtl = 300;
|
|
defaultCacheTtlSsh = 300;
|
|
};
|
|
|
|
home.file.".local" = {
|
|
recursive = true;
|
|
source = ./local;
|
|
};
|
|
}
|