Update doc headings

Ain't no flavor without the sass
This commit is contained in:
Henrik Lissner 2020-01-13 02:11:02 -05:00
parent ded9e4c2b8
commit 25f7a8e5e0
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
21 changed files with 133 additions and 49 deletions

View file

@ -2,10 +2,38 @@
A tidy `$HOME` is a tidy mind. A tidy `$HOME` is a tidy mind.
It takes a touch of madness to use nixOS. I arrived here because there are a few
special computers in my life, local and remote, and maintaining them was
busywork I wouldn't wish on my worst enemy.
Nix, with its luscious tendrils, drew me in with a promise of glorious
reproducibility and declared its declarative-ness with enough chutzpah to make
anime real again. So, with XDG conventions in hand, I set out to conquer my
white whale and annihilate what vestiges of my social life remain.
## Quick start ## Quick start
```sh ```sh
# Make sure your partitions are set up by this point # Make sure your partitions are set up by this point
git clone https://github.com/hlissner/dotfiles /etc/dotfiles git clone https://github.com/hlissner/dotfiles /etc/dotfiles
HOST=hostname make HOST=hostname make install
``` ```
+ `make` = `nixos-rebuild test`
+ `make switch` = `nixos-rebuild switch`
+ `make upgrade` = `nix-channel --update && nixos-rebuild switch`
+ `make install` = `nixos-generate-config --root $PREFIX && nixos-install
--root $PREFIX`
## Overview
+ OS: NixOS 19.09
+ Shell: zsh
+ DE/WM: bspwm + polybar
+ Editor: [Doom Emacs][doom-emacs] (and occasionally [vim][vimrc])
+ Terminal: st + extensions
+ Browser: firefox (waiting for qutebrowser to mature)
[doom-emacs]: https://github.com/hlissner/doom-emacs
[vimrc]: https://github.com/hlissner/.vim

View file

@ -1,4 +1,4 @@
# Ao -- my home development server # Ao -- my home development and user-facing server
{ config, ... }: { config, ... }:
{ {

View file

@ -47,8 +47,10 @@
services.xserver.wacom.enable = true; services.xserver.wacom.enable = true;
my.init = '' my.init = ''
# lock tablet to main display # lock tablet to main display
xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen eraser") DVI-I-1 if xinput list --id-only "Wacom Intuos Pro S Pen stylus"; then
xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen cursor") DVI-I-1 xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen stylus") DVI-I-1
xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen stylus") DVI-I-1 xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen eraser") DVI-I-1
xinput map-to-output $(xinput list --id-only "Wacom Intuos Pro S Pen cursor") DVI-I-1
fi
''; '';
} }

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }: # modules/browser/firefox.nix --- https://www.mozilla.org/en-US/firefox
#
# Oh firefox, gateway to the interwebs, devourer of ram. Give onto me your
# infinite knowledge and shelter me from ads.
{ config, lib, pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
firefox-bin (pkgs.writeScriptBin "firefox-private" '' firefox-bin (pkgs.writeScriptBin "firefox-private" ''

View file

@ -1,3 +1,8 @@
# modules/browser/qutebrowser.nix --- https://github.com/qutebrowser/qutebrowser
#
# Qutebrowser is cute because it's not enough of a browser to be handsome.
# Still, we can all tell he'll grow up to be one hell of a lady-killer.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
my.packages = [ pkgs.qutebrowser ]; my.packages = [ pkgs.qutebrowser ];

View file

@ -1,5 +1,7 @@
# modules/chat.nix
#
# Even neckbeards have a social life. Not that I have one. A neckbeard, I mean. # Even neckbeards have a social life. Not that I have one. A neckbeard, I mean.
# But when I do have either, then discord and weechat (or Emacs) are my go-to. # But when I do have either, then discord and weechat are my go-to.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {

View file

@ -1,7 +1,9 @@
# I make music for my games. LMMS is my DAW. Fruityloops too, on my Windows # modules/music.nix
# system, but I'm slowly phasing it out for open-source alternatives. When I'm #
# in the mood for a quick chiptune, I fire up sunvox instead -- it runs # I make music for my games. LMMS is my DAW; or will be, once I've weened myself
# absolutely anywhere, even on my ipad and phone. # off of Fruityloops. When I'm in the mood for a quicky I fire up sunvox
# instead. It runs absolutely anywhere, even on my ipad and phone. As if I'd
# ever need to.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {

View file

@ -1,5 +1,10 @@
{ config, lib, pkgs, ... }: # modules/dev/cc.nix --- C & C++
#
# I love C. I tolerate C++. I adore C with a few choice C++ features tacked on.
# Liking C/C++ seems to be an unpopular opinion. It's my guilty secret, so don't
# tell anyone pls.
{ pkgs, ... }:
{ {
imports = [ ./. ]; imports = [ ./. ];

View file

@ -1,4 +1,8 @@
{ config, lib, pkgs, ... }: # modules/dev/clojure.nix --- https://clojure.org/
#
# I don't use clojure. Perhaps one day...
{ pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
clojure clojure

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, ... }: # modules/dev --- common settings for dev modules
{ pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
gnumake gnumake

View file

@ -1,8 +1,9 @@
# I gamedev as a hobby. For making games, I mainly use C++ or Rust (and # modules/dev/godot.nix --- https://godotengine.org/
# occasionally Lua). However, when I need to prototype an idea, I reach for #
# godot (or JS, if I want it to be playable for others). # Gamedev is my hobby. C++ or Rust are my main drivers (and occasionally Lua),
# but to prototype (for 3D, mainly) I'll occasionally reach for godot.
{ config, lib, pkgs, ... }: { pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
godot godot

View file

@ -1,5 +1,10 @@
{ config, lib, pkgs, ... }: # modules/dev/love2d.nix --- https://love2d.org/
#
# Love is my favorite little game engine. I use it often for rapid prototyping
# when godot is overkill and have the luxury of avoiding JS. I write my Love
# games in moonscript to get around the idiosynchrosies of lua.
{ pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
love love

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }: # modules/dev/node.nix --- https://nodejs.org/en/
#
# JS is one of those "when it's good, it's alright, when it's bad, it's a
# disaster" languages.
{ pkgs, ... }:
{ {
imports = [ ./. ]; imports = [ ./. ];

View file

@ -1,5 +1,10 @@
{ config, lib, pkgs, ... }: # modules/dev/python.nix --- https://godotengine.org/
#
# Python's ecosystem repulses me. The list of environment "managers" exhausts
# me. The Py2->3 transition make trainwrecks jealous. But SciPy, NumPy, iPython
# and Jupyter can have my babies. Every single one.
{ lib, pkgs, ... }:
{ {
my = { my = {
packages = with pkgs; [ packages = with pkgs; [

View file

@ -1,4 +1,13 @@
{ config, lib, pkgs, ... }: # modules/dev/rust.nix --- https://rust-lang.org
#
# Oh Rust. The light of my life, fire of my loins. Years of C++ has conditioned
# me to believe there was no hope left, but the gods have heard us. Sure, you're
# not going to replace C/C++. Sure, your starlight popularity has been
# overblown. Sure, macros aren't namespaced, cargo bypasses crates.io, and there
# is no formal proof of your claims for safety, but who said you have to solve
# all the world's problems to be wonderful?
{ lib, pkgs, ... }:
{ {
my = { my = {
packages = with pkgs; [ packages = with pkgs; [

View file

@ -1,7 +1,8 @@
# I don't often use Unity, but I've worked with others who do. I'll commonly # modules/dev/unity3d.nix --- https://unity.com
# reach for it for group projects. #
# I don't use Unity often, but when I do, it's in a team or with students.
{ config, lib, pkgs, ... }: { pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
unity3d unity3d

View file

@ -1,5 +1,11 @@
{ config, lib, pkgs, ... }: # modules/dev/zsh.nix --- http://zsh.sourceforge.net/
#
# Shell script programmers are strange beasts. Writing programs in a language
# that wasn't intended as a programming language. Alas, it is not for us mere
# mortals to question the will of the ancient ones. If they want shell programs,
# they get shell programs.
{ pkgs, ... }:
{ {
my.packages = with pkgs; [ my.packages = with pkgs; [
shellcheck shellcheck

View file

@ -1,7 +1,8 @@
# It's difficult to be an artist/designer on Linux. I miss adobe and my tablets # modules/graphics.nix
# don't work without a lot of heart-ache. I set up a second computer just for #
# adobe work (and gaming) to address this, so why do I install these programs on # The hardest part about switching to linux was sacrifices adobe. It is so bad I
# linux? Because sometimes I need to do some quick work right there and then. # have a second computer dedicated to adobe (and gaming). Still, I can still
# manage half of my design work on open source alternatives.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {

View file

@ -1,11 +1,8 @@
# I use OBS to capture footage/stream and DaVinci Resolve for editing (on my # modules/recording.nix
# Windows system -- it will run on windows, but there is no way to automate its
# installation, what with their devs regsitration-gating their free download).
# #
# I also use ffmpeg for small casts/gifs, but this module is for the heavy duty # OBS to capture footage/stream, DaVinci Resolve for editing (on my Windows
# stuff. # system -- it will run on linux, but it can't be automated on nix, what with
# # their devs registration-gating their free download).
# This module is best paired with ./audio-editing.nix
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {

View file

@ -1,18 +1,17 @@
# We trained for this. The waves shudder and glare at me through its bright # We trained for this. The waves shudder. They glare at me through its bright
# tapestry. The clouds see me off as gravity lures me in lazily. How long have I # tapestry as I sink. How long have I been down here? I imagined Jenny leading
# been down here? I imagined Jenny leading the team back on a rescue mission and # the team back to rescue me and it upsets me. It wasn't worth the risk. We knew
# it upsets me. It was not worth the risk. We knew what we signed up for. # what we signed up for.
# #
# I hear glass crack. The sea depths hold my waist in a vice. Its strength # The sea's strength squeezes between the kelvar pockets of my suit. Glass
# squeezing between the kelvar pockets of my suit. It's hard to breathe. If I # cracks. It's hard to breathe. Cutting off the oxygen might be a nicer way to
# cut off the oxygen supply perhaps it'd be a nicer way to go. # go...
# #
# When did I get so creative? # When did I get so creative?
# #
# I can't see further than three feet. Snowflake fractures creep along my visor. # I can't see further than three feet. Snowflakes fracture across my visor.
# Would Jorgen be relieved to have a dorm bunk to himself? HQ packs us into our # Jorgen better be happy he gets our room all to himself now. I'll miss his
# subs like sardines. I'll miss his snoring. Maybe I'll catch up on all that # snoring. Maybe now's the time to catch up on all that lost sleep.
# missed sleep.
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {

View file

@ -1,4 +1,7 @@
# For testing software or building my games for other OSes # modules/vm.nix
#
# For testing software or building it on other OSes. If I find out how to get
# macOS on qemu/libvirt I'd be happy to leave virtualbox behind.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {