{ 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 = "steffen";
home.homeDirectory = "/home/steffen";
# 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 = with pkgs; [
# shell
exa
bat
lorri
direnv
ripgrep
broot
# ops
consul
nomad
terraform_0_14
terraform-provider-libvirt
ansible
vagrant
packer
nixops
borgbackup
zpaq
# dev
just
micro
erlang
dotenv-linter
rustup
# misc
syncthing
hugin
youtube-dl
par2cmdline
fossil
fdupes
];
services.lorri.enable = true;
xdg.configFile = {
# XDG configuration files
"broot/conf.toml".source = ./config/.config/broot/conf.toml;
};
home.file = {
# dotfiles in the home directory
".nix-channels".source = ./config/.nix-channels;
".zshrc".source = ./shell/.zshrc;
".bashrc".source = ./shell/.bashrc;
".profile".source = ./shell/.profile;
".tmux.conf".source = ./shell/.tmux.conf;
".doom.d/config.el".source = ./emacs/.doom.d/config.el;
".doom.d/init.el".source = ./emacs/.doom.d/init.el;
".doom.d/packages.el".source = ./emacs/.doom.d/packages.el;
};
}