erictossell / nixflakes

My nixdots, but flaked.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚠️ I am not an authority on Nix or NixOS. I am merely an apprentice, an Alice navigating the wonderland. At least for now.

So anyways. Here's my dots. I hope you like them.

Eriim's Nixflakes

There are many paths to the top of the mountain, but the view is always the same.

How to use this repo

Getting Started with NixOS Minimal

Why Nix and NixOS

Got questions? Send them in the form of an issue or reach me at any of my other points of contact available on my GitHub Profile - I make no guarantees but I'm happy to do my best.

πŸ“ What is in this repo?

1. A modular (opinionated) Configuration Structure

2. Flake templates - Quickly grab this configuration and make it your own with:

nix flake new -t github:erictossell/nixflakes ./<your-repo-name-here>

3. An interactive build script for adding new hosts/users at sh/build.sh

4. eriixvim - a fully reproducible neovim configuration built with nixvim.

Try it out with:

nix run github:erictossell/eriixvim

5. A simple example of a custom built rust package: russh.

The highlight being how simple it is to package any application with flakes and import them into a configuration and not my rust code.

6. Semi up-to-date diagrams of the structure of this flake and the configurations managed by me.

7. nix flake show github:erictossell/nixflakes

github:erictossell/nixflakes/bbca96ce85416b025d652d752c87d3816b2bf8ad
β”œβ”€β”€β”€devShells
β”‚   └───x86_64-linux
β”‚       └───default: development environment 'nix-shell'
β”œβ”€β”€β”€formatter
β”‚   └───x86_64-linux: package 'nixpkgs-fmt-1.3.0'
β”œβ”€β”€β”€nixosConfigurations
β”‚   β”œβ”€β”€β”€ambiens: NixOS configuration
β”‚   β”œβ”€β”€β”€live-image: NixOS configuration
β”‚   β”œβ”€β”€β”€principium: NixOS configuration
β”‚   β”œβ”€β”€β”€sisyphus: NixOS configuration
β”‚   β”œβ”€β”€β”€virtualis: NixOS configuration
β”‚   └───winix: NixOS configuration
└───templates
    └───default: template: The default template for Eriim's nixflakes.

8. Nix CI/CD with Github Actions - Built with: Cachix - Install Nix, Determiniate Systems - Flake Check, stefanzweifel - Commit Action, statix, nixpkgs-fmt

Flake Structure

Modules are grouped to be almost purely functional and as a result you will often find both the system configuration and the home-manager configuration in the same place. Not all NixOS users use this paradigm.

This repo has become more opinionated over time and now requires passing down variables from the flake.nix in order to fetch appropriate host and user specific configurations for a given device.

Flake Github URLS

Transparency is cool.

Input Following
nixpkgs nixos-unstable
home-manager following nixpkgs
NixOS-WSL following nixpkgs
agenix following nixpkgs
hyprland nixos-unstable
eriixpkgs nixos-unstable
πŸ“Š Diagrams

Flake Structure

Flake Profiles

πŸ“Έ Screenshots

Current

Hyprland Hyprland

October 2023

Hyprland

Hyprland1

Hyprland3

How to use this repo

Getting Started with NixOS Minimal

About

My nixdots, but flaked.

License:MIT License


Languages

Language:Nix 94.6%Language:Shell 5.4%