Compare commits

...

2 commits

Author SHA1 Message Date
8102d1d009
new website
Some checks failed
/ lint (push) Failing after 39s
2026-05-06 11:22:40 +02:00
4d58ae60b0
isadle, fix steam, etc 2026-04-09 21:22:45 +02:00
23 changed files with 603 additions and 403 deletions

650
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -20,6 +20,10 @@
reviewqueue.url = "github:jdonszelmann/review-queue";
compiler-construction-2021.url = "git+ssh://forgejo@git.donsz.nl/jana/eelco-visser-compiler-construction.git";
mifg.url = "git+ssh://forgejo@git.donsz.nl/jana/money.is.fckn.gay.git";
isadle.url = "git+ssh://forgejo@git.donsz.nl/jana/isadle.git";
# desktop/laptop
probe-rs-rules.url = "github:jneem/probe-rs-rules";
# server
raw-data.url = "git+ssh://forgejo@git.donsz.nl/jana/raw-data.git";
@ -30,7 +34,7 @@
# home
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.nixpkgs.follows = "nixpkgs";
};
t.url = "github:jdonszelmann/t-rs";
dumpasm.url = "github:jdonszelmann/dumpasm";

View file

@ -19,7 +19,7 @@
host all all 10.0.0.0/24 trust
# and the local network
host all all 192.168.0.0/24 trust
host all all 192.168.178.0/24 trust
'';
settings = {
listen_addresses = "*";
@ -58,6 +58,10 @@
name = "immich";
ensureDBOwnership = true;
}
{
name = "homepage";
ensureDBOwnership = true;
}
];
ensureDatabases = map (i: i.name) ensureUsers;
};

View file

@ -146,118 +146,6 @@ in
};
};
systemd.services.promtail.serviceConfig.User = lib.mkForce "nginx";
services.promtail = {
enable = true;
configuration = {
server = {
http_listen_port = 3031;
grpc_listen_port = 0;
};
positions = {
filename = "/tmp/positions.yaml";
};
clients = [
{
url = "http://127.0.0.1:${toString config.services.loki.configuration.server.http_listen_port}/loki/api/v1/push";
}
];
scrape_configs = [
{
job_name = "nginx";
static_configs = [
{
targets = [ "localhost" ];
labels = {
job = "nginx";
host = "fili";
__path__ = "/var/log/nginx/json_access.log";
};
}
];
pipeline_stages = [
{
json = {
expressions = {
msec = "msec";
connection = "connection";
connection_requests = "connection_requests";
pid = "pid";
request_id = "request_id";
request_length = "request_length";
remote_addr = "remote_addr";
remote_user = "remote_user";
remote_port = "remote_port";
time_local = "time_local";
time_iso8601 = "time_iso8601";
request = "request";
request_uri = "request_uri";
args = "args";
status = "status";
body_bytes_sent = "body_bytes_sent";
bytes_sent = "bytes_sent";
http_referer = "http_referer";
http_user_agent = "http_user_agent";
http_x_forwarded_for = "http_x_forwarded_for";
http_host = "http_host";
server_name = "server_name";
request_time = "request_time";
upstream = "upstream";
upstream_connect_time = "upstream_connect_time";
upstream_header_time = "upstream_header_time";
upstream_response_time = "upstream_response_time";
upstream_response_length = "upstream_response_length";
upstream_cache_status = "upstream_cache_status";
ssl_protocol = "ssl_protocol";
ssl_cipher = "ssl_cipher";
scheme = "scheme";
request_method = "request_method";
server_protocol = "server_protocol";
pipe = "pipe";
gzip_ratio = "gzip_ratio";
http_cf_ray = "http_cf_ray";
};
};
}
{
timestamp = {
source = "msec";
format = "Unix";
};
}
# {
# geoip = {
# db = "/var/lib/geoip-databases/GeoLite2-City.mmdb";
# source = "remote_addr";
# db_type = "city";
# };
# }
# {
# pack = {
# labels = [ "geoip_country_name" ];
# };
# }
];
}
{
job_name = "journal";
journal = {
max_age = "12h";
labels = {
job = "systemd-journal";
host = "fili";
};
};
relabel_configs = [
{
source_labels = [ "__journal__systemd_unit" ];
target_label = "unit";
}
];
}
];
};
};
services.grafana = {
enable = false;

View file

@ -8,5 +8,6 @@ _: {
./compiler-construction-2021.nix
./mapfm-poster.nix
./money-is-fckn-gay.nix
./isadle.nix
];
}

View file

@ -1,4 +1,10 @@
{ flakes, pkgs, ... }:
{
flakes,
pkgs,
config,
secrets,
...
}:
let
cache = pkg: ''
location ~* \.(png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf)$ {
@ -32,15 +38,52 @@ let
locations."/".return = return;
}
// ssl;
package = flakes.homepage.packages.${pkgs.system};
in
{
services.nginx = {
virtualHosts = {
"donsz.nl" = site regular;
"jdonszelmann.nl" = site regular;
sops.secrets.homepage = {
sopsFile = "${secrets}/homepage.env";
};
systemd.services.homepage = {
description = "homepage";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
DynamicUser = "yes";
ExecStart = "${pkgs.bash}/bin/bash ${package.website}/bin/run";
Restart = "on-failure";
RestartSec = "5s";
EnvironmentFile = config.sops.secrets.homepage.path;
WorkingDirectory = "${package.website}";
StateDirectory = "homepage";
};
environment = {
BETTER_AUTH_URL = "https://donsz.nl";
DATABASE_LOCATION = "/var/lib/homepage/db.sqlite";
HOST = "localhost";
PORT = "11020";
};
};
services.nginx.virtualHosts = {
"donsz.nl" = {
forceSSL = true;
enableACME = true;
extraConfig = ''
${cache "${package.website}/homepage/client"}
'';
locations."/".proxyPass = "http://localhost:${toString 11020}";
};
"blog.donsz.nl" = redirect "301 https://donsz.nl/blog";
"gay.donsz.nl" = site gay;
"jana.is.fckn.gay" = site gay;
};
};
# services.nginx = {
# virtualHosts = {
# "donsz.nl" = site regular;
# "jdonszelmann.nl" = site regular;
# "gay.donsz.nl" = site gay;
# "jana.is.fckn.gay" = site gay;
# };
# };
}

View file

@ -0,0 +1,17 @@
{ pkgs, flakes, ... }:
{
services.nginx = {
virtualHosts."isadle.donsz.nl" = {
forceSSL = true;
http2 = true;
enableACME = true;
locations."/" = {
root = flakes.isadle.packages.${pkgs.system}.isadle;
extraConfig = ''
autoindex on;
'';
};
};
};
}

View file

@ -1,11 +1,15 @@
{ pkgs
, config
, ...
{
pkgs,
config,
flakes,
...
}:
{
imports = [
./hardware-configuration.nix
./kanata.nix
flakes.probe-rs-rules.nixosModules.${pkgs.system}.default
];
boot.loader.systemd-boot.enable = true;
@ -37,11 +41,14 @@
variant = "";
};
users.groups.plugdev = { };
users.users.jana = {
extraGroups = [
"networkmanager"
"wheel"
"docker"
"plugdev"
];
packages = with pkgs; [ ];
};
@ -61,9 +68,10 @@
signal-desktop
nautilus
probe-rs-tools
adwaita-icon-theme
(pkgs.callPackage
(
(pkgs.callPackage (
{ stdenv }:
stdenv.mkDerivation {
name = "global-cursor-theme";
@ -79,13 +87,13 @@
EOF
'';
}
)
{ })
) { })
perf
rr
];
hardware.probe-rs.enable = true;
virtualisation.docker.enable = true;
services.xserver.enable = true;
@ -109,6 +117,8 @@
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
libva-vdpau-driver
intel-media-driver
@ -158,10 +168,12 @@
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
programs.nix-ld.enable = true;
# programs.mtr.enable = true;
# programs.gnupg.agent = {

View file

@ -6,6 +6,7 @@
niri-unstable,
raw-data,
p1n3appl3,
isadle,
pkgs,
...
}@inputs:
@ -20,5 +21,6 @@ in
pipethon = pipethon.packages.${system}.python;
raw-data = raw-data.packages.${system}.default;
p1n3appl3 = p1n3appl3.packages.${system};
isadle = isadle.packages.${system}.default;
}
// (import ./maple.nix inputs)

View file

@ -214,7 +214,7 @@
just
uv
llvmPackages.bintools
nodejs
nodejs_22
(writeShellScriptBin "nas" ''
mkdir -p ~/Documents/nas

View file

@ -168,6 +168,18 @@ inputs@{ machine, ... }:
keyword = "!no";
url = "https://search.nixos.org/options?query=%s";
}
{
keyword = "!ri";
url = "https://github.com/rust-lang/rust/issues/%s";
}
{
keyword = "!tf";
url = "https://rust.tf/%s";
}
{
keyword = "!dg";
url = "https://rustc-dev-guide.rust-lang.org/?search=%s";
}
# {
# name = "bank";

View file

@ -20,6 +20,7 @@ inputs@{ machine, ... }:
"cp-ser" = cp-media "ser" "shows";
"cp-ani" = cp-media "ani" "anime";
"ragdoll" = ragdoll;
"jjj" = jjj;
"dumpasm" = "${pkgs.custom.dumpasm}/bin/dumpasm";
"p" = calc;
"s" = "systemctl";

View file

@ -34,4 +34,21 @@
SSH_TMUX_SESSION_NAME="ssh-from-$(hostname)-$TMUX_SESSION_NAME"
tmux detach -E "kitten ssh -t ragdoll \"export TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME; tmux attach -t $SSH_TMUX_SESSION_NAME || tmux new -e TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME -s $SSH_TMUX_SESSION_NAME\"; exec tmux attach -t $TMUX_SESSION_NAME"
''}/bin/ragdoll";
jjj = "${pkgs.writeScriptBin "jjj" ''
cmd="\${"1:-show"}"
shift
selected=$(
jj log -r 'all()' --color=always \
| fzf \
--min-height=15 \
--cycle \
--ansi \
--prompt "jj $cmd> "
) || exit 0
rev=$(echo "$selected" | awk '{for(i=1;i<=NF;i++) if(length($i)>=7){print $i; exit}}')
jj "$cmd" -r "$rev" "$@"
''}/bin/jjj";
}

View file

@ -85,7 +85,8 @@ inputs@{ machine, ... }:
'';
# if(.contained_in('first_parent(@)'), label("git_head", "HEAD")),
status_summary = "'\n' ++ self.diff().summary() ++ '\n'";
log_oneline_with_status_summary = "log_oneline ++ if(self.current_working_copy() && self.diff().files().len() > 0, status_summary)";
space = "'\n\n\n'";
log_oneline_with_status_summary = "if(self.current_working_copy(), space) ++ log_oneline ++ if(self.current_working_copy() && self.diff().files().len() > 0, status_summary)";
};
aliases =
@ -167,15 +168,15 @@ inputs@{ machine, ... }:
];
t = tug;
d = "describe";
d = [ "describe" ];
dm = [
"describe"
"-m"
];
e = "edit";
s = "squash";
si = "squash -i";
sp = "split";
e = [ "edit" ];
s = [ "squash" ];
si = [ "squash -i" ];
sp = [ "split" ];
};
templates = {

View file

@ -364,7 +364,7 @@ inputs@{ machine, ... }:
};
"Mod+Period" = {
allow-when-locked = true;
action.spawn-sh = "playerctl nest";
action.spawn-sh = "playerctl next";
};
"Mod+Comma" = {
allow-when-locked = true;

View file

@ -30,6 +30,10 @@ vim.cmd([[
inoremap <silent> <F1> <CMD>FloatermToggle<CR>
nnoremap <silent> <F1> <CMD>FloatermToggle<CR>
tnoremap <silent> <F1> <C-\><C-n><CMD>FloatermToggle<CR>
inoremap <silent> <F9> <CMD>FloatermHide<CR>
nnoremap <silent> <F9> <CMD>FloatermHide<CR>
tnoremap <silent> <F9> <C-\><C-n><CMD>FloatermHide<CR>
]])
vim.keymap.set('n', 'gr', (function() builtin.lsp_references({}) end), {})
@ -107,7 +111,7 @@ vim.cmd([[
]])
vim.cmd([[
let g:suda_smart_edit = 1
" let g:suda_smart_edit = 1
filetype plugin indent on
]])

View file

@ -36,7 +36,7 @@ inputs@{ machine, ... }:
EDITOR = "nvim";
};
packages = with pkgs-unstable; [
packages = with pkgs; [
tree-sitter
(pkgs.stdenv.mkDerivation {
name = "editor-hax";
@ -83,7 +83,7 @@ inputs@{ machine, ... }:
clipboard.providers.wl-copy.enable = true;
performance = {
byteCompileLua.enable = true;
byteCompileLua.enable = false;
combinePlugins = {
enable = false;
@ -93,12 +93,12 @@ inputs@{ machine, ... }:
};
};
extraLuaPackages = ps: [ ps.magick ];
# extraLuaPackages = ps: [ ps.magick ];
extraPackages = [ pkgs.imagemagick ];
# package = (import inputs.unstable { inherit (pkgs) system; }).neovim-unwrapped;
# package = pkgs.neovim-unwrapped;
package = with pkgs-unstable; neovim-unwrapped;
# package = with pkgs-unstable; neovim-unwrapped;
colorschemes.onedark = {
enable = true;

View file

@ -39,7 +39,7 @@ def find_or_create_pane(window, args):
run(f"tmux send-keys -t {pane} Escape")
# note the space, this tells nvim not to save it in history
run(f"tmux send-keys -t {pane} \": drop {args}\" Enter")
run(f"tmux send-keys -t {pane} F9 \": drop {args}\" Enter")
run(f"tmux select-pane -t {pane} -Z")
else:
create_pane(args)

View file

@ -30,7 +30,7 @@ in
(luamap "n" "<leader>/" "${telescope}.current_buffer_fuzzy_find()")
# last used pickers/searches
(luamap "n" "<leader>p" "${telescope}.pickers()")
(luamap "n" "<leader>m" "${telescope}.search_history()")
(luamap "n" "<leader>m" "${telescope}.marks()")
# open buffers
(luamap "n" "<leader>b" "${telescope}.buffers({sort_mru = true})")
(luamap "n" "<leader><Tab>" "${telescope}.buffers({sort_mru = true})")

View file

@ -30,7 +30,7 @@ in
ansiesc.enable = true;
treesitter-textobjects = {
enable = false;
enable = true;
settings = {
lsp_interop.enable = true;
select = {
@ -168,6 +168,13 @@ in
};
};
marks = {
enable = true;
settings = {
cyclic = true;
};
};
rainbow-delimiters.enable = true;
lsp-format.enable = true;
fugitive.enable = true;
@ -177,7 +184,7 @@ in
nvim-autopairs.enable = true;
spider.enable = true;
origami = {
enable = true;
enable = false;
settings.autofold.enabled = false;
};
@ -799,7 +806,7 @@ in
telescope-ui-select-nvim
telescope-fzf-native-nvim
vim-suda
# vim-suda
render-markdown
telescope-file-browser
vim-astro

View file

@ -18,8 +18,8 @@ inputs@{ machine, ... }:
proxyJump = "fili";
};
ragdoll = {
hostname = "192.168.178.138";
proxyJump = "fili";
hostname = "hexcat.nl";
port = 4455;
};
"*" = {

View file

@ -46,7 +46,12 @@ in
home-config =
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ xdg-utils ];
home.packages = with pkgs; [
glib
(pkgs.writeShellScriptBin "xdg-open" ''
gio open "$@"
'')
];
xdg = {
enable = true;

View file

@ -1 +1 @@
Ptmux;_Ga=d,q=2,d=a\\
Ptmux;_Gd=a,a=d,q=2\\