aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-21 06:23:30 +0100
committerMx Kookie <kookie@spacekookie.de>2020-12-26 17:24:42 +0100
commit43fa5a76e2cd35616c6dde8d711d642ff1b9bf51 (patch)
tree8fb2eafb9fd96ccd3c5e4f2ba881183fa93f824f
parentf6ebd12ffbede1eef55fecbfbc26f5075a3e5527 (diff)
code dump
-rwxr-xr-xinfra/libkookie/build1
-rw-r--r--infra/libkookie/roots/uwu.nix110
-rw-r--r--infra/nom/README.md4
-rw-r--r--infra/website/content/blog/xxx_nuance.md7
-rw-r--r--infra/website/content/blog/xxx_timetracking.md29
5 files changed, 151 insertions, 0 deletions
diff --git a/infra/libkookie/build b/infra/libkookie/build
index 227620c8519a..4ce8da17effb 100755
--- a/infra/libkookie/build
+++ b/infra/libkookie/build
@@ -24,6 +24,7 @@ function build {
## Build and output build path for debugging
function debug {
+ build "$@"
echo "Build path: $OUT"
exec build "$@"
}
diff --git a/infra/libkookie/roots/uwu.nix b/infra/libkookie/roots/uwu.nix
new file mode 100644
index 000000000000..a292ba04a228
--- /dev/null
+++ b/infra/libkookie/roots/uwu.nix
@@ -0,0 +1,110 @@
+/* TOP LEVEL DEVICE CONFIGURATION FOR
+ *
+ * uwu (Thinkpad X230)
+ *
+ * This file only contains settings that are specific to this one
+ * device (hardware and things outside of nix, like partitions).
+ *
+ * This file is part of LIBKOOKIE, a collection of nix expressions.
+ * LIBKOOKIE is licensed under the GPL-3.0 (or later) -- see LICENSE
+ */
+
+{ lib, config, pkgs, ... }:
+
+
+let
+ forActiveUsers = (attrs:
+ lib.listToAttrs (map (u: lib.nameValuePair "${u}" ({ ... }: attrs))
+ [ "spacekookie" ]));
+in
+{
+ nixpkgs.config.allowUnfree = true;
+
+ imports = [
+ <home-manager/nixos>
+ <modules>
+ # ../legacy/nix
+ # ../legacy/base
+ # ../legacy/docker
+ # ../legacy/workstation
+ # ../legacy/workstation/hardware/trackpoint
+ ];
+
+ libkookie = {
+ activeUsers = [ "spacekookie" ];
+ userPath = ../configuration/users;
+ };
+
+ libkookie.emacs = {
+ enable = true;
+ };
+
+ # libkookie.ui.i3.enable = true;
+
+ home-manager.users = forActiveUsers {
+ imports = [];
+ };
+
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.initrd.availableKernelModules =
+ [ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "sdhci_pci" ];
+ hardware.enableRedistributableFirmware = true;
+
+ boot.loader.grub = {
+ copyKernels = true;
+ device = "/dev/sda";
+ zfsSupport = true;
+ enableCryptodisk = true;
+ };
+
+ boot.extraModprobeConfig = "options kvm_item nested=1";
+ boot.zfs.devNodes = "/dev"; # FIXME: Why do I set this?
+ boot.cleanTmpDir = true;
+ boot.tmpOnTmpfs = true;
+ boot.supportedFilesystems = [ "zfs" "exfat" ];
+
+ services.zfs.autoSnapshot.enable = true;
+
+ fileSystems."/" = {
+ device = "zroot";
+ fsType = "zfs";
+
+ encrypted = {
+ enable = true;
+ label = "lvm";
+ blkDev = "/dev/disk/by-uuid/f1440abd-99e3-46a8-aa36-7824972fee54";
+ };
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/672c497c-18aa-4b00-ac95-78e810363d81";
+ fsType = "ext3";
+ };
+
+ swapDevices = [
+ { device = "/dev/disk/by-uuid/bd3d5c22-eed0-4371-ae25-456b8dfe9356"; }
+ ];
+
+ nix.maxJobs = lib.mkDefault 4;
+ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+
+ programs.java.enable = true;
+
+ # owo
+ networking.hostName = "uwu";
+ networking.hostId = "a82ecf29";
+ networking.wireguard.interfaces."intranet" = {
+ ips = [ "10.13.12.3" ];
+ privateKeyFile = "/var/lib/wg/private";
+ peers = [
+ { publicKey = "ugHG/NOqM/9hde9EmWpu7XsCpjT3WQbjLK99IGHtdjQ=";
+ allowedIPs = [ "10.13.12.0/24" "10.172.171.0/24" ];
+ endpoint = "hyperion.kookie.space:51820";
+ persistentKeepalive = 25; }
+ ];
+ };
+
+ system.stateVersion = "19.03";
+ users.users.spacekookie.hashedPassword = "$6$rounds=1000000$22ypycQ2AlCCv8iC$RrzyAbCX3D518nCgfR3MTqZhfK.GAclme7EQlKTlqH4oV1YvGd/aHdTfe59iMpf/J18tqEO2aSXsevTVQz2yW.";
+
+}
diff --git a/infra/nom/README.md b/infra/nom/README.md
new file mode 100644
index 000000000000..6d2b7a1fe10d
--- /dev/null
+++ b/infra/nom/README.md
@@ -0,0 +1,4 @@
+# Monorepo Manager (nom)
+
+nom is a tool to manage a monorepo, such as kookienomicon. It was
+written with the goal of reducing command overhead in mind.
diff --git a/infra/website/content/blog/xxx_nuance.md b/infra/website/content/blog/xxx_nuance.md
new file mode 100644
index 000000000000..6d24cca90920
--- /dev/null
+++ b/infra/website/content/blog/xxx_nuance.md
@@ -0,0 +1,7 @@
+Title: The relativity of nunace
+Category: Blog
+Tags: culture, politics
+Date: 2020-12-20
+Status: Draft
+
+
diff --git a/infra/website/content/blog/xxx_timetracking.md b/infra/website/content/blog/xxx_timetracking.md
new file mode 100644
index 000000000000..1b5d7a605837
--- /dev/null
+++ b/infra/website/content/blog/xxx_timetracking.md
@@ -0,0 +1,29 @@
+Title: Bikeshedding time tracking tooling
+Category: Blog
+Date: 2020-12-16
+Tags: /dev/diary
+Status: Draft
+
+
+For the past year and a half or so I've been self employed as a
+freelancer ([hire me] btw). Since then I've been confronted with the
+question of time tracking. It's not something I generally did for my
+personal projects, and while working for a consultancy, I usually had
+access to some proprietary/enterprise tool running in the browser that
+would allow me to track time done on different clients or projects.
+
+[hire me]: mailto:kookie@spacekookie.de
+
+I never quite liked the workflow of these tools however. For one, too
+many things are in the browser for my taste, and secondly they often
+made it difficult to see statistics, bulk edit entries, or deal with
+entries with overlapping days (which is a problem when working late at
+night, like I occasionally do).
+
+So I decided to write my own tool. Two drafts (one in Ruby, one in
+Rust) later, enter: [cassiopeia], a plain text terminal time tracking
+tool.
+
+[cassiopeia]: https://git.spacekookie.de
+
+