1
Fork 0

Clean up lapetus a bit

This commit is contained in:
prescientmoon 2024-11-09 12:45:25 +01:00
parent 2b082e9808
commit 0c6aff0470
Signed by: prescientmoon
SSH key fingerprint: SHA256:WFp/cO76nbarETAoQcQXuV+0h7XJsEsOCI0UsyPIy6U
16 changed files with 34 additions and 204 deletions

View file

@ -84,7 +84,7 @@ let
}; };
# Select your current theme here! # Select your current theme here!
currentTheme = themes.catppuccin-mocha; currentTheme = themes.catppuccin-latte;
in in
{ {
# We apply the current theme here. # We apply the current theme here.

View file

@ -1473,11 +1473,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1728492678, "lastModified": 1730785428,
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -15,6 +15,8 @@ function M.enable()
swap("j") swap("j")
swap("k") swap("k")
swap("<up>")
swap("<down>")
swap("0") swap("0")
swap("$") swap("$")
end end
@ -24,6 +26,8 @@ function M.disable()
unswap("j") unswap("j")
unswap("k") unswap("k")
unswap("<up>")
unswap("<down>")
unswap("0") unswap("0")
unswap("$") unswap("$")
end end

View file

@ -41,9 +41,6 @@ table.insert(M, {
}, },
}) })
vim.cmd([[highlight NotifyINFOIcon guifg=#d6b20f]])
vim.cmd([[highlight NotifyINFOTitle guifg=#d6b20f]])
vim.cmd("colorscheme catppuccin") vim.cmd("colorscheme catppuccin")
end), end),
}) })

View file

@ -150,6 +150,7 @@ let
# Use global clipboard using *cp* # Use global clipboard using *cp*
(keymap "nv" "<f11>" ''"+'' "Use global clipboard") (keymap "nv" "<f11>" ''"+'' "Use global clipboard")
# Save using *ji* # Save using *ji*
(nmap "<f12>" (thunk '' (nmap "<f12>" (thunk ''
-- If we don't do this, the statusbar will flash for a second... -- If we don't do this, the statusbar will flash for a second...
@ -181,8 +182,6 @@ let
} }
# }}} # }}}
# {{{ Diagnostics # {{{ Diagnostics
(dmap "[d" "goto_prev" "Goto previous [d]iagnostic")
(dmap "]d" "goto_next" "Goto next [d]iagnostic")
(dmap "J" "open_float" "Open current diagnostic") (dmap "J" "open_float" "Open current diagnostic")
(dmap "<leader>D" "setloclist" "[D]iagnostic loclist") (dmap "<leader>D" "setloclist" "[D]iagnostic loclist")
(nmap "qj" "J" "join lines") (nmap "qj" "J" "join lines")
@ -197,7 +196,9 @@ let
# lua # lua
thunk "vim.opt.spell = not vim.o.spell" thunk "vim.opt.spell = not vim.o.spell"
) "toggle [s]pell checker") ) "toggle [s]pell checker")
(nmap "<leader>yp" "<cmd>!curl --data-binary @% https://paste.rs<cr>" "[y]ank [p]aste.rs link") (nmap "<leader>yp" "<cmd>!curl --data-binary @% https://paste.rs | wl-copy<cr>"
"[y]ank [p]aste.rs link to clipboard"
)
# }}} # }}}
]; ];
# }}} # }}}
@ -1072,7 +1073,7 @@ let
}; };
}; };
# tinymist.settings.exportPdf = "onType"; tinymist.settings.exportPdf = "onSave";
tinymist.offset_encoding = "utf-8"; tinymist.offset_encoding = "utf-8";
cssls = { }; cssls = { };
@ -1490,6 +1491,12 @@ let
}; };
}; };
# }}} # }}}
# {{{ justfile support
just = {
package = "NoahTheDuke/vim-just";
event = "VeryLazy";
};
# }}}
# }}} # }}}
# {{{ external # {{{ external
# These plugins integrate neovim with external services # These plugins integrate neovim with external services

View file

@ -182,7 +182,7 @@ block math
-- {{{ Constants -- {{{ Constants
for constkind <- @⟨default,shortened⟩ for constkind <- @⟨default,shortened⟩
for constant <- @⟨@constkind: for constant <- @⟨@constkind:
@⟨star,delta,Delta,pi,tau,psi,phi,rho,sigma,alpha,beta,theta,gamma,omega,Omega,half,ordop,land,lor⟩, @⟨star,delta,Delta,pi,tau,psi,Psi,phi,rho,sigma,alpha,beta,theta,gamma,omega,Omega,half,ordop,land,lor⟩,
@⟨lam,eps,iinf⟩ @⟨lam,eps,iinf⟩
for expansion <- @⟨@constkind: for expansion <- @⟨@constkind:
@ -248,7 +248,7 @@ block math
for noperator <- @⟨ordop,land,lor,equiv,pmod,ldots,cdots,perp,angle,sup⟩ for noperator <- @⟨ordop,land,lor,equiv,pmod,ldots,cdots,perp,angle,sup⟩
abbr @noperator \\@noperator abbr @noperator \\@noperator
for operator <- @⟨overline,hat,bar,abs,norm,prob,diprod,sin,cos,sqrt,ln,lrb,zmod,gen,diam,prob⟩ for operator <- @⟨overline,hat,bar,abs,norm,prob,diprod,sin,cos,sqrt,ln,lrb,zmod,gen,pmob⟩
string @operator string @operator
snip \\@operator$|1⟨{$1}, $0⟩ snip \\@operator$|1⟨{$1}, $0⟩

View file

@ -93,7 +93,7 @@ bind = $mod, L, exec, loginctl lock-session # Lock screen
bind = $mod, P, exec, anyrun bind = $mod, P, exec, anyrun
bind = $mod, B, exec, wlsunset-toggle # Toggle blue light filter thingy bind = $mod, B, exec, wlsunset-toggle # Toggle blue light filter thingy
bind = $mod, V, exec, foot vimclip # Vim anywhere! bind = $mod, V, exec, foot vimclip # Vim anywhere!
# bind = $mod, W, exec, ~/projects/form-filler/type.sh bind = $mod, W, exec, ~/projects/form-filler/type.sh
# Work with the special workspace # Work with the special workspace
bind = $mod, x, togglespecialworkspace, bind = $mod, x, togglespecialworkspace,

View file

@ -53,6 +53,7 @@
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
programs.firejail.enable = true; programs.firejail.enable = true;
programs.nix-ld.enable = true; # Useful for running non-nix executables programs.nix-ld.enable = true; # Useful for running non-nix executables
services.mullvad-vpn.enable = true;
# }}} # }}}
# {{{ SSH keys # {{{ SSH keys
users.users.pilot.openssh.authorizedKeys.keyFiles = [ ../tethys/keys/id_ed25519.pub ]; users.users.pilot.openssh.authorizedKeys.keyFiles = [ ../tethys/keys/id_ed25519.pub ];

View file

@ -17,11 +17,6 @@
../common/optional/services/restic ../common/optional/services/restic
../common/optional/services/wpa_supplicant.nix ../common/optional/services/wpa_supplicant.nix
# ./services/commafeed.nix
# ./services/ddclient.nix
# ./services/guacamole
# ./services/intray.nix
# ./services/smos.nix
./services/5d-diplomacy ./services/5d-diplomacy
./services/actual.nix ./services/actual.nix
./services/cloudflared.nix ./services/cloudflared.nix

View file

@ -1,36 +0,0 @@
{ config, ... }:
let
port = config.satellite.ports.commafeed;
dataDir = "/persist/state/var/lib/commafeed";
in
{
systemd.tmpfiles.rules = [ "d ${dataDir}" ];
satellite.nginx.at.rss.port = port;
virtualisation.oci-containers.containers.commafeed = {
image = "athou/commafeed:latest";
ports = [ "${toString port}:8082" ]; # server:docker
volumes = [ "${dataDir}:/commafeed/data" ]; # server:docker
# the JVM is way too hungry
entrypoint = builtins.toJSON [
"java"
"-Xmx64m"
"-jar"
"commafeed.jar"
"server"
"config.yml"
];
# https://github.com/Athou/commafeed/blob/master/commafeed-server/config.yml.example
environment = {
CF_APP_PUBLICURL = "https://${config.satellite.nginx.at.rss.host}";
CF_APP_ALLOWREGISTRATIONS = "false"; # I already made an account
CF_APP_MAXENTRIESAGEDAYS = "0"; # Fetch old entries
# I randomly generated an user agent for this
CF_APP_USERAGENT = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_6; like Mac OS X) AppleWebKit/533.48 (KHTML, like Gecko) Chrome/49.0.2557.162 Mobile Safari/602.0";
};
};
}

View file

@ -1,36 +0,0 @@
# DDClient is a dynamic dns service
{ config, pkgs, ... }:
{
services.ddclient = {
enable = true;
interval = "1m";
configFile = config.sops.templates."ddclient.conf".path;
# REASON: latest release doesn't support explicit root-domain annotations for porkbun
package = pkgs.ddclient.overrideAttrs (_: {
src = pkgs.fetchFromGitHub {
owner = "ddclient";
repo = "ddclient";
rev = "9885d55a3741363ad52d3463cb846d5782efb073";
sha256 = "0zyi8h13y18vrlxavx1vva4v0ya5v08bxdxlr3is49in3maz2n37";
};
});
};
sops.templates."ddclient.conf".content = ''
# General settings
cache=/var/lib/ddclient/ddclient.cache # See the nixos module for details
foreground=YES
# Routers
use=web, web=checkip.dyndns.com/, web-skip='Current IP Address: '
# Protocols
protocol=porkbun
apikey=${config.sops.placeholder.porkbun_api_key}
secretapikey=${config.sops.placeholder.porkbun_secret_api_key}
root-domain=moonythm.dev # The root domain detection doesn't work properly
real.lapetus.moonythm.dev
'';
}

View file

@ -29,8 +29,11 @@
HTTP_PORT = config.satellite.cloudflared.at.git.port; HTTP_PORT = config.satellite.cloudflared.at.git.port;
ROOT_URL = config.satellite.cloudflared.at.git.url; ROOT_URL = config.satellite.cloudflared.at.git.url;
LANDING_PAGE = "prescientmoon"; # Make my profile the landing page LANDING_PAGE = "prescientmoon"; # Make my profile the landing page
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
SSH_DOMAIN = config.satellite.cloudflared.at."ssh.git".host; SSH_DOMAIN = config.satellite.cloudflared.at."ssh.git".host;
SSH_PORT = config.satellite.ports.forgejo-ssh; SSH_LISTEN_PORT = config.satellite.ports.forgejo-ssh;
}; };
cron.ENABLED = true; cron.ENABLED = true;
@ -46,8 +49,9 @@
repository = { repository = {
DISABLE_STARS = true; DISABLE_STARS = true;
DISABLED_REPO_UNITS = "";
DEFAULT_REPO_UNITS = lib.strings.concatStringsSep "," [ "repo.code" ]; DEFAULT_REPO_UNITS = lib.strings.concatStringsSep "," [ "repo.code" ];
ENABLE_PUSH_CREATE_USER = true;
ENABLE_PUSH_CREATE_ORG = true;
}; };
}; };
}; };

View file

@ -92,37 +92,17 @@ in
]; ];
} }
# }}} # }}}
# {{{ Productivity # {{{ Tooling
{ {
name = "Productivity"; name = "Tooling";
icon = fa "rocket"; icon = fa "toolbox";
items = [ items = [
{
name = "Intray";
subtitle = "GTD capture tool";
icon = fa "inbox";
url = "https://intray.moonythm.dev";
}
{
name = "Smos";
subtitle = "A comprehensive self-management system.";
icon = fa "cubes-stacked";
url = "https://smos.moonythm.dev";
}
{ {
name = "Actual"; name = "Actual";
subtitle = "Budgeting tool"; subtitle = "Budgeting tool";
logo = icon "actual.png"; logo = icon "actual.png";
url = "https://actual.moonythm.dev"; url = "https://actual.moonythm.dev";
} }
];
}
# }}}
# {{{ Tooling
{
name = "Tooling";
icon = fa "toolbox";
items = [
{ {
name = "Vaultwarden"; name = "Vaultwarden";
subtitle = "Password manager"; subtitle = "Password manager";

View file

@ -1,33 +0,0 @@
{ inputs, config, ... }:
let
username = "prescientmoon";
apiPort = config.satellite.ports.intray-api;
webPort = config.satellite.ports.intray-client;
in
{
imports = [ inputs.intray.nixosModules.x86_64-linux.default ];
# {{{ Configure intray
services.intray.production = {
enable = true;
api-server = {
enable = true;
port = apiPort;
admins = [ username ];
};
web-server = {
enable = true;
port = webPort;
api-url = config.satellite.nginx.at."api.intray".url;
};
};
# }}}
# {{{ Networking & storage
satellite.nginx.at."intray".port = webPort;
satellite.nginx.at."api.intray".port = apiPort;
environment.persistence."/persist/state".directories = [
"/www/intray/production/data"
];
# }}}
}

View file

@ -37,8 +37,8 @@
owner = "iv-org"; owner = "iv-org";
repo = "invidious"; repo = "invidious";
fetchSubmodules = true; fetchSubmodules = true;
rev = "a88a723de3a3d96d8ff748cb117ae48265ee552c"; rev = "b173d4acf21563d47d26718eca7932878fb424e6";
sha256 = "0v5fmz6dm7s94kw7ilblad95mfydsmk5dr3f1wwgxzzynvigy2bc"; sha256 = "04z11yai4yrjpd9im38dgx1p2qnh8px1zq28m1ay9jjk2s143j4r";
}; };
}); });
}; };

View file

@ -1,53 +0,0 @@
{ inputs, config, ... }:
let username = "prescientmoon";
in
{
imports = [ inputs.smos.nixosModules.x86_64-linux.default ];
# {{{ Configure smos
services.smos.production = {
enable = true;
# {{{ Docs server
docs-site = {
enable = true;
openFirewall = false;
port = config.satellite.nginx.at."docs.smos".port;
api-url = config.satellite.nginx.at."api.smos".url;
web-url = config.satellite.nginx.at."smos".url;
};
# }}}
# {{{ Api server
api-server = {
enable = true;
openFirewall = false;
port = config.satellite.nginx.at."api.smos".port;
admin = username;
max-backups-per-user = 5;
backup-interval = 3600;
local-backup.enable = true;
};
# }}}
# {{{ Web server
web-server = {
enable = true;
openFirewall = false;
port = config.satellite.nginx.at."smos".port;
docs-url = config.satellite.nginx.at."docs.smos".url;
api-url = config.satellite.nginx.at."api.smos".url;
web-url = config.satellite.nginx.at."smos".url;
};
# }}}
};
# }}}
# {{{ Networking & storage
satellite.nginx.at."docs.smos".port = config.satellite.ports.smos-docs;
satellite.nginx.at."api.smos".port = config.satellite.ports.smos-api;
satellite.nginx.at."smos".port = config.satellite.ports.smos-client;
environment.persistence."/persist/state".directories = [
"/www/smos/production"
];
# }}}
}