# My nix conf ## 🏗️ System Setup ### 👷 "Manual" 1. Boot Installer 2. Clone repo 3. Setup partitions ```bash sudo nix run --extra-experimental-features flakes --extra-experimental-features nix-command github:nix-community/disko -- --mode disko --flake path:$PWD#nixos-pulse ``` 4. Run installer ```bash sudo nixos-install --flake .#nixos-pulse ``` ### 🚀 Fully-Automated 🚨 This will WIPE EVERYTHING on the specified system
⚠️ ensure proper sshd & firewall key setup for remote systems
```bash nix run github:numtide/nixos-anywhere -- --flake path:$PWD#nixos-pulse root@1.2.3.4 ``` ## 🔄 Updates Run this to keep your system up-to-date. ```bash nix flake update sudo nixos-rebuild # this assumes your hostname is the same as in the config ``` Run this to keep your home up-to-date. (Assuming you manage home-manager seperately and don't have it integrated into your osConfiguration) ```bash nix flake update home-manager switch --flake . ``` ## Plasma Add GUI settings to plasma.nix ```bash nix run github:pjones/plasma-manager | rg -v khotkeysrc | rg -v "\[ \]" > plasma.new.nix diff plasma.nix plasma.new.nix # copy over as needed ``` ## 🛠️ Nix Configuration Structure Here's a brief rundown of the directory structure: ### Top-Level Files - `flake.nix`: Nix Flake configuration file. #### `home-mods` Directory Stores modules related to specific user applications or environments. #### `os-mods` Directory Holds system-level modules for network, virtualization, desktop etc. #### `users` Directory Holds home-manager configuration for the users listed in `users.nix` #### `systems` Directory Holds system specific nixos configuration (e.g. hardware quirks). ## 🙏 Made possible by - NixOS: https://nixos.org/ - https://github.com/nix-community/nixos-anywhere - https://github.com/nix-community/disko - Countless great examples e.g.: - https://github.com/etu/nixconfig - https://github.com/hlissner/dotfiles - Caffeine https://en.wikipedia.org/wiki/Caffeine ## License My nix conf Copyright (C) 2024 Tristan Druyen This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see .