Find a file
2025-01-23 20:21:41 +01:00
common nix: update channel to 24.11 2024-12-12 13:33:48 +01:00
crypto nya 2024-10-05 17:16:27 +02:00
dotfiles zoxide 2024-06-06 15:50:43 +02:00
home youbiiii 2024-10-04 20:25:54 +02:00
hosts vulpecula: add prometheus and node-exporter 2024-12-12 13:53:58 +01:00
modules/nixos vedirect-reader is packaged in its own flake 2024-06-01 13:17:17 +02:00
overlays cracking prismlauncher for good reasons (i have bought minecraft) 2024-05-23 13:43:28 +02:00
pkgs stuff 2024-06-07 14:57:57 +02:00
stuff uhh 2024-06-24 10:16:41 +02:00
.gitignore Initial commit 2024-04-08 20:32:17 +02:00
flake.lock lockfile update 2025-01-23 20:21:41 +01:00
flake.nix nix: update channel to 24.11 2024-12-12 13:33:48 +01:00
README.md usbguard and doc format 2024-06-12 15:20:56 +02:00

My NixOS config

File system structure

this is outdated

  • common: stores all Nix files which are shared by all system configs
    • de: Desktop environments and their parameters
    • hardware: self-explenatory
    • locales: localization options
    • packages: services & packages with common configurations
    • base.nix: The minimum configuration that a machine needs
    • full-install.nix: if this machine has a DE or is going to be used by a human
    • tasia-packages.nix: Collection of additional packages
  • common: SSH keys, secrets, ...
  • dotfiles: all my dotfiles
  • home: user-specific settings.
  • hosts: Machine-specific configurations
  • modules/nixos: Custom NixOS modules
  • overlays: Custom NixOS overlays
  • pkgs: Custom NixOS packages
  • stuff: Random stuff that doesn't belong anywhere else

Memo

Update channels: nix flake update

Build a configuration: sudo nixos-rebuild switch --flake .#$(cat /etc/hostname)

Build enry and upload a generation: nixos-rebuild switch --use-remote-sudo --flake .#enry --target-host tasia@enry -L

To do on a new machine

  • Install NixOS
  • Clone this repo git clone https://gitea.com/tasiaiso/nixos-config.git && cd nixos-onfig
  • export HOSTNAME=<your-hostname> && mkdir hosts/$HOSTNAME && cd hosts/$HOSTNAME && touch configuration.nix
  • Fill out configuration.nix
  • add your key in common/programs/ssh.nix
  • sudo nixos-generate-config --show-hardware-config > hosts/$HOSTNAME/hardare-configuration.nix
  • `sudo nixos-rebuild switch --flake .#$HOSTNAME"
  • If usbguard is enabled, check allowed devices.

git

generate an ssh key: ssh-keygen -t ed25519

add to ssh-agent: ssh-add .ssh/id_ed25519

add to git: git config --global user.signingkey ~/.ssh/id_ed25519

google-authenticator

  • google-authenticator -td -r 5 -R 60 -w 2

Hosts

theseus

My main PC. Mostly unused because of power constraints

phoenix

My old laptop.

stuff

Another person's laptop.

enry

This is my Raspberry Pi 3B+ inside my electrical cabinet.

yaseen

New laptop. Main driver.