dotfiles/Home.org
2022-12-29 18:31:28 +00:00

1.9 KiB

Home Manager Configurations

Abstract

I use home-manager to manage my… home. 'nuff said?

London

{ config, pkgs, callPackage, ... }:

{
  nixpkgs.overlays = [
    (import (builtins.fetchTarball {
      url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
    }))
  ];

  home.username = "gsimmer";
  home.homeDirectory = "/home/gsimmer";

  nixpkgs.config.allowUnfree = true;
  
  programs.bash.enable = false;
  programs.zsh = {
    enable = true;
    shellAliases = {
      cat = "bat";
    };
    oh-my-zsh = {
      enable = true;
      plugins = [ "git" ];
      theme = "robbyrussell";
    };
  };

  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;
  };

  services.lorri.enable = true;
 
  programs.git = {
    enable = true;
    userName = "Gabriel Simmer";
    userEmail = "gsimmer@protonmail.com";
    signing = {
      key = "C81B106D46C5B875";
      signByDefault = true;
    };
  };

  programs.emacs = {
    enable = true;
    package = pkgs.emacsGit;
  };

  programs.exa = {
    enable = true;
    enableAliases = true;
  };

  programs.bat = {
    enable = true;
  };
  
  home.packages = with pkgs; [ 
    discord
    spotify
    bitwarden-cli
    mullvad-vpn
    transmission-qt
    vlc
    obs-studio
    python3
    lmms
    prismlauncher
    ripgrep
  ];

  # 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 = "22.05";

  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;
}