Skip to content

aywrite/nix-config

Repository files navigation

Andrew Wright's Dotfiles/Nix Config

I use nix and home manager to manage my applications and dotfiles.

I use zsh as my main shell, customized using oh-my-zsh.

Terminal.app

Installation

This repository contains user configuration deployed using the helpful tool Home Manager. The organisation of my nix files are based on Hugo Reeves' blog post. In order to setup a new home space, simply add a home.nix file similar to this one.

{ config, pkgs, ... }:

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

  imports = [
    ./machine/t460.nix
    ./user/awright-personal.nix
    ./role/xmonad-laptop.nix
  ];
}
  • Programs contains default setting for various programs & tools.
  • Machines contains configuration specific to a given machine.
  • Users contains configuration specific to a given user, think git config etc.
  • Roles contains the bulk of the configuration and sets up most user space tools, think neovim and your terminal.

Customize

Local Settings

The dotfiles can be easily extended to suit additional local requirements by using the following files:

~/.zsh.local

If the ~/.zsh.local file exists, it will be automatically sourced. This allows the use of environment variables to store secrets without checking them in. In the future I might use something like git-crypt to check in encrypted secrets instead.

Acknowledgements

Config

Window Manager

Scripts

Themes

For a colour palette I generally stick to Solarized (Dark).

I use oh-my-zsh to manage my shell theme, the current theme I am using is a slightly modified version of 𝝺 Pure with the formating of git status from Spaceship Prompt.

My old theme (andrew) was based on the agnoster which is the default with oh-my-zsh.

TODO

  • Configure restic
  • Write an install script with template/prompts to generate home.nix
  • Figure out how best to manage root user

Apps to add

  • spotify
  • 1password
  • iterm (mac)
  • rvm
  • nvm
  • virtualenv wrapper

Themes

The following are repos/articles I want to look at which I might use ideas from: