β οΈ I am not an authority onNix
orNixOS
. 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.
There are many paths to the top of the mountain, but the view is always the same.
π Docs
Getting Started with NixOS Minimal
Keybindings Implemented by this Configuration
If you have questions you are welcome to 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?
-
A modular (opinionated) Configuration Structure
-
Flake templates - Quickly grab this configuration and make it your own with:
nix flake new -t github:erictossell/nixflakes ./<your-repo-name-here>
-
An interactive build script for adding new
hosts
/users
atsh/build.sh
-
eriixvim
- a fully reproducible neovim configuration built withnixvim
.
Try it out with:
nix run github:erictossell/eriixvim
- 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.
-
Semi up-to-date diagrams of the structure of this flake and the configurations managed by me.
-
Nix CI/CD with Github Actions - Built with: Cachix - Install Nix, Determiniate Systems - Flake Check, stefanzweifel - Commit Action, statix, nixpkgs-fmt
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.
Generated Flake Information
Resolved URL: git+file:///home/runner/work/nixflakes/nixflakes?shallow=1
Locked URL: git+file:///home/runner/work/nixflakes/nixflakes?rev=630dc206579913d9b799daeeda7863923333f167&shallow=1
Description: Eriim's machine specific configuration flake.
Path: /nix/store/izyfk87pgmdrhm8asvd2ryvhi6893zns-source
Revision: 630dc206579913d9b799daeeda7863923333f167
Revisions: 1
Last modified: 2024-06-02 16:25:47
Inputs:
ββββNixOS-WSL: github:nix-community/NixOS-WSL/020cd466170204e448b24b246045599fce69ad91 (2024-05-25 12:32:24)
β ββββflake-compat: github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33 (2023-10-04 13:37:54)
β ββββflake-utils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β ββββnixpkgs follows input 'nixpkgs'
ββββagenix: github:ryantm/agenix/c2fc0762bbe8feb06a2e59a364fa81b3a57671c9 (2024-05-24 14:40:46)
β ββββdarwin follows input ''
β ββββhome-manager: github:nix-community/home-manager/3bfaacf46133c037bb356193bd2f1765d9dc82c1 (2023-12-20 23:00:17)
β β ββββnixpkgs follows input 'agenix/nixpkgs'
β ββββnixpkgs follows input 'nixpkgs'
β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
ββββeriixpkgs: github:erictossell/eriixpkgs/f8caa1dbedd985c1a79b975779e4ef8bd5cc1a0d (2024-06-02 00:22:10)
β ββββeriixvim: github:erictossell/eriixvim/9b5d73b84fa3bd2f9e75bd6c6afc53ea93f480d5 (2024-04-30 21:42:18)
β β ββββflake-parts: github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d (2024-04-01 23:40:58)
β β β ββββnixpkgs-lib: github:NixOS/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089?dir=lib (2024-03-29 09:07:56)
β β ββββnixpkgs: github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994 (2024-04-27 21:35:43)
β β ββββnixvim: github:nix-community/nixvim/2483dff03dd326296278213a8e051d375b56d3df (2024-04-30 16:36:11)
β β ββββdevshell: github:numtide/devshell/12e914740a25ea1891ec619bb53cf5e6ca922e40 (2024-04-19 13:19:58)
β β β ββββflake-utils: github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725 (2023-12-04 08:58:27)
β β β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β β β ββββnixpkgs follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β β ββββflake-compat: https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D (2023-10-04 13:37:54)
β β ββββflake-parts: github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d (2024-04-01 23:40:58)
β β β ββββnixpkgs-lib follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β β ββββhome-manager: github:nix-community/home-manager/9fe79591c1005ce6f93084ae7f7dab0a2891440d (2024-04-28 22:30:45)
β β β ββββnixpkgs follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β β ββββnix-darwin: github:lnl7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7 (2024-04-24 08:09:31)
β β β ββββnixpkgs follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β β ββββnixpkgs: github:NixOS/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994 (2024-04-27 21:35:43)
β β ββββpre-commit-hooks: github:cachix/pre-commit-hooks.nix/6fb82e44254d6a0ece014ec423cb62d92435336f (2024-04-24 10:34:06)
β β ββββflake-compat: github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33 (2023-10-04 13:37:54)
β β ββββflake-utils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β β ββββgitignore: github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394 (2024-02-28 02:28:52)
β β β ββββnixpkgs follows input 'eriixpkgs/eriixvim/nixvim/pre-commit-hooks/nixpkgs'
β β ββββnixpkgs follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β β ββββnixpkgs-stable follows input 'eriixpkgs/eriixvim/nixvim/nixpkgs'
β ββββflake-utils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β ββββgo-time: github:erictossell/go-time/18e4d069522a1ad1e65223ec95daed4baeae5f71 (2024-04-30 21:46:46)
β β ββββnixpkgs: github:NixOS/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994 (2024-04-27 21:35:43)
β ββββhomepage-nix: github:erictossell/homepage-nix/c6620260812bc35ee7209ab2fa0f4899868b86f1 (2024-03-08 02:17:42)
β β ββββnaersk: github:nix-community/naersk/aeb58d5e8faead8980a807c840232697982d47b9 (2023-10-27 15:31:12)
β β β ββββnixpkgs: github:NixOS/nixpkgs/f945939fd679284d736112d3d5410eb867f3b31c (2024-03-07 02:56:54)
β β ββββnixpkgs: github:NixOS/nixpkgs/f945939fd679284d736112d3d5410eb867f3b31c (2024-03-07 02:56:54)
β β ββββutils: github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605 (2024-02-28 13:18:44)
β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β ββββnixpkgs follows input 'nixpkgs'
β ββββreadme-py: github:erictossell/readme-py/5aa386ce95659257d578c9a80d75fefe16ae1b1a (2024-06-02 00:12:29)
β β ββββflake-utils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β β ββββnixpkgs: github:NixOS/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b (2024-05-29 02:06:23)
β β ββββpoetry2nix: github:nix-community/poetry2nix/11e97e742da5b4e43c27cfe13fca904e82fd4e56 (2024-06-01 13:55:09)
β β ββββflake-utils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β β ββββnix-github-actions: github:nix-community/nix-github-actions/5163432afc817cf8bd1f031418d1869e4c9d5547 (2023-12-29 15:30:25)
β β β ββββnixpkgs follows input 'eriixpkgs/readme-py/poetry2nix/nixpkgs'
β β ββββnixpkgs follows input 'eriixpkgs/readme-py/nixpkgs'
β β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
β β ββββtreefmt-nix: github:numtide/treefmt-nix/03b982b77df58d5974c61c6022085bafe780c1cf (2024-05-31 19:02:28)
β β ββββnixpkgs follows input 'eriixpkgs/readme-py/poetry2nix/nixpkgs'
β ββββrussh: github:erictossell/russh/dd53274d43199a67f9d192d88b6f77807363657b (2024-04-30 21:45:16)
β ββββnaersk: github:nix-community/naersk/c5037590290c6c7dae2e42e7da1e247e54ed2d49 (2024-04-19 09:58:44)
β β ββββnixpkgs: path:/nix/store/370qy3d3wg9zhbn5a3dcv6k1q1iigfh4-source?lastModified=0&narHash=sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY%3D (1970-01-01 00:00:00)
β ββββnixpkgs: github:NixOS/nixpkgs/cf8cc1201be8bc71b7cbbbdaf349b22f4f99c7ae (2024-04-28 14:22:29)
β ββββutils: github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a (2024-03-11 08:33:50)
β ββββsystems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e (2023-04-09 08:27:08)
ββββhome-manager: github:nix-community/home-manager/9b53a10f4c91892f5af87cf55d08fba59ca086af (2024-06-02 08:16:22)
β ββββnixpkgs follows input 'nixpkgs'
ββββhyprland: git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=0ebb43c1a37e7321e5ed7223ea85ed555cc82735&submodules=1 (2024-06-01 18:45:30)
β ββββhyprcursor: github:hyprwm/hyprcursor/57298fc4f13c807e50ada2c986a3114b7fc2e621 (2024-05-24 18:46:51)
β β ββββhyprlang follows input 'hyprland/hyprlang'
β β ββββnixpkgs follows input 'hyprland/nixpkgs'
β β ββββsystems follows input 'hyprland/systems'
β ββββhyprlang: github:hyprwm/hyprlang/87d5d984109c839482b88b4795db073eb9ed446f (2024-05-23 14:16:22)
β β ββββnixpkgs follows input 'hyprland/nixpkgs'
β β ββββsystems follows input 'hyprland/systems'
β ββββhyprwayland-scanner: github:hyprwm/hyprwayland-scanner/3afed4364790aebe0426077631af1e164a9650cc (2024-05-18 18:52:55)
β β ββββnixpkgs follows input 'hyprland/nixpkgs'
β β ββββsystems follows input 'hyprland/systems'
β ββββnixpkgs: github:NixOS/nixpkgs/5710852ba686cc1fd0d3b8e22b3117d43ba374c2 (2024-05-21 22:21:37)
β ββββsystems: github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68 (2023-07-14 15:19:09)
β ββββxdph: github:hyprwm/xdg-desktop-portal-hyprland/91e48d6acd8a5a611d26f925e51559ab743bc438 (2024-05-21 11:16:37)
β ββββhyprland-protocols: github:hyprwm/hyprland-protocols/0c2ce70625cb30aef199cb388f99e19a61a6ce03 (2023-08-11 11:36:36)
β β ββββnixpkgs follows input 'hyprland/xdph/nixpkgs'
β β ββββsystems follows input 'hyprland/xdph/systems'
β ββββhyprlang follows input 'hyprland/hyprlang'
β ββββnixpkgs follows input 'hyprland/nixpkgs'
β ββββsystems follows input 'hyprland/systems'
ββββhyprlock: github:hyprwm/hyprlock/e07d4110dc0b9d1786403aa760232564ad28b6fa (2024-05-29 12:54:37)
β ββββhyprlang: github:hyprwm/hyprlang/78fcaa27ae9e1d782faa3ff06c8ea55ddce63706 (2024-04-14 19:00:46)
β β ββββnixpkgs follows input 'hyprlock/nixpkgs'
β β ββββsystems: github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68 (2023-07-14 15:19:09)
β ββββnixpkgs follows input 'nixpkgs'
β ββββsystems: github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68 (2023-07-14 15:19:09)
ββββhyprpicker: github:hyprwm/hyprpicker/bff005ac9c308acb3046d277b60879defb1ee303 (2024-05-14 15:13:12)
β ββββnixpkgs follows input 'nixpkgs'
ββββnixpkgs: github:NixOS/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b (2024-05-29 02:06:23)
git+file:///home/runner/work/nixflakes/nixflakes?rev=630dc206579913d9b799daeeda7863923333f167&shallow=1
ββββdevShells
β ββββx86_64-linux
β ββββdefault: development environment 'nix-shell'
ββββformatter
β ββββx86_64-linux: package 'nixfmt-unstable-2024-03-01'
ββββnixosConfigurations
β ββββarkhitekton: NixOS configuration
β ββββlive-image: NixOS configuration
β ββββterminus: NixOS configuration
β ββββvm-temp: NixOS configuration
β ββββwinix: NixOS configuration
ββββtemplates
ββββdefault: template: The default template for Eriim's nixflakes.