fedora-csb-system-manager
1{ lib, ... }:
2{
3 fileSystems."/" = {
4 device = "/dev/vda1";
5 fsType = "ext4";
6 };
7 swapDevices = [
8 {
9 device = "/swapfile";
10 size = 1024;
11 }
12 ];
13
14 # DigitalOcean volume for persistent data
15 fileSystems."/data" = {
16 device = "/dev/disk/by-uuid/c77f5139-e18a-4138-974f-f63300def495";
17 fsType = "ext4";
18 options = [
19 "defaults"
20 "noatime"
21 "discard"
22 ];
23 };
24
25 # Bind mounts for transparent access at original paths
26 fileSystems."/home/vincent/git" = {
27 device = "/data/home/vincent/git";
28 options = [ "bind" ];
29 depends = [ "/data" ];
30 };
31
32 fileSystems."/home/vincent/desktop" = {
33 device = "/data/home/vincent/desktop";
34 options = [ "bind" ];
35 depends = [ "/data" ];
36 };
37
38 fileSystems."/home/vincent/sync" = {
39 device = "/data/home/vincent/sync";
40 options = [ "bind" ];
41 depends = [ "/data" ];
42 };
43
44 fileSystems."/var/www" = {
45 device = "/data/www";
46 options = [ "bind" ];
47 depends = [ "/data" ];
48 };
49
50 # START OF DigitalOcean specifics
51 # This file was populated at runtime with the networking
52 # details gathered from the active system.
53 networking = {
54 nameservers = [
55 "67.207.67.2"
56 "67.207.67.3"
57 ];
58 defaultGateway = "188.166.64.1";
59 defaultGateway6 = "";
60 dhcpcd.enable = false;
61 usePredictableInterfaceNames = lib.mkForce true;
62 interfaces = {
63 eth0 = {
64 ipv4.addresses = [
65 {
66 address = "188.166.102.243";
67 prefixLength = 18;
68 }
69 {
70 address = "10.18.0.5";
71 prefixLength = 16;
72 }
73 ];
74 ipv6.addresses = [
75 {
76 address = "fe80::8035:3aff:fe72:1036";
77 prefixLength = 64;
78 }
79 ];
80 };
81
82 };
83 };
84 services.udev.extraRules = ''
85 ATTR{address}=="82:35:3a:72:10:36", NAME="eth0"
86
87 '';
88 # END OF DigitalOcean specifics
89}