Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-06-02 14:38:55 +02:00
18 changed files with 257 additions and 696 deletions

View File

@@ -0,0 +1,58 @@
{ pkgs, user, ... }:
{
home.packages = let
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {
flakeIgnore = [ "E302" "E305" "E226" "E501" ];
} /* python */ ''
import os
import sys
def replace_campus_timezone(directory):
if not os.path.isdir(directory):
print(f"Error: {directory} is not a valid directory.")
return
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
if not os.path.isfile(filepath):
continue
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
if 'TZID:Europe/Berlin' in content or 'TZID="Europe/Berlin"' in content:
# Remove VTIMEZONE block for CampusNetZeit (optional depending on needs)
# Use a regex if multiple VTIMEZONE blocks may exist
start_idx = content.find('BEGIN:VTIMEZONE')
end_idx = content.find('END:VTIMEZONE', start_idx)
if start_idx != -1 and end_idx != -1:
content = content[:start_idx] + content[end_idx + len('END:VTIMEZONE\n'):]
# Replace all TZID references
content = content.replace('TZID:Europe/Berlin', 'TZID:Europe/Berlin')
content = content.replace('TZID="Europe/Berlin"', 'TZID="Europe/Berlin"')
with open(filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f"Updated time zone in: {filename}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python replace_timezone.py <directory>")
else:
replace_campus_timezone(sys.argv[1])
'';
in [
(pkgs.writeShellApplication {
name = "nx_fix_campuszeit";
text = /*bash*/ ''
echo CHANGING OWNERSHIP OF "$(realpath "$1")" RECURSIVELY
read -r -p "Continue?"
sudo chown -R ${user} "$1"
${u}/bin/nx_fix_campuszeit_python "$1"
sudo chown -R radicale "$1"
'';
})
];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, secrets, ... }:
{ config, pkgs, rice, user, secrets, ... }:
let
channels = [
"Caedrel"
@@ -43,8 +43,14 @@ let
};
};
in {
sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
home = {
packages = with pkgs; [ chatterino2 ];
packages = with pkgs; [
chatterino2
streamlink
mpv
];
file = {
".local/share/chatterino/Settings/settings.json".text = with secrets.chatterino; /* json */ ''
{
@@ -76,10 +82,8 @@ in {
"showUptime": true,
"showViewerCount": true
},
"tabVisibility": 1,
"theme": {
"name": "nxtheme.json"
}
"tabVisibility": 0,
"theme": { "name": "nxtheme.json" }
},
"behaviour": {
"pauseOnHoverDuration": 5.0,
@@ -93,615 +97,87 @@ in {
},
"highlighting": {
"badges": [
{
"alert": false,
"color": "#7f7f3f49",
"displayName": "Broadcaster",
"name": "broadcaster",
"showInMentions": false,
"sound": false,
"soundUrl": ""
},
{
"alert": false,
"color": "#7f7f3f49",
"displayName": "Admin",
"name": "admin",
"showInMentions": false,
"sound": false,
"soundUrl": ""
},
{
"alert": false,
"color": "#7f7f3f49",
"displayName": "Staff",
"name": "staff",
"showInMentions": false,
"sound": false,
"soundUrl": ""
},
{
"alert": false,
"displayName": "Moderator",
"name": "moderator",
"showInMentions": false,
"sound": false,
"soundUrl": ""
},
{
"alert": false,
"color": "#7f7f3578",
"displayName": "VIP",
"name": "vip",
"showInMentions": false,
"sound": false,
"soundUrl": ""
}
{ "alert": false, "color": "#7f7f3f49", "displayName": "Broadcaster", "name": "broadcaster", "showInMentions": false, "sound": false, "soundUrl": "" },
{ "alert": false, "color": "#7f7f3f49", "displayName": "Admin", "name": "admin", "showInMentions": false, "sound": false, "soundUrl": "" },
{ "alert": false, "color": "#7f7f3f49", "displayName": "Staff", "name": "staff", "showInMentions": false, "sound": false, "soundUrl": "" },
{ "alert": false, "displayName": "Moderator", "name": "moderator", "showInMentions": false, "sound": false, "soundUrl": "" },
{ "alert": false, "color": "#7f7f3578", "displayName": "VIP", "name": "vip", "showInMentions": false, "sound": false, "soundUrl": "" }
],
"selfMessageHighlight": {
"color": "#73008cff",
"enabled": true
}
"selfMessageHighlight": { "color": "#73008cff", "enabled": true }
},
"hotkeys": {
"addedDefaults": [
"change channel",
"close popup window",
"create clip",
"delete",
"emote picker",
"focus down",
"focus left",
"focus right",
"focus up",
"go to end of input",
"go to end of input with selection",
"go to start of input",
"go to start of input with selection",
"new popup window",
"new popup window from tab",
"new split",
"new tab",
"next message",
"open debug popup",
"open quick switcher",
"open settings",
"popup accept",
"popup focus search box",
"popup reject",
"popup scroll down",
"popup scroll up",
"popup select last tab",
"popup select next tab",
"popup select previous tab",
"popup select tab #1",
"popup select tab #2",
"popup select tab #3",
"popup select tab #4",
"popup select tab #5",
"popup select tab #6",
"popup select tab #7",
"popup select tab #8",
"previous message",
"reconnect",
"reload emotes",
"remove tab",
"reopen split",
"scroll page down",
"scroll page up",
"scroll to bottom",
"scroll to top",
"select last tab",
"select next tab",
"select previous tab",
"select tab #1",
"select tab #2",
"select tab #3",
"select tab #4",
"select tab #5",
"select tab #6",
"select tab #7",
"select tab #8",
"send message",
"send message and keep text",
"show global search",
"show search",
"toggle live tabs only",
"toggle local r9k",
"toggle tab visibility",
"zoom in",
"zoom out",
"zoom reset"
],
"change channel": {
"action": "changeChannel",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+R"
},
"close popup window": {
"action": "delete",
"arguments": [],
"category": "popupWindow",
"keySequence": "Esc"
},
"create clip": {
"action": "createClip",
"arguments": [],
"category": "split",
"keySequence": "Alt+X"
},
"delete": {
"action": "delete",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+W"
},
"emote picker": {
"action": "openEmotesPopup",
"arguments": [],
"category": "splitInput",
"keySequence": "Ctrl+E"
},
"focus down": {
"action": "focus",
"arguments": [
"down"
],
"category": "split",
"keySequence": "Alt+Down"
},
"focus left": {
"action": "focus",
"arguments": [
"left"
],
"category": "split",
"keySequence": "Alt+Left"
},
"focus right": {
"action": "focus",
"arguments": [
"right"
],
"category": "split",
"keySequence": "Alt+Right"
},
"focus up": {
"action": "focus",
"arguments": [
"up"
],
"category": "split",
"keySequence": "Alt+Up"
},
"go to end of input": {
"action": "cursorToEnd",
"arguments": [
"withoutSelection"
],
"category": "splitInput",
"keySequence": "End"
},
"go to end of input with selection": {
"action": "cursorToEnd",
"arguments": [
"withSelection"
],
"category": "splitInput",
"keySequence": "Shift+End"
},
"go to start of input": {
"action": "cursorToStart",
"arguments": [
"withoutSelection"
],
"category": "splitInput",
"keySequence": "Home"
},
"go to start of input with selection": {
"action": "cursorToStart",
"arguments": [
"withSelection"
],
"category": "splitInput",
"keySequence": "Shift+Home"
},
"new popup window": {
"action": "popup",
"arguments": [
"split"
],
"category": "window",
"keySequence": "Ctrl+N"
},
"new popup window from tab": {
"action": "popup",
"arguments": [
"window"
],
"category": "window",
"keySequence": "Ctrl+Shift+N"
},
"new split": {
"action": "newSplit",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+T"
},
"new tab": {
"action": "newTab",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+Shift+T"
},
"next message": {
"action": "nextMessage",
"arguments": [],
"category": "splitInput",
"keySequence": "Down"
},
"open debug popup": {
"action": "debug",
"arguments": [],
"category": "split",
"keySequence": "F10"
},
"open quick switcher": {
"action": "openQuickSwitcher",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+K"
},
"open settings": {
"action": "openSettings",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+P"
},
"popup accept": {
"action": "accept",
"arguments": [],
"category": "popupWindow",
"keySequence": "Return"
},
"popup focus search box": {
"action": "search",
"arguments": [],
"category": "popupWindow",
"keySequence": "Ctrl+F"
},
"popup reject": {
"action": "reject",
"arguments": [],
"category": "popupWindow",
"keySequence": "Esc"
},
"popup scroll down": {
"action": "scrollPage",
"arguments": [
"down"
],
"category": "popupWindow",
"keySequence": "PgDown"
},
"popup scroll up": {
"action": "scrollPage",
"arguments": [
"up"
],
"category": "popupWindow",
"keySequence": "PgUp"
},
"popup select last tab": {
"action": "openTab",
"arguments": [
"last"
],
"category": "popupWindow",
"keySequence": "Ctrl+9"
},
"popup select next tab": {
"action": "openTab",
"arguments": [
"next"
],
"category": "popupWindow",
"keySequence": "Ctrl+Tab"
},
"popup select previous tab": {
"action": "openTab",
"arguments": [
"previous"
],
"category": "popupWindow",
"keySequence": "Ctrl+Shift+Tab"
},
"popup select tab #1": {
"action": "openTab",
"arguments": [
"0"
],
"category": "popupWindow",
"keySequence": "Ctrl+1"
},
"popup select tab #2": {
"action": "openTab",
"arguments": [
"1"
],
"category": "popupWindow",
"keySequence": "Ctrl+2"
},
"popup select tab #3": {
"action": "openTab",
"arguments": [
"2"
],
"category": "popupWindow",
"keySequence": "Ctrl+3"
},
"popup select tab #4": {
"action": "openTab",
"arguments": [
"3"
],
"category": "popupWindow",
"keySequence": "Ctrl+4"
},
"popup select tab #5": {
"action": "openTab",
"arguments": [
"4"
],
"category": "popupWindow",
"keySequence": "Ctrl+5"
},
"popup select tab #6": {
"action": "openTab",
"arguments": [
"5"
],
"category": "popupWindow",
"keySequence": "Ctrl+6"
},
"popup select tab #7": {
"action": "openTab",
"arguments": [
"6"
],
"category": "popupWindow",
"keySequence": "Ctrl+7"
},
"popup select tab #8": {
"action": "openTab",
"arguments": [
"7"
],
"category": "popupWindow",
"keySequence": "Ctrl+8"
},
"previous message": {
"action": "previousMessage",
"arguments": [],
"category": "splitInput",
"keySequence": "Up"
},
"reconnect": {
"action": "reconnect",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+F5"
},
"reload emotes": {
"action": "reloadEmotes",
"arguments": [],
"category": "split",
"keySequence": "F5"
},
"remove tab": {
"action": "removeTab",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+Shift+W"
},
"reopen split": {
"action": "reopenSplit",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+G"
},
"scroll page down": {
"action": "scrollPage",
"arguments": [
"down"
],
"category": "split",
"keySequence": "PgDown"
},
"scroll page up": {
"action": "scrollPage",
"arguments": [
"up"
],
"category": "split",
"keySequence": "PgUp"
},
"scroll to bottom": {
"action": "scrollToBottom",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+End"
},
"scroll to top": {
"action": "scrollToTop",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+Home"
},
"select last tab": {
"action": "openTab",
"arguments": [
"last"
],
"category": "window",
"keySequence": "Ctrl+9"
},
"select next tab": {
"action": "openTab",
"arguments": [
"next"
],
"category": "window",
"keySequence": "Ctrl+Tab"
},
"select previous tab": {
"action": "openTab",
"arguments": [
"previous"
],
"category": "window",
"keySequence": "Ctrl+Shift+Tab"
},
"select tab #1": {
"action": "openTab",
"arguments": [
"0"
],
"category": "window",
"keySequence": "Ctrl+1"
},
"select tab #2": {
"action": "openTab",
"arguments": [
"1"
],
"category": "window",
"keySequence": "Ctrl+2"
},
"select tab #3": {
"action": "openTab",
"arguments": [
"2"
],
"category": "window",
"keySequence": "Ctrl+3"
},
"select tab #4": {
"action": "openTab",
"arguments": [
"3"
],
"category": "window",
"keySequence": "Ctrl+4"
},
"select tab #5": {
"action": "openTab",
"arguments": [
"4"
],
"category": "window",
"keySequence": "Ctrl+5"
},
"select tab #6": {
"action": "openTab",
"arguments": [
"5"
],
"category": "window",
"keySequence": "Ctrl+6"
},
"select tab #7": {
"action": "openTab",
"arguments": [
"6"
],
"category": "window",
"keySequence": "Ctrl+7"
},
"select tab #8": {
"action": "openTab",
"arguments": [
"7"
],
"category": "window",
"keySequence": "Ctrl+8"
},
"send message": {
"action": "sendMessage",
"arguments": [],
"category": "splitInput",
"keySequence": "Return"
},
"send message and keep text": {
"action": "sendMessage",
"arguments": [
"keepInput"
],
"category": "splitInput",
"keySequence": "Ctrl+Return"
},
"show global search": {
"action": "showGlobalSearch",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+Shift+F"
},
"show search": {
"action": "showSearch",
"arguments": [],
"category": "split",
"keySequence": "Ctrl+F"
},
"toggle live tabs only": {
"action": "setTabVisibility",
"arguments": [
"toggleLiveOnly"
],
"category": "window",
"keySequence": "Ctrl+Shift+L"
},
"toggle local r9k": {
"action": "toggleLocalR9K",
"arguments": [],
"category": "window",
"keySequence": "Ctrl+H"
},
"toggle tab visibility": {
"action": "setTabVisibility",
"arguments": [
"toggle"
],
"category": "window",
"keySequence": "Ctrl+U"
},
"zoom in": {
"action": "zoom",
"arguments": [
"in"
],
"category": "window",
"keySequence": "Ctrl++"
},
"zoom out": {
"action": "zoom",
"arguments": [
"out"
],
"category": "window",
"keySequence": "Ctrl+-"
},
"zoom reset": {
"action": "zoom",
"arguments": [
"reset"
],
"category": "window",
"keySequence": "Ctrl+0"
}
"addedDefaults": [ "change channel", "close popup window", "create clip", "delete", "emote picker", "focus down", "focus left", "focus right", "focus up", "go to end of input", "go to end of input with selection", "go to start of input", "go to start of input with selection", "new popup window", "new popup window from tab", "new split", "new tab", "next message", "open debug popup", "open quick switcher", "open settings", "popup accept", "popup focus search box", "popup reject", "popup scroll down", "popup scroll up", "popup select last tab", "popup select next tab", "popup select previous tab", "popup select tab #1", "popup select tab #2", "popup select tab #3", "popup select tab #4", "popup select tab #5", "popup select tab #6", "popup select tab #7", "popup select tab #8", "previous message", "reconnect", "reload emotes", "remove tab", "reopen split", "scroll page down", "scroll page up", "scroll to bottom", "scroll to top", "select last tab", "select next tab", "select previous tab", "select tab #1", "select tab #2", "select tab #3", "select tab #4", "select tab #5", "select tab #6", "select tab #7", "select tab #8", "send message", "send message and keep text", "show global search", "show search", "toggle live tabs only", "toggle local r9k", "toggle tab visibility", "zoom in", "zoom out", "zoom reset" ],
"change channel": { "action": "changeChannel", "arguments": [], "category": "split", "keySequence": "Ctrl+R" },
"close popup window": { "action": "delete", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
"create clip": { "action": "createClip", "arguments": [], "category": "split", "keySequence": "Alt+X" },
"delete": { "action": "delete", "arguments": [], "category": "split", "keySequence": "Ctrl+W" },
"emote picker": { "action": "openEmotesPopup", "arguments": [], "category": "splitInput", "keySequence": "Ctrl+E" },
"focus down": { "action": "focus", "arguments": [ "down" ], "category": "split", "keySequence": "Alt+Down" },
"focus left": { "action": "focus", "arguments": [ "left" ], "category": "split", "keySequence": "Alt+Left" },
"focus right": { "action": "focus", "arguments": [ "right" ], "category": "split", "keySequence": "Alt+Right" },
"focus up": { "action": "focus", "arguments": [ "up" ], "category": "split", "keySequence": "Alt+Up" },
"go to end of input": { "action": "cursorToEnd", "arguments": [ "withoutSelection" ], "category": "splitInput", "keySequence": "End" },
"go to end of input with selection": { "action": "cursorToEnd", "arguments": [ "withSelection" ], "category": "splitInput", "keySequence": "Shift+End" },
"go to start of input": { "action": "cursorToStart", "arguments": [ "withoutSelection" ], "category": "splitInput", "keySequence": "Home" },
"go to start of input with selection": { "action": "cursorToStart", "arguments": [ "withSelection" ], "category": "splitInput", "keySequence": "Shift+Home" },
"new popup window": { "action": "popup", "arguments": [ "split" ], "category": "window", "keySequence": "Ctrl+N" },
"new popup window from tab": { "action": "popup", "arguments": [ "window" ], "category": "window", "keySequence": "Ctrl+Shift+N" },
"new split": { "action": "newSplit", "arguments": [], "category": "window", "keySequence": "Ctrl+T" },
"new tab": { "action": "newTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+T" },
"next message": { "action": "nextMessage", "arguments": [], "category": "splitInput", "keySequence": "Down" },
"open debug popup": { "action": "debug", "arguments": [], "category": "split", "keySequence": "F10" },
"open quick switcher": { "action": "openQuickSwitcher", "arguments": [], "category": "window", "keySequence": "Ctrl+K" },
"open settings": { "action": "openSettings", "arguments": [], "category": "window", "keySequence": "Ctrl+P" },
"popup accept": { "action": "accept", "arguments": [], "category": "popupWindow", "keySequence": "Return" },
"popup focus search box": { "action": "search", "arguments": [], "category": "popupWindow", "keySequence": "Ctrl+F" },
"popup reject": { "action": "reject", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
"popup scroll down": { "action": "scrollPage", "arguments": [ "down" ], "category": "popupWindow", "keySequence": "PgDown" },
"popup scroll up": { "action": "scrollPage", "arguments": [ "up" ], "category": "popupWindow", "keySequence": "PgUp" },
"popup select last tab": { "action": "openTab", "arguments": [ "last" ], "category": "popupWindow", "keySequence": "Ctrl+9" },
"popup select next tab": { "action": "openTab", "arguments": [ "next" ], "category": "popupWindow", "keySequence": "Ctrl+Tab" },
"popup select previous tab": { "action": "openTab", "arguments": [ "previous" ], "category": "popupWindow", "keySequence": "Ctrl+Shift+Tab" },
"popup select tab #1": { "action": "openTab", "arguments": [ "0" ], "category": "popupWindow", "keySequence": "Ctrl+1" },
"popup select tab #2": { "action": "openTab", "arguments": [ "1" ], "category": "popupWindow", "keySequence": "Ctrl+2" },
"popup select tab #3": { "action": "openTab", "arguments": [ "2" ], "category": "popupWindow", "keySequence": "Ctrl+3" },
"popup select tab #4": { "action": "openTab", "arguments": [ "3" ], "category": "popupWindow", "keySequence": "Ctrl+4" },
"popup select tab #5": { "action": "openTab", "arguments": [ "4" ], "category": "popupWindow", "keySequence": "Ctrl+5" },
"popup select tab #6": { "action": "openTab", "arguments": [ "5" ], "category": "popupWindow", "keySequence": "Ctrl+6" },
"popup select tab #7": { "action": "openTab", "arguments": [ "6" ], "category": "popupWindow", "keySequence": "Ctrl+7" },
"popup select tab #8": { "action": "openTab", "arguments": [ "7" ], "category": "popupWindow", "keySequence": "Ctrl+8" },
"previous message": { "action": "previousMessage", "arguments": [], "category": "splitInput", "keySequence": "Up" },
"reconnect": { "action": "reconnect", "arguments": [], "category": "split", "keySequence": "Ctrl+F5" },
"reload emotes": { "action": "reloadEmotes", "arguments": [], "category": "split", "keySequence": "F5" },
"remove tab": { "action": "removeTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+W" },
"reopen split": { "action": "reopenSplit", "arguments": [], "category": "window", "keySequence": "Ctrl+G" },
"scroll page down": { "action": "scrollPage", "arguments": [ "down" ], "category": "split", "keySequence": "PgDown" },
"scroll page up": { "action": "scrollPage", "arguments": [ "up" ], "category": "split", "keySequence": "PgUp" },
"scroll to bottom": { "action": "scrollToBottom", "arguments": [], "category": "split", "keySequence": "Ctrl+End" },
"scroll to top": { "action": "scrollToTop", "arguments": [], "category": "split", "keySequence": "Ctrl+Home" },
"select last tab": { "action": "openTab", "arguments": [ "last" ], "category": "window", "keySequence": "Ctrl+9" },
"select next tab": { "action": "openTab", "arguments": [ "next" ], "category": "window", "keySequence": "Ctrl+Tab" },
"select previous tab": { "action": "openTab", "arguments": [ "previous" ], "category": "window", "keySequence": "Ctrl+Shift+Tab" },
"select tab #1": { "action": "openTab", "arguments": [ "0" ], "category": "window", "keySequence": "Ctrl+1" },
"select tab #2": { "action": "openTab", "arguments": [ "1" ], "category": "window", "keySequence": "Ctrl+2" },
"select tab #3": { "action": "openTab", "arguments": [ "2" ], "category": "window", "keySequence": "Ctrl+3" },
"select tab #4": { "action": "openTab", "arguments": [ "3" ], "category": "window", "keySequence": "Ctrl+4" },
"select tab #5": { "action": "openTab", "arguments": [ "4" ], "category": "window", "keySequence": "Ctrl+5" },
"select tab #6": { "action": "openTab", "arguments": [ "5" ], "category": "window", "keySequence": "Ctrl+6" },
"select tab #7": { "action": "openTab", "arguments": [ "6" ], "category": "window", "keySequence": "Ctrl+7" },
"select tab #8": { "action": "openTab", "arguments": [ "7" ], "category": "window", "keySequence": "Ctrl+8" },
"send message": { "action": "sendMessage", "arguments": [], "category": "splitInput", "keySequence": "Return" },
"send message and keep text": { "action": "sendMessage", "arguments": [ "keepInput" ], "category": "splitInput", "keySequence": "Ctrl+Return" },
"show global search": { "action": "showGlobalSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+Shift+F" },
"show search": { "action": "showSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+F" },
"toggle live tabs only": { "action": "setTabVisibility", "arguments": [ "toggleLiveOnly" ], "category": "window", "keySequence": "Ctrl+Shift+L" },
"toggle local r9k": { "action": "toggleLocalR9K", "arguments": [], "category": "window", "keySequence": "Ctrl+H" },
"toggle tab visibility": { "action": "setTabVisibility", "arguments": [ "toggle" ], "category": "window", "keySequence": "Ctrl+U" },
"zoom in": { "action": "zoom", "arguments": [ "in" ], "category": "window", "keySequence": "Ctrl++" },
"zoom out": { "action": "zoom", "arguments": [ "out" ], "category": "window", "keySequence": "Ctrl+-" },
"zoom reset": { "action": "zoom", "arguments": [ "reset" ], "category": "window", "keySequence": "Ctrl+0" }
},
"misc": {
"currentVersion": "2.5.1",
"currentVersion": "2.5.3",
"lockNotebookLayout": false
},
"similarity": {
@@ -713,6 +189,12 @@ in {
"ui": {
"lastSelectChannelTab": 0,
"lastSelectIrcConn": -1
},
"external": {
"streamlink": {
"quality": "",
"options": "--config /home/${user}/.config/streamlink/config"
}
}
}
'';
@@ -732,7 +214,7 @@ in {
}];
};
".local/share/chatterino/Themes/nxtheme.json".text = with rice.color; let
tr = builtins.toString (rice.lib.float-to-drune rice.transparency);
# tr = builtins.toString (rice.lib.float-to-drune rice.transparency);
nh = rice.lib.nohash;
in /* json */ ''
{
@@ -822,6 +304,24 @@ in {
}
}
'';
".local/share/chatterino/Settings/commands.json".text = ''
{
"commands": [
{
"name": "/sl",
"func": "/streamlink",
"showInMsgContextMenu": false
}
]
}
'';
".config/streamlink/config".text = ''
twitch-api-header=Authorization=OAuth='$(cat ${config.sops.secrets."streamlink/twitch-oauth".path})'
player=mpv
player-args='--no-terminal'
twitch-low-latency
default-stream=best
'';
};
};
}

View File

@@ -1,5 +1,4 @@
{ pkgs, hyper, ... }:
# lib.mkIf (host == "NxNORTH" || host == "NxACE")
pkgs.lib.mkIf (hyper.host == "NxNORTH")
{
home = {
@@ -7,9 +6,11 @@ pkgs.lib.mkIf (hyper.host == "NxNORTH")
protonup
mangohud
prismlauncher
# heroic
mindustry-wayland
# mindustry-wayland
]) ++ [ pkgs.heroic ];
sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";

View File

@@ -1,40 +1,13 @@
{ pkgs, hyper, rice, ... }:
{
home.packages = with pkgs; [
git
delta
(pkgs.writeShellScriptBin "git_monitor" ''
#!/bin/bash
# List of directories to check
directories=(
"$HOME/nix-dots"
"$HOME/obsidian-vault"
"$HOME/Pictures/wallpapers"
)
echo ""
for dir in "''${directories[@]}"; do
if [ -d "$dir" ]; then
cd "$dir" || { echo "Cannot change directory to $dir"; exit 1; }
echo "$(echo $dir | rev | cut -f 1 -d'/' | rev):"
if [[ $* == *--fetch* ]]; then
git fetch
fi
gst
echo ""
cd - > /dev/null || { echo "Cannot change back to the original directory"; exit 1; }
else
echo "Directory $dir does not exist."
fi
done
'')
(writeShellScriptBin "gst" "awk -vOFS='' 'NR==FNR {all[i++] = $0; difffiles[$1] = $0; next;} ! ($2 in difffiles) {print; next;} {gsub($2, difffiles[$2]); print;} END {if (NR != FNR) {exit;} for (i in all) {print all[i];}}' <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') <(git -c color.status=always status -sb)")
];
programs.git = {
enable = true;
package = pkgs.gitFull;
userName = ''Lennart J. Kurzweg (Nx2)'';
userEmail = "git@${hyper.domain}";
delta = {
@@ -46,6 +19,14 @@
whitespace-error-style = "22 reverse";
};
};
extraConfig = {
credential = {
"https://git.da.dicos.de".username = pkgs.lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
"https://git.da.dicos.de".password = pkgs.lib.mkIf (hyper.host =="NxWSL") "Test";
};
url."ssh://git@git.da.dicos.de/".insteadOf = pkgs.lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/";
pull.rebase = false; # true
};
};
programs.lazygit = {
enable = true;

View File

@@ -10,7 +10,6 @@
python311Packages.python-lsp-server
jdt-language-server
ruff
# ruff-lsp
pyright
lldb # debugger for llvm stuff
yaml-language-server # yaml
@@ -51,7 +50,7 @@
preview-completion-insert = true;
completion-trigger-len = 1;
auto-info = true;
true-color = false; # is detected automatically if set to false
true-color = true; # is detected automatically if set to false
undercurl = false; # is detected automatically if set to false
rulers = [];
bufferline = "always";

View File

@@ -108,7 +108,7 @@ in {
workspace = let
d1 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name);
d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name);
d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
# d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name);
compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false";

View File

@@ -14,6 +14,7 @@
glib
glow
gnumake
htop
imagemagick
jq
lolcat