feat(home): Add initial home-manager configuration for ChromeOS

Adds a home-manager configuration that can be used in a Crostini
container running Nix. There isn't any truly ChromeOS-specific stuff
in this yet, as I've set up the interoperability with garcon etc.
manually for now.
This commit is contained in:
Vincent Ambo 2019-02-03 21:04:44 +00:00
parent a1751798f1
commit f661e4e6eb

75
home.nix Normal file
View file

@ -0,0 +1,75 @@
# home-manager configuration used on ChromeOS systems
{ config, pkgs, ... }:
{
# Allow non-free software (fonts, IDEA, etc.):
nixpkgs.config.allowUnfree = true;
# Install various useful packages:
home.packages = with pkgs; [
bat
exa
gnupg
google-cloud-sdk
htop
pass
ripgrep
tdesktop
transmission
tree
# Fonts to make available in X11 applications:
input-fonts
# Emacs configuration stays in the normal ~/.emacs.d location (for
# now), hence this package is not installed via `programs.emacs`.
(import ./emacs.nix { inherit pkgs; })
];
programs.git = {
enable = true;
userEmail = "mail@tazj.in";
userName = "Vincent Ambo";
};
services.gpg-agent = {
enable = true;
extraConfig = ''
pinentry-program ${pkgs.pinentry}/bin/pinentry-gtk-2
allow-emacs-pinentry
'';
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
manual.html.enable = true;
# Shell configuration
#
# There are some differences between the ChromeOS / NixOS
# configurations, so instead of fixing up the dotfile to support
# both I opted for keeping the configuration here.
programs.fish = {
enable = true;
interactiveShellInit = ''
# Configure classic prompt
set fish_color_user --bold blue
set fish_color_cwd --bold white
# Enable colour hints in VCS prompt:
set __fish_git_prompt_showcolorhints yes
set __fish_git_prompt_color_prefix purple
set __fish_git_prompt_color_suffix purple
# Fish configuration
set fish_greeting ""
# Fix up nix-env & friends for Nix 2.0
export NIX_REMOTE=daemon
'';
};
# Ensure fonts installed via Nix are picked up.
fonts.fontconfig.enableProfileFonts = true;
}