Skip to content

tonyd33/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nixos

Templated from juspay/nixos-unified-template.

Under the hood, it uses nixos-unified. See ./modules to see what's available. We support home-manager (see ./modules/home), nix-darwin (see ./modules/darwin) and NixOS (see ./modules/nixos).

Platform Supported By
macOS only home-manager and/or ✅ nix-darwin
NixOS only home-manager and ✅ NixOS
All platforms home-manager only

Getting Started

On NixOS

If you use, or intend to use, NixOS:

  1. Install NixOS from Graphical ISO image and reboot.
  2. Ensure that /etc/nixos/{configuration.nix, hardware-configuration.nix} are in place.
  3. In a terminal, become root and initialize our template under /etc/nixos:
    sudo su -
    cd /etc/nixos
    nix --accept-flake-config --extra-experimental-features "nix-command flakes" \
      run github:juspay/omnix -- \
      init github:juspay/nixos-unified-template#nixos -o .
    # Replace HOSTNAME with the hostname you entered above.
    mv configuration.nix hardware-configuration.nix ./configurations/nixos/HOSTNAME/
    nix --extra-experimental-features "nix-command flakes" run
  4. At this point, you can move /etc/nixos to anywhere, and initialize a Git repository to track future changes.

On non-NixOS

If you are on macOS or running other Linux distros:

  1. Install Nix:

    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
      sh -s -- install --no-confirm --extra-conf "trusted-users = $(id -un)"
  2. Open a new terminal; Initialize[^omnix] your Nix configuration using this repo as template:

    nix --accept-flake-config run github:juspay/omnix -- \
      init github:juspay/nixos-unified-template -o ~/nixconfig
    cd ~/nixconfig
    image
    • It will prompt to you choose between home-manager only configuration and nix-darwin configuration (ignore the NixOS template). The latter includes home-manager as well.
    • Optionally, you may edit ./modules/{home,darwin}/*.nix to your liking.
  3. Run nix run (or the appropriate command printed by the above command) to activate your configuration.

  4. Restart your terminal.

After steps 1-4, you should expect to see the starship prompt:

image

Whenever you modify your configuration in ./modules/*/*.nix, you should re-run nix run to activate the new configuration.

Details

The configuration repo has flake.nix file in the current directory and some ./modules/{home,darwin,nixos}/*.nix files containing the home-manager, nix-darwin and NixOS configurations respectively that you can review. It also has a justfile, which provides a set of recipes analogous to Make targets to interact with the nix flake.

Run nix run to activate this configuration in your system.

To browse the capabilities of home-manager (and to see what else can go in your ./modules/home/*.nix -- such as shell aliases), consult home-manager options reference. You can also run man home-configuration.nix in the terminal.

Global configuration is in the ./config.nix file. Here, you can specify your user name, email and such settings.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published