parent
f6ebd12ffb
commit
43fa5a76e2
@ -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…
Reference in new issue