wip/yesman
Katharina Fey 3 years ago
parent f6ebd12ffb
commit 43fa5a76e2
Signed by: kookie
GPG Key ID: F972AEEA2887D547
  1. 1
      infra/libkookie/build
  2. 110
      infra/libkookie/roots/uwu.nix
  3. 4
      infra/nom/README.md
  4. 7
      infra/website/content/blog/xxx_nuance.md
  5. 29
      infra/website/content/blog/xxx_timetracking.md

@ -24,6 +24,7 @@ function build {
## Build and output build path for debugging
function debug {
build "$@"
echo "Build path: $OUT"
exec build "$@"
}

@ -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.";
}

@ -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.

@ -0,0 +1,7 @@
Title: The relativity of nunace
Category: Blog
Tags: culture, politics
Date: 2020-12-20
Status: Draft

@ -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
Loading…
Cancel
Save