mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 09:54:40 +02:00
machine/serverle: switch to disko config
This commit is contained in:
parent
95a5e4cc78
commit
08ffb1865a
6 changed files with 92 additions and 45 deletions
|
@ -131,8 +131,6 @@ used flakes:
|
||||||
root@<host>
|
root@<host>
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## Inspired by
|
## Inspired by
|
||||||
|
|
||||||
- [Nix config by Mic92](https://github.com/Mic92/dotfiles)
|
- [Nix config by Mic92](https://github.com/Mic92/dotfiles)
|
||||||
|
|
|
@ -2,13 +2,17 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./disks.nix
|
|
||||||
./network.nix
|
./network.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
./wifi.nix
|
./wifi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disko.devices = import ./disko-config.nix {
|
||||||
|
disks = [ "/dev/disk/by-id/usb-Seagate_Expansion_2HC015KJ-0:0" ];
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "serverle";
|
networking.hostName = "serverle";
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
|
|
74
machines/serverle/disko-config.nix
Normal file
74
machines/serverle/disko-config.nix
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
{ disks ? [ "/dev/sda" ], ... }:
|
||||||
|
{
|
||||||
|
disk = {
|
||||||
|
vdb = {
|
||||||
|
type = "disk";
|
||||||
|
device = builtins.head disks;
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
boot = {
|
||||||
|
size = "1M";
|
||||||
|
type = "EF02"; # for grub MBR
|
||||||
|
};
|
||||||
|
ESP = {
|
||||||
|
size = "512M";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "encrypted";
|
||||||
|
extraOpenArgs = [ "--allow-discards" ];
|
||||||
|
passwordFile = "/tmp/disk.key";
|
||||||
|
content = {
|
||||||
|
type = "lvm_pv";
|
||||||
|
vg = "pool";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lvm_vg = {
|
||||||
|
pool = {
|
||||||
|
type = "lvm_vg";
|
||||||
|
lvs = {
|
||||||
|
root = {
|
||||||
|
size = "50G";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
data = {
|
||||||
|
size = "350G";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/data";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swap = {
|
||||||
|
size = "4G";
|
||||||
|
content = {
|
||||||
|
type = "swap";
|
||||||
|
randomEncryption = true;
|
||||||
|
resumeDevice = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,29 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
boot.initrd.luks.devices."luks-drive" = {
|
|
||||||
name = "luks-drive";
|
|
||||||
device = "/dev/disk/by-partlabel/Crypt";
|
|
||||||
preLVM = true;
|
|
||||||
allowDiscards = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-label/serverle-root";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-label/serverle-bo";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/srv" = {
|
|
||||||
device = "/dev/disk/by-label/serverle-srv";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [{
|
|
||||||
device = "/dev/disk/by-label/serverle-swap";
|
|
||||||
}];
|
|
||||||
}
|
|
|
@ -5,12 +5,12 @@
|
||||||
|
|
||||||
# make sure folders exist writable
|
# make sure folders exist writable
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d /srv/data/ 0755 syncthing syncthing"
|
"d /data/ 0755 syncthing syncthing"
|
||||||
"d /srv/data/computer 0755 syncthing syncthing"
|
"d /data/computer 0755 syncthing syncthing"
|
||||||
"d /srv/data/phone 0755 syncthing syncthing"
|
"d /data/phone 0755 syncthing syncthing"
|
||||||
"d /srv/data/music 0755 syncthing syncthing"
|
"d /data/music 0755 syncthing syncthing"
|
||||||
"d /srv/data/photos 0755 syncthing syncthing"
|
"d /data/photos 0755 syncthing syncthing"
|
||||||
"d /srv/data/tmp/aria2 0755 syncthing syncthing"
|
"d /data/tmp/aria2 0755 syncthing syncthing"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
folders = {
|
folders = {
|
||||||
"Computer" = {
|
"Computer" = {
|
||||||
id = "djdxo-1akub";
|
id = "djdxo-1akub";
|
||||||
path = "/srv/data/computer";
|
path = "/data/computer";
|
||||||
devices = [
|
devices = [
|
||||||
"thinkman"
|
"thinkman"
|
||||||
"birdman"
|
"birdman"
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
};
|
};
|
||||||
"Phone" = {
|
"Phone" = {
|
||||||
id = "4hds7-gpypp";
|
id = "4hds7-gpypp";
|
||||||
path = "/srv/data/phone";
|
path = "/data/phone";
|
||||||
devices = [
|
devices = [
|
||||||
"thinkman"
|
"thinkman"
|
||||||
"birdman"
|
"birdman"
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
};
|
};
|
||||||
"Music" = {
|
"Music" = {
|
||||||
id = "mphdq-n6q7y";
|
id = "mphdq-n6q7y";
|
||||||
path = "/srv/data/music";
|
path = "/data/music";
|
||||||
watch = false;
|
watch = false;
|
||||||
devices = [
|
devices = [
|
||||||
"thinkman"
|
"thinkman"
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
};
|
};
|
||||||
"Pictures" = {
|
"Pictures" = {
|
||||||
id = "cujyo-yiabu";
|
id = "cujyo-yiabu";
|
||||||
path = "/srv/data/photos";
|
path = "/data/photos";
|
||||||
watch = false;
|
watch = false;
|
||||||
devices = [
|
devices = [
|
||||||
"thinkman"
|
"thinkman"
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
};
|
};
|
||||||
"Aria2" = {
|
"Aria2" = {
|
||||||
id = "jjnzq-pgzua";
|
id = "jjnzq-pgzua";
|
||||||
path = "/srv/data/tmp/aria2";
|
path = "/data/tmp/aria2";
|
||||||
devices = [
|
devices = [
|
||||||
"thinkman"
|
"thinkman"
|
||||||
];
|
];
|
||||||
|
|
|
@ -101,8 +101,8 @@ in
|
||||||
"/var/run"
|
"/var/run"
|
||||||
"/var/tmp"
|
"/var/tmp"
|
||||||
|
|
||||||
"/srv/data/tmp"
|
"/data/tmp"
|
||||||
"/srv/data/todo"
|
"/data/todo"
|
||||||
|
|
||||||
"/home/*/.cache"
|
"/home/*/.cache"
|
||||||
"/home/*/.gvfs"
|
"/home/*/.gvfs"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue