guekka / nixos-server Goto Github PK
View Code? Open in Web Editor NEWConfiguration files for my NixOS server
License: Mozilla Public License 2.0
Configuration files for my NixOS server
License: Mozilla Public License 2.0
I'm opening an issue because it's easier than a fork (I've already forked your code). Just want to say thanks for the repo! I've been playing with this for the last couple of weeks. Just one tip. If you set a top-level btfrs subvolume, e.g. "@" in your nix-setup script, then you can have a flat btrfs subvolume structure and don't need to delete any subvolumes of root at boot - you just delete root
directly and replace with it's copy root-blank
.
So nix-setup.sh
would look like:
mount "$DISK"3 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@/root
btrfs subvolume create /mnt/@/home
btrfs subvolume create /mnt/@/nix
btrfs subvolume create /mnt/@/persist
btrfs subvolume create /mnt/@/log
I realized this after I was trying to get disko working with impermanence, and I couldn't get it to work properly with nested subvolumes (though I may have just been doing something wrong!). There is a good discussion on the old btrfs wiki on flat vs nested subvolumes They each have their pros and cons. I think I find flat easier to work with.
Anyway thanks again!
Hi, I found your guide here and it is exactly what I'm looking for. First, I'd like to thank you for your great write up on the general concepts and how to implement them. I'd like to host some services within a QEMU virtual machine running NixOS 23.05 on my server. Because of this, I did not have to change almost any of your configuration settings. I only had to change the size of my swap and root partitions. Other than that, I followed your guide to the t. I'm stuck at the section labeled Configuring impermanence Upon reboot two errors stick out to me. Here's the output of my boot log.
<<< NixOS Stage 1 >>>
loading module virtio_balloon...
loading module virtio_console...
loading module virtio_rng...
loading module btrfs...
loading module dm_mod...
running udev...
Starting systemd-udevd version 253.6
Starting device mapper and LVM...
Scanning for Btrfs filesystems
registered: /dev/vda3
mounting /dev/disk/by-uuid/da2b0efd-50ca-4542-a4de-03dc106f8f2c on /...
mounting /dev/disk/by-uuid/da2b0efd-50ca-4542-a4de-03dc106f8f2c on /persist...
mounting /dev/disk/by-uuid/da2b0efd-50ca-4542-a4de-03dc106f8f2c on /nix...
mounting /dev/disk/by-uuid/da2b0efd-50ca-4542-a4de-03dc106f8f2c on /var/log...
<<< NixOS Stage 2 >>>
running activation script...
setting up /etc...
A file already exists at /etc/machine-id
A file already exists at /etc/ssh/ssh_host_ed25519_key!
A file already exists at /etc/ssh/ssh_host_ed25519_key.pub!
A file already exists at /etc/ssh/ssh_host_rsa_key!
A file already exists at /etc/ssh/ssh_host_rsa_key.pub!
Activation script snippet 'persist-files' failed (1)
starting systemd...
Welcome to NixOS 23.05 (Stoat)!
A little further into boot:
[ OK ] Mounted HugePages File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Finished Create List of Static Device Nodes.
[ OK ] Finished Load Kernel Module configs.
[ OK ] Finished Load Kernel Module fuse.
[ OK ] Finished Load Kernel Module drm.
[ OK ] Started Journal Service.
[FAILED] Failed to start Bind mount or link '/etc/machine-id' to '/etc/machine-id'.
See 'systemctl status persist--persist-etc-machine-id-.service' for details.
[FAILED] Failed to start Bind mount or link 'key' to '/etc/ssh/ssh_host_ed25519_key'.
See 'systemctl status persist--persist-etc-ssh-ssh_host_ed25519_key-.service' for details.
[FAILED] Failed to start Bind mount or link 'h' to '/etc/ssh/ssh_host_ed25519_key.pub'.
See 'systemctl status persist--persist-etc-ssh-ssh_host_ed25519_key.pub-.service' for details.
[FAILED] Failed to start Bind mount or link 'rsa_key' to '/etc/ssh/ssh_host_rsa_key'.
See 'systemctl status persist--persist-etc-ssh-ssh_host_rsa_key-.service' for details.
[FAILED] Failed to start Bind mount or link 'pub' to '/etc/ssh/ssh_host_rsa_key.pub'.
See 'systemctl status persist--persist-etc-ssh-ssh_host_rsa_key.pub-.service' for details.
[ OK ] Finished Coldplug All udev Devices.
[ OK ] Finished Remount Root and Kernel File Systems.
[ OK ] Finished Load Kernel Modules.
Any files that I add to the root directory do not get wiped by the snapshot taken from a clean state. Any help would be greatly appreciated. Please let me know if I can provide any more information.
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.