Compare commits

..

No commits in common. "main" and "mikeroyal-patch-4" have entirely different histories.

2 changed files with 39 additions and 117 deletions

View File

@ -1,14 +0,0 @@
# 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!**

142
README.md
View File

@ -4,12 +4,6 @@
NixOS Guide
</h1>
<a href="https://github.com/mikeroyal?tab=followers">
<img alt="followers" title="Follow for Updates" src="https://custom-icon-badges.demolab.com/github/followers/mikeroyal?color=236ad3&labelColor=1155ba&style=for-the-badge&logo=person-add&label=Follow&logoColor=white"/></a>
![Maintenance](https://img.shields.io/maintenance/yes/2023?style=for-the-badge)
![Last-Commit](https://img.shields.io/github/last-commit/mikeroyal/nixos-guide?style=for-the-badge)
#### 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).**
@ -23,38 +17,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 YouTube Tutorials](#youtube-tutorials)
- [NixOS Developer Resources](https://github.com/mikeroyal/NixOS-Guide#NixOS-developer-resources)
- [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](#C)
- [Python](#python)
- [Ruby](#ruby)
- [Go](h#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)
- [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)
2. [Getting Software](https://github.com/mikeroyal/NixOS-Guide#getting-software)
@ -127,32 +121,6 @@
NixOS Software Center
</p>
[FlakeHub](https://flakehub.com/new) is a platform developed by [Determinate Systems](https://determinate.systems/) for discovering and publishing [Nix flakes](https://zero-to-nix.com/concepts/flakes). [FlakeHub](https://determinate.systems/posts/introducing-flakehub) provides the Nix ecosystem with a variety of new capabilities:
* The ability to explore the Nix flake landscape.
* Semantic versioning for flakes, including version modifiers like **~ (flexible patch)** and **= (exact match)**.
* Automated flake publishing with GitHub Actions.
<p align="center">
<img src="https://github.com/mikeroyal/NixOS-Guide/assets/45159366/b2b7526d-2192-4ee0-990c-d9733c3a9a20">
</br>
FlakeHub
</p>
[Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer) is an opinionated alternative to the official [Nix install scripts](https://nixos.org/download.html).
**The nix-installer tool is ready to use in a number of environments:**
|Platform | Multi User | root only | Maturity|
|------|------|-------|------|
|Linux (x86_64 & aarch64) |✓ (via [systemd](https://systemd.io/)) | ✓ | Stable|
|MacOS (x86_64 & aarch64) | ✓ | |Stable (See note)|
|Valve Steam Deck (SteamOS)| ✓ | |Stable|
|WSL2 (x86_64 & aarch64) | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stable|
Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stable|
|Docker Containers | |✓ | Stable|
|Linux (i686) | ✓ (via [systemd](https://systemd.io/)) | ✓ |Unstable|
## NixOS Developer Resources
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
@ -167,12 +135,6 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
- [Home Manager - NixOS Wiki](https://nixos.wiki/wiki/Home_Manager)
- [What Is Nix — Developer Tooling | Shopify Engineering](https://shopify.engineering/what-is-nix)
- [NixOS configurations collection](https://nixos.wiki/wiki/Configuration_Collection)
- [Install and Configure NixOS on a Linode](https://www.linode.com/docs/guides/install-nixos-on-linode/)
- [Zero to Nix from Determinate Systems](https://zero-to-nix.com/start/install)
- [Cheatsheet - NixOS Wiki](https://nixos.wiki/index.php?title=Cheatsheet&useskin=vector)
@ -204,16 +166,17 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
- [Consider Donating to the NixoS Project](https://nixos.org/donate.html)
### YouTube Tutorials
### YouTube videos on NixOS
[Back to the Top](#table-of-contents)
- [NixOS Is The Power User Distro (Now With An Easy Installer!) | DistroTube on YouTube](https://www.youtube.com/watch?v=ck4J2Faa7Fc)
[![NixOS is Mindblowing](https://ytcards.demolab.com/?id=fuWPuJZ9NcU&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "NixOS is Mindblowing")](https://www.youtube.com/watch?v=fuWPuJZ9NcU)
[![NixOS Is The Power User Distro (Now With An Easy Installer!)](https://ytcards.demolab.com/?id=ck4J2Faa7Fc&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "NixOS Is The Power User Distro (Now With An Easy Installer!)")](https://www.youtube.com/watch?v=ck4J2Faa7Fc)
[![NixOS Setup Guide - Configuration / Home-Manager / Flakes](https://ytcards.demolab.com/?id=AGVXJ-TIv3Y&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "NixOS Setup Guide - Configuration / Home-Manager / Flakes")](https://www.youtube.com/watch?v=AGVXJ-TIv3Y)
[![NixOS Intro - Installation and basic usage](https://ytcards.demolab.com/?id=9fWrxmEYGAs&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "NixOS Intro - Installation and basic usage")](https://www.youtube.com/watch?v=9fWrxmEYGAs)
[![Nixpkgs - Python packaging, and development workflow.](https://ytcards.demolab.com/?id=jXd-hkP4xnU&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "Nixpkgs - Python packaging, and development workflow.")](https://www.youtube.com/watch?v=jXd-hkP4xnU)
[![NixOS: How it works and how to install it!](https://ytcards.demolab.com/?id=oPymb2-IXbg&lang=en&background_color=%230d1117&title_color=%23ffffff&stats_color=%23dedede&width=240 "NixOS: How it works and how to install it!")](https://www.youtube.com/watch?v=oPymb2-IXbg)
- [NixOS | Installation and First Impressions | Tyler's Tech on YouTube](https://www.youtube.com/watch?v=IdoCOqkAexY)
- [NixOS Setup Guide - Configuration/Home-Manager/Flakes | Matthias Benaets on YouTube](https://www.youtube.com/watch?v=AGVXJ-TIv3Y)
- [NixOS: How it works and how to install it! | DorianDotSlash on YouTube](https://www.youtube.com/watch?v=oPymb2-IXbg)
- [Nixpkgs - Python packaging, and development workflow. | Jon Ringer on YouTube](https://www.youtube.com/watch?v=jXd-hkP4xnU)
## NixOS Tools and Modules
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
@ -237,10 +200,6 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
- [NixVim](https://github.com/pta2002/nixvim) is a NeoVim distribution built with Nix modules and Nixpkgs.
- [Simple Nixos Mailserver](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver) is a complete mailserver, managed with NixOS modules.
- [Nix Flake Checker](https://github.com/DeterminateSystems/flake-checker) is a tool from Determinate Systems that performs "health" checks on the flake.lock files in your flake-powered Nix projects. Its goal is to help your Nix projects stay on recent and supported versions of Nixpkgs.
- [NixOS Anywhere](https://numtide.github.io/nixos-anywhere/) is a tool that let's you install NixoS everywhere via ssh on a target machine running x86_64 Linux with [kexec](https://man7.org/linux/man-pages/man8/kexec.8.html) support.
- [Stylix](https://github.com/danth/stylix) is a system-wide colorscheming and typography for NixOS.
@ -373,8 +332,6 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
- [Deadnix](https://github.com/astro/deadnix) is a tool that scan ```.nix``` files for dead code (unused variable bindings).
- [nix2container](https://github.com/nlewo/nix2container) isa tool that provides an efficient container development workflow with images built by Nix: it doesn't write tarballs to the Nix store and allows to skip already pushed layers (without having to rebuild them).
- [nixos-mailserver](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver) is a complete and Simple Nixos Mailserver.
## NixOS Desktop
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
@ -573,27 +530,6 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
- [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://nixos.wiki/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)
@ -671,7 +607,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
[FlatHub Forum](https://discourse.flathub.org/)
<img src="https://github.com/mikeroyal/NixOS-Guide/assets/45159366/3dbf5f71-91c3-4e64-9ad0-eba5b88b4b60">
<img src="https://user-images.githubusercontent.com/45159366/106686365-055a7b80-657f-11eb-9b58-1de28abe2e5b.png">
## AppImages