Compare commits

..

No commits in common. "4482ec422a111ce2f4290e4c495fa54444b42e65" and "4c6f2aa34a23e1bbe6d928a19abb7fa9e154fdc1" have entirely different histories.

20 changed files with 101 additions and 209 deletions

18
TODO.md
View file

@ -1,18 +0,0 @@
# To-dos
- [ ] Make personal homepage o:
- [ ] Make my own quickshell config
## New service deployments
- [ ] Fauna
- [ ] Immich
## Migrations
- [ ] Move away from flakes to either npins or lon (not that they replied; https://github.com/nikstur/lon/issues/57#issue-3652308987)
- [ ] Move to a setup similar to https://notashelf.dev/posts/impermanence - investigate encrypted swap WITH hibernation support
- [ ] Move away from gmail fully
- [ ] Move away from Discord primarily
- [ ] Move away from Spotify fully
- [ ] Move away from Cloudflare for DNS and hosting

6
flake.lock generated
View file

@ -1006,11 +1006,11 @@
]
},
"locked": {
"lastModified": 1764853849,
"narHash": "sha256-0J2wo7WLd5uRD769MXsCJqu1VwAhuA2hmIKr2+ltb6s=",
"lastModified": 1753213430,
"narHash": "sha256-2FNsT26OnFO3mh/0L42i7BNAN2JJhlIbmn+KB05CJMU=",
"owner": "kittywitch",
"repo": "konawall-py",
"rev": "fcbf702ab31286231ef71e0a7260e99cd7bbab86",
"rev": "c8877270497a34e0146342f942a093ef406c6fed",
"type": "github"
},
"original": {

View file

@ -44,16 +44,16 @@ in {
"Mod+Shift+Escape".action = sh ''${noctalia} sessionMenu toggle'';
#"Mod+Shift+Escape".action = sh ''${getExe config.programs.swaylock.package} -f'';
"Mod+L".action = sh ''${noctalia} lockScreen toggle'';
#"Mod+Tab" = {
# #repeat = false;
# cooldown-ms = 150;
# action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
#};
#"Mod+Shift+Tab" = {
# cooldown-ms = 150;
# #repeat = false;
# action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
#};
"Mod+Tab" = {
#repeat = false;
cooldown-ms = 150;
action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
};
"Mod+Shift+Tab" = {
cooldown-ms = 150;
#repeat = false;
action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"];
};
"Mod+Shift+Ctrl+Page_Down".action.move-workspace-to-monitor-previous = {};
"Mod+Shift+Ctrl+Page_Up".action.move-workspace-to-monitor-next = {};
};

View file

@ -75,35 +75,32 @@ in {
#deactivate-unfocused-windows = {};
};
workspaces = {
"01" = {
name = "";
"01-notes" = {
name = "notes";
};
"02" = {
name = "";
"02-chat" = {
name = "chat";
};
"03" = {
name = "";
"03-browser" = {
name = "browser";
};
"04" = {
name = "";
"04-code" = {
name = "code";
};
"05" = {
name = "";
"05-term" = {
name = "term";
};
"06" = {
name = "";
"06-mail" = {
name = "mail";
};
"07" = {
name = "";
"07-game" = {
name = "game";
};
"08" = {
name = "";
"08-video" = {
name = "video";
};
"09" = {
name = "";
};
"10" = {
name = "";
"09-audio" = {
name = "audio";
};
};
environment = {

View file

@ -14,7 +14,7 @@ in {
backgroundOpacity = 0.9;
monitors = [];
density = "comfortable";
showCapsule = false;
showCapsule = true;
floating = true;
marginVertical = 0.25;
marginHorizontal = 0.25;
@ -22,8 +22,7 @@ in {
left = [
{
id = "Workspace";
labelMode = "index+name";
characterCount = 10;
labelMode = "name";
}
{
id = "ActiveWindow";
@ -31,11 +30,6 @@ in {
}
];
center = [
];
right = [
{
id = "Tray";
}
{
id = "MediaMini";
showAlbumArt = true;
@ -46,6 +40,30 @@ in {
# if not, rewrite their system for it o.o
widgetWidth = 300;
}
{
id = "Clock";
formatHorizontal = "yyyy-MM-dd HH:mm t";
}
{
id = "NightLight";
}
{
id = "DarkMode";
}
{
id = "KeepAwake";
}
{
id = "ScreenRecorder";
}
];
right = [
{
id = "SystemMonitor";
}
{
id = "Tray";
}
{
id = "NotificationHistory";
}
@ -58,25 +76,8 @@ in {
{
id = "Brightness";
}
{
id = "NightLight";
}
{
id = "DarkMode";
}
{
id = "KeepAwake";
}
{
id = "ScreenRecorder";
}
{
id = "Clock";
formatHorizontal = "yyyy-MM-dd HH:mm t";
}
{
id = "ControlCenter";
useDistroLogo = true;
}
];
};

View file

@ -25,16 +25,16 @@
polarity = "dark";
fonts = {
sansSerif = {
name = "M+2 Nerd Font";
package = pkgs.nerd-fonts."m+";
name = "Atkinson Hyperlegible Next";
package = pkgs.atkinson-hyperlegible-next;
};
serif = {
name = "Libre Baskerville";
package = pkgs.libre-baskerville;
};
monospace = {
name = "M+1Code Nerd Font Mono";
package = pkgs.nerd-fonts."m+";
name = "Atkinson Hyperlegible Mono";
package = pkgs.atkinson-hyperlegible-mono;
};
};
autoEnable = true;

View file

@ -2,7 +2,7 @@
stylix.targets.alacritty.enable = true;
programs.alacritty = {
enable = true;
package = pkgs.alacritty;
package = pkgs.alacritty-graphics;
settings = {
};
};

View file

@ -1,6 +1,8 @@
{pkgs, ...}: {
home.packages = with pkgs; [
anki
# Password manager
bitwarden
# Task managers
btop
@ -8,7 +10,8 @@
aseprite
# Chat
telegram-desktop # Telegram
tdesktop # Telegram
dino # XMPP
signal-desktop
mumble
keymapp

View file

@ -23,24 +23,6 @@ _: {
flavor = "gmail.com";
};
in {
main =
mainEnable
// katIdentity
// {
flavor = "plain";
userName = "kat@dork.dev";
address = "kat@dork.dev";
imap = {
tls.enable = true;
host = "rinnosuke.inskip.me";
port = 993;
};
smtp = {
tls.enable = true;
host = "rinnosuke.inskip.me";
port = 465;
};
};
primary =
gmailAccount
// katIdentity

View file

@ -26,16 +26,16 @@
polarity = "dark";
fonts = {
sansSerif = {
name = "M+2 Nerd Font";
package = pkgs.nerd-fonts."m+";
name = "Atkinson Hyperlegible Next";
package = pkgs.atkinson-hyperlegible-next;
};
serif = {
name = "Libre Baskerville";
package = pkgs.libre-baskerville;
};
monospace = {
name = "M+1Code Nerd Font Mono";
package = pkgs.nerd-fonts."m+";
name = "Atkinson Hyperlegible Mono";
package = pkgs.atkinson-hyperlegible-mono;
};
};
autoEnable = true;

View file

@ -3,7 +3,6 @@
blacklistedKernelModules = ["k10temp"];
extraModulePackages = [config.boot.kernelPackages.zenpower];
kernelModules = ["zenpower"];
kernelParams = ["microcode.amd_sha_check=off"];
};
services.ucodenix.enable = true;
}

View file

@ -4,6 +4,5 @@ _: {
grub.configurationLimit = 8;
systemd-boot.configurationLimit = 8;
};
lanzaboote.configurationLimit = 5;
};
}

View file

@ -1,6 +1,7 @@
{
pkgs,
lib,
inputs,
...
}: let
inherit (lib.lists) singleton;
@ -20,21 +21,21 @@ in {
monadoEnvironment = {
XRT_COMPOSITOR_COMPUTE = "1";
};
package = pkgs.wivrn.overrideAttrs (_old: rec {
package = pkgs.wivrn.overrideAttrs (old: rec {
cudaSupport = true;
#version = "84e5203be3019278925ac03708567f2982360f8a";
#src = pkgs.fetchFromGitHub {
# owner = "notpeelz";
# repo = "WiVRn";
# rev = version;
# # This will throw an error when evaluating and give you the correct hash - put that here
# hash = "sha256-2s3j6vRtIRf6x+lQPobcuT1vzlCh1lMA54EUiCnxoFI=";
#};
#cmakeFlags =
# old.cmakeFlags
# ++ [
# (lib.cmakeBool "WIVRN_FEATURE_SOLARXR" true)
# ];
version = "84e5203be3019278925ac03708567f2982360f8a";
src = pkgs.fetchFromGitHub {
owner = "notpeelz";
repo = "WiVRn";
rev = version;
# This will throw an error when evaluating and give you the correct hash - put that here
hash = "sha256-2s3j6vRtIRf6x+lQPobcuT1vzlCh1lMA54EUiCnxoFI=";
};
cmakeFlags =
old.cmakeFlags
++ [
(lib.cmakeBool "WIVRN_FEATURE_SOLARXR" true)
];
});
defaultRuntime = true;
config = {
@ -92,8 +93,8 @@ in {
'')
];
})
#slimevr
#slimevr-server
#inputs.slimevr-wrangler.packages.${pkgs.system}.slimevr-wrangler
slimevr
slimevr-server
inputs.slimevr-wrangler.packages.${pkgs.system}.slimevr-wrangler
];
}

View file

@ -4,7 +4,7 @@
noto-fonts-cjk-sans
twitter-color-emoji
corefonts
vista-fonts
vistafonts
open-dyslexic
ubuntu-sans
monaspace

View file

@ -4,12 +4,11 @@
...
}: {
boot.extraModulePackages = with config.boot.kernelPackages; [
# TODO: check if working post 2025-12-04
#v4l2loopback
v4l2loopback
];
programs.obs-studio = {
enable = true;
#enableVirtualCamera = true;
enableVirtualCamera = true;
plugins = with pkgs.obs-studio-plugins; [
#obs-vaapi
#obs-tuna

View file

@ -6,6 +6,7 @@
imagemagick
];
services.udev.packages = [
pkgs.android-udev-rules
pkgs.zsa-udev-rules
pkgs.via
];

View file

@ -8,8 +8,6 @@
fqdn = "rinnosuke.inskip.me";
domains = ["dork.dev"];
fullTextSearch.enable = true;
# A list of all login accounts. To create the password hashes, use
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
loginAccounts = {

View file

@ -1,8 +1,6 @@
_: let
hostConfig = {
tree,
pkgs,
utils,
lib,
...
}: let
@ -39,9 +37,9 @@ _: let
};
};
swap = rec {
raw = "/dev/disk/by-id/nvme-CT1000P5PSSD8_22343AC9A481-part2";
result = {
device = "/dev/mapper/cryptswap";
options = ["x-systemd.device-timeout=15s" "nofail" "x-systemd.wants=systemd-cryptsetup@cryptswap.service"];
device = raw;
randomEncryption = false; # fix hibernation
};
};
@ -56,8 +54,8 @@ _: let
quiet-boot
wireless
laptop
gaming
performance
secureboot
])
++ (with tree.nixos.environments; [
niri
@ -90,87 +88,19 @@ _: let
datasetEntries
// {
"/boot" = drives.boot.result;
"/boot-keystore" = {
#neededForBoot = true;
device = "/dev/mapper/boot-keystore";
fsType = "ext4";
noCheck = true;
options = ["ro"];
};
};
systemd.enableEmergencyMode = true;
boot.initrd = {
systemd = {
emergencyAccess = true;
mounts = let
inherit (utils) escapeSystemdPath;
# maybe add a require for the /dev/mapper
sysrooty = escapeSystemdPath "/sysroot";
requiredBy = [
"${sysrooty}.mount"
]; #"systemd-cryptsetup@cryptswap.service" ];
requires = ["systemd-cryptsetup@boot-keystore.service"];
in [
{
where = "/boot-keystore";
what = "/dev/mapper/boot-keystore";
type = "ext4";
options = "ro";
unitConfig = {
};
before = requiredBy;
wantedBy = requiredBy;
inherit requires;
after = requires;
}
{
where = "/sysroot/boot-keystore";
what = "/boot-keystore";
type = "none";
options = "bind";
unitConfig = {
RequiresMountsFor = [
"/boot-keystore"
"/sysroot"
];
};
}
];
};
luks.devices = {
"boot-keystore".device = "/dev/disk/by-uuid/d80f77bb-fd82-43dd-9aa4-05da8d2b6154";
"cryptswap" = {
device = "/dev/disk/by-uuid/94948ee7-8c89-4b60-bd8c-68171b488d19";
keyFile = "/boot-keystore/swapkey";
};
};
};
environment.etc.crypttab = let
raw = "/dev/disk/by-uuid/94948ee7-8c89-4b60-bd8c-68171b488d19";
in {
mode = "0600";
text = ''
cryptswap ${raw} /boot-keystore/swapkey keyfile-timeout=5s
'';
};
#boot.resumeDevice = "/dev/mapper/cryptswap";
swapDevices = [
drives.swap.result
];
environment.systemPackages = [
pkgs.e2fsprogs
];
powerManagement.enable = true;
boot = {
loader = {
grub.useOSProber = true;
#systemd-boot.enable = lib.mkForce false;
systemd-boot.enable = true;
};
zfs = {
forceImportRoot = false;

View file

@ -93,8 +93,8 @@ resource "cloudflare_record" "webmail" {
proxied = false
ttl = 3600
type = "CNAME"
value = "rinnosuke.inskip.me"
zone_id = local.zone_ids.dork
value = "rinnosukeinskip.me"
zone_id = local.zone_ids.kittywitch
}
resource "cloudflare_record" "dork_mail_mx" {
@ -121,7 +121,7 @@ resource "cloudflare_record" "dork_mail_dkim" {
proxied = false
ttl = 10800
type = "TXT"
value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsfSxe5JNdrSyHoPuESnOles7KxP5NtHD60YZ7SXLANNkEb8/tSHmg4nGqLhqKrA7+gcrurjowibDYs4hAM/ozkMNch53n2ZVKRl1ExMSRAPlGl5ZNCGGYVuRQlTMGvek2tIp3GbxafGF6QWSG1sA63fI9pxGosf/qc3wX5gtHxmKB9jn1Q6d9SDuJN72StIRjl81zaJFQJswvKx5keNvbW9oOP/xBVFPbnNZq52f/MsIpo4R33Vk0CrFvj5lnEKh5t6Bx1XUpJnkzQE934h+x1B+ypLkAPpLw4VnbDBMNc/ZkGbfJuM9YsasoEYgeoAtWKkyJV2WKZfppo1pUtR7swIDAQAB"
value = "v=DKIM1; k=rsa; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsfSxe5JNdrSyHoPuESnOles7KxP5NtHD60YZ7SXLANNkEb8/tSHmg4nGqLhqKrA7+gcrurjowibDYs4hAM/ozkMNch53n2ZVKRl1ExMSRAPlGl5ZNCGGYVuRQlTMGvek2tIp3GbxafGF6QWSG1sA63fI9pxGosf/qc3wX5gtHxmKB9jn1Q6d9SDuJN72StIRjl81zaJFQJswvKx5keNvbW9oOP/xBVFPbnNZq52f/MsIpo4R33Vk0CrFvj5lnEKh5t6Bx1XUpJnkzQE934h+x1B+ypLkAPpLw4VnbDBMNc/ZkGbfJuM9YsasoEYgeoAtWKkyJV2WKZfppo1pUtR7swIDAQAB"
zone_id = local.zone_ids.dork
}

File diff suppressed because one or more lines are too long