From 3d25d316feab0c811ff79b08a9cd8d025b022c48 Mon Sep 17 00:00:00 2001 From: Jimbo Date: Fri, 28 Feb 2025 13:32:11 -0500 Subject: [PATCH] Fix everything. --- {modules/home => home/jimbo}/default.nix | 0 {host => home/jimbo}/id_ed25519.pub | 0 .../jimbo}/programs/btop/default.nix | 0 .../home => home/jimbo}/programs/default.nix | 0 .../jimbo}/programs/eza/default.nix | 0 .../jimbo}/programs/fastfetch/config.jsonc | 0 .../jimbo}/programs/fastfetch/default.nix | 0 .../programs/fastfetch/small/default.nix | 0 .../programs/fastfetch/small/small.jsonc | 0 .../jimbo}/programs/git/default.nix | 0 .../jimbo}/programs/headless/default.nix | 0 .../jimbo}/programs/neovim/default.nix | 0 .../jimbo}/programs/nh/default.nix | 0 .../jimbo}/programs/nix-index/default.nix | 0 .../jimbo}/programs/ranger/default.nix | 0 .../jimbo}/programs/tmux/default.nix | 0 .../jimbo}/programs/zsh/default.nix | 0 .../jimbo}/settings/aliases/default.nix | 0 .../home => home/jimbo}/settings/default.nix | 0 .../jimbo}/settings/nix/default.nix | 0 {modules/home => home/jimbo}/user/default.nix | 0 host/default.nix | 19 ------- .../accounts/users/custom/jules/default.nix | 48 ------------------ .../accounts/users/custom/main/default.nix | 38 -------------- modules/system/default.nix | 16 ------ .../system/devices/boot/extlinux/default.nix | 10 ---- .../disks/impermanence/main/default.nix | 46 ----------------- .../devices/networking/wireless/default.nix | 13 ----- modules/system/secrets/default.nix | 29 ----------- modules/system/settings/security/default.nix | 8 --- .../settings/security/polkit/default.nix | 7 --- .../system => system}/accounts/default.nix | 0 .../accounts/groups/default.nix | 0 .../accounts/groups/nfsShare/default.nix | 0 .../accounts/users/custom/default.nix | 4 +- .../accounts/users/custom/jimbo/default.nix | 27 ++++++++++ .../accounts/users/custom/jules/default.nix | 26 ++++++++++ .../accounts/users/default.nix | 0 .../accounts/users/system/default.nix | 0 .../users/system/jellyfin/default.nix | 0 .../users/system/liquidsoap/default.nix | 0 .../users/system/nextcloud/default.nix | 0 .../accounts/users/system/nginx/default.nix | 0 system/default.nix | 24 +++++++++ .../devices/boot/default.nix | 0 system/devices/boot/extlinux/default.nix | 8 +++ .../devices/boot/services/default.nix | 0 .../boot/services/root-reset/default.nix | 0 .../system => system}/devices/default.nix | 1 + .../devices/disks/default.nix | 1 + .../devices/disks}/disko/default.nix | 8 ++- .../devices/disks/filesystems/default.nix | 0 .../devices/disks/immutable/default.nix | 0 .../devices/disks/impermanence/default.nix | 4 +- .../disks/impermanence/jimbo/default.nix | 26 ++++++++++ .../disks/impermanence/jules/default.nix | 26 ++++++++++ .../disks/impermanence/root/default.nix | 0 .../devices/disks/snapper/default.nix | 3 +- .../devices/disks/snapper/jimbo}/default.nix | 4 +- .../devices/disks/snapper/jules/default.nix | 12 +++++ .../devices/disks/snapper/root/default.nix | 0 {host => system/devices}/hardware/default.nix | 0 .../devices/networking/default.nix | 12 +++-- .../system => system}/programs/default.nix | 1 + .../programs/doas}/default.nix | 2 + .../programs/git/default.nix | 0 .../programs/home-manager/default.nix | 0 .../programs/shells/default.nix | 0 system/secrets/default.nix | Bin 736 -> 735 bytes .../system => system}/services/default.nix | 0 .../services/general}/apparmor/default.nix | 0 .../services/general/default.nix | 1 + .../services/general/earlyoom/default.nix | 0 .../services/general/libvirtd/default.nix | 0 .../services/general/snowflake/default.nix | 0 .../services/general/ssh/default.nix | 0 .../services/general/ssh/fail2ban/default.nix | 0 .../services/general/tlp/default.nix | 0 .../services/general/userborn/default.nix | 0 .../services/server/cfdyndns/default.nix | 0 .../services/server/default.nix | 0 .../services/server/fileserver/default.nix | 0 .../server/fileserver/jellyfin/default.nix | 0 .../fileserver/jellyfin/nginx/default.nix | 0 .../nextcloud/collabora/default.nix | 0 .../server/fileserver/nextcloud/default.nix | 0 .../fileserver/nextcloud/nginx/default.nix | 0 .../server/fileserver/nfs/default.nix | 0 .../services/server/forgejo/default.nix | 0 .../services/server/forgejo/nginx/default.nix | 0 .../services/server/mysql/default.nix | 0 .../services/server/socialserver/default.nix | 0 .../server/socialserver/mastodon/default.nix | 0 .../socialserver/matrix/coturn/default.nix | 0 .../matrix/coturn/nginx/default.nix | 0 .../server/socialserver/matrix/default.nix | 0 .../socialserver/matrix/element/default.nix | 0 .../matrix/element/nginx/default.nix | 0 .../socialserver/matrix/synapse/default.nix | 0 .../matrix/synapse/nginx/default.nix | 0 .../server/socialserver/owncast/default.nix | 0 .../socialserver/owncast/nginx/default.nix | 0 .../services/server/transmission/default.nix | 0 .../server/transmission/nginx/default.nix | 0 .../services/server/vaultwarden/default.nix | 0 .../server/vaultwarden/nginx/default.nix | 0 .../server/webserver/acme/default.nix | 0 .../services/server/webserver/default.nix | 0 .../server/webserver/nginx/default.nix | 0 .../server/webserver/nginx/rtmp/default.nix | 0 .../webserver/nginx/virtualhosts/default.nix | 0 .../virtualhosts/jimbosfiles/default.nix | 0 .../nginx/virtualhosts/nixfox/default.nix | 0 .../system => system}/settings/default.nix | 0 .../settings/minimal/default.nix | 0 .../settings/nix/default.nix | 0 .../settings/nix/gc/default.nix | 0 .../settings/timezone/default.nix | 0 118 files changed, 180 insertions(+), 244 deletions(-) rename {modules/home => home/jimbo}/default.nix (100%) rename {host => home/jimbo}/id_ed25519.pub (100%) rename {modules/home => home/jimbo}/programs/btop/default.nix (100%) rename {modules/home => home/jimbo}/programs/default.nix (100%) rename {modules/home => home/jimbo}/programs/eza/default.nix (100%) rename {modules/home => home/jimbo}/programs/fastfetch/config.jsonc (100%) rename {modules/home => home/jimbo}/programs/fastfetch/default.nix (100%) rename {modules/home => home/jimbo}/programs/fastfetch/small/default.nix (100%) rename {modules/home => home/jimbo}/programs/fastfetch/small/small.jsonc (100%) rename {modules/home => home/jimbo}/programs/git/default.nix (100%) rename {modules/home => home/jimbo}/programs/headless/default.nix (100%) rename {modules/home => home/jimbo}/programs/neovim/default.nix (100%) rename {modules/home => home/jimbo}/programs/nh/default.nix (100%) rename {modules/home => home/jimbo}/programs/nix-index/default.nix (100%) rename {modules/home => home/jimbo}/programs/ranger/default.nix (100%) rename {modules/home => home/jimbo}/programs/tmux/default.nix (100%) rename {modules/home => home/jimbo}/programs/zsh/default.nix (100%) rename {modules/home => home/jimbo}/settings/aliases/default.nix (100%) rename {modules/home => home/jimbo}/settings/default.nix (100%) rename {modules/home => home/jimbo}/settings/nix/default.nix (100%) rename {modules/home => home/jimbo}/user/default.nix (100%) delete mode 100644 host/default.nix delete mode 100644 modules/system/accounts/users/custom/jules/default.nix delete mode 100644 modules/system/accounts/users/custom/main/default.nix delete mode 100644 modules/system/default.nix delete mode 100644 modules/system/devices/boot/extlinux/default.nix delete mode 100644 modules/system/devices/disks/impermanence/main/default.nix delete mode 100644 modules/system/devices/networking/wireless/default.nix delete mode 100644 modules/system/secrets/default.nix delete mode 100644 modules/system/settings/security/default.nix delete mode 100644 modules/system/settings/security/polkit/default.nix rename {modules/system => system}/accounts/default.nix (100%) rename {modules/system => system}/accounts/groups/default.nix (100%) rename {modules/system => system}/accounts/groups/nfsShare/default.nix (100%) rename {modules/system => system}/accounts/users/custom/default.nix (78%) create mode 100644 system/accounts/users/custom/jimbo/default.nix create mode 100644 system/accounts/users/custom/jules/default.nix rename {modules/system => system}/accounts/users/default.nix (100%) rename {modules/system => system}/accounts/users/system/default.nix (100%) rename {modules/system => system}/accounts/users/system/jellyfin/default.nix (100%) rename {modules/system => system}/accounts/users/system/liquidsoap/default.nix (100%) rename {modules/system => system}/accounts/users/system/nextcloud/default.nix (100%) rename {modules/system => system}/accounts/users/system/nginx/default.nix (100%) create mode 100644 system/default.nix rename {modules/system => system}/devices/boot/default.nix (100%) create mode 100644 system/devices/boot/extlinux/default.nix rename {modules/system => system}/devices/boot/services/default.nix (100%) rename {modules/system => system}/devices/boot/services/root-reset/default.nix (100%) rename {modules/system => system}/devices/default.nix (82%) rename {modules/system => system}/devices/disks/default.nix (89%) rename {host => system/devices/disks}/disko/default.nix (92%) rename {modules/system => system}/devices/disks/filesystems/default.nix (100%) rename {modules/system => system}/devices/disks/immutable/default.nix (100%) rename {modules/system => system}/devices/disks/impermanence/default.nix (80%) create mode 100644 system/devices/disks/impermanence/jimbo/default.nix create mode 100644 system/devices/disks/impermanence/jules/default.nix rename {modules/system => system}/devices/disks/impermanence/root/default.nix (100%) rename {modules/system => system}/devices/disks/snapper/default.nix (85%) rename {modules/system/devices/disks/snapper/main => system/devices/disks/snapper/jimbo}/default.nix (55%) create mode 100644 system/devices/disks/snapper/jules/default.nix rename {modules/system => system}/devices/disks/snapper/root/default.nix (100%) rename {host => system/devices}/hardware/default.nix (100%) rename {modules/system => system}/devices/networking/default.nix (67%) rename {modules/system => system}/programs/default.nix (87%) rename {modules/system/settings/security/privilege => system/programs/doas}/default.nix (80%) rename {modules/system => system}/programs/git/default.nix (100%) rename {modules/system => system}/programs/home-manager/default.nix (100%) rename {modules/system => system}/programs/shells/default.nix (100%) rename {modules/system => system}/services/default.nix (100%) rename {modules/system/settings/security => system/services/general}/apparmor/default.nix (100%) rename {modules/system => system}/services/general/default.nix (88%) rename {modules/system => system}/services/general/earlyoom/default.nix (100%) rename {modules/system => system}/services/general/libvirtd/default.nix (100%) rename {modules/system => system}/services/general/snowflake/default.nix (100%) rename {modules/system => system}/services/general/ssh/default.nix (100%) rename {modules/system => system}/services/general/ssh/fail2ban/default.nix (100%) rename {modules/system => system}/services/general/tlp/default.nix (100%) rename {modules/system => system}/services/general/userborn/default.nix (100%) rename {modules/system => system}/services/server/cfdyndns/default.nix (100%) rename {modules/system => system}/services/server/default.nix (100%) rename {modules/system => system}/services/server/fileserver/default.nix (100%) rename {modules/system => system}/services/server/fileserver/jellyfin/default.nix (100%) rename {modules/system => system}/services/server/fileserver/jellyfin/nginx/default.nix (100%) rename {modules/system => system}/services/server/fileserver/nextcloud/collabora/default.nix (100%) rename {modules/system => system}/services/server/fileserver/nextcloud/default.nix (100%) rename {modules/system => system}/services/server/fileserver/nextcloud/nginx/default.nix (100%) rename {modules/system => system}/services/server/fileserver/nfs/default.nix (100%) rename {modules/system => system}/services/server/forgejo/default.nix (100%) rename {modules/system => system}/services/server/forgejo/nginx/default.nix (100%) rename {modules/system => system}/services/server/mysql/default.nix (100%) rename {modules/system => system}/services/server/socialserver/default.nix (100%) rename {modules/system => system}/services/server/socialserver/mastodon/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/coturn/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/coturn/nginx/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/element/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/element/nginx/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/synapse/default.nix (100%) rename {modules/system => system}/services/server/socialserver/matrix/synapse/nginx/default.nix (100%) rename {modules/system => system}/services/server/socialserver/owncast/default.nix (100%) rename {modules/system => system}/services/server/socialserver/owncast/nginx/default.nix (100%) rename {modules/system => system}/services/server/transmission/default.nix (100%) rename {modules/system => system}/services/server/transmission/nginx/default.nix (100%) rename {modules/system => system}/services/server/vaultwarden/default.nix (100%) rename {modules/system => system}/services/server/vaultwarden/nginx/default.nix (100%) rename {modules/system => system}/services/server/webserver/acme/default.nix (100%) rename {modules/system => system}/services/server/webserver/default.nix (100%) rename {modules/system => system}/services/server/webserver/nginx/default.nix (100%) rename {modules/system => system}/services/server/webserver/nginx/rtmp/default.nix (100%) rename {modules/system => system}/services/server/webserver/nginx/virtualhosts/default.nix (100%) rename {modules/system => system}/services/server/webserver/nginx/virtualhosts/jimbosfiles/default.nix (100%) rename {modules/system => system}/services/server/webserver/nginx/virtualhosts/nixfox/default.nix (100%) rename {modules/system => system}/settings/default.nix (100%) rename {modules/system => system}/settings/minimal/default.nix (100%) rename {modules/system => system}/settings/nix/default.nix (100%) rename {modules/system => system}/settings/nix/gc/default.nix (100%) rename {modules/system => system}/settings/timezone/default.nix (100%) diff --git a/modules/home/default.nix b/home/jimbo/default.nix similarity index 100% rename from modules/home/default.nix rename to home/jimbo/default.nix diff --git a/host/id_ed25519.pub b/home/jimbo/id_ed25519.pub similarity index 100% rename from host/id_ed25519.pub rename to home/jimbo/id_ed25519.pub diff --git a/modules/home/programs/btop/default.nix b/home/jimbo/programs/btop/default.nix similarity index 100% rename from modules/home/programs/btop/default.nix rename to home/jimbo/programs/btop/default.nix diff --git a/modules/home/programs/default.nix b/home/jimbo/programs/default.nix similarity index 100% rename from modules/home/programs/default.nix rename to home/jimbo/programs/default.nix diff --git a/modules/home/programs/eza/default.nix b/home/jimbo/programs/eza/default.nix similarity index 100% rename from modules/home/programs/eza/default.nix rename to home/jimbo/programs/eza/default.nix diff --git a/modules/home/programs/fastfetch/config.jsonc b/home/jimbo/programs/fastfetch/config.jsonc similarity index 100% rename from modules/home/programs/fastfetch/config.jsonc rename to home/jimbo/programs/fastfetch/config.jsonc diff --git a/modules/home/programs/fastfetch/default.nix b/home/jimbo/programs/fastfetch/default.nix similarity index 100% rename from modules/home/programs/fastfetch/default.nix rename to home/jimbo/programs/fastfetch/default.nix diff --git a/modules/home/programs/fastfetch/small/default.nix b/home/jimbo/programs/fastfetch/small/default.nix similarity index 100% rename from modules/home/programs/fastfetch/small/default.nix rename to home/jimbo/programs/fastfetch/small/default.nix diff --git a/modules/home/programs/fastfetch/small/small.jsonc b/home/jimbo/programs/fastfetch/small/small.jsonc similarity index 100% rename from modules/home/programs/fastfetch/small/small.jsonc rename to home/jimbo/programs/fastfetch/small/small.jsonc diff --git a/modules/home/programs/git/default.nix b/home/jimbo/programs/git/default.nix similarity index 100% rename from modules/home/programs/git/default.nix rename to home/jimbo/programs/git/default.nix diff --git a/modules/home/programs/headless/default.nix b/home/jimbo/programs/headless/default.nix similarity index 100% rename from modules/home/programs/headless/default.nix rename to home/jimbo/programs/headless/default.nix diff --git a/modules/home/programs/neovim/default.nix b/home/jimbo/programs/neovim/default.nix similarity index 100% rename from modules/home/programs/neovim/default.nix rename to home/jimbo/programs/neovim/default.nix diff --git a/modules/home/programs/nh/default.nix b/home/jimbo/programs/nh/default.nix similarity index 100% rename from modules/home/programs/nh/default.nix rename to home/jimbo/programs/nh/default.nix diff --git a/modules/home/programs/nix-index/default.nix b/home/jimbo/programs/nix-index/default.nix similarity index 100% rename from modules/home/programs/nix-index/default.nix rename to home/jimbo/programs/nix-index/default.nix diff --git a/modules/home/programs/ranger/default.nix b/home/jimbo/programs/ranger/default.nix similarity index 100% rename from modules/home/programs/ranger/default.nix rename to home/jimbo/programs/ranger/default.nix diff --git a/modules/home/programs/tmux/default.nix b/home/jimbo/programs/tmux/default.nix similarity index 100% rename from modules/home/programs/tmux/default.nix rename to home/jimbo/programs/tmux/default.nix diff --git a/modules/home/programs/zsh/default.nix b/home/jimbo/programs/zsh/default.nix similarity index 100% rename from modules/home/programs/zsh/default.nix rename to home/jimbo/programs/zsh/default.nix diff --git a/modules/home/settings/aliases/default.nix b/home/jimbo/settings/aliases/default.nix similarity index 100% rename from modules/home/settings/aliases/default.nix rename to home/jimbo/settings/aliases/default.nix diff --git a/modules/home/settings/default.nix b/home/jimbo/settings/default.nix similarity index 100% rename from modules/home/settings/default.nix rename to home/jimbo/settings/default.nix diff --git a/modules/home/settings/nix/default.nix b/home/jimbo/settings/nix/default.nix similarity index 100% rename from modules/home/settings/nix/default.nix rename to home/jimbo/settings/nix/default.nix diff --git a/modules/home/user/default.nix b/home/jimbo/user/default.nix similarity index 100% rename from modules/home/user/default.nix rename to home/jimbo/user/default.nix diff --git a/host/default.nix b/host/default.nix deleted file mode 100644 index 9ace3ed..0000000 --- a/host/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ ... }: -{ - imports = [ - ./disko - ./hardware - ../modules/system - ]; - - networking = { - hostName = "rubble"; - hostId = "e0b1fcef"; - }; - - system = { - extlinux.enable = true; - wireless.enable = true; - stateVersion = "24.11"; - }; -} diff --git a/modules/system/accounts/users/custom/jules/default.nix b/modules/system/accounts/users/custom/jules/default.nix deleted file mode 100644 index fe5fbf9..0000000 --- a/modules/system/accounts/users/custom/jules/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ config, lib, pkgs, ... }: -{ - options.sysusers = lib.mkOption { - type = lib.types.attrs; - }; - - config = { - sysusers.main = "jimbo"; - - users.users."${config.sysusers.main}" = { - hashedPassword = config.secrets.mainAccPass; - isNormalUser = true; - openssh.authorizedKeys.keyFiles = [ - ../../../../../../hosts/tower/id_ed25519.pub - - ../../../../../../hosts/envy/id_ed25519.pub - ../../../../../../hosts/redmond/id_ed25519.pub - - ../../../../../../hosts/kitty/id_ed25519.pub - ../../../../../../hosts/midas/id_ed25519.pub - ../../../../../../hosts/prophet/id_ed25519.pub - ../../../../../../hosts/rubble/id_ed25519.pub - ]; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9" - ]; - extraGroups = [ - "wheel" - "audio" - "video" - "input" - "disk" - "dialout" - "rtkit" - "kvm" - "libvirtd" - "qemu-libvirtd" - "nginx" - "minecraft" - "nfsShare" - ]; - uid = 1000; - shell = pkgs.zsh; - }; - - home-manager.users."${config.sysusers.main}" = import ../../../../../home; - }; -} diff --git a/modules/system/accounts/users/custom/main/default.nix b/modules/system/accounts/users/custom/main/default.nix deleted file mode 100644 index d81968a..0000000 --- a/modules/system/accounts/users/custom/main/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, lib, pkgs, ... }: -{ - options.sysusers = lib.mkOption { - type = lib.types.attrs; - }; - - config = { - sysusers.main = "jimbo"; - - users.users."${config.sysusers.main}" = { - hashedPassword = config.secrets.mainAccPass; - isNormalUser = true; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC2lMkUd+BbXITE5LTg94hEzmA6UKsIIbaf5YOjGoLzl" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFGHaxdTeC1xnTx2BY5LLR5LxhdSkmYoWuOeEuRIz0k" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9" - ]; - extraGroups = [ - "wheel" - "audio" - "video" - "input" - "disk" - "dialout" - "rtkit" - "kvm" - "libvirtd" - "qemu-libvirtd" - "nginx" - "nfsShare" - ]; - uid = 1000; - shell = pkgs.zsh; - }; - - home-manager.users."${config.sysusers.main}" = import ../../../../../home; - }; -} diff --git a/modules/system/default.nix b/modules/system/default.nix deleted file mode 100644 index c3270fb..0000000 --- a/modules/system/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ lib, ... }: -{ - imports = [ - ./accounts - ./devices - ./programs - ./secrets - ./services - ./settings - ]; - - options.system = with lib; { - desktop.enable = lib.mkEnableOption "Enable desktop apps and services"; - server.enable = lib.mkEnableOption "Enable server apps and services"; - }; -} diff --git a/modules/system/devices/boot/extlinux/default.nix b/modules/system/devices/boot/extlinux/default.nix deleted file mode 100644 index 95858ea..0000000 --- a/modules/system/devices/boot/extlinux/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, lib, ... }: -{ - options.system.extlinux.enable = lib.mkEnableOption "Enable extlinux"; - - config.boot.loader = lib.mkIf config.system.extlinux.enable { - grub.enable = false; - systemd-boot.enable = lib.mkForce false; - generic-extlinux-compatible.enable = true; - }; -} diff --git a/modules/system/devices/disks/impermanence/main/default.nix b/modules/system/devices/disks/impermanence/main/default.nix deleted file mode 100644 index cca8d2c..0000000 --- a/modules/system/devices/disks/impermanence/main/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ config, ... }: -{ - environment.persistence."/persist" = { - hideMounts = true; - users.${config.sysusers.main} = { - directories = [ - "Keepers" - "Documents" - "Pictures" - "Videos" - "Games" - "VMs" - - ".snapshots" - ".mozilla" - ".thunderbird" - - ".config/blender" - ".config/dconf" - ".config/vesktop" - ".config/sunshine" - ".config/heroic" - ".config/obs-studio" - - ".local/share/mpd" - ".local/share/nvim/undo" - ".local/share/PrismLauncher" - ".local/share/Steam" - ".local/share/TelegramDesktop" - - ".local/state/wireplumber" - - ".cache/nix-index" - - { directory = ".ssh"; mode = "0700"; } - { directory = ".gnupg"; mode = "0700"; } - { directory = ".local/share/keyrings"; mode = "0700"; } - ]; - files = [ - ".zsh_history" - ".local/state/lazygit/state.yml" - ".local/share/applications" # Create directory so nothing generates inside of it - ]; - }; - }; -} diff --git a/modules/system/devices/networking/wireless/default.nix b/modules/system/devices/networking/wireless/default.nix deleted file mode 100644 index cac36dc..0000000 --- a/modules/system/devices/networking/wireless/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, lib, pkgs, ... }: -{ - options.system.wireless.enable = lib.mkEnableOption "Enable wireless stack"; - - config = lib.mkIf config.system.wireless.enable { - networking.wireless.iwd.enable = true; - - environment = { - systemPackages = with pkgs; [ impala ]; - persistence."/persist".directories = [ "/var/lib/iwd/" ]; - }; - }; -} diff --git a/modules/system/secrets/default.nix b/modules/system/secrets/default.nix deleted file mode 100644 index 52a6b4b..0000000 --- a/modules/system/secrets/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ config, lib, ... }: -{ - options.secrets = lib.mkOption { - type = lib.types.attrs; - }; - - config.secrets = { - # User passwords, generated with 'mkpasswd -m sha-512' - mainAccPass = "$6$gYpE.pG/zPXgin06$2kydjDfd0K62Dhf9P0PFvJhRNz6xIC/bHYaf/XYqyKcLyZNzPQpy8uy9tCRcSYlj1wwBhzVtTRyItwajOHCEj0"; - - # Initial password for apps that ask for it - initialPass = "changeme"; - - # Cloudflare API key - flareApiKey = "CLOUDFLARE_API_TOKEN=changeme"; - - # Matrix secrets - matrixSecret = "changeme"; - coturnSecret = "changeme"; - - # Transmission credentials, plaintext - transmissionCredFile = '' - { - "rpc-username": "jimbo", - "rpc-password": "changeme" - } - ''; - }; -} diff --git a/modules/system/settings/security/default.nix b/modules/system/settings/security/default.nix deleted file mode 100644 index e187a55..0000000 --- a/modules/system/settings/security/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - imports = [ - ./apparmor - ./polkit - ./privilege - ]; -} diff --git a/modules/system/settings/security/polkit/default.nix b/modules/system/settings/security/polkit/default.nix deleted file mode 100644 index 2539503..0000000 --- a/modules/system/settings/security/polkit/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, lib, ... }: -{ - security = lib.mkIf config.system.desktop.enable { - polkit.enable = true; - rtkit.enable = true; - }; -} diff --git a/modules/system/accounts/default.nix b/system/accounts/default.nix similarity index 100% rename from modules/system/accounts/default.nix rename to system/accounts/default.nix diff --git a/modules/system/accounts/groups/default.nix b/system/accounts/groups/default.nix similarity index 100% rename from modules/system/accounts/groups/default.nix rename to system/accounts/groups/default.nix diff --git a/modules/system/accounts/groups/nfsShare/default.nix b/system/accounts/groups/nfsShare/default.nix similarity index 100% rename from modules/system/accounts/groups/nfsShare/default.nix rename to system/accounts/groups/nfsShare/default.nix diff --git a/modules/system/accounts/users/custom/default.nix b/system/accounts/users/custom/default.nix similarity index 78% rename from modules/system/accounts/users/custom/default.nix rename to system/accounts/users/custom/default.nix index d2600a9..ea5f7b8 100644 --- a/modules/system/accounts/users/custom/default.nix +++ b/system/accounts/users/custom/default.nix @@ -1,7 +1,9 @@ { home-manager, ... }: { imports = [ - ./main + ./jules + ./jimbo + home-manager.nixosModules.home-manager ]; } diff --git a/system/accounts/users/custom/jimbo/default.nix b/system/accounts/users/custom/jimbo/default.nix new file mode 100644 index 0000000..508f84c --- /dev/null +++ b/system/accounts/users/custom/jimbo/default.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: +{ + users.users.jimbo = { + hashedPassword = config.secrets.mainAccPass; + isNormalUser = true; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC2lMkUd+BbXITE5LTg94hEzmA6UKsIIbaf5YOjGoLzl" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFGHaxdTeC1xnTx2BY5LLR5LxhdSkmYoWuOeEuRIz0k" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9" + ]; + extraGroups = [ + "wheel" + "input" + "disk" + "dialout" + "kvm" + "libvirtd" + "qemu-libvirtd" + "nginx" + "nfsShare" + ]; + uid = 1000; + shell = pkgs.zsh; + }; + + home-manager.users.jimbo = import ../../../../../home/jimbo; +} diff --git a/system/accounts/users/custom/jules/default.nix b/system/accounts/users/custom/jules/default.nix new file mode 100644 index 0000000..220cec0 --- /dev/null +++ b/system/accounts/users/custom/jules/default.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: +{ + users.users.jules = { + hashedPassword = config.secrets.mainAccPass; + isNormalUser = true; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHwxJcAWuHkKy/Ar37aIoqg34CDcZu7/bh978nYkOgzj jules@jules-pc" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEOszCNP+6rkIS75GyFVhn9o6QpUuGdx/J4rjzROrpSl jules@xeta" + ]; + extraGroups = [ + "wheel" + "input" + "disk" + "dialout" + "kvm" + "libvirtd" + "qemu-libvirtd" + "nginx" + "nfsShare" + ]; + uid = 1001; + shell = pkgs.fish; + }; + + #home-manager.users.jimbo = import ../../../../../home/jimbo; +} diff --git a/modules/system/accounts/users/default.nix b/system/accounts/users/default.nix similarity index 100% rename from modules/system/accounts/users/default.nix rename to system/accounts/users/default.nix diff --git a/modules/system/accounts/users/system/default.nix b/system/accounts/users/system/default.nix similarity index 100% rename from modules/system/accounts/users/system/default.nix rename to system/accounts/users/system/default.nix diff --git a/modules/system/accounts/users/system/jellyfin/default.nix b/system/accounts/users/system/jellyfin/default.nix similarity index 100% rename from modules/system/accounts/users/system/jellyfin/default.nix rename to system/accounts/users/system/jellyfin/default.nix diff --git a/modules/system/accounts/users/system/liquidsoap/default.nix b/system/accounts/users/system/liquidsoap/default.nix similarity index 100% rename from modules/system/accounts/users/system/liquidsoap/default.nix rename to system/accounts/users/system/liquidsoap/default.nix diff --git a/modules/system/accounts/users/system/nextcloud/default.nix b/system/accounts/users/system/nextcloud/default.nix similarity index 100% rename from modules/system/accounts/users/system/nextcloud/default.nix rename to system/accounts/users/system/nextcloud/default.nix diff --git a/modules/system/accounts/users/system/nginx/default.nix b/system/accounts/users/system/nginx/default.nix similarity index 100% rename from modules/system/accounts/users/system/nginx/default.nix rename to system/accounts/users/system/nginx/default.nix diff --git a/system/default.nix b/system/default.nix new file mode 100644 index 0000000..e995e23 --- /dev/null +++ b/system/default.nix @@ -0,0 +1,24 @@ +{ lib, ... }: +{ + imports = [ + ./accounts + ./devices + ./programs + ./secrets + ./services + ./settings + ]; + + options.system = with lib; { + server.enable = mkEnableOption "Enable server apps and services"; + }; + + config = { + networking = { + hostName = "rubble"; + hostId = "e0b1fcef"; + }; + + system.stateVersion = "24.11"; + }; +} diff --git a/modules/system/devices/boot/default.nix b/system/devices/boot/default.nix similarity index 100% rename from modules/system/devices/boot/default.nix rename to system/devices/boot/default.nix diff --git a/system/devices/boot/extlinux/default.nix b/system/devices/boot/extlinux/default.nix new file mode 100644 index 0000000..d22c081 --- /dev/null +++ b/system/devices/boot/extlinux/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + boot.loader = { + grub.enable = false; + systemd-boot.enable = false; + generic-extlinux-compatible.enable = true; + }; +} diff --git a/modules/system/devices/boot/services/default.nix b/system/devices/boot/services/default.nix similarity index 100% rename from modules/system/devices/boot/services/default.nix rename to system/devices/boot/services/default.nix diff --git a/modules/system/devices/boot/services/root-reset/default.nix b/system/devices/boot/services/root-reset/default.nix similarity index 100% rename from modules/system/devices/boot/services/root-reset/default.nix rename to system/devices/boot/services/root-reset/default.nix diff --git a/modules/system/devices/default.nix b/system/devices/default.nix similarity index 82% rename from modules/system/devices/default.nix rename to system/devices/default.nix index d4feeb6..df4ca05 100644 --- a/modules/system/devices/default.nix +++ b/system/devices/default.nix @@ -3,6 +3,7 @@ imports = [ ./boot ./disks + ./hardware ./networking ]; } diff --git a/modules/system/devices/disks/default.nix b/system/devices/disks/default.nix similarity index 89% rename from modules/system/devices/disks/default.nix rename to system/devices/disks/default.nix index 727bef5..5e5151f 100644 --- a/modules/system/devices/disks/default.nix +++ b/system/devices/disks/default.nix @@ -1,6 +1,7 @@ { ... }: { imports = [ + ./disko ./filesystems ./immutable ./impermanence diff --git a/host/disko/default.nix b/system/devices/disks/disko/default.nix similarity index 92% rename from host/disko/default.nix rename to system/devices/disks/disko/default.nix index 4022bcc..260124f 100644 --- a/host/disko/default.nix +++ b/system/devices/disks/disko/default.nix @@ -68,8 +68,12 @@ mountOptions = [ "compress=zstd" "noatime" "ssd" ]; }; "/persist/.snapshots" = { }; - "/persist/home/${config.sysusers.main}" = { }; - "/persist/home/${config.sysusers.main}/.snapshots" = { }; + + "/persist/home/jules" = { }; + "/persist/home/jules/.snapshots" = { }; + + "/persist/home/jimbo" = { }; + "/persist/home/jimbo/.snapshots" = { }; }; }; }; diff --git a/modules/system/devices/disks/filesystems/default.nix b/system/devices/disks/filesystems/default.nix similarity index 100% rename from modules/system/devices/disks/filesystems/default.nix rename to system/devices/disks/filesystems/default.nix diff --git a/modules/system/devices/disks/immutable/default.nix b/system/devices/disks/immutable/default.nix similarity index 100% rename from modules/system/devices/disks/immutable/default.nix rename to system/devices/disks/immutable/default.nix diff --git a/modules/system/devices/disks/impermanence/default.nix b/system/devices/disks/impermanence/default.nix similarity index 80% rename from modules/system/devices/disks/impermanence/default.nix rename to system/devices/disks/impermanence/default.nix index e73882d..19c1af8 100644 --- a/modules/system/devices/disks/impermanence/default.nix +++ b/system/devices/disks/impermanence/default.nix @@ -1,8 +1,10 @@ { impermanence, ... }: { imports = [ - ./main + ./jules + ./jimbo ./root + impermanence.nixosModules.impermanence ]; } diff --git a/system/devices/disks/impermanence/jimbo/default.nix b/system/devices/disks/impermanence/jimbo/default.nix new file mode 100644 index 0000000..3ba3a92 --- /dev/null +++ b/system/devices/disks/impermanence/jimbo/default.nix @@ -0,0 +1,26 @@ +{ config, ... }: +{ + environment.persistence."/persist" = { + hideMounts = true; + users.jimbo = { + directories = [ + "Keepers" + "Documents" + "Pictures" + "Videos" + "Games" + "VMs" + + ".snapshots" + ".cache/nix-index" + + { directory = ".ssh"; mode = "0700"; } + { directory = ".gnupg"; mode = "0700"; } + ]; + files = [ + ".zsh_history" + ".local/state/lazygit/state.yml" + ]; + }; + }; +} diff --git a/system/devices/disks/impermanence/jules/default.nix b/system/devices/disks/impermanence/jules/default.nix new file mode 100644 index 0000000..b583c5a --- /dev/null +++ b/system/devices/disks/impermanence/jules/default.nix @@ -0,0 +1,26 @@ +{ config, ... }: +{ + environment.persistence."/persist" = { + hideMounts = true; + users.jules = { + directories = [ + "Keepers" + "Documents" + "Pictures" + "Videos" + "Games" + "VMs" + + ".snapshots" + ".cache/nix-index" + + { directory = ".ssh"; mode = "0700"; } + { directory = ".gnupg"; mode = "0700"; } + ]; + files = [ + ".zsh_history" + ".local/state/lazygit/state.yml" + ]; + }; + }; +} diff --git a/modules/system/devices/disks/impermanence/root/default.nix b/system/devices/disks/impermanence/root/default.nix similarity index 100% rename from modules/system/devices/disks/impermanence/root/default.nix rename to system/devices/disks/impermanence/root/default.nix diff --git a/modules/system/devices/disks/snapper/default.nix b/system/devices/disks/snapper/default.nix similarity index 85% rename from modules/system/devices/disks/snapper/default.nix rename to system/devices/disks/snapper/default.nix index 112c378..8135c66 100644 --- a/modules/system/devices/disks/snapper/default.nix +++ b/system/devices/disks/snapper/default.nix @@ -1,7 +1,8 @@ { ... }: { imports = [ - ./main + ./jules + ./jimbo ./root ]; diff --git a/modules/system/devices/disks/snapper/main/default.nix b/system/devices/disks/snapper/jimbo/default.nix similarity index 55% rename from modules/system/devices/disks/snapper/main/default.nix rename to system/devices/disks/snapper/jimbo/default.nix index cac62e4..229beef 100644 --- a/modules/system/devices/disks/snapper/main/default.nix +++ b/system/devices/disks/snapper/jimbo/default.nix @@ -1,7 +1,7 @@ { config, lib, ... }: { - services.snapper.configs.${config.sysusers.main} = lib.mkIf config.environment.persistence."/persist".enable { - SUBVOLUME = "/persist/home/${config.sysusers.main}"; + services.snapper.configs.jimbo = lib.mkIf config.environment.persistence."/persist".enable { + SUBVOLUME = "/persist/home/jimbo"; TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; TIMELINE_LIMIT_DAILY = 1; diff --git a/system/devices/disks/snapper/jules/default.nix b/system/devices/disks/snapper/jules/default.nix new file mode 100644 index 0000000..b9bbf9e --- /dev/null +++ b/system/devices/disks/snapper/jules/default.nix @@ -0,0 +1,12 @@ +{ config, lib, ... }: +{ + services.snapper.configs.jules = lib.mkIf config.environment.persistence."/persist".enable { + SUBVOLUME = "/persist/home/jules"; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; + TIMELINE_LIMIT_DAILY = 1; + TIMELINE_LIMIT_WEEKLY = 1; + TIMELINE_LIMIT_MONTHLY = 0; + TIMELINE_LIMIT_YEARLY = 0; + }; +} diff --git a/modules/system/devices/disks/snapper/root/default.nix b/system/devices/disks/snapper/root/default.nix similarity index 100% rename from modules/system/devices/disks/snapper/root/default.nix rename to system/devices/disks/snapper/root/default.nix diff --git a/host/hardware/default.nix b/system/devices/hardware/default.nix similarity index 100% rename from host/hardware/default.nix rename to system/devices/hardware/default.nix diff --git a/modules/system/devices/networking/default.nix b/system/devices/networking/default.nix similarity index 67% rename from modules/system/devices/networking/default.nix rename to system/devices/networking/default.nix index 5aafa71..06f8613 100644 --- a/modules/system/devices/networking/default.nix +++ b/system/devices/networking/default.nix @@ -1,9 +1,10 @@ { config, ... }: { - imports = [ ./wireless ]; - networking = { - wireless.enable = false; + wireless = { + enable = false; + iwd.enable = true; + }; dhcpcd.enable = true; nftables.enable = true; firewall.allowPing = false; @@ -21,4 +22,9 @@ fallbackDns = config.networking.nameservers; dnsovertls = "true"; }; + + environment = { + systemPackages = with pkgs; [ impala ]; + persistence."/persist".directories = [ "/var/lib/iwd/" ]; + }; } diff --git a/modules/system/programs/default.nix b/system/programs/default.nix similarity index 87% rename from modules/system/programs/default.nix rename to system/programs/default.nix index ea129d9..a1683bf 100644 --- a/modules/system/programs/default.nix +++ b/system/programs/default.nix @@ -1,6 +1,7 @@ { ... }: { imports = [ + ./doas ./git ./home-manager ./shells diff --git a/modules/system/settings/security/privilege/default.nix b/system/programs/doas/default.nix similarity index 80% rename from modules/system/settings/security/privilege/default.nix rename to system/programs/doas/default.nix index b40d8ea..b92d09c 100644 --- a/modules/system/settings/security/privilege/default.nix +++ b/system/programs/doas/default.nix @@ -13,4 +13,6 @@ ]; }; }; + + environment.systemPackages = with pkgs; [ doas-sudo-shim ]; } diff --git a/modules/system/programs/git/default.nix b/system/programs/git/default.nix similarity index 100% rename from modules/system/programs/git/default.nix rename to system/programs/git/default.nix diff --git a/modules/system/programs/home-manager/default.nix b/system/programs/home-manager/default.nix similarity index 100% rename from modules/system/programs/home-manager/default.nix rename to system/programs/home-manager/default.nix diff --git a/modules/system/programs/shells/default.nix b/system/programs/shells/default.nix similarity index 100% rename from modules/system/programs/shells/default.nix rename to system/programs/shells/default.nix diff --git a/system/secrets/default.nix b/system/secrets/default.nix index 0d148b4ac6dcea36a93653b748dc12855b7a1b53..e3a32ce01539d47c012412d8e4f4247866374c28 100644 GIT binary patch literal 735 zcmV<50wDbWM@dveQdv+`0NN2OPmPGNrG<`7e?+UQi@n#e>hG_Cqdp&b zp%}54BIBEJVjysq)W}W?z>Yr*N&y6 zJ(P6W_oygol82tw{}E|}RGOR-Q+%GKZ5|G7ktlv1|4^0ht$8a_9i&FxAvq~BzES>x z=P6dP(=m)85Y{PKKDk{9P`*@kVy=x|)`1@w+OFqz`|zI$Z{GP~14KZAR$EzbUX?JV zSWD2;A2rxVvMd}|4o;lNJZ2>(uUDf9tr8j@VsGYi1H!)*;u&XywLas}{GmGac%o{? zLxtf3W_rHdUG--IgC|Gxv z*|njml;b#PiVWT8*1Z0Fe9MC$NRgA!BI3CFT!B?h_UkOUv*bb8F7#@jz1x}ozvaY! z@~#!E#&CvvBHs+bdIaJ(gWpYmisZ4Maz&wGRVP;Ca}T(CoAHXWj|^Y@c0?CB3((n# z+?E854p%c;lFFH$w(BUg)8gx)xvg2JlBQ35GFMM9{VTI-#K}I=n+AXs zW{G-LM0S=E6ltTKQ2Pwsd3qah&QRvJAOy9YF{@H4a)bcxl>KWZvC_M+!Iq|hwYB1q zy$Ojn?cm^{);0?0=r}N6EK^k#RZ)A*j6{=HSY$V>2F8|LZIq%T67RlTae%*r4I>Jh zq4NLOoa;F>NwU&brt(J=s~1V!#pLl!RV$L6!Yd7tsp!(wjLgiy-%{=7X9FMAb27a@ z+99nUb2`hP?ZzC1=?&eWli@n{b+QQB8m{{XXP|HyFU^sGX^kg@6kaVpy4>U>1T?d Rr~YGu<7lV2=-)_lw$1OJdLaM+ literal 736 zcmV<60w4VVM@dveQdv+`0Hu|WG?i1%4zV^Bq0!Z%vqL~0%JCJhN~^&6Af2Gh5USVE zKq78yuz$(YM*i5TP(kl@#`rBFP4ae}wrZ^`qFK5vk7mmAavl`41tb@0_E`J3)Kz(U z(9!+_SgS8B0aT*v!vbal+1#fMTrO3@1NdnDmuLK&As-;am`~8erS4V5$0DQDPg3~d$$Ke%sR5&YGP z8Dfs2IZ~vUR6I#OTnCxSEr7z!oLFATF*5?K;>P66I?$!pWFB36wZfWY@ta21`3=o% zJ(;fh4b09-gPwx+CYh$C^ed*{-`iuuC*(q|U+rLPm0V-IKCA8qIAGn-mo39-#$@NH z9Bv#v(!H9~mr4Q=j+%u=pu8jW-`WfBh32|SF}B^P@3Eep0suAEmMuSLIc4%`SoR@* zxUriCSVDk^k3w6hopUO)+49+X&x<^N;1zb|%#>_%JIa+uOp&TYjg-*~7asT~El5E5 ze?@o|GFp=>=H7ST8e+?=*XjhWyUH>4FxhuXTVU6g%Q1P%;}{^nSRFAGrbvC_A9jpO zK5DXMIm1n~F$~^vzE0NUzYzS?32K3SPin4To0