/dotfiles-nix

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

About

This repository contains my systems setup. I have three hosts set up by this repository:

I use nix as package manager for all hosts. I use Home Manager to declare nix packages and configuration to use. All hosts are configured from their respective /hosts directory, [hosts/common.nix]{.spurious-link target="hosts/common.nix"} contain shared configuration and program-specific configuration live under programs

My toolbox

  • neovim for basic text editing
    • One configuration using COC for lsp
    • Another configuration using inbuilt nvim lsp and generally the nvim plugin ecosystem
  • Zsh with Oh My Zsh as shell
  • tmux for managing terminal windows
  • Terminal is form
  • I use the power level 10k theme for Zsh and dracula as my default theme for vim
  • I use the windows terminal for the terminal settings for WSL (manually configured)

Setup

  • Install nix and set up [flakes] (https://nixos.wiki/Flakes)

  • Set up home-manager

  • Clone this repository

    $ git clone git@github.com:slaser79/dotfiles-nix.git
    $ cd dotfiles-nix
    
  • Change name, username and email if you're not me

    $ grep -E '(shingi|slaser)' -r .
    $ # edit away!
    
  • Create the first generation

    • Linux and macOS

      $ home-manager switch --flake . 
      
    • NixOS (Not implementated)

      $ sudo nixos-rebuild switch --flake '.#'