Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
diff --git a/assets/js/043e14d3.628200c5.js b/assets/js/043e14d3.628200c5.js
deleted file mode 100644
index 2ab239a5..00000000
--- a/assets/js/043e14d3.628200c5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8731],{7388:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var o=n(4848),a=n(8453);const i={sidebar_position:4},s="Upload & Deploy Packages",d={id:"dev_guide/deploy_packages",title:"Upload & Deploy Packages",description:"",source:"@site/docs/dev_guide/deploy_packages.md",sourceDirName:"dev_guide",slug:"/dev_guide/deploy_packages",permalink:"/documentation/dev_guide/deploy_packages",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/deploy_packages.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"},next:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"}},r={},c=[];function u(e){const t={h1:"h1",...(0,a.R)(),...e.components};return(0,o.jsx)(t.h1,{id:"upload--deploy-packages",children:"Upload & Deploy Packages"})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var o=n(6540);const a={},i=o.createContext(a);function s(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/043e14d3.a2136bc9.js b/assets/js/043e14d3.a2136bc9.js
new file mode 100644
index 00000000..7dee406b
--- /dev/null
+++ b/assets/js/043e14d3.a2136bc9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8731],{7388:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>i,default:()=>p,frontMatter:()=>d,metadata:()=>s,toc:()=>c});var o=n(4848),a=n(8453);const d={sidebar_position:4},i="Upload & Deploy Packages",s={id:"dev_guide/deploy_packages",title:"Upload & Deploy Packages",description:"",source:"@site/docs/dev_guide/deploy_packages.md",sourceDirName:"dev_guide",slug:"/dev_guide/deploy_packages",permalink:"/documentation/dev_guide/deploy_packages",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/deploy_packages.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gog_key"},next:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"}},r={},c=[];function u(e){const t={h1:"h1",...(0,a.R)(),...e.components};return(0,o.jsx)(t.h1,{id:"upload--deploy-packages",children:"Upload & Deploy Packages"})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>s});var o=n(6540);const a={},d=o.createContext(a);function i(e){const t=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(d.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/66ee5a7d.3cbe2cce.js b/assets/js/66ee5a7d.3cbe2cce.js
deleted file mode 100644
index c70b3f79..00000000
--- a/assets/js/66ee5a7d.3cbe2cce.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5890],{5843:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var t=i(4848),a=i(8453);const s={sidebar_position:2},o="PKGBUILD Template",c={id:"dev_guide/pkgbuild",title:"PKGBUILD Template",description:"Snigdha OS has it's own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.",source:"@site/docs/dev_guide/pkgbuild.md",sourceDirName:"dev_guide",slug:"/dev_guide/pkgbuild",permalink:"/documentation/dev_guide/pkgbuild",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/pkgbuild.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Build From Source",permalink:"/documentation/dev_guide/build_source"},next:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"}},r={},l=[{value:"What is PKGBUILD?",id:"what-is-pkgbuild",level:2},{value:"A simple PKGBUILD",id:"a-simple-pkgbuild",level:2},{value:"Snigdha OS PKGBUILD",id:"snigdha-os-pkgbuild",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"pkgbuild-template",children:"PKGBUILD Template"}),"\n",(0,t.jsxs)(n.p,{children:["Snigdha OS has it's own ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," template."]}),"\n",(0,t.jsx)(n.h2,{id:"what-is-pkgbuild",children:"What is PKGBUILD?"}),"\n",(0,t.jsxs)(n.p,{children:["In Arch Linux or Snigdha OS, ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," is a script used to build packages. It contains metadata about the package as well as instructions on how to compile or otherwise obtain the necessary files to create a package. ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts are used with the ",(0,t.jsx)(n.code,{children:"makepkg"})," utility to create packages in the Arch Linux package format (",(0,t.jsx)(n.code,{children:".pkg.tar.xz"}),"). But in ",(0,t.jsx)(n.strong,{children:"Snigdha OS"})," our package format will be ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:".pkg.tar.zst"})}),"."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"PKGBUILD"})," typically includes information such as the package name, version, dependencies, build instructions, and optional parameters. They allow users to easily create custom packages from source code or other files, which can then be installed using the package manager (",(0,t.jsx)(n.code,{children:"pacman"}),")."]}),"\n",(0,t.jsxs)(n.p,{children:["Using ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts provides a standardized and reproducible way to create packages, ensuring consistency across the Arch Linux ecosystem. Additionally, the Arch User Repository (AUR) relies heavily on ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts submitted by users to build and distribute packages that are not available in the official repositories. Since ",(0,t.jsx)(n.strong,{children:"Snigdha OS"})," also comes in ",(0,t.jsx)(n.strong,{children:"Arch Linux"})," ecosystem, we also rely on Arch User Repository for packages."]}),"\n",(0,t.jsx)(n.h2,{id:"a-simple-pkgbuild",children:"A simple PKGBUILD"}),"\n",(0,t.jsxs)(n.p,{children:["Writing a ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," for Arch Linux and Snigdha OS involves several key steps. Below is a basic example of a ",(0,t.jsx)(n.code,{children:"PKGBUILD"}),' for a fictitious application called "exampleapp." This example assumes that "exampleapp" is a simple Python application with a ',(0,t.jsx)(n.code,{children:"setup.py"})," file for installation."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-PKGBUILD",children:'# Maintainer: Your Name \npkgname=exampleapp\npkgver=1.0\npkgrel=1\npkgdesc="A simple example application"\narch=(\'any\')\nurl="https://example.com/exampleapp"\nlicense=(\'MIT\')\ndepends=(\'python\')\n\nsource=("https://example.com/exampleapp/exampleapp-${pkgver}.tar.gz")\n\nbuild() {\n cd "${srcdir}/exampleapp-${pkgver}"\n python setup.py build\n}\n\npackage() {\n cd "${srcdir}/exampleapp-${pkgver}"\n python setup.py install --root="${pkgdir}/" --optimize=1\n}\n\n# Checksums, uncomment these lines and provide the correct checksums:\n# sha256sums=(\'SKIP\')\n\n'})}),"\n",(0,t.jsx)(n.p,{children:"Here's a breakdown of the sections:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Metadata"}),": This section defines metadata about the package, including its name (",(0,t.jsx)(n.code,{children:"pkgname"}),"), version (",(0,t.jsx)(n.code,{children:"pkgver"}),"), release number (",(0,t.jsx)(n.code,{children:"pkgrel"}),"), description (",(0,t.jsx)(n.code,{children:"pkgdesc"}),"), architecture (",(0,t.jsx)(n.code,{children:"arch"}),"), URL (",(0,t.jsx)(n.code,{children:"url"}),"), and license (",(0,t.jsx)(n.code,{children:"license"}),"). These fields are essential for identifying and describing the package."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Dependencies"}),": The ",(0,t.jsx)(n.code,{children:"depends"})," array lists the runtime dependencies required for the package to function correctly. You should include any libraries or packages that your application relies on."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Source"}),": The ",(0,t.jsx)(n.code,{children:"source"})," array specifies where to download the source code for the application. In this example, the source is assumed to be a tarball available at a URL. You may need to adjust this section based on the source code's location and format."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Build() function"}),": This function contains the commands needed to build the package. It typically involves navigating to the source directory (",(0,t.jsx)(n.code,{children:"${srcdir}"}),") and running build commands specific to your application. In this example, we're assuming a Python application with a ",(0,t.jsx)(n.code,{children:"setup.py"})," file, so we use ",(0,t.jsx)(n.code,{children:"python setup.py build"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Package() function"}),": This function contains the commands needed to install the package into the package directory (",(0,t.jsx)(n.code,{children:"${pkgdir}"}),"). It typically involves navigating to the source directory and running installation commands. Here, we're assuming a Python application with a ",(0,t.jsx)(n.code,{children:"setup.py"})," file, so we use ",(0,t.jsx)(n.code,{children:"python setup.py install"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Checksums"}),": Uncomment the ",(0,t.jsx)(n.code,{children:"sha256sums"})," array and provide the correct checksum for the source tarball. This ensures that the source hasn't been tampered with."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Once you've written the ",(0,t.jsx)(n.code,{children:"PKGBUILD"}),", save it to a file named ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," and place it in a directory with the same name as the package. You can then use the ",(0,t.jsx)(n.code,{children:"makepkg"})," command to build the package:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"$ makepkg\n"})}),"\n",(0,t.jsxs)(n.p,{children:["This command will generate a ",(0,t.jsx)(n.code,{children:".pkg.tar.zst"})," file containing the built package, which you can then install using ",(0,t.jsx)(n.code,{children:"pacman"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"snigdha-os-pkgbuild",children:"Snigdha OS PKGBUILD"}),"\n",(0,t.jsx)(n.p,{children:"Here is the PKGBUILD Template we follow specifically for Snigdha OS."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Maintainer: Your Name \npkgname=\norg=Snigdha-OS # The username/organization username where you upload the Source Code. \nbranch=master # Your GitHub/GitLab/Gitea repository branch. Possible values: master, main, devlopment\npkgver= # Initiate it with 1.\npkgrel= # Initiate it with 1.\npkgdesc='' # A short description of your package.\narch=('') # Possible options: any,x86_64, arm64 etc.\nurl=\"\" # Your package source code URL \nlicense=('') # Possible options: MIT, GPL, AGPL, custom\nmakedepends=('') # Dependency it install or run the package\nsource=(\"\") # The source of the package \nsha256sums=('') # checksums\ninstall=$pkgname.install # Further instuction after installing/building the package.\n\npkgver() {\n\tprintf \"r%s.%s\" \"$(git rev-list --count HEAD)\" \"$(git rev-parse --short HEAD)\"\n}\n\n# Since we maintain the package version with the github repository commit count an the last commit, we use pkgver() function.\n# It is a good option the maintain the package version. Somtimes I forgot to change the version.\n\npackage() {\n\t# Your package function goes here with instructions to build the package. \n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var t=i(6540);const a={},s=t.createContext(a);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/66ee5a7d.ca3d4d14.js b/assets/js/66ee5a7d.ca3d4d14.js
new file mode 100644
index 00000000..0cedd9ab
--- /dev/null
+++ b/assets/js/66ee5a7d.ca3d4d14.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5890],{5843:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var t=i(4848),a=i(8453);const s={sidebar_position:7},o="PKGBUILD Template",c={id:"dev_guide/pkgbuild",title:"PKGBUILD Template",description:"Snigdha OS has it's own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.",source:"@site/docs/dev_guide/pkgbuild.md",sourceDirName:"dev_guide",slug:"/dev_guide/pkgbuild",permalink:"/documentation/dev_guide/pkgbuild",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/pkgbuild.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"Writing Documentation",permalink:"/documentation/dev_guide/write"},next:{title:"Tools",permalink:"/documentation/category/tools"}},r={},l=[{value:"What is PKGBUILD?",id:"what-is-pkgbuild",level:2},{value:"A simple PKGBUILD",id:"a-simple-pkgbuild",level:2},{value:"Snigdha OS PKGBUILD",id:"snigdha-os-pkgbuild",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"pkgbuild-template",children:"PKGBUILD Template"}),"\n",(0,t.jsxs)(n.p,{children:["Snigdha OS has it's own ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," template."]}),"\n",(0,t.jsx)(n.h2,{id:"what-is-pkgbuild",children:"What is PKGBUILD?"}),"\n",(0,t.jsxs)(n.p,{children:["In Arch Linux or Snigdha OS, ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," is a script used to build packages. It contains metadata about the package as well as instructions on how to compile or otherwise obtain the necessary files to create a package. ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts are used with the ",(0,t.jsx)(n.code,{children:"makepkg"})," utility to create packages in the Arch Linux package format (",(0,t.jsx)(n.code,{children:".pkg.tar.xz"}),"). But in ",(0,t.jsx)(n.strong,{children:"Snigdha OS"})," our package format will be ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:".pkg.tar.zst"})}),"."]}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"PKGBUILD"})," typically includes information such as the package name, version, dependencies, build instructions, and optional parameters. They allow users to easily create custom packages from source code or other files, which can then be installed using the package manager (",(0,t.jsx)(n.code,{children:"pacman"}),")."]}),"\n",(0,t.jsxs)(n.p,{children:["Using ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts provides a standardized and reproducible way to create packages, ensuring consistency across the Arch Linux ecosystem. Additionally, the Arch User Repository (AUR) relies heavily on ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," scripts submitted by users to build and distribute packages that are not available in the official repositories. Since ",(0,t.jsx)(n.strong,{children:"Snigdha OS"})," also comes in ",(0,t.jsx)(n.strong,{children:"Arch Linux"})," ecosystem, we also rely on Arch User Repository for packages."]}),"\n",(0,t.jsx)(n.h2,{id:"a-simple-pkgbuild",children:"A simple PKGBUILD"}),"\n",(0,t.jsxs)(n.p,{children:["Writing a ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," for Arch Linux and Snigdha OS involves several key steps. Below is a basic example of a ",(0,t.jsx)(n.code,{children:"PKGBUILD"}),' for a fictitious application called "exampleapp." This example assumes that "exampleapp" is a simple Python application with a ',(0,t.jsx)(n.code,{children:"setup.py"})," file for installation."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-PKGBUILD",children:'# Maintainer: Your Name \npkgname=exampleapp\npkgver=1.0\npkgrel=1\npkgdesc="A simple example application"\narch=(\'any\')\nurl="https://example.com/exampleapp"\nlicense=(\'MIT\')\ndepends=(\'python\')\n\nsource=("https://example.com/exampleapp/exampleapp-${pkgver}.tar.gz")\n\nbuild() {\n cd "${srcdir}/exampleapp-${pkgver}"\n python setup.py build\n}\n\npackage() {\n cd "${srcdir}/exampleapp-${pkgver}"\n python setup.py install --root="${pkgdir}/" --optimize=1\n}\n\n# Checksums, uncomment these lines and provide the correct checksums:\n# sha256sums=(\'SKIP\')\n\n'})}),"\n",(0,t.jsx)(n.p,{children:"Here's a breakdown of the sections:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Metadata"}),": This section defines metadata about the package, including its name (",(0,t.jsx)(n.code,{children:"pkgname"}),"), version (",(0,t.jsx)(n.code,{children:"pkgver"}),"), release number (",(0,t.jsx)(n.code,{children:"pkgrel"}),"), description (",(0,t.jsx)(n.code,{children:"pkgdesc"}),"), architecture (",(0,t.jsx)(n.code,{children:"arch"}),"), URL (",(0,t.jsx)(n.code,{children:"url"}),"), and license (",(0,t.jsx)(n.code,{children:"license"}),"). These fields are essential for identifying and describing the package."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Dependencies"}),": The ",(0,t.jsx)(n.code,{children:"depends"})," array lists the runtime dependencies required for the package to function correctly. You should include any libraries or packages that your application relies on."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Source"}),": The ",(0,t.jsx)(n.code,{children:"source"})," array specifies where to download the source code for the application. In this example, the source is assumed to be a tarball available at a URL. You may need to adjust this section based on the source code's location and format."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Build() function"}),": This function contains the commands needed to build the package. It typically involves navigating to the source directory (",(0,t.jsx)(n.code,{children:"${srcdir}"}),") and running build commands specific to your application. In this example, we're assuming a Python application with a ",(0,t.jsx)(n.code,{children:"setup.py"})," file, so we use ",(0,t.jsx)(n.code,{children:"python setup.py build"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Package() function"}),": This function contains the commands needed to install the package into the package directory (",(0,t.jsx)(n.code,{children:"${pkgdir}"}),"). It typically involves navigating to the source directory and running installation commands. Here, we're assuming a Python application with a ",(0,t.jsx)(n.code,{children:"setup.py"})," file, so we use ",(0,t.jsx)(n.code,{children:"python setup.py install"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Checksums"}),": Uncomment the ",(0,t.jsx)(n.code,{children:"sha256sums"})," array and provide the correct checksum for the source tarball. This ensures that the source hasn't been tampered with."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Once you've written the ",(0,t.jsx)(n.code,{children:"PKGBUILD"}),", save it to a file named ",(0,t.jsx)(n.code,{children:"PKGBUILD"})," and place it in a directory with the same name as the package. You can then use the ",(0,t.jsx)(n.code,{children:"makepkg"})," command to build the package:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"$ makepkg\n"})}),"\n",(0,t.jsxs)(n.p,{children:["This command will generate a ",(0,t.jsx)(n.code,{children:".pkg.tar.zst"})," file containing the built package, which you can then install using ",(0,t.jsx)(n.code,{children:"pacman"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"snigdha-os-pkgbuild",children:"Snigdha OS PKGBUILD"}),"\n",(0,t.jsx)(n.p,{children:"Here is the PKGBUILD Template we follow specifically for Snigdha OS."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"# Maintainer: Your Name \npkgname=\norg=Snigdha-OS # The username/organization username where you upload the Source Code. \nbranch=master # Your GitHub/GitLab/Gitea repository branch. Possible values: master, main, devlopment\npkgver= # Initiate it with 1.\npkgrel= # Initiate it with 1.\npkgdesc='' # A short description of your package.\narch=('') # Possible options: any,x86_64, arm64 etc.\nurl=\"\" # Your package source code URL \nlicense=('') # Possible options: MIT, GPL, AGPL, custom\nmakedepends=('') # Dependency it install or run the package\nsource=(\"\") # The source of the package \nsha256sums=('') # checksums\ninstall=$pkgname.install # Further instuction after installing/building the package.\n\npkgver() {\n\tprintf \"r%s.%s\" \"$(git rev-list --count HEAD)\" \"$(git rev-parse --short HEAD)\"\n}\n\n# Since we maintain the package version with the github repository commit count an the last commit, we use pkgver() function.\n# It is a good option the maintain the package version. Somtimes I forgot to change the version.\n\npackage() {\n\t# Your package function goes here with instructions to build the package. \n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var t=i(6540);const a={},s=t.createContext(a);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/89ebda57.4d8ffb27.js b/assets/js/89ebda57.4d8ffb27.js
deleted file mode 100644
index d0a101a9..00000000
--- a/assets/js/89ebda57.4d8ffb27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5766],{8521:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>t,metadata:()=>o,toc:()=>c});var r=s(4848),i=s(8453);const t={sidebar_position:3},l="Generate GPG Key",o={id:"dev_guide/gpg_key",title:"Generate GPG Key",description:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",source:"@site/docs/dev_guide/gpg_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/gpg_key",permalink:"/documentation/dev_guide/gpg_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/gpg_key.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"PKGBUILD Template",permalink:"/documentation/dev_guide/pkgbuild"},next:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"}},a={},c=[{value:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",id:"-how-to-generate-a-gpg-key-on-snigdha-os",level:3},{value:"\ud83d\udee0\ufe0f Step 1: Install GPG",id:"\ufe0f-step-1-install-gpg",level:3},{value:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair",id:"\ufe0f-step-2-create-a-new-gpg-key-pair",level:3},{value:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key",id:"\ufe0f-step-3-verify-the-generated-key",level:3},{value:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key",id:"\ufe0f-step-4-export-your-public-key",level:3},{value:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption",id:"\ufe0f-step-5-test-encryption-and-decryption",level:3},{value:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys",id:"\ufe0f-step-6-back-up-your-keys",level:3},{value:"\ud83d\ude80 Final Tips",id:"-final-tips",level:3}];function d(e){const n={code:"code",h1:"h1",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"generate-gpg-key",children:"Generate GPG Key"}),"\n",(0,r.jsx)(n.h3,{id:"-how-to-generate-a-gpg-key-on-snigdha-os",children:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS"}),"\n",(0,r.jsx)(n.p,{children:"GPG (GNU Privacy Guard) is a tool for secure communication and data encryption. It allows you to create and manage public and private keys, encrypt files, and sign documents. Here\u2019s how you can generate a GPG key on Snigdha OS, step by step, with examples."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-1-install-gpg",children:"\ud83d\udee0\ufe0f Step 1: Install GPG"}),"\n",(0,r.jsx)(n.p,{children:"Most Snigdha OS installations come with GPG pre-installed. If it\u2019s not installed, use the following command to install it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S gnupg\n"})}),"\n",(0,r.jsx)(n.p,{children:"To verify the installation, check the version:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --version\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-2-create-a-new-gpg-key-pair",children:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Start the key generation process"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Run the following command:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --full-generate-key\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Select the key type"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll see a prompt to choose the type of key. Options typically include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.strong,{children:"(1) RSA and RSA (default)"})}),"\n",(0,r.jsx)(n.li,{children:"(2) DSA and Elgamal"}),"\n",(0,r.jsx)(n.li,{children:"(3) DSA (sign only)"}),"\n",(0,r.jsx)(n.li,{children:"(4) RSA (sign only)"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Press ",(0,r.jsx)(n.code,{children:"1"})," and hit Enter to select the default ",(0,r.jsx)(n.strong,{children:"RSA and RSA"})," type."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the key length"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["You\u2019ll be prompted to specify the key size. A common recommendation is ",(0,r.jsx)(n.strong,{children:"4096 bits"})," for strong encryption. Type ",(0,r.jsx)(n.code,{children:"4096"})," and press Enter."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the expiration date"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You can define how long the key should be valid. Options include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"0"})," for no expiration"]}),"\n",(0,r.jsxs)(n.li,{children:["Specify a duration, e.g., ",(0,r.jsx)(n.code,{children:"1y"})," for one year, ",(0,r.jsx)(n.code,{children:"2y"})," for two years, or ",(0,r.jsx)(n.code,{children:"1m"})," for one month."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For this example, type ",(0,r.jsx)(n.code,{children:"0"})," (no expiration) and press Enter. When prompted, confirm your choice."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Enter your details"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll be asked for:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your real name"}),": Enter your full name."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your email address"}),": Enter a valid email address."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"A comment (optional)"}),": Add a description or leave it blank."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Real name: John Doe\nEmail address: johndoe@example.com\nComment: Snigdha OS User\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Review the details and confirm by typing ",(0,r.jsx)(n.code,{children:"O"})," (for OK)."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set a passphrase"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Choose a strong passphrase to protect your private key. This passphrase will be required whenever you use your private key for encryption or signing."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-3-verify-the-generated-key",children:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key"}),"\n",(0,r.jsx)(n.p,{children:"Once the key is generated, you can list your keys with:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,r.jsx)(n.p,{children:"Output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"/home/username/.gnupg/pubring.kbx\n---------------------------------\npub rsa4096 2023-12-05 [SC] [expires: 2025-12-05]\n ABCD1234EFGH5678IJKL9012MNOP3456QRST7890\nuid [ultimate] John Doe \nsub rsa4096 2023-12-05 [E] [expires: 2025-12-05]\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"pub"}),": Your primary key (for signing and certification)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"sub"}),": Subkey (for encryption)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[SC]"}),": Key capabilities: Sign and Certify."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[E]"}),": Encryption."]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-4-export-your-public-key",children:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key"}),"\n",(0,r.jsx)(n.p,{children:"To share your public key with others, export it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This creates a file ",(0,r.jsx)(n.code,{children:"public_key.asc"})," with your public key in ASCII format."]}),"\n",(0,r.jsx)(n.p,{children:"To display the key in the terminal:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-5-test-encryption-and-decryption",children:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Encrypt a file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Create a sample file to encrypt:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'echo "Hello, this is a test message!" > message.txt\n'})}),"\n",(0,r.jsx)(n.p,{children:"Encrypt the file with your public key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output message.txt.gpg --encrypt --recipient johndoe@example.com message.txt\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This generates an encrypted file ",(0,r.jsx)(n.code,{children:"message.txt.gpg"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Decrypt the file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Decrypt the file using your private key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output decrypted_message.txt --decrypt message.txt.gpg\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Enter your passphrase when prompted. The decrypted content will be saved in ",(0,r.jsx)(n.code,{children:"decrypted_message.txt"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-6-back-up-your-keys",children:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys"}),"\n",(0,r.jsx)(n.p,{children:"Always back up your keys to prevent losing access:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your private key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export-secret-keys johndoe@example.com > private_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your public key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Store these files (",(0,r.jsx)(n.code,{children:"private_key.asc"})," and ",(0,r.jsx)(n.code,{children:"public_key.asc"}),") in a safe place."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"-final-tips",children:"\ud83d\ude80 Final Tips"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Keep your private key secure. Never share it."}),"\n",(0,r.jsx)(n.li,{children:"Regularly update your passphrase for added security."}),"\n",(0,r.jsxs)(n.li,{children:["Use tools like ",(0,r.jsx)(n.strong,{children:"gpg-agent"})," for easier key management."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"That\u2019s it! You now have a functional GPG key pair set up on Snigdha OS. \ud83c\udf89"})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var r=s(6540);const i={},t=r.createContext(i);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/89ebda57.ed80bc3b.js b/assets/js/89ebda57.ed80bc3b.js
new file mode 100644
index 00000000..8baa34a0
--- /dev/null
+++ b/assets/js/89ebda57.ed80bc3b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5766],{8521:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>t,metadata:()=>o,toc:()=>d});var r=s(4848),i=s(8453);const t={sidebar_position:2},l="Generate GPG Key",o={id:"dev_guide/gpg_key",title:"Generate GPG Key",description:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",source:"@site/docs/dev_guide/gpg_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/gpg_key",permalink:"/documentation/dev_guide/gpg_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/gpg_key.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Build From Source",permalink:"/documentation/dev_guide/build_source"},next:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gog_key"}},c={},d=[{value:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",id:"-how-to-generate-a-gpg-key-on-snigdha-os",level:3},{value:"\ud83d\udee0\ufe0f Step 1: Install GPG",id:"\ufe0f-step-1-install-gpg",level:3},{value:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair",id:"\ufe0f-step-2-create-a-new-gpg-key-pair",level:3},{value:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key",id:"\ufe0f-step-3-verify-the-generated-key",level:3},{value:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key",id:"\ufe0f-step-4-export-your-public-key",level:3},{value:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption",id:"\ufe0f-step-5-test-encryption-and-decryption",level:3},{value:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys",id:"\ufe0f-step-6-back-up-your-keys",level:3},{value:"\ud83d\ude80 Final Tips",id:"-final-tips",level:3}];function a(e){const n={code:"code",h1:"h1",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"generate-gpg-key",children:"Generate GPG Key"}),"\n",(0,r.jsx)(n.h3,{id:"-how-to-generate-a-gpg-key-on-snigdha-os",children:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS"}),"\n",(0,r.jsx)(n.p,{children:"GPG (GNU Privacy Guard) is a tool for secure communication and data encryption. It allows you to create and manage public and private keys, encrypt files, and sign documents. Here\u2019s how you can generate a GPG key on Snigdha OS, step by step, with examples."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-1-install-gpg",children:"\ud83d\udee0\ufe0f Step 1: Install GPG"}),"\n",(0,r.jsx)(n.p,{children:"Most Snigdha OS installations come with GPG pre-installed. If it\u2019s not installed, use the following command to install it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S gnupg\n"})}),"\n",(0,r.jsx)(n.p,{children:"To verify the installation, check the version:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --version\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-2-create-a-new-gpg-key-pair",children:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Start the key generation process"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Run the following command:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --full-generate-key\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Select the key type"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll see a prompt to choose the type of key. Options typically include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.strong,{children:"(1) RSA and RSA (default)"})}),"\n",(0,r.jsx)(n.li,{children:"(2) DSA and Elgamal"}),"\n",(0,r.jsx)(n.li,{children:"(3) DSA (sign only)"}),"\n",(0,r.jsx)(n.li,{children:"(4) RSA (sign only)"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Press ",(0,r.jsx)(n.code,{children:"1"})," and hit Enter to select the default ",(0,r.jsx)(n.strong,{children:"RSA and RSA"})," type."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the key length"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["You\u2019ll be prompted to specify the key size. A common recommendation is ",(0,r.jsx)(n.strong,{children:"4096 bits"})," for strong encryption. Type ",(0,r.jsx)(n.code,{children:"4096"})," and press Enter."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the expiration date"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You can define how long the key should be valid. Options include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"0"})," for no expiration"]}),"\n",(0,r.jsxs)(n.li,{children:["Specify a duration, e.g., ",(0,r.jsx)(n.code,{children:"1y"})," for one year, ",(0,r.jsx)(n.code,{children:"2y"})," for two years, or ",(0,r.jsx)(n.code,{children:"1m"})," for one month."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For this example, type ",(0,r.jsx)(n.code,{children:"0"})," (no expiration) and press Enter. When prompted, confirm your choice."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Enter your details"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll be asked for:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your real name"}),": Enter your full name."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your email address"}),": Enter a valid email address."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"A comment (optional)"}),": Add a description or leave it blank."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Real name: John Doe\nEmail address: johndoe@example.com\nComment: Snigdha OS User\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Review the details and confirm by typing ",(0,r.jsx)(n.code,{children:"O"})," (for OK)."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set a passphrase"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Choose a strong passphrase to protect your private key. This passphrase will be required whenever you use your private key for encryption or signing."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-3-verify-the-generated-key",children:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key"}),"\n",(0,r.jsx)(n.p,{children:"Once the key is generated, you can list your keys with:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,r.jsx)(n.p,{children:"Output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"/home/username/.gnupg/pubring.kbx\n---------------------------------\npub rsa4096 2023-12-05 [SC] [expires: 2025-12-05]\n ABCD1234EFGH5678IJKL9012MNOP3456QRST7890\nuid [ultimate] John Doe \nsub rsa4096 2023-12-05 [E] [expires: 2025-12-05]\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"pub"}),": Your primary key (for signing and certification)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"sub"}),": Subkey (for encryption)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[SC]"}),": Key capabilities: Sign and Certify."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[E]"}),": Encryption."]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-4-export-your-public-key",children:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key"}),"\n",(0,r.jsx)(n.p,{children:"To share your public key with others, export it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This creates a file ",(0,r.jsx)(n.code,{children:"public_key.asc"})," with your public key in ASCII format."]}),"\n",(0,r.jsx)(n.p,{children:"To display the key in the terminal:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-5-test-encryption-and-decryption",children:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Encrypt a file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Create a sample file to encrypt:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'echo "Hello, this is a test message!" > message.txt\n'})}),"\n",(0,r.jsx)(n.p,{children:"Encrypt the file with your public key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output message.txt.gpg --encrypt --recipient johndoe@example.com message.txt\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This generates an encrypted file ",(0,r.jsx)(n.code,{children:"message.txt.gpg"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Decrypt the file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Decrypt the file using your private key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output decrypted_message.txt --decrypt message.txt.gpg\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Enter your passphrase when prompted. The decrypted content will be saved in ",(0,r.jsx)(n.code,{children:"decrypted_message.txt"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-6-back-up-your-keys",children:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys"}),"\n",(0,r.jsx)(n.p,{children:"Always back up your keys to prevent losing access:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your private key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export-secret-keys johndoe@example.com > private_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your public key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Store these files (",(0,r.jsx)(n.code,{children:"private_key.asc"})," and ",(0,r.jsx)(n.code,{children:"public_key.asc"}),") in a safe place."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"-final-tips",children:"\ud83d\ude80 Final Tips"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Keep your private key secure. Never share it."}),"\n",(0,r.jsx)(n.li,{children:"Regularly update your passphrase for added security."}),"\n",(0,r.jsxs)(n.li,{children:["Use tools like ",(0,r.jsx)(n.strong,{children:"gpg-agent"})," for easier key management."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"That\u2019s it! You now have a functional GPG key pair set up on Snigdha OS. \ud83c\udf89"})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var r=s(6540);const i={},t=r.createContext(i);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.8e93d90e.js b/assets/js/935f2afb.8e93d90e.js
deleted file mode 100644
index 77e56952..00000000
--- a/assets/js/935f2afb.8e93d90e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Overview","href":"/documentation/","docId":"introduction/overview","unlisted":false},{"type":"link","label":"Story & Name","href":"/documentation/introduction/name_and_story","docId":"introduction/name_and_story","unlisted":false},{"type":"link","label":"Code of Conduct","href":"/documentation/introduction/code_of_conduct","docId":"introduction/code_of_conduct","unlisted":false},{"type":"link","label":"Release Notes","href":"/documentation/introduction/release_notes","docId":"introduction/release_notes","unlisted":false},{"type":"link","label":"Reporting Bugs","href":"/documentation/introduction/reporting_bugs","docId":"introduction/reporting_bugs","unlisted":false},{"type":"link","label":"Frequently Asked","href":"/documentation/introduction/faqs","docId":"introduction/faqs","unlisted":false},{"type":"link","label":"Contribution Guidelines","href":"/documentation/introduction/contributing","docId":"introduction/contributing","unlisted":false},{"type":"link","label":"Coding Standard","href":"/documentation/introduction/coding-standard","docId":"introduction/coding-standard","unlisted":false},{"type":"link","label":"Aim & Motivation","href":"/documentation/introduction/motivation","docId":"introduction/motivation","unlisted":false}],"href":"/documentation/category/introduction"},{"type":"category","label":"Before Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"System Requirements","href":"/documentation/before_installation/system_requirements","docId":"before_installation/system_requirements","unlisted":false},{"type":"link","label":"Important Notes","href":"/documentation/before_installation/imporatnt_notes","docId":"before_installation/imporatnt_notes","unlisted":false},{"type":"link","label":"Internet Connection","href":"/documentation/before_installation/internet_connection","docId":"before_installation/internet_connection","unlisted":false}],"href":"/documentation/category/before-installation"},{"type":"category","label":"Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Download Snigdha OS","href":"/documentation/installation/download_snigdha_os","docId":"installation/download_snigdha_os","unlisted":false},{"type":"link","label":"Make Bootable USB","href":"/documentation/installation/making_bootable_usb","docId":"installation/making_bootable_usb","unlisted":false},{"type":"link","label":"Live Environment","href":"/documentation/installation/live_env","docId":"installation/live_env","unlisted":false},{"type":"link","label":"Offline Installation","href":"/documentation/installation/offline_install","docId":"installation/offline_install","unlisted":false},{"type":"link","label":"Online Installation","href":"/documentation/installation/online_install","docId":"installation/online_install","unlisted":false},{"type":"link","label":"Install Snigdha OS","href":"/documentation/installation/start_installation","docId":"installation/start_installation","unlisted":false},{"type":"link","label":"Virtualbox","href":"/documentation/installation/virtualbox_installation","docId":"installation/virtualbox_installation","unlisted":false}],"href":"/documentation/category/installation"},{"type":"category","label":"Post Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Language","href":"/documentation/post_installation/language","docId":"post_installation/language","unlisted":false},{"type":"link","label":"Update Snigdha OS","href":"/documentation/post_installation/update","docId":"post_installation/update","unlisted":false},{"type":"link","label":"Customize Snigdha OS","href":"/documentation/post_installation/customization","docId":"post_installation/customization","unlisted":false},{"type":"link","label":"Install Packages","href":"/documentation/post_installation/install_packages","docId":"post_installation/install_packages","unlisted":false}],"href":"/documentation/category/post-installation"},{"type":"category","label":"User Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Cheetsheet/Shortcuts","href":"/documentation/user_guide/cheetsheet","docId":"user_guide/cheetsheet","unlisted":false},{"type":"link","label":"Installing with AUR","href":"/documentation/user_guide/aur","docId":"user_guide/aur","unlisted":false}],"href":"/documentation/category/user-guide"},{"type":"category","label":"Troubleshoot","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Troubleshoot: Wifi","href":"/documentation/troubleshoot/wifi","docId":"troubleshoot/wifi","unlisted":false},{"type":"link","label":"Troubleshoot: Bluetooth","href":"/documentation/troubleshoot/bluetooth","docId":"troubleshoot/bluetooth","unlisted":false},{"type":"link","label":"Troubleshoot: Sound","href":"/documentation/troubleshoot/sound","docId":"troubleshoot/sound","unlisted":false},{"type":"link","label":"Troubleshoot: Display","href":"/documentation/troubleshoot/display","docId":"troubleshoot/display","unlisted":false}],"href":"/documentation/category/troubleshoot"},{"type":"category","label":"Packages","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Welcome","href":"/documentation/packages/snigdhaos_welcome","docId":"packages/snigdhaos_welcome","unlisted":false},{"type":"link","label":"Blackbox","href":"/documentation/packages/snigdhaos_blackbox","docId":"packages/snigdhaos_blackbox","unlisted":false}],"href":"/documentation/category/packages"},{"type":"category","label":"Developers Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Build From Source","href":"/documentation/dev_guide/build_source","docId":"dev_guide/build_source","unlisted":false},{"type":"link","label":"PKGBUILD Template","href":"/documentation/dev_guide/pkgbuild","docId":"dev_guide/pkgbuild","unlisted":false},{"type":"link","label":"Generate GPG Key","href":"/documentation/dev_guide/gpg_key","docId":"dev_guide/gpg_key","unlisted":false},{"type":"link","label":"Upload & Deploy Packages","href":"/documentation/dev_guide/deploy_packages","docId":"dev_guide/deploy_packages","unlisted":false},{"type":"link","label":"Install Keyrings","href":"/documentation/dev_guide/install_keyring","docId":"dev_guide/install_keyring","unlisted":false},{"type":"link","label":"Writing Documentation","href":"/documentation/dev_guide/write","docId":"dev_guide/write","unlisted":false}],"href":"/documentation/category/developers-guide"},{"type":"category","label":"Tools","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Tool: DNS Enum","href":"/documentation/tools/dns","docId":"tools/dns","unlisted":false}],"href":"/documentation/category/tools"}]},"docs":{"before_installation/imporatnt_notes":{"id":"before_installation/imporatnt_notes","title":"Important Notes","description":"\ud83d\udccc We do not recommended you to install Snigdha OS via VM (\'Virtual Machine\' = virtual machine), as it is optimized for use on real hardware or physical machine.","sidebar":"tutorialSidebar"},"before_installation/internet_connection":{"id":"before_installation/internet_connection","title":"Internet Connection","description":"","sidebar":"tutorialSidebar"},"before_installation/system_requirements":{"id":"before_installation/system_requirements","title":"System Requirements","description":"Minimum Requirements","sidebar":"tutorialSidebar"},"dev_guide/build_source":{"id":"dev_guide/build_source","title":"Build From Source","description":"Overview","sidebar":"tutorialSidebar"},"dev_guide/deploy_packages":{"id":"dev_guide/deploy_packages","title":"Upload & Deploy Packages","description":"","sidebar":"tutorialSidebar"},"dev_guide/gpg_key":{"id":"dev_guide/gpg_key","title":"Generate GPG Key","description":"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS","sidebar":"tutorialSidebar"},"dev_guide/install_keyring":{"id":"dev_guide/install_keyring","title":"Install Keyrings","description":"","sidebar":"tutorialSidebar"},"dev_guide/pkgbuild":{"id":"dev_guide/pkgbuild","title":"PKGBUILD Template","description":"Snigdha OS has it\'s own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.","sidebar":"tutorialSidebar"},"dev_guide/write":{"id":"dev_guide/write","title":"Writing Documentation","description":"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:","sidebar":"tutorialSidebar"},"installation/download_snigdha_os":{"id":"installation/download_snigdha_os","title":"Download Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/live_env":{"id":"installation/live_env","title":"Live Environment","description":"","sidebar":"tutorialSidebar"},"installation/making_bootable_usb":{"id":"installation/making_bootable_usb","title":"Make Bootable USB","description":"","sidebar":"tutorialSidebar"},"installation/offline_install":{"id":"installation/offline_install","title":"Offline Installation","description":"","sidebar":"tutorialSidebar"},"installation/online_install":{"id":"installation/online_install","title":"Online Installation","description":"","sidebar":"tutorialSidebar"},"installation/start_installation":{"id":"installation/start_installation","title":"Install Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/virtualbox_installation":{"id":"installation/virtualbox_installation","title":"Virtualbox","description":"","sidebar":"tutorialSidebar"},"introduction/code_of_conduct":{"id":"introduction/code_of_conduct","title":"Code of Conduct","description":"A code of conduct outlines expected behavior and guidelines for individuals within a specific community, organization, or group.","sidebar":"tutorialSidebar"},"introduction/coding-standard":{"id":"introduction/coding-standard","title":"Coding Standard","description":"1. Consistent Naming Conventions:","sidebar":"tutorialSidebar"},"introduction/contributing":{"id":"introduction/contributing","title":"Contribution Guidelines","description":"Thank you for considering contributing to Snigdha OS! We welcome contributions from everyone.","sidebar":"tutorialSidebar"},"introduction/faqs":{"id":"introduction/faqs","title":"Frequently Asked","description":"Here are some frequently asked questions (FAQs) about Snigdha OS (penetration distribution):","sidebar":"tutorialSidebar"},"introduction/motivation":{"id":"introduction/motivation","title":"Aim & Motivation","description":"The motivation behind Snigdha OS is to create a lightweight, efficient, and customizable Linux distribution that caters to specific use cases, particularly in the realm of penetration testing and ethical hacking. The OS is designed to be resource-efficient, making it suitable for use on a wide range of hardware, including older systems, mobile devices, and virtual environments.","sidebar":"tutorialSidebar"},"introduction/name_and_story":{"id":"introduction/name_and_story","title":"Story & Name","description":"Eshan Roy, widely known as eshanized, is the founder, lead maintainer, and developer of Snigdha OS.","sidebar":"tutorialSidebar"},"introduction/overview":{"id":"introduction/overview","title":"Overview","description":"Snigdha OS is a lightweight and highly customizable Linux distribution based on Arch and Linux Zen Kernel, minimalism, and focus on user-centric design. We are also working on penetration distribution and blackbox.","sidebar":"tutorialSidebar"},"introduction/release_notes":{"id":"introduction/release_notes","title":"Release Notes","description":"FOR IMMEDIATE RELEASE","sidebar":"tutorialSidebar"},"introduction/reporting_bugs":{"id":"introduction/reporting_bugs","title":"Reporting Bugs","description":"If you discover a security vulnerability within Snigdha OS as well as any packages and tools, please follow our security policy so we can address it promptly.","sidebar":"tutorialSidebar"},"packages/snigdhaos_blackbox":{"id":"packages/snigdhaos_blackbox","title":"Blackbox","description":"","sidebar":"tutorialSidebar"},"packages/snigdhaos_welcome":{"id":"packages/snigdhaos_welcome","title":"Welcome","description":"","sidebar":"tutorialSidebar"},"post_installation/customization":{"id":"post_installation/customization","title":"Customize Snigdha OS","description":"","sidebar":"tutorialSidebar"},"post_installation/install_packages":{"id":"post_installation/install_packages","title":"Install Packages","description":"","sidebar":"tutorialSidebar"},"post_installation/language":{"id":"post_installation/language","title":"Language","description":"","sidebar":"tutorialSidebar"},"post_installation/update":{"id":"post_installation/update","title":"Update Snigdha OS","description":"","sidebar":"tutorialSidebar"},"tools/dns":{"id":"tools/dns","title":"Tool: DNS Enum","description":"","sidebar":"tutorialSidebar"},"troubleshoot/bluetooth":{"id":"troubleshoot/bluetooth","title":"Troubleshoot: Bluetooth","description":"Troubleshooting Bluetooth on Snigdha OS involves several steps. Here\'s the common practice:","sidebar":"tutorialSidebar"},"troubleshoot/display":{"id":"troubleshoot/display","title":"Troubleshoot: Display","description":"","sidebar":"tutorialSidebar"},"troubleshoot/sound":{"id":"troubleshoot/sound","title":"Troubleshoot: Sound","description":"","sidebar":"tutorialSidebar"},"troubleshoot/wifi":{"id":"troubleshoot/wifi","title":"Troubleshoot: Wifi","description":"","sidebar":"tutorialSidebar"},"user_guide/aur":{"id":"user_guide/aur","title":"Installing with AUR","description":"","sidebar":"tutorialSidebar"},"user_guide/cheetsheet":{"id":"user_guide/cheetsheet","title":"Cheetsheet/Shortcuts","description":"","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.e7197ae2.js b/assets/js/935f2afb.e7197ae2.js
new file mode 100644
index 00000000..4724ec96
--- /dev/null
+++ b/assets/js/935f2afb.e7197ae2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Overview","href":"/documentation/","docId":"introduction/overview","unlisted":false},{"type":"link","label":"Story & Name","href":"/documentation/introduction/name_and_story","docId":"introduction/name_and_story","unlisted":false},{"type":"link","label":"Code of Conduct","href":"/documentation/introduction/code_of_conduct","docId":"introduction/code_of_conduct","unlisted":false},{"type":"link","label":"Release Notes","href":"/documentation/introduction/release_notes","docId":"introduction/release_notes","unlisted":false},{"type":"link","label":"Reporting Bugs","href":"/documentation/introduction/reporting_bugs","docId":"introduction/reporting_bugs","unlisted":false},{"type":"link","label":"Frequently Asked","href":"/documentation/introduction/faqs","docId":"introduction/faqs","unlisted":false},{"type":"link","label":"Contribution Guidelines","href":"/documentation/introduction/contributing","docId":"introduction/contributing","unlisted":false},{"type":"link","label":"Coding Standard","href":"/documentation/introduction/coding-standard","docId":"introduction/coding-standard","unlisted":false},{"type":"link","label":"Aim & Motivation","href":"/documentation/introduction/motivation","docId":"introduction/motivation","unlisted":false}],"href":"/documentation/category/introduction"},{"type":"category","label":"Before Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"System Requirements","href":"/documentation/before_installation/system_requirements","docId":"before_installation/system_requirements","unlisted":false},{"type":"link","label":"Important Notes","href":"/documentation/before_installation/imporatnt_notes","docId":"before_installation/imporatnt_notes","unlisted":false},{"type":"link","label":"Internet Connection","href":"/documentation/before_installation/internet_connection","docId":"before_installation/internet_connection","unlisted":false}],"href":"/documentation/category/before-installation"},{"type":"category","label":"Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Download Snigdha OS","href":"/documentation/installation/download_snigdha_os","docId":"installation/download_snigdha_os","unlisted":false},{"type":"link","label":"Make Bootable USB","href":"/documentation/installation/making_bootable_usb","docId":"installation/making_bootable_usb","unlisted":false},{"type":"link","label":"Live Environment","href":"/documentation/installation/live_env","docId":"installation/live_env","unlisted":false},{"type":"link","label":"Offline Installation","href":"/documentation/installation/offline_install","docId":"installation/offline_install","unlisted":false},{"type":"link","label":"Online Installation","href":"/documentation/installation/online_install","docId":"installation/online_install","unlisted":false},{"type":"link","label":"Install Snigdha OS","href":"/documentation/installation/start_installation","docId":"installation/start_installation","unlisted":false},{"type":"link","label":"Virtualbox","href":"/documentation/installation/virtualbox_installation","docId":"installation/virtualbox_installation","unlisted":false}],"href":"/documentation/category/installation"},{"type":"category","label":"Post Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Language","href":"/documentation/post_installation/language","docId":"post_installation/language","unlisted":false},{"type":"link","label":"Update Snigdha OS","href":"/documentation/post_installation/update","docId":"post_installation/update","unlisted":false},{"type":"link","label":"Customize Snigdha OS","href":"/documentation/post_installation/customization","docId":"post_installation/customization","unlisted":false},{"type":"link","label":"Install Packages","href":"/documentation/post_installation/install_packages","docId":"post_installation/install_packages","unlisted":false}],"href":"/documentation/category/post-installation"},{"type":"category","label":"User Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Cheetsheet/Shortcuts","href":"/documentation/user_guide/cheetsheet","docId":"user_guide/cheetsheet","unlisted":false},{"type":"link","label":"Installing with AUR","href":"/documentation/user_guide/aur","docId":"user_guide/aur","unlisted":false}],"href":"/documentation/category/user-guide"},{"type":"category","label":"Troubleshoot","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Troubleshoot: Wifi","href":"/documentation/troubleshoot/wifi","docId":"troubleshoot/wifi","unlisted":false},{"type":"link","label":"Troubleshoot: Bluetooth","href":"/documentation/troubleshoot/bluetooth","docId":"troubleshoot/bluetooth","unlisted":false},{"type":"link","label":"Troubleshoot: Sound","href":"/documentation/troubleshoot/sound","docId":"troubleshoot/sound","unlisted":false},{"type":"link","label":"Troubleshoot: Display","href":"/documentation/troubleshoot/display","docId":"troubleshoot/display","unlisted":false}],"href":"/documentation/category/troubleshoot"},{"type":"category","label":"Packages","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Welcome","href":"/documentation/packages/snigdhaos_welcome","docId":"packages/snigdhaos_welcome","unlisted":false},{"type":"link","label":"Blackbox","href":"/documentation/packages/snigdhaos_blackbox","docId":"packages/snigdhaos_blackbox","unlisted":false}],"href":"/documentation/category/packages"},{"type":"category","label":"Developers Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Build From Source","href":"/documentation/dev_guide/build_source","docId":"dev_guide/build_source","unlisted":false},{"type":"link","label":"Generate GPG Key","href":"/documentation/dev_guide/gpg_key","docId":"dev_guide/gpg_key","unlisted":false},{"type":"link","label":"Upload Key => Server","href":"/documentation/dev_guide/upload_gog_key","docId":"dev_guide/upload_gog_key","unlisted":false},{"type":"link","label":"Upload & Deploy Packages","href":"/documentation/dev_guide/deploy_packages","docId":"dev_guide/deploy_packages","unlisted":false},{"type":"link","label":"Install Keyrings","href":"/documentation/dev_guide/install_keyring","docId":"dev_guide/install_keyring","unlisted":false},{"type":"link","label":"Writing Documentation","href":"/documentation/dev_guide/write","docId":"dev_guide/write","unlisted":false},{"type":"link","label":"PKGBUILD Template","href":"/documentation/dev_guide/pkgbuild","docId":"dev_guide/pkgbuild","unlisted":false}],"href":"/documentation/category/developers-guide"},{"type":"category","label":"Tools","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Tool: DNS Enum","href":"/documentation/tools/dns","docId":"tools/dns","unlisted":false}],"href":"/documentation/category/tools"}]},"docs":{"before_installation/imporatnt_notes":{"id":"before_installation/imporatnt_notes","title":"Important Notes","description":"\ud83d\udccc We do not recommended you to install Snigdha OS via VM (\'Virtual Machine\' = virtual machine), as it is optimized for use on real hardware or physical machine.","sidebar":"tutorialSidebar"},"before_installation/internet_connection":{"id":"before_installation/internet_connection","title":"Internet Connection","description":"","sidebar":"tutorialSidebar"},"before_installation/system_requirements":{"id":"before_installation/system_requirements","title":"System Requirements","description":"Minimum Requirements","sidebar":"tutorialSidebar"},"dev_guide/build_source":{"id":"dev_guide/build_source","title":"Build From Source","description":"Overview","sidebar":"tutorialSidebar"},"dev_guide/deploy_packages":{"id":"dev_guide/deploy_packages","title":"Upload & Deploy Packages","description":"","sidebar":"tutorialSidebar"},"dev_guide/gpg_key":{"id":"dev_guide/gpg_key","title":"Generate GPG Key","description":"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS","sidebar":"tutorialSidebar"},"dev_guide/install_keyring":{"id":"dev_guide/install_keyring","title":"Install Keyrings","description":"","sidebar":"tutorialSidebar"},"dev_guide/pkgbuild":{"id":"dev_guide/pkgbuild","title":"PKGBUILD Template","description":"Snigdha OS has it\'s own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.","sidebar":"tutorialSidebar"},"dev_guide/upload_gog_key":{"id":"dev_guide/upload_gog_key","title":"Upload Key => Server","description":"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server","sidebar":"tutorialSidebar"},"dev_guide/write":{"id":"dev_guide/write","title":"Writing Documentation","description":"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:","sidebar":"tutorialSidebar"},"installation/download_snigdha_os":{"id":"installation/download_snigdha_os","title":"Download Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/live_env":{"id":"installation/live_env","title":"Live Environment","description":"","sidebar":"tutorialSidebar"},"installation/making_bootable_usb":{"id":"installation/making_bootable_usb","title":"Make Bootable USB","description":"","sidebar":"tutorialSidebar"},"installation/offline_install":{"id":"installation/offline_install","title":"Offline Installation","description":"","sidebar":"tutorialSidebar"},"installation/online_install":{"id":"installation/online_install","title":"Online Installation","description":"","sidebar":"tutorialSidebar"},"installation/start_installation":{"id":"installation/start_installation","title":"Install Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/virtualbox_installation":{"id":"installation/virtualbox_installation","title":"Virtualbox","description":"","sidebar":"tutorialSidebar"},"introduction/code_of_conduct":{"id":"introduction/code_of_conduct","title":"Code of Conduct","description":"A code of conduct outlines expected behavior and guidelines for individuals within a specific community, organization, or group.","sidebar":"tutorialSidebar"},"introduction/coding-standard":{"id":"introduction/coding-standard","title":"Coding Standard","description":"1. Consistent Naming Conventions:","sidebar":"tutorialSidebar"},"introduction/contributing":{"id":"introduction/contributing","title":"Contribution Guidelines","description":"Thank you for considering contributing to Snigdha OS! We welcome contributions from everyone.","sidebar":"tutorialSidebar"},"introduction/faqs":{"id":"introduction/faqs","title":"Frequently Asked","description":"Here are some frequently asked questions (FAQs) about Snigdha OS (penetration distribution):","sidebar":"tutorialSidebar"},"introduction/motivation":{"id":"introduction/motivation","title":"Aim & Motivation","description":"The motivation behind Snigdha OS is to create a lightweight, efficient, and customizable Linux distribution that caters to specific use cases, particularly in the realm of penetration testing and ethical hacking. The OS is designed to be resource-efficient, making it suitable for use on a wide range of hardware, including older systems, mobile devices, and virtual environments.","sidebar":"tutorialSidebar"},"introduction/name_and_story":{"id":"introduction/name_and_story","title":"Story & Name","description":"Eshan Roy, widely known as eshanized, is the founder, lead maintainer, and developer of Snigdha OS.","sidebar":"tutorialSidebar"},"introduction/overview":{"id":"introduction/overview","title":"Overview","description":"Snigdha OS is a lightweight and highly customizable Linux distribution based on Arch and Linux Zen Kernel, minimalism, and focus on user-centric design. We are also working on penetration distribution and blackbox.","sidebar":"tutorialSidebar"},"introduction/release_notes":{"id":"introduction/release_notes","title":"Release Notes","description":"FOR IMMEDIATE RELEASE","sidebar":"tutorialSidebar"},"introduction/reporting_bugs":{"id":"introduction/reporting_bugs","title":"Reporting Bugs","description":"If you discover a security vulnerability within Snigdha OS as well as any packages and tools, please follow our security policy so we can address it promptly.","sidebar":"tutorialSidebar"},"packages/snigdhaos_blackbox":{"id":"packages/snigdhaos_blackbox","title":"Blackbox","description":"","sidebar":"tutorialSidebar"},"packages/snigdhaos_welcome":{"id":"packages/snigdhaos_welcome","title":"Welcome","description":"","sidebar":"tutorialSidebar"},"post_installation/customization":{"id":"post_installation/customization","title":"Customize Snigdha OS","description":"","sidebar":"tutorialSidebar"},"post_installation/install_packages":{"id":"post_installation/install_packages","title":"Install Packages","description":"","sidebar":"tutorialSidebar"},"post_installation/language":{"id":"post_installation/language","title":"Language","description":"","sidebar":"tutorialSidebar"},"post_installation/update":{"id":"post_installation/update","title":"Update Snigdha OS","description":"","sidebar":"tutorialSidebar"},"tools/dns":{"id":"tools/dns","title":"Tool: DNS Enum","description":"","sidebar":"tutorialSidebar"},"troubleshoot/bluetooth":{"id":"troubleshoot/bluetooth","title":"Troubleshoot: Bluetooth","description":"Troubleshooting Bluetooth on Snigdha OS involves several steps. Here\'s the common practice:","sidebar":"tutorialSidebar"},"troubleshoot/display":{"id":"troubleshoot/display","title":"Troubleshoot: Display","description":"","sidebar":"tutorialSidebar"},"troubleshoot/sound":{"id":"troubleshoot/sound","title":"Troubleshoot: Sound","description":"","sidebar":"tutorialSidebar"},"troubleshoot/wifi":{"id":"troubleshoot/wifi","title":"Troubleshoot: Wifi","description":"","sidebar":"tutorialSidebar"},"user_guide/aur":{"id":"user_guide/aur","title":"Installing with AUR","description":"","sidebar":"tutorialSidebar"},"user_guide/cheetsheet":{"id":"user_guide/cheetsheet","title":"Cheetsheet/Shortcuts","description":"","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/96b21efb.28b4e516.js b/assets/js/96b21efb.28b4e516.js
new file mode 100644
index 00000000..343d4e55
--- /dev/null
+++ b/assets/js/96b21efb.28b4e516.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[6540],{1937:e=>{e.exports=JSON.parse('{"title":"Tools","description":"Troubleshoot","slug":"/category/tools","permalink":"/documentation/category/tools","navigation":{"previous":{"title":"PKGBUILD Template","permalink":"/documentation/dev_guide/pkgbuild"},"next":{"title":"Tool: DNS Enum","permalink":"/documentation/tools/dns"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/96b21efb.afdc6461.js b/assets/js/96b21efb.afdc6461.js
deleted file mode 100644
index 12d01f30..00000000
--- a/assets/js/96b21efb.afdc6461.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[6540],{1937:t=>{t.exports=JSON.parse('{"title":"Tools","description":"Troubleshoot","slug":"/category/tools","permalink":"/documentation/category/tools","navigation":{"previous":{"title":"Writing Documentation","permalink":"/documentation/dev_guide/write"},"next":{"title":"Tool: DNS Enum","permalink":"/documentation/tools/dns"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/9dcbbb0d.6cd21299.js b/assets/js/9dcbbb0d.6cd21299.js
deleted file mode 100644
index 003a7711..00000000
--- a/assets/js/9dcbbb0d.6cd21299.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[3327],{949:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>d});var r=i(4848),o=i(8453);const t={sidebar_position:1},s="Build From Source",a={id:"dev_guide/build_source",title:"Build From Source",description:"Overview",source:"@site/docs/dev_guide/build_source.md",sourceDirName:"dev_guide",slug:"/dev_guide/build_source",permalink:"/documentation/dev_guide/build_source",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/build_source.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Developers Guide",permalink:"/documentation/category/developers-guide"},next:{title:"PKGBUILD Template",permalink:"/documentation/dev_guide/pkgbuild"}},c={},d=[{value:"Overview",id:"overview",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Adding Repository",id:"adding-repository",level:2},{value:"Cloning Source from GitHub",id:"cloning-source-from-github",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"build-from-source",children:"Build From Source"}),"\n",(0,r.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(n.p,{children:["Building ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source code is very easy. In this documentation, I am going to guide you on how to build ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source. And customizing it."]}),"\n",(0,r.jsx)(n.admonition,{title:"Caution",type:"danger",children:(0,r.jsxs)(n.p,{children:["Before running or customizing any script, first examine. Remember, you are running all the scripts produced by ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," at your own risk!"]})}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.p,{children:["To build ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source, we need some packages which are hosted on ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-core",children:"SNIGDHA OS CORE"})," repository and ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-extra",children:"SNIGDHA OS EXTRA"})," repository. ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-testing",children:"SNIGDHA OS TESTING"})," is an optional repository. You also need ",(0,r.jsx)(n.strong,{children:"Chaotic-AUR"})," because some packages come from the chaotic-aur. e.g : github-desktop."]}),"\n",(0,r.jsx)(n.admonition,{title:"NOTE",type:"info",children:(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Make sure you have internet connection."}),"\n",(0,r.jsxs)(n.li,{children:["If you are on ",(0,r.jsx)(n.strong,{children:"Snigdha OS"}),", you need not add any repository! By default all the repositories are added and enabled."]}),"\n"]})}),"\n",(0,r.jsx)(n.h2,{id:"adding-repository",children:"Adding Repository"}),"\n",(0,r.jsxs)(n.p,{children:["First of all we will add ",(0,r.jsx)(n.strong,{children:"Snigdha OS Core"})," and ",(0,r.jsx)(n.strong,{children:"Snigdha OS Extra"})," repository in our pacman configuration. to edit ",(0,r.jsx)(n.code,{children:"pacman.conf"}),", execute the following on your terminal. [I am using nano, you are free to use anything]"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo nano /etc/pacman.conf\n"})}),"\n",(0,r.jsxs)(n.admonition,{title:"Archlinux",type:"tip",children:[(0,r.jsxs)(n.p,{children:["If you are using ",(0,r.jsx)(n.strong,{children:"Arch Linux"})," then you can copy and paste the following."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"#\n# /etc/pacman.conf\n#\n# See the pacman.conf(5) manpage for option and repository directives\n\n#\n# GENERAL OPTIONS\n#\n[options]\n# The following paths are commented out with their default values listed.\n# If you wish to use different paths, uncomment and update the paths.\n#RootDir = /\n#DBPath = /var/lib/pacman/\n#CacheDir = /var/cache/pacman/pkg/\n#LogFile = /var/log/pacman.log\n#GPGDir = /etc/pacman.d/gnupg/\n#HookDir = /etc/pacman.d/hooks/\nHoldPkg = pacman glibc\n#XferCommand = /usr/bin/curl -L -C - -f -o %o %u\n#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u\n#CleanMethod = KeepInstalled\nArchitecture = auto\n\n# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup\n#IgnorePkg =\n#IgnoreGroup =\n\n#NoUpgrade =\n#NoExtract =\n\n# Misc options\n#UseSyslog\n#Color\n#NoProgressBar\nCheckSpace\n#VerbosePkgLists\n#ParallelDownloads = 5\n\n# By default, pacman accepts packages signed by keys that its local keyring\n# trusts (see pacman-key and its man page), as well as unsigned packages.\nSigLevel = Required DatabaseOptional\nLocalFileSigLevel = Optional\n#RemoteFileSigLevel = Required\n\n# NOTE: You must run `pacman-key --init` before first using pacman; the local\n# keyring can then be populated with the keys of all official Arch Linux\n# packagers with `pacman-key --populate archlinux`.\n\n#\n# REPOSITORIES\n# - can be defined here or included from another file\n# - pacman will search repositories in the order defined here\n# - local/custom mirrors can be added here or in separate files\n# - repositories listed first will take precedence when packages\n# have identical names, regardless of version number\n# - URLs will have $repo replaced by the name of the current repo\n# - URLs will have $arch replaced by the name of the architecture\n#\n# Repository entries are of the format:\n# [repo-name]\n# Server = ServerName\n# Include = IncludePath\n#\n# The header [repo-name] is crucial - it must be present and\n# uncommented to enable the repo.\n#\n\n# The testing repositories are disabled by default. To enable, uncomment the\n# repo name header and Include lines. You can add preferred servers immediately\n# after the header, and they will be used before the default mirrors.\n\n#[core-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[core]\nInclude = /etc/pacman.d/mirrorlist\n\n[snigdhaos-core]\nSigLevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n#[extra-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[extra]\nInclude = /etc/pacman.d/mirrorlist\n\n[snigdhaos-extra]\nSiglevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n# If you want to run 32 bit applications on your x86_64 system,\n# enable the multilib repositories as required here.\n\n#[multilib-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[multilib]\nInclude = /etc/pacman.d/mirrorlist\n\n# An example of a custom package repository. See the pacman manpage for\n# tips on creating your own repositories.\n#[custom]\n#SigLevel = Optional TrustAll\n#Server = file:///home/custompkgs\n"})})]}),"\n",(0,r.jsx)(n.p,{children:"After executing, paste the following at the end of the file"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"\n[snigdhaos-core]\nSigLevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n[snigdhaos-extra]\nSiglevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"SigLevel",type:"info",children:(0,r.jsxs)(n.p,{children:["If you have ",(0,r.jsx)(n.code,{children:"SnigdhaOS-keyring"})," installed on the machine or you want to ",(0,r.jsx)(n.a,{href:"/dev_guide/install_keyring",children:"install"})," then you can set the ",(0,r.jsx)(n.strong,{children:"SigLevel = Required DatabaseOptional"}),"."]})}),"\n",(0,r.jsx)(n.p,{children:"You are ready to build Snigdha OS!"}),"\n",(0,r.jsx)(n.h2,{id:"cloning-source-from-github",children:"Cloning Source from GitHub"}),"\n",(0,r.jsxs)(n.p,{children:["Now, clone the ",(0,r.jsx)(n.code,{children:"snigdhaos-arctic"})," github repository. In addition, you can make a separate directory to do that. Go to your specified/choosen directory, execute the following on terminal."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/Snigdha-OS/snigdhaos-arctic.git\n"})}),"\n",(0,r.jsx)(n.p,{children:"then,"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cd snigdhaos-arctic/scripts\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"SET EXECUTABLE",type:"info",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"chmod +x ./01-online-build\n"})})}),"\n",(0,r.jsx)(n.p,{children:"Now run the script by executing,"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"./01-online-build\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The script will start building ",(0,r.jsx)(n.strong,{children:"Snigdha OS Arctic"}),". You can have a coffee break while building. The building depends on ",(0,r.jsx)(n.strong,{children:"Internet Connection"})," and machine's ",(0,r.jsx)(n.strong,{children:"Performance"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["After completing, you will find a directory with name ",(0,r.jsx)(n.strong,{children:"Output"})," containing the iso file."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var r=i(6540);const o={},t=r.createContext(o);function s(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/9dcbbb0d.7df03a5a.js b/assets/js/9dcbbb0d.7df03a5a.js
new file mode 100644
index 00000000..b49c0171
--- /dev/null
+++ b/assets/js/9dcbbb0d.7df03a5a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[3327],{949:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>d});var r=i(4848),o=i(8453);const t={sidebar_position:1},s="Build From Source",a={id:"dev_guide/build_source",title:"Build From Source",description:"Overview",source:"@site/docs/dev_guide/build_source.md",sourceDirName:"dev_guide",slug:"/dev_guide/build_source",permalink:"/documentation/dev_guide/build_source",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/build_source.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Developers Guide",permalink:"/documentation/category/developers-guide"},next:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"}},c={},d=[{value:"Overview",id:"overview",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Adding Repository",id:"adding-repository",level:2},{value:"Cloning Source from GitHub",id:"cloning-source-from-github",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"build-from-source",children:"Build From Source"}),"\n",(0,r.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(n.p,{children:["Building ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source code is very easy. In this documentation, I am going to guide you on how to build ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source. And customizing it."]}),"\n",(0,r.jsx)(n.admonition,{title:"Caution",type:"danger",children:(0,r.jsxs)(n.p,{children:["Before running or customizing any script, first examine. Remember, you are running all the scripts produced by ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," at your own risk!"]})}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.p,{children:["To build ",(0,r.jsx)(n.strong,{children:"Snigdha OS"})," from the source, we need some packages which are hosted on ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-core",children:"SNIGDHA OS CORE"})," repository and ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-extra",children:"SNIGDHA OS EXTRA"})," repository. ",(0,r.jsx)(n.a,{href:"https://github.com/snosmirror/snigdhaos-testing",children:"SNIGDHA OS TESTING"})," is an optional repository. You also need ",(0,r.jsx)(n.strong,{children:"Chaotic-AUR"})," because some packages come from the chaotic-aur. e.g : github-desktop."]}),"\n",(0,r.jsx)(n.admonition,{title:"NOTE",type:"info",children:(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Make sure you have internet connection."}),"\n",(0,r.jsxs)(n.li,{children:["If you are on ",(0,r.jsx)(n.strong,{children:"Snigdha OS"}),", you need not add any repository! By default all the repositories are added and enabled."]}),"\n"]})}),"\n",(0,r.jsx)(n.h2,{id:"adding-repository",children:"Adding Repository"}),"\n",(0,r.jsxs)(n.p,{children:["First of all we will add ",(0,r.jsx)(n.strong,{children:"Snigdha OS Core"})," and ",(0,r.jsx)(n.strong,{children:"Snigdha OS Extra"})," repository in our pacman configuration. to edit ",(0,r.jsx)(n.code,{children:"pacman.conf"}),", execute the following on your terminal. [I am using nano, you are free to use anything]"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo nano /etc/pacman.conf\n"})}),"\n",(0,r.jsxs)(n.admonition,{title:"Archlinux",type:"tip",children:[(0,r.jsxs)(n.p,{children:["If you are using ",(0,r.jsx)(n.strong,{children:"Arch Linux"})," then you can copy and paste the following."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"#\n# /etc/pacman.conf\n#\n# See the pacman.conf(5) manpage for option and repository directives\n\n#\n# GENERAL OPTIONS\n#\n[options]\n# The following paths are commented out with their default values listed.\n# If you wish to use different paths, uncomment and update the paths.\n#RootDir = /\n#DBPath = /var/lib/pacman/\n#CacheDir = /var/cache/pacman/pkg/\n#LogFile = /var/log/pacman.log\n#GPGDir = /etc/pacman.d/gnupg/\n#HookDir = /etc/pacman.d/hooks/\nHoldPkg = pacman glibc\n#XferCommand = /usr/bin/curl -L -C - -f -o %o %u\n#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u\n#CleanMethod = KeepInstalled\nArchitecture = auto\n\n# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup\n#IgnorePkg =\n#IgnoreGroup =\n\n#NoUpgrade =\n#NoExtract =\n\n# Misc options\n#UseSyslog\n#Color\n#NoProgressBar\nCheckSpace\n#VerbosePkgLists\n#ParallelDownloads = 5\n\n# By default, pacman accepts packages signed by keys that its local keyring\n# trusts (see pacman-key and its man page), as well as unsigned packages.\nSigLevel = Required DatabaseOptional\nLocalFileSigLevel = Optional\n#RemoteFileSigLevel = Required\n\n# NOTE: You must run `pacman-key --init` before first using pacman; the local\n# keyring can then be populated with the keys of all official Arch Linux\n# packagers with `pacman-key --populate archlinux`.\n\n#\n# REPOSITORIES\n# - can be defined here or included from another file\n# - pacman will search repositories in the order defined here\n# - local/custom mirrors can be added here or in separate files\n# - repositories listed first will take precedence when packages\n# have identical names, regardless of version number\n# - URLs will have $repo replaced by the name of the current repo\n# - URLs will have $arch replaced by the name of the architecture\n#\n# Repository entries are of the format:\n# [repo-name]\n# Server = ServerName\n# Include = IncludePath\n#\n# The header [repo-name] is crucial - it must be present and\n# uncommented to enable the repo.\n#\n\n# The testing repositories are disabled by default. To enable, uncomment the\n# repo name header and Include lines. You can add preferred servers immediately\n# after the header, and they will be used before the default mirrors.\n\n#[core-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[core]\nInclude = /etc/pacman.d/mirrorlist\n\n[snigdhaos-core]\nSigLevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n#[extra-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[extra]\nInclude = /etc/pacman.d/mirrorlist\n\n[snigdhaos-extra]\nSiglevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n# If you want to run 32 bit applications on your x86_64 system,\n# enable the multilib repositories as required here.\n\n#[multilib-testing]\n#Include = /etc/pacman.d/mirrorlist\n\n[multilib]\nInclude = /etc/pacman.d/mirrorlist\n\n# An example of a custom package repository. See the pacman manpage for\n# tips on creating your own repositories.\n#[custom]\n#SigLevel = Optional TrustAll\n#Server = file:///home/custompkgs\n"})})]}),"\n",(0,r.jsx)(n.p,{children:"After executing, paste the following at the end of the file"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"\n[snigdhaos-core]\nSigLevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n\n[snigdhaos-extra]\nSiglevel = Never\nServer = https://snosmirror.github.io/$repo/$arch\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"SigLevel",type:"info",children:(0,r.jsxs)(n.p,{children:["If you have ",(0,r.jsx)(n.code,{children:"SnigdhaOS-keyring"})," installed on the machine or you want to ",(0,r.jsx)(n.a,{href:"/dev_guide/install_keyring",children:"install"})," then you can set the ",(0,r.jsx)(n.strong,{children:"SigLevel = Required DatabaseOptional"}),"."]})}),"\n",(0,r.jsx)(n.p,{children:"You are ready to build Snigdha OS!"}),"\n",(0,r.jsx)(n.h2,{id:"cloning-source-from-github",children:"Cloning Source from GitHub"}),"\n",(0,r.jsxs)(n.p,{children:["Now, clone the ",(0,r.jsx)(n.code,{children:"snigdhaos-arctic"})," github repository. In addition, you can make a separate directory to do that. Go to your specified/choosen directory, execute the following on terminal."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/Snigdha-OS/snigdhaos-arctic.git\n"})}),"\n",(0,r.jsx)(n.p,{children:"then,"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cd snigdhaos-arctic/scripts\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"SET EXECUTABLE",type:"info",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"chmod +x ./01-online-build\n"})})}),"\n",(0,r.jsx)(n.p,{children:"Now run the script by executing,"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"./01-online-build\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The script will start building ",(0,r.jsx)(n.strong,{children:"Snigdha OS Arctic"}),". You can have a coffee break while building. The building depends on ",(0,r.jsx)(n.strong,{children:"Internet Connection"})," and machine's ",(0,r.jsx)(n.strong,{children:"Performance"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["After completing, you will find a directory with name ",(0,r.jsx)(n.strong,{children:"Output"})," containing the iso file."]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var r=i(6540);const o={},t=r.createContext(o);function s(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/a6f8198f.870e6635.js b/assets/js/a6f8198f.870e6635.js
new file mode 100644
index 00000000..56c305b9
--- /dev/null
+++ b/assets/js/a6f8198f.870e6635.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4084],{7772:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>a});var s=n(4848),i=n(8453);const o={sidebar_position:3},d="Upload Key => Server",t={id:"dev_guide/upload_gog_key",title:"Upload Key => Server",description:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",source:"@site/docs/dev_guide/upload_gog_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/upload_gog_key",permalink:"/documentation/dev_guide/upload_gog_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/upload_gog_key.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"},next:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"}},l={},a=[{value:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",id:"-sending-and-receiving-gpg-keys-using-a-key-server",level:3},{value:"1\ufe0f\u20e3 Send (Upload) Your Public Key to a Key Server",id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",level:3},{value:"A. Export Your Key's Fingerprint",id:"a-export-your-keys-fingerprint",level:4},{value:"B. Send the Key to a Key Server",id:"b-send-the-key-to-a-key-server",level:4},{value:"2\ufe0f\u20e3 Receive (Download) a Public Key from a Key Server",id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",level:3},{value:"A. Search for a Key by Email or Key ID",id:"a-search-for-a-key-by-email-or-key-id",level:4},{value:"B. Receive the Key Directly by Key ID",id:"b-receive-the-key-directly-by-key-id",level:4},{value:"3\ufe0f\u20e3 Verify the Downloaded Key",id:"3\ufe0f\u20e3-verify-the-downloaded-key",level:3},{value:"4\ufe0f\u20e3 Sign a Received Key (Optional)",id:"4\ufe0f\u20e3-sign-a-received-key-optional",level:3},{value:"5\ufe0f\u20e3 Synchronize Keys with a Key Server",id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",level:3},{value:"6\ufe0f\u20e3 Tips for Key Server Usage",id:"6\ufe0f\u20e3-tips-for-key-server-usage",level:3}];function c(e){const r={code:"code",h1:"h1",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h1,{id:"upload-key--server",children:"Upload Key => Server"}),"\n",(0,s.jsx)(r.h3,{id:"-sending-and-receiving-gpg-keys-using-a-key-server",children:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server"}),"\n",(0,s.jsx)(r.p,{children:"Key servers are repositories for sharing and retrieving GPG public keys. They make it easy to distribute your public key and fetch others\u2019 keys for verifying signatures or encrypted communications. Here's how to send and receive GPG keys to/from a key server."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",children:["1\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Send (Upload) Your Public Key to a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-export-your-keys-fingerprint",children:["A. ",(0,s.jsx)(r.strong,{children:"Export Your Key's Fingerprint"})]}),"\n",(0,s.jsx)(r.p,{children:"First, identify your key by its fingerprint. List your GPG keys:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"Example output:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"pub rsa4096 2023-12-05 [SC]\n A41886F639658CA1A5519426E1415F19F21171F2\nuid [ultimate] Eshan Roy \nsub rsa4096 2023-12-05 [E]\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Copy the key ID or fingerprint (e.g., ",(0,s.jsx)(r.code,{children:"A41886F639658CA1A5519426E1415F19F21171F2"}),")."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-send-the-key-to-a-key-server",children:["B. ",(0,s.jsx)(r.strong,{children:"Send the Key to a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"Use the following command to upload your public key to a key server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["Replace ",(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})," with your preferred key server (e.g., ",(0,s.jsx)(r.code,{children:"keys.openpgp.org"}),")."]}),"\n",(0,s.jsx)(r.li,{children:"Replace the key ID with your actual key ID or fingerprint."}),"\n"]}),"\n",(0,s.jsx)(r.p,{children:"If successful, your public key is now available on the key server for others to retrieve."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",children:["2\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Receive (Download) a Public Key from a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-search-for-a-key-by-email-or-key-id",children:["A. ",(0,s.jsx)(r.strong,{children:"Search for a Key by Email or Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you know the email address or key ID of the person whose key you need, search for it:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --search-keys eshanized@example.com\n"})}),"\n",(0,s.jsx)(r.p,{children:"You\u2019ll see a list of matching keys. Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"(1) Eshan Roy \n A41886F639658CA1A5519426E1415F19F21171F2\n(2) John X. Doe \n 1234EFGH5678IJKL9012MNOP3456QRST7890ABCD\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Choose the appropriate key by typing its number (e.g., ",(0,s.jsx)(r.code,{children:"1"}),") and pressing Enter."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-receive-the-key-directly-by-key-id",children:["B. ",(0,s.jsx)(r.strong,{children:"Receive the Key Directly by Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you already know the key ID or fingerprint:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"The public key will be downloaded and added to your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"3\ufe0f\u20e3-verify-the-downloaded-key",children:["3\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Verify the Downloaded Key"})]}),"\n",(0,s.jsx)(r.p,{children:"After receiving a key, verify its details to ensure it belongs to the correct person:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Check the ",(0,s.jsx)(r.code,{children:"uid"})," (user ID) and ensure it matches the expected email or name."]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"4\ufe0f\u20e3-sign-a-received-key-optional",children:["4\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Sign a Received Key (Optional)"})]}),"\n",(0,s.jsx)(r.p,{children:"If you trust the key\u2019s owner, you can sign the key to indicate trust:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --sign-key A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"This adds your signature to their key and shows others you vouch for its authenticity."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",children:["5\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Synchronize Keys with a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"If the key is updated (e.g., new subkeys added), synchronize it with the server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --refresh-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"This ensures you have the latest version of all keys in your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"6\ufe0f\u20e3-tips-for-key-server-usage",children:["6\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Tips for Key Server Usage"})]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Choose a Reliable Key Server"}),": Common servers include:"]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keys.openpgp.org"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://pgp.mit.edu"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Use TLS for Security"}),":\nSome key servers support HTTPS for secure communication:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkps://keys.openpgp.org --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Update Regularly"}),":\nSynchronize your keyring periodically to stay current with any changes or revocations."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.p,{children:"By following these steps, you can efficiently share your GPG public key and fetch others' keys for secure communication and verification. \ud83c\udf89"})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>t});var s=n(6540);const i={},o=s.createContext(i);function d(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ec3de22d.4cbbe302.js b/assets/js/ec3de22d.4cbbe302.js
deleted file mode 100644
index 4d59883c..00000000
--- a/assets/js/ec3de22d.4cbbe302.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4893],{5877:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>d,toc:()=>u});var o=n(4848),i=n(8453);const r={sidebar_position:6},s="Writing Documentation",d={id:"dev_guide/write",title:"Writing Documentation",description:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:",source:"@site/docs/dev_guide/write.md",sourceDirName:"dev_guide",slug:"/dev_guide/write",permalink:"/documentation/dev_guide/write",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/write.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"},next:{title:"Tools",permalink:"/documentation/category/tools"}},a={},u=[];function c(e){const t={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"writing-documentation",children:"Writing Documentation"}),"\n",(0,o.jsx)(t.p,{children:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"User guides to help Snigdha OS end users with some advanced features."}),"\n",(0,o.jsxs)(t.li,{children:["More ",(0,o.jsx)(t.a,{href:"/introduction/faqs",children:"frequently asked questions"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Expanded ",(0,o.jsx)(t.a,{href:"/category/troubleshoot",children:"troubleshooting"})," steps."]}),"\n",(0,o.jsxs)(t.li,{children:["Step-by-step tutorials for Snigdha OS ",(0,o.jsx)(t.a,{href:"/category/developers-guide",children:"development"})," or ",(0,o.jsx)(t.a,{href:"/category/installation",children:"installation"}),"."]}),"\n",(0,o.jsx)(t.li,{children:"Improving literally anything else you think we should elaborate on or explain better."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["A good way to find topics to write about is to look for common questions in the ",(0,o.jsx)(t.a,{href:"https://forum.snigdhaos.org/t/support",children:"support tag"})," of our community."]})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var o=n(6540);const i={},r=o.createContext(i);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ec3de22d.f1320b06.js b/assets/js/ec3de22d.f1320b06.js
new file mode 100644
index 00000000..834750e4
--- /dev/null
+++ b/assets/js/ec3de22d.f1320b06.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4893],{5877:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>c,frontMatter:()=>r,metadata:()=>d,toc:()=>u});var i=n(4848),o=n(8453);const r={sidebar_position:6},s="Writing Documentation",d={id:"dev_guide/write",title:"Writing Documentation",description:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:",source:"@site/docs/dev_guide/write.md",sourceDirName:"dev_guide",slug:"/dev_guide/write",permalink:"/documentation/dev_guide/write",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/write.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"},next:{title:"PKGBUILD Template",permalink:"/documentation/dev_guide/pkgbuild"}},a={},u=[];function l(e){const t={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"writing-documentation",children:"Writing Documentation"}),"\n",(0,i.jsx)(t.p,{children:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"User guides to help Snigdha OS end users with some advanced features."}),"\n",(0,i.jsxs)(t.li,{children:["More ",(0,i.jsx)(t.a,{href:"/introduction/faqs",children:"frequently asked questions"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Expanded ",(0,i.jsx)(t.a,{href:"/category/troubleshoot",children:"troubleshooting"})," steps."]}),"\n",(0,i.jsxs)(t.li,{children:["Step-by-step tutorials for Snigdha OS ",(0,i.jsx)(t.a,{href:"/category/developers-guide",children:"development"})," or ",(0,i.jsx)(t.a,{href:"/category/installation",children:"installation"}),"."]}),"\n",(0,i.jsx)(t.li,{children:"Improving literally anything else you think we should elaborate on or explain better."}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["A good way to find topics to write about is to look for common questions in the ",(0,i.jsx)(t.a,{href:"https://forum.snigdhaos.org/t/support",children:"support tag"})," of our community."]})]})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var i=n(6540);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/main.1d438779.js b/assets/js/main.1d438779.js
deleted file mode 100644
index b8b73f4e..00000000
--- a/assets/js/main.1d438779.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.1d438779.js.LICENSE.txt */
-(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"043e14d3":[()=>n.e(8731).then(n.bind(n,7388)),"@site/docs/dev_guide/deploy_packages.md",7388],"06ee4edd":[()=>n.e(9886).then(n.t.bind(n,1472,19)),"~docs/default/category-documentation-tutorialsidebar-category-developers-guide-ae5.json",1472],"0b3ceb4d":[()=>n.e(858).then(n.t.bind(n,1966,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],"0b7de297":[()=>n.e(6793).then(n.bind(n,4083)),"@site/docs/troubleshoot/bluetooth.md",4083],"0e1f2be5":[()=>n.e(9489).then(n.bind(n,8799)),"@site/docs/introduction/coding-standard.md",8799],"143ddb83":[()=>n.e(7152).then(n.bind(n,4647)),"@site/docs/before_installation/system_requirements.md",4647],"14e72bca":[()=>n.e(3324).then(n.t.bind(n,3391,19)),"~blog/default/documentation-blog-d20.json",3391],"14eb3368":[()=>Promise.all([n.e(1869),n.e(6969)]).then(n.bind(n,4136)),"@theme/DocCategoryGeneratedIndexPage",4136],"151aa183":[()=>n.e(5990).then(n.bind(n,8244)),"@site/docs/installation/online_install.md",8244],"16a4261c":[()=>n.e(5305).then(n.bind(n,6443)),"@site/docs/introduction/motivation.md",6443],17896441:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8401)]).then(n.bind(n,4799)),"@theme/DocItem",4799],"1b1ff061":[()=>n.e(8758).then(n.bind(n,4e3)),"@site/docs/introduction/release_notes.md",4e3],"1c0d73a2":[()=>n.e(5564).then(n.t.bind(n,1783,19)),"~blog/default/documentation-blog-tags-bug-b05-list.json",1783],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(5533),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"1f9d4574":[()=>n.e(3865).then(n.bind(n,9726)),"@site/docs/installation/start_installation.md",9726],"21abdd8f":[()=>n.e(155).then(n.bind(n,24)),"@site/src/pages/cookie-consent.md",24],"24e7cd5a":[()=>n.e(5678).then(n.bind(n,1546)),"@site/docs/installation/virtualbox_installation.md",1546],"34e267cb":[()=>n.e(1809).then(n.bind(n,4245)),"@site/docs/installation/download_snigdha_os.md",4245],"36717f71":[()=>n.e(467).then(n.bind(n,1044)),"@site/docs/troubleshoot/wifi.md",1044],"374f080d":[()=>n.e(6227).then(n.bind(n,9535)),"@site/docs/before_installation/internet_connection.md",9535],"393be207":[()=>n.e(4134).then(n.bind(n,6602)),"@site/src/pages/markdown-page.md",6602],"3f32b921":[()=>n.e(3459).then(n.bind(n,1360)),"@site/docs/installation/offline_install.md",1360],"400546c3":[()=>n.e(2246).then(n.bind(n,47)),"@site/docs/packages/snigdhaos_welcome.md",47],"404ec107":[()=>n.e(5473).then(n.bind(n,60)),"@site/docs/dev_guide/install_keyring.md",60],"556b5122":[()=>n.e(5715).then(n.bind(n,6131)),"@site/docs/introduction/contributing.md",6131],"5d63bb5c":[()=>n.e(6301).then(n.t.bind(n,8155,19)),"~docs/default/category-documentation-tutorialsidebar-category-before-installation-bbf.json",8155],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"66ee5a7d":[()=>n.e(5890).then(n.bind(n,5843)),"@site/docs/dev_guide/pkgbuild.md",5843],"67391c37":[()=>n.e(7220).then(n.t.bind(n,1959,19)),"~blog/default/documentation-blog-tags-tags-271.json",1959],"6875c492":[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(4813)]).then(n.bind(n,3069)),"@theme/BlogTagsPostsPage",3069],"69817ecd":[()=>n.e(3236).then(n.t.bind(n,1231,19)),"~docs/default/category-documentation-tutorialsidebar-category-user-guide-b31.json",1231],"7616f23a":[()=>n.e(6769).then(n.bind(n,8360)),"@site/docs/introduction/overview.md",8360],"7909fc73":[()=>n.e(4925).then(n.t.bind(n,2885,19)),"~blog/default/documentation-blog-tags-bug-b05.json",2885],"795cfaa5":[()=>n.e(9250).then(n.bind(n,2621)),"@site/docs/installation/live_env.md",2621],"814f3328":[()=>n.e(7472).then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"89ebda57":[()=>n.e(5766).then(n.bind(n,8521)),"@site/docs/dev_guide/gpg_key.md",8521],"904c2b3c":[()=>n.e(8989).then(n.bind(n,4389)),"@site/docs/post_installation/install_packages.md",4389],"9096837d":[()=>n.e(1255).then(n.t.bind(n,5091,19)),"~docs/default/category-documentation-tutorialsidebar-category-packages-eea.json",5091],"935f2afb":[()=>n.e(8581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"96b21efb":[()=>n.e(6540).then(n.t.bind(n,1937,19)),"~docs/default/category-documentation-tutorialsidebar-category-tools-82a.json",1937],"9cb882f2":[()=>n.e(2523).then(n.bind(n,3687)),"@site/docs/post_installation/customization.md",3687],"9dc2651c":[()=>n.e(9040).then(n.bind(n,6034)),"@site/docs/troubleshoot/sound.md",6034],"9dcbbb0d":[()=>n.e(3327).then(n.bind(n,949)),"@site/docs/dev_guide/build_source.md",949],"9e4087bc":[()=>n.e(2711).then(n.bind(n,9331)),"@theme/BlogArchivePage",9331],a193a73b:[()=>n.e(58).then(n.t.bind(n,4061,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(7643)]).then(n.bind(n,7785)),"@theme/BlogListPage",7785],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],ad749202:[()=>n.e(7590).then(n.bind(n,262)),"@site/docs/post_installation/language.md",262],b19634de:[()=>n.e(3117).then(n.bind(n,4102)),"@site/docs/introduction/faqs.md",4102],b20c3152:[()=>n.e(5713).then(n.t.bind(n,856,19)),"~docs/default/category-documentation-tutorialsidebar-category-installation-da6.json",856],b85d3565:[()=>n.e(6213).then(n.bind(n,6456)),"@site/docs/installation/making_bootable_usb.md",6456],b9c524af:[()=>n.e(6731).then(n.bind(n,3547)),"@site/docs/before_installation/imporatnt_notes.md",3547],bbd9b434:[()=>n.e(3925).then(n.bind(n,3155)),"@site/docs/packages/snigdhaos_blackbox.md",3155],ca54887a:[()=>n.e(4612).then(n.bind(n,2096)),"@site/docs/introduction/name_and_story.md",2096],ccc49370:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(3249)]).then(n.bind(n,4029)),"@theme/BlogPostPage",4029],ccd1ff3c:[()=>n.e(4434).then(n.t.bind(n,7770,19)),"~docs/default/category-documentation-tutorialsidebar-category-introduction-344.json",7770],ce85b788:[()=>n.e(7979).then(n.bind(n,2693)),"@site/docs/tools/dns.md",2693],d68f1e45:[()=>n.e(3244).then(n.bind(n,7911)),"@site/docs/user_guide/aur.md",7911],d773f089:[()=>n.e(8121).then(n.t.bind(n,2945,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",2945],dc87ea58:[()=>n.e(5634).then(n.bind(n,8723)),"@site/docs/introduction/reporting_bugs.md",8723],de6c38e6:[()=>n.e(1703).then(n.t.bind(n,7652,19)),"~docs/default/category-documentation-tutorialsidebar-category-troubleshoot-a4b.json",7652],e2e7c0ac:[()=>n.e(4347).then(n.bind(n,6543)),"@site/docs/troubleshoot/display.md",6543],e541c1c2:[()=>n.e(1339).then(n.t.bind(n,2351,19)),"~docs/default/category-documentation-tutorialsidebar-category-post-installation-06e.json",2351],e89f4dea:[()=>n.e(3527).then(n.bind(n,4279)),"@site/docs/introduction/code_of_conduct.md",4279],ec3de22d:[()=>n.e(4893).then(n.bind(n,5877)),"@site/docs/dev_guide/write.md",5877],ec4024f9:[()=>n.e(8262).then(n.bind(n,2662)),"@site/blog/effetive_bug_report.md?truncated=true",2662],eda3af29:[()=>n.e(4474).then(n.t.bind(n,2489,19)),"~blog/default/documentation-blog-archive-ece.json",2489],f7392c07:[()=>n.e(7904).then(n.bind(n,8226)),"@site/blog/effetive_bug_report.md",8226],f7a81d3a:[()=>n.e(2966).then(n.bind(n,8921)),"@site/docs/user_guide/cheetsheet.md",8921],fbb85ca9:[()=>n.e(6183).then(n.bind(n,8698)),"@site/src/pages/privacy_policy.md",8698],ffa2682b:[()=>n.e(2056).then(n.bind(n,1081)),"@site/docs/post_installation/update.md",1081]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(6921),c=n(3102);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const p=[{path:"/documentation/blog",component:d("/documentation/blog","6c7"),exact:!0},{path:"/documentation/blog/archive",component:d("/documentation/blog/archive","36a"),exact:!0},{path:"/documentation/blog/effective_bug_report",component:d("/documentation/blog/effective_bug_report","d13"),exact:!0},{path:"/documentation/blog/tags",component:d("/documentation/blog/tags","592"),exact:!0},{path:"/documentation/blog/tags/bug",component:d("/documentation/blog/tags/bug","8e1"),exact:!0},{path:"/documentation/cookie-consent",component:d("/documentation/cookie-consent","c46"),exact:!0},{path:"/documentation/markdown-page",component:d("/documentation/markdown-page","ca0"),exact:!0},{path:"/documentation/privacy_policy",component:d("/documentation/privacy_policy","0c9"),exact:!0},{path:"/documentation/",component:d("/documentation/","ef5"),routes:[{path:"/documentation/",component:d("/documentation/","7bb"),routes:[{path:"/documentation/",component:d("/documentation/","b4c"),routes:[{path:"/documentation/before_installation/imporatnt_notes",component:d("/documentation/before_installation/imporatnt_notes","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/before_installation/internet_connection",component:d("/documentation/before_installation/internet_connection","fae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/before_installation/system_requirements",component:d("/documentation/before_installation/system_requirements","65d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/before-installation",component:d("/documentation/category/before-installation","3ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/developers-guide",component:d("/documentation/category/developers-guide","73b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/installation",component:d("/documentation/category/installation","665"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/introduction",component:d("/documentation/category/introduction","2cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/packages",component:d("/documentation/category/packages","0e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/post-installation",component:d("/documentation/category/post-installation","ee0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/tools",component:d("/documentation/category/tools","a35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/troubleshoot",component:d("/documentation/category/troubleshoot","11b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/user-guide",component:d("/documentation/category/user-guide","d5c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/build_source",component:d("/documentation/dev_guide/build_source","81a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/deploy_packages",component:d("/documentation/dev_guide/deploy_packages","61f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/gpg_key",component:d("/documentation/dev_guide/gpg_key","d30"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/install_keyring",component:d("/documentation/dev_guide/install_keyring","6ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/pkgbuild",component:d("/documentation/dev_guide/pkgbuild","393"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/write",component:d("/documentation/dev_guide/write","856"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/download_snigdha_os",component:d("/documentation/installation/download_snigdha_os","369"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/live_env",component:d("/documentation/installation/live_env","d25"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/making_bootable_usb",component:d("/documentation/installation/making_bootable_usb","298"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/offline_install",component:d("/documentation/installation/offline_install","274"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/online_install",component:d("/documentation/installation/online_install","c8a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/start_installation",component:d("/documentation/installation/start_installation","0d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/virtualbox_installation",component:d("/documentation/installation/virtualbox_installation","f71"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/code_of_conduct",component:d("/documentation/introduction/code_of_conduct","1f7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/coding-standard",component:d("/documentation/introduction/coding-standard","105"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/contributing",component:d("/documentation/introduction/contributing","2c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/faqs",component:d("/documentation/introduction/faqs","7af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/motivation",component:d("/documentation/introduction/motivation","0bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/name_and_story",component:d("/documentation/introduction/name_and_story","d3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/release_notes",component:d("/documentation/introduction/release_notes","590"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/reporting_bugs",component:d("/documentation/introduction/reporting_bugs","974"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/packages/snigdhaos_blackbox",component:d("/documentation/packages/snigdhaos_blackbox","3e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/packages/snigdhaos_welcome",component:d("/documentation/packages/snigdhaos_welcome","e46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/customization",component:d("/documentation/post_installation/customization","35c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/install_packages",component:d("/documentation/post_installation/install_packages","557"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/language",component:d("/documentation/post_installation/language","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/update",component:d("/documentation/post_installation/update","bd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/tools/dns",component:d("/documentation/tools/dns","2cf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/bluetooth",component:d("/documentation/troubleshoot/bluetooth","269"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/display",component:d("/documentation/troubleshoot/display","9c2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/sound",component:d("/documentation/troubleshoot/sound","004"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/wifi",component:d("/documentation/troubleshoot/wifi","8fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/user_guide/aur",component:d("/documentation/user_guide/aur","9b0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/user_guide/cheetsheet",component:d("/documentation/user_guide/cheetsheet","1e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/",component:d("/documentation/","dd9"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(4625),i=n(545),l=n(8193);const s=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),c=n(6347),d=n(2831),p=n(4848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5260),g=n(4586),h=n(6025),b=n(6342),y=n(1003),v=n(2131),w=n(4090),k=n(2967),x=n(440),S=n(1463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,v.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,c.zy)();return e+(0,x.applyTrailingSlash)((0,h.A)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(y.be,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.A,{tag:k.Cy,locale:e}),(0,p.jsx)(m.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const A=new Map;function T(e){if(A.has(e.pathname))return{...e,pathname:A.get(e.pathname)};if((0,d.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}var j=n(6125),N=n(6988),L=n(205);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,L.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.qh,{location:t,render:()=>e})})}}const I=D,M="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n