Code Monkey home page Code Monkey logo

dots's Introduction

My Home-Manager Configuration

My dotfiles are managed using Home Manager. All my computers run Home Manager using nix to specify my configuration files and installed user-space tools and applications. Similarly, my linux machines run NixOS, an operating whose configuration is built on nix. NixOS manages system configuration, like hardware drivers, firewall rules, systemd units, file systems, and desktop environments.

Together, these tools entirely define my home (and soon cloud) infrastructure and user-space configuration and tools.

Starting From Scratch

NixOS

On a new NixOS installation, run this from the home directory.

nix-shell -p git
git clone [email protected]:rutrum/dots.git
cd ~/dots
nixos-rebuild switch --extra-experimental-features flakes \
    --extra-experimental-features nix-command switch --flake .#<host>

Home Manager

In any linux environment with nix installed, run the following from the home directory.

nix-shell -p git home-manager
git clone [email protected]:rutrum/dots.git
cd ~/dots
home-manager --extra-experimental-features flakes \
    --extra-experimental-features nix-command switch --flake .#rutrum

Then run snrs to load the system configuration or run hms to reload the home-manager configuration.

Directory Structure

  • hosts: machine specific NixOS configurations
  • hosts/modules: NixOS modules
  • users: user/machine specific home-manager configurations
  • users/modules: home-manager modules

The modules are not polished, nor meant for external use. They are simply used to break up parts of my configuration and share between hosts and users.

Hosts and Users

I manage a few host machines on my home network:

  • rumtower: my gaming and main productivity rig
  • rumprism: my laptop for light productivity work
  • rumnas: my home NAS and server
  • rumpi: my Raspberry Pi 4

Similarly, home-manager configurations:

  • rutrum@rumtower
  • rutrum@rumprism
  • rutrum@rumnas
  • rutrum: for every other system, including non-nixos systems, like my work laptop running Windows with WSL

dots's People

Contributors

rutrum avatar

Stargazers

Yash Raj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.