- Remove disko everywhere: - Delete hosts/Nixbook/disko.nix and hosts/Nixtest/disko.nix - Drop disko input, modules, and disko-install app - Update README to remove disko mention - Simplify flake inputs: - Use nixpkgs = nixos-unstable only - Home Manager -> master (follows nixpkgs) - Remove nixpkgs-unstable and vscode-extensions - Pass allowUnfree via specialArgs - Centralize storage tools: - Add fuse3 and rclone to hosts/common/default.nix - Remove hosts/common/rclone.nix and screen.nix - Add user thiago to "fuse" group - Drop per-host rclone packages - NVIDIA module: - Use pkgs.linuxPackages.nvidiaPackages.latest (no unstable import) - Keep nvidiaSettings=true, open=false - Remove sunshine service block - Hosts: - Nixstation: remove Hyprland block, zramSwap 30% -> 25% - Clean hardware-configuration args - Versions: - system.stateVersion: 24.05 -> 25.11 (Nixstation) - home.stateVersion: 24.05 -> 25.11 - README: adjust Nixbook and common modules descriptions
2.5 KiB
2.5 KiB
My personal machines config files
This repository contains declarative configurations for personal machines managed with NixOS flakes and Home Manager.
The setup is split into host-specific configurations, common reusable modules, and user-level home configurations.
Structure
- flake.nix — entry point, defines inputs (nixpkgs, home-manager, nixvim, etc.) and system/home outputs.
- hosts/ — machine-specific system configurations.
Nixbook/— laptop setup (Apple hardware, Hyprland)Nixstation/— desktop workstation (NVIDIA, virtualization, btrfs scrub, firewall).Nixtest/— minimal VM environment for testing with QEMU.common/— shared modules (users, keyboard, network, gpus, etc.).
- home-manager/ — user environment configurations.
home.nix— main Home Manager entry for user packages and programs.vim.nix,zsh.nix,gnome.nix,hyprland/— modular desktop and tool configurations.scripts/— helper shell scripts (GPU monitor, RAM-disk builds, install helpers).
Usage
Build and switch system configuration
sudo nixos-rebuild switch --flake .#<hostname>
Example for Nixbook:
sudo nixos-rebuild switch --flake .#Nixbook
Build and switch home configuration
home-manager switch --flake .#thiago@<hostname>
Example for Nixstation:
home-manager switch --flake .#thiago@Nixstation
Installation
For new installs, use the provided install scripts:
- hosts/Nixbook/scripts/install.sh — remote installation with
nixos-anywhere. - hosts/Nixtest/scripts/install_test.sh — bootstraps a test VM with Alpine + QEMU.
Scripts
Some helper scripts are included:
lsgpu.sh— monitor NVIDIA GPUs in terminal.nixstation-home-ram-build.sh— runhome-managerbuilds in a RAM disk.- Install scripts under each host as described above.
TODOs:
- Device identifiers (disk paths, GPU PCI IDs, monitor names) are currently hardcoded and may need modification on different hardware.
- Find a good secret management system/process
Contributing
Commit tags:
- feat: a new feature
- fix: a bug fix
- chore: maintenance tasks, config, tooling, repo setup
- docs: documentation only
- style: code style/formatting (no logic changes)
- refactor: code restructuring (no feature/bug fix)
- perf: performance improvements
- test: adding or modifying tests
- ci: continuous integration changes
- build: changes to build system or dependencies
License
Configuration files are provided under GPLv3 where applicable