diff --git a/Contributing.md b/Contributing.md
new file mode 100644
index 0000000..fe95cc6
--- /dev/null
+++ b/Contributing.md
@@ -0,0 +1,14 @@
+# Contributing Guidelines
+
+**Make sure your pull request follows these guidelines:**
+
+- [x] Search through the previous pull requests before making a new one!
+- [x] Adding new categories, or improving existing categories is welcome!
+- [x] Make sure you've personally used or benefited from the suggested resource.
+- [x] Make an individual pull request for each suggestion.
+- [x] Use the following format: `[Resource Title](url link) — description.`
+- [x] Expand on why the resource is useful in your pull request if needed.
+- [x] Keep descriptions short and simple, but descriptive.
+- [x] Please double check your spelling and grammar.
+
+**Thanks for contributing to this Project!**
diff --git a/README.md b/README.md
index 0dffa62..d10111d 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,12 @@
NixOS Guide
+
+
+
+
+
+
#### A guide on setting up your NixOS Desktop with all the essential Applications, Tools, and Games to make your experience with NixOS great! This may not be perfect guide for everyone but I feel there is at least one or more perfect solutions for New and Advanced NixOS users.
**Note: You can easily convert this markdown file to a PDF in [VSCode](https://code.visualstudio.com/) using this handy extension [Markdown PDF](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf).**
@@ -17,38 +23,38 @@
1. [Getting Started](https://github.com/mikeroyal/NixOS-Guide#getting-started)
- - [NixOS Developer Resources](https://github.com/mikeroyal/NixOS-Guide#NixOS-developer-resources)
-
+ - [NixOS Developer Resources](https://github.com/mikeroyal/NixOS-Guide#NixOS-developer-resources)
+ - [NixOS YouTube Tutorials](#youtube-tutorials)
- [NixOS Tools & Modules](https://github.com/mikeroyal/NixOS-Guide#NixOS-Tools-and-Modules)
-
- - [NixOS Desktop](https://github.com/mikeroyal/NixOS-Guide#NixOS-Desktop)
-
+ - [NixOS Desktop](https://github.com/mikeroyal/NixOS-Guide#NixOS-Desktop)
- [Programming Languages & Frameworks with NixOS support](https://github.com/mikeroyal/NixOS-Guide#programming-languages--with-nixos-support)
- - [C](https://github.com/mikeroyal/NixOS-Guide#C)
- - [Python](https://github.com/mikeroyal/NixOS-Guide#python)
- - [Ruby](https://github.com/mikeroyal/NixOS-Guide#ruby)
- - [Go](https://github.com/mikeroyal/NixOS-Guide#Go)
- - [Rust](https://github.com/mikeroyal/NixOS-Guide#rust)
- - [Scala](https://github.com/mikeroyal/NixOS-Guide#scala)
- - [Clojure](https://github.com/mikeroyal/NixOS-Guide#Clojure)
- - [Haskell](https://github.com/mikeroyal/NixOS-Guide#haskell)
- - [Node.js](https://github.com/mikeroyal/NixOS-Guide#nodejs)
- - [PHP](https://github.com/mikeroyal/NixOS-Guide#php)
- - [Perl](https://github.com/mikeroyal/NixOS-Guide#Perl)
- - [Java](https://github.com/mikeroyal/NixOS-Guide#Java)
- - [Lua](https://github.com/mikeroyal/NixOS-Guide#Lua)
- - [LLVM](https://github.com/mikeroyal/NixOS-Guide#LLVM)
- - [Julia](https://github.com/mikeroyal/NixOS-Guide#Julia)
- - [R](https://github.com/mikeroyal/NixOS-Guide#R)
- - [Arduino](https://github.com/mikeroyal/NixOS-Guide#Arduino)
- - [Crystal](https://github.com/mikeroyal/NixOS-Guide#Crystal)
- - [Elm](https://github.com/mikeroyal/NixOS-Guide#Elm)
- - [Elixir](https://github.com/mikeroyal/NixOS-Guide#elixir)
- - [Erlang](https://github.com/mikeroyal/NixOS-Guide#erlang)
- - [DotNet](https://github.com/mikeroyal/NixOS-Guide#dotnet)
- - [CUDA](https://github.com/mikeroyal/NixOS-Guide#cuda)
- - [Qt](https://github.com/mikeroyal/NixOS-Guide#qt)
+ - [C](#C)
+ - [Python](#python)
+ - [Ruby](#ruby)
+ - [Go](#Go)
+ - [Rust](#rust)
+ - [Scala](#scala)
+ - [Clojure](#Clojure)
+ - [Haskell](#haskell)
+ - [Node.js](#nodejs)
+ - [PHP](#php)
+ - [Perl](#Perl)
+ - [Java](#Java)
+ - [Lua](#Lua)
+ - [LLVM](#LLVM)
+ - [Julia](#Julia)
+ - [R](#R)
+ - [Arduino](#Arduino)
+ - [Crystal](#Crystal)
+ - [Lisp](#lisp)
+ - [Nim](#nim)
+ - [Elm](#Elm)
+ - [Elixir](#elixir)
+ - [Erlang](#erlang)
+ - [DotNet](#dotnet)
+ - [CUDA](#cuda)
+ - [Qt](#qt)
2. [Getting Software](https://github.com/mikeroyal/NixOS-Guide#getting-software)
@@ -66,7 +72,7 @@
4. [Setting up a macOS Workspace](https://github.com/mikeroyal/NixOS-Guide#setting-up-a-macos-workspace)
-5. [Setting up a Windows 10 Workspace](https://github.com/mikeroyal/NixOS-Guide#setting-up-a-windows-10-workspace)
+5. [Setting up a Windows 11 Workspace](https://github.com/mikeroyal/NixOS-Guide#setting-up-a-windows-11-workspace)
6. [Using Android and Android Apps on Linux](https://github.com/mikeroyal/NixOS-Guide#using-android-and-android-apps-on-linux)
@@ -95,15 +101,15 @@
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
-[NixOS](https://nixos.org/) is a Linux distribution built on top of the [Nix package manager](https://nixos.wiki/wiki/Nix). It has tools dedicated to DevOps and deployment tasks.
+[NixOS](https://nixos.org/) is a Linux distribution built on top of the [Nix package manager](https://wiki.nixos.org/wiki/Nix). It has tools dedicated to DevOps and deployment tasks.
[Nix Tour](https://nixcloud.io/tour/) is an interactive tour that uses the actual package manager to learn you the language by example, in the browser.
-[Nix](https://nixos.wiki/wiki/Nix) is a package manager and build system that parses reproducible build instructions specified in the [Nix Expression Language](https://nixos.wiki/wiki/Nix_Expression_Language), is a pure functional language with lazy evaluation. Nix expressions are pure functions taking dependencies as arguments and producing derivation specifying a reproducible build environment for the package. Nix stores the results of the build in unique addresses specified by a hash of the complete dependency tree, creating an immutable package store that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [dependency hell](https://en.wikipedia.org/wiki/Dependency_hell).
+[Nix](https://wiki.nixos.org/wiki/Nix) is a package manager and build system that parses reproducible build instructions specified in the [Nix Expression Language](https://wiki.nixos.org/wiki/Nix_Expression_Language), is a pure functional language with lazy evaluation. Nix expressions are pure functions taking dependencies as arguments and producing derivation specifying a reproducible build environment for the package. Nix stores the results of the build in unique addresses specified by a hash of the complete dependency tree, creating an immutable package store that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [dependency hell](https://en.wikipedia.org/wiki/Dependency_hell).
-[Nix Expression Language](https://nixos.wiki/wiki/Nix_Expression_Language) is a pure, lazy, functional language. Purity means that operations in the language don't have side-effects (for instance, there is no variable assignment). The language is not a full-featured, general purpose language. Its main job is to describe packages, compositions of packages, and the variability within packages.
+[Nix Expression Language](https://wiki.nixos.org/wiki/Nix_Expression_Language) is a pure, lazy, functional language. Purity means that operations in the language don't have side-effects (for instance, there is no variable assignment). The language is not a full-featured, general purpose language. Its main job is to describe packages, compositions of packages, and the variability within packages.
-[Nixpkgs](https://nixos.wiki/wiki/Nixpkgs) is the largest repository of [Nix](https://nixos.wiki/wiki/Nix) packages(over 80,000 packages) and [NixOS](https://nixos.wiki/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://nixos.wiki/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://nixos.wiki/wiki/Alternative_Package_Sets).
+[Nixpkgs](https://wiki.nixos.org/wiki/Nixpkgs) is the largest repository of [Nix](https://wiki.nixos.org/wiki/Nix) packages(over 80,000 packages) and [NixOS](https://wiki.nixos.org/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://wiki.nixos.org/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://wiki.nixos.org/wiki/Alternative_Package_Sets).
[NixOS Packages Search](https://search.nixos.org/packages) is a tool for searching through NixOS packages.
@@ -121,10 +127,36 @@
NixOS Software Center
+
+
+FlakeHub
+
@@ -354,14 +416,14 @@
### C
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [C - NixOS Wiki](https://nixos.wiki/wiki/C)
+ - [C - NixOS Wiki](https://wiki.nixos.org/wiki/C)
- [ccls](https://github.com/MaskRay/ccls) is a C/C++/Objective-C language server.
### Python
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Python - NixOS Wiki](https://nixos.wiki/wiki/Python)
+ - [Python - NixOS Wiki](https://wiki.nixos.org/wiki/Python)
- [Mach-nix](https://github.com/DavHau/mach-nix) is a tool to create highly reproducible python environments.
@@ -372,14 +434,14 @@
### Ruby
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Ruby - NixOS Wiki](https://nixos.wiki/wiki/Ruby)
+ - [Ruby - NixOS Wiki](https://wiki.nixos.org/wiki/Ruby)
- [Bundix](https://github.com/nix-community/bundix) is a tool that generates a Nix expression for your Bundler-managed application.
### Go
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Go - NixOS Wiki](https://nixos.wiki/wiki/Go)
+ - [Go - NixOS Wiki](https://wiki.nixos.org/wiki/Go)
- [Gomod2nix](https://github.com/tweag/gomod2nix) is a tool to convert applications using Go modules to Nix expressions.
@@ -390,7 +452,7 @@
### Rust
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Rust - NixOS Wiki](https://nixos.wiki/wiki/Rust)
+ - [Rust - NixOS Wiki](https://wiki.nixos.org/wiki/Rust)
- [Fenix](https://github.com/nix-community/fenix) is a Rust toolchains and Rust analyzer nightly for nix.
@@ -427,7 +489,7 @@
### Haskell
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Haskell - NixOS Wiki](https://nixos.wiki/wiki/Haskell)
+ - [Haskell - NixOS Wiki](https://wiki.nixos.org/wiki/Haskell)
- [Cabal2nix](https://github.com/NixOS/cabal2nix) is a tool that converts a Cabal file into a Nix build expression.
@@ -442,7 +504,7 @@
### Node.js
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Node.js - NixOS Wiki](https://nixos.wiki/wiki/Node.js)
+ - [Node.js - NixOS Wiki](https://wiki.nixos.org/wiki/Node.js)
- [Napalm](https://github.com/nmattia/napalm) - Support for building npm packages in Nix with a lightweight npm registry.
@@ -455,7 +517,7 @@
### PHP
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [PHP - NixOS Wiki](https://nixos.wiki/wiki/PHP)
+ - [PHP - NixOS Wiki](https://wiki.nixos.org/wiki/PHP)
- [Composer2nix](https://github.com/svanderburg/composer2nix) is a tool to generate Nix expressions to build composer packages.
@@ -470,14 +532,14 @@
### Perl
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Perl- NixOS Wiki](https://nixos.wiki/wiki/Perl)
+ - [Perl- NixOS Wiki](https://wiki.nixos.org/wiki/Perl)
- [Perl packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=perl)
### Java
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Java - NixOS Wiki](https://nixos.wiki/wiki/Java)
+ - [Java - NixOS Wiki](https://wiki.nixos.org/wiki/Java)
- [Java Packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=java)
@@ -486,21 +548,21 @@
### Lua
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Lua - NixOS Wiki](https://nixos.wiki/wiki/Lua)
+ - [Lua - NixOS Wiki](https://wiki.nixos.org/wiki/Lua)
- [Lua packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=lua)
### LLVM
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [LLVM - NixOS Wiki](https://nixos.wiki/wiki/LLVM)
+ - [LLVM - NixOS Wiki](https://wiki.nixos.org/wiki/LLVM)
- [LLVM packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=llvm)
### Julia
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Julia - NixOS Wiki](https://nixos.wiki/wiki/Julia)
+ - [Julia - NixOS Wiki](https://wiki.nixos.org/wiki/Julia)
- [Julia packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=julia)
@@ -524,6 +586,27 @@
- [crystal2nix](https://github.com/nix-community/crystal2nix) is a tool to convert `shard.lock` into Nix expressions.
- [Crystal packages for NixOS](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=crystal)
+
+### Lisp
+[Back to the Top](#table-of-contents)
+
+ - [Lisp packages for NixOS](https://github.com/NixOS/nixpkgs/tree/nixos-22.05/pkgs/development/lisp-modules)
+
+ - [Emacs for NixOS](https://wiki.nixos.org/wiki/Emacs) is an interactive graphical emacs lisp interpreter that comes with many applications, but is primarily used as a text and code editor.
+
+ - [Emacs overlay for Nixpkgs](https://github.com/nix-community/emacs-overlay) is a bleeding edge emacs overlay for Nixpkgs.
+
+ - [nix-mode](https://github.com/NixOS/nix-mode) is a An Emacs major mode for editing Nix expressions.
+
+
+### Nim
+[Back to the Top](#table-of-contents)
+
+ - [Nim](https://nim-lang.org/) is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula.
+
+ - [Nim packages for NixOS](https://github.com/NixOS/nixpkgs/tree/nixos-22.05/pkgs/development/nim-packages)
+
+ - [Nim Language Server](https://github.com/nim-lang/langserver) is a Language Server, or nimlangserver, is a language server for Nim.
### Elm
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
@@ -549,21 +632,21 @@
### DotNet
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [ DotNet - NixOS Wiki](https://nixos.wiki/wiki/DotNET)
+ - [ DotNet - NixOS Wiki](https://wiki.nixos.org/wiki/DotNET)
- [NixOS packages for DotNet](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=dotnet)
### CUDA
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [CUDA - NixOS Wiki](https://nixos.wiki/wiki/CUDA)
+ - [CUDA - NixOS Wiki](https://wiki.nixos.org/wiki/CUDA)
- [NixOS packages for CUDA](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=cuda)
### Qt
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
- - [Qt - NixOS Wiki](https://nixos.wiki/wiki/Qt)
+ - [Qt - NixOS Wiki](https://wiki.nixos.org/wiki/Qt)
- [NixOS packages for Qt](https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=qt)
@@ -571,7 +654,7 @@
# Getting Software
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
-[Nixpkgs](https://nixos.wiki/wiki/Nixpkgs) is the largest repository of [Nix](https://nixos.wiki/wiki/Nix) packages(over 80,000 packages) and [NixOS](https://nixos.wiki/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://nixos.wiki/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://nixos.wiki/wiki/Alternative_Package_Sets).
+[Nixpkgs](https://wiki.nixos.org/wiki/Nixpkgs) is the largest repository of [Nix](https://wiki.nixos.org/wiki/Nix) packages(over 80,000 packages) and [NixOS](https://wiki.nixos.org/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://wiki.nixos.org/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://wiki.nixos.org/wiki/Alternative_Package_Sets).
[NixOS Packages Search](https://search.nixos.org/packages) is a tool for searching through NixOS packages.
@@ -601,7 +684,7 @@
[FlatHub Forum](https://discourse.flathub.org/)
-
+
## AppImages
@@ -631,7 +714,7 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
## Steam
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
-[Steam - NixOS Wiki](https://nixos.wiki/wiki/Steam)
+[Steam - NixOS Wiki](https://wiki.nixos.org/wiki/Steam)
[Steam Flatpak](https://flathub.org/apps/details/com.valvesoftware.Steam) available on FlatHub.
@@ -851,7 +934,7 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
-# Setting up a Windows 10 workspace
+# Setting up a Windows 11 workspace
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
**REQUIREMENTS**
@@ -867,30 +950,27 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
-
- [OpenCore for Windows 10](https://dortania.github.io/OpenCore-Install-Guide/)
-
-
+
# Using Android and Android Apps on Linux
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
-[Android Studio](https://developer.android.com/studio/) is the development suite for Google's Android Operating System(OS). It's built on [JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/) software and designed specifically for Android development. It is available for download on Windows, macOS and Linux.
+[Waydroid](https://github.com/waydroid/waydroid) is a container-based approach to boot a full Android system on a regular Linux system. The Android runtime environment ships with a minimal customized Android system image based on LineageOS. The image is currently based on Android 10.
-
+
-
+
-
+