This is my personal NixOS configuration and is not designed to be used directly by others (though that should be possible if you want to try :). Though feel free to take inspiration from any relevant modules.
See Use it yourself to well...
Lots of these could be switched out with relative ease, some... not so much :/
- optional impermanence setup (tldr: / go BOOM on boot) which really displays the power of NixOS.
- nice scripts (that can be run outside of this config easily:
github:HexoKnight/nixos#<script-name>
for use innix shell/run/etc.
) including:- configopts.sh - allows for easily making small (ba)sh scripts that have fully featured option parsing and help pages
- nixos -
essentially a more ergonomic
nixos-rebuild
, centred around flakes, I've tried my best to keep it general so that it works for managing any nixos flake, not just this one
- hyprbinds - a nixy?? interface to declare hyprland binds (submap support is missing but to be added eventually hopefully)
- fzf - a few functions for generating complex fzf commands
- neovim plugin stuff - not entirely standalone but provides a few functions for concisely importing and configuring plugins
Create your own configuration in configurations/
.
See the other configurations in that directory for examples.
(you can generate most of the hardware boilerplate with nixos-generate-config --show-hardware-config
)
You will want to use the following to set your own password if you want to use sops to manage the password
(you need a --
before any arguments to stop them being passed to nix run
)
nix run github:HexoKnight/nixos#gen-sops-secrets -- --help
...
nix run github:HexoKnight/nixos#gen-sops-secrets -- [whatever args] >path/to/local/nixos/secrets.json
You probably want to disable impermanence, at least at first, because otherwise that requires reformatting your disk (unless you happen to have the exact setup already), which you can do with disko or manually.