From 016936525e7fe1ef663a77a5bba8bef8ff67fa3e Mon Sep 17 00:00:00 2001
From: Declan Teevan
Date: Sat, 7 Feb 2026 22:12:01 +0000
Subject: [PATCH] feat: extend dotfiles layout
Some base entries for some files.
Add additional stubs for some config entries.
---
.gitattributes | 2 +-
LICENSE | 2 +-
config/{ => apps}/Insomnia/.gitkeep | 0
config/apps/README.md | 3 ++
config/{ => apps}/bruno/.gitkeep | 0
config/{ => apps}/lazydocker/.gitkeep | 0
config/{ => apps}/lazygit/.gitkeep | 0
config/{kitty => apps/nvim}/.gitkeep | 0
config/{ => apps}/spotify-player/.gitkeep | 0
config/{nvim => display}/.gitkeep | 0
config/display/README.md | 5 ++++
config/{zsh => display/hyprland}/.gitkeep | 0
{distro/arch => config/display/rofi}/.gitkeep | 0
.../debian => config/display/swaync}/.gitkeep | 0
config/display/waybar/.gitkeep | 0
config/terminal/README.md | 3 ++
config/terminal/kitty/.gitkeep | 0
config/terminal/zsh/.gitkeep | 0
distro/README.md | 11 ++++++++
distro/alpine/setup.sh | 0
distro/arch/full-setup.sh | 14 ++++++++++
distro/arch/setup.sh | 28 +++++++++++++++----
distro/arch/symlinks.sh | 1 +
distro/debian/setup.sh | 1 +
distro/nix/.gitkeep | 1 +
home/.zshrc | 3 ++
26 files changed, 66 insertions(+), 8 deletions(-)
rename config/{ => apps}/Insomnia/.gitkeep (100%)
create mode 100644 config/apps/README.md
rename config/{ => apps}/bruno/.gitkeep (100%)
rename config/{ => apps}/lazydocker/.gitkeep (100%)
rename config/{ => apps}/lazygit/.gitkeep (100%)
rename config/{kitty => apps/nvim}/.gitkeep (100%)
rename config/{ => apps}/spotify-player/.gitkeep (100%)
rename config/{nvim => display}/.gitkeep (100%)
create mode 100644 config/display/README.md
rename config/{zsh => display/hyprland}/.gitkeep (100%)
rename {distro/arch => config/display/rofi}/.gitkeep (100%)
rename {distro/debian => config/display/swaync}/.gitkeep (100%)
create mode 100644 config/display/waybar/.gitkeep
create mode 100644 config/terminal/README.md
create mode 100644 config/terminal/kitty/.gitkeep
create mode 100644 config/terminal/zsh/.gitkeep
create mode 100644 distro/README.md
create mode 100644 distro/alpine/setup.sh
create mode 100644 distro/arch/full-setup.sh
create mode 100644 distro/arch/symlinks.sh
create mode 100644 distro/debian/setup.sh
diff --git a/.gitattributes b/.gitattributes
index 176a458..6313b56 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1 @@
-* text=auto
+* text=auto eol=lf
diff --git a/LICENSE b/LICENSE
index d0f3cd2..5c28f21 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2025 Declan Teevan.
+Copyright (c) 2025-2026 Declan Teevan.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/config/Insomnia/.gitkeep b/config/apps/Insomnia/.gitkeep
similarity index 100%
rename from config/Insomnia/.gitkeep
rename to config/apps/Insomnia/.gitkeep
diff --git a/config/apps/README.md b/config/apps/README.md
new file mode 100644
index 0000000..ea2008d
--- /dev/null
+++ b/config/apps/README.md
@@ -0,0 +1,3 @@
+# config/apps
+
+General app configurations.
diff --git a/config/bruno/.gitkeep b/config/apps/bruno/.gitkeep
similarity index 100%
rename from config/bruno/.gitkeep
rename to config/apps/bruno/.gitkeep
diff --git a/config/lazydocker/.gitkeep b/config/apps/lazydocker/.gitkeep
similarity index 100%
rename from config/lazydocker/.gitkeep
rename to config/apps/lazydocker/.gitkeep
diff --git a/config/lazygit/.gitkeep b/config/apps/lazygit/.gitkeep
similarity index 100%
rename from config/lazygit/.gitkeep
rename to config/apps/lazygit/.gitkeep
diff --git a/config/kitty/.gitkeep b/config/apps/nvim/.gitkeep
similarity index 100%
rename from config/kitty/.gitkeep
rename to config/apps/nvim/.gitkeep
diff --git a/config/spotify-player/.gitkeep b/config/apps/spotify-player/.gitkeep
similarity index 100%
rename from config/spotify-player/.gitkeep
rename to config/apps/spotify-player/.gitkeep
diff --git a/config/nvim/.gitkeep b/config/display/.gitkeep
similarity index 100%
rename from config/nvim/.gitkeep
rename to config/display/.gitkeep
diff --git a/config/display/README.md b/config/display/README.md
new file mode 100644
index 0000000..2db682b
--- /dev/null
+++ b/config/display/README.md
@@ -0,0 +1,5 @@
+# config/display
+
+Tiling / window / display manager configurations.
+
+Separate hyper configs from standard KDE / GNOME / XFCE installs (or keep entirely separate) + other tooling.
diff --git a/config/zsh/.gitkeep b/config/display/hyprland/.gitkeep
similarity index 100%
rename from config/zsh/.gitkeep
rename to config/display/hyprland/.gitkeep
diff --git a/distro/arch/.gitkeep b/config/display/rofi/.gitkeep
similarity index 100%
rename from distro/arch/.gitkeep
rename to config/display/rofi/.gitkeep
diff --git a/distro/debian/.gitkeep b/config/display/swaync/.gitkeep
similarity index 100%
rename from distro/debian/.gitkeep
rename to config/display/swaync/.gitkeep
diff --git a/config/display/waybar/.gitkeep b/config/display/waybar/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/config/terminal/README.md b/config/terminal/README.md
new file mode 100644
index 0000000..5073353
--- /dev/null
+++ b/config/terminal/README.md
@@ -0,0 +1,3 @@
+# config/terminal
+
+Terminal / terminal emulator configurations.
diff --git a/config/terminal/kitty/.gitkeep b/config/terminal/kitty/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/config/terminal/zsh/.gitkeep b/config/terminal/zsh/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/distro/README.md b/distro/README.md
new file mode 100644
index 0000000..3f7ba07
--- /dev/null
+++ b/distro/README.md
@@ -0,0 +1,11 @@
+# distro
+
+Dotfile management and installation by distro (/ machine).
+
+Probably going to move away from a `sh` setup to a dotfiles manager.
+
+- - -
+
+Server bootstrapping is more generalised to server purpose.
+
+TODO(note): though maybe some separate dots for `fail2ban`, SSH key provisioning, controlling log setups / security notification hooks, etc
diff --git a/distro/alpine/setup.sh b/distro/alpine/setup.sh
new file mode 100644
index 0000000..e69de29
diff --git a/distro/arch/full-setup.sh b/distro/arch/full-setup.sh
new file mode 100644
index 0000000..3fdad72
--- /dev/null
+++ b/distro/arch/full-setup.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -e
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+echo "==> Running package installation..."
+bash "$SCRIPT_DIR/install.sh"
+
+echo "==> Linking dotfiles..."
+bash "$SCRIPT_DIR/symlinks.sh"
+
+echo "==> Setup complete!"
+zsh
\ No newline at end of file
diff --git a/distro/arch/setup.sh b/distro/arch/setup.sh
index 937d45b..f1ce292 100644
--- a/distro/arch/setup.sh
+++ b/distro/arch/setup.sh
@@ -1,10 +1,26 @@
-#/bin/zsh
+#!/bin/bash
-# Install / bootstrap script
-ARCH_APPS = [
+#
+# Packages
+#
-]
+# Not using an SELinux setup with Arch.
+# Suggest using AppArmor + Firejail for others.
-AUR_APPS = [
+ARCH_APPS = (
+ base-devel
+ git
+)
+
+AUR_APPS = (
+ brave # disable safe browsing (sends URLS for checking against single API)
+ firefox
+
+)
+
+# if [[ $HOSTTYPE == "server" ]]; then STANDARD_PKGS+=(tmux) else AUR_PKGS+=(spotify) fi
+
+#
+# Install Scripts
+#
-]
\ No newline at end of file
diff --git a/distro/arch/symlinks.sh b/distro/arch/symlinks.sh
new file mode 100644
index 0000000..a9bf588
--- /dev/null
+++ b/distro/arch/symlinks.sh
@@ -0,0 +1 @@
+#!/bin/bash
diff --git a/distro/debian/setup.sh b/distro/debian/setup.sh
new file mode 100644
index 0000000..a9bf588
--- /dev/null
+++ b/distro/debian/setup.sh
@@ -0,0 +1 @@
+#!/bin/bash
diff --git a/distro/nix/.gitkeep b/distro/nix/.gitkeep
index e69de29..aeeed75 100644
--- a/distro/nix/.gitkeep
+++ b/distro/nix/.gitkeep
@@ -0,0 +1 @@
+separate .nix cfgs
\ No newline at end of file
diff --git a/home/.zshrc b/home/.zshrc
index e69de29..3a746e7 100644
--- a/home/.zshrc
+++ b/home/.zshrc
@@ -0,0 +1,3 @@
+# TODO: ohmyzsh init?
+
+eval "$(zoxide init zsh)"
\ No newline at end of file