Clean up lapetus a bit
This commit is contained in:
parent
2b082e9808
commit
0c6aff0470
|
@ -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.
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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),
|
||||||
})
|
})
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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⟩
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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"
|
|
||||||
];
|
|
||||||
# }}}
|
|
||||||
}
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -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"
|
|
||||||
];
|
|
||||||
# }}}
|
|
||||||
}
|
|
Loading…
Reference in a new issue