Git Product home page Git Product logo

dotfiles's Introduction

NixOS Unstable

Disclaimer: This is not a community framework or distribution. It's a private configuration and an ongoing experiment to feel out NixOS. I make no guarantees that it will work out of the box for anyone but myself. It may also change drastically and without warning.

My NixOS Configuration

Welcome to my compilation of dotfiles, the secret sauce behind the construction and configuration of my Linux systems. For a deeper dive into NixOS, the innovative Linux distribution I use, and Nix, the powerful package management tool and language that this repository is primarily written in, click Nix.

Sneak Peek

screenshot

Neovim Users My Neovim flake is available: here

How To Install

There are two main ways to deploy these dotfiles on a system:

On an existing NixOS system

If you have setup a NixOS system with a configuration.nix file its possible to switch over to this nix config with the following commands:

nix-shell
nixos-rebuild switch --flake .#

Note: This assumes your computer name matches one of the configurations in the flake.

Repository Structure

  • flake.nix: Entrypoint for hosts and home configurations. Also exposes a devshell for boostrapping (nix develop or nix-shell).
  • hosts: NixOS Configurations, accessible via nixos-rebuild --flake.
    • common: Shared configurations consumed by the machine-specific ones.
    • terangreal: Desktop PC - 48GB RAM, Ryzon7 5600
    • tuathaan: HP work laptop
    • sangreal: ASUS laptop
    • angreal: WSL for work
  • home: My Home-manager configuration, acessible via home-manager --flake
    • Each directory here is a "feature" each hm configuration can toggle, thus customizing my setup for each machine (be it a server, desktop, laptop, anything really).
  • modules: Modules that is a "feature", each that can be toggled on or off in flake.nix
  • overlay: Patches and version overrides for some packages. Accessible via nix build.
  • pkgs: My custom packages. Also accessible via nix build. You can compose these into your own configuration by using my flake's overlay, or consume them through NUR.
  • templates: A couple project templates for different languages. Accessible via nix init.
    • C - C develop environment
    • devshell - Basic develop shell, to be bootstapped to anything
    • latex - Latex develop environment
    • python - Python develop environment
    • rust - Rust develop environment
    • wasm - wasm develop environment
    • java - Java develop environment

Installation via Media

Alternatively, you can install these configurations via the install media from the nix-install repo as follows:

  • Boot off the install media.
  • Create the partition schedule and mount it to /mnt
  • Run `nixos-install --flake github:gako358/dotfiles#terangreal

dotfiles's People

Contributors

gako358 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vrboxing dholtdev

dotfiles's Issues

wanna use your config

Hey I really love your work. This config looks amazing I wanna use it but it's failing are you going to make an installation script for this?

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.