Compare commits
3 Commits
ef4c190005
...
bdb9d72c1e
| Author | SHA1 | Date | |
|---|---|---|---|
| bdb9d72c1e | |||
| 9607277667 | |||
| 830c3ebe5a |
@@ -55,6 +55,11 @@ let
|
||||
isort
|
||||
|
||||
astro-language-server
|
||||
|
||||
tinymist
|
||||
typstyle
|
||||
|
||||
ltex-ls-plus
|
||||
];
|
||||
};
|
||||
|
||||
@@ -103,6 +108,8 @@ let
|
||||
|
||||
lualine-nvim
|
||||
bufferline-nvim
|
||||
|
||||
zen-mode-nvim
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
@@ -161,6 +161,24 @@ require("lz.n").load({
|
||||
vim.lsp.enable("basedpyright")
|
||||
|
||||
vim.lsp.enable("astro")
|
||||
|
||||
vim.lsp.config("tinymist", {
|
||||
settings = {
|
||||
tinymist = {
|
||||
formatterMode = "typstyle",
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("tinymist")
|
||||
|
||||
vim.lsp.config("ltex_plus", {
|
||||
settings = {
|
||||
ltex = {
|
||||
language = "nl",
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable("ltex_plus")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -195,4 +195,16 @@ require("lz.n").load({
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"zen-mode.nvim",
|
||||
after = function()
|
||||
require("zen-mode").setup({
|
||||
window = {
|
||||
options = {
|
||||
linebreak = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.rclone = {
|
||||
enable = true;
|
||||
|
||||
# Give rclone access to the ssh agent
|
||||
package = pkgs.writeShellScriptBin "rclone" ''
|
||||
export GNUPGHOME="${config.xdg.dataHome}/gnupg"
|
||||
export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
|
||||
exec ${pkgs.rclone}/bin/rclone "$@"
|
||||
'';
|
||||
|
||||
remotes = {
|
||||
gdrive = {
|
||||
config = {
|
||||
@@ -24,9 +36,35 @@
|
||||
mountPoint = "${config.home.homeDirectory}/gdrive";
|
||||
|
||||
options = {
|
||||
dir-cache-time = "5000h";
|
||||
dir-cache-time = "5m";
|
||||
poll-interval = "10s";
|
||||
vfs-cache-mode = "full";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
orion = {
|
||||
config = {
|
||||
type = "sftp";
|
||||
user = config.var.username;
|
||||
};
|
||||
|
||||
secrets = {
|
||||
host = config.sops.secrets.orion_ip.path;
|
||||
};
|
||||
|
||||
mounts = {
|
||||
"/var/lib/filebrowser/files" = {
|
||||
enable = true;
|
||||
|
||||
mountPoint = "${config.home.homeDirectory}/orion";
|
||||
|
||||
options = {
|
||||
dir-cache-time = "5m";
|
||||
poll-interval = "10s";
|
||||
# Network optimizations
|
||||
"buffer-size" = "32M";
|
||||
"vfs-read-chunk-size" = "32M";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,11 +8,6 @@ let
|
||||
storageRoot = "/var/lib/filebrowser/files";
|
||||
publishDirName = "_publish";
|
||||
|
||||
fontPackages = with pkgs; [
|
||||
libertinus
|
||||
gyre-fonts
|
||||
];
|
||||
|
||||
processorScript = pkgs.writeShellScriptBin "process-docs" ''
|
||||
SRC_ROOT="${storageRoot}"
|
||||
OUT_ROOT="${storageRoot}/${publishDirName}"
|
||||
@@ -73,6 +68,11 @@ let
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
./fonts.nix
|
||||
];
|
||||
|
||||
services.filebrowser = {
|
||||
enable = true;
|
||||
|
||||
@@ -87,12 +87,12 @@ in
|
||||
reverse_proxy :${toString config.services.filebrowser.settings.port}
|
||||
'';
|
||||
|
||||
# Auto compile pdfs
|
||||
systemd.services.pdf-watcher = {
|
||||
description = "Auto-compile MD and Typst to PDF";
|
||||
after = [ "filebrowser.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
# Important: Run as the same user as Filebrowser to avoid permission issues
|
||||
serviceConfig = {
|
||||
User = "filebrowser";
|
||||
Group = "filebrowser";
|
||||
@@ -102,7 +102,7 @@ in
|
||||
Environment = [
|
||||
"HOME=/var/lib/filebrowser"
|
||||
"XDG_CACHE_HOME=/var/lib/filebrowser/.cache"
|
||||
"TYPST_FONT_PATHS=${lib.makeSearchPath "share/fonts" fontPackages}"
|
||||
# 3"TYPST_FONT_PATHS=${lib.makeSearchPath "share/fonts" fontPackages}"
|
||||
];
|
||||
|
||||
Restart = "always";
|
||||
@@ -113,4 +113,16 @@ in
|
||||
pandoc
|
||||
];
|
||||
};
|
||||
|
||||
# Allow my user to access the filebrowser directory
|
||||
users.users."${config.var.username}".extraGroups = [ "filebrowser" ];
|
||||
|
||||
systemd.services.filebrowser.serviceConfig = {
|
||||
UMask = lib.mkForce "0007";
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"Z /var/lib/filebrowser 0750 filebrowser filebrowser -" # Explicitly secure the data dir root
|
||||
"Z /var/lib/filebrowser/files 2770 filebrowser filebrowser -" # Sticky group on files
|
||||
];
|
||||
}
|
||||
|
||||
@@ -20,6 +20,12 @@
|
||||
nerd-fonts.meslo-lg
|
||||
openmoji-color
|
||||
twemoji-color-font
|
||||
|
||||
fira-sans
|
||||
merriweather
|
||||
|
||||
lexend
|
||||
literata
|
||||
];
|
||||
|
||||
enableDefaultPackages = false;
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
secrets = {
|
||||
radicale_pass = { };
|
||||
university_calendar_url = { };
|
||||
orion_ip = { };
|
||||
ssh_config_orion = {
|
||||
mode = "0600";
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
radicale_pass: ENC[AES256_GCM,data:zdUxtJKNPC8SzajhFKo=,iv:H55GWMiQLJvZx6rAufkk807lZflg0sepxoq6z0XJ/q4=,tag:MoDOuF37PeF7QEpUxBntEg==,type:str]
|
||||
university_calendar_url: ENC[AES256_GCM,data:y5UtZVC0KJPUz//6S0QsrNeFGQshc88zieQgmlur75VFw9y5CJpnZRpdhLnYva00z5HBkxYQelLqS/I5GrXexWtC7Y7d1dCcQ+IZ0K7GGJ5NrYtjNXfMhzNSlhqjvl5lBGb+S565kel3VsCTyo/YRxdbBN6FA/oQNsx8/AvTgtsPeFkQRDGlGkybFRfWHWuTIDLL,iv:rZK9utRrm/KAkVRUjC3VR09MvDZjpoLx7BgaidzQo3o=,tag:tGWGoQCsS3zZh818OKixPw==,type:str]
|
||||
ssh_config_orion: ENC[AES256_GCM,data:P2jH5BDIzeHSIwTBcZwTOXKes727xK0Xoj9W64GmEszEPZw8vA==,iv:hSY9mFdC82pBbOjMFuzoR2eufhjY2MGERJ4ODmcogbA=,tag:ejF535LrQwwH66nQG3qLGw==,type:str]
|
||||
orion_ip: ENC[AES256_GCM,data:RCK6EKOEDaTu1uR2d/8=,iv:5JhIkVQEELB6MoPh49xq+0CrbPjI/6+qfqUHRqCza5s=,tag:+00T4+pWOWRj7R1ft39HAw==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age122w85pqj508ukv0rd388mahecgfckmpgnsgz0zcyec37ljae2epsdnvxpl
|
||||
@@ -21,7 +22,7 @@ sops:
|
||||
ODdTa0VlYjg0ajJuUWhiRVUrR1VSTHMK6NVeKyMTomvZoqAtJN1SshIZdd2fHFBy
|
||||
Waghxmi6x/93lf54E1ZiXZQ+LDCjqqmMY8jgoF00XCo0WeURlHXpaw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-11-29T18:05:48Z"
|
||||
mac: ENC[AES256_GCM,data:j0pHRA3c5lRdyLjqxlP2MTzIYb3WYAy7p+FttOjTQpXcyT5dFykXuu8rv+MQTmWdvHLQKC4iuZ7HTSO9qx8SbAuxHBWpoycpy3cZpmFp5T5crCl65AVQ/yRZKD9gRxkhnVW7aAK1kC3Mq07PamznvX/b7eEJ8h3tvmymuw6z/vY=,iv:W430t2YAXVcJztbO+fNdlOyjjy6+cH5r5YwuM2QdIdc=,tag:dDRJSslL9/Hac465A/TstA==,type:str]
|
||||
lastmodified: "2025-12-01T16:01:07Z"
|
||||
mac: ENC[AES256_GCM,data:LAXl/FJafDOEOYrukqfzGMIXZzihX2zHMIQaR735MHWsTr3DSkCUqZ5IPEn9EmUSDkO8SaS0QdhRk0h7IhzS4MOsAAMdEtAEec4k0f9sMCLRWbV/G4tYxESPeuQNwdwS0iPsBsMQgvH93u7ttR59zyzQE1izal5nMwK3yQmNV5s=,iv:R3bnPXQY38Zf9BJuEP+inbRIVvAmLvEyGrlWzl3N9YI=,tag:eetYNetPvKXiJnR7AA3dwA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
|
||||
Reference in New Issue
Block a user