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

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-06-24 12:36:54 +02:00
119 changed files with 472 additions and 672 deletions

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
bitwarden

View File

@@ -1,4 +1,4 @@
{ pkgs, user, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = let
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, secrets, ... }: let
{ pkgs, ... }@all: with all; let
calendars = with hyper; [
{
name = "Preservation";
@@ -85,7 +85,7 @@ in {
userName = hyper.user; # my globally set username
};
};
in pkgs.lib.attrsets.mergeAttrsList (
in lib.attrsets.mergeAttrsList (
map (calendar: {
"${calendar.name}" = transform_caledar_set ( default_set // calendar );
}) calendars
@@ -93,7 +93,7 @@ in {
programs.thunderbird.settings = let
to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name;
in (pkgs.lib.attrsets.mergeAttrsList (
in (lib.attrsets.mergeAttrsList (
map (calendar: with ( default_set // calendar ); {
"calendar.registry.${to_safe_name calendar.name}.cache.enabled" = true;
"calendar.registry.${to_safe_name calendar.name}.calendar-main-default" = primary;
@@ -106,7 +106,7 @@ in {
"calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only;
}) calendars
) // {
"calendar.list.sortOrder" = pkgs.lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
"calendar.list.sortOrder" = lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
"calendar.week.start" = 1;
});
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, rice, secrets, ... }:
{ pkgs, ... }@all: with all;
let
channels = [
"Caedrel"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
services.clipman = {
package = pkgs.clipman;

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
home = {
packages = with pkgs; [

View File

@@ -1,12 +1,12 @@
{ pkgs, hyper, rice, secrets, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
home.packages = with pkgs; [
thunderbird
];
programs.thunderbird = let
inherit (pkgs.lib.generators) toJSON;
inherit (lib.generators) toJSON;
extensions = toJSON {} {
"addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d";
};

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }:
{ pkgs, ... }@all: with all;
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
fish

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host == "NxNORTH")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host == "NxNORTH")
{
home = {
packages = (with pkgs.unstable; [

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host == "NxXPS")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host == "NxXPS")
{
home.packages = with pkgs; [
libinput-gestures

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }:
{ pkgs, ... }@all: with all;
{
programs.ghostty = {
enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
# (gimp-with-plugins.override {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
delta
@@ -21,10 +21,10 @@
};
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";
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
"https://git.da.dicos.de".password = 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/";
url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/";
pull.rebase = false; # true
};
};

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
# there also is a system module
home.packages = with pkgs; [
@@ -7,7 +7,6 @@
pinentry-all
];
# services.pcscd.enable = true;
services.gpg-agent = let
min2sec = min: (min * 60);
in {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, rice, ... }:
{ pkgs, ... }@all: with all;
let
# theme-name = "Colloid-Pink-Dark-Compact";
# theme-package = pkgs.colloid-gtk-theme.override {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [
@@ -271,7 +271,7 @@
command = "nixd";
};
"style-check" = {
command = pkgs.lib.getExe pkgs.vale-ls;
command = lib.getExe pkgs.vale-ls;
};
"language-tool" = {
command = "${pkgs.ltex-ls}/bin/ltex-ls";
@@ -287,7 +287,7 @@
];
};
"llm" = {
command = pkgs.lib.getExe pkgs.helix-gpt;
command = lib.getExe pkgs.helix-gpt;
args = [
"--handler"
"ollama"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [ hyprland-autoname-workspaces ];

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, inputs, rice, ... }:
{ pkgs, ... }@all: with all;
let
animation-speed = "5";
transparency = builtins.toString rice.transparency;
@@ -308,8 +308,8 @@ in {
"opacity ${transparency}, class:^(Code)$"
"opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(element)$"
"opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(neovide)$"
"opacity ${transparency}, class:^(obsidian)$"

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
home.packages = with pkgs; [
texlab # LSP

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [ libnotify ];
services.mako = with rice; {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
# cinny-desktop

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
nixd

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.nvidia.enable == true)
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.nvidia.enable == true)
{
home = {
packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ config, pkgs, secrets, ... }: let
{ pkgs, ... }@all: with all;
sep = " ";
in {
home = {

View File

@@ -1,11 +1,11 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = [
(pkgs.writeShellApplication {
name = "nx_backup";
runtimeInputs = [ ];
text = let
web-root = "/var/nginx/webroot";
web-root = hyper.webroot;
gitea-backup = "/var/backup/gitea";
postgres-backup = "/var/backup/postgresql";
in /* bash */ ''
@@ -59,8 +59,7 @@
echo "Backup and encryption complete: $DESTINATION"
echo "Space remaining:"
df -h | head -n 1
df -h | grep -P "^/dev.+? "
dysk
'';
})
];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
(writeShellApplication {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
ghostscript

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
# home.packages = with pkgs; [
# obs-studio

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
libreoffice

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
ollama
@@ -16,10 +16,10 @@ if len(sys.argv) < 2:
system_message = sys.argv[1]
input_text = sys.stdin.read()
try:
response = ollama.chat(model='llama3.1:8b', messages=[
response = ollama.chat(model='gemma3:4b', messages=[
{
'role': 'system',
'content': "You are a text transformer. Follow the folling instruction:\n\n" + system_message + "\n\nOnly output the transformed text. Do not add any addidional conversation around the output. Just the result.",
'content': system_message,
},
{
'role': 'user',

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
pandoc

View File

@@ -0,0 +1,15 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
brightnessctl
blueman
fontpreview
gsettings-desktop-schemas
imv
pavucontrol
# playerctl
swww
wev
wl-clipboard
xclip
];
}

View File

@@ -0,0 +1,16 @@
{ pkgs, hyper, ... }: {
home.packages = with pkgs; [
chromium
element-desktop
mpv
qbittorrent
unstable.spotify
wl-clipboard
xfce.thunar
] ++ (if (hyper.host != "NxACE") then [
signal-desktop
obsidian
zoom-us
inkscape
] else []);
}

View File

@@ -1,8 +1,6 @@
{ pkgs, ... }:
{
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
bat
browsh
cmake
dig
du-dust

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, secrets, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
home.packages = [
pkgs.remmina

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host != "NxACE")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
home.packages = with pkgs; [
erlang

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
nodejs

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home = let
python-with-packages = pkgs.python3.withPackages (pp: with pp; [

View File

@@ -1,4 +1,5 @@
{ pkgs, rice, ... }: {
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
rofi-wayland
];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
xsane

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }:
{ pkgs, ... }@all: with all;
let
my-sent = pkgs.sent.override {
patches = [

View File

@@ -1,12 +1,12 @@
{ pkgs, hyper, inputs, ... }:
{ pkgs, ... }@all: with all;
{
imports = [
inputs.sops-nix.homeManagerModules.sops
];
sops = {
age.keyFile = pkgs.lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
gnupg.home = pkgs.lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
age.keyFile = lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
gnupg.home = lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
defaultSopsFile = ../sops-secrets.yaml;
# %r is $XDG_RUNTIME_DIR

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [ sshfs ];

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }:
{ pkgs, ... }@all: with all;
{
programs.starship = {
enable = true;
@@ -7,7 +7,7 @@
enableFishIntegration = true;
settings = with rice.color; {
add_newline = false;
format = pkgs.lib.strings.concatMapStrings (x: "$" + x) [
format = lib.strings.concatMapStrings (x: "$" + x) [
"jobs"
"battery"
"username"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
(writeShellApplication {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: let
{ pkgs, ... }@all: with all; let
vws = pkgs.vale.withStyles (s: [ s.alex s.google ]);
in {
home = {

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }:
pkgs.lib.mkIf (hyper.host == "NxNORTH")
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host == "NxNORTH")
{
home.packages = with pkgs; [
virt-manager

View File

@@ -1,6 +1,6 @@
{ config, pkgs, hyper, rice, ... }:
{ pkgs, ... }@all: with all;
{
config = pkgs.lib.mkIf (hyper.host != "NxACE") {
config = lib.mkIf (hyper.host != "NxACE") {
home.packages = [
pkgs.vscodium
pkgs.nixpkgs-fmt
@@ -92,13 +92,13 @@
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
# sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
# })
# { inherit config pkgs; lib = pkgs.lib; })
# { inherit config pkgs; lib = lib; })
# (import
# (builtins.fetchurl {
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
# sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
# })
# { inherit config pkgs; lib = pkgs.lib; })
# { inherit config pkgs; lib = lib; })
# ] else [];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
(writers.writePython3Bin "change_colors_json" {

View File

@@ -1,5 +1,4 @@
{ pkgs, hyper, rice, ... }:
let
{ pkgs, hyper, ... }@all: with all; let
sep = " ";
in {
sops.secrets = {

View File

@@ -1,4 +1,4 @@
{ pkgs, rice,... }:
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [ wlogout ];

32
home-modules/xdg.nix Normal file
View File

@@ -0,0 +1,32 @@
{ pkgs, ... }@all: with all; {
xdg = {
enable = true;
configHome = "${hyper.home}.config";
cacheHome = "${hyper.home}.cache";
dataHome = "${hyper.home}.local/share";
stateHome = "${hyper.home}.local/state";
mimeApps = {
enable = true;
defaultApplications = let
browser = "firefox.desktop";
image = "imv.desktop";
in {
"default-web-browser" = [ browser ];
"text/html" = [ browser ];
"text/htm" = [ browser ];
"x-scheme-handler/http" = [ browser ];
"x-scheme-handler/https" = [ browser ];
"x-scheme-handler/about" = [ browser ];
"x-scheme-handler/unknown" = [ browser ];
"x-scheme-handler/mailto" = "thunderbird.desktop";
"image/png" = image;
"image/jpg" = image;
"image/jpeg" = image;
"image/webp" = image;
"image/gif" = image;
"application/pdf" = "zathura.desktop";
"inode/directory" = "thunar.desktop";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, inputs, ... }:
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
unar
@@ -34,6 +34,7 @@
{ on = [ "g" "e" ]; run = "arrow up"; desc = "Move cursor to the end"; }
{ on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; }
{ on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; }
(pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
{ on = [ "g" "n" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; }
{ on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
{ on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }