- Create a home lab
- Look at Home assistant
- Look at Nextcloud
- Look at cockpit
- Look at TailScale
- https://old.reddit.com/r/homelab/comments/16bg3h2/why_tailscale/
- https://old.reddit.com/r/Tailscale/comments/ut25pk/dynamic_ip/
- https://tailscale.com/blog/how-tailscale-works
- https://old.reddit.com/r/homelab/comments/13beyti/best_way_for_remote_access_to_homelab/
- https://old.reddit.com/r/homelab/comments/mnqoka/how_do_you_access_your_homelab_from_outside/
- https://old.reddit.com/r/homelab/comments/1djwtjz/starting_over_again_how_to_do_domains_certs_and/
- Look at setting up hardware
- Look at QEMU
- [/] Check what the error is in the boot (and shutdown) sequence (Looked to be something about "ACPI" I think, I'll need to record the boot sequence to see what it says)
- Can look at the error with
journalctl -b
(journalctl
-boot presumably?) - It appears to be some energy/power saving and underclocking features.
- This would make sense with how hot my computer gets when it's plugged in even at low processor levels
- Can look at the error with
- Look at what hardware specific options need to be set for my laptop
- [/] Setup battery management (tlp?)
- Document structure changes
- Setup auto-updates
- Setup keybind for
hyprctl kill
- When playing Worldless on xbox controller extra rumbles play after an intended rumble
- This probably needs an extra driver to be installed
- It feels like the rumbles are some kind of testing rumble to see if all the different rumbles are working correctly
- Convert various package installs to modules
- obs-studio
- thunderbird
- When using Hyprland
- Automatically spawn and move Obsidian in my vault in a specific desktop
- Automatically spawn and move Firefox in a desktop
- Automatically spawn and move Thunderbird in a specific desktop
- Automatically spawn and move terminal (foot) in a desktop (Should I spawn that in a special desktop so I can pull it up with a keybind?)
- [-] Theme the icons for waybar workspaces such that they represent these specific meanings
- Configure user accounts under
users.users.${name}.whatever
- I could go back to the old way of extending the host config with the user config
- Because then I could generate an option for each user and then only if it is enabled do I add the configuration.nix from the user
- Create an option for each user
- If the option is enabled add configuration.nix from that folder to the config
- Automatically create the user using
users.users.${user}
- Special input support
- Logitech
- Mouse
- Keyboard
- Steelseries keyboard
- Razor mouse
- Stream deck
- Logitech
- [-] See if I can do anything about specialisations
- If I'm making a specialisation per DE I could loop over the list of all DEs and create specialisations if more than one is enabled
- Alternatively I could probably add in my implementation of the specialisation option in my modules system and then integrate that into the Nix specialisation option
- I could potentially convert the
opts
input into a sub-option of theconfig
input which could then be overriden by specialisations- I.e.
config.opts=opts;
and then overriding it in specialisationsconfig.opts.environment.gnome.enable=lib.mkForce true;
- Which desktop environment is enabled could be converted to an enum and enum list, i.e.
opts.environment.current="gnome";
andopts.environment.enabled=["gnome" "hyprland"];
and then specialisations could be generated for each option in enabled (current would probably be autogenerated)
- I.e.
- At the moment, the only thing I would really use specialisations for is desktop environments (/window managers) given that managing this is a role already completed by SDDM/display managers I don't think this is a needed task atm
- Setup ClamAV and potentially add systemd task to run it automatically
- Disable logging into root and add a local admin account
- Various security hardening
- https://github.com/fufexan/dotfiles/blob/e85f77b1ab197e6bb4f7c8861305a02db2ea38df/system/core/security.nix
- https://wiki.nixos.org/wiki/Security
- https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/profiles/hardened.nix
- https://xeiaso.net/blog/paranoid-nixos-2021-07-18/
- https://old.reddit.com/r/NixOS/comments/1aqck9l/systemd_hardening_some_preconfigured_options_d/
- https://wiki.nixos.org/wiki/Security
- Secure boot (wiki)
- Systemd hardening
- https://github.com/cynicsketch/nix-mineral
- https://github.com/JayRovacsek/nix-config/blob/0f18ebf54033e291bee32bf52171676514563862/home-manager-modules/firefox/default.nix
- https://github.com/JayRovacsek/vulnix-pre-commit/blob/main/README.md
- https://apparmor.net/
- https://wiki.nixos.org/wiki/Workgroup:SELinux
- Add Freetube https://mynixos.com/home-manager/options/programs.freetube
- [/] Switch to using ags instead of waybar
- Auto reload config
- AI window?
- cava integration
- Add button to turn it off for performance
- Turn it off when music is paused
- https://github.com/ferrreo/ags-dots/blob/main/.config/ags/widgets/visualiser.js
- this is useful for finding appropriate icons
- Notifications
- Screen brightness level
- System monitor (cpu, memory, temperature)
- Volume
- Anti-screen sleep
- Background (and theme) selector
- Click to cycle through
- Use swww to animate on background chagne
- Click+drag to manually select from grid of backgrounds
- Next background preview image for button
- (Like in the video just above this heading)
- Add BTop for system monitor
- Phone connection app? KDE Connect would probably work
- I think it was called
zoxide
? It was a replacement forcd
which had fuzzy finding and history - Use krunner / anyrunner instead of rofi?
- OBS
- [-] Aseprite (I have it with steam but I think I saw it as a module which could be better?)
- Krita
- Discord
- Thunderbird
- KeePassXC
- Hyprland
- Setup options with home manager
- Make sure it's working properly
- https://github.com/KZDKM/Hyprspace
- https://standards.hyprland.org/hyprcursor/
- https://github.com/lbonn/rofi
- https://github.com/Alexays/Waybar/wiki/Configuration
- https://wiki.hyprland.org/Useful-Utilities/Status-Bars/
- https://github.com/fufexan/dotfiles/tree/main/home/programs/wayland/hyprland
- Obsidian
- Check if it still needs to be in unstable because of the electron issue
- It no longer needs to be in unstable! :)
- Neovim
- Neovide (Terminals are better on linux. Will this be needed there?)
- Neovim settings/config
- Dependencies
- Rust
- Fzf
- https://github.com/nix-community/nixvim
- Dependencies
- setup plymouth
- Look at setting up impermanence https://www.youtube.com/watch?v=YPKwkWtK7l0
- Take a look at kando
- Try getting stylix to work again
- If not could I make my own version or something?
- Get system back to old state
- Import missing settings from git commit "feat!: burn it all"
- Audio
- Grub
- [/] Misc apps
- Partition manager
- GParted
- Partition manager
- Printing
- Network manager
- Antivirus
- Doas
- Firefox
- With policies
- [-] Setup custom homepage
- [/] With extensions
- [/] Redirector
- setup with redirects automatically
- KeePassXC
- UBlockOrigin
- MultiAccountContainers
- [-] Google container (Not in firefox-addons?)
- Facebook container
- [/] Redirector
- With policies
- Convert those settings to modules
- Create options for those modules
- Import missing settings from git commit "feat!: burn it all"
- [/] yazi https://yazi-rs.github.io/features https://mynixos.com/home-manager/options/programs.yazi
- [/] replace hyprpaper with swww (Because swww has a cool background switch animation)
- atuin https://mynixos.com/home-manager/options/programs.atuin
- GameMode https://wiki.nixos.org/wiki/GameMode
- https://search.nixos.org/packages?query=vlc
- https://search.nixos.org/packages?query=vital
- https://search.nixos.org/packages?query=ludusavi
- https://mynixos.com/nixpkgs/package/gnome.gnome-clocks
- https://mynixos.com/nixpkgs/package/kdenlive
- https://alternativeto.net/software/appflowy/about/
- https://alternativeto.net/software/zotero/about/
- https://alternativeto.net/software/natron/about/
- nix-tree
- ncdu (NCurses disk usage)
- NixOS generations trimmer