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.
There are two main ways to deploy these dotfiles on a system:
If you have set up a NixOS system with a configuration.nix file, it’s 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 bootstrapping (nix developornix-shell).hosts: NixOS Configurations, accessible vianixos-rebuild --flake.aanallein: HP Serverrhuidean: Virtual Machine - Used for tesingtanchico: Gaming PC - 32GB RAM, Ryzon7 5800X3Dterangreal: Desktop PC - 48GB RAM, Ryzon7 5600tuathaan: HP work laptop
modules: My Home-manager configuration, accessible viahome-manager --flake- Each directory here is a “feature” each
hmconfiguration can toggle, thus customizing my setup for each machine (be it a server, desktop, laptop, anything really).
- Each directory here is a “feature” each
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.secrets: Mysopssecrets, used in the configuration.system: Modules that are the “system/nixpkgs,” configuration.flake.nix.
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