# Done
* [x] ranger
  * [x] Set up `kitten icat` as the image viewer program
* [x] neovim 
  * [x] Figure out how to install vim-fugitive in nvchad
* [x] weechat / weechat-matrix
  * [x] weechat overlay - [Link](https://nixos.wiki/wiki/Weechat) - for weechat-matrix
* [x] Laptop-specific 
  * [x] Set automatic suspend-then-hibernate on lid-close 
  * [x] FIgure out how to enter automatic hibernate on Win-L 
* [x] doom-emacs / spacemacs overlay install / configuration
* [x] hyprland
  * [x] Add a button for wlogout to waybar
    [x] Waybar inhibit button
  * [x] set up pinentry on awesome-hyprland
    * [x] wayprompt
      * [x] Needs an overlay?  Can't find it in search
  * [x] wlogout theming
  * [x] Find a way to adjust window sizes with a keyboard shortcut in Hyprland
  * [x] Swayidle inhibit whnn watching a video
  * [x] Fix cursor size
  * [x] Get swaylock to dim / turn off the screen, then enter suspend/hibernate
  * [x] swayosd
  * [x] cli-based filebrowser for hyprland
    * Installed `ranger`
  * [x] Try hyprctl
  * [x] hyprbars - [Link](https://github.com/hyprwm/hyprland-plugins/tree/main/hyprbars)
  * [x] libinput-gestures?
  * [x] configure programs.light - keybinds in hyprland config
  * [x] authentication agent (like polkit-kde-agent)
  * [x] Set GTK theme for GTK apps 
  * [x] Remove rofi alt-tab shortcuts.  Find another alternative
* [x] Get the video card working properly (turn off entirely unless in use by a game)
* [x] Possibly move away from powerline-go - I want something simpler
    * Staying with powerline-go, just editing the config in `home-manager/bash.nix`
* [x] Set up the fingerprint reader - [Link](https://www.makeuseof.com/set-up-fingerprint-scanner-with-pam-on-linux/)
* [x] sublime music config / theming / integration - [Link](https://docs.sublimemusic.app/)
* [x] rofi config / theming
* [x] nvidia drivers
* [x] WINE configurations
* [x] btop config / theming
* [x] swaylock config / theming
* [x] Get function keys working (sound, brightness, etc)
* [x] regreet config / theming - Icons still broken for some reason
    * Possibly switch to tuigreet and gruv it
* [x] mako config / theming
* [x] waybar config / theming
* [x] hyprland config / theming
  * [x] Try `libinput-gestures` for gesture control of Hyprland - [Link](https://github.com/bulletmark/libinput-gestures)
* [x] powerline config / theming
* [x] neofetch config / theming
* [x] kitty config / theming
* [x] libadwaita theming on Gnome stuck??* 
* [x] Set up IP forwarding via sysctl 
  * Sep 15 14:48:33 nixos-rpi4-01 tailscaled-autoconnect-start[103336]: Warning: IP forwarding is disabled, subnet routing/exit nodes will not work.
* [x] Raspberry Pi 1:
  * [x] Set up Tailscale with pre-auth keys (services.tailscale.authKeyFile, add the key to secrets/secrets.yaml)
    * `${hostname}-tailscale-key`
  * [x] Set up sops and gpg
* [x] Configure GameMode / Gamescope
* [x] Try disko - [Link](https://github.com/nix-community/disko)
* [x] Look into `nix develop` - [Link](https://zero-to-nix.com/concepts/nix#unified-cli)
* [x] Fix Grafana
* [x] Build a better dashboard to monitor all my nixified devices
* [x] Look into Remote Builds - [Link](https://nixos.org/manual/nix/stable/advanced-topics/distributed-builds.html)
* [x] Reorganize Home-Manager
* [x] Split configs into a common and host-specific config (see hyprland on nixos-vm-02 in home-manager for instance)
* [x] minio is broken
* [x] No updates on Lemmy
* [x] cannot send email on port 25 - [Link](https://docker-mailserver.github.io/docker-mailserver/latest/config/security/understanding-the-ports/)
* [x] traccar not seeing phone
* [x] duplicati needs database repairs
* [x] osaka-linode-01 unable to connect to Headscale
* [x] Matrix is unable to send/receive pictures
* [x] Go through old sysctl.io cronjob and import what's neccesary 
* [x] Back up pass.sysctl.io to memory stick (gpg encrypted csv file)
* [x] Get Gnome Remote Desktop / XRDP working 
* [x] Migrate to Protonmail, use the PM mail bridge docker container (Nix pkg?)
* [x] https://github.com/shenxn/protonmail-bridge-docker#initialization
* [x] Server migration
  * Do federated things need to be available externally?
    * Pixelfed
    * Mastodon
    * Lemmy
      * Sepearate backend/frontend
    * Matrix
      * Separate baackend/frontend
  * Outbound ports
    * traefik (80, 443)
    * traccar (5055 tcp/udp) 
      * Can probably bring back internally, both devices will be internal to Headscale
    * jitsi-jvb (10000 udp, 4443 tcp)
    * minecraft (25565)
    * vintage-story (42420)
    * mailserver
      - "25:25"     # SMTP  (explicit TLS => STARTTLS)
      - "465:465"   # ESMTP (implicit TLS)
      - "587:587"   # ESMTP (explicit TLS => STARTTLS)
      - "143:143"   # IMAP4 (explicit TLS => STARTTLS)
      - "993:993"   # IMAP4 (implicit TLS)
      - "4190:4190" # Sieve support
    * tor-relay (9001, 9030) - Probably not hosting for legal reasons
    * headscale-derp (3478/udp, 1443/tcp) - Most likely can't host due to limitations of DERP/xinetd 
    * Headscale needs to be available externally
* [x] nixos-rpi4-02 - Replace piaware-rpi4
  * Container running piaware software
* [x] Figure out networking issues
* [x] nixos-rpi4-01 - Replace japan-rpi4
  * crontab entry for rsyncing storage to /mnt/sda,b,c
* [x] Try [compose2nix](https://github.com/aksiksi/compose2nix) - Docker Compose to Nix converter
* [x] Split docker-compose / traefik between headscale and wireguard networks
* [x] Traefik constraints - [Link](https://doc.traefik.io/traefik/providers/docker/#constraints)
* [x] Reorg docker-compose into "internal" and "external" sections
    * internal/docker-compose.yml
        * internal/_tools/*
        * internal/_infrastructure/*
        * etc
    * external/docker-compose.yml
        * external/_tools/*
        * external/_infrastructure/*
        * etc
* [x] Package `headscale-derp` on Nixpkgs
* [x] Try to set up an action for Gotify notifications on failures - [Link](https://git.sysctl.io/actions/gotify)
* [x] reinstall / re-configure snapper
* [x] Move DNS resolution for internal things to internal pihole server
* [x] Try Distorbox - [Link](https://distrobox.it/)
* [x] Fix Gotify notifications (Jellyfin)