Skip to content

Lenivaya/dotfiles

Repository files navigation

NixOS 23.05 Tests

dotfiles

Different dotfiles which i use every day


screenshot


OS: NixOS
WM: XMonad
sh: zsh (with fastest plugin-manager)
font: (Iosevka + IBM Plex) or Pragmata-Pro
browser: google-chrome / Firefox
editor: Emacs
term: st

Quick start

  1. Acquire NixOS 23.05 or newer:

    # Download nixos-unstable
    wget -O nixos.iso https://channels.nixos.org/nixos-unstable/latest-nixos-minimal-x86_64-linux.iso
    
    # Write it to a flash drive
    cp nixos.iso /dev/sdX
  2. Boot into the installer.

  3. Switch to root user: sudo su -

  4. Do your partitions and mount your root to /mnt (for example).

  5. Install these dotfiles:

    nix-shell -p git nixFlakes
    
    # Set HOST to the desired hostname of this system
    HOST=...
    # Set USER to your desired username (defaults to leniviy)
    USER=...
    
    git clone https://github.com/lenivaya/dotfiles /etc/dotfiles
    cd /etc/dotfiles
    
    # Create a host config in `hosts/` and add it to the repo:
    mkdir -p hosts/$HOST
    nixos-generate-config --root /mnt --dir /etc/dotfiles/hosts/$HOST
    rm -f hosts/$HOST/configuration.nix
    cp hosts/t440p/default.nix hosts/$HOST/default.nix
    vim hosts/$HOST/default.nix  # configure this for your system; don't use it verbatim!
    git add hosts/$HOST
    
    # Install nixOS
    USER=$USER nixos-install --root /mnt --impure --flake .#$HOST
    
    # If you get 'unrecognized option: --impure', replace '--impure' with
    # `--option pure-eval no`.
    
    
    # Then move the dotfiles to the mounted drive!
    mv /etc/dotfiles /mnt/etc/dotfiles

⚠️ Don't forget to change your root and $USER passwords! They are set to nixos by default.

Management

Behold. bin/hey.

Usage: hey [global-options] [command] [sub-options]

Available Commands:
  check                  Run 'nix flake check' on your dotfiles
  gc                     Garbage collect & optimize nix store
  generations            Explore, manage, diff across generations
  help [SUBCOMMAND]      Show usage information for this script or a subcommand
  rebuild                Rebuild the current system's flake
  repl                   Open a nix-repl with nixpkgs and dotfiles preloaded
  rollback               Roll back to last generation
  search                 Search nixpkgs for a package
  show                   [ARGS...]
  ssh HOST [COMMAND]     Run a bin/hey command on a remote NixOS system
  swap PATH [PATH...]    Recursively swap nix-store symlinks with copies (or back).
  test                   Quickly rebuild, for quick iteration
  theme THEME_NAME       Quickly swap to another theme module
  update [INPUT...]      Update specific flakes or all of them
  upgrade                Update all flakes and rebuild system

Options:
    -d, --dryrun                     Don't change anything; preform dry run
    -D, --debug                      Show trace on nix errors
    -f, --flake URI                  Change target flake to URI
    -h, --help                       Display this help, or help for a specific command
    -i, -A, -q, -e, -p               Forward to nix-env