Repo for nix configuration files
Find a file
2023-08-15 13:33:33 +09:00
desktops Testing 2023-08-15 10:15:49 +09:00
home-manager Test 2023-08-15 13:33:33 +09:00
hosts Update name 2023-08-15 11:18:30 +09:00
keys Rename 2023-08-15 12:42:38 +09:00
modules test 2023-08-14 20:49:57 +09:00
secrets update secrets 2023-08-15 13:15:14 +09:00
services test 2023-08-15 12:56:43 +09:00
software test 2023-07-06 12:35:33 +09:00
users Test 2023-08-15 13:32:13 +09:00
.sops.yaml test 2023-08-15 12:56:43 +09:00
configuration.nix Test 2023-08-15 12:46:43 +09:00
flake.lock update secrets 2023-08-15 13:15:14 +09:00
flake.nix Test 2023-08-15 11:57:51 +09:00
README.md Update README 2023-08-15 13:30:58 +09:00
shell.nix TEst 2023-08-15 12:35:57 +09:00

NixOS Configuration Repository

Repo for nix configuration files

To Do List

  • tmux config / theming
  • waybar config / theming
  • hyprland config / theming
  • powerline config / theming
  • neofetch config / theming
  • weechat / weechat-matrix
  • nvidia drivers
  • btop config / theming
  • other things I'm probably forgetting

Information

Home Manager

  • Home Manager Documentation - Link
  • Home Manager Options Search - Link

NixOS

  • NixOS Documentation - Stable - Link
  • NixOS Packages / Options Search - Link
  • Nix User Repository (NUR) Search - Link
  • Tons of good examples here - Link
  • Track a Nixpkgs PR - Link
  • NixOS Flakes Intro Guide - Link

Theming

  • To change system-wide themes, you need to change the following:

gnome

  1. desktops/gnome.nix - Change the imports at the bottom.
  2. users/albert/gnome-dconf.nix - Change the theme variants in the following:
    • org/gnome/shell/extensions/nightthemeswitcher/gtk-variants
    • org/gnome/shell/extensions/nightthemeswitcher/icon-variants
    • org/gnome/shell/extensions/nightthemeswitcher/shell-variants

neovim

  1. home-manager/neovim.nix - Change the following:
    • plugins = with pkgs.vimPlugins - Add your theme under "Themes"
    • extraConfig - Change the colorscheme and AirlineTheme sections

tmux / powerline

  1. WIP

hyprland / waybar

  1. WIP

Firefox

  1. home-manager/firefox.nix - Change the entry under "# Theming"

btop

  1. home-manager/btop.nix - Set color_theme

GPG Keys

  1. Import the user private key: gpg import gpg/users/albert/privkey.asc
  2. Mark it as trusted: gpg --edit-key albert@sysctl.io, then type trust, then 5
  3. On each new machine, run nix-shell -p ssh-to-pgp --run "ssh-to-pgp -i /etc/ssh/ssh_host_rsa_key -o HOSTNAME.asc"
    • This will output the identifier you add to .sops.yaml
    • Move HOSTNAME.asc to keys/hosts/ and upload to git and rename accordingly.

Secrets

  1. To edit a file: cd to /path/to/nix-files/ and run:
    • nix-shell -p sops --run "sops secrets/secret_file.yml"
    • New shell alias: sops secrets/secret_file.yml
  2. When you add a new machine, you must update the secrets files encryption.
    • Run sops-update secrets/secrets.yaml and commit the change.

Lanzaboote / SecureBoot

  • Instructions here - Link
  1. Create your keys: sbctl create-keys
  2. Verify your machine is ready for SecureBoot: sbctl verify - Everything except *-bzImage.efi are signed
  3. Enter Secureboot Setup mode in your EFI Settings on the motherboard (F10)
    • Security -> SecureBoot -> Set to Enabled and "Reset to Setup Mode" and exit
  4. Enroll the keys: sbctl enroll-keys --microsoft
    • If you wish, you acan select --tpm-eventlog, but checksums will change later (ie, at a kernel rebuild)
  5. Reboot and verify you are activated: bootctl status

Other