f661e4e6eb
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.
75 lines
1.8 KiB
Nix
75 lines
1.8 KiB
Nix
# 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;
|
|
}
|