This commit is contained in:
Xalir
2025-12-28 21:48:38 +01:00
commit 5c869e8c76
7 changed files with 355 additions and 0 deletions

61
flake.lock generated Normal file
View File

@@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1704290814,
"narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

38
flake.nix Normal file
View File

@@ -0,0 +1,38 @@
{
description = "Serve static website using Caddy";
inputs = {
# Use flake-utils for better structure
flake-utils.url = "github:numtide/flake-utils";
# Fetch nixpkgs flake to get the latest Caddy package
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; # Adjust for your desired version
};
outputs =
{
self,
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (
system:
let
pkgs = import nixpkgs { inherit system; };
in
{
# This section defines a package to run Caddy and serve your website
packages.default = pkgs.stdenv.mkDerivation rec {
name = "static-website";
src = ./src;
buildPhase = ''
mkdir -p $out/var/www
cp -r ${src}/* $out/var/www/
'';
};
}
);
}

BIN
src/assets/flake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

6
src/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

92
src/css/overwrites.css Normal file
View File

@@ -0,0 +1,92 @@
.container {
margin-top: 80px;
}
.social-button {
width: 250px;
margin-bottom: 15px;
border-radius: 25px;
transition: all 0.3s ease-in-out;
}
.social-button i {
margin-right: 8px; /* Adds space between icon and text */
}
.social-button:hover {
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.card {
border-radius: 15px;
padding: 30px;
background-color: #1e1e1e; /* Dark card background */
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.card-title {
font-size: 2rem;
font-weight: bold;
color: #e0e0e0;
}
.lead {
color: #b0b0b0;
}
.footer {
color: #e0e0e0;
padding: 20px 0;
text-align: center;
margin-top: 50px;
}
.footer a {
color: #e0e0e0;
text-decoration: none;
transition: color 0.3s ease;
}
.footer a:hover {
color: #3498db; /* Light blue hover effect */
}
/* Improved button styles */
.btn-custom {
background-color: #3498db;
border-color: #3498db;
color: white;
}
.btn-custom:hover {
background-color: #2980b9;
border-color: #2980b9;
}
.btn-outline-custom {
color: #3498db;
border-color: #3498db;
}
.btn-outline-custom:hover {
background-color: #3498db;
color: white;
}
/* Input and Textarea style improvements */
.form-control {
background-color: #2c2c2c;
border: 1px solid #444;
color: white;
}
.form-control:focus {
background-color: #333;
border-color: #3498db;
box-shadow: none;
}
.form-label {
color: #e0e0e0;
}

151
src/index.html Normal file
View File

@@ -0,0 +1,151 @@
<!doctype html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Xalir.net</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css" />
<link rel="stylesheet" href="css/overwrites.css" />
<!-- Font Awesome Icons (for social buttons) -->
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"
/>
</head>
<body>
<!-- Main Container -->
<div class="container text-center">
<div class="row justify-content-center">
<div class="col-md-6">
<!-- Card for Centered Content -->
<div class="card">
<h1 class="card-title">Xalir</h1>
<p class="lead">
NixOS enjoyer
<img
src="assets/flake.png"
alt="Flake"
style="width: 24px; height: 24px; vertical-align: middle"
/>
</p>
<!-- Centered Social Links with Icons -->
<div class="d-flex flex-column align-items-center">
<a href="" class="btn btn-custom social-button mb-3"
><i class="fab fa-mastodon"></i>Mastodon</a
>
<a
href="mailto:contact@xalir.net"
class="btn btn-outline-custom social-button mb-3"
><i class="fas fa-envelope"></i>Email</a
>
<a
href="https://git.xalir.net/xalir"
class="btn btn-outline-custom social-button mb-3"
><i class="fab fa-github"></i>Git</a
>
</div>
</div>
</div>
</div>
<!-- About Me Section -->
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card mt-5">
<h2 class="section-title">About Me</h2>
<p>
Hi, I'm Xalir. I'm passionate about software development,
open-source contributions, and sharing knowledge with the
community. I love learning new things and building cool projects.
I want to get into embedded stuff and start fun little
microcontroller projects.
</p>
</div>
</div>
</div>
<!-- Lost+Found Section -->
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card mt-5">
<h2 class="section-title">Lost+Found</h2>
<p class="lead">
Found something that belongs to me? Please send me a message!
</p>
<form id="lostFoundForm">
<div class="form-group">
<label for="item" class="form-label">Item Found</label>
<input
type="text"
class="form-control"
id="item"
name="item"
placeholder="What did you find?"
required
/>
</div>
<div class="form-group">
<label for="message" class="form-label">Your Message</label>
<textarea
class="form-control"
id="message"
name="message"
rows="4"
placeholder="Additional details..."
required
></textarea>
</div>
<button type="submit" class="btn btn-custom mt-3">
Send Message
</button>
</form>
</div>
</div>
</div>
<script>
// Handle form submission
document
.getElementById("lostFoundForm")
.addEventListener("submit", function (event) {
event.preventDefault();
var itemName = document.getElementById("item").value.trim();
var messageContent = document
.getElementById("message")
.value.trim();
if (itemName && messageContent) {
var subject = "Item found: " + itemName;
var body = messageContent;
var mailtoLink =
"mailto:gefunden@xalir.net?subject=" +
encodeURIComponent(subject) +
"&body=" +
encodeURIComponent(body);
window.location.href = mailtoLink;
} else {
alert("Please fill out both fields.");
}
});
</script>
</div>
<!-- Footer Section -->
<div class="footer">
<p>
&copy; 2025 Xalir.net. All rights reserved. |
<a href="https://git.xalir.net/xalir" target="_blank">Git</a> |
<a href="mailto:contact@xalir.net">Email</a>
</p>
</div>
<!-- Local Bootstrap JS -->
<script src="js/bootstrap.bundle.min.js"></script>
</body>
</html>

7
src/js/bootstrap.bundle.min.js vendored Normal file

File diff suppressed because one or more lines are too long