-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Overview
This issue tracks the testing and finalization of the server NixOS configuration on a real server running NixOS.
Prerequisites
- A server machine running NixOS
- Git installed
- Root access (for system configuration)
- SSH access (if testing remotely)
Test Steps
1. Clone and prepare the repository
# Clone the repository if you haven't already
git clone https://github.com/patflynn/cosmo.git
cd cosmo
# Create a new branch for your changes
git checkout -b test-server-config
2. Copy hardware configuration
# If testing on the existing server, copy its hardware configuration
cp /etc/nixos/hardware-configuration.nix modules/hosts/server/
# If using the nix-basic configuration, also copy from there
# cp nix-basic/hardware-configuration.nix modules/hosts/server/
3. Update server-specific settings
Review and update the following files as needed:
modules/hosts/server/default.nix
:- Update hostname
- Configure media mounts and filesystem options
- Set up Tailscale configuration
- Disable sleep settings as needed
modules/common/users.nix
: Ensure SSH keys and user settings are correct
4. Test the configuration
# Run a test build (this won't change your system)
sudo nixos-rebuild test --flake .#server
# If there are errors, adjust the configuration files and test again
5. Switch to the new configuration
Once testing is successful, switch to the new configuration:
sudo nixos-rebuild switch --flake .#server
6. Verify functionality
- Ensure the system boots correctly after reboot
- Check that all hardware is properly detected and working
- Verify that networking, SSH, and other services work as expected
- Test mounted filesystems and storage
- Verify Tailscale connectivity if used
- Check that auto-update settings work as expected
7. Document issues and changes
Make note of any issues encountered and changes needed to make the configuration work:
- Hardware-specific adjustments
- Network configuration changes
- Service configuration changes
8. Commit your changes
git add modules/hosts/server/
git commit -m "Update server configuration based on testing"
git push -u origin test-server-config
9. Create a pull request
gh pr create --title "Finalize server configuration" --body "Based on testing on real server hardware"
Acceptance Criteria
- System successfully boots with the new configuration
- All hardware components function correctly
- Network services and remote access work as expected
- Storage and filesystems are properly mounted
- Auto-update and maintenance processes work correctly
- Changes are committed and pull request created
Notes
- Be careful when testing on a production server - have a backup plan in case of issues
- Consider testing on a staging server first if possible
- Document any service configuration changes needed
- If major architectural changes are needed, consider creating separate issues
Metadata
Metadata
Assignees
Labels
No labels