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

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-10-17 12:48:02 +02:00
14 changed files with 115 additions and 115 deletions

View File

@@ -1,13 +1,13 @@
{ {
"base": { "base": {
"foreground": "#fefefe", "foreground": "#d6d5f5",
"background": "#020202" "background": "#050414"
}, },
"to_alter": { "to_alter": {
"accent": "#aaaaff", "accent": "#5d5ad7",
"secondary": "#aaeeff", "secondary": "#ff3238",
"tertiary": "#aaffaa", "tertiary": "#8288af",
"special": "#aaffaa", "special": "#d3d759",
"weird": "#ffffaa" "weird": "#d759aa"
} }
} }

62
flake.lock generated
View File

@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1759572648, "lastModified": 1759705705,
"narHash": "sha256-0f1EsUBA64FV14RuNLyo3XDLLgvY+l2X/Bro+T4+AdM=", "narHash": "sha256-ckBnfbxbT7VU7ay0c5jkstAZHrC4xDpEHgnQo99OdEw=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "38cc80982237e862e538a31f49e8c6aae749f014", "rev": "20ac117c3272da50ce125795d831ac55f29e766d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -308,11 +308,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1759530922, "lastModified": 1759837778,
"narHash": "sha256-IKNfBuBbuofOVHJujnzBGaSydnmlMBRWl9owIZVVk9k=", "narHash": "sha256-K/F/ndJszKrbhhCcQEpLU3jrDSapQCprgNYJscHZYf0=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "76d998743ac10e712238c1016db4d8e8d16f1049", "rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65",
"revCount": 6476, "revCount": 6484,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@@ -340,11 +340,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758895089, "lastModified": 1759748449,
"narHash": "sha256-HOIITlSwB5iuVEVLmWNGu8bvI83Y2IbN8SzJQmBDwvg=", "narHash": "sha256-9I7KVSR7PsSaahM6CbxUyjXSRAY/4+29rFblZDqHPFE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "4d940a10aff16b240533c9b6527a14ff91e5e5ae", "rev": "7be897d6ae765fab756c0b7e6b91e8c5b39a419e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -576,11 +576,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1759348509, "lastModified": 1759833546,
"narHash": "sha256-at9xMhxMP65JYWlGWYJ412VKbS+tXkTM3f5t9Q8IyMA=", "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "d96dda76c1f1827634ddf28d386feabd2d135d21", "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -607,11 +607,11 @@
}, },
"nixpkgs-latest": { "nixpkgs-latest": {
"locked": { "locked": {
"lastModified": 1759574388, "lastModified": 1759851983,
"narHash": "sha256-6Vv/JfG6A6YmlsKYqF88TrisrNWacTCUDX2Ibe8n4yw=", "narHash": "sha256-5tYg4TRly5I8LOagO5X0dArUOht023mevqr3qlVghb0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "32fd1eea9d3114de2acff9b10e67fd0007d2c833", "rev": "7eb8a3cd795b18e7ac26c9cba411e1f588257a62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -639,11 +639,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1759381078, "lastModified": 1759733170,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -686,11 +686,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1759036355, "lastModified": 1759733170,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -702,11 +702,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1759439645, "lastModified": 1759735786,
"narHash": "sha256-oiAyQaRilPk525Z5aTtTNWNzSrcdJ7IXM0/PL3CGlbI=", "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "879bd460b3d3e8571354ce172128fbcbac1ed633", "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -846,11 +846,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759188042, "lastModified": 1759635238,
"narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=", "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d", "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -952,11 +952,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1759502148, "lastModified": 1759765472,
"narHash": "sha256-Yncc0FlzzvsZTAtId/usUKNdJR911mpQcR+ZNjabrio=", "narHash": "sha256-YYfXBsw57fH6s/hXR24rv8/nr35oQl1CBH7p4WcK8RA=",
"owner": "sxyazi", "owner": "sxyazi",
"repo": "yazi", "repo": "yazi",
"rev": "cd6881c9fe88dfe73d91980829fd371f5eeec242", "rev": "554cb52cc581df9a41e0778ebd448925cd3aca55",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -70,7 +70,7 @@
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; }; NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; }; NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; };
NxACE = make-nixos-system "NxACE" { enable = false; }; NxACE = make-nixos-system "NxACE" { enable = false; };
NxWSL = make-nixos-wsl-system "NxWSL"; NxDCS = make-nixos-wsl-system "NxDCS";
}; };
homeConfigurations = let homeConfigurations = let
@@ -93,7 +93,7 @@
"${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; }; "${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; };
"${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; }; "${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user; "${hyper-base.user}@NxDCS" = make-shell-configuration "NxDCS" hyper-base.user;
}; };
}; };
} }

View File

@@ -33,12 +33,16 @@ in /* css */ ''
@-moz-document domain(reddit.com) { @-moz-document domain(reddit.com) {
header { header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important; background-color: rgba(${f background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px); backdrop-filter: blur(${blur}px);
} }
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree{ body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree, #flex-left-nav-container {
background-color: transparent !important; background-color: transparent !important;
} }
#main-content {
background-color: rgba(${f background},0.5)!important;
}
} }
@-moz-document domain(reddit.com) { @-moz-document domain(reddit.com) {

View File

@@ -19,8 +19,10 @@
" | lolcat --force 2> /dev/null) " | lolcat --force 2> /dev/null)
release_line=$(cat /etc/*-release 2> /dev/null || echo 'PRETTY_NAME="[No Release]"')
msg=" msg="
$(echo -e "$logo" | sed -n 3p): $(cat /etc/*-releas 2> /dev/null || echo 'PRETTY_NAME="[No Release]"' | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev) $(echo -e "$logo" | sed -n 3p): $(echo "$release_line" | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
$(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^} $(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^}
$(echo -e "$logo" | sed -n 5p): ''${TERM^} $(echo -e "$logo" | sed -n 5p): ''${TERM^}
$(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g') $(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g')
@@ -113,7 +115,7 @@
''; '';
nx_backup = let nx_backup = let
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/"; destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
in pkgs.lib.mkIf (hyper.host != "NxACE" && hyper.host != "NxWSL") '' in pkgs.lib.mkIf (hyper.host != "NxACE" && hyper.host != "NxDCS") ''
set RPATH (curl -s https://${hyper.domain}/latest-backup) set RPATH (curl -s https://${hyper.domain}/latest-backup)
rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination} rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination}
''; '';

View File

@@ -21,10 +21,10 @@
}; };
extraConfig = { extraConfig = {
credential = { credential = {
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg"; "https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxDCS") "lkurzweg";
"https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxWSL") "Test"; "https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxDCS") "Test";
}; };
url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/"; url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxDCS") "https://git.da.dicos.de/";
url."ssh://git@github.com/".insteadOf = "https://github.com/"; url."ssh://git@github.com/".insteadOf = "https://github.com/";
pull.rebase = false; # true pull.rebase = false; # true
}; };

View File

@@ -1,11 +1,5 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ home.packages = with pkgs; [ pinentry-all ];
# there also is a system module
home.packages = with pkgs; [
gpg-tui
pinentry-all
];
programs.gpg = { programs.gpg = {
enable = true; enable = true;
package = pkgs.gnupg; package = pkgs.gnupg;
@@ -33,4 +27,24 @@
with-fingerprint = true; with-fingerprint = true;
}; };
}; };
services.gpg-agent = let
min2sec = min: (min * 60);
in {
enable = false;
verbose = true;
sshKeys = [
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
];
enableSshSupport = true;
enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30;
pinentry = {
package = pkgs.pinentry;
program = "pinentry";
};
extraConfig = ''
allow-loopback-pinentry
'';
};
} }

View File

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

View File

@@ -1,17 +1,24 @@
{ pkgs, ... }@all: with all; { { pkgs, ... }@all: with all; {
home.packages = with pkgs; [ sshfs ];
programs.ssh = { programs.ssh = {
enable = true; enable = true;
package = pkgs.openssh; package = pkgs.openssh;
# addKeysToAgent = ""; addKeysToAgent = "yes";
matchBlocks = let matchBlocks = let
nxace = name: { nxace = name: {
host = name; host = name;
hostname = "ssh.${hyper.domain}"; hostname = "ssh.${hyper.domain}";
user = hyper.user; user = hyper.user;
port = secrets.ssh.port; port = 50022;
identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}"; identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}";
}; };
in { in {
"*" = {
identityFile = [
"${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}"
"${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}"
];
};
"nxace" = nxace "nxace"; "nxace" = nxace "nxace";
"nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; }; "nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; };
"nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; }; "nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; };
@@ -22,26 +29,9 @@
}; };
}; };
}; };
home.packages = with pkgs; [ sshfs ]; services.ssh-agent = {
enable = true;
services.gpg-agent = let # socket = "ssh-agent"; # suffix to $XDG_RUNTIME_DIR
min2sec = min: (min * 60); # package = pkgs.openssh;
in {
enable = false;
verbose = true;
sshKeys = [
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
];
enableSshSupport = true;
enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30;
pinentry = {
package = pkgs.pinentry;
program = "pinentry";
};
extraConfig = ''
allow-loopback-pinentry
'';
}; };
} }

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
imports = [ imports = [
inputs.nixos-wsl.nixosModules.default inputs.nixos-wsl.nixosModules.default
./system-modules/base-packages.nix ./system-modules/base-packages.nix
@@ -8,13 +7,9 @@
./system-modules/gpg.nix ./system-modules/gpg.nix
./system-modules/networking.nix ./system-modules/networking.nix
./system-modules/nixd.nix ./system-modules/nixd.nix
# ./system-modules/sops.nix
# ./system-modules/sshd.nix
# ./system-modules/syncthing.nix
./system-modules/users.nix ./system-modules/users.nix
]; ];
system.stateVersion = pkgs.version; system.stateVersion = pkgs.version;
# system.stateVersion = "24.11";
wsl = { wsl = {
defaultUser = hyper.user; defaultUser = hyper.user;
enable = true; enable = true;
@@ -31,6 +26,5 @@
]; ];
}; };
}; };
nixpkgs.hostPlatform = hyper.system; nixpkgs.hostPlatform = hyper.system;
} }

View File

@@ -1,14 +1,8 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
environment.systemPackages = with pkgs; [
gnupg
gpg-tui
];
programs.gnupg = { programs.gnupg = {
dirmngr.enable = true; dirmngr.enable = true;
agent = { agent = {
enable = true; enable = false;
enableSSHSupport = true; enableSSHSupport = true;
enableExtraSocket = true; enableExtraSocket = true;
enableBrowserSocket = true; enableBrowserSocket = true;

View File

@@ -1,6 +1,6 @@
{ config, pkgs, ... }@all: with all; { { config, pkgs, ... }@all: with all; {
networking = { networking = {
nameservers = pkgs.lib.mkIf (hyper.host != "NxWSL") [ # wsl manages resolv.conf nameservers = pkgs.lib.mkIf (hyper.host != "NxDCS") [ # wsl manages resolv.conf
"1.1.1.1" "1.1.1.1"
"8.8.8.8" "8.8.8.8"
]; ];

View File

@@ -28,7 +28,9 @@
useDefaultShell = true; useDefaultShell = true;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5sYVtPLHXatTjrpol46xr9R4TidcB4t8axO6/ReNNR nx2@ssh.nx2.site" # NxXPS "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5sYVtPLHXatTjrpol46xr9R4TidcB4t8axO6/ReNNR nxxps-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/zcoYuYbamTPMOZPfsP1yQJ5Y6sDlPfBwui8MQjKWn nxnorth-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnbJx7nVeVi5jK1Eybm+jQoopiCTslewuHFLv2yCt4f nxdcs-nx2@nxace"
]; ];
}; };
}; };