mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
55 lines
3.0 KiB
Plaintext
55 lines
3.0 KiB
Plaintext
|
---
|
||
|
title: What's in my flake?
|
||
|
---
|
||
|
= What's in my flake?
|
||
|
|
||
|
You can see the full details with `nix flake show`.
|
||
|
As a helpful summary, here's what my flake should contain sorting from the most interesting and helpful outputs to the most boring and unnecessary.
|
||
|
|
||
|
* `packages` contains github:{github-repo}[my custom packages, path=./pkgs, rev=master] and some of usual images of several hosts which is nice for easily fetching custom images.
|
||
|
|
||
|
* `overlays` contains the overlay for extending nixpkgs with my packages.
|
||
|
If you want to use my packages alongside the nixpkgs attribute then this is what you're looking for.
|
||
|
|
||
|
* `homeModules` are where my github:{github-repo}[custom home-manager modules, path=./modules/home-manager, rev=master] to be exported.
|
||
|
footnote:[This is more useful than my NixOS modules.]
|
||
|
|
||
|
* `nixosModules` are composed from NixOS modules defined in github:{github-repo}[`./modules/nixos`, path=./modules/nixos, rev=master].
|
||
|
It can be used as additional modules for your own NixOS config in case you want to use mine for whatever reason.
|
||
|
There are some niceties in there.
|
||
|
+
|
||
|
--
|
||
|
A few examples include:
|
||
|
|
||
|
* A NixOS module for Pop launcher plugins and scripts.
|
||
|
* Several service modules for archiving with github:yt-dlp/yt-dlp[opts=repo], github:mikf/gallery-dl[opts=repo], and link:https://archivebox.io/[ArchiveBox].
|
||
|
* My themes which contain full desktop environments which is nice for quickly initializing a NixOS configuration.
|
||
|
--
|
||
|
|
||
|
* `devShells` from github:{github-repo}[my custom environments, path=./shells, rev=master].
|
||
|
Similar to `homeConfigurations`, you can easily use it outside of NixOS.
|
||
|
|
||
|
* `homeConfigurations` contains my various github:nix-community/home-manager[opts=repo] configurations from link:{github-repo}[`./users/home-manager/`, path=./users/home-manager/, rev=master].
|
||
|
The neat thing about it is you can easily install it in a non-NixOS Linux distro.
|
||
|
|
||
|
* `deploy` are nodes to be deployed by github:serokell/deploy-rs[opts=repo].
|
||
|
It's nice and currently not all of the nodes are publicly committed which is less useful but it'll be someday.
|
||
|
|
||
|
* `nixosConfigurations` which is where you can install my various NixOS configurations directly (e.g., `nixos-install --flake {canonical-flake-url}#HOST`).
|
||
|
This mainly uses the github:{github-repo}[hosts configuration, path=./hosts, rev=master].
|
||
|
|
||
|
* `templates` which contains my templates.
|
||
|
Though, these are just templates mostly for my own purposes so it is not as useful as the other outputs.
|
||
|
|
||
|
* `hydraJobs` contains github:NixOS/hydra[Hydra] build jobs where it is primarily used for my test Hydra instance.
|
||
|
|
||
|
* `lib` is defined from github:{github-repo}[my custom library, path=./lib, rev=master].
|
||
|
It mainly assumes it is to be included in nixpkgs standard library (i.e., `import ./lib { lib = inputs.nixpkgs.lib; }`).
|
||
|
It's another unnecessary export but it's there.
|
||
|
|
||
|
* `formatter` is the preferred formatter to be used for my Nix files.
|
||
|
Nothing special here.
|
||
|
|
||
|
* `checks` contains checks for several outputs and are mainly for internal purposes.
|
||
|
There's no use for anyone else, really. :(
|