├── .github ├── FUNDING.yml └── workflows │ └── deploy.yml ├── .gitignore ├── .vitepress ├── config.mts └── theme │ ├── index.ts │ └── style.css ├── LICENSE ├── bun.lockb ├── contributors.md ├── fonts.tar.xz ├── guide ├── advanced │ ├── display.md │ ├── memperf.md │ ├── miscellaneous.md │ ├── optimizeboot.md │ └── terminal.md ├── apps │ ├── apps.md │ ├── audio.md │ ├── browsers.md │ ├── email.md │ ├── entertainment.md │ ├── graphic.md │ ├── office.md │ ├── others.md │ ├── programming.md │ ├── social.md │ └── video.md ├── basic │ ├── installation.md │ ├── postinstallation.md │ └── tweaks.md ├── desktop │ ├── desktop.md │ └── gnome.md └── distros │ ├── distro.md │ └── ubuntu.md ├── index.md ├── package.json ├── public ├── favicon.ico └── logo.svg └── vercel.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: themagicalmammal 2 | custom: [ 'buymeacoffee.com/dipannanda', ] 3 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | deploy: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v3 12 | with: 13 | fetch-depth: 0 14 | 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v2 17 | with: 18 | version: 7 19 | 20 | - name: Setup Node 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version: 16 24 | cache: pnpm 25 | 26 | - name: Install Dependencies 27 | run: pnpm install --no-frozen-lockfile 28 | 29 | - name: Build 30 | run: pnpm vitepress build docs --base /${{ github.event.repository.name }}/ 31 | 32 | - name: Deploy 33 | uses: peaceiris/actions-gh-pages@v3 34 | with: 35 | github_token: ${{ secrets.GITHUB_TOKEN }} 36 | publish_dir: docs/.vitepress/dist 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Fish ### 2 | fishd.* 3 | fish_history 4 | fish_variables 5 | config.local.fish 6 | 7 | ### Linux ### 8 | *~ 9 | 10 | # temporary files which can be created if a process still has a handle open of a deleted file 11 | .fuse_hidden* 12 | 13 | # KDE directory preferences 14 | .directory 15 | 16 | # Linux trash folder which might appear on any partition or disk 17 | .Trash-* 18 | 19 | # .nfs files are created when an open file is removed but is still being accessed 20 | .nfs* 21 | 22 | ### macOS ### 23 | # General 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must end with two \r 29 | Icon 30 | 31 | 32 | # Thumbnails 33 | ._* 34 | 35 | # Files that might appear in the root of a volume 36 | .DocumentRevisions-V100 37 | .fseventsd 38 | .Spotlight-V100 39 | .TemporaryItems 40 | .Trashes 41 | .VolumeIcon.icns 42 | .com.apple.timemachine.donotpresent 43 | 44 | # Directories potentially created on remote AFP share 45 | .AppleDB 46 | .AppleDesktop 47 | Network Trash Folder 48 | Temporary Items 49 | .apdisk 50 | 51 | ### macOS Patch ### 52 | # iCloud generated files 53 | *.icloud 54 | 55 | ### Node ### 56 | # Logs 57 | logs 58 | *.log 59 | npm-debug.log* 60 | yarn-debug.log* 61 | yarn-error.log* 62 | lerna-debug.log* 63 | .pnpm-debug.log* 64 | 65 | # Diagnostic reports (https://nodejs.org/api/report.html) 66 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 67 | 68 | # Runtime data 69 | pids 70 | *.pid 71 | *.seed 72 | *.pid.lock 73 | 74 | # Directory for instrumented libs generated by jscoverage/JSCover 75 | lib-cov 76 | 77 | # Coverage directory used by tools like istanbul 78 | coverage 79 | *.lcov 80 | 81 | # nyc test coverage 82 | .nyc_output 83 | 84 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 85 | .grunt 86 | 87 | # Bower dependency directory (https://bower.io/) 88 | bower_components 89 | 90 | # node-waf configuration 91 | .lock-wscript 92 | 93 | # Compiled binary addons (https://nodejs.org/api/addons.html) 94 | build/Release 95 | 96 | # Dependency directories 97 | node_modules/ 98 | jspm_packages/ 99 | 100 | # Snowpack dependency directory (https://snowpack.dev/) 101 | web_modules/ 102 | 103 | # TypeScript cache 104 | *.tsbuildinfo 105 | 106 | # Optional npm cache directory 107 | .npm 108 | 109 | # Optional eslint cache 110 | .eslintcache 111 | 112 | # Optional stylelint cache 113 | .stylelintcache 114 | 115 | # Microbundle cache 116 | .rpt2_cache/ 117 | .rts2_cache_cjs/ 118 | .rts2_cache_es/ 119 | .rts2_cache_umd/ 120 | 121 | # Optional REPL history 122 | .node_repl_history 123 | 124 | # Output of 'npm pack' 125 | *.tgz 126 | 127 | # Yarn Integrity file 128 | .yarn-integrity 129 | 130 | # dotenv environment variable files 131 | .env 132 | .env.development.local 133 | .env.test.local 134 | .env.production.local 135 | .env.local 136 | 137 | # parcel-bundler cache (https://parceljs.org/) 138 | .cache 139 | .parcel-cache 140 | 141 | # Next.js build output 142 | .next 143 | out 144 | 145 | # Nuxt.js build / generate output 146 | .nuxt 147 | dist 148 | 149 | # Gatsby files 150 | .cache/ 151 | # Comment in the public line in if your project uses Gatsby and not Next.js 152 | # https://nextjs.org/blog/next-9-1#public-directory-support 153 | # public 154 | 155 | # vuepress build output 156 | .vuepress/cache 157 | .vuepress/dist 158 | 159 | # vitepress build output 160 | /.vitepress/cache 161 | /.vitepress/dist 162 | 163 | # vuepress v2.x temp and cache directory 164 | .temp 165 | 166 | # Docusaurus cache and generated files 167 | .docusaurus 168 | 169 | # Serverless directories 170 | .serverless/ 171 | 172 | # FuseBox cache 173 | .fusebox/ 174 | 175 | # DynamoDB Local files 176 | .dynamodb/ 177 | 178 | # TernJS port file 179 | .tern-port 180 | 181 | # Stores VSCode versions used for testing VSCode extensions 182 | .vscode-test 183 | 184 | # yarn v2 185 | .yarn/cache 186 | .yarn/unplugged 187 | .yarn/build-state.yml 188 | .yarn/install-state.gz 189 | .pnp.* 190 | 191 | ### Node Patch ### 192 | # Serverless Webpack directories 193 | .webpack/ 194 | 195 | # Optional stylelint cache 196 | 197 | # SvelteKit build / generate output 198 | .svelte-kit 199 | 200 | ### OxidEshop ### 201 | /vendor 202 | 203 | !/source 204 | /source/* 205 | /source/tmp 206 | 207 | !/source/Application 208 | /source/Application/translations 209 | /source/Application/views/admin 210 | /source/Application/views/azure 211 | /source/Application/views/flow 212 | 213 | !/source/modules 214 | /source/modules/* 215 | 216 | !/source/out 217 | /source/out/admin 218 | /source/out/azure 219 | /source/out/downloads 220 | /source/out/flow 221 | /source/out/media 222 | /source/out/pictures 223 | 224 | ### Vue ### 225 | # gitignore template for Vue.js projects 226 | # 227 | # Recommended template: Node.gitignore 228 | 229 | # TODO: where does this rule come from? 230 | docs/_book 231 | 232 | # TODO: where does this rule come from? 233 | test/ 234 | 235 | ### Vuejs ### 236 | # Recommended template: Node.gitignore 237 | 238 | dist/ 239 | npm-debug.log 240 | yarn-error.log 241 | 242 | ### yarn ### 243 | # https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored 244 | 245 | .yarn/* 246 | !.yarn/releases 247 | !.yarn/patches 248 | !.yarn/plugins 249 | !.yarn/sdks 250 | !.yarn/versions 251 | 252 | # if you are NOT using Zero-installs, then: 253 | # comment the following lines 254 | !.yarn/cache 255 | 256 | # and uncomment the following lines 257 | # .pnp.* 258 | 259 | ### Zsh ### 260 | # Zsh compiled script + zrecompile backup 261 | *.zwc 262 | *.zwc.old 263 | 264 | # Zsh completion-optimization dumpfile 265 | *zcompdump* 266 | 267 | # Zsh zcalc history 268 | .zcalc_history 269 | 270 | # A popular plugin manager's files 271 | ._zinit 272 | .zinit_lstupd 273 | 274 | # zdharma/zshelldoc tool's files 275 | zsdoc/data 276 | 277 | # robbyrussell/oh-my-zsh/plugins/per-directory-history plugin's files 278 | # (when set-up to store the history in the local directory) 279 | .directory_history 280 | 281 | # MichaelAquilina/zsh-autoswitch-virtualenv plugin's files 282 | # (for Zsh plugins using Python) 283 | .venv 284 | 285 | # Zunit tests' output 286 | /tests/_output/* 287 | !/tests/_output/.gitkeep 288 | 289 | ### WebStorm ### 290 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 291 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 292 | 293 | # User-specific stuff 294 | .idea/**/workspace.xml 295 | .idea/**/tasks.xml 296 | .idea/**/usage.statistics.xml 297 | .idea/**/dictionaries 298 | .idea/**/shelf 299 | 300 | # AWS User-specific 301 | .idea/**/aws.xml 302 | 303 | # Generated files 304 | .idea/**/contentModel.xml 305 | 306 | # Sensitive or high-churn files 307 | .idea/**/dataSources/ 308 | .idea/**/dataSources.ids 309 | .idea/**/dataSources.local.xml 310 | .idea/**/sqlDataSources.xml 311 | .idea/**/dynamic.xml 312 | .idea/**/uiDesigner.xml 313 | .idea/**/dbnavigator.xml 314 | 315 | # Gradle 316 | .idea/**/gradle.xml 317 | .idea/**/libraries 318 | 319 | # Gradle and Maven with auto-import 320 | # When using Gradle or Maven with auto-import, you should exclude module files, 321 | # since they will be recreated, and may cause churn. Uncomment if using 322 | # auto-import. 323 | # .idea/artifacts 324 | # .idea/compiler.xml 325 | # .idea/jarRepositories.xml 326 | # .idea/modules.xml 327 | # .idea/*.iml 328 | # .idea/modules 329 | # *.iml 330 | # *.ipr 331 | 332 | # CMake 333 | cmake-build-*/ 334 | 335 | # Mongo Explorer plugin 336 | .idea/**/mongoSettings.xml 337 | 338 | # File-based project format 339 | *.iws 340 | 341 | # IntelliJ 342 | out/ 343 | 344 | # mpeltonen/sbt-idea plugin 345 | .idea_modules/ 346 | 347 | # JIRA plugin 348 | atlassian-ide-plugin.xml 349 | 350 | # Cursive Clojure plugin 351 | .idea/replstate.xml 352 | 353 | # SonarLint plugin 354 | .idea/sonarlint/ 355 | 356 | # Crashlytics plugin (for Android Studio and IntelliJ) 357 | com_crashlytics_export_strings.xml 358 | crashlytics.properties 359 | crashlytics-build.properties 360 | fabric.properties 361 | 362 | # Editor-based Rest Client 363 | .idea/httpRequests 364 | 365 | # Android studio 3.1+ serialized cache file 366 | .idea/caches/build_file_checksums.ser 367 | 368 | ### WebStorm Patch ### 369 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 370 | 371 | # *.iml 372 | # modules.xml 373 | # .idea/misc.xml 374 | # *.ipr 375 | 376 | # Sonarlint plugin 377 | # https://plugins.jetbrains.com/plugin/7973-sonarlint 378 | .idea/**/sonarlint/ 379 | 380 | # SonarQube Plugin 381 | # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin 382 | .idea/**/sonarIssues.xml 383 | 384 | # Markdown Navigator plugin 385 | # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced 386 | .idea/**/markdown-navigator.xml 387 | .idea/**/markdown-navigator-enh.xml 388 | .idea/**/markdown-navigator/ 389 | 390 | # Cache file creation bug 391 | # See https://youtrack.jetbrains.com/issue/JBR-2257 392 | .idea/$CACHE_FILE$ 393 | 394 | # CodeStream plugin 395 | # https://plugins.jetbrains.com/plugin/12206-codestream 396 | .idea/codestream.xml 397 | 398 | # Azure Toolkit for IntelliJ plugin 399 | # https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij 400 | .idea/**/azureSettings.xml 401 | 402 | ### WebStorm+all ### 403 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 404 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 405 | 406 | # User-specific stuff 407 | 408 | # AWS User-specific 409 | 410 | # Generated files 411 | 412 | # Sensitive or high-churn files 413 | 414 | # Gradle 415 | 416 | # Gradle and Maven with auto-import 417 | # When using Gradle or Maven with auto-import, you should exclude module files, 418 | # since they will be recreated, and may cause churn. Uncomment if using 419 | # auto-import. 420 | # .idea/artifacts 421 | # .idea/compiler.xml 422 | # .idea/jarRepositories.xml 423 | # .idea/modules.xml 424 | # .idea/*.iml 425 | # .idea/modules 426 | # *.iml 427 | # *.ipr 428 | 429 | # CMake 430 | 431 | # Mongo Explorer plugin 432 | 433 | # File-based project format 434 | 435 | # IntelliJ 436 | 437 | # mpeltonen/sbt-idea plugin 438 | 439 | # JIRA plugin 440 | 441 | # Cursive Clojure plugin 442 | 443 | # SonarLint plugin 444 | 445 | # Crashlytics plugin (for Android Studio and IntelliJ) 446 | 447 | # Editor-based Rest Client 448 | 449 | # Android studio 3.1+ serialized cache file 450 | 451 | ### WebStorm+all Patch ### 452 | # Ignore everything but code style settings and run configurations 453 | # that are supposed to be shared within teams. 454 | 455 | .idea/* 456 | 457 | !.idea/codeStyles 458 | !.idea/runConfigurations -------------------------------------------------------------------------------- /.vitepress/config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, type DefaultTheme } from "vitepress"; 2 | 3 | // https://vitepress.dev/reference/site-config 4 | export default defineConfig({ 5 | title: "howtolinux", 6 | description: "A Webpage with tips, tricks and guides for Linux.", 7 | lastUpdated: true, 8 | sitemap: { 9 | hostname: "https://howtolinux.vercel.app", 10 | }, 11 | /* prettier-ignore */ 12 | head: [ 13 | ['link', { rel: 'icon', href: '/favicon.ico' }], 14 | ['link', { rel: 'icon', type: 'image/svg+xml', href: '/logo.svg' }], 15 | ['meta', { name: 'og:type', content: 'website' }], 16 | ['meta', { name: 'og:locale', content: 'en' }], 17 | ['meta', { name: 'og:site_name', content: 'howtolinux' }], 18 | ], 19 | themeConfig: { 20 | // https://vitepress.dev/reference/default-theme-config 21 | nav: nav(), 22 | logo: "/logo.svg", 23 | editLink: { 24 | pattern: "https://github.com/themagicalmammal/howtolinux/edit/dev/:path", 25 | text: "Edit this page on GitHub", 26 | }, 27 | sidebar: { 28 | "/guide/": sidebarGuide(), 29 | }, 30 | socialLinks: [ 31 | { 32 | icon: "github", 33 | link: "https://github.com/themagicalmammal/howtolinux", 34 | }, 35 | ], 36 | footer: { 37 | message: "Released under the MIT License.", 38 | copyright: "Copyright © 2023 Dipan Nanda", 39 | }, 40 | search: { 41 | provider: "algolia", 42 | options: { 43 | appId: "VOBGBTBQEC", 44 | apiKey: "45c50b062601b6001ed6a708995e4e89", 45 | indexName: "howtolinux", 46 | }, 47 | }, 48 | }, 49 | }); 50 | 51 | /** 52 | * Returns an array of `DefaultTheme.NavItem` objects representing the navigation items. 53 | * 54 | * @return {DefaultTheme.NavItem[]} An array of `DefaultTheme.NavItem` objects. 55 | */ 56 | function nav(): DefaultTheme.NavItem[] { 57 | return [ 58 | { 59 | text: "Guide", 60 | link: "/guide/basic/installation", 61 | activeMatch: "/guide/", 62 | }, 63 | { 64 | text: "Contributors", 65 | link: "/contributors", 66 | activeMatch: "/contributors", 67 | }, 68 | ]; 69 | } 70 | 71 | /** 72 | * Returns an array of sidebar items for the default theme. 73 | * 74 | * @return {DefaultTheme.SidebarItem[]} The array of sidebar items. 75 | */ 76 | function sidebarGuide(): DefaultTheme.SidebarItem[] { 77 | return [ 78 | { 79 | text: "Basic", 80 | collapsed: false, 81 | items: [ 82 | { text: "Installation", link: "/guide/basic/installation" }, 83 | { text: "Post Installation", link: "/guide/basic/postinstallation" }, 84 | { text: "Tweaks", link: "/guide/basic/tweaks" }, 85 | ], 86 | }, 87 | { 88 | text: "Distros", 89 | link: "/guide/distros/distro", 90 | collapsed: true, 91 | items: [{ text: "Ubuntu", link: "/guide/distros/ubuntu" }], 92 | }, 93 | { 94 | text: "Desktop", 95 | link: "/guide/desktop/desktop", 96 | collapsed: true, 97 | items: [{ text: "Gnome", link: "/guide/desktop/gnome" }], 98 | }, 99 | { 100 | text: "Apps", 101 | link: "/guide/apps/apps", 102 | collapsed: false, 103 | items: [ 104 | { text: "Browser", link: "/guide/apps/browsers" }, 105 | { text: "Email", link: "/guide/apps/email" }, 106 | { text: "Audio", link: "/guide/apps/audio" }, 107 | { text: "Video", link: "/guide/apps/video" }, 108 | { text: "Graphic", link: "/guide/apps/graphic" }, 109 | { text: "Social", link: "/guide/apps/social" }, 110 | { text: "Office", link: "/guide/apps/office" }, 111 | { text: "Programming", link: "/guide/apps/programming" }, 112 | { text: "Entertainment", link: "/guide/apps/entertainment" }, 113 | { text: "Others", link: "/guide/apps/others" }, 114 | ], 115 | }, 116 | { 117 | text: "Advanced", 118 | collapsed: true, 119 | items: [ 120 | { text: "Display", link: "/guide/advanced/display" }, 121 | { text: "Terminal", link: "/guide/advanced/terminal" }, 122 | { text: "Optimize Boot", link: "/guide/advanced/optimizeboot" }, 123 | { text: "Mem & Perf Tweaks", link: "/guide/advanced/memperf" }, 124 | { text: "Miscellaneous", link: "/guide/advanced/miscellaneous" }, 125 | ], 126 | }, 127 | ]; 128 | } 129 | -------------------------------------------------------------------------------- /.vitepress/theme/index.ts: -------------------------------------------------------------------------------- 1 | // https://vitepress.dev/guide/custom-theme 2 | import { h } from 'vue' 3 | import Theme from 'vitepress/theme' 4 | import './style.css' 5 | 6 | export default { 7 | extends: Theme, 8 | Layout: () => { 9 | return h(Theme.Layout, null, { 10 | // https://vitepress.dev/guide/extending-default-theme#layout-slots 11 | }) 12 | }, 13 | enhanceApp({ app, router, siteData }) { 14 | // ... 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.vitepress/theme/style.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Customize default theme styling by overriding CSS variables: 3 | * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css 4 | */ 5 | 6 | /** 7 | * Colors 8 | * 9 | * Each colors have exact same color scale system with 3 levels of solid 10 | * colors with different brightness, and 1 soft color. 11 | * 12 | * - `XXX-1`: The most solid color used mainly for colored text. It must 13 | * satisfy the contrast ratio against when used on top of `XXX-soft`. 14 | * 15 | * - `XXX-2`: The color used mainly for hover state of the button. 16 | * 17 | * - `XXX-3`: The color for solid background, such as bg color of the button. 18 | * It must satisfy the contrast ratio with pure white (#ffffff) text on 19 | * top of it. 20 | * 21 | * - `XXX-soft`: The color used for subtle background such as custom container 22 | * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors 23 | * on top of it. 24 | * 25 | * The soft color must be semi transparent alpha channel. This is crucial 26 | * because it allows adding multiple "soft" colors on top of each other 27 | * to create a accent, such as when having inline code block inside 28 | * custom containers. 29 | * 30 | * - `default`: The color used purely for subtle indication without any 31 | * special meanings attched to it such as bg color for menu hover state. 32 | * 33 | * - `brand`: Used for primary brand colors, such as link text, button with 34 | * brand theme, etc. 35 | * 36 | * - `tip`: Used to indicate useful information. The default theme uses the 37 | * brand color for this by default. 38 | * 39 | * - `warning`: Used to indicate warning to the users. Used in custom 40 | * container, badges, etc. 41 | * 42 | * - `danger`: Used to show error, or dangerous message to the users. Used 43 | * in custom container, badges, etc. 44 | * -------------------------------------------------------------------------- */ 45 | 46 | @import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic); 47 | @import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic); 48 | 49 | :root { 50 | --vp-c-orange-1: #ff7340; 51 | --vp-c-orange-2: #ff5719; 52 | --vp-c-orange-3: #ff7340; 53 | --vp-c-orange-soft: #ff622d; 54 | 55 | --vp-c-default-1: var(--vp-c-gray-1); 56 | --vp-c-default-2: var(--vp-c-gray-2); 57 | --vp-c-default-3: var(--vp-c-gray-3); 58 | --vp-c-default-soft: var(--vp-c-gray-soft); 59 | 60 | --vp-c-brand-1: var(--vp-c-orange-1); 61 | --vp-c-brand-2: var(--vp-c-orange-2); 62 | --vp-c-brand-3: var(--vp-c-orange-3); 63 | --vp-c-brand-soft: var(--vp-c-orange-soft); 64 | 65 | --vp-c-tip-1: var(--vp-c-brand-1); 66 | --vp-c-tip-2: var(--vp-c-brand-2); 67 | --vp-c-tip-3: var(--vp-c-brand-3); 68 | --vp-c-tip-soft: var(--vp-c-brand-soft); 69 | 70 | --vp-c-warning-1: var(--vp-c-yellow-1); 71 | --vp-c-warning-2: var(--vp-c-yellow-2); 72 | --vp-c-warning-3: var(--vp-c-yellow-3); 73 | --vp-c-warning-soft: var(--vp-c-yellow-soft); 74 | 75 | --vp-c-danger-1: var(--vp-c-red-1); 76 | --vp-c-danger-2: var(--vp-c-red-2); 77 | --vp-c-danger-3: var(--vp-c-red-3); 78 | --vp-c-danger-soft: var(--vp-c-red-soft); 79 | 80 | 81 | /* Typography */ 82 | --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var", 83 | -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, 84 | Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 85 | 86 | /* Code Snippet font */ 87 | --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", 88 | monospace; 89 | } 90 | 91 | /** 92 | * Component: Button 93 | * -------------------------------------------------------------------------- */ 94 | 95 | :root { 96 | --vp-button-brand-border: transparent; 97 | --vp-button-brand-text: var(--vp-c-white); 98 | --vp-button-brand-bg: var(--vp-c-brand-3); 99 | --vp-button-brand-hover-border: transparent; 100 | --vp-button-brand-hover-text: var(--vp-c-white); 101 | --vp-button-brand-hover-bg: var(--vp-c-brand-2); 102 | --vp-button-brand-active-border: transparent; 103 | --vp-button-brand-active-text: var(--vp-c-white); 104 | --vp-button-brand-active-bg: var(--vp-c-brand-1); 105 | } 106 | 107 | /** 108 | * Component: Home 109 | * -------------------------------------------------------------------------- */ 110 | 111 | :root { 112 | --vp-home-hero-name-color: transparent; 113 | --vp-home-hero-name-background: -webkit-linear-gradient( 114 | 120deg, 115 | #D83F31 30%, 116 | #EE9322 117 | ); 118 | 119 | --vp-home-hero-image-background-image: linear-gradient( 120 | -45deg, 121 | #D83F31 50%, 122 | #EE9322 50% 123 | ); 124 | --vp-home-hero-image-filter: blur(40px); 125 | } 126 | 127 | @media (min-width: 640px) { 128 | :root { 129 | --vp-home-hero-image-filter: blur(56px); 130 | } 131 | } 132 | 133 | @media (min-width: 960px) { 134 | :root { 135 | --vp-home-hero-image-filter: blur(72px); 136 | } 137 | } 138 | 139 | /** 140 | * Component: Custom Block 141 | * -------------------------------------------------------------------------- */ 142 | 143 | :root { 144 | --vp-custom-block-tip-border: transparent; 145 | --vp-custom-block-tip-text: var(--vp-c-text-1); 146 | --vp-custom-block-tip-bg: var(--vp-c-brand-soft); 147 | --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); 148 | } 149 | 150 | /** 151 | * Component: Algolia 152 | * -------------------------------------------------------------------------- */ 153 | 154 | .DocSearch { 155 | --docsearch-primary-color: var(--vp-c-brand-1) !important; 156 | } 157 | 158 | /* Custom Stlye */ 159 | .custom-layout { 160 | background-color: var(--vp-c-bg-soft); 161 | color: var(--vp-c-text-1); 162 | display: flex; 163 | flex-direction: column; 164 | align-items: center; 165 | justify-content: center; 166 | text-align: center; 167 | gap: 1rem; 168 | min-height: 150px; 169 | max-width: 1152px; 170 | margin: 1rem auto 0; 171 | border-radius: 10px; 172 | } 173 | 174 | .slider { 175 | height: 100px; 176 | margin: auto; 177 | margin-top: 20px; 178 | overflow: hidden; 179 | position: relative; 180 | width: 1140px; 181 | } 182 | 183 | @media (max-width: 1140px) { 184 | .slider { 185 | width: 100%; /* Set a percentage for full width on smaller screens */ 186 | } 187 | } 188 | 189 | .slider::before, .slider::after { 190 | background: linear-gradient(to right, var(--vp-c-bg-soft) 0%, rgba(255, 255, 255, 0) 100%); 191 | content: ""; 192 | height: 100%; 193 | position: absolute; 194 | width: 100px; 195 | z-index: 2; 196 | } 197 | 198 | .slider::after { 199 | right: 0; 200 | top: 0; 201 | -webkit-transform: rotateZ(180deg); 202 | transform: rotateZ(180deg); 203 | } 204 | 205 | .slider::before { 206 | left: 0; 207 | top: 0; 208 | } 209 | 210 | .slider .slide-track { 211 | animation: scroll 15s linear infinite; 212 | display: flex; 213 | width: calc(300px * 10); 214 | } 215 | 216 | .slider .slide-track:hover { 217 | animation-play-state: paused; 218 | } 219 | 220 | .slider .slide { 221 | height: 150px; 222 | width: 150px; 223 | padding-left: 50px; 224 | } 225 | 226 | @keyframes scroll { 227 | 0% { 228 | transform: translateX(0); 229 | } 230 | 231 | 100% { 232 | transform: translateX(calc(-100px * 12)); 233 | } 234 | } 235 | 236 | 237 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Dipan Nanda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themagicalmammal/howtolinux/1541e51373304df1b310e1cc23e17bb4430258f7/bun.lockb -------------------------------------------------------------------------------- /contributors.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Teams 3 | sidebar: auto 4 | layout: page 5 | --- 6 | 7 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | -------------------------------------------------------------------------------- /fonts.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themagicalmammal/howtolinux/1541e51373304df1b310e1cc23e17bb4430258f7/fonts.tar.xz -------------------------------------------------------------------------------- /guide/advanced/display.md: -------------------------------------------------------------------------------- 1 | # Display 2 | 3 | These are some display tweaks depending on the windowing system you are using. 4 | 5 | ## Refresh Rates 6 | 7 | If your display supports a higher refresh rate, go for it because higher refresh rate displays make the moving content look and feel smoother and snappier. 8 | 9 |

10 | 11 |

12 | 13 | ::: info 14 | Sometimes this doesn't work because you display might not support the higher refresh rates and they might be showing up due to errors in your xrandr config. 15 | ::: 16 | 17 | ## Wayland 18 | 19 | Wayland is a new protocol that enables 3D compositors to be used as primary display servers, instead of running the 3D compositor as an extension under the (2D) X.org display server. Or, in layman's terms, it assumes you're using a 3D desktop from the start, instead of bolting on 3D capabilities to an 2D framework. 20 | 21 | X.org is the default display manager but, X.org is old and is very bloated, thus uses more resources. So in this way, Wayland can be a better option. But, Wayland is a newer display protocol and thus is incomplete in a way giving the birth yo many bugs, and one of them being **NVIDIA**. So, if you have an NVIDIA GPU, Wayland is a bad option. Also, if you don't have NVIDIA GPU, still there might be bugs, so if you have bugs/glitches, remove it.(Remove the #). 22 | 23 | You can install wayland using: 24 | 25 | ::: code-group 26 | 27 | ```sh [Arch] 28 | sudo pacman -S wayland 29 | ``` 30 | 31 | ```sh [Debian] 32 | sudo apt-get install wayland 33 | ``` 34 | 35 | ```sh [Fedora] 36 | sudo dnf install wayland 37 | ``` 38 | 39 | ```sh [Ubuntu] 40 | sudo apt-get install wayland 41 | ``` 42 | 43 | ```sh [Void] 44 | sudo xbps-install wayland 45 | ``` 46 | 47 | ::: 48 | 49 | ::: details Switch from X11 to Wayland 50 | 51 | X11 is the most widely used display server on Linux, but it has some limitations when it comes to modern graphics and security. Wayland is a newer display server that aims to overcome these limitations and provide a better experience. In this tutorial, we'll show you how to switch from X11 to Wayland on Linux, regardless of the distribution or desktop environment you are using. 52 | 53 | ### Prerequisites 54 | 55 | - A Linux distribution with both X11 and Wayland display servers installed 56 | - Administrative privileges (i.e., sudo or root access) 57 | 58 | ### Step 1: Check if Wayland is available 59 | 60 | First, we need to check if Wayland is available on your system. To do this, open a terminal and run the following command: 61 | 62 | ```sh 63 | echo $XDG_SESSION_TYPE 64 | ``` 65 | 66 | If the output is "x11", X11 is currently in use. If the output is "wayland", Wayland is already in use. If the output is empty, neither X11 nor Wayland is in use. 67 | 68 | ### Step 2: Switch to Wayland 69 | 70 | To switch from X11 to Wayland, you need to log out of your current session and start a new one using Wayland. 71 | 72 | The exact steps to do this depend on your distribution and desktop environment. Here are the steps for some popular desktop environments: 73 | 74 | #### GNOME 75 | 76 | 1. Log out of your current session. 77 | 2. Click the gear icon next to the "Sign In" button. 78 | 3. Select "GNOME on Wayland". 79 | 4. Enter your password and click "Sign In". 80 | 81 | #### KDE Plasma 82 | 83 | 1. Log out of your current session. 84 | 2. Click the "Session" button on the login screen. 85 | 3. Select "Plasma (Wayland)". 86 | 4. Enter your password and click "Login". 87 | 88 | #### XFCE 89 | 90 | 1. Log out of your current session. 91 | 2. Click the gear icon next to the "Sign In" button. 92 | 3. Select "XFCE with Wayland". 93 | 4. Enter your password and click "Sign In". 94 | 95 | #### Other Desktop Environments 96 | 97 | The process for other desktop environments may be different. Refer to the documentation for your desktop environment or distribution for more information. 98 | 99 | ### Step 3: Verify Wayland is in use 100 | 101 | Once you've logged in using Wayland, you can verify that it's in use by running the following command: 102 | 103 | If the output is "x11", X11 is currently in use. If the output is "wayland", Wayland is already in use. If the output is empty, neither X11 nor Wayland is in use. 104 | 105 | ### Step 2: Switch to Wayland 106 | 107 | To switch from X11 to Wayland, you need to log out of your current session and start a new one using Wayland. 108 | 109 | The exact steps to do this depend on your distribution and desktop environment. Here are the steps for some popular desktop environments: 110 | 111 | #### GNOME 112 | 113 | 1. Log out of your current session. 114 | 2. Click the gear icon next to the "Sign In" button. 115 | 3. Select "GNOME on Wayland". 116 | 4. Enter your password and click "Sign In". 117 | 118 | #### KDE Plasma 119 | 120 | 1. Log out of your current session. 121 | 2. Click the "Session" button on the login screen. 122 | 3. Select "Plasma (Wayland)". 123 | 4. Enter your password and click "Login". 124 | 125 | #### XFCE 126 | 127 | 1. Log out of your current session. 128 | 2. Click the gear icon next to the "Sign In" button. 129 | 3. Select "XFCE with Wayland". 130 | 4. Enter your password and click "Sign In". 131 | 132 | #### Other Desktop Environments 133 | 134 | The process for other desktop environments may be different. Refer to the documentation for your desktop environment or distribution for more information. 135 | 136 | ### Step 3: Verify Wayland is in use 137 | 138 | Once you've logged in using Wayland, you can verify that it's in use by running the following command: 139 | 140 | ```sh 141 | echo $XDG_SESSION_TYPE 142 | ``` 143 | 144 | The output should be "wayland". 145 | 146 | ### Step 4: Troubleshooting 147 | 148 | If you encounter issues when trying to switch to Wayland, here are some things to check: 149 | 150 | - Make sure Wayland is installed on your system. 151 | - Make sure your graphics drivers are up to date. 152 | - Make sure your desktop environment supports Wayland. 153 | - Try switching to a different desktop environment that supports Wayland. 154 | 155 | ### Conclusion 156 | 157 | Switching from X11 to Wayland can provide a more modern and secure display server experience on Linux. While the process to switch can vary depending on your distribution and desktop environment, the general steps are to log out of your current session and start a new one using Wayland. If you encounter any issues, be sure to check that Wayland is installed on your system, your graphics drivers are up to date, and your desktop environment supports Wayland. 158 | 159 | ::: 160 | 161 | ## Custom Resolution 162 | 163 | ::: tip 164 | Please read all the problems & bugs with this, so that you know what problems might come & how to fix them 165 | ::: 166 | 167 | ### Steps: 168 | 169 | ### 170 | 171 | ### 1. Check `xrandr\wlr-randr` 172 | 173 | You can know the name of your display here generally it is eDP-1 if it is hybrid it can be eDP-1-1. 174 | 175 | ::: code-group 176 | 177 | ```sh [X11] 178 | $ xrandr // [!code focus] 179 | Screen 0: minimum 320 x 200, current 1600 × 900, maximum 16384 x 16384 180 | eDP-1 connected primary 1600X900+0+0 (normal left inverted right × axis y axis) 473mm x 296mm 181 | ``` 182 | 183 | ```sh [Wayland] 184 | $ wlr-randr // [!code focus] 185 | Screen 0: 1920x1080 @ 0x0mm (scaled to 100.00%) 186 | Output eDP-1-1 [internal] (connected) 187 | Current mode: 1920x1080@60Hz 188 | Output HDMI-1-1 [external] (disconnected) 189 | ``` 190 | 191 | ::: 192 | 193 | ### 2. Find resolution which will fit 194 | 195 | My original maximum resolution was 1600x900, which is a 16:9 aspect ratio. So if I choose a different aspect ratio, then some parts of my display will black out. 196 | 197 | So, I can go for 1920x1080 or 1792x1008. To find out which fits you best you can do tests by adding different resolutions. 198 | 199 | ### 3. How to add? 200 | 201 | ### 202 | 203 | ##### i. Check the custom resolution 204 | 205 | Using cvt you cant generate the custom resolution with parameters. 206 | 207 | ```sh{3} 208 | $ cvt 1920 1080 // [!code focus] 209 | # 1920X1080 59.96 Hz ( CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz 210 | Modeline "1920x1080 _60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 - hsync +vsync 211 | ``` 212 | 213 | ##### ii. Add the custom resolution 214 | 215 | Copy the text after modeline and use this command to create a new resolution. 216 | 217 | ::: code-group 218 | 219 | ```sh [X11] 220 | xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync 221 | xrandr --addmode eDP-1 "1920x1080_60.00" 222 | ``` 223 | 224 | ```sh [Wayland] 225 | wlr-randr --output eDP-1 --mode "1920x1080_60.00" 226 | ``` 227 | 228 | ::: 229 | 230 | Congrats! You have added a new resolution now you can go to display and set it as your resolution. 231 | 232 | ## Q. The resolution goes away after a reboot. 233 | 234 | **Ans.** Add all the final lines to .profile so every time a session starts, the code runs, the custom resolution gets added. Since, this are not default resolutions xrandr isn't generating them so it can be added to profile and it will be added automatically when a session starts. 235 | 236 | ```sh 237 | nano ~/.profile 238 | ``` 239 | 240 | Add your custom resolution config, it should look something like this. 241 | 242 | ::: code-group 243 | 244 | ```sh [X11] 245 | // All of the .profile code 246 | xrandr --newmode "1920×1080 120.00" 369.50 1920 2080 2288 2656 1080 1083 1088 1160 -hsync +vsync // [!code focus] 247 | xrandr --addmode eDP-1 "1920×1080 120.00" // [!code focus] 248 | ``` 249 | 250 | ```sh [Wayland] 251 | // All of the .profile code 252 | wlr-randr --output eDP-1 --mode "1920x1080_60.00" // [!code focus] 253 | ``` 254 | 255 | ::: 256 | 257 | ## Q. What about other refresh rates? 258 | 259 | **Ans.** You have to experiment with cvt a bit, to find which refresh rates you need. My refresh rates are from 60hz to 120hz. I did some experimentation and added these refresh rates. 260 | 261 | Like if your display supports 120 hertz 262 | 263 | ::: code-group 264 | 265 | ```sh [X11] 266 | $ cvt 1920 1080 120 // [!code focus] 267 | # 1920×1080 119.93 Hz (CVT) hsync: 139.12 kHz; pclk: 369.50 MHz 268 | Modeline "1920×1080_120.00" 369.50 1920 2080 2288 2656 1080 1083 1088 1160 -hsync +vsync 269 | $ xrandr - -newmode "1920×1080_120.00" 369.50 1920 2080 2288 2656 1080 1083 1088 1160 -hsvnc +vsvnc // [!code focus] 270 | $ xrandr --addmode eDP-1 "1920×1080 120.00" // [!code focus] 271 | ``` 272 | 273 | ```sh [Wayland] 274 | $ cvt 1920 1080 120 // [!code focus] 275 | # 1920×1080 119.93 Hz (CVT) hsync: 139.12 kHz; pclk: 369.50 MHz 276 | Modeline "1920×1080_120.00" 369.50 1920 2080 2288 2656 1080 1083 1088 1160 -hsync +vsync 277 | $ wlr-randr --output eDP-1 --mode "1920×1080 120.00" // [!code focus] 278 | ``` 279 | 280 | ::: 281 | 282 | Finally, I added these resolutions 283 | 284 | ::: code-group 285 | 286 | ```sh [X11] 287 | // All of the .profile code 288 | xrandr --newmode "1920×1080 120.00" 369.50 1920 2080 2288 2656 1080 1083 1088 1160 -hsync +vsync // [!code focus] 289 | xrandr --addmode eDP-1 "1920×1080 120.00" // [!code focus] 290 | xrandr --newmode "1920×1080 119.91" 369.25 1920 2080 2288 2656 1080 1083 1088 1160 -hsync +vsync // [!code focus] 291 | xrandr --addmode eDP-1 "1920×1080 119.91" // [!code focus] 292 | xrandr --newmode "1920×1080 60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync // [!code focus] 293 | xrandr --addmode eDP-1 "1920×1080 60.00" // [!code focus] 294 | xrandr --newmode "1920×1080 59.89" 172.75 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync // [!code focus] 295 | xrandr --addmode eDP-1 "1920x1080 59.89" // [!code focus] 296 | ``` 297 | 298 | ```sh [Wayland] 299 | // All of the .profile code 300 | wlr-randr --output eDP-1 --mode "1920×1080 120.00" // [!code focus] 301 | wlr-randr --output eDP-1 --mode "1920×1080 119.91" // [!code focus] 302 | wlr-randr --output eDP-1 --mode "1920×1080 60.00" // [!code focus] 303 | wlr-randr --output eDP-1 --mode "1920x1080 59.89" // [!code focus] 304 | ``` 305 | 306 | ::: 307 | 308 | **Now it should look like this** 309 | 310 |

311 | 312 |

313 | 314 | ## Q. How to get rid of custom resolution? 315 | 316 | **Ans.** Simple if you have added custom resolution to your .profile, open it again, remove those lines, and reboot. 317 | 318 | ## Q. Problems regarding Hybrid Graphics Switching. 319 | 320 | **Ans.** If you have a Hybrid or Multiple Graphics Card, your display name will change if you switch graphics. So, you have to change the `xrandr --addmode [displayname]` or `wlr-randr --output [displayname]` if you switch Graphics. It's better to add commands for both of your displays so switching would be fluent. 321 | -------------------------------------------------------------------------------- /guide/advanced/memperf.md: -------------------------------------------------------------------------------- 1 | # Memory & Performance Tweaks 2 | 3 | Zswap, Zram, and Profile-sync-daemon are Linux utilities designed to collectively enhance your system's performance, especially in cases of limited physical RAM and for optimizing web browser performance. These tools help manage memory efficiently, reduce the need for slow disk swaps, and enhance the overall responsiveness of your system. 4 | 5 | ## Zram 6 | 7 | Zram, formerly known as compcache, offers a straightforward RAM compression solution in Linux. It adds an additional compressed swap volume within the RAM hierarchy, optimizing data storage and management. When RAM capacity is reached, it efficiently shifts excess data to the compressed swap, minimizing reliance on slower storage drives for improved system performance. 8 | 9 | 1. Install the `zram` package: 10 | 11 | ::: code-group 12 | 13 | ```sh [Arch] 14 | sudo pacman -S zram 15 | ``` 16 | 17 | ```sh [Debian] 18 | sudo apt-get install zram-tools 19 | ``` 20 | 21 | ```sh [Fedora] 22 | sudo dnf install zram-generator 23 | ``` 24 | 25 | ```sh [Ubuntu] 26 | sudo apt-get install zram-config 27 | ``` 28 | 29 | ::: 30 | 31 | 2. Enable and start the Zram service: 32 | 33 | ::: code-group 34 | 35 | ```sh [Arch] 36 | sudo systemctl enable --now zram-swap.service 37 | ``` 38 | 39 | ```sh [Debian] 40 | sudo systemctl enable --now zram-swap.service 41 | ``` 42 | 43 | ```sh [Fedora] 44 | sudo systemctl enable --now zram-generator-swap.service 45 | ``` 46 | 47 | ```sh [Ubuntu] 48 | sudo systemctl enable --now zram-swap.service 49 | ``` 50 | 51 | ::: 52 | 53 | ::: details Void (Runit) 54 | 55 | 1. Create a new runit service for Zram by creating a file (e.g., `/etc/sv/zram`) and adding the following content: 56 | 57 | ```sh 58 | #!/bin/sh 59 | exec 2>&1 60 | exec zramctl --find 61 | exec mkswap /dev/zramX 62 | exec swapon -p 100 /dev/zramX 63 | ``` 64 | 65 | 2. Make the service file executable: 66 | 67 | ```sh 68 | chmod +x /etc/sv/zram 69 | ``` 70 | 71 | 3. Link the service to the default runlevel: 72 | 73 | ```sh 74 | ln -s /etc/sv/zram /var/service/ 75 | ``` 76 | 77 | ::: 78 | 79 | ## Zswap 80 | 81 | Zswap, like Zram, enhances system performance by using compressed swap space in RAM. However, it differs by focusing on compressed cache for swap pages within the kernel, minimizing write operations to slow storage devices. Zswap is an integral part of the kernel, while Zram typically requires user-level setup. This approach reduces I/O and speeds up data access, resulting in an optimized and more responsive system. 82 | 83 | 1. Check if Zswap is already active by examining the kernel parameters: 84 | 85 | ```sh 86 | cat /sys/module/zswap/parameters/enabled 87 | ``` 88 | 89 | - If Zswap is active, you don't need to make any changes. 90 | - If it's not active or you want to enable it explicitly, proceed with the following steps. 91 | 92 | 2. Edit the kernel boot parameters (usually in the GRUB configuration) to enable Zswap: 93 | 94 | Edit the /etc/default/grub file and add zswap.enabled=1 to the GRUB_CMDLINE_LINUX line. Then, update the GRUB configuration: 95 | 96 | ::: code-group 97 | 98 | ```sh [Arch] 99 | sudo grub-mkconfig -o /boot/grub/grub.cfg 100 | ``` 101 | 102 | ```sh [Debian] 103 | sudo update-grub 104 | ``` 105 | 106 | ```sh [Fedora] 107 | sudo grub2-mkconfig -o /boot/grub2/grub.cfg 108 | ``` 109 | 110 | ```sh [Ubuntu] 111 | sudo update-grub 112 | ``` 113 | 114 | ```sh [Void] 115 | sudo grub-mkconfig -o /boot/grub/grub.cfg 116 | ``` 117 | 118 | ::: 119 | 120 | ## Profile Sync Daemon (PSD) 121 | 122 | Profile Sync Daemon (PSD) manages browser profiles (e.g., Chromium, Firefox) by storing them in RAM disks, similar to Zram. This boosts browser performance and extends SSD lifespan by reducing write cycles. 123 | 124 | 1. Install Profile Sync Daemon: 125 | 126 | ::: code-group 127 | 128 | ```sh [Arch] 129 | git clone https://aur.archlinux.org/profile-sync-daemon.git 130 | cd profile-sync-daemon && makepkg -si 131 | sudo systemctl enable psd.service 132 | sudo systemctl start psd.service 133 | ``` 134 | 135 | ```sh [Debian] 136 | sudo apt-get install profile-sync-daemon 137 | sudo systemctl enable psd.service 138 | sudo systemctl start psd.service 139 | ``` 140 | 141 | ```sh [Fedora] 142 | sudo dnf install profile-sync-daemon 143 | sudo systemctl enable psd.service 144 | sudo systemctl start psd.service 145 | ``` 146 | 147 | ```sh [Ubuntu] 148 | sudo apt-get install profile-sync-daemon 149 | sudo systemctl enable psd.service 150 | sudo systemctl start psd.service 151 | ``` 152 | 153 | ```sh [Void] 154 | git clone https://github.com/graysky2/profile-sync-daemon 155 | cd profile-sync-daemon && make && sudo make install 156 | sudo rm -rf /usr/lib/systemd/ 157 | cd && git clone https://github.com/madand/runit-services 158 | cd runit-services && sudo mv psd /etc/sv/ 159 | sudo ln -s /etc/sv/psd /var/service/ 160 | ``` 161 | 162 | ::: 163 | 164 | 2. Customize browser-specific settings: 165 | 166 | Edit the PSD configuration file (`~/.config/profile-sync-daemon/sync.conf`) to set the appropriate paths and browser-specific settings. You can configure the browsers you use in this file. 167 | -------------------------------------------------------------------------------- /guide/advanced/miscellaneous.md: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | 3 | This is a collection of some other amazing things you can try with your linux. 4 | 5 | ## AdHosts 6 | 7 | I use **Steven Black** Ad-Hosts for ad-blocking the whole system without any other extra app. This blocks basic ads but not YouTube or Spotify ads. 8 | 9 | I use **Unified hosts + fake news + gambling + porn** 10 | 11 | ### Q. How to? 12 | 13 | **Ans. Steps:** 14 | 15 | 1. Get a [host](https://github.com/StevenBlack/hosts) 16 | 2. Save it to Downloads 17 | 3. Then 18 | 19 | ```sh 20 | sudo mv $(xdg-user-dir DOWNLOAD)/hosts.txt /etc/hosts 21 | ``` 22 | 23 | ## TLP 24 | 25 | TLP is a utility for battery optimization on laptops. TLP comes with a default configuration which is perfectly tuned. The utility works by optimizing the power used by hardware devices while your laptop is running on its battery. 26 | 27 | ```sh 28 | sudo apt install tlp 29 | sudo tlp start 30 | ``` 31 | 32 | If you need a graphical interface to optimise or control it. 33 | 34 | ```sh 35 | sudo add-apt-repository ppa:linuxuprising/apps && sudo apt update 36 | sudo apt install tlpui 37 | ``` 38 | 39 | ## Disable Frequents 40 | 41 | Disable Frequents Tab in Gnome app menu. This option is not required for Gnome > 3.38. 42 | 43 | ```sh 44 | gsettings set org.gnome.desktop.privacy remember-app-usage false 45 | ``` 46 | 47 | ## Clean your System 48 | 49 | ### Clean via Terminal 50 | 51 | ```sh 52 | sudo apt --purge autoremove 53 | sudo rm -rf ~/.cache/thumbnails/* 54 | sudo apt clean 55 | sudo apt autoclean 56 | ``` 57 | 58 | ### Bleachbit 59 | 60 | I use Bleachbit because it is good to remove unnecessary junk from your computer. 61 | 62 | ```sh 63 | sudo apt install bleachbit 64 | ``` 65 | 66 | **Steps:** BleachBit (root) > Select every option (except free disk) > **Clean** 67 | ![bleachbit](https://i.imgur.com/MTAGpB0.png) 68 | **Note:** After doing this the first boot might be slow don't worry it's perfectly normal. 69 | 70 | ## Night Light 71 | 72 | Night Light mode is simply made to remove some lights which hinder our sleep cycle. As researchers have found that at night if a certain set of colors interact with our eyes it doesn't let the eye rest making it _unsleepy_ that's why we use a night light. 73 | **Steps:** Settings > Display > Night light 74 | _You can also select the timing which fits your sleep cycle._ 75 | ![nightlight](https://i.imgur.com/10HhO7b.png) 76 | -------------------------------------------------------------------------------- /guide/advanced/optimizeboot.md: -------------------------------------------------------------------------------- 1 | # Optimize Boot time & Ram Usage 2 | 3 | Original boot time before optimisation: 4 | 5 | ```sh 6 | $ systemd-analyze // [!code focus] 7 | Startup finished in 8.540s (firmware) + 775ms (loader) + 4.861s (kernel) + 43.83 8 | 7s (userspace) = 58.015s 9 | graphical.target reached after 42.165s in userspace 10 | ``` 11 | 12 | ## Disabling Plymouth 13 | 14 | This Plymouth boot screen is that boot screen you see when you are booting. 15 | 16 | ### EFI stub 17 | 18 | ```sh 19 | sudo kernelstub --delete-options "quiet systemd.show_status=false splash" 20 | ``` 21 | 22 | ### GRUB 23 | 24 | 1. Edit grub config 25 | 26 | ```sh 27 | sudo nano /etc/default/grub 28 | ``` 29 | 30 | Find the `GRUB_CMDLINE_LINUX_DEFAULT` line, and you will see: 31 | 32 | ```sh 33 | GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 34 | ``` 35 | 36 | 2. To disable the boot screen, simply remove the word splash from this line, like so: 37 | 38 | ```sh 39 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" 40 | ``` 41 | 42 | 3. In order to apply the config changes to the grub bootloader, run this command: 43 | 44 | ```sh 45 | sudo update-grub 46 | ``` 47 | 48 | 4. Now reboot your system! 49 | 50 | 5. Finally, uninstall the plymouth package from your system: 51 | 52 | ::: code-group 53 | 54 | ```sh [Arch] 55 | sudo pacman -Rns plymouth 56 | ``` 57 | 58 | ```sh [Debian] 59 | sudo apt purge plymouth && sudo apt autoremove 60 | ``` 61 | 62 | ```sh [Fedora] 63 | sudo dnf remove plymouth 64 | ``` 65 | 66 | ```sh [Ubuntu] 67 | sudo apt purge plymouth && sudo apt autoremove 68 | ``` 69 | 70 | ```sh [Void] 71 | sudo xbps-remove plymouth 72 | ``` 73 | 74 | ::: 75 | 76 | 6. Remove lingering config directories 77 | 78 | ```sh 79 | sudo rm -rf /usr/share/plymouth 80 | ``` 81 | 82 | ## Adjusting the Swappiness Property 83 | 84 | This is required to adjust swap usage. If you have huge rams like 16GB ram then you can reduce this value to as low as 0. But if you have low ram devices like 1GB you should make this 90 or higher. Interactions with the swap file are costlier since swaps are slower than RAMs, and they can cause a reduction in performance. 85 | 86 | Values according to me for Ram: Ratio should be as follows, 32:0, 16:10, 8:20, 4:50, 2:70 87 | **20 is just an example value, don't mindlessly use it** 88 | 89 | ```sh 90 | sudo sysctl vm.swappiness=20 91 | ``` 92 | 93 | **These values do not stick. To add them permanently. Add the above line to sysctl.conf.** 94 | 95 | ```sh 96 | sudo nano /etc/sysctl.conf 97 | ``` 98 | 99 | ## Adjusting the Cache Pressure Setting 100 | 101 | Another issue, the system stores cache about stuff that you frequently open & this makes the system faster, as if it opens again, rather than reloading the data it will use the cache. But, on a lower ram device, this is a bad option since this will seriously slow your system down. 102 | Adjust this like you adjusted swappiness property, values for RAM: Pressure should be as follows, 1:100, 2:90, 4:80, 8:60, 16:50. 103 | 104 | ```sh 105 | sudo sysctl vm.vfs_cache_pressure=50 106 | ``` 107 | 108 | **Add the above line to sysctl.conf.** 109 | 110 | ```sh 111 | sudo nano /etc/sysctl.conf 112 | ``` 113 | 114 | ## EarlyOOM 115 | 116 | It is a cool new feature enabled in Fedora 33. What is it, you ask? In Layman terms, It frees memory when the ram or the swap gets close to full (over 90%). Making this a beneficial feature for heavy usage. This is a very important feature for old hardware. It only consumes 0.5 to 2 MB in the background. 117 | 118 | To install it 119 | 120 | ```sh 121 | sudo apt install earlyoom 122 | ``` 123 | 124 | To check its status 125 | 126 | ```sh 127 | systemctl status earlyoom 128 | ``` 129 | 130 | ## Clearing buff/cache 131 | 132 | The computer accumulates high buff/cache over time and makes the user force reboot. To clear buff cache, you can use this. 133 | 134 | ```sh 135 | free -h && sudo sysctl -w vm.drop_caches=3 && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -h 136 | ``` 137 | 138 | ## Optimizing the boot 139 | 140 | ::: danger 141 | 142 | PLEASE DO THIS AT YOUR OWN RISK. WHILE THIS IS SAFE TO DO YOU CAN STILL MESS UP YOUR SYSTEM SO, PLEASE READ THIS CAREFULLY AND UNDERSTAND EVERYTHING BEFORE YOU PROCEED. 143 | 144 | ::: 145 | 146 | - **Network-dispatcher** is a dispatcher daemon for systemd-networkd connection status changes. 147 | 148 | ```sh 149 | sudo apt remove --purge networkd-dispatcher 150 | ``` 151 | 152 | - **ModemManager** is a DBus-activated daemon that controls mobile broadband (2G/3G/4G) interfaces. If you do not have a mobile broadband interface, you do not need this. 153 | 154 | ```sh 155 | sudo systemctl disable ModemManager.service 156 | sudo systemctl mask ModemManager.service 157 | ``` 158 | 159 | - **fwupd** is a simple daemon allowing you to update some devices' firmware, including UEFI for several machines 160 | Disable thunderbolt_power 161 | 162 | ```sh 163 | sudo nano /etc/fwupd/daemon.conf 164 | ``` 165 | 166 |   Edit the `BlacklistPlugins` line to 167 | 168 | ```sh 169 | BlacklistPlugins=test;invalid;thunderbolt_power 170 | ``` 171 | 172 |   Remove fwupd from boot 173 | 174 | ```sh 175 | sudo systemctl disable fwupd.service 176 | sudo systemctl mask fwupd.service 177 | ``` 178 | 179 | - **Avahi-daemon** is supposed to provide zero-configuration network discovery and make it super-easy to find printers and other hosts on your network. I always disable it and do not miss it. 180 | 181 | ```sh 182 | sudo systemctl disable avahi-daemon.service 183 | sudo systemctl mask avahi-daemon.service 184 | ``` 185 | 186 | - **Apport** collects potentially sensitive data, such as core dumps, stack traces, and log files. They can contain passwords, credit card numbers, serial numbers, and other private material. 187 | 188 | ```sh 189 | sudo systemctl disable apport.service 190 | sudo systemctl mask apport.service 191 | ``` 192 | 193 | - **Saned** is the SANE (Scanner Access Now Easy) daemon that allows remote 194 | clients to access image acquisition devices available on the localhost. 195 | 196 | ```sh 197 | sudo systemctl disable saned.service 198 | sudo systemctl mask saned.service 199 | ``` 200 | 201 | - **GPU-Manager** is software that creates a xorg.conf for you. So running this in every boot is just overkill. You only need to run this if you change your GPU. 202 | 203 | ```sh 204 | sudo systemctl disable gpu-manager.service 205 | sudo systemctl mask gpu-manager.service 206 | ``` 207 | 208 | - **Apt-daily-upgrade** solves long boot uptime with apt-daily-upgrade. 209 | 210 | ```sh 211 | sudo systemctl disable apt-daily.service 212 | sudo systemctl disable apt-daily.timer 213 | sudo systemctl disable apt-daily-upgrade.timer 214 | sudo systemctl disable apt-daily-upgrade.service 215 | ``` 216 | 217 | - **lvm2-monitor** Only useful if you are using lvm. 218 | 219 | ```sh 220 | sudo systemctl disable lvm2-monitor.service 221 | sudo systemctl mask lvm2-monitor.service 222 | ``` 223 | 224 | - **Systemd-resolved** [Restart Required] is a system service that provides network name resolution to local applications. It implements a caching and validating DNS/DNSSEC stub resolver. 225 | 226 |   Disable & Mask the systemd-resolved service 227 | 228 | ```sh 229 | sudo systemctl stop systemd-resolved.service 230 | sudo systemctl disable systemd-resolved.service 231 | sudo systemctl mask systemd-resolved.service 232 | ``` 233 | 234 |   Then put dns=default in the [main] section of 235 | 236 | ```sh 237 | sudo nano /etc/NetworkManager/NetworkManager.conf 238 | ``` 239 | 240 |   Delete the symlink /etc/resolv.conf 241 | 242 | ```sh 243 | sudo rm /etc/resolv.conf 244 | ``` 245 | 246 |   Now, **Restart** 247 | 248 | ::: danger 249 | This might be extremely unsafe! 250 | ::: 251 | 252 | - **Switcheroo-control** [Required on Dual-GPU systems] is a D-Bus service to check the availability of dual-GPU. Keep this only if you have 2 GPUs. 253 | 254 | ```sh 255 | sudo systemctl disable switcheroo-control.service 256 | sudo systemctl mask switcheroo-control.service 257 | ``` 258 | 259 | - **System76-power** [Required on laptops] Power Controls for lappy not required on a desktop PC. 260 | 261 | ```sh 262 | sudo systemctl disable system76-power.service 263 | sudo systemctl mask system76-power.service 264 | ``` 265 | 266 | - **Thermald** [Might heatup system] daemon prevents machines from overheating and was introduced in the 14.04 Ubuntu Trusty LTS release. It monitors thermal sensors and will modify cooling controls to keep the hardware cool. 267 | **If your system heats after removing this even a bit, add it back** 268 | 269 | ```sh 270 | sudo systemctl disable thermald.service 271 | sudo systemctl mask thermald.service 272 | ``` 273 | 274 | ## Q. How to enable this services? 275 | 276 | Let's say the service name be xyz.service then to enable it - 277 | 278 | ```sh 279 | sudo systemctl unmask xyz.service 280 | sudo systemctl enable xyz.service 281 | ``` 282 | 283 | ## Boot-time after disabling those stuff 284 | 285 | ```sh 286 | $ systemd-analyze // [!code focus] 287 | Startup finished in 3.862s (firmware) + 808ms (loader) + 5.171s (kernel) + 15.52 288 | Os (userspace) = 25.363s 289 | graphical.target reached after 15.507s in userspace 290 | ``` 291 | 292 | ## Custom kernel 293 | 294 | Custom Kernels are known and used by fewer people, but these kernels add a significant boost to performance and battery. 295 | 296 | 1. **Xanmod** is the more popular choice among intel based hardware. It provides a stable, responsive, and smooth desktop experience. 297 | To get Xanmod, go [here](https://xanmod.org/) 298 | While installing this don't forget to add, **Setting the FQ-PIE Queuing Discipline**. 299 | 300 | 2. **Liquorix** is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads. Works better with AMD hardware. 301 | To get Liquorix, go [here](https://liquorix.net/) 302 | 303 | Initial benchmarks on intel make Xanmod a winner whereas, AMD hardware generally goes better with Liquorix. Also, if you are having heating issues go for Liquorix for a better thermal response. I use Xanmod normal because long term release felt slow for me on both my PC & lappy. 304 | 305 | - [Reference of Xanmod being compared to Clear Linux](https://www.phoronix.com/scan.php?page=article&item=ubuntu-xanmod-clear&num=1) 306 | - [Reference of Liquorix Kernel Benchmarks For AMD Ryzen](https://www.phoronix.com/scan.php?page=article&item=radeon-gaming-liquorix54&num=1) 307 | 308 | ## Final Boot time 309 | 310 | ```sh 311 | $ systemd-analyze // [!code focus] 312 | Startup finished in 3.910s (firmware) + 863ms (loader) + 4.456s (kernel) + 11.81 313 | 6§ (userspace) = 21.046s 314 | graphical.target reached after 11.805s in userspace 315 | ``` 316 | 317 | ## Q. How to remove a kernel? 318 | 319 | **Ans.** These are the general steps to follow: 320 | 321 | 1. Getting, name of the Kernel 322 | 323 | ```sh 324 | uname -r 325 | ``` 326 | 327 | 2. Removing the Kernel 328 | 329 | ```sh 330 | sudo apt remove 331 | ``` 332 | 333 | 3. Getting, remaining Kernel files 334 | 335 | ```sh 336 | apt list --installed *kernel-name* 337 | ``` 338 | 339 | 4. Removing the remaining Kernel files 340 | 341 | ```sh 342 | sudo apt remove 343 | ``` 344 | 345 | ## Q. How to I uninstall custom Kernel? 346 | 347 | ::: danger 348 | IF YOU ARE A NEW USER AND DON'T KNOW WHAT YOU ARE DOING, PLEASE SEARCH SOME THREADS OR ASK SOMEONE BEFORE TAKING ANY ACTION. BECAUSE THIS IS A VERY RISKY STEP AND CAN POTENTIALLY KILL YOUR SYSTEM. 349 | ::: 350 | 351 | 1. Removing the Kernel apt modules 352 | 353 | ::: code-group 354 | 355 | ```sh [XanMod] 356 | sudo apt autoremove --purge linux-xanmod 357 | ``` 358 | 359 | ```sh [Liquorix] 360 | sudo apt autoremove --purge linux-image-liquorix-amd64 linux-headers-liquorix-amd64 361 | ``` 362 | 363 | ::: 364 | 365 | 2. Remove FQ-PIE Queue Discipline for systemd 366 | 367 | ::: code-group 368 | 369 | ```sh [Xanmod] 370 | sudo rm /etc/sysctl.d/90-override.conf 371 | ``` 372 | 373 | ```sh [Liquorix] 374 | # Not required for Liquorix. 375 | ``` 376 | 377 | ::: 378 | 379 | 3. Removing the Kernel Repos 380 | 381 | ::: code-group 382 | 383 | ```sh [Xanmod] 384 | sudo apt-key --keyring /etc/apt/trusted.gpg.d/xanmod-kernel.gpg del "Xanmod Kernel Signing Key" 385 | sudo rm /etc/apt/sources.list.d/xanmod-kernel.list 386 | ``` 387 | 388 | ```sh [Liquorix] 389 | sudo add-apt-repository ppa:damentz/liquorix -r 390 | ``` 391 | 392 | ::: 393 | -------------------------------------------------------------------------------- /guide/advanced/terminal.md: -------------------------------------------------------------------------------- 1 | # Terminal 2 | 3 | Enhance your terminal's visual appeal with these handy tweaks that will give it a sleek and stylish appearance. 4 | 5 | ## 1. Neofetch Mod 6 | 7 | Neofetch displays information about your operating system, software and hardware. This comes with a default config which has a lot of information including CPU, GPU blah blah blah. Me being a minimalist only use some information out of this. My custom config of neofetch looks like this - 8 | 9 |

10 | 11 |

12 | 13 | If you want something similar you can get my [config](https://gist.github.com/themagicalmammal/1a0fa96f4131c77b5d1de4a846915ce8) using - 14 | 15 | ```sh 16 | wget https://gist.githubusercontent.com/themagicalmammal/1a0fa96f4131c77b5d1de4a846915ce8/raw/85a6b500e3d0de26c68a8ea734ef69e2fd23a610/config.conf 17 | mkdir ${XDG_CONFIG_HOME:-~/.config}/neofetch 18 | mv config.conf ${XDG_CONFIG_HOME:-~/.config}/neofetch/config.conf 19 | ``` 20 | 21 | ::: tip NOTE 22 | If you are using any distro other than POP OS. You can open the config file (/.config/neofetch/config.conf) and find, "ascii_distro" change your distro icon according the comment on names listed above the text. 23 | ::: 24 | 25 | ## 2. Shell Config 26 | 27 | I am currently using [Starship](https://starship.rs/) shell config with Dark Patrol from [Gogh](https://github.com/Mayccoll/Gogh). 28 | **Note:** If you have troubles installing starship with shell script you can install it via [brew](https://brew.sh/). 29 | To make your terminal look like mine, go [here](https://gist.github.com/themagicalmammal/dd4905509d6e3bd297eb92fd750dad98). 30 | 31 |

32 | 33 |

34 | 35 | ## 3. Bash Alias 36 | 37 | A Bash Alias is a method of supplementing or overriding Bash commands with new ones. Get my .bash_alias file from [here](https://gist.github.com/themagicalmammal/94c5210122e75b63db230d364ffe73c0). Add this to your .bash.rc 38 | 39 | ```sh 40 | if [ -f ~/.bash_alias ]; then . ~/.bash_alias fi 41 | ``` 42 | -------------------------------------------------------------------------------- /guide/apps/apps.md: -------------------------------------------------------------------------------- 1 | # Preferred Apps 2 | 3 | The majority of Linux distributions have their own apps that are made to fit their style, however here are some of the ones that I have grown accustomed to over the years. 4 | 5 | ## Bedrock Linux 6 | 7 | Bedrock Linux is a meta Linux distribution which allows users to mix-and-match components from other, typically incompatible distributions. Bedrock integrates these components into one largely cohesive system. 8 | 9 | For example, one could have: 10 | 11 | - Debian's stable coreutils 12 | - Arch's cutting edge kernel 13 | - Void's runit init system 14 | - A pdf reader with custom patches automatically maintained by Gentoo's portage 15 | - A font from Arch's AUR 16 | - Games running against Ubuntu's libraries 17 | - Business software running against CentOS's libraries 18 | - All at the same time and working together mostly as though they were packaged for the same distribution. 19 | 20 | To install bedrock linux you can go [here](https://bedrocklinux.org/0.7/installation-instructions.html). 21 | 22 | ## Snap Vs Flatpak (External Package Managers) 23 | 24 | Compared to Flatpak, Snap can support more apps. It operates as intended by the creator. Some even go so far as to claim that "Snap is the future." However, Flatpak now beats Snap, which is why I don't choose Snap, but it's still up to you. 25 | 26 | ::: warning 27 | If you are a newbie I won't recommend you to remove snap. 28 | ::: 29 | 30 | ::: code-group 31 | 32 | ```sh [Arch] 33 | sudo pacman -Rns snapd 34 | sudo rm -rf /var/lib/snapd 35 | ``` 36 | 37 | ```sh [Debian] 38 | sudo apt remove snapd && sudo apt autoremove 39 | sudo rm -rf ~/snap 40 | sudo rm -rf /snap 41 | sudo rm -rf /var/snap 42 | ``` 43 | 44 | ```sh [Fedora] 45 | sudo dnf remove snapd && sudo dnf autoremove 46 | sudo rm -rf ~/snap 47 | sudo rm -rf /snap 48 | sudo rm -rf /var/snap 49 | ``` 50 | 51 | ```sh [Ubuntu] 52 | sudo apt remove snapd && sudo apt autoremove 53 | sudo rm -rf ~/snap 54 | sudo rm -rf /snap 55 | sudo rm -rf /var/snap 56 | ``` 57 | 58 | ```sh [Void] 59 | sudo xbps-remove -Oo snapd 60 | sudo rm -rf ~/snap 61 | sudo rm -rf /snap 62 | sudo rm -rf /var/snap 63 | ``` 64 | 65 | ::: 66 | -------------------------------------------------------------------------------- /guide/apps/audio.md: -------------------------------------------------------------------------------- 1 | # Audio Tools 2 | 3 | ## [PulseAudio Controls](https://www.freedesktop.org/wiki/Software/PulseAudio/) 4 | 5 | PulseAudio is an audio server. The audio in your apps passes through Pulse. So in that way, you can use several methods to handle these sounds ere you can hear them. It also optimizes the quality of your audio. 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S pavucontrol 11 | ``` 12 | 13 | ```sh [Debian] 14 | sudo apt install pavucontrol 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install pavucontrol 19 | ``` 20 | 21 | ```sh [Ubuntu] 22 | sudo apt install pavucontrol 23 | ``` 24 | 25 | ```sh [Void] 26 | sudo xbps-install pavucontrol 27 | ``` 28 | 29 | ::: 30 | 31 | To learn how to control your audio, go [here](/guide/basic/tweaks#controlling-audio-devices). 32 | 33 | ## [PulseEffects](https://github.com/wwmm/pulseeffects) 34 | 35 | Audio effects for Pulseaudio applications. This helps add specialized effects for each application individually and thus creates multiple profiles for different applications. 36 | 37 | ::: code-group 38 | 39 | ```sh [Arch] 40 | yay -S pulseeffects 41 | ``` 42 | 43 | ```sh [Debian] 44 | sudo apt install pulseeffects 45 | ``` 46 | 47 | ```sh [Fedora] 48 | sudo dnf install pulseeffects 49 | ``` 50 | 51 | ```sh [Ubuntu] 52 | sudo apt install pulseeffects 53 | ``` 54 | 55 | ```sh [Void] 56 | sudo xbps-install pulseeffects 57 | ``` 58 | 59 | ::: 60 | 61 | **This might add a lot of desktop icons.** 62 | 63 | ## [Audacity](https://www.audacityteam.org/) 64 | 65 | Audacity is open-source software, easy-to-use, multi-track audio editor, and allows users to record audio and edit music clips. 66 | 67 | ::: code-group 68 | 69 | ```sh [Arch] 70 | sudo pacman -S audacity 71 | ``` 72 | 73 | ```sh [Debian] 74 | sudo apt install audacity 75 | ``` 76 | 77 | ```sh [Fedora] 78 | sudo dnf install audacity 79 | ``` 80 | 81 | ```sh [Ubuntu] 82 | sudo apt install audacity 83 | ``` 84 | 85 | ```sh [Void] 86 | sudo xbps-install audacity 87 | ``` 88 | 89 | ::: 90 | 91 | ## [Ardour](https://ardour.org/) 92 | 93 | Ardour is a recorder and digital audio workstation app. It's made to be suitable for professional use. 94 | 95 | ::: code-group 96 | 97 | ```sh [Arch] 98 | sudo pacman -S ardour 99 | ``` 100 | 101 | ```sh [Debian] 102 | sudo apt install ardour 103 | ``` 104 | 105 | ```sh [Fedora] 106 | sudo dnf install ardour 107 | ``` 108 | 109 | ```sh [Ubuntu] 110 | sudo apt install ardour 111 | ``` 112 | 113 | ```sh [Void] 114 | sudo xbps-install ardour 115 | ``` 116 | 117 | ::: 118 | -------------------------------------------------------------------------------- /guide/apps/browsers.md: -------------------------------------------------------------------------------- 1 | # Browser 2 | 3 | Today Chrome is the most popular browser in the world. Also, I have been using Chrome since probably 2012. Though, recently I have moved on with Firefox based browsers. 4 | 5 | ::: tip 6 | Chrome is not an open-source browser, Vivaldi & Opera are partly open-source, and also these browsers do not support VAAPI Firefox, Brave & TOR are open-source browsers. Meaning these are better alternatives if you are looking for privacy. But, TOR doesn't support VAAPI. 7 | 8 | To learn more about **VAAPI** go [here](https://wiki.archlinux.org/index.php/Hardware_video_acceleration). 9 | ::: 10 | 11 | ## Chromium Browsers 12 | 13 | ## [Chromium](https://www.chromium.org/chromium-projects/) 14 | 15 | Chromium is an open-source browser that serves as the basis for Google Chrome. It is known for its speed and compatibility with a wide range of web technologies. Chromium includes a range of features, such as built-in support for Google services, a customizable interface, and support for multiple tabs and windows. 16 | 17 | ::: code-group 18 | 19 | ```sh [Arch] 20 | sudo pacman -S chromium 21 | ``` 22 | 23 | ```sh [Debian] 24 | sudo apt install chromium 25 | ``` 26 | 27 | ```sh [Fedora] 28 | sudo dnf install install chromium 29 | ``` 30 | 31 | ```sh [Ubuntu] 32 | sudo apt install chromium-browser 33 | ``` 34 | 35 | ```sh [Void] 36 | sudo xbps-install -S chromium 37 | ``` 38 | 39 | ::: 40 | 41 | ## [Chrome](https://www.google.com/chrome/) 42 | 43 | Google Chrome is another popular browser available on Linux. It is known for its speed and compatibility with a wide range of web technologies. Chrome includes a range of features, such as built-in support for Google services, a customizable interface, and support for multiple tabs and windows. 44 | 45 | ::: code-group 46 | 47 | ```sh [Arch] 48 | yay -S google-chrome 49 | ``` 50 | 51 | ```sh [Debian] 52 | wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 53 | sudo dpkg -i google-chrome-stable_current_amd64.deb 54 | ``` 55 | 56 | ```sh [Fedora] 57 | sudo dnf install fedora-workstation-repositories 58 | sudo dnf config-manager --set-enabled google-chrome 59 | sudo dnf install google-chrome-stable 60 | ``` 61 | 62 | ```sh [Ubuntu] 63 | wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 64 | sudo dpkg -i google-chrome-stable_current_amd64.deb 65 | ``` 66 | 67 | ```sh [Void] 68 | sudo xbps-install -S google-chrome 69 | ``` 70 | 71 | ::: 72 | 73 | ## [Vivaldi](https://vivaldi.com/) 74 | 75 | Vivaldi is a browser that is known for its speed, customization options, and privacy features. It includes a range of features, such as a customizable interface, built-in support for tab stacking and tab tiling, and support for multiple tabs and windows. 76 | 77 | ::: code-group 78 | 79 | ```sh [Arch] 80 | yay -S vivaldi 81 | ``` 82 | 83 | ```sh [Debian] 84 | wget https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.21-1_amd64.deb 85 | sudo dpkg -i vivaldi-stable_4.1.2369.21-1_amd64.deb 86 | ``` 87 | 88 | ```sh [Fedora] 89 | sudo dnf install vivaldi-stable 90 | ``` 91 | 92 | ```sh [Ubuntu] 93 | wget https://downloads.vivaldi.com/stable/vivaldi-stable_4.1.2369.21-1_amd64.deb 94 | sudo dpkg -i vivaldi-stable_4.1.2369.21-1_amd64.deb 95 | ``` 96 | 97 | ```sh [Void] 98 | sudo xbps-install -S vivaldi 99 | ``` 100 | 101 | ::: 102 | 103 | ## [Brave](https://brave.com/) 104 | 105 | Brave is a browser that is known for its focus on privacy and security. It includes a range of features, such as built-in ad and tracker blockers, a customizable interface, and support for multiple tabs and windows. 106 | 107 | ::: code-group 108 | 109 | ```sh [Arch] 110 | yay -S brave-bin 111 | ``` 112 | 113 | ```sh [Debian] 114 | sudo apt install apt-transport-https curl 115 | sudo curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - 116 | echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list 117 | sudo apt update && sudo apt install brave-browser 118 | ``` 119 | 120 | ```sh [Fedora] 121 | sudo dnf install dnf-plugins-core 122 | sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/ 123 | sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc 124 | sudo dnf install brave-browser 125 | ``` 126 | 127 | ```sh [Ubuntu] 128 | sudo apt install apt-transport-https curl 129 | sudo curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - 130 | echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list 131 | sudo apt update && sudo apt install brave-browser 132 | ``` 133 | 134 | ```sh [Void] 135 | sudo xbps-install -S brave 136 | ``` 137 | 138 | ::: 139 | 140 | ## [Opera](https://www.opera.com) 141 | 142 | Opera is a browser that is known for its speed, security, and customization options. It includes a range of features, such as built-in support for VPN services, a customizable interface, and support for multiple tabs and windows. 143 | 144 | ::: code-group 145 | 146 | ```sh [Arch] 147 | sudo pacman -S opera 148 | ``` 149 | 150 | ```sh [Debian] 151 | wget https://download3.operacdn.com/pub/opera/desktop/80.0.4170.54/linux/opera-stable_80.0.4170.54_amd64.deb 152 | sudo dpkg -i opera-stable_80.0.4170.54_amd64.deb 153 | ``` 154 | 155 | ```sh [Fedora] 156 | sudo dnf install opera-stable 157 | ``` 158 | 159 | ```sh [Ubuntu] 160 | wget https://download3.operacdn.com/pub/opera/desktop/80.0.4170.54/linux/opera-stable_80.0.4170.54_amd64.deb 161 | sudo dpkg -i opera-stable_80.0.4170.54_amd64.deb 162 | ``` 163 | 164 | ```sh [Void] 165 | sudo xbps-install -S opera 166 | ``` 167 | 168 | ::: 169 | 170 | ## Non-Chromium Browsers 171 | 172 | ## [Firefox](https://www.mozilla.org/en-US/firefox/) 173 | 174 | Firefox is one of the most popular browsers available on Linux. It is known for its speed, security, and privacy features. Firefox includes a range of features, such as a customizable interface, built-in spell check, and support for multiple tabs and windows. 175 | 176 | ::: code-group 177 | 178 | ```sh [Arch] 179 | sudo pacman -S firefox 180 | ``` 181 | 182 | ```sh [Debian] 183 | sudo apt install firefox 184 | ``` 185 | 186 | ```sh [Fedora] 187 | sudo dnf install firefox 188 | ``` 189 | 190 | ```sh [Ubuntu] 191 | sudo apt install firefox 192 | ``` 193 | 194 | ```sh [Void] 195 | sudo xbps-install -S firefox 196 | ``` 197 | 198 | ::: 199 | 200 | ## [TOR](https://www.torproject.org/) 201 | 202 | Tor Browser is a version of Firefox that is configured to protect your privacy and anonymity on the internet. It uses the Tor network to route your internet traffic through a series of nodes, making it difficult for anyone to track your online activity. Tor Browser also includes built-in privacy features, such as NoScript and HTTPS Everywhere, to further enhance your online security. 203 | 204 | ::: code-group 205 | 206 | ```sh [Arch] 207 | sudo pacman -S tor 208 | ``` 209 | 210 | ```sh [Debian] 211 | sudo apt install tor 212 | ``` 213 | 214 | ```sh [Fedora] 215 | sudo dnf install tor 216 | ``` 217 | 218 | ```sh [Ubuntu] 219 | sudo apt install torbrowser-launcher 220 | ``` 221 | 222 | ```sh [Void] 223 | sudo xbps-install -S tor 224 | ``` 225 | 226 | ::: 227 | 228 | ## [Librewolf](https://librewolf.net) 229 | 230 | LibreWolf is a fork of Firefox that is focused on privacy and security. It includes several built-in privacy features, such as ad and tracker blocking, fingerprinting protection, and first-party isolation. LibreWolf also removes some of the proprietary features found in Firefox, such as Pocket and telemetry. 231 | 232 | ::: code-group 233 | 234 | ```sh [Arch] 235 | yay -S librewolf 236 | ``` 237 | 238 | ```sh [Debian] 239 | wget https://gitlab.com/librewolf-community/browser/linux/uploads/5aa5a5206ec208c6c34ebf1e2706d9b6/librewolf_94.0-1_amd64.deb 240 | sudo dpkg -i librewolf_94.0-1_amd64.deb 241 | ``` 242 | 243 | ```sh [Fedora] 244 | sudo dnf copr enable atim/librewolf 245 | sudo dnf install librewolf 246 | ``` 247 | 248 | ```sh [Ubuntu] 249 | wget https://gitlab.com/librewolf-community/browser/linux/uploads/5aa5a5206ec208c6c34ebf1e2706d9b6/librewolf_94.0-1_amd64.deb 250 | sudo dpkg -i librewolf_94.0-1_amd64.deb 251 | sudo apt install -f 252 | ``` 253 | 254 | ::: 255 | 256 | ::: details Install Librewolf on Void 257 | You can install Librewolf on Void Linux using xbps-src, which is Void's package building tool. 258 | 259 | 1. Next, create a working directory for building the package: 260 | 261 | ```sh 262 | mkdir -p ~/srcpkgs/librewolf && cd ~/srcpkgs/librewolf 263 | ``` 264 | 265 | 2. Download the source package from the official Librewolf website: 266 | 267 | ```sh 268 | wget https://gitlab.com/librewolf-community/browser/-/archive/94.0-1/librewolf-94.0-1.tar.bz2 269 | ``` 270 | 271 | 3. Extract the source package: 272 | 273 | ```sh 274 | tar xf librewolf-94.0-1.tar.bz2 275 | cd librewolf-94.0-1 276 | ``` 277 | 278 | 4. Build the package: 279 | 280 | ```sh 281 | ./configure --disable-debug 282 | make -j$(nproc) 283 | sudo make install 284 | ``` 285 | 286 | 5. The package should now be installed on your system, and you can launch it from the command line by running librewolf. If you want to create a desktop shortcut, you can create a .desktop file in the ~/.local/share/applications/ directory with the following contents: 287 | 288 | ```sh 289 | [Desktop Entry] 290 | Name=Librewolf 291 | Exec=librewolf 292 | Icon=librewolf 293 | Type=Application 294 | Categories=Network; 295 | ``` 296 | 297 | Note that the version number and download link may change over time, so be sure to check the official Librewolf website for the latest release. 298 | ::: 299 | 300 | ## Extensions 301 | 302 | Generally, these extensions exist for almost all browsers. 303 | 304 | ## Privacy Add-ons 305 | 306 | - **uBlock Origin** [Chrome](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/) - uBlock Origin is not an "ad blocker", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature. 307 | - **HTTPS Everywhere** [Chrome](https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/) - HTTPS Everywhere is an extension created by EFF and the Tor Project which automatically switches thousands of sites from insecure "http" to secure "https". 308 | - **ClearURLs** [Chrome](https://chrome.google.com/webstore/detail/clearurls/lckanjgmijmafbedllaakclkaicjfmnk?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/clearurls/) - Removes tracking elements from URLs. 309 | - **Decentraleyes** [Chrome](https://chrome.google.com/webstore/detail/decentraleyes/ldpochfccmkkmhdbclfhpagapcfdljkj) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/) - Protects you against tracking through "free", centralized, content delivery. It prevents a lot of requests from reaching networks like Google Hosted Libraries, and serves local files to keep sites from breaking. Complements regular content blockers. 310 | - **Privacy Badger** [Chrome](https://chrome.google.com/webstore/detail/privacy-badger/pkehgijcmpdhfbdbbnkijodmdjhbjlgp) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/) - Privacy Badger automatically learns to block invisible trackers. 311 | - **User-Agent Switcher & Manager** [Chrome](https://chrome.google.com/webstore/detail/user-agent-switcher-and-m/bhchdcejhohfmigjafbampogmaanbfkg?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/) - Spoof websites trying to gather information about your web navigation to deliver distinct content you may not want 312 | - **CanvasBlocker** [Firefox](https://addons.mozilla.org/en-US/firefox/addon/canvasblocker/) - Alters some JS APIs to prevent fingerprinting. (Chrome Unsupported) 313 | 314 | ::: danger 315 | 316 | - **NoScript** [Chrome](https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/noscript/) - This might break some websites. Allow potentially malicious web content to run only from sites you trust. Protect yourself against XSS other web security exploits. 317 | ::: 318 | 319 | ## Useful Tools 320 | 321 | - **Absolute Enable** [Chrome](https://chrome.google.com/webstore/detail/absolute-enable-right-cli/jdocbkpgdakpekjlhemmfcncgdjeiika?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/absolute-enable-right-click/) - Force Enable Right Click & Copy on disabled websites. 322 | 323 | ## Productivity Tools 324 | 325 | - **LanguageTool** [Chrome](https://chrome.google.com/webstore/detail/grammar-and-spell-checker/oldceeleldhonbafppcapldpdifcinji?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/languagetool/) - Check your texts for spelling and grammar problems everywhere on the web. 326 | -------------------------------------------------------------------------------- /guide/apps/email.md: -------------------------------------------------------------------------------- 1 | # Email Client 2 | 3 | Email clients are crucial components of any distribution. Thunderbird or Evolution are typically shipped by distributions. 4 | 5 | ## [Thunderbird](https://www.thunderbird.net/en-US/) 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S thunderbird 11 | ``` 12 | 13 | ```sh [Debian] 14 | sudo apt install thunderbird 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install thunderbird 19 | ``` 20 | 21 | ```sh [Ubuntu] 22 | sudo apt install thunderbird 23 | ``` 24 | 25 | ```sh [Void] 26 | sudo xbps-install thunderbird 27 | ``` 28 | 29 | ::: 30 | 31 | ## [Evolution](https://help.gnome.org/users/evolution/stable/) 32 | 33 | ::: code-group 34 | 35 | ```sh [Arch] 36 | sudo pacman -S evolution 37 | ``` 38 | 39 | ```sh [Debian] 40 | sudo apt install evolution 41 | ``` 42 | 43 | ```sh [Fedora] 44 | sudo dnf install evolution 45 | ``` 46 | 47 | ```sh [Ubuntu] 48 | sudo apt install evolution 49 | ``` 50 | 51 | ```sh [Void] 52 | sudo xbps-install evolution 53 | ``` 54 | 55 | ::: 56 | 57 | ## [MailSpring](https://getmailspring.com/) 58 | 59 | ::: code-group 60 | 61 | ```sh [Arch] 62 | yay -S mailspring 63 | ``` 64 | 65 | ```sh [Debian] 66 | wget -O mailspring.deb https://updates.getmailspring.com/download?platform=linuxDeb 67 | sudo dpkg -i mailspring.deb 68 | sudo apt install -f 69 | ``` 70 | 71 | ```sh [Fedora] 72 | sudo dnf install mailspring 73 | ``` 74 | 75 | ```sh [Ubuntu] 76 | wget -O mailspring.deb https://updates.getmailspring.com/download?platform=linuxDeb 77 | sudo dpkg -i mailspring.deb 78 | sudo apt install -f 79 | ``` 80 | 81 | ```sh [Void] 82 | sudo xbps-install mailspring 83 | ``` 84 | 85 | ::: 86 | 87 | ## [Geary](https://wiki.gnome.org/Apps/Geary) 88 | 89 | ::: code-group 90 | 91 | ```sh [Arch] 92 | sudo pacman -S geary 93 | ``` 94 | 95 | ```sh [Debian] 96 | sudo apt install geary 97 | ``` 98 | 99 | ```sh [Fedora] 100 | sudo dnf install geary 101 | ``` 102 | 103 | ```sh [Ubuntu] 104 | sudo apt install geary 105 | ``` 106 | 107 | ```sh [Void] 108 | sudo xbps-install geary 109 | ``` 110 | 111 | ::: 112 | -------------------------------------------------------------------------------- /guide/apps/entertainment.md: -------------------------------------------------------------------------------- 1 | # Entertainment Apps 2 | 3 | ## Spotify 4 | 5 | ::: code-group 6 | 7 | ```sh [Arch] 8 | sudo pacman -S spotify 9 | ``` 10 | 11 | ```sh [Debian] 12 | curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add - 13 | echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list 14 | sudo apt update && sudo apt install spotify-client 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 19 | sudo dnf install spotify-client 20 | ``` 21 | 22 | ```sh [Ubuntu] 23 | curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add - 24 | echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list 25 | sudo apt update && sudo apt install spotify-client 26 | ``` 27 | 28 | ```sh [Void] 29 | git clone https://github.com/void-linux/void-packages.git 30 | cd void-packages/srcpkgs/ 31 | ./xbps-src pkg -j$(nproc) spotify 32 | sudo xbps-install -Rv binpkgs/*/spotify-[0-9]*.x86_64.xbps 33 | ``` 34 | 35 | ::: 36 | 37 | ### Spicetify 38 | 39 | To install themes for spotify, you can check [this](https://github.com/khanhas/spicetify-cli), to install different themes, go [here](https://github.com/morpheusthewhite/spicetify-themes) out. If you have troubles going through the steps of spicetify-cli. Here is a script you can use. You need to log in & out after using this. 40 | 41 | ```sh 42 | curl -fsSL https://gist.githubusercontent.com/themagicalmammal/f6f086f9c701924371e1d334c60c8562/raw/d331b26ef430ffa2887172552ce9bbf91df74f3e/spicetify.sh | sh 43 | ``` 44 | 45 | ### Spicetify Marketplace 46 | 47 | Marketplace allows you to browse, download, and install extensions, themes, and CSS snippets with ease. You can also browse custom apps, but will need to do some manual installation to get them working. You can install the adblocker directly from marketplace apps. 48 | 49 | ```sh 50 | curl -fsSL https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/install.sh | sh 51 | ``` 52 | 53 | ## Multimedia Codecs 54 | 55 | Gives you the ability to play popular non-free media formats, including DVD, MP3, Quicktime and Windows Media. 56 | 57 | ::: code-group 58 | 59 | ```sh [Arch] 60 | sudo pacman -S gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ffmpeg 61 | ``` 62 | 63 | ```sh [Debian] 64 | sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly ffmpeg 65 | ``` 66 | 67 | ```sh [Fedora] 68 | sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-extras gstreamer1-plugins-ugly ffmpeg 69 | ``` 70 | 71 | ```sh [Ubuntu] 72 | sudo apt install ubuntu-restricted-extras 73 | ``` 74 | 75 | ```sh [Void] 76 | sudo xbps-install -S gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ffmpeg 77 | ``` 78 | 79 | ::: 80 | 81 | ## Steam 82 | 83 | ::: code-group 84 | 85 | ```sh [Arch] 86 | sudo pacman -S steam 87 | ``` 88 | 89 | ```sh [Debian] 90 | sudo add-apt-repository multiverse 91 | sudo apt update && sudo apt install steam 92 | ``` 93 | 94 | ```sh [Fedora] 95 | sudo dnf install steam 96 | ``` 97 | 98 | ```sh [Ubuntu] 99 | sudo add-apt-repository multiverse 100 | sudo apt update && sudo apt install steam 101 | ``` 102 | 103 | ```sh [Void] 104 | sudo xbps-install -S steam 105 | ``` 106 | 107 | ::: 108 | 109 | ## Lutris 110 | 111 | Lutris is an Open Source gaming platform for Linux. It installs and launches games, so you can start playing without the hassle of setting up your games. 112 | 113 | ::: code-group 114 | 115 | ```sh [Arch] 116 | sudo pacman -S lutris 117 | ``` 118 | 119 | ```sh [Debian] 120 | sudo dpkg --add-architecture i386 121 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 122 | sudo apt-key add winehq.key 123 | echo "deb https://dl.winehq.org/wine-builds/debian/ buster main" | sudo tee /etc/apt/sources.list.d/winehq.list 124 | sudo apt update && sudo apt install lutris 125 | ``` 126 | 127 | ```sh [Fedora] 128 | sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/Emulators:/Wine:/Fedora/Fedora_34/Emulators:Wine:Fedora.repo 129 | sudo dnf install lutris 130 | ``` 131 | 132 | ```sh [Ubuntu] 133 | sudo add-apt-repository ppa:lutris-team/lutris 134 | sudo apt update && sudo apt install lutris 135 | ``` 136 | 137 | ```sh [Void] 138 | sudo xbps-install -S lutris 139 | ``` 140 | 141 | ::: 142 | -------------------------------------------------------------------------------- /guide/apps/graphic.md: -------------------------------------------------------------------------------- 1 | # Graphic tools 2 | 3 | ## [GIMP](https://www.gimp.org/) 4 | 5 | It is a free and open-source Image Editor. Additionally, you can improve your richness with many customization choices and plugins. 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S gimp 11 | ``` 12 | 13 | ```sh [Debian] 14 | sudo apt install gimp 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install gimp 19 | ``` 20 | 21 | ```sh [Ubuntu] 22 | sudo apt install gimp 23 | ``` 24 | 25 | ```sh [Void] 26 | sudo xbps-install gimp 27 | ``` 28 | 29 | ::: 30 | 31 | ## [Krita](https://krita.org/en/) 32 | 33 | Open-source art software. It is made by professionals that want to see affordable design tools for everyone. 34 | 35 | ::: code-group 36 | 37 | ```sh [Arch] 38 | sudo pacman -S krita 39 | ``` 40 | 41 | ```sh [Debian] 42 | sudo apt install krita 43 | ``` 44 | 45 | ```sh [Fedora] 46 | sudo dnf install krita 47 | ``` 48 | 49 | ```sh [Ubuntu] 50 | sudo apt install krita 51 | ``` 52 | 53 | ```sh [Void] 54 | sudo xbps-install krita 55 | ``` 56 | 57 | ::: 58 | 59 | ## [Blender](https://www.blender.org/) 60 | 61 | Free and open-source, 3D creation suite. It supports the aggregate of the 3D pipeline, including modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. 62 | 63 | ::: code-group 64 | 65 | ```sh [Arch] 66 | sudo pacman -S blender 67 | ``` 68 | 69 | ```sh [Debian] 70 | sudo apt install blender 71 | ``` 72 | 73 | ```sh [Fedora] 74 | sudo dnf install blender 75 | ``` 76 | 77 | ```sh [Ubuntu] 78 | sudo apt install blender 79 | ``` 80 | 81 | ```sh [Void] 82 | sudo xbps-install blender 83 | ``` 84 | 85 | ::: 86 | 87 | ## [Inkscape](https://inkscape.org/) 88 | 89 | Free and open-source, vector graphics editor used to create vector images, primarily in Scalable Vector Graphics (SVG) format. Here you can be an illustrator, designer, web designer, or just someone who wants to create vector imagery. 90 | 91 | ::: code-group 92 | 93 | ```sh [Arch] 94 | sudo pacman -S inkscape 95 | ``` 96 | 97 | ```sh [Debian] 98 | sudo apt install inkscape 99 | ``` 100 | 101 | ```sh [Fedora] 102 | sudo dnf install inkscape 103 | ``` 104 | 105 | ```sh [Ubuntu] 106 | sudo apt install inkscape 107 | ``` 108 | 109 | ```sh [Void] 110 | sudo xbps-install inkscape 111 | ``` 112 | 113 | ::: 114 | -------------------------------------------------------------------------------- /guide/apps/office.md: -------------------------------------------------------------------------------- 1 | # Office 2 | 3 | If you have not tried LibreOffice, I will recommend you to try it first, it's pretty efficient but if you want a different ui you can also use these alternatives. 4 | 5 | ## [LibreOffice](https://www.freeoffice.com/en/) 6 | 7 | This generally comes default with every linux. 8 | 9 | ::: code-group 10 | 11 | ```sh [Arch] 12 | sudo pacman -S libreoffice 13 | ``` 14 | 15 | ```sh [Debian] 16 | sudo apt install libreoffice 17 | ``` 18 | 19 | ```sh [Fedora] 20 | sudo dnf install libreoffice 21 | ``` 22 | 23 | ```sh [Ubuntu] 24 | sudo apt install libreoffice 25 | ``` 26 | 27 | ```sh [Void] 28 | sudo xbps-install -S libreoffice 29 | ``` 30 | 31 | ::: 32 | 33 | ## [Free Office](https://www.freeoffice.com/en/) 34 | 35 | Looks like Microsoft Office 2016. 36 | 37 | ::: code-group 38 | 39 | ```sh [Arch] 40 | yay -S onlyoffice-desktopeditors 41 | ``` 42 | 43 | ```sh [Debian] 44 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5 45 | sudo echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list 46 | sudo apt update && sudo apt install onlyoffice-desktopeditors 47 | ``` 48 | 49 | ```sh [Fedora] 50 | sudo dnf config-manager --add-repo https://download.onlyoffice.com/repo/centos/main/noarch/ 51 | sudo rpm --import http://download.onlyoffice.com/repo/onlyoffice.key 52 | sudo dnf install onlyoffice-desktopeditors 53 | ``` 54 | 55 | ```sh [Ubuntu] 56 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5 57 | sudo echo "deb http://download.onlyoffice.com/repo/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list 58 | sudo apt update && sudo apt install onlyoffice-desktopeditors 59 | ``` 60 | 61 | ```sh [Void] 62 | chmod +x OnlyOffice-x.x.x-x86_64.AppImage 63 | ./OnlyOffice-x.x.x-x86_64.AppImage 64 | ``` 65 | 66 | ::: 67 | 68 | ## [OnlyOffice](https://www.onlyoffice.com/) 69 | 70 | Looks like Microsoft Office 2013. 71 | 72 | This is a beautiful office suite with lots of customization. 73 | 74 | ::: code-group 75 | 76 | ```sh [Arch] 77 | sudo pacman -S onlyoffice-desktopeditors 78 | ``` 79 | 80 | ```sh [Debian] 81 | sudo apt install onlyoffice-desktopeditors 82 | ``` 83 | 84 | ```sh [Fedora] 85 | sudo dnf install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm 86 | sudo dnf install onlyoffice-desktopeditors 87 | ``` 88 | 89 | ```sh [Ubuntu] 90 | sudo apt install onlyoffice-desktopeditors 91 | ``` 92 | 93 | ```sh [Void] 94 | sudo xbps-install -S onlyoffice-desktopeditors 95 | ``` 96 | 97 | ::: 98 | 99 | ## [WPS Office](https://www.wps.com/) 100 | 101 | ::: warning 102 | If you have a problem with Chinese apps or are privacy concerns skip over this. 103 | ::: 104 | 105 | ::: code-group 106 | 107 | ```sh [Arch] 108 | yay -S wps-office 109 | ``` 110 | 111 | ```sh [Debian] 112 | sudo apt install wps-office 113 | ``` 114 | 115 | ```sh [Fedora] 116 | sudo dnf install https://linux.m2osw.com/fedora/rpmfusion/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://linux.m2osw.com/fedora/wps-office/wps-office-11.1.0.10161-1.x86_64.rpm 117 | ``` 118 | 119 | ```sh [Ubuntu] 120 | sudo apt install wps-office 121 | ``` 122 | 123 | ```sh [Void] 124 | sudo xbps-install -S wps-office 125 | ``` 126 | 127 | ::: 128 | -------------------------------------------------------------------------------- /guide/apps/others.md: -------------------------------------------------------------------------------- 1 | # Other Apps 2 | 3 | ## Wine 4 | 5 | Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications. 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S wine 11 | ``` 12 | 13 | ```sh [Debian] 14 | sudo dpkg --add-architecture i386 15 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 16 | sudo apt-key add winehq.key 17 | sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/debian/ bullseye main' 18 | sudo apt update && sudo apt install --install-recommends winehq-stable 19 | ``` 20 | 21 | ```sh [Fedora] 22 | sudo dnf install wine 23 | ``` 24 | 25 | ```sh [Ubuntu] 26 | sudo dpkg --add-architecture i386 27 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 28 | sudo apt-key add winehq.key 29 | sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/debian/ bullseye main' 30 | sudo apt update && sudo apt install --install-recommends winehq-stable 31 | ``` 32 | 33 | ```sh [Void] 34 | sudo xbps-install -S wine 35 | ``` 36 | 37 | ::: 38 | 39 | ::: danger 40 | Never use wine with sudo. Windows apps always run with admin rights in wine. No sudo needed sometimes, You need to tell wine to start an app as a "normal user" but, you never need to run it with admin rights because it already does. So from this, you could be thinking can't hurt to run wine with sudo, Right? Yes, it can hurt, or do you believe that a potential Virus wouldn't be happy to be run with root rights? Viruses work through wine like they would on Windows. sudo gives them even more privileges. 41 | ::: 42 | 43 | ## uGet 44 | 45 | uGet is a lightweight yet powerful open Source download manager for Linux. Basic features include a download queue, a clipboard monitor, and the ability to process downloads in a batch format. 46 | 47 | ::: code-group 48 | 49 | ```sh [Arch] 50 | sudo pacman -S uget 51 | ``` 52 | 53 | ```sh [Debian] 54 | sudo apt install uget 55 | ``` 56 | 57 | ```sh [Fedora] 58 | sudo dnf install uget 59 | ``` 60 | 61 | ```sh [Ubuntu] 62 | sudo apt install uget 63 | ``` 64 | 65 | ```sh [Void] 66 | sudo xbps-install -S uget 67 | ``` 68 | 69 | ::: 70 | 71 | ## Synaptic Package manager 72 | 73 | Synaptic serves as a graphical front-end to APT which makes the process of software management easier. 74 | 75 | ::: code-group 76 | 77 | ```sh [Arch] 78 | sudo pacman -S synaptic 79 | ``` 80 | 81 | ```sh [Debian] 82 | sudo apt install synaptic 83 | ``` 84 | 85 | ```sh [Fedora] 86 | sudo dnf install synaptic 87 | ``` 88 | 89 | ```sh [Ubuntu] 90 | sudo apt install synaptic 91 | ``` 92 | 93 | ```sh [Void] 94 | sudo xbps-install -S synaptic 95 | ``` 96 | 97 | ::: 98 | 99 | ## Timeshift 100 | 101 | Timeshift is a system restore tool for Linux. Creates a file system snapshot using rsync+hard links or BTRFS snapshots. 102 | 103 | ::: code-group 104 | 105 | ```sh [Arch] 106 | sudo pacman -S timeshift 107 | ``` 108 | 109 | ```sh [Debian] 110 | sudo apt install timeshift 111 | ``` 112 | 113 | ```sh [Fedora] 114 | sudo dnf install timeshift 115 | ``` 116 | 117 | ```sh [Ubuntu] 118 | sudo apt install timeshift 119 | ``` 120 | 121 | ```sh [Void] 122 | sudo xbps-install -S timeshift 123 | ``` 124 | 125 | ::: 126 | 127 | ## Resource Monitor 128 | 129 | ## Htop 130 | 131 | A utility to see which process is taking how much CPU or memory. 132 | 133 | ::: code-group 134 | 135 | ```sh [Arch] 136 | sudo pacman -S htop 137 | ``` 138 | 139 | ```sh [Debian] 140 | sudo apt install htop 141 | ``` 142 | 143 | ```sh [Fedora] 144 | sudo dnf install htop 145 | ``` 146 | 147 | ```sh [Ubuntu] 148 | sudo apt install htop 149 | ``` 150 | 151 | ```sh [Void] 152 | sudo xbps-install -S htop 153 | ``` 154 | 155 | ::: 156 | 157 | ![htop](https://imgur.com/q6j85Hk.gif) 158 | 159 | ## Bashtop 160 | 161 | An advanced utility that shows usage and stats for processor, memory, disks, network, and processes. 162 | **Repo already exists in Pop 20.10** 163 | 164 | ::: code-group 165 | 166 | ```sh [Arch] 167 | sudo pacman -S bashtop 168 | ``` 169 | 170 | ```sh [Debian] 171 | sudo apt install bashtop 172 | ``` 173 | 174 | ```sh [Fedora] 175 | sudo dnf install bashtop 176 | ``` 177 | 178 | ```sh [Ubuntu] 179 | sudo add-apt-repository ppa:bashtop-monitor/bashtop && sudo apt update && sudo apt install bashtop 180 | ``` 181 | 182 | ```sh [Void] 183 | sudo xbps-install -S bashtop 184 | ``` 185 | 186 | ::: 187 | 188 | ![bashtop](https://imgur.com/mvpMdQ1.gif) 189 | 190 | ## Firewall 191 | 192 | ## Gufw 193 | 194 | GUFW is a graphical utility for managing Uncomplicated Firewall (UFW). This is pretty easy to use application with a bunch of settings which you can set according to your preference. 195 | 196 | ::: code-group 197 | 198 | ```sh [Arch] 199 | sudo pacman -S gufw 200 | ``` 201 | 202 | ```sh [Debian] 203 | sudo apt install gufw 204 | ``` 205 | 206 | ```sh [Fedora] 207 | sudo dnf install gufw 208 | ``` 209 | 210 | ```sh [Ubuntu] 211 | sudo apt install gufw 212 | ``` 213 | 214 | ```sh [Void] 215 | sudo xbps-install -S gufw 216 | ``` 217 | 218 | ::: 219 | 220 | ## Opensnitch 221 | 222 | Helps you to review which services connect to the internet. Also, stopping some services might help save some internet, and give you more control over it. 223 | 224 | ::: code-group 225 | 226 | ```sh [Arch] 227 | sudo pacman -S opensnitch 228 | ``` 229 | 230 | ```sh [Debian] 231 | sudo apt install opensnitch 232 | ``` 233 | 234 | ```sh [Fedora] 235 | sudo dnf install opensnitch 236 | ``` 237 | 238 | ```sh [Ubuntu] 239 | sudo apt install opensnitch 240 | ``` 241 | 242 | ```sh [Void] 243 | sudo xbps-install -S opensnitch 244 | ``` 245 | 246 | ::: 247 | -------------------------------------------------------------------------------- /guide/apps/programming.md: -------------------------------------------------------------------------------- 1 | # Programming Apps 2 | 3 | ## Atom 4 | 5 | A hackable text editor for devs. 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S atom 11 | ``` 12 | 13 | ```sh [Debian] 14 | wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - 15 | sudo add-apt-repository "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" 16 | sudo apt update && sudo apt install atom 17 | ``` 18 | 19 | ```sh [Fedora] 20 | sudo dnf install atom 21 | ``` 22 | 23 | ```sh [Ubuntu] 24 | wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - 25 | sudo add-apt-repository "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" 26 | sudo apt update && sudo apt install atom 27 | ``` 28 | 29 | ```sh [Void] 30 | sudo xbps-install -S atom 31 | ``` 32 | 33 | ::: 34 | 35 | ## Pycharm IDE 36 | 37 | A Python IDE for devs. 38 | 39 | ::: code-group 40 | 41 | ```sh [Arch] 42 | sudo pacman -S pycharm-community-edition 43 | ``` 44 | 45 | ```sh [Debian] 46 | sudo apt install wget openjdk-11-jdk 47 | wget https://download.jetbrains.com/python/pycharm-community-2021.3.1.tar.gz 48 | sudo tar xvfz pycharm-community-2021.3.1.tar.gz -C /opt/ 49 | sudo /opt/pycharm-community-2021.3.1/bin/pycharm.sh 50 | ``` 51 | 52 | ```sh [Fedora] 53 | sudo dnf install pycharm-community 54 | ``` 55 | 56 | ```sh [Ubuntu] 57 | sudo apt install wget openjdk-11-jdk 58 | wget https://download.jetbrains.com/python/pycharm-community-2021.3.1.tar.gz 59 | sudo tar xvfz pycharm-community-2021.3.1.tar.gz -C /opt/ 60 | sudo /opt/pycharm-community-2021.3.1/bin/pycharm.sh 61 | ``` 62 | 63 | ```sh [Void] 64 | sudo xbps-install -S pycharm-community 65 | ``` 66 | 67 | ::: 68 | 69 | Important python modules, 70 | 71 | ::: code-group 72 | 73 | ```sh [Arch] 74 | sudo pacman -S python-pip python python-virtualenv 75 | pip3 install virtualenv #solves the global package bug 76 | ``` 77 | 78 | ```sh [Debian] 79 | sudo apt install python3-pip python3-dev python3-distutils python3-venv 80 | pip3 install virtualenv #solves the global package bug 81 | ``` 82 | 83 | ```sh [Fedora] 84 | sudo dnf install python3-pip python3-devel python3-virtualenv 85 | pip3 install virtualenv #solves the global package bug 86 | ``` 87 | 88 | ```sh [Ubuntu] 89 | sudo apt install python3-pip python3-dev python3-distutils python3-venv 90 | pip3 install virtualenv #solves the global package bug 91 | ``` 92 | 93 | ```sh [Void] 94 | sudo xbps-install -S python3 python3-pip python3-setuptools python3-dev python3-virtualenv 95 | pip3 install virtualenv #solves the global package bug 96 | ``` 97 | 98 | ::: 99 | 100 | ::: tip 101 | If you use python 2.x use python instead of python3 and pip instead of pip3. 102 | ::: 103 | 104 | ## GitHub-Desktop 105 | 106 | A seamless way to contribute to projects on GitHub. 107 | 108 | ::: code-group 109 | 110 | ```sh [Arch] 111 | yay -S github-desktop-bin 112 | ``` 113 | 114 | ```sh [Debian] 115 | sudo apt install git 116 | wget -qO - https://packagecloud.io/shiftkey/desktop/gpgkey | sudo apt-key add - 117 | echo "deb [arch=amd64] https://packagecloud.io/shiftkey/desktop/any/ any main" | sudo tee /etc/apt/sources.list.d/packagecloud-shiftky-desktop.list 118 | sudo apt update && sudo apt install github-desktop 119 | ``` 120 | 121 | ```sh [Fedora] 122 | sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc 123 | sudo dnf config-manager --add-repo=https://packages.microsoft.com/yumrepos/vscode 124 | sudo dnf install github-desktop 125 | ``` 126 | 127 | ```sh [Ubuntu] 128 | sudo apt install git 129 | wget -qO - https://packagecloud.io/shiftkey/desktop/gpgkey | sudo apt-key add - 130 | echo "deb [arch=amd64] https://packagecloud.io/shiftkey/desktop/any/ any main" | sudo tee /etc/apt/sources.list.d/packagecloud-shiftky-desktop.list 131 | sudo apt update && sudo apt install github-desktop 132 | ``` 133 | 134 | ```sh [Void] 135 | wget https://github.com/shiftkey/desktop/releases/download/release-VERSION/GitHubDesktop-linux-VERSION.deb 136 | xdeb -d void -b GitHubDesktop-linux-VERSION.deb 137 | sudo xbps-install -f GitHubDesktop-linux-VERSION.xbps 138 | ``` 139 | 140 | ::: 141 | 142 | If this doesn't work, get the deb [here](https://github.com/shiftkey/desktop/releases). 143 | 144 | ## Java 145 | 146 | ::: code-group 147 | 148 | ```sh [Arch] 149 | sudo pacman -S jdk-openjdk 150 | ``` 151 | 152 | ```sh [Debian] 153 | sudo apt install default-jdk 154 | ``` 155 | 156 | ```sh [Fedora] 157 | sudo dnf install java-latest-openjdk 158 | ``` 159 | 160 | ```sh [Ubuntu] 161 | sudo apt install default-jdk 162 | ``` 163 | 164 | ```sh [Void] 165 | sudo xbps-install -S openjdk 166 | ``` 167 | 168 | ::: 169 | 170 | ## Visual Studio 171 | 172 | ::: code-group 173 | 174 | ```sh [Arch] 175 | sudo pacman -S code 176 | ``` 177 | 178 | ```sh [Debian] 179 | wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg 180 | sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ 181 | rm packages.microsoft.gpg 182 | sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' 183 | sudo apt update && sudo apt install code 184 | ``` 185 | 186 | ```sh [Fedora] 187 | sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc 188 | sudo dnf config-manager --add-repo=https://packages.microsoft.com/yumrepos/vscode 189 | sudo dnf install code 190 | ``` 191 | 192 | ```sh [Ubuntu] 193 | wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg 194 | sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ 195 | rm packages.microsoft.gpg 196 | sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' 197 | sudo apt update && sudo apt install code 198 | ``` 199 | 200 | ```sh [Void] 201 | sudo xbps-install -S code 202 | ``` 203 | 204 | ::: 205 | -------------------------------------------------------------------------------- /guide/apps/social.md: -------------------------------------------------------------------------------- 1 | # Social Apps 2 | 3 | ## Telegram 4 | 5 | Official Telegram client 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S telegram-desktop 11 | ``` 12 | 13 | ```sh [Debian]sudo apt install telegram-desktop 14 | 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install telegram-desktop 19 | ``` 20 | 21 | ```sh [Ubuntu]sudo apt install telegram-desktop 22 | 23 | ``` 24 | 25 | ```sh [Void] 26 | sudo xbps-install telegram-desktop 27 | ``` 28 | 29 | ::: 30 | 31 | ## Discord 32 | 33 | Official Discord client 34 | 35 | ::: code-group 36 | 37 | ```sh [Arch] 38 | sudo pacman -S discord 39 | ``` 40 | 41 | ```sh [Debian]sudo apt install discord 42 | 43 | ``` 44 | 45 | ```sh [Fedora] 46 | sudo dnf install discord 47 | ``` 48 | 49 | ```sh [Ubuntu]sudo apt install discord 50 | 51 | ``` 52 | 53 | ```sh [Void] 54 | sudo xbps-install discord 55 | ``` 56 | 57 | ::: 58 | 59 | ### [BetterDiscord](https://betterdiscord.net/home/) 60 | 61 | To install themes and customize discord's interface according your liking. 62 | 63 | ::: details Steps 64 | 65 | # To install BetterDiscord 66 | 67 | For more thorough documentation, 68 | take a look at `betterdiscordctl`'s [README](https://github.com/bb010g/betterdiscordctl#betterdiscordctl). 69 | 70 | ### Install dependencies 71 | 72 | ### Curl 73 | 74 | Install using your [package manager](https://curl.se/download.html#Linux) 75 | 76 | ### Install betterdiscordctl 77 | 78 | ```sh 79 | curl -O https://raw.githubusercontent.com/bb010g/betterdiscordctl/master/betterdiscordctl 80 | chmod +x betterdiscordctl 81 | sudo mv betterdiscordctl /usr/local/bin 82 | ``` 83 | 84 | You can then keep `betterdiscordctl` up to date with this command: 85 | 86 | ```sh 87 | sudo betterdiscordctl self-upgrade 88 | ``` 89 | 90 | ### Install BetterDiscord 91 | 92 | Replace `[COMMAND]` with `install` to install BD for the first time, 93 | `reinstall` to reinstall BD after a Discord update, 94 | or `uninstall` to uninstall an existing installation. 95 | 96 | ::: code-group 97 | 98 | ```sh [Stable] 99 | betterdiscordctl [COMMAND] 100 | ``` 101 | 102 | ```sh [PTB] 103 | betterdiscordctl --flavor PTB [COMMAND] 104 | ``` 105 | 106 | ```sh [Canary] 107 | betterdiscordctl --flavor Canary [COMMAND] 108 | ``` 109 | 110 | ```sh [Snap] 111 | betterdiscordctl --d-install snap [COMMAND] 112 | ``` 113 | 114 | ```sh [Flatpak] 115 | betterdiscordctl --d-install flatpak [COMMAND] 116 | ``` 117 | 118 | ::: 119 | 120 | ## Facebook Messenger ([Caprine](https://github.com/sindresorhus/caprine)) 121 | 122 | Unofficial Facebook messenger 123 | 124 | ::: code-group 125 | 126 | ```sh [Arch] 127 | sudo pacman -S caprine 128 | ``` 129 | 130 | ```sh [Debian] 131 | # Download the latest release package from the Caprine website: https://github.com/sindresorhus/caprine/releases/latest 132 | sudo dpkg -i caprine_*.deb 133 | ``` 134 | 135 | ```sh [Fedora] 136 | # Download the latest release package from the Caprine website: https://github.com/sindresorhus/caprine/releases/latest 137 | sudo dnf install ./caprine-*.rpm 138 | ``` 139 | 140 | ```sh [Ubuntu] 141 | # Download the latest release package from the Caprine website: https://github.com/sindresorhus/caprine/releases/latest 142 | sudo dpkg -i caprine_*.deb 143 | ``` 144 | 145 | ```sh [Void] 146 | sudo xbps-install caprine 147 | ``` 148 | 149 | ::: 150 | 151 | ## Signal 152 | 153 | Official Signal client 154 | 155 | ::: code-group 156 | 157 | ```sh [Arch] 158 | sudo pacman -S signal-desktop 159 | ``` 160 | 161 | ```sh [Debian] 162 | curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - 163 | echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list 164 | sudo apt update && sudo apt install signal-desktop 165 | ``` 166 | 167 | ```sh [Fedora] 168 | sudo dnf install signal-desktop 169 | ``` 170 | 171 | ```sh [Ubuntu] 172 | curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add - 173 | echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list 174 | sudo apt update && sudo apt install signal-desktop 175 | ``` 176 | 177 | ```sh [Void] 178 | sudo xbps-install signal-desktop 179 | ``` 180 | 181 | ::: 182 | 183 | ## Whatsapp ([WhatsappQT](https://gitlab.com/bit3/whatsappqt)) 184 | 185 | Unofficial Whatsapp client 186 | 187 | ::: code-group 188 | 189 | ```sh [Arch] 190 | yay -S whatsapp-nativefier 191 | ``` 192 | 193 | ```sh [Debian] 194 | sudo apt install nodejs npm 195 | sudo npm install nativefier -g 196 | nativefier "https://web.whatsapp.com/" --name "WhatsAppQT" 197 | ``` 198 | 199 | ```sh [Fedora] 200 | sudo dnf install nodejs npm 201 | sudo npm install nativefier -g 202 | nativefier "https://web.whatsapp.com/" --name "WhatsAppQT" 203 | ``` 204 | 205 | ```sh [Ubuntu]sudo apt install nodejs npm 206 | sudo npm install nativefier -g 207 | nativefier "https://web.whatsapp.com/" --name "WhatsAppQT" 208 | ``` 209 | 210 | ```sh [Void] 211 | sudo xbps-install nodejs npm 212 | sudo npm install nativefier -g 213 | nativefier "https://web.whatsapp.com/" --name "WhatsAppQT" 214 | ``` 215 | 216 | ::: 217 | -------------------------------------------------------------------------------- /guide/apps/video.md: -------------------------------------------------------------------------------- 1 | # Video Tools 2 | 3 | ## [VLC](https://www.videolan.org/index.html) 4 | 5 | VLC is the best video player for any platform 6 | 7 | ::: code-group 8 | 9 | ```sh [Arch] 10 | sudo pacman -S vlc 11 | ``` 12 | 13 | ```sh [Debian] 14 | sudo apt update &&sudo apt install vlc 15 | ``` 16 | 17 | ```sh [Fedora] 18 | sudo dnf install vlc 19 | ``` 20 | 21 | ```sh [Ubuntu] 22 | sudo apt update 23 | sudo apt install vlc 24 | ``` 25 | 26 | ```sh [Void] 27 | sudo xbps-install vlc 28 | ``` 29 | 30 | ::: 31 | 32 | ## [OBS Studio](https://obsproject.com/) 33 | 34 | OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. 35 | 36 | ::: code-group 37 | 38 | ```sh [Arch] 39 | sudo pacman -S obs-studio 40 | ``` 41 | 42 | ```sh [Debian] 43 | sudo apt install obs-studio 44 | ``` 45 | 46 | ```sh [Fedora] 47 | sudo dnf install obs-studio 48 | ``` 49 | 50 | ```sh [Ubuntu] 51 | sudo apt install obs-studio 52 | ``` 53 | 54 | ```sh [Void] 55 | sudo xbps-install obs-studio 56 | ``` 57 | 58 | ::: 59 | 60 | ## [Peek](https://github.com/phw/peek) 61 | 62 | Peek is a recorder with video recording, GIF recording and screenshot capabilities. 63 | 64 | ::: code-group 65 | 66 | ```sh [Arch] 67 | sudo pacman -S peek 68 | ``` 69 | 70 | ```sh [Debian] 71 | sudo apt install peek 72 | ``` 73 | 74 | ```sh [Fedora] 75 | sudo dnf install peek 76 | ``` 77 | 78 | ```sh [Ubuntu] 79 | sudo apt install peek 80 | ``` 81 | 82 | ```sh [Void] 83 | sudo xbps-install peek 84 | ``` 85 | 86 | ::: 87 | -------------------------------------------------------------------------------- /guide/basic/installation.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | ::: tip 4 | Go through this, because this can be a very helpful step. I am currently using btrfs & find it better. Also, don't remove the Recovery partition to be on the safe side, it helps out a lot. 5 | ::: 6 | 7 | ## Partitions to Create 8 | 9 | - 500 MB for Efi boot (Enough even for multi-boot) 10 | - Recovery (Very Useful, for specific distributions only) 11 | - Swap partition (First, read [What about Swap?](#what-about-swap)) 12 | - (Before selecting read about Btrfs & Zfs) Remaining for Ext4/Btrfs/Zfs System 13 | 14 | ## Q. What about Swap? 15 | 16 | **If you are installing with a Ubiquity installer it will automatically create a Swap File any time Ext4 is used for root.** 17 | There are two ways of getting swap (You can choose which is better) 18 | 19 | - **General Method** - Creating a swap partition (Linux-swap), Now to do this you need to understand the importance of swap, if you have a low RAM device you need a huger swap like if you have 2GB ram you should get 4 to 6 GB of swap & optimise your swap ratio to a higher value. So, if you have a higher ram you need a lower swap. So, according to my numbers for a ram: swap should be as follows, lower:6, 4:6, 8:4, 16 & above:2. Also, you have to adjust the swappiness property (given below). 20 | 21 | ::: info 22 | [BTRFS] - [Snapshots](https://fedoramagazine.org/btrfs-snapshots-backup-incremental/) don't work on Btrfs if we create a swap file in that partition. So Btrfs users should either stick with the general method or create a swap file in a different partition. 23 | ::: 24 | 25 | - **Swap File** - It is a relatively new concept. In this, you create a swap file post-installation. You don't need to dedicate some fixed amount of memory to it as it does on Linux-swap that is why it is also space-efficient. And the best part is you can resize this or remove this whenever you want to. 26 | 27 | ::: warning 28 | The "status" parameter in the dd command may not work on all versions of dd. If you encounter an error related to "status", you can simply omit that parameter. 29 | ::: 30 | 31 | ## Instructions to add Swap File 32 | 33 | #### Btrfs 34 | 35 | If a functional swap file is present on the subvolume, the btrfs filesystem does not permit the creation of snapshots. This indicates that putting a swap file on a different subvolume is highly recommended. Swap file can't be located on a btrfs raid of any sort. 36 | 37 | ::: details Add Swap to Btrfs 38 | Let's assume that the current swap is already off, the `/` is on `/dev/sda1` and Ubuntu is installed with `/` on `@` subvolume and `/home` is on `@home` subvolume. 39 | 40 | 1. Mount `/dev/sda1` to `/mnt`. 41 | 42 | ```sh 43 | sudo mount /dev/sda1 /mnt 44 | ``` 45 | 46 | If you run ls `/mnt`, you'll see `@`, `@home` and other subvolumes that may be there. 47 | 48 | 2. Create a new `@swap` subvolume. 49 | 50 | ```sh 51 | sudo btrfs sub create /mnt/@swap 52 | ``` 53 | 54 | 3. Unmount `/dev/sda1` from `/mnt`. 55 | 56 | ```sh 57 | sudo umount /mnt 58 | ``` 59 | 60 | 4. Create `/swap` directory where we plan to mount the `@swap` subvolume. 61 | 62 | ```sh 63 | sudo mkdir /swap 64 | ``` 65 | 66 | 5. Mount the `@swap` subvolume to `/swap`. 67 | 68 | ```sh 69 | sudo mount -o subvol=@swap /dev/sda1 /swap 70 | ``` 71 | 72 | 6. Create the swap file. 73 | 74 | ```sh 75 | sudo touch /swap/swapfile 76 | ``` 77 | 78 | 7. Set 600 permissions to the file. 79 | 80 | ```sh 81 | sudo chmod 600 /swap/swapfile 82 | ``` 83 | 84 | 8. Disable COW for this file. 85 | 86 | ```sh 87 | sudo chattr +C /swap/swapfile 88 | ``` 89 | 90 | 9. Set size of the swap file to 4G as an example. 91 | 92 | ```sh 93 | sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=4096 94 | ``` 95 | 96 | 10. Format the swapfile. 97 | 98 | ```sh 99 | sudo mkswap /swap/swapfile 100 | ``` 101 | 102 | 11. Turn the swap file on 103 | 104 | ```sh 105 | sudo swapon /swap/swapfile 106 | ``` 107 | 108 | 12. Now the new swap should be working. 109 | 110 | 13. Open the `/etc/fstab` file 111 | 112 | ```sh 113 | sudo nano /etc/fstab 114 | ``` 115 | 116 | ##### Add this line 117 | 118 | ```sh 119 | // Rest of your fstab 120 | UUID=XXXXXXXXXXXXXXX /swap btrfs subvol=@swap 0 0 // [!code focus] 121 | /swap/swapfile none swap sw 0 0 // [!code focus] 122 | ``` 123 | 124 | ::: 125 | 126 | #### Ext4 127 | 128 | Ext4 is fits perfectly with swap file you can create a swap file using this instructions. 129 | 130 | ::: details Add Swap to Ext4 131 | 132 | 1. Instruction set for the Swap file 133 | 134 | ```sh 135 | sudo dd if=/dev/zero of=/swapfile bs=1G count=4 status=progress 136 | ``` 137 | 138 | Count 4 means 4 sets of 1 GB, i.e. 4GB. 139 | 140 | 2. Change permissions and Make swap 141 | 142 | ```sh 143 | sudo chmod 600 /swapfile && sudo mkswap /swapfile 144 | ``` 145 | 146 | 3. Turn the Swap on 147 | 148 | ```sh 149 | sudo swapon /swapfile 150 | ``` 151 | 152 | 4. Open the '/etc/fstab' file 153 | 154 | ```sh 155 | sudo nano /etc/fstab 156 | ``` 157 | 158 | ##### Add this line 159 | 160 | ```sh 161 | // Rest of your fstab 162 | /swapfile none swap defaults 0 0 // [!code focus] 163 | ``` 164 | 165 | 5. Reboot 166 | 167 | ::: 168 | 169 | ## Q. Should I Encrypt? 170 | 171 | Encryption adds a layer to the disk, so there's a performance penalty. In day to day operations, you wouldn't notice it though, but there's an argument that older hardware might suffer if they're already in the limit. But it's usually a very useful feature to have, you never know what will happen to your hardware, if it's lost or stolen, you don't want to think about people having access to your stuff as well. 172 | 173 | ## Q. Should I use Btrfs or Ext4 or XFS? 174 | 175 | **Ans.** It depends, As Btrfs is in its infancy state also Ext4 is a more popular option. But, Btrfs is starting to become a trend since Fedora adopted it & it ships with Fedora 33. Also, I am using this on both of my systems. If you are on HDD then go for Btrfs because it is surprisingly fast on it but, if you are on a SSD you can go for XFS. But, remember if you go for XFS it is not resizable unless you are on a lvm. 176 | 177 | To fix installation bugs 178 | 179 | ::: code-group 180 | 181 | ```sh [Arch] 182 | sudo pacman -S btrfs-progs 183 | ``` 184 | 185 | ```sh [Debian] 186 | sudo apt install btrfs-progs 187 | ``` 188 | 189 | ```sh [Fedora] 190 | sudo dnf install btrfs-progs 191 | ``` 192 | 193 | ```sh [Ubuntu] 194 | sudo apt install btrfs-progs 195 | ``` 196 | 197 | ```sh [Void] 198 | sudo xbps-install -S btrfs-progs 199 | ``` 200 | 201 | ::: 202 | 203 | - [Reference on Rising of Btrfs](https://www.linuxjournal.com/content/btrfs-centos-living-loopback) 204 | - [Reference on Btrfs on HDD](https://www.phoronix.com/scan.php?page=article&item=linux54-hdd-raid&num=1) 205 | - [Reference on XFS on SSD](https://www.phoronix.com/scan.php?page=article&item=linux-58-filesystems&num=4) 206 | 207 | ## Q. What about ZFS? 208 | 209 | **Ans.** ZFS has been added as an experimental new filesystem. If you want to learn more about referring to [this](https://itsfoss.com/zfs-ubuntu/) article. If it meets your requirements you can try it. Lately, it is becoming a trend. As, it is very stable and used by leading companies such as Oracle. You can check out [why people are switching to ZFS](https://rudd-o.com/linux-and-free-software/ways-in-which-zfs-is-better-than-btrfs). 210 | -------------------------------------------------------------------------------- /guide/basic/postinstallation.md: -------------------------------------------------------------------------------- 1 | # Post Installation 2 | 3 | There are some basic things you need to do after installation. 4 | 5 | ## Update your System 6 | 7 | Get the latest updates via terminal or some GUI based updater or a App store. 8 | 9 |

10 | 11 |

12 | 13 | Via Terminal: 14 | ::: code-group 15 | 16 | ```sh [Arch] 17 | sudo pacman -Syu && flatpak update 18 | ``` 19 | 20 | ```sh [Debian] 21 | sudo apt upgrade && flatpak update 22 | ``` 23 | 24 | ```sh [Fedora] 25 | sudo dnf upgrade --refresh && flatpak update 26 | ``` 27 | 28 | ```sh [Ubuntu] 29 | sudo apt upgrade && flatpak update 30 | ``` 31 | 32 | ```sh [Void] 33 | sudo xbps-install -Su && flatpak update 34 | ``` 35 | 36 | ::: 37 | 38 | ## NVIDIA Proprietary Drivers 39 | 40 | Generally it is recommended to get the nvidia iso if there exists one, but you can install nvidia drivers using these commands. 41 | 42 | ::: code-group 43 | 44 | ```sh [Arch] 45 | sudo pacman -S nvidia nvidia-utils 46 | ``` 47 | 48 | ```sh [Debian] 49 | sudo apt install nvidia-driver 50 | ``` 51 | 52 | ```sh [Fedora] 53 | sudo dnf update && sudo dnf install akmod-nvidia && sudo reboot 54 | ``` 55 | 56 | ```sh [Ubuntu] 57 | sudo ubuntu-drivers autoinstall 58 | ``` 59 | 60 | ```sh [Void] 61 | sudo xbps-install -S nvidia 62 | ``` 63 | 64 | ::: 65 | -------------------------------------------------------------------------------- /guide/basic/tweaks.md: -------------------------------------------------------------------------------- 1 | # Tweaks 2 | 3 | ## Controlling Audio Devices 4 | 5 | Pavucontrol is one of the most well-known audio managers for PulseAudio. 6 | 7 | ### Music playback 8 | 9 | In Playback tab, here is a list of all apps that are using your audio system. To mute all System sounds, press the speaker icon in System Sounds. You can also drag the audio slider to adjust the audio. 10 | 11 | But, this tab only shows applications currently using audio. Like in this example, I was listening to Spotify. 12 | 13 | ![music-playback](https://i.imgur.com/nI1snJV.png) 14 | 15 | ### Recording adjuster 16 | 17 | In Recording tab, there is a list of all the programs currently recording audio. It is also possible to mute the recording just by clicking on the speaker icon. 18 | 19 | ![recording-adjuster](https://i.imgur.com/zR8otA3.png) 20 | 21 | ### Speaker & Mic level 22 | 23 | **To make a device default press the lock button.** 24 | In Output Devices tab, there is a list of all the audio playback devices. 25 | 26 | ![speaker-level](https://i.imgur.com/n3cAra1.png) 27 | 28 | In Input Devices tab, there is a list of all the recording devices. 29 | 30 | ![mic-level](https://i.imgur.com/0zPqxSU.png) 31 | -------------------------------------------------------------------------------- /guide/desktop/desktop.md: -------------------------------------------------------------------------------- 1 | # Desktop environments 2 | 3 | Desktop environments are an integral part of the Linux operating system. They provide a graphical interface for users to interact with their computer, and they often come with a suite of pre-installed applications and utilities. There are many different desktop environments available in Linux, each with its own unique design, features, and capabilities. In this article, we'll take a look at some of the most popular Linux desktop environments. 4 | 5 | ## GNOME 6 | 7 | GNOME is one of the most popular desktop environments in Linux. It features a modern, intuitive interface that is designed to be easy to use. GNOME includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. It also includes a software center for installing and managing applications. 8 | 9 | ## KDE Plasma 10 | 11 | KDE Plasma is a powerful, customizable desktop environment that is known for its flexibility and functionality. It includes a range of widgets and panels that can be customized to suit your preferences. KDE Plasma includes a suite of applications, such as a file manager, a text editor, and a terminal emulator. 12 | 13 | ## Xfce 14 | 15 | Xfce is a lightweight, customizable desktop environment that is designed to be fast and efficient. It includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. Xfce is a good choice for older or less powerful hardware. 16 | 17 | ## Cinnamon 18 | 19 | Cinnamon is a desktop environment that is designed to be modern and easy to use. It features a simple, intuitive interface that is similar to Windows. Cinnamon includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. 20 | 21 | ## MATE 22 | 23 | MATE is a desktop environment that is based on GNOME 2. It features a classic, traditional interface that is designed to be simple and easy to use. MATE includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. 24 | 25 | ## LXDE 26 | 27 | LXDE is a lightweight, minimalist desktop environment that is designed to be fast and efficient. It includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. LXDE is a good choice for older or less powerful hardware. 28 | 29 | ## Budgie 30 | 31 | Budgie is a modern, lightweight desktop environment that is designed to be user-friendly. It features a simple, intuitive interface that is similar to GNOME. Budgie includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. 32 | 33 | ## Enlightenment 34 | 35 | Enlightenment is a desktop environment that is known for its stunning visual effects and animations. It includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. Enlightenment is a good choice for users who want a visually stunning desktop environment. 36 | 37 | ## Deepin 38 | 39 | Deepin is a desktop environment that is designed to be user-friendly and elegant. It features a modern, intuitive interface that is similar to macOS. Deepin includes a range of productivity tools, such as a file manager, a text editor, and a terminal emulator. 40 | 41 | ## Openbox 42 | 43 | Openbox is a lightweight, minimalist desktop environment that is designed to be fast and efficient. It does not include many pre-installed applications or utilities, but it can be customized with a range of plugins and scripts. 44 | 45 | These are just a few of the many desktop environments available in Linux. Ultimately, the best desktop environment for you will depend on your specific needs, preferences, and level of experience with Linux. It's always a good idea to try out several desktop environments and explore their features, community, and documentation before making a decision. 46 | -------------------------------------------------------------------------------- /guide/desktop/gnome.md: -------------------------------------------------------------------------------- 1 | # Gnome Tweaks 2 | 3 | ::: code-group 4 | 5 | ```sh [Arch] 6 | sudo pacman -S gnome-tweaks 7 | ``` 8 | 9 | ```sh [Debian] 10 | sudo apt install gnome-tweaks 11 | ``` 12 | 13 | ```sh [Fedora] 14 | sudo dnf install gnome-tweaks 15 | ``` 16 | 17 | ```sh [Ubuntu] 18 | sudo apt install gnome-tweaks 19 | ``` 20 | 21 | ```sh [Void] 22 | sudo xbps-install -S gnome-tweaks 23 | ``` 24 | 25 | ::: 26 | 27 | ## Minimize Button and Button Placement 28 | 29 | Minimize is an important button. While I think you can live without it if you use the Super key a lot. But, for me, the minimize button seems to be very useful. 30 | You can get the maximize button too, but it's not that useful because it can be done by double-clicking the title bar. 31 | If you were a Mac user, you might prefer left button placement over the default right placement. 32 | **Note:** Left Placement glitches the gnome-tweak-tool for some reason don't worry about it just increase the size of the window. 33 | 34 | ![gnome-minimise](https://i.imgur.com/9o78EMM.png) 35 | 36 | ## Battery Percentage 37 | 38 | Shows the amount of battery remaining in percent. Doesn't work for desktop pc. 39 | 40 | ![batterypercent](https://i.imgur.com/6svaFEQ.png) 41 | 42 | ## Optimizing Font 43 | 44 | I use custom resolution on my PC's so the font seems small to me, so it makes it better I use 1.11x font. I have set the hinting to full because hinting makes the font appear crisper so that they are more readable. Also, I have set the anti-aliasing to full pixels instead of sub-pixels because it has more font smoothing. 45 | 46 | ![custom-font-size](https://i.imgur.com/yjks4Of.png) 47 | 48 | ## Activity Hot Corner and Format time 49 | 50 | The activity hot corner enables the hot corner where the button Activity is placed. So rather than clicking the button just touch the edge. 51 | You can format time according to what you need. I only use the time, so I got rid of the date there. 52 | 53 | ![overlay](https://i.imgur.com/xfprNhY.png) 54 | 55 | ## Nautilus (admin mode) 56 | 57 | Adds right-click property Open as Administrator. 58 | 59 | ::: code-group 60 | 61 | ```sh [Arch] 62 | sudo pacman -S nautilus-admin && nautilus -q 63 | ``` 64 | 65 | ```sh [Debian] 66 | sudo apt install nautilus-admin && nautilus -q 67 | ``` 68 | 69 | ```sh [Fedora] 70 | sudo dnf install nautilus-admin && nautilus -q 71 | ``` 72 | 73 | ```sh [Ubuntu] 74 | sudo apt install nautilus-admin && nautilus -q 75 | ``` 76 | 77 | ```sh [Void] 78 | sudo xbps-install -S nautilus-admin && nautilus -q 79 | ``` 80 | 81 | ::: 82 | 83 | ## Disabling Unnecessary Extensions 84 | 85 | The built-in extensions I use are - 86 | 87 |

88 | 89 |

90 | 91 | ## I have disabled these 92 | 93 | 1. **Alt-Tab** - By default, Alt+Tab will raise all windows of an application. This extension still groups windows by application. 94 | 2. **Always show workspaces** - Always show workspaces in the overview. 95 | 3. **Desktop Icons** - Add icons to the desktop. 96 | 4. **Pop Battery Icon Fix** - Fixes the battery icon to match the current battery level. (Useless for desktop pc) 97 | 5. **Pop Shop Details** - Adds a Show Details item to applications if Pop Shop is installed. 98 | 6. **System76 Power** - system76-power is a utility for managing graphics and power profiles. Options show up under battery menu. (Useful for hybrid and NVIDIA GPU) 99 | 100 | ## Settings Tweaks 101 | 102 | ### Prvacy Tweaks 103 | 104 | ![privacy-tweaks1](https://i.imgur.com/RNgA0vI.png) 105 | ![privacy-tweaks2](https://i.imgur.com/Aj3OupA.png) 106 | 107 | ### Over Amplification 108 | 109 | ![over-amplification](https://i.imgur.com/AIvJc4i.png) 110 | 111 | ## Custom Fonts 112 | 113 | Custom Fonts increase the user experience. I use custom fonts on my laptop and also my Oneplus. 114 | 115 | Currently, I am using Linotte Font for system & MonoFur for my terminal. 116 | To change your font, go to gnome-tweaks then to Fonts. 117 | ![customfont](https://i.imgur.com/yjks4Of.png) 118 | To change Terminal font, Go to preferences, then to profiles, then in custom font select MonoFur. 119 | To get my fonts, 120 | 121 | ```sh 122 | wget https://github.com/themagicalmammal/howtopopbuntu/raw/master/fonts.tar.xz 123 | tar -xf $(xdg-user-dir DOWNLOAD)/fonts.tar.xz -C ${XDG_CONFIG_HOME:-~/.local}/share 124 | rm $(xdg-user-dir DOWNLOAD)/fonts.tar.xz 125 | ``` 126 | 127 | If the font doesn't show, you can try clearing the font cache 128 | 129 | ```sh 130 | fc-cache -f -v 131 | ``` 132 | 133 | ## Tile Windows 134 | 135 | The beautiful thing I like about Pop OS is its feature-rich environment to increase work efficiency. 136 | ![Tile-windows](https://i.imgur.com/23cp7mL.png) 137 | 138 | ## Customization 139 | 140 | ### 1. We need to add gnome-shell-integration for Chrome. 141 | 142 | [Chrome](https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep?hl=en) [Firefox](https://addons.mozilla.org/en-US/firefox/addon/gnome-shell-integration/) - This extension provides integration with GNOME Shell and the corresponding extensions' repository, make it easy to add extensions via your browser. 143 | 144 | ![gsi](https://i.imgur.com/d8M3YpY.png) 145 | 146 | ### 2. Then go to [Gnome.org](https://extensions.gnome.org/) and get your extensions. 147 | 148 | ### Important Extensions 149 | 150 | - [User themes](https://extensions.gnome.org/extension/19/user-themes/) 151 | - [Impatience](https://extensions.gnome.org/extension/277/impatience/) 152 | 153 | ### Some More Cool Extensions 154 | 155 | - [Showtime - Desktop Widget](https://extensions.gnome.org/extension/1429/showtime/) 156 | - [Activities Configurator](https://extensions.gnome.org/extension/358/activities-configurator/) 157 | - [Dash to Dock](https://extensions.gnome.org/extension/307/dash-to-dock/) 158 | 159 | ![dashtodock](https://i.imgur.com/75pDvsf.png) 160 | 161 | - [Frippery Move Clock](https://extensions.gnome.org/extension/2/move-clock/) 162 | - [Remove Accessibility](https://extensions.gnome.org/extension/112/remove-accesibility/) 163 | - [Dynamic Panel Transparency](https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/) 164 | - [Dash to Panel](https://extensions.gnome.org/extension/1160/dash-to-panel/) 165 | 166 | ![dashtopanel](https://i.imgur.com/aim0WOW.png) 167 | To get the start button I [have](https://i.imgur.com/JQOGhRx.png). 168 | f 169 | 170 | - [Compiz windows effect](https://extensions.gnome.org/extension/3210/compiz-windows-effect/) 171 | - [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/) 172 | 173 | ### 3. Custom themes 174 | 175 | _Go to [Gnome-look](https://www.gnome-look.org/browse/cat/)_ 176 | **My Setup** 177 | Shell & Application - [WhiteSur-light](https://www.gnome-look.org/p/1403328/) 178 | Cursor - [Bibata](https://www.gnome-look.org/s/Gnome/p/1197198/) 179 | Icons - [McMojave-circle](https://www.gnome-look.org/s/Gnome/p/1305429) 180 | Wallpaper - [Colorful New York](https://imgur.com/gallery/kBwTMX5) 181 | 182 | ### 4. Place the theme in .themes & the icons in .icons in Home. 183 | 184 | ### 5. In the Gnome tweak tool, Select your theme. 185 | 186 | **Tip** - How to fix terminal theme 187 | 188 | 1. Go to Preferences. 189 | 2. Add Profiles. 190 | 3. Name it Big_Sur. 191 | 4. Go to colors, then select _choose use colors from system theme_. 192 | 5. Set Big_Sur default. 193 | 6. Close and reopen the terminal. 194 | 195 | **Tip** - How to fix gedit/text-editor theme 196 | 197 | 1. Go to Preferences. 198 | 2. Go to Font & Colors. 199 | 3. Select Color Scheme - Classic. 200 | 201 | **Tip** - Add icon instead of Activities text 202 | 203 | 1. Go to Extensions. 204 | 2. Open settings for Activities Configurator. 205 | 3. Select a custom icon 206 | **The icon I use is [here](https://i.imgur.com/mv2d9Yi.png)** 207 | 4. Hide Text & reduce icon padding 208 | 209 | ### After you do all of this, your desktop should look this 210 | 211 | ![bigsurlikelook](https://i.imgur.com/2zDuo9S.png) 212 | 213 | ### To fix qt5 applications like KolourPaint to respect system theme, go [here](https://gist.github.com/tur1ngb0x/82f6fa2fff3d05fe2e3c73d83ee3b6a4). 214 | -------------------------------------------------------------------------------- /guide/distros/distro.md: -------------------------------------------------------------------------------- 1 | # Distros 2 | 3 | ## Debian-based distributions 4 | 5 | Debian is a community-driven, open-source operating system that forms the base for many other Linux distributions. Some of the most well-known Debian-based distributions are: 6 | 7 | - **Ubuntu**: a user-friendly, stable, and widely popular distribution that is often recommended for beginners. Ubuntu has a six-month release cycle and includes a range of software options and features, including a custom desktop environment called Unity (in older versions) or GNOME (in newer versions). Ubuntu is widely used as a desktop and server operating system. 8 | - **Linux Mint**: a user-friendly, desktop-oriented distribution that is based on Ubuntu. Linux Mint is known for its intuitive desktop environment, Cinnamon, and for providing a polished and well-rounded user experience. Linux Mint is often recommended for users who are migrating from Windows or Mac to Linux. 9 | - **Debian**: a stable and widely respected distribution that is known for its focus on stability, security, and freedom. Debian has a slower release cycle than Ubuntu or Linux Mint, but it offers a large and diverse software repository and supports a range of architectures and hardware platforms. 10 | - **Pop!\_OS**: a user-friendly, desktop-oriented distribution that is based on Ubuntu. Pop!\_OS is known for its custom desktop environment, streamlined installer, and focus on productivity and gaming. Pop!\_OS is often used by developers, designers, and gamers. 11 | 12 | ## Red Hat-based distributions 13 | 14 | Red Hat is a commercial Linux distribution that forms the basis for many other distributions, including some of the most widely used server and enterprise distributions. Some of the most well-known Red Hat-based distributions are: 15 | 16 | - **Fedora**: a community-driven, cutting-edge distribution that is often used by developers and early adopters. Fedora has a fast release cycle and includes a range of software options and features, including a custom desktop environment called GNOME. Fedora is often used as a desktop and developer operating system. 17 | - **CentOS**: a free, open-source distribution that is based on Red Hat Enterprise Linux (RHEL). CentOS is known for its stability, security, and long-term support, and it is often used as a server or enterprise operating system. CentOS is being replaced by a new distribution called Rocky Linux after CentOS announced it would end support. 18 | - **Red Hat Enterprise Linux (RHEL)**: a commercial, enterprise-grade distribution that is known for its stability, security, and long-term support. RHEL is often used as a server or enterprise operating system, particularly in large organizations and government agencies. 19 | 20 | ## Arch-based distributions 21 | 22 | Arch Linux is a minimalist, rolling-release distribution that emphasizes simplicity, flexibility, and DIY customization. Some of the most well-known Arch-based distributions are: 23 | 24 | - **Manjaro**: a user-friendly, desktop-oriented distribution that is based on Arch Linux. Manjaro is known for its ease of use, custom desktop environments (including Xfce, GNOME, and KDE), and extensive software repository. Manjaro is often recommended for users who want the benefits of Arch Linux without the steep learning curve. 25 | - **EndeavourOS**: a minimalist, rolling-release distribution that is designed to be a "better Arch Linux installer." EndeavourOS includes a range of custom installation options, a user-friendly installer, and a welcoming and supportive community. 26 | - **Arch Linux**: a minimalist, rolling-release distribution that is known for its flexibility and DIY approach. Arch Linux is often used by advanced users and developers who want full control over their system and are comfortable with the command line interface. 27 | 28 | ## Other distributions 29 | 30 | There are also many other Linux distributions that are not based on Debian, Red Hat, or Arch, but are still popular and widely used. Some examples include: 31 | 32 | - **Void Linux**: Void Linux is a rolling release, general-purpose Linux distribution that is known for its speed, simplicity, and minimalism. It uses the runit init system instead of systemd, which some users prefer for its simplicity and faster boot times. Void Linux also uses the xbps package manager, which is designed to be lightweight and fast. Void Linux supports a variety of desktop environments, including Xfce, LXQt, and Enlightenment. 33 | - **Alpine Linux**: Alpine Linux is a security-oriented, lightweight Linux distribution that is designed for embedded systems, containers, and cloud deployments. It uses the musl libc library instead of glibc, which reduces its overall size and improves its security. Alpine Linux also uses the BusyBox user space utilities, which provide a minimal set of common Unix commands. Alpine Linux is often used as a base image for Docker containers, and it is compatible with many popular container orchestration tools. 34 | - **Nitrux**: Nitrux is a modern, visually appealing Linux distribution that is based on Ubuntu. It uses the Nomad desktop environment, which is a custom-made desktop environment that is designed to be lightweight, fast, and user-friendly. Nitrux includes a range of software and multimedia tools, including the Kdenlive video editor, the GIMP image editor, and the Audacity audio editor. Nitrux also includes a custom-made application called znx, which makes it easy to manage and switch between different system snapshots. 35 | - **Gentoo**: a customizable, source-based distribution that is known for its performance and flexibility. Gentoo is often used by advanced users and developers who want to optimize their system for specific hardware and workloads. 36 | - **openSUSE**: a user-friendly, community-driven distribution that is often used as a desktop or server operating system. openSUSE includes a range of desktop environments (including KDE and GNOME), a powerful package manager called YaST, and support for both RPM and DEB packages. 37 | - **Slackware**: a minimalist, traditional distribution that is known for its simplicity and stability. Slackware is often used by advanced users and developers who want full control over their system and prefer a command-line interface. 38 | - **PCLinuxOS**: a user-friendly, desktop-oriented distribution that is based on Mandriva Linux. PCLinuxOS is known for its user-friendly installer, custom desktop environment, and extensive software repository. 39 | - **Mageia**: a community-driven, stable distribution that is based on Mandriva Linux. Mageia includes a range of desktop environments (including KDE and GNOME), a user-friendly installer, and a wide range of software options. 40 | - **Fedora Silverblue**: a new and innovative take on the Fedora distribution that uses a read-only root file system and containerized applications to create a more secure, reliable, and atomic operating system. Fedora Silverblue is often used by developers and security-conscious users. 41 | -------------------------------------------------------------------------------- /guide/distros/ubuntu.md: -------------------------------------------------------------------------------- 1 | # Ubuntu Based Systems 2 | 3 | ## Forced Software Update 4 | 5 | ```sh 6 | sudo apt install -f && sudo apt dist-upgrade 7 | ``` 8 | 9 | ## Why use apt, not apt-get? 10 | 11 | **Ans.** Apt was made according to an end-user perspective. It mostly does everything apt-get does. So for normal users, apt-get is not useful. But, for a developer that writes scripts and does automation, like writing a Docker file to build images, they would prefer apt-get over apt. 12 | 13 | ## Difference b/w upgrade and dist-upgrade 14 | 15 | When you run the apt upgrade, it only updates that which has a new release accessible to the platform, as defined in /etc/apt/sources.list or in /etc/apt/sources.list.d/. 16 | 17 | However, when you run apt dist-upgrade, it will intelligently install or remove packages as needed, to complete the upgrade. Dist-upgrade has an intelligent dispute determination method, so it will attempt to update the numerous necessary packages at the cost of those considered less valuable. But, this might be dangerous because it removes files that might eventually break the system. 18 | 19 | ## Updating your recovery 20 | 21 | If you upgrade to a newer release the recovery also needs to be upgraded, you can do it via Terminal. 22 | 23 | ```sh 24 | pop-upgrade recovery upgrade from-release 25 | ``` 26 | 27 | ## Software Properties Common 28 | 29 | This is a required library for apps, that use PPA's for installation. It doesn't come pre-installed with many Ubuntu-based distros like Elementary OS. 30 | 31 | ```sh 32 | sudo apt install software-properties-common 33 | ``` 34 | 35 | ## Disable annoying Keyring 36 | 37 | #### This provides security for browsers on an autologin-based system. (Easy way to understand it) 38 | 39 | If you have an autologin system, whenever you open a browser (except firefox) or Github-desktop, the system asks for a key. 40 | **Steps to Disable it:** 41 | 42 | ``` 43 | App password & keys > Login > Change Password > Type your Current Pass > Continue > Continue with Empty Pass > Make unencrypted 44 | ``` 45 | 46 | ![disable-keyring1](https://i.imgur.com/vvbqR7b.png) 47 | ![disable-keyring2](https://i.imgur.com/lzxb68t.png) 48 | 49 | ## Disabling Pop Shop on Boot (Pop OS) 50 | 51 | Pop Shop always opens on the startup of the system there is a way to stop that. This also helps in saving some ram. 52 | **Steps:** 53 | 54 | 1. Edit App center daemon from opening it at start 55 | 56 | ```sh 57 | sudo nano /usr/share/applications/io.elementary.appcenter-daemon.desktop 58 | ``` 59 | 60 | 2. Put # here before this line 61 | 62 | ```sh 63 | Exec=io.elemantry.appcenter -s 64 | ``` 65 | 66 | ## Disabling Startup Application Preferences 67 | 68 | ![application-pref](https://i.imgur.com/Raz4w8j.png) 69 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": {}, 3 | "devDependencies": { 4 | "vitepress": "^1.0.0-rc.21", 5 | "vue": "^3.3.4" 6 | }, 7 | "scripts": { 8 | "docs:dev": "vitepress dev", 9 | "docs:build": "vitepress build", 10 | "docs:preview": "vitepress preview" 11 | } 12 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themagicalmammal/howtolinux/1541e51373304df1b310e1cc23e17bb4430258f7/public/favicon.ico -------------------------------------------------------------------------------- /public/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 34 | 36 | 37 | 38 | 42 | 44 | 46 | 47 | 50 | 51 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildCommand": "bun docs:build", 3 | "outputDirectory": "/.vitepress/dist", 4 | "rewrites": [{ "source": "/(.*)", "destination": "/" }] 5 | } 6 | --------------------------------------------------------------------------------