Nix
Nix is a functional package manager that isolates and sandboxes
dependencies.
[nixos-infect]
: install nixos over an existing os on digitalocean and other vps systems
[devshell]
: universally compatible nix-shell
[Resources for learning more about
the Nix ecosystem]
[The
de-facto introduction to NixOS]
[Another great introduction
to the Nix ecosystem]. This has better overviews of technology like
overlays than the official documentation.
[Using Nix to manage Emacs packages] ({Emacs}).
[Rycee's configuration] is a good start or source of inspiration
for this.
[Why Nix:
Cachix, niv and nix-build overview]
[Set up a basic git server with NixOS]
[Set up
Nix with preconfigured SSH]
[Setting up GnuPG + Yubikey on NixOS for SSH authentication]: Super
useful article for getting GPG to function with a yubikey and all of that.
[Subkeys
- Debian Wiki] is another great guide for creating and managing these
keys.
[Nix shorts]
: Lots of quick and helpful Nix tips to check out.
[An evaluation of and tutorial for Disnix and NixOps]
[nixops-tutorial]
: development with NixOps
[nixos router
for the homelab] -- useful for learning to set everything up
[Gemini Portal]: An evaluation of building an operating system
"underneath" Nix/OS; building bottom-up to provide some interface that
adheres to the Nix project expectations and specifications. (It failed and this
is an evaluation of why).
[src]
[src2]
[src3 (has good NixOps tutorial too)]
[Nix vs Docker for local development]
to inspire, plus a decent organization system. The system has
IPFS, MacOS configuration, tons of default packages, and more. Could be
used as a flake to install some of their packages; looks like it's
compatible with NUR.
worth noting that what i found the most confusing was:
and log in as an unprivileged user without booting to the installation
disk
partition for space for nixos
sudo fdisk devsda
new
partition
sector1
no selection for start of partition
no selection for last sector
w to write to disk
sudo mkfs.ext4 -j -L nixos devsda1
Make sure to name your disks; some configurations use some disk names by
default.
nixos-generate-config --root /mnt
Edit mntetcnixos
configuration.nix.
Uncomment:
UEFI systems:
To dual boot, supposedly boot.loader.grub.useOSProber can be set to true
to add other OS to the grub
menu. This failed when I tried it (I may have accidentally damaged the
partition table, though) but it might work for you.
You may have to manually start the SSH daemon:
you can use
on the next boot but not enable it immediately. The
[Adjust system volume based on context]
[Thunderbolt system utility; investigate if any issues arise]
[cool config trick for installing chrome extensions]
[set up software defined radio!]
Run programs in systemd cgroups (check out grahamc's config)
[Swiss knife for
updating nix packages.]
[ssh plugin that
lets you use zsh in nix-shell shell.]
[cleverca22/not-os:
An operating system generator, based on NixOS, that, giv]
[Make a
service abstraction layer · Issue #26067 · NixOS/nixpkgs]: Abstract
over systemd
[dustinlacewell/dotfiles: Nix configuration for all my workstations and serv]
workstation ux
[brainrape/nixform:
define terraform infrastructure in nix]
[brainrape/nixos-tutorial: one hour, hands-on]
[Sander van der Burg's blog: Using Disnix as a simple and minimalistic
depen]
[Building static Haskell binary with Nix on Linux · PatchGirl]
[Neuron 0.6 released: future-proof note-taking tool written in Haskell, Nix ]
[Searching and installing packages in NixOS - NixOS]
[Encrypted /boot on ZFS with NixOS]
[Discovering Nix: Provisioning a static webserver with NixOps]
[Continuously Delivering this Blog with Nix, Hugo and CircleCI]
[https://davedellacosta.com/posts/2019-03-29-why-nixos-is-hard-and-how-to-fix.html]
[https://github.com/dustinlacewell/dotfiles]
[https://github.com/nix-community/nixos-generators]image builders for
nix
[https://github.com/nix-community/todomvc-nix:]canonical example for
nix, works with or without flakes apparently.
[https://lemire.me/blog/2020/05/22/programming-inside-a-container/]
programming inside of containers
[https://github.com/NixOS/nixpkgs/issues/26067]making a nix service
abstraction layer, abstracting over systemd to produce a more generic solution
[https://grahamc.com/blog/erase-your-darlings]
[https://gitlab.com/vdemeester/home]this seems like a config worth
looking through!
[debugging a dynamic linking bug in a nix project]
[danielfullmer/robotnix: Build Android (AOSP) using Nix] {Mobile}
Captured On: [2020-10-18 Sun 15:12]
const ua = event.request.headers.get('User-Agent');
if (url.pathname === '' && ua.match(
\bNix\) != null) {
return new Response('', { status: 302, headers: { location:
}
Do not be afraid to use the --help flag! I've learned a lotfrom it.
do
Tools
Tutorials
NixOps
MacOS
Server
Evaluation
Why NixOS?
Building within Nix
Nix vs. Docker
Configs
Installation
Good practices
initial installation
partition
Installation Outline
Pro tips
Future configuration ideas
Nix tools
TODO
[[https://www.reddit.com/r/haskell/comments/1ha5dd/rss_reader_written_in_haskell_and_urweb/][RSS
reader written in Haskell and Ur/Web : haskell]]
Flake tips
Go
{ lib, buildGoModule, fetchFromGithub }:
# buildGoModule can be pulled in from the package
buildGoModule rec {
pname = "mangadesk";
version = "0.0.1";
# fetch the derivation from wherever
src = pkgs.fetchFromGitHub {
owner = "darylhjd";
repo = "mangadesk";
rev = "v${version}";
sha256 = "1kgb5k55fxjcf1829fkp7wyd162391am9zhfgl50a606rlsfsh7h";
};
# this is an intermediate sha256 that is spit out when the derivation fails, somehow. needs more work!
# vendorSha256 = "1879j77k96684wi554rkjxydrj8g3hpp0kvxz03sd8dmwr3lh83j";
subPackages = [ "." ];
deleteVendor = true;
runVend = true;
meta = with lib; {
homepage = "https://github.com/darylhjd/mangadesk";
description = "Terminal client for MangaDex";
license = licenses.mit;
maintainers = with maintainers; [ jakeisnt ];
platforms = platforms.linux ++ platforms.darwin;
};
}