21 Commits

Author SHA1 Message Date
bb94344d5f Merge pull request #25 from mikeroyal/mikeroyal-patch-7
Added Nix Flake Checker to Tools & Modules section.
2023-09-14 13:25:20 -07:00
210ec084c8 Added Nix Flake Checker to Tools & Modules section. 2023-09-08 14:42:53 -07:00
73af2726c9 Merge pull request #24 from mikeroyal/mikeroyal-patch-8
Added FlakeHub to Getting Started section.
2023-09-07 20:11:07 -07:00
d156c98fa6 Merge pull request #23 from mikeroyal/mikeroyal-patch-7
Updated NixOS YouTube Tutorials section.
2023-09-06 13:26:14 -07:00
64d39f1d19 Added FlakeHub to Getting Started section. 2023-09-05 00:54:59 -07:00
df412a4051 Updated NixOS YouTube Tutorials section. 2023-09-05 00:52:53 -07:00
d3fccc869c Added nixos-mailserver to Tools section. 2023-08-21 13:32:31 -07:00
066820ec0e Updated Contributing.md 2023-07-26 00:41:57 -07:00
7ab1a4baea Added NixOS Anywhere tool to Tools and Modules. 2023-07-08 17:29:08 -07:00
beefac9e1e Updated Flatpaks section in Getting Software. 2023-07-08 17:27:02 -07:00
d2ee56527f Updated README.md 2023-06-17 13:36:39 -07:00
85bc67e82e Merge pull request #21 from mikeroyal/mikeroyal-patch-7
Added sections for Lisp and Nim in Programming.
2023-05-03 14:00:16 -07:00
7c7b210672 Added sections for Lisp and Nim in Programming. 2023-04-23 19:42:51 -07:00
d682ee39b8 Merge pull request #20 from mikeroyal/mikeroyal-patch-7
Added Contributing Guidelines.
2023-04-09 14:07:05 -07:00
546592d61c Added Contributing Guidelines. 2023-04-08 12:15:25 -07:00
b82614c5bb Added a Follow for Updates button. 2023-04-02 01:40:49 -07:00
0c576af34e Merge pull request #19 from mikeroyal/mikeroyal-patch-6
Added Determinate Nix Installer to Getting Started.
2023-03-08 00:37:42 -08:00
ed87231fc4 Merge pull request #18 from mikeroyal/mikeroyal-patch-5
Added more Developer Resources.
2023-03-08 00:37:32 -08:00
39d4ca9100 Added Determinate Nix Installer to Getting Started. 2023-02-28 00:29:31 -08:00
429346e940 Added more Developer Resources. 2023-02-28 00:20:28 -08:00
be8aeb1e21 Merge pull request #17 from mikeroyal/mikeroyal-patch-4
Added NixOS Tools.
2023-02-22 01:18:34 -08:00
2 changed files with 117 additions and 39 deletions

14
Contributing.md Normal file
View File

@ -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!**

142
README.md
View File

@ -4,6 +4,12 @@
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).**
@ -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](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)
2. [Getting Software](https://github.com/mikeroyal/NixOS-Guide#getting-software)
@ -121,6 +127,32 @@
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)
@ -135,6 +167,12 @@
- [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)
@ -166,17 +204,16 @@
- [Consider Donating to the NixoS Project](https://nixos.org/donate.html)
### YouTube videos on NixOS
### YouTube Tutorials
- [NixOS Is The Power User Distro (Now With An Easy Installer!) | DistroTube on YouTube](https://www.youtube.com/watch?v=ck4J2Faa7Fc)
[Back to the Top](#table-of-contents)
- [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 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 Tools and Modules
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
@ -200,6 +237,10 @@
- [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.
@ -332,6 +373,8 @@
- [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)
@ -530,6 +573,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://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)
@ -607,7 +671,7 @@
[FlatHub Forum](https://discourse.flathub.org/)
<img src="https://user-images.githubusercontent.com/45159366/106686365-055a7b80-657f-11eb-9b58-1de28abe2e5b.png">
<img src="https://github.com/mikeroyal/NixOS-Guide/assets/45159366/3dbf5f71-91c3-4e64-9ad0-eba5b88b4b60">
## AppImages