summaryrefslogtreecommitdiff
path: root/docs/layout.md
blob: 936b290a3ca56d1bd0462db0c022ed85f8d6ae33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[back](../readme.md)

# Layout

- nixos/: NixOS-specific configurations.

  - features/: Simple reusable configurations (only create an enable option and maybe one other).
    - gui/: Graphical configurations.
      - desktops/: Desktop environments, compositors, window managers, etc.
      - apps/: Graphical apps.
      - bundles/: Collections of gui configurations.
    - cli/: Commandline configurations.
      - scripts/: Custom scripts.
      - apps/: Commandline apps (TUIs).
      - utils/: Commandline utils.
      - shells/: Shell configurations.
      - bundles/: Collections of cli configs.
    - services/: Service configurations.
      - core/: Highest importance services.
      - extra/: Medium importance services.
      - misc/: Miscellaneous services.
      - hardware/: Hardware services.
      - bundles: Collections of service configs.
    - global/: Always enabled on every device.
    - server/: Server configurations.
      - core/: Core server configs (e.g. SSH, Backups, system monitoring).
      - media/: Server apps for managing media (books, videos, etc) (e.g. Calibre or Invidious).
      - cloud/: Server apps for file storage (e.g. Syncthing, Nextcloud).
      - development/: Server apps to assist in development (e.g. Git server setup).
      - gaming/: Game servers (e.g. Minecraft).

  - modules/: Custom nix modules (Can create any amount of options).

  - systems/: System-specific nixos configurations.

    - nzxt-desktop/
      - system.nix
      - hardware.nix
    - ideapad-laptop/
      - system.nix
      - hardware.nix
    - prodesk-server/
      - system.nix
      - hardware.nix
    - pendrive-iso/
      - system.nix
      - hardware.nix

- home-manager/: Home manager specific configurations.

  - features/: Simple reusable configurations (only create an enable option and maybe one other).
    - gui/: Graphical configurations.
      - desktops/: Desktop environments, compositors, window managers, etc.
      - apps/: Graphical apps.
      - bundles/: Collections of gui configurations.
    - cli/
      - scripts/
      - apps/
      - utils/
      - bundles/
    - services/
    - global/
      - home-manager.nix

  - modules/: Custom nix modules (Can create any amount of options).
    - aesthetics/
    - default.nix
    - targets/
    - themes/

  - users/: User specific home manager configurations
    - nzxt-desktop/
      - culsans.nix
    - ideapad-laptop/
      - lucas.nix
    - prodesk-server/
      - server.nix
    - pendrive-iso/
      - pendrive.nix

- secrets/: Age-encrypted secrets integrated with nixos.
  - user-passwords/
    - culsans.age
    - lucas.age
    - server.age