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.
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.
Neovim Users My Neovim flake is available: here
There are two main ways to deploy these dotfiles on a 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.
flake.nix
: Entrypoint for hosts and home configurations. Also exposes a devshell for boostrapping (nix develop
ornix-shell
).hosts
: NixOS Configurations, accessible vianixos-rebuild --flake
.common
: Shared configurations consumed by the machine-specific ones.terangreal
: Desktop PC - 48GB RAM, Ryzon7 5600tuathaan
: HP work laptopsangreal
: ASUS laptopangreal
: WSL for work
home
: My Home-manager configuration, acessible viahome-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 inflake.nix
overlay
: Patches and version overrides for some packages. Accessible vianix build
.pkgs
: My custom packages. Also accessible vianix 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 vianix init
.C
- C develop environmentdevshell
- Basic develop shell, to be bootstapped to anythinglatex
- Latex develop environmentpython
- Python develop environmentrust
- Rust develop environmentwasm
- wasm develop environmentjava
- Java develop environment
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