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

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2026-02-06 13:26:33 +01:00
31 changed files with 3532 additions and 172 deletions

View File

@@ -42,12 +42,13 @@
./system-modules/users.nix
./system-modules/virtualisation.nix
./system-modules/ydotool.nix
] ++ (if (hyper.host == "NxACE") then [
] ++ (if hyper.isServer then [
./system-modules/nx2site.nix
./system-modules/hugo.nix
./system-modules/postgres.nix
./system-modules/nx2site/proxy.nix
./system-modules/nx2site/audiobookshelf.nix
# ./system-modules/nx2site/baikal.nix
./system-modules/nx2site/copyparty.nix
./system-modules/nx2site/gitea.nix
./system-modules/nx2site/open-web-calendar.nix
@@ -63,6 +64,7 @@
system.stateVersion = hyper.main-pkgs-version;
programs.nix-ld.enable = true;
programs.bash.shellInit = ''
if [[ "$USER" == "${hyper.user}" ]]; then
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh

View File

@@ -11,5 +11,44 @@
"special": "#31feff",
"weird": "#baff31"
}
},
"NxACE": {
"base": {
"foreground": "#dddddd",
"background": "#111111"
},
"to_alter": {
"accent": "#ff6666",
"secondary": "#ff8866",
"tertiary": "#ff6688",
"special": "#8888ff",
"weird": "#88ff66"
}
},
"NxNORTH": {
"base": {
"foreground": "#e7ccfe",
"background": "#0d0019"
},
"to_alter": {
"accent": "#9f35fc",
"secondary": "#324cff",
"tertiary": "#4a62e7",
"special": "#91fc34",
"weird": "#fc344f"
}
},
"NxDCS": {
"base": {
"foreground": "#ddcccc",
"background": "#080707"
},
"to_alter": {
"accent": "#d23f36",
"secondary": "#355273",
"tertiary": "#1b789b",
"special": "#66dd66",
"weird": "#dddd66"
}
}
}

View File

@@ -4,30 +4,41 @@ let hyper-base = rec {
user = "nx2";
domain = "nx2.site";
home = "/home/${user}";
webroot = if isServer then "/var/lib/hugo/nx2site/public" else assert false "No webroot on non-servers"; "";
webroot = "/var/lib/hugo/nx2site/public";
main-pkgs-version = "25.11";
isServer = false;
isMobile = false;
isPersonal = false;
isNOD = false;
isWorkstation = false;
nvidia = {
enable = false;
prime = false;
};
}; in host: if host == "NxNORTH" then hyper-base // { inherit host;
nvidia.enable = true;
nvidia = {
enable = true;
prime = false;
};
isPersonal = true;
isWorkstation = true;
} else if host == "NxXPS" then hyper-base // { inherit host;
nvidia = {
enable = true;
prime = true;
};
isMobile = true;
isPersonal = true;
isWorkstation = true;
} else if host == "NxACE" then hyper-base // { inherit host;
isServer = true;
} else if host == "NxDCS" then hyper-base // { inherit host;
isWorkstation = true;
isMobile = true;
} else if host == "NxS23U" then hyper-base // { inherit host;
isMobile = true;
isNOD = true;
isPersonal = true;
main-pkgs-version = "24.05";
system = "aarch64-linux";
user = "nix-on-droid";

116
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1767024902,
"narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=",
"lastModified": 1769428758,
"narHash": "sha256-0G/GzF7lkWs/yl82bXuisSqPn6sf8YGTnbEdFOXvOfU=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556",
"rev": "def5e74c97370f15949a67c62e61f1459fcb0e15",
"type": "github"
},
"original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1768172937,
"narHash": "sha256-abU6yVB1dNW3fuUpXb5fakyY3JAWJdJSUbuM+LnqH2A=",
"lastModified": 1769889994,
"narHash": "sha256-uEn3WcpPHe3sMJMgIJ0XW3f4/+TRzZpNgv4vu5/gjmA=",
"owner": "9001",
"repo": "copyparty",
"rev": "9d223d6ca7c49f57dc8b31a511f4f3ee975f2653",
"rev": "9b436eb52e5cfe7a0a8e59dd9f1a37351f3a2abd",
"type": "github"
},
"original": {
@@ -102,11 +102,11 @@
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1765121682,
"narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=",
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
@@ -220,11 +220,11 @@
]
},
"locked": {
"lastModified": 1767910483,
"narHash": "sha256-MOU5YdVu4DVwuT5ztXgQpPuRRBjSjUGIdUzOQr9iQOY=",
"lastModified": 1769580047,
"narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "82fb7dedaad83e5e279127a38ef410bcfac6d77c",
"rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826",
"type": "github"
},
"original": {
@@ -300,11 +300,11 @@
]
},
"locked": {
"lastModified": 1766946335,
"narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=",
"lastModified": 1769284023,
"narHash": "sha256-xG34vwYJ79rA2wVC8KFuM8r36urJTG6/csXx7LiiSYU=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "4af02a3925b454deb1c36603843da528b67ded6c",
"rev": "13c536659d46893596412d180449353a900a1d31",
"type": "github"
},
"original": {
@@ -330,11 +330,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1768144432,
"narHash": "sha256-lLV0egdN9VF6BjhG6GVEVMviFuM05XCv35YNsfLzS9w=",
"lastModified": 1769965155,
"narHash": "sha256-SNj94JmMJ0duRNaZqThIky1bVcT3EJqwGFvYN7ZI+g0=",
"ref": "refs/heads/main",
"rev": "fbf421df889ceff3bac08a9f4b9493def5eecc4d",
"revCount": 6805,
"rev": "a0ec2e4daf8e508761f6bc53fc163fbb92ac7aa1",
"revCount": 6857,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -432,11 +432,11 @@
]
},
"locked": {
"lastModified": 1764612430,
"narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=",
"lastModified": 1767983607,
"narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "0d00dc118981531aa731150b6ea551ef037acddd",
"rev": "d4037379e6057246b408bbcf796cf3e9838af5b2",
"type": "github"
},
"original": {
@@ -563,11 +563,11 @@
]
},
"locked": {
"lastModified": 1767473322,
"narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=",
"lastModified": 1769202094,
"narHash": "sha256-gdJr/vWWLRW85ucatSjoBULPB2dqBJd/53CZmQ9t91Q=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11",
"rev": "a45ca05050d22629b3c7969a926d37870d7dd75c",
"type": "github"
},
"original": {
@@ -657,11 +657,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1765841014,
"narHash": "sha256-55V0AJ36V5Egh4kMhWtDh117eE3GOjwq5LhwxDn9eHg=",
"lastModified": 1769217863,
"narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "be4af8042e7a61fa12fda58fe9a3b3babdefe17b",
"rev": "38a5250e57f583662eac3b944830e4b9e169e965",
"type": "github"
},
"original": {
@@ -720,11 +720,11 @@
},
"nixpkgs-latest": {
"locked": {
"lastModified": 1768173486,
"narHash": "sha256-pZhr2gYGPQeL3DaI1oQlqeI7wUE12pf258LLUMgcWSU=",
"lastModified": 1769978241,
"narHash": "sha256-VSbH5Ot7yuZxy/LOvbLo52+i2xnDl01tmMqfjTQM07I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "cb91fd6650df525625bcf15e7cab3ad50f980c7b",
"rev": "149597f1631fffdeb1ff8fe3b6822615821ee562",
"type": "github"
},
"original": {
@@ -752,11 +752,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1768127708,
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
"lastModified": 1769789167,
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5",
"type": "github"
},
"original": {
@@ -783,11 +783,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767379071,
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@@ -815,11 +815,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1765472234,
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
@@ -831,11 +831,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1768028080,
"narHash": "sha256-50aDK+8eLvsLK39TzQhKNq50/HcXyP4hyxOYoPoVxjo=",
"lastModified": 1769900590,
"narHash": "sha256-I7Lmgj3owOTBGuauy9FL6qdpeK2umDoe07lM4V+PnyA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d03088749a110d52a4739348f39a63f84bb0be14",
"rev": "41e216c0ca66c83b12ab7a98cc326b5db01db646",
"type": "github"
},
"original": {
@@ -846,11 +846,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1763806073,
"narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=",
"lastModified": 1768875095,
"narHash": "sha256-dYP3DjiL7oIiiq3H65tGIXXIT1Waiadmv93JS0sS+8A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "878e468e02bfabeda08c79250f7ad583037f2227",
"rev": "ed142ab1b3a092c4d149245d0c4126a5d7ea00b0",
"type": "github"
},
"original": {
@@ -924,11 +924,11 @@
]
},
"locked": {
"lastModified": 1767281941,
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
"lastModified": 1769069492,
"narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
"rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23",
"type": "github"
},
"original": {
@@ -1010,11 +1010,11 @@
]
},
"locked": {
"lastModified": 1763952169,
"narHash": "sha256-+PeDBD8P+NKauH+w7eO/QWCIp8Cx4mCfWnh9sJmy9CM=",
"lastModified": 1769091129,
"narHash": "sha256-Jj/vIHjiu4OdDIrDXZ3xOPCJrMZZKzhE2UIVXV/NYzY=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ab726555a9a72e6dc80649809147823a813fa95b",
"rev": "131e22d6a6d54ab72aeef6a5a661ab7005b4c596",
"type": "github"
},
"original": {
@@ -1046,11 +1046,11 @@
]
},
"locked": {
"lastModified": 1768104471,
"narHash": "sha256-HdnXWQsA1EI27IJlaENUEEug58trUrh6+MT0cFiDHmY=",
"lastModified": 1769921679,
"narHash": "sha256-twBMKGQvaztZQxFxbZnkg7y/50BW9yjtCBWwdjtOZew=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "94f9cbd20f680ebb2ad6cdf39da97cbcfaedf004",
"rev": "1e89149dcfc229e7e2ae24a8030f124a31e4f24f",
"type": "github"
},
"original": {
@@ -1137,11 +1137,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1768129250,
"narHash": "sha256-jsccfsJpyvkZ8dUMR4rS141vnmHT3qh6HtnP+jE2qq4=",
"lastModified": 1769971982,
"narHash": "sha256-dc8lG9CxtrIk+tOsQx8TJKULQBG27Hoio4O4M/6CxFM=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "41e5717930141c574442ecc53bd4db5f96188d50",
"rev": "6757fed5aa82bfdcd5ecd52e8f374dc286220cc0",
"type": "github"
},
"original": {

View File

@@ -73,7 +73,10 @@
modules = [ ./home.nix ];
extraSpecialArgs = { inherit inputs hyper rice secrets; };
};
make-shell-configuration = host: let hyper = get-hyper host; in home-manager.lib.homeManagerConfiguration {
make-shell-configuration = host: let
hyper = get-hyper host;
rice = get-rice hyper;
in home-manager.lib.homeManagerConfiguration {
pkgs = get-pkgs hyper;
modules = [ ./shell-only.nix ];
extraSpecialArgs = { inherit inputs hyper rice secrets; };

Binary file not shown.

View File

@@ -75,7 +75,7 @@ def get_ongoing_or_next_event(url, username, password):
return next_event_dict
except Exception as e:
print(f"Error accessing {url}: {str(e)[:30]}...")
print(f"Error accessing {url}: {str(e)}".splitlines()[0])
return None
def is_expired(event_dict: dict):
@@ -122,7 +122,7 @@ if __name__ == "__main__":
else:
time_string = "in " + hour_string + "and " + minu_string
print(f"\'{event_dict['event_name']}\' {action_string} {time_string}")
print(f"\'{event_dict['event_name']}\' {action_string} {time_string}".splitlines()[0])
'')
];
}

View File

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

View File

@@ -65,7 +65,8 @@ in /* css */ ''
background : linear-gradient(180deg,rgba(${f secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${f accent.dark}, ${builtins.toString rice.transparency}) 100%) !important;
}
.tabbrowser-tab[selected="true"] {
.tabbrowser-tab[selected="true"], .tab-text[selected=""],
.tab-close-button[selected=""] {
color: ${background} !important;
}
hbox#browser {

View File

@@ -39,6 +39,9 @@ in /* css */ ''
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;
}
#search-dropdown-results-container {
background: rgba(${f background},0.8) !important;
}
#main-content {
background-color: rgba(${f background},0.5)!important;
}

View File

@@ -96,16 +96,17 @@
interactiveShellInit = /* fish */ ''
set -g fish_greeting
if not set -q IN_NIX_SHELL
if set -q SESSION_FROM_DE
if set -q SESSION_FROM_DE; or set -q SESSION_CLONED_FROM_YAZI
set -e SESSION_FROM_DE
set -e SESSION_CLONED_FROM_YAZI
set tmp (mktemp -t "yazi-cwd.XXXXX")
yazi --cwd-file="$tmp"
yazi --cwd-file="$tmp" ~
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end
nxfetch
set -e SESSION_FROM_DE
end
'';
functions = {
@@ -115,10 +116,21 @@
'';
nx_backup = let
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
in pkgs.lib.mkIf (hyper.host == "NxXPS" || hyper.host == "NxNORTH") ''
in pkgs.lib.mkIf (hyper.isPersonal) /* fish */ ''
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}
'';
nx_yazi_into_fish = /* fish */ ''
set tmp (mktemp -t "yazi-cwd.XXXXX")
echo "$PWD" > "$tmp"
yazi --cwd-file="$tmp"
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f "$tmp"
set -g SESSION_CLONED_FROM_YAZI TRUE
'';
# gpg = '';
# set bold \e[1m
# set green \e[32m

View File

@@ -5,6 +5,7 @@
package = pkgs.ghostty;
settings = with rice.color; {
background = background;
window-padding-color = "extend";
background-opacity = builtins.toString rice.transparency;
clipboard-paste-protection = false;
clipboard-read = "allow";

View File

@@ -305,31 +305,40 @@
"constant" = accent.bright;
"constant.character.escape" = special.bright;
"constant.numeric" = foreground;
"constructor" = weird.base;
"constructor" = secondary.bright;
"debug" = yellow.base;
"diagnostic.modifiers" = [ "underline" ];
"diff.delta" = subtle.bright;
"diff.minus" = negative.bright;
"diff.plus" = positive.bright;
"error" = red.base;
"error" = negative.base;
"function" = secondary.bright;
"hint" = tertiary.bright;
"info" = foreground;
"keyword" = special.base;
"keyword.modifiers" = [ "italic" ];
"keyword" = {
fg = special.base;
modifiers = [ "bold" ];
};
"label" = foreground;
"namespace" = weird.bright;
"operator" = foreground;
"special" = special.base;
"string" = secondary.bright;
"type" = red.base;
"variable" = accent.base;
"variableother.member" = foreground;
"warning" = red.base;
"type" = {
fg = tertiary.base;
};
"variable" = { fg = accent.base; };
"variable.builtin" = { fg = accent.base; bg = subtle.darker; };
"variable.parameter" = { fg = accent.base; bg = accent.darker; };
"warning" = yellow.base;
"markup.heading" = accent.base;
"markup.heading" = {
fg = accent.base;
bg = accent.darker;
modifiers = [ "bold" ];
};
"markup.bold" = {
fg = tertiary.bright;
fg = secondary.bright;
modifiers = [ "bold" ];
};
"italic" = {
@@ -339,7 +348,7 @@
"markup.linktext" = accent.base;
"markup.linkurl" = {
fg = tertiary.dark;
modifiers = [ "underlined" ];
underline.style = "line";
};
"markup.list" = accent.bright;
"markup.quote" = weird.bright;
@@ -356,7 +365,7 @@
};
"ui.bufferline" = { # the top line ("tab"-line)
fg = accent.base;
bg = black.base;
bg = accent.darker;
};
"ui.bufferline.active" = { # the active "tab"
fg = background;
@@ -368,22 +377,22 @@
modifiers = [ "reversed" ];
};
"ui.cursorline.primary" = { # the line on which the cursor is on
bg = black.base;
bg = secondary.darker;
};
"ui.cursor.match" = { # Matching bracket etc.
bg = green.dark;
bg = special.dark;
modifiers = [ ];
};
"ui.gutter" = {
bg = black.base;
bg = accent.darker;
};
"ui.help" = {
fg = green.base;
bg = black.base;
fg = accent.base;
bg = accent.darker;
};
"ui.linenr" = {
fg = white.dark;
bg = black.base;
fg = accent.bright;
bg = accent.darker;
};
"ui.linenr.selected" = {
fg = accent.bright;
@@ -391,18 +400,18 @@
};
"ui.menu" = {
fg = accent.base;
bg = black.base;
bg = accent.darker;
};
"ui.menu.scroll" = {
fg = yellow.dark;
fg = subtle.base;
bg = background;
};
"ui.menu.selected" = {
fg = red.base;
bg = blue.dark;
fg = secondary.bright;
bg = secondary.darker;
};
"ui.popup" = {
bg = black.base;
bg = accent.darker;
};
"ui.selection" = {
bg = accent.dark;
@@ -412,11 +421,11 @@
};
"ui.statusline" = {
fg = accent.bright;
bg = black.base;
bg = accent.darker;
};
"ui.statusline.inactive" = {
fg = red.bright;
bg = red.dark;
fg = secondary.bright;
bg = secondary.dark;
};
"ui.statusline.insert" = {
fg = green.bright;
@@ -433,7 +442,7 @@
"ui.text" = foreground;
"ui.text.focus" = accent.base;
"ui.virtual.indent-guide" = {
fg = black.bright;
fg = subtle.dark;
};
"ui.virtual.inlay-hint" = {
fg = subtle.base;
@@ -444,12 +453,12 @@
};
"ui.virtual.jump-label" = {
fg = special.base;
underline = {
style = "dotted";
};
bg = special.dark;
underline.style = "dotted";
modifiers = [ "bold" ];
};
"ui.window" = {
bg = black.base;
bg = accent.darker;
};
};
};

View File

@@ -161,6 +161,8 @@ in {
dim_strength = "0.2";
dim_around = "0.8";
# screen_shader = "/home/nx2/.config/hypr/shaders/e.glsl";
blur = {
enabled = true;
size = "2";
@@ -286,6 +288,7 @@ in {
"dimaround, title:^(terminal-file-picker)$"
"center, title:^(terminal-file-picker)$"
"size 80% 80%, title:^(terminal-file-picker)$"
"size 30% 30%, initialTitle:^(Select Calendar)$"
];
@@ -376,7 +379,7 @@ in {
# "SUPER, T, exec, alacritty"
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""
"SUPER, T, exec, SESSION_FROM_DE=TRUE ${terminal}"
"SUPER SHIFT, T, exec, ${terminal-exec}'ssh nxace'"
''SUPER SHIFT, T, exec, ${terminal-exec}'echo -e "\\e]11;#${rice.color.secondary.darker}\\e\\\\" && ssh nxace' '' # yes this is a double hash.
"SUPER, Z, exec, zathura"
"SUPER, U, exec, [tile] thunderbird "
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"

View File

@@ -1,6 +1,4 @@
{ pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE")
{
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
texlab # LSP
(texlive.combine { inherit (texlive) scheme-full xifthen ifmtarg framed paralist titlesec xcolor; })

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
solaar
];
}

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: {
home.packages = with pkgs; [
home.packages = (with pkgs; [
chromium
gnome-clocks
gnome-calculator
@@ -8,7 +8,7 @@
qbittorrent
wl-clipboard
xfce.thunar
] ++ (if (hyper.host != "NxACE") then [
]) ++ (if hyper.isWorkstation then (with pkgs; [
signal-desktop
unstable.code-cursor-fhs
latest.antigravity
@@ -19,5 +19,5 @@
audacity
gemini-cli
libreoffice
] else []);
]) else []);
}

View File

@@ -1,5 +1,6 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
asciinema
bat
cmake
cmatrix
@@ -35,6 +36,6 @@
tldr
w3m
which
yt-dlp
unstable.yt-dlp
];
}

View File

@@ -1,7 +1,7 @@
{ ... }: {
imports = [
./programming/c.nix
./programming/gleam.nix
# ./programming/gleam.nix
./programming/glsl.nix
./programming/go.nix
./programming/java.nix

View File

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

View File

@@ -5,6 +5,8 @@
requests
# debugpy
black
uv
uv-build
]);
in {
packages = [

View File

@@ -47,7 +47,7 @@ in {
{ on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; }
{ on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; }
{ on = [ "g" "<Space>" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; }
(pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
(pkgs.lib.mkIf (hyper.isServer) { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
# Navigation
{ on = "h"; run = "leave"; desc = "Go back to the parent directory"; }
{ on = "l"; run = "enter"; desc = "Enter the child directory"; }
@@ -160,6 +160,10 @@ in {
{ on = "<Tab>"; run = "spot"; desc = "Show Spot View"; }
# Tasks
{ on = "w"; run = "tasks:show"; desc = "Show Task View"; }
# Magic
{ on = "<C-h>"; run = "shell 'hx .' --block"; desc = "Open current directoy in Helix"; }
{ on = "<C-g>"; run = "shell 'lazygit' --block"; desc = "Open current directoy in Lazygit"; }
{ on = "<C-y>"; run = ''shell 'ghostty --command="fish -C nx_yazi_into_fish"' --orphan ''; desc = "Open current directoy in a new ghostty window"; }
];
tasks.keymap = [
# Task
@@ -324,27 +328,73 @@ in {
tabs = {
active = { fg = secondary.dark; bg = secondary.base; };
inactive = { fg = secondary.base; bg = secondary.dark; };
# sep_inner = { open = "[", close = "]" };
# sep_outer = { open = "[", close = "]" };
};
mode = {
main_main = { fg = yellow.bright; bg = yellow.dark; };
select_main = { fg = cyan.bright; bg = cyan.dark; };
unset_main = { fg = blue.bright; bg = blue.dark; };
main_alternative = { fg = yellow.brighter; bg = yellow.dark; };
select_alternative = { fg = cyan.brighter; bg = cyan.dark; };
unset_alternative = { fg = blue.brighter; bg = blue.dark; };
};
confirm = {
border = { fg = border; };
title = { fg = accent.bright; };
body = { fg = "#ff0000"; };
list = { fg = "#ff0000"; };
btn_yes = { fg = positive.base; bg = positive.dark; };
btn_no = { fg = negative.base; bg = negative.dark; };
btn_labels = [ " BET " " HELLNAW " ];
};
spot = {
border = { fg = border; };
title = { fg = accent.bright; };
tbl_col = { fg = accent.base; };
tbl_cell = { fg = secondary.base; };
};
notify = {
title_info = { fg = accent.base; };
title_warn = { fg = weird.base; };
title_error = { fg = special.base; };
};
pick = {
border = { fg = border; };
active = { fg = accent.bright; };
inactive = { fg = subtle.bright; };
};
status = {
separator_open = " "; #"";
separator_close = " "; #"";
separator_style = { fg = accent.base; bg = black.base; };
mode_normal = { fg = yellow.bright; bg = yellow.dark; };
mode_select = { fg = cyan.bright; bg = cyan.dark; };
mode_unset = { fg = blue.bright; bg = blue.dark; };
# sep_right = { open = ""; close = ""; };
# sep_left = { open = ""; close = ""; };
sepr_style = { fg = accent.base; bg = black.base; };
progress_label = { fg = secondary.base; bold = true; };
progress_normal = { fg = accent.base; bg = black.base; };
progress_error = { fg = negative.base; bg = black.base; };
permissions_t = { fg = special.base; };
permissions_r = { fg = accent.base; };
permissions_w = { fg = secondary.base; };
permissions_x = { fg = tertiary.base; };
permissions_s = { fg = special.base; };
perm_type = { fg = special.base; };
perm_read = { fg = accent.base; };
perm_write = { fg = secondary.base; };
perm_exec = { fg = tertiary.base; };
perm_sep = { fg = special.base; };
};
indicator = { # your "cursor"
parent = { fg = secondary.darker; bg = secondary.base; };
current = { fg = accent.darker; bg = accent.base; };
preview = { fg = secondary.base; bg = secondary.darker; };
# padding = { open = " "; close = " "; };
};
cmp = {
border = { fg = border; };
active = { fg = accent.base; };
inactive = { fg = subtle.base; };
# icon_file =
# icon_folder =
# icon_command
};
input = {
border = { fg = border; };
title = {};
value = {};
title = { fg = accent.bright; };
value = { fg = foreground; };
selected = { reversed = true; };
};
select = {
@@ -354,8 +404,8 @@ in {
};
tasks = {
border = { fg = border2; };
title = {};
hovered = { underline = true; };
title = { fg = accent.base; bold = true; };
hovered = { fg = accent.bright; };
};
which = {
mask = { bg = black.base; };
@@ -366,11 +416,11 @@ in {
separator_style = { fg = foreground; };
};
help = {
on = { fg = "#fe8019"; };
exec = { fg = "#83a598"; };
desc = { fg = "#928374"; };
hovered = { bg = "#504945"; bold = true; };
footer = { fg = "#3c3836"; bg = "#a89984"; };
on = { fg = accent.base; };
run = { fg = secondary.base; };
desc = { fg = tertiary.base; italic = true; };
hovered = { bg = accent.bright; bold = true; };
footer = { fg = accent.base; bg = subtle.dark; };
};
filetype = {
rules = [
@@ -378,17 +428,17 @@ in {
{ mime = "inode/x-empty"; fg = white.dark; }
{ mime = "inode/directory"; fg = accent.base; }
{ name = "*"; is = "link"; fg = tertiary.base; }
{ name = "*"; is = "orphan"; fg = negative.base; }
{ name = "*"; is = "block"; fg = special.base; }
{ name = "*"; is = "char"; fg = special.bright; }
{ name = "*"; is = "exec"; fg = secondary.base; }
{ name = "*"; is = "fifo"; fg = weird.base; }
{ name = "*"; is = "sock"; fg = weird.bright; }
{ name = "*"; is = "sticky"; fg = special.base; }
{ url = "*"; is = "link"; fg = tertiary.base; }
{ url = "*"; is = "orphan"; fg = negative.base; }
{ url = "*"; is = "block"; fg = special.base; }
{ url = "*"; is = "char"; fg = special.bright; }
{ url = "*"; is = "exec"; fg = secondary.base; }
{ url = "*"; is = "fifo"; fg = weird.base; }
{ url = "*"; is = "sock"; fg = weird.bright; }
{ url = "*"; is = "sticky"; fg = special.base; }
# Fallback
{ name = "*"; fg = foreground; }
{ url = "*"; fg = foreground; }
];
};
};
@@ -411,6 +461,13 @@ in {
" ",
}
end, 500, Status.RIGHT)
Header:children_add(function()
if ya.target_family() ~= "unix" then
return ""
end
return ui.Span(ya.user_name() .. "@" .. ya.host_name() .. ":"):fg("blue")
end, 500, Header.LEFT)
'';
plugins = with pkgs; {
inherit glow git;
@@ -426,7 +483,7 @@ in {
default_dir=$HOME
env=TERMCMD=ghostty --title="terminal-file-picker -e"
open_mode=suggested
save_mode=last
save_mode=suggested
'';
};
portal = {

View File

@@ -25,7 +25,8 @@
./home-modules/hyprland-autoname-workspaces.nix
./home-modules/hyprland.nix
./home-modules/kitty.nix
./home-modules/latex.nix
# ./home-modules/latex.nix
./home-modules/logitech.nix
./home-modules/mako.nix
# ./home-modules/matrix.nix
./home-modules/mpv.nix
@@ -63,7 +64,7 @@
./home-modules/yazi.nix
./home-modules/zathura.nix
./home-modules/zoxide.nix
] ++ (if (hyper.host == "NxACE") then [
] ++ (if hyper.isServer then [
./home-modules/nx2site.nix
./home-modules/nx2site-backup.nix
./home-modules/calendar-campuszeit-fix.nix

View File

@@ -7,7 +7,7 @@
./home-modules/git.nix
./home-modules/gpg.nix
./home-modules/helix.nix
./home-modules/latex.nix
# ./home-modules/latex.nix
./home-modules/nh.nix
./home-modules/nixd.nix
./home-modules/nxgs.nix

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }@all: with all;
{
systemd.timers."nx_cal_lec" = {
enable = false;
enable = true;
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "40m";

View File

@@ -3,6 +3,7 @@
variables = {
EDITOR = "hx";
VISUAL = "hx";
TERMINAL = "ghostty";
};
systemPackages = with pkgs; [
helix

View File

@@ -0,0 +1,22 @@
{ pkgs, ... }@all: with all; {
services.baikal = {
enable = true;
# pool =
user = "baikal";
group = "baikal";
package = pkgs.php.buildComposerProject2 (finalAttrs: {
pname = "baikal";
version = "0.10.1";
src = pkgs.fetchFromGitHub {
owner = "sabre-io";
repo = "Baikal";
tag = "0.10.1";
hash = "sha256-YQQwTdwfHQZdUhO5HbScj/Bl8ype7TtPI3lHjvz2k04=";
};
# It doesn't provide a composer.lock file, we have to generate manually.
composerLock = ./composer.lock;
vendorHash = "sha256-dYg7cULL4gquR5EenA0lD9ZC9Ge4qNwFFDNhELKgSso=";
});
virtualHost = "baikal.${hyper.domain}";
};
}

3208
system-modules/nx2site/composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -192,6 +192,10 @@
# proxyWebsockets = true;
# }; };
# };
# "baikal.${hyper.domain}" = {
# forceSSL = true;
# enableACME = true;
# };
"file.${hyper.domain}" = { # copyparty
listen = dl;
forceSSL = true;

View File

@@ -1,20 +0,0 @@
{ pkgs, ... }@all: with all;
{
environment.systemPackages = [
(pkgs.mkYarnPackage {
name = "rallly";
src = pkgs.fetchFromGitHub {
owner = "lukevella";
repo = "rallly";
rev = "v3.11.2";
hash = "sha256-ej6Y0ouiheoH6dSBWsSIW6qt9UvsLh9ODDQA5Fqt3zs=";
};
packageJson = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix;
# patchPhase = /* shell */ ''
# cp ........ ?
# '';
})
];
}

View File

@@ -9,7 +9,7 @@
./system-modules/users.nix
];
environment.systemPackages = import ./system-modules/base-packages.nix pkgs;
system.stateVersion = hypr.pkgs-version;
system.stateVersion = hyper.main-pkgs-version;
wsl = {
defaultUser = hyper.user;
enable = true;
@@ -27,4 +27,5 @@
};
};
nixpkgs.hostPlatform = hyper.system;
services.upower.enable = true;
}