# 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)
* [x] Add a /Storage btrfs subvolume for Docker
* [x] Try lazy.vim - [Link](https://www.lazyvim.org/)
* [x] Look into NixOS Containers - [Link](https://nixos.wiki/wiki/NixOS_Containers)
* [x] Check if other machines can auth to ssh-luks connection 
* [x] emacs
  * [x] Add bracket auto-completion
  * [x] Find a way to have magit save login credentials
* [x] Try out kde2nix - [Link](https://github.com/nix-community/kde2nix)
* [x] home-manager/common/software/cli/bash.nix - Break this out for theming -- Currently statically set to 'gruvbox'
* [x] Redo Hyprland config with Stylix / more nix-centric configuration
  * [x] Look at `services.gammastep`
  * [x] Look at `wayland.windowManager.hyprland` - [Example](https://github.com/SomeGuyNamedMy/users/blob/master/config/mason/desktop.nix)
  * [x] Look at `programs.rofi`
  * [x] Look at `programs.waybar`
  * [x] Look at `services.udiskie`
  * [x] Look at `services.mako`
  * [x] Look at `programs.wlogout`
  * [x] Look at `services.clipmenu`
  * [x] Essentially, move most of the configs to `home-manager` instead of `nixos`
* [x] Try this - Nix colors - [Link](https://github.com/Misterio77/nix-colors)
* [x] Or this - stylix - [Link](https://github.com/danth/stylix)
* [x] Replace RSA keys with ED25519 keys where possible
* [x] Need to set up a new PGP key for use with ProtonMail?  Or move to FastMail?
* [x] xfce4 configs - `~/.config/xfce4`
* [x] nixified.ai - https://github.com/nixified-ai/flake
* [x] Edit the hosts file
* [x] Syncthing
* [x] Try starship.rs - A powerline replacement - [Link](https://starship.rs/guide/#%F0%9F%9A%80-installation)
* [x] Replace fuzzel with rofi
* [x] Update disko configs away from 'table'
  * See ./nixos/hosts/nixos-framework/disks-gpt.nix 
* [x] rofi - rbw integration
* [x] Set up PyRadio with Nightride.FM
* [x] Update desktop Hyprland config with new monitor setup
* [x] See if I can hide the waybar hyprlan workspace switcher when only 1 desktop is present
* [x] Try Atuin (https://atuin.sh)
* [x] Steam Deck config 
    * [x] Jellyfin
* [x] Complete bakersfield-rpi4 image
* [x] Secrets / Tailscale keys for:
    * [x] bakersfield-rpi4 
    * [x] steamdeck
    * [x] Fix mailserver / roundcube failing to authenticate 
    * [x] Rearrange backups:
        * Move /mnt/sdb/{Data,Backups} to /mnt/sda 
        * Move /mnt/sda/Movies to /mnt/sdb
        * Move /mnt/sdb/Music to /mnt/sda
* [x] Fixes:
    * [x] Migrate Forgejo sqlite db to MySQL
        * [x] Alternatively, figure out why sqlite is taking so long to load
* [x] Fix sysctl backup scripts
* [x] 24.05 Updates:
    * [x] Re-enable a few things <SPC-S> "TODO"
    * [x] Add sound to XRDP config 
    * [x] vimPlugins.outline-nvim
* [x] Yubikey
    * [x] Add static password to slot 1 
* [x] Try Superfile - [Link](https://github.com/MHNightCat/superfile)
* [x] High Priority:
    * [x] Nextcloud 29
    * [x] Jellyfin 10.9
    * [x] Traefik v3
      * [x] ifargle.com
        * [x] internal
        * [x] External
      * [x] sysctl.io
        * [x] internal
        * [x] External
    * [x] Jitsi
      * [x] Add section to Authelia config
    * [x] Lemmy
    * [x] Atuin
    * [x] Forgejo Runner
    * [x] Synapse
    * [x] Airsonic 
      * [x] Either re-create the db or re-create the entire thing 
      * [x] DB backend now supports MySQL
* [x] Fix misaligned waybar items 
    * [x] Maybe redo waybar altogether 
    * [x] Maybe add a wallpaper randomizer button via `sww img`
* [x] Fix neovim intro screen not loading 
* [x] Revert to 24.05 and not unstable  
    * Currently seeing issues with the ssh-to-pgp package. 
    * Maybe find a way to pull it from 24.05 temporarily 
* [x] New 
    * [x] Set up TubeArchivist
    * [x] Mealie - v1.6.0
      * [x] Add OIDC config
      * [x] Re-install - Migration isn't working
    * [x] Nextcloud 
      * [x] Configure Redis
    * [x] Screen brightness system widget WILL NOT GO AWAY
    * [x] Add config for lock screen wallpaper? 
* [x] New Features:
    * [x] Add fail2ban to Traefik
        * Check other open ports
* [x] High I/O write causing issues on framework-server - Figure out where this is coming from.  Seems random
* [x] Framework volume buttons don't work on KDE
    * Intermittent
    * Always after reboot
* [x] KDE not saving HDR / high frame rate settings on Wayland
* [x] Firefox:
    * [x] Find a way to remove all default search engines (Google, Amazon, Yahoo!, etc)
    * [x] Pre-defined containers with URLs to match? (ie, Google container opens Google stuff automatically)
* [x] KDE:
    * [x] Add config for tiling <Meta-T>
    * [x] Try Darkman - [Link](https://home-manager-options.extranix.com/?query=services.darkman&release=master)
* [x] Firefox:
    * [x] Arkenfox interfering with some audio settings (media.mediasource, for example)