dotfiles

Artifact [20c95f6946]
Login

Artifact [20c95f6946]

Artifact 20c95f69469573d8b00a4ca8f4da43850aba923c:


{ 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;
  };
}