mirror of
https://github.com/mikeroyal/NixOS-Guide.git
synced 2025-06-30 16:10:01 +02:00
Compare commits
36 Commits
mikeroyal-
...
main
Author | SHA1 | Date | |
---|---|---|---|
dc8f231c8b | |||
4594ce04b5 | |||
b9d25a5b3f | |||
78309368a2 | |||
4fa2a035f3 | |||
ff4b593182 | |||
fb1c642c75 | |||
0e21ab60b6 | |||
9ec8108894 | |||
9766c97e9a | |||
f3d4683dcf | |||
54e6c9440f | |||
932378c675 | |||
6c62b563ed | |||
ef722b8776 | |||
2144995e22 | |||
14a6d9530b | |||
bb94344d5f | |||
210ec084c8 | |||
73af2726c9 | |||
d156c98fa6 | |||
64d39f1d19 | |||
df412a4051 | |||
d3fccc869c | |||
066820ec0e | |||
7ab1a4baea | |||
beefac9e1e | |||
d2ee56527f | |||
85bc67e82e | |||
7c7b210672 | |||
d682ee39b8 | |||
546592d61c | |||
b82614c5bb | |||
0c576af34e | |||
ed87231fc4 | |||
429346e940 |
14
Contributing.md
Normal file
14
Contributing.md
Normal 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!**
|
232
README.md
232
README.md
@ -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>
|
||||
|
||||

|
||||

|
||||
|
||||
#### 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).**
|
||||
@ -18,37 +24,37 @@
|
||||
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 Tools & Modules](https://github.com/mikeroyal/NixOS-Guide#NixOS-Tools-and-Modules)
|
||||
|
||||
- [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,6 +127,18 @@
|
||||
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:**
|
||||
@ -138,7 +156,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
## NixOS Developer Resources
|
||||
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
|
||||
|
||||
- [NixOS Wiki](https://nixos.wiki/)
|
||||
- [NixOS Wiki](https://wiki.nixos.org/)
|
||||
|
||||
- [NixOS Pills - Developer Guides](https://nixos.org/guides/nix-pills/)
|
||||
|
||||
@ -146,11 +164,17 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [Nix Package Manager Manual](https://nixos.org/manual/nix/stable/#chap-installation)
|
||||
|
||||
- [Home Manager - NixOS Wiki](https://nixos.wiki/wiki/Home_Manager)
|
||||
- [Home Manager - NixOS Wiki](https://wiki.nixos.org/wiki/Home_Manager)
|
||||
|
||||
- [What Is Nix — Developer Tooling | Shopify Engineering](https://shopify.engineering/what-is-nix)
|
||||
|
||||
- [Cheatsheet - NixOS Wiki](https://nixos.wiki/index.php?title=Cheatsheet&useskin=vector)
|
||||
- [NixOS configurations collection](https://wiki.nixos.org/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://wiki.nixos.org/wiki/Cheatsheet)
|
||||
|
||||
- [nix.dev guide for developers](https://nix.dev/)
|
||||
|
||||
@ -164,7 +188,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [Getting started with Home Manager for Nix](https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix)
|
||||
|
||||
- [NixOS Wiki - Raspberry Pi 4](https://nixos.wiki/wiki/NixOS_on_ARM/Raspberry_Pi_4)
|
||||
- [NixOS Wiki - Raspberry Pi 4](https://wiki.nixos.org/wiki/NixOS_on_ARM/Raspberry_Pi_4)
|
||||
|
||||
- [NixOS aarm64 SD image](https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image.aarch64-linux)
|
||||
|
||||
@ -180,26 +204,27 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [Consider Donating to the NixoS Project](https://nixos.org/donate.html)
|
||||
|
||||
### YouTube videos on NixOS
|
||||
- [NixOS & Flakes Book](https://github.com/ryan4yin/nixos-and-flakes-book)
|
||||
|
||||
- [NixOS Is The Power User Distro (Now With An Easy Installer!) | DistroTube on YouTube](https://www.youtube.com/watch?v=ck4J2Faa7Fc)
|
||||
- [Managing your NixOS configuration with Flakes and Home Manager!](https://josiahalenbrown.substack.com/p/managing-your-nixos-configuration)
|
||||
|
||||
- [NixOS | Installation and First Impressions | Tyler's Tech on YouTube](https://www.youtube.com/watch?v=IdoCOqkAexY)
|
||||
### YouTube Tutorials
|
||||
|
||||
- [NixOS Setup Guide - Configuration/Home-Manager/Flakes | Matthias Benaets on YouTube](https://www.youtube.com/watch?v=AGVXJ-TIv3Y)
|
||||
[Back to the Top](#table-of-contents)
|
||||
|
||||
- [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)
|
||||
[](https://www.youtube.com/watch?v=fuWPuJZ9NcU)
|
||||
[")](https://www.youtube.com/watch?v=ck4J2Faa7Fc)
|
||||
[](https://www.youtube.com/watch?v=AGVXJ-TIv3Y)
|
||||
[](https://www.youtube.com/watch?v=9fWrxmEYGAs)
|
||||
[](https://www.youtube.com/watch?v=jXd-hkP4xnU)
|
||||
[](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)
|
||||
|
||||
- [Hydra](https://github.com/nixos/hydra) is Nix's official continuous integration and build system.
|
||||
|
||||
- [Kubenix](https://github.com/xtruder/kubenix) is a Kubernetes resource builder written in Nix.
|
||||
|
||||
- [Nix-kubernetes](https://github.com/xtruder/nix-kubernetes) is a Kubernetes deployment manager written in nix.
|
||||
- [Kubenix](https://github.com/hall/kubenix) is a Kubernetes management with Nix.
|
||||
|
||||
- [Disnix](https://github.com/svanderburg/disnix) is a microservice architecture built with Nix.
|
||||
|
||||
@ -211,10 +236,16 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [Home Manager](https://github.com/nix-community/home-manager) is a tool to manage your user configuration just like NixOS.s.
|
||||
|
||||
- [Jovian NixOS](https://github.com/Jovian-Experiments/Jovian-NixOS) is a set of packages and configurations for running NixOS on the Steam Deck.
|
||||
|
||||
- [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.
|
||||
|
||||
- [Awesome-Nix-HPC](https://github.com/freuk/awesome-nix-hpc) is a High Performance Computing package sets.
|
||||
@ -261,12 +292,6 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [Mach-nix](https://github.com/DavHau/mach-nix) is a tool that makes it easy to create and share reproducible python environments or packages. Existing tools for python package management often suffer from reproducibility and complexity issues, requiring a multitude of tools and additional virtualization layers to work sufficiently.
|
||||
|
||||
- [Digga](https://github.com/divnix/digga) is a flake utility library that helps you declaratively craft and manage all three layers of your system environment within a single nix flakes repository:
|
||||
|
||||
* Development shells (via numtide/devshell).
|
||||
* Home environments (via nix-community/home-manager).
|
||||
* Host configurations (via NixOS/nixpkgs/nixos).
|
||||
|
||||
- [Impermanence](https://github.com/nix-community/impermanence) is a set of modules to help you handle persistent state on systems with ephemeral root storage.
|
||||
|
||||
- [NixOS Vagrant Plugin](https://github.com/nix-community/vagrant-nixos-plugin) is a plugin that adds nix provisioning for [NixOS](https://nixos.org/) guests to [Vagrant](https://www.vagrantup.com/).
|
||||
@ -347,14 +372,31 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [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)
|
||||
|
||||
- [Etcher](https://www.balena.io/etcher/) is an open source, cross-platform software that makes it easy to flash operating system images to a microSD card or USB device.
|
||||
|
||||
### Creating a NixOS installation ISO
|
||||
|
||||
- [nixos-generators](https://github.com/nix-community/nixos-generators) is a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
|
||||
|
||||
- [nixos-up](https://github.com/samuela/nixos-up) is a super easy NixOS installer that can be used from the installation ISO.
|
||||
- [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. If you're installing NixOS, the nixos-anywhere (formerly known as nixos-remote) tool allows you to pre-configure the whole process.
|
||||
- [Jovian NixOS](https://github.com/Jovian-Experiments/Jovian-NixOS) is a set of packages and configurations for running NixOS on the Steam Deck.
|
||||
|
||||
### Package maintenance for NixOS Desktop
|
||||
|
||||
- [nix-upgrade-scripts](https://github.com/peterhoeg/nix-upgrade-scripts) - Tools for Nixpkgs maintainers to upgrade packages.
|
||||
- [nixpkgs-review](https://github.com/Mic92/nixpkgs-review) - Review nixpkgs pull requests.
|
||||
|
||||
|
||||
### Search for Packages on NixOS Desktop
|
||||
|
||||
- [nix-index](https://github.com/bennofs/nix-index) - Quickly locate nix packages with specific files.
|
||||
- [nix-du](https://github.com/symphorien/nix-du) - Find which gc-roots take disk space in a nix store.
|
||||
- [nix-info](https://github.com/nix-hackers/nix-info) - Homebrew info querying for Nix.
|
||||
- [userscan](https://github.com/flyingcircusio/userscan) - Scans directories containing manually compiled programs and registers them with the Nix garbage collector.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://user-images.githubusercontent.com/45159366/173939768-31847173-88ab-45f0-8501-0980d1a2a29e.png">
|
||||
@ -374,14 +416,14 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -392,14 +434,14 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -410,7 +452,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -447,7 +489,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -462,7 +504,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -475,7 +517,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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.
|
||||
|
||||
@ -490,14 +532,14 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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)
|
||||
|
||||
@ -506,21 +548,21 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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)
|
||||
|
||||
@ -545,6 +587,27 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
- [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)
|
||||
|
||||
@ -569,21 +632,21 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
### 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)
|
||||
|
||||
@ -591,7 +654,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
# 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.
|
||||
|
||||
@ -621,7 +684,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl
|
||||
|
||||
[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
|
||||
|
||||
@ -651,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.
|
||||
|
||||
@ -871,7 +934,7 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
|
||||
|
||||
<img src="https://user-images.githubusercontent.com/45159366/107092246-15a96b00-67b8-11eb-91fb-27494c7f1d4f.jpg">
|
||||
|
||||
# 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**
|
||||
@ -888,13 +951,16 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
|
||||
<img src="https://user-images.githubusercontent.com/45159366/107092256-1cd07900-67b8-11eb-9ae9-f389045dad26.png">
|
||||
<img src="https://user-images.githubusercontent.com/45159366/107093639-72a62080-67ba-11eb-8d88-477929a5516b.png">
|
||||
|
||||
[OpenCore for Windows 10](https://dortania.github.io/OpenCore-Install-Guide/)
|
||||
|
||||
<img src="https://user-images.githubusercontent.com/45159366/107092270-222dc380-67b8-11eb-82cc-d41e9e8a39e0.png">
|
||||
|
||||
# Using Android and Android Apps on Linux
|
||||
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
|
||||
|
||||
[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.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://user-images.githubusercontent.com/45159366/171924198-0d440de1-9ff7-4e37-b6c3-f7e42c266530.png">
|
||||
</p>
|
||||
|
||||
[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.
|
||||
|
||||
<p align="center">
|
||||
@ -907,12 +973,6 @@ I recommend using Flatpaks on NixOS, which makes installing/updating application
|
||||
<img src="https://user-images.githubusercontent.com/45159366/108637365-2c4df400-743f-11eb-8265-c07faab3523f.png">
|
||||
</p>
|
||||
|
||||
[LineageOS](https://lineageos.org/) is a free and open-source operating system for various devices, based on the Android mobile platform.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://user-images.githubusercontent.com/45159366/108647222-f0ca1e80-746c-11eb-8e55-0e9808bb24fc.png">
|
||||
</p>
|
||||
|
||||
[Anbox](https://anbox.io/) is an application that provides a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu, Debian Fedora, and openSUSE.
|
||||
|
||||
<p align="center">
|
||||
@ -1024,6 +1084,12 @@ Local virtual devices with high performances.
|
||||
**Building Highly-Availability(HA) Clusters with kubeadm. Source: [Kubernetes.io](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/)**
|
||||
</p>
|
||||
|
||||
**Nix Packages for Kubernetes**
|
||||
- [kubenix](https://github.com/xtruder/kubenix) - Kubernetes resource builder written in Nix.
|
||||
- [nix-kubernetes](https://github.com/xtruder/nix-kubernetes) - Kubernetes deployment manager written in nix.
|
||||
|
||||
## Kubernetes Tools
|
||||
|
||||
[Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine/) is a managed, production-ready environment for running containerized applications.
|
||||
|
||||
[Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-us/services/kubernetes-service/) is serverless Kubernetes, with a integrated continuous integration and continuous delivery (CI/CD) experience, and enterprise-grade security and governance. Unite your development and operations teams on a single platform to rapidly build, deliver, and scale applications with confidence.
|
||||
|
Reference in New Issue
Block a user