2022-01-15 11:47:39 -03:00
2021-12-14 15:25:15 -03:00
2022-01-11 02:00:37 -03:00
2022-01-15 11:10:09 -03:00
2021-12-24 22:10:33 -03:00
2022-01-15 11:10:09 -03:00
2021-09-21 20:45:21 -03:00
2022-01-15 11:47:39 -03:00
2022-01-15 11:47:39 -03:00
2021-09-13 03:52:48 -03:00
2022-01-06 20:18:42 -03:00

My NixOS configurations

Here's my NixOS/home-manager config files. Requires Nix flakes.

Looking for something simpler to start out with flakes? Try my starter config repo.

Structure

  • flake.nix: Entrypoint for hosts and home configurations. Also exposes a devshell for boostrapping (nix develop).
  • hosts: System-wide configuration for my machines. Accessible via nixos-rebuild --flake.
    • atlas: Desktop PC - 32GB RAM, R5 3600x, RX 5700XT | Sway
    • pleione: Lenovo Ideapad 3 - 8GB RAM, R7 5700u | Sway
    • merope: Raspberry Pi 4 - 8GB RAM | Server
    • maia: Gf's PC - 16GB RAM, i5 6600, GTX 970 | GNOME
  • users: Home-manager configurations for my user(s). Acessible via home-manager --flake
    • misterio: That's me!
    • layla: My sweet sweet girl
  • modules: A few modules i have for personal use.
  • overlays: Patches and version overrides for some packages. Accessible via nix build.
  • pkgs: Some of my custom packages. There's a few others at my NUR. Also accessible via nix build.
  • templates: A couple project templates for different languages. Accessible via nix init.

About the installation

This is hardware specific and can easily be changed by switching out hardware-configuration.nix files.

I use a erase my darlings-like setup. My desktop pc uses an encrypted btrfs partition, which has subvolumes for nix store, games, home (snapshotted), srv (snapshotted), and var. The pi is similar, but with a single ext4 partition for all that. The root filesystem is a tmpfs, on which the partitions are mounted to achieve opt-in state.

I use home-manager as a standalone module, and, as such, i have to "manually" activate it. For this reason, i have a hook on loginShell that activates it, if not already active.

How to bootstrap

All you need is bash, nix, and git. Just nix develop, and you should be good to go.

nixos-rebuild --flake . To build system configuration

home-manager --flake . To build user configuration

S
Description
Personal monorepo. NixOS+home-manager configs, website, and other projects.
Readme MIT
17 MiB
Languages
Nix 50.6%
Java 25.3%
Python 10.3%
TypeScript 5%
Shell 3%
Other 5.7%