diff --git a/.github/issue-management.yml b/.github/issue-management.yml index 4b46bea..a566221 100644 --- a/.github/issue-management.yml +++ b/.github/issue-management.yml @@ -11,14 +11,14 @@ jobs: issues: write pull-requests: write steps: - - name: Auto-assign issue - uses: pozil/auto-assign-issue@v1 - with: + - name: Auto-assign issue + uses: pozil/auto-assign-issue@v1 + with: repo-token: ${{ secrets.GITHUB_TOKEN }} assignees: tulilirockz numOfAssignee: 1 - - name: Add to Project Tracking - uses: actions/add-to-project@v0.6.1 - with: - project-url: https://github.com/orgs/atomic-studio-org/projects/3 - github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} + - name: Add to Project Tracking + uses: actions/add-to-project@v0.6.1 + with: + project-url: https://github.com/orgs/atomic-studio-org/projects/3 + github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} diff --git a/.github/workflows/flake-check.yml b/.github/workflows/flake-check.yml index 0b7d577..c9f6709 100644 --- a/.github/workflows/flake-check.yml +++ b/.github/workflows/flake-check.yml @@ -1,4 +1,4 @@ -name: Commit Check +name: Commit Check on: push: pull_request: diff --git a/.github/workflows/issue-management.yml b/.github/workflows/issue-management.yml index 4b46bea..a566221 100644 --- a/.github/workflows/issue-management.yml +++ b/.github/workflows/issue-management.yml @@ -11,14 +11,14 @@ jobs: issues: write pull-requests: write steps: - - name: Auto-assign issue - uses: pozil/auto-assign-issue@v1 - with: + - name: Auto-assign issue + uses: pozil/auto-assign-issue@v1 + with: repo-token: ${{ secrets.GITHUB_TOKEN }} assignees: tulilirockz numOfAssignee: 1 - - name: Add to Project Tracking - uses: actions/add-to-project@v0.6.1 - with: - project-url: https://github.com/orgs/atomic-studio-org/projects/3 - github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} + - name: Add to Project Tracking + uses: actions/add-to-project@v0.6.1 + with: + project-url: https://github.com/orgs/atomic-studio-org/projects/3 + github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} diff --git a/.github/workflows/next-gh-pages.yml b/.github/workflows/next-gh-pages.yml index ba3ddaa..1190339 100644 --- a/.github/workflows/next-gh-pages.yml +++ b/.github/workflows/next-gh-pages.yml @@ -1,4 +1,4 @@ -name: Publish to Github Pages +name: Publish to Github Pages on: workflow_dispatch: push: diff --git a/README.md b/README.md index fe81873..2529438 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,9 @@ This is a website made for talking about Atomic Studio and what it is all about, it is still in a VERY WIP stage, so expect a LOT of changes with time! This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + ## Getting Started + First, run the development server: ```bash diff --git a/app/globals.css b/app/globals.css index cbbc081..2d09e94 100644 --- a/app/globals.css +++ b/app/globals.css @@ -41,7 +41,7 @@ body { -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } - + .no-visible-scrollbar::-webkit-scrollbar { display: none; } diff --git a/app/page.tsx b/app/page.tsx index 30ca1cb..784ff43 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -6,44 +6,51 @@ import { BentoGrid, BentoGridItem } from "@/components/ui/bento-grid"; import { BackgroundGradient } from "@/components/ui/background-gradient"; import { Tabs } from "@/components/ui/tabs"; import { FloatingNav } from "@/components/ui/floating-navbar"; -import { IconHome, IconMessage, IconUser, IconInfoSquareRounded, IconRefreshDot } from "@tabler/icons-react"; +import { + IconHome, + IconMessage, + IconUser, + IconInfoSquareRounded, + IconRefreshDot, +} from "@tabler/icons-react"; export default function Home() { - const tabs = [{ + const tabs = [ + { title: "Audio", value: "product", content: (
- - + p:text-lg]"} - icon={} + icon={} /> - p:text-lg]"} - icon={} + icon={} /> - p:text-lg]"} - icon={} + icon={} /> - } + icon={} /> - +
), }, @@ -52,22 +59,22 @@ export default function Home() { value: "", content: (
- - + } + icon={} /> - p:text-lg]"} - icon={} + icon={} /> - +
), }, @@ -97,7 +104,8 @@ export default function Home() {

Content tab

), - }]; + }, + ]; const navItems = [ { @@ -127,115 +135,169 @@ export default function Home() {
-
 
- -
+
 
- Atomic Studio Logo +
+ Atomic Studio Logo

Your complete content creation setup anywhere.

-
- - About - +
+ About - - Software Selection - + + Software Selection + - - Try it out - -
+ + Try it out + +
- -
 
+ +
 
- +
-

About

- -
- -

Atomicity

-

- Atomic Studio is a Linux distribution based on Fedora Atomic, specifically Universal Blue provided images and built with BlueBuild, being based on these technologies allows it to be completely atomic and reliable for serious usage, allowing you to rollback from any updates that break your system, or pin any deployments so that you may have a consistent image until you are able to update and make sure its going to work well. -

-
- -

Compatibility

-

- We provide software to make your experience better when running software from other distributions or orthodox installation methods. We leverage Distrobox, Nix, Brew, Wine-TKG and custom containers for installing and managing software from any distribution or package managing system through our CLI manager. The manager also serves as an installer for software like Autodesk Maya, Davinci Resolve, and many others. -

-
- - -

Praticality

-

- Studio CLI is the main manager for Atomic Studio, it handles most of the day to day managing of your system, things like updating the system, installing packages, settings realtime permissions, changing configurations for pipewire and other programs, testing your speakers, and managing wine programs like FL Studio. Make sure to contribute to it so that it may have even more support for more things! -

-
-
+

+ About +

+ +
+ +

Atomicity

+

+ Atomic Studio is a Linux distribution based on Fedora Atomic, + specifically Universal Blue provided images and built with + BlueBuild, being based on these technologies allows it to be + completely atomic and reliable for serious usage, allowing you to + rollback from any updates that break your system, or pin any + deployments so that you may have a consistent image until you are + able to update and make sure its going to work well. +

+
+ +

Compatibility

+

+ We provide software to make your experience better when running + software from other distributions or orthodox installation + methods. We leverage Distrobox, Nix, Brew, Wine-TKG and custom + containers for installing and managing software from any + distribution or package managing system through our CLI manager. + The manager also serves as an installer for software like Autodesk + Maya, Davinci Resolve, and many others. +

+
+ + +

Praticality

+

+ Studio CLI is the main manager for Atomic Studio, it handles most + of the day to day managing of your system, things like updating + the system, installing packages, settings realtime permissions, + changing configurations for pipewire and other programs, testing + your speakers, and managing wine programs like FL Studio. Make + sure to contribute to it so that it may have even more support for + more things! +

+
+
-
-

Our Software Selection

-
- -
+
+

+ Our Software Selection +

+
+ +
-
-

Image Picker

- -

This page only exists because the distro isnt done yet, this will be just some screenshots and a way to choose them.

+
+

Image Picker

+ +

+ This page only exists because the distro isnt done yet, this will be + just some screenshots and a way to choose them. +

- -

AMD and Intel

-

- AMD images have specific tweaks for AMD and Intel hardware, apps for managing your AMD GPUs and drivers for those out of the box -

-
-
- - -
-
- - -
-
-
- - -

Nvidia

-

- Studio CLI is the main manager for Atomic Studio, it handles most of the day to day managing of your system, things like updating the system, installing packages, settings realtime permissions, changing configurations for pipewire and other programs, testing your speakers, and managing wine programs like FL Studio. Make sure to contribute to it so that it may have even more support for more things! -

-
-
+ +

AMD and Intel

+

+ AMD images have specific tweaks for AMD and Intel hardware, apps + for managing your AMD GPUs and drivers for those out of the box +

+
+
+ + +
+
+ + +
+
+
+ +

Nvidia

+

+ Studio CLI is the main manager for Atomic Studio, it handles most + of the day to day managing of your system, things like updating + the system, installing packages, settings realtime permissions, + changing configurations for pipewire and other programs, testing + your speakers, and managing wine programs like FL Studio. Make + sure to contribute to it so that it may have even more support for + more things! +

+
+
); diff --git a/bun.lockb b/bun.lockb index f7015b9..8432233 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/components/ui/background-gradient-animation.tsx b/components/ui/background-gradient-animation.tsx index f8dddc7..e1423ec 100644 --- a/components/ui/background-gradient-animation.tsx +++ b/components/ui/background-gradient-animation.tsx @@ -42,11 +42,11 @@ export const BackgroundGradientAnimation = ({ useEffect(() => { document.body.style.setProperty( "--gradient-background-start", - gradientBackgroundStart + gradientBackgroundStart, ); document.body.style.setProperty( "--gradient-background-end", - gradientBackgroundEnd + gradientBackgroundEnd, ); document.body.style.setProperty("--first-color", firstColor); document.body.style.setProperty("--second-color", secondColor); @@ -66,7 +66,7 @@ export const BackgroundGradientAnimation = ({ setCurX(curX + (tgX - curX) / 20); setCurY(curY + (tgY - curY) / 20); interactiveRef.current.style.transform = `translate(${Math.round( - curX + curX, )}px, ${Math.round(curY)}px)`; } @@ -90,7 +90,7 @@ export const BackgroundGradientAnimation = ({
@@ -115,7 +115,7 @@ export const BackgroundGradientAnimation = ({
@@ -171,7 +171,7 @@ export const BackgroundGradientAnimation = ({ className={cn( `absolute [background:radial-gradient(circle_at_center,_rgba(var(--pointer-color),_0.8)_0,_rgba(var(--pointer-color),_0)_50%)_no-repeat]`, `[mix-blend-mode:var(--blending-value)] w-full h-full -top-1/2 -left-1/2`, - `opacity-70` + `opacity-70`, )} >
)} diff --git a/components/ui/background-gradient.tsx b/components/ui/background-gradient.tsx index 05a8a42..511bb67 100644 --- a/components/ui/background-gradient.tsx +++ b/components/ui/background-gradient.tsx @@ -41,7 +41,7 @@ export const BackgroundGradient = ({ }} className={cn( "absolute inset-0 rounded-3xl z-[1] opacity-60 group-hover:opacity-100 blur-xl transition duration-500", - " bg-[radial-gradient(circle_farthest-side_at_0_100%,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_100%_0,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_100%_100%,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_0_0,#7b61ff,#141316)]" + " bg-[radial-gradient(circle_farthest-side_at_0_100%,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_100%_0,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_100%_100%,#7b61ff,transparent),radial-gradient(circle_farthest-side_at_0_0,#7b61ff,#141316)]", )} /> @@ -70,4 +70,3 @@ export const BackgroundGradient = ({
); }; - diff --git a/components/ui/bento-grid.tsx b/components/ui/bento-grid.tsx index 4440011..aac036f 100644 --- a/components/ui/bento-grid.tsx +++ b/components/ui/bento-grid.tsx @@ -11,7 +11,7 @@ export const BentoGrid = ({
{children} @@ -36,7 +36,7 @@ export const BentoGridItem = ({
{header} diff --git a/components/ui/buttons.tsx b/components/ui/buttons.tsx index d0709eb..c8c9cdc 100644 --- a/components/ui/buttons.tsx +++ b/components/ui/buttons.tsx @@ -1,4 +1,4 @@ -import { Children } from 'react'; +import { Children } from "react"; import { cn } from "@/utils/cn"; export const ButtonBorderMagic = ({ @@ -10,13 +10,18 @@ export const ButtonBorderMagic = ({ className?: string; }) => { return ( - - ) + ); }; export const ButtonBorderLitup = ({ @@ -31,10 +36,10 @@ export const ButtonBorderLitup = ({ - ) + ); }; export const ButtonFancyMain = ({ @@ -45,13 +50,21 @@ export const ButtonFancyMain = ({ }: { className?: string; onClick?: Function; - section?: string + section?: string; }) => { - const onClickFunction = onClick ?? (() => document.querySelector(`#${section}`).scrollIntoView({ behavior: "smooth"})); + const onClickFunction = + onClick ?? + (() => + document + .querySelector(`#${section}`) + .scrollIntoView({ behavior: "smooth" })); return ( - - ) + ); }; diff --git a/components/ui/floating-navbar.tsx b/components/ui/floating-navbar.tsx index d3fcbef..922d8ac 100644 --- a/components/ui/floating-navbar.tsx +++ b/components/ui/floating-navbar.tsx @@ -26,14 +26,14 @@ export const FloatingNav = ({ useMotionValueEvent(scrollYProgress, "change", (current) => { // Check if current is not undefined and is a number if (!(typeof current === "number")) { - return + return; } if (window.pageYOffset > window.innerHeight) { - setTransparent(false) - return + setTransparent(false); + return; } - setTransparent(true) + setTransparent(true); }); return ( @@ -53,15 +53,21 @@ export const FloatingNav = ({ className={cn( "flex max-w-fit fixed top-10 inset-x-0 mx-auto border border-transparent dark:border-white/[0.2] rounded-full bg-purple-700 text-white z-[5000] pr-2 pl-8 p-2 items-center justify-center space-x-4 transition-all duration-300", className, - (transparent ? "bg-transparent" : "shadow-[0px_2px_3px_-1px_rgba(0,0,0,0.1),0px_1px_0px_0px_rgba(25,28,33,0.02),0px_0px_0px_1px_rgba(25,28,33,0.08)]") + transparent + ? "bg-transparent" + : "shadow-[0px_2px_3px_-1px_rgba(0,0,0,0.1),0px_1px_0px_0px_rgba(25,28,33,0.02),0px_0px_0px_1px_rgba(25,28,33,0.08)]", )} > {navItems.map((navItem: any, idx: number) => ( - ))} - -
 
+ + {tab.title} + + + ))} + +
 
@@ -62,9 +68,9 @@ export const TypewriterEffect = ({ key={`char-${index}`} className={cn( `dark:text-white text-black opacity-0 hidden`, - word.className + word.className, )} - animate={controls} + animate={controls} > {char} @@ -88,7 +94,7 @@ export const TypewriterEffect = ({ }} className={cn( "inline-block rounded-sm w-[4px] h-4 md:h-6 lg:h-10 bg-blue-500", - cursorClassName + cursorClassName, )} >
diff --git a/flake.lock b/flake.lock index c55a831..474e9ed 100644 --- a/flake.lock +++ b/flake.lock @@ -115,11 +115,7 @@ }, "gitignore": { "inputs": { - "nixpkgs": [ - "utility-flake", - "nix-pre-commit-hooks", - "nixpkgs" - ] + "nixpkgs": ["utility-flake", "nix-pre-commit-hooks", "nixpkgs"] }, "locked": { "lastModified": 1709087332, @@ -238,11 +234,7 @@ "rust-overlay": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": [ - "utility-flake", - "bluebuild", - "nixpkgs" - ] + "nixpkgs": ["utility-flake", "bluebuild", "nixpkgs"] }, "locked": { "lastModified": 1709086241, diff --git a/flake.nix b/flake.nix index f4338a5..231ff61 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,9 @@ }); devShells = forEachSupportedSystem ({ pkgs }: { - inherit (utility-flake.devShells.${pkgs.system}) default; + default = pkgs.mkShell { + packages = utility-flake.lib.${pkgs.system}.devShellPackages ++ (with pkgs.nodePackages; [ prettier eslint ]); + }; }); }; } diff --git a/package.json b/package.json index 8308ca7..b8cac65 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "format": "prettier -w ./app ./components" }, "dependencies": { "@tabler/icons-react": "^3.1.0", @@ -18,14 +19,15 @@ "tailwind-merge": "^2.2.2" }, "devDependencies": { - "typescript": "^5", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.4", "postcss": "^8", + "prettier": "^3.2.5", "tailwindcss": "^3.3.0", - "eslint": "^8", - "eslint-config-next": "14.1.4" + "typescript": "^5" } } diff --git a/tailwind.config.ts b/tailwind.config.ts index 0ff6028..2325a37 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -53,7 +53,7 @@ const config: Config = { "100%": { transform: "translateY(-50%)", }, - }, + }, }, }, }, diff --git a/utils/cn.ts b/utils/cn.ts index 74d2f3b..cec6ac9 100644 --- a/utils/cn.ts +++ b/utils/cn.ts @@ -4,4 +4,3 @@ import { twMerge } from "tailwind-merge"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } -