Compare commits
4 commits
c3852d464b
...
47e073f9d1
Author | SHA1 | Date | |
---|---|---|---|
47e073f9d1 | |||
a309cf3fb3 | |||
3bea51a834 | |||
d2252ae1fe |
|
@ -16,6 +16,7 @@ D('sealight.xyz', REG_NONE, DnsProvider(DNS_HEDNS),
|
||||||
A('bridge', '69.61.38.225', TTL(300)),
|
A('bridge', '69.61.38.225', TTL(300)),
|
||||||
A('rss', '69.61.38.225', TTL(300)),
|
A('rss', '69.61.38.225', TTL(300)),
|
||||||
A('git', '69.61.38.225', TTL(300)),
|
A('git', '69.61.38.225', TTL(300)),
|
||||||
|
A('ci', '69.61.38.225', TTL(300)),
|
||||||
// vultr -> nulled: lituus
|
// vultr -> nulled: lituus
|
||||||
A('@', '45.77.48.108', TTL(300)),
|
A('@', '45.77.48.108', TTL(300)),
|
||||||
A('jitsi', '45.77.48.108', TTL(300)),
|
A('jitsi', '45.77.48.108', TTL(300)),
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
origin = top-right
|
origin = top-right
|
||||||
|
|
||||||
# Offset from the origin
|
# Offset from the origin
|
||||||
offset = 18x36
|
offset = 12x36
|
||||||
|
|
||||||
# Scale factor. It is auto-detected if value is 0.
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
scale = 0
|
scale = 0
|
||||||
|
|
|
@ -19,6 +19,15 @@ let
|
||||||
sha256 = "rs3NTZwWdsmBGXnrgUeVxUiNjbN/ULxJHifPYJD9mT4=";
|
sha256 = "rs3NTZwWdsmBGXnrgUeVxUiNjbN/ULxJHifPYJD9mT4=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
my-lspsaga = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
|
name = "lspsaga.nvim";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "glepnir";
|
||||||
|
repo = "lspsaga.nvim";
|
||||||
|
rev = "b7b4777369b441341b2dcd45c738ea4167c11c9e";
|
||||||
|
sha256 = "sciX/fMxzY1YOxXxjj1+ymrdMi451avcFFu+14R+/pk=";
|
||||||
|
};
|
||||||
|
};
|
||||||
nvim-luapad = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
nvim-luapad = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
name = "nvim-luapad";
|
name = "nvim-luapad";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
|
@ -57,16 +66,6 @@ let
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/folke/which-key.nvim/";
|
meta.homepage = "https://github.com/folke/which-key.nvim/";
|
||||||
};
|
};
|
||||||
my-conjure = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
|
||||||
pname = "conjure";
|
|
||||||
version = "2022-05-04";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "olical";
|
|
||||||
repo = "conjure";
|
|
||||||
rev = "2e7f449d06753f2996e186954e96afc60edd5862";
|
|
||||||
sha256 = "ZV0vPYiZI5/3Isw2l7rrLuiO+kA9G0vrA6OxHFkLTFw=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
scnvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
scnvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
pname = "scnvim";
|
pname = "scnvim";
|
||||||
version = "2022-06-04";
|
version = "2022-06-04";
|
||||||
|
@ -261,6 +260,8 @@ in
|
||||||
" Sexp in Conjure (since it's fennel)
|
" Sexp in Conjure (since it's fennel)
|
||||||
let g:sexp_filetypes = "clojure,scheme,lisp,janet,fennel,yuck"
|
let g:sexp_filetypes = "clojure,scheme,lisp,janet,fennel,yuck"
|
||||||
let g:conjure#filetype#fennel = "conjure.client.fennel.stdio"
|
let g:conjure#filetype#fennel = "conjure.client.fennel.stdio"
|
||||||
|
" let g:conjure#extract#tree_sitter#enabled = true
|
||||||
|
map <localleader>lt :ConjureLogToggle<CR>
|
||||||
|
|
||||||
let g:rainbow_active = 0
|
let g:rainbow_active = 0
|
||||||
autocmd BufReadPost,BufNewFile c,clj,cljs RainbowParenthesesToggleAll
|
autocmd BufReadPost,BufNewFile c,clj,cljs RainbowParenthesesToggleAll
|
||||||
|
@ -338,23 +339,25 @@ in
|
||||||
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } }
|
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } }
|
||||||
|
|
||||||
" lsp commands
|
" lsp commands
|
||||||
nnoremap <leader>vd :lua vim.lsp.buf.definition()<CR>
|
" nnoremap <leader>vd :lua vim.lsp.buf.definition()<CR>
|
||||||
nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR>
|
nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR>
|
||||||
nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR>
|
nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR>
|
||||||
nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR>
|
nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR>
|
||||||
nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR>
|
" nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR>
|
||||||
nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR>
|
" nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR>
|
||||||
nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR>
|
" nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR>
|
||||||
nnoremap <leader>vsd :lua vim.lsp.util.show_line_diagnostics()<CR>
|
" nnoremap <leader>vsd :lua vim.lsp.util.show_line_diagnostics()<CR>
|
||||||
nnoremap <leader>vn :lua vim.lsp.diagnostic.goto_next()<CR>
|
" nnoremap <leader>vn :lua vim.lsp.diagnostic.goto_next()<CR>
|
||||||
nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr>
|
" nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr>
|
||||||
" lspsaga stuff doesn't work
|
" lspsaga stuff doesn't work
|
||||||
" nnoremap <leader>vd :call Lspsaga peek_definition<CR>
|
nnoremap <leader>vd :Lspsaga peek_definition<CR>
|
||||||
" nnoremap <leader>vrn :call Lspsaga rename<CR><CR>
|
nnoremap <leader>vrn :Lspsaga rename<CR><CR>
|
||||||
" nnoremap <leader>vh :call Lspsaga hover_doc<CR>
|
nnoremap <leader>vh :Lspsaga hover_doc<CR>
|
||||||
" nnoremap <leader>vca :call Lspsaga code_action<CR>
|
nnoremap <leader>vca :Lspsaga code_action<CR>
|
||||||
" nnoremap <leader>vsd :call Lspsaga show_line_diagnostics<CR>
|
nnoremap <leader>vsd :Lspsaga show_line_diagnostics<CR>
|
||||||
" nnoremap <leader>vn :call Lspsaga diagnostic_jump_prev<CR>
|
nnoremap <leader>vs :Dasht<Space>
|
||||||
|
nnoremap <leader>vn :Lspsaga diagnostic_jump_prev<CR>
|
||||||
|
nnoremap <leader>vo :LSoutlineToggle<CR>
|
||||||
|
|
||||||
" dashboard
|
" dashboard
|
||||||
let g:dashboard_custom_header = [
|
let g:dashboard_custom_header = [
|
||||||
|
@ -582,18 +585,37 @@ in
|
||||||
local navic = require("nvim-navic")
|
local navic = require("nvim-navic")
|
||||||
|
|
||||||
-- lspsaga, code_action lightbulb is annoying
|
-- lspsaga, code_action lightbulb is annoying
|
||||||
-- local saga = require('lspsaga')
|
local saga = require('lspsaga')
|
||||||
-- saga.init_lsp_saga({
|
saga.init_lsp_saga({
|
||||||
-- code_action_lightbulb = {
|
border_style = "rounded",
|
||||||
-- enable = true,
|
code_action_icon = "",
|
||||||
-- enable_in_insert = true,
|
code_action_num_shortcut = true,
|
||||||
-- cache_code_action = true,
|
code_action_lightbulb = {
|
||||||
-- sign = true,
|
enable = false,
|
||||||
-- update_time = 150,
|
enable_in_insert = false,
|
||||||
-- sign_priority = 4,
|
cache_code_action = true,
|
||||||
-- virtual_text = false,
|
sign = true,
|
||||||
-- },
|
update_time = 150,
|
||||||
-- })
|
sign_priority = 20,
|
||||||
|
virtual_text = false,
|
||||||
|
},
|
||||||
|
code_action_keys = {
|
||||||
|
quit = 'q',
|
||||||
|
exec = '<CR>',
|
||||||
|
},
|
||||||
|
-- show outline
|
||||||
|
show_outline = {
|
||||||
|
win_position = 'right',
|
||||||
|
--set special filetype win that outline window split.like NvimTree neotree
|
||||||
|
-- defx, db_ui
|
||||||
|
auto_enter = true,
|
||||||
|
auto_preview = true,
|
||||||
|
virt_text = '┃',
|
||||||
|
jump_key = 'o',
|
||||||
|
-- auto refresh when change buffer
|
||||||
|
auto_refresh = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||||
|
@ -806,6 +828,11 @@ in
|
||||||
}
|
}
|
||||||
require('twilight').setup{}
|
require('twilight').setup{}
|
||||||
|
|
||||||
|
-- hologram
|
||||||
|
require('hologram').setup{
|
||||||
|
auto_display = true -- WIP automatic markdown image display, may be prone to breaking
|
||||||
|
}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
'';
|
'';
|
||||||
|
@ -855,7 +882,8 @@ in
|
||||||
nvim-peekup
|
nvim-peekup
|
||||||
zen-mode-nvim
|
zen-mode-nvim
|
||||||
twilight-nvim
|
twilight-nvim
|
||||||
lspsaga-nvim
|
my-lspsaga
|
||||||
|
vim-dasht
|
||||||
|
|
||||||
# language
|
# language
|
||||||
vim-nix
|
vim-nix
|
||||||
|
@ -870,6 +898,7 @@ in
|
||||||
vimwiki
|
vimwiki
|
||||||
taskwiki
|
taskwiki
|
||||||
vim-zettel
|
vim-zettel
|
||||||
|
hologram-nvim
|
||||||
|
|
||||||
# lsp stuff
|
# lsp stuff
|
||||||
# nvim-lint
|
# nvim-lint
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
../profiles/wallabag
|
../profiles/wallabag
|
||||||
../profiles/finance
|
../profiles/finance
|
||||||
# ../profiles/archivebox
|
# ../profiles/archivebox
|
||||||
|
../profiles/woodpecker-agent
|
||||||
];
|
];
|
||||||
|
|
||||||
# For some reason this doesn't work in the profile, but does over here??
|
# For some reason this doesn't work in the profile, but does over here??
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
../profiles/server
|
../profiles/server
|
||||||
../profiles/metrics
|
../profiles/metrics
|
||||||
../profiles/gitea
|
../profiles/gitea
|
||||||
|
../profiles/woodpecker-server
|
||||||
../profiles/rss-bridge
|
../profiles/rss-bridge
|
||||||
../profiles/mount-mossnet
|
../profiles/mount-mossnet
|
||||||
../profiles/freshrss
|
../profiles/freshrss
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
|
{ pkgs, config, self, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
users.users.woodpecker-runner = {
|
users.users.woodpecker-runner = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "woodpecker-runner";
|
group = "woodpecker-runner";
|
||||||
|
home = "/var/lib/woodpecker";
|
||||||
|
createHome = true;
|
||||||
};
|
};
|
||||||
users.groups.woodpecker-runner = { };
|
users.groups.woodpecker-runner = { };
|
||||||
# Allow the exec runner to write to build with nix
|
# Allow the exec runner to write to build with nix
|
||||||
nix.allowedUsers = [ "woodpecker-runner" ];
|
nix.settings.allowed-users = [ "woodpecker-runner" ];
|
||||||
|
|
||||||
|
age.secrets.woodpecker-agent-secret.owner = "woodpecker-runner";
|
||||||
|
age.secrets.woodpecker-agent-secret.file = "${self}/secrets/woodpecker-agent-secret.age";
|
||||||
|
|
||||||
systemd.services.woodpecker-runner-exec = {
|
systemd.services.woodpecker-runner-exec = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -30,15 +35,19 @@
|
||||||
];
|
];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Environment = [
|
Environment = [
|
||||||
"WOODPECKER_RUNNER_CAPACITY=2"
|
"WOODPECKER_RUNNER_CAPACITY=6"
|
||||||
"WOODPECKER_RUNNER_NAME=woodpecker-agent"
|
"WOODPECKER_RUNNER_NAME=woodpecker-agent"
|
||||||
|
"WOODPECKER_SERVER=https://ci.sealight.xyz/"
|
||||||
|
"WOODPECKER_HOSTNAME=mossnet"
|
||||||
|
"WOODPECKER_BACKEND=local"
|
||||||
"NIX_REMOTE=daemon"
|
"NIX_REMOTE=daemon"
|
||||||
"PAGER=cat"
|
"PAGER=cat"
|
||||||
];
|
];
|
||||||
BindPaths = [
|
BindPaths = [
|
||||||
"/nix/var/nix/daemon-socket/socket"
|
"/nix/var/nix/daemon-socket/socket"
|
||||||
"/run/nscd/socket"
|
"/run/nscd/socket"
|
||||||
# "/var/lib/woodpecker"
|
"/var/lib/woodpecker"
|
||||||
|
"/var/empty/usr"
|
||||||
];
|
];
|
||||||
BindReadOnlyPaths = [
|
BindReadOnlyPaths = [
|
||||||
"/etc/passwd:/etc/passwd"
|
"/etc/passwd:/etc/passwd"
|
||||||
|
@ -55,7 +64,7 @@
|
||||||
"/nix/"
|
"/nix/"
|
||||||
];
|
];
|
||||||
EnvironmentFile = [
|
EnvironmentFile = [
|
||||||
# /run/agenix/woodpecker-agent-secret
|
/run/agenix/woodpecker-agent-secret
|
||||||
];
|
];
|
||||||
ExecStart = "${pkgs.woodpecker-agent}/bin/woodpecker-agent";
|
ExecStart = "${pkgs.woodpecker-agent}/bin/woodpecker-agent";
|
||||||
User = "woodpecker-runner";
|
User = "woodpecker-runner";
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
|
{ self, ... }:
|
||||||
{
|
{
|
||||||
|
age.secrets.woodpecker-server-secrets.owner = "woodpecker";
|
||||||
|
age.secrets.woodpecker-server-secrets.file = "${self}/secrets/woodpecker-server-secrets.age";
|
||||||
|
|
||||||
|
age.secrets.woodpecker-agent-secret.owner = "woodpecker";
|
||||||
|
age.secrets.woodpecker-agent-secret.file = "${self}/secrets/woodpecker-agent-secret.age";
|
||||||
users.users.woodpecker = {
|
users.users.woodpecker = {
|
||||||
group = woodpecker;
|
group = "woodpecker";
|
||||||
description = "woodpecker user";
|
description = "woodpecker user";
|
||||||
home = "/var/lib/woodpecker";
|
home = "/var/lib/woodpecker";
|
||||||
createHome = true;
|
createHome = true;
|
||||||
|
@ -28,12 +34,11 @@
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
EnvironmentFile = [
|
EnvironmentFile = [
|
||||||
# GITEA_CLIENT_SECRET etc
|
/run/agenix/woodpecker-server-secrets
|
||||||
# /run/agenix/woodpecker
|
/run/agenix/woodpecker-agent-secret
|
||||||
];
|
];
|
||||||
Environment = [
|
Environment = [
|
||||||
"WOODPECKER_OPEN=true"
|
"WOODPECKER_OPEN=true"
|
||||||
"WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}"
|
|
||||||
|
|
||||||
"WOODPECKER_GITEA=true"
|
"WOODPECKER_GITEA=true"
|
||||||
"WOODPECKER_GITEA_URL=https://git.sealight.xyz"
|
"WOODPECKER_GITEA_URL=https://git.sealight.xyz"
|
||||||
|
@ -42,6 +47,12 @@
|
||||||
"WOODPECKER_DATABASE_DRIVER=postgres"
|
"WOODPECKER_DATABASE_DRIVER=postgres"
|
||||||
"WOODPECKER_SERVER_PORT=:3030"
|
"WOODPECKER_SERVER_PORT=:3030"
|
||||||
"WOODPECKER_USER_CREATE=username:aynish,admin:true" # set your admin username
|
"WOODPECKER_USER_CREATE=username:aynish,admin:true" # set your admin username
|
||||||
|
"${config.environment.etc."ssl/certs/ca-certificates.crt".source}:/etc/ssl/certs/ca-certificates.crt"
|
||||||
|
"${config.environment.etc."ssh/ssh_known_hosts".source}:/etc/ssh/ssh_known_hosts"
|
||||||
|
"${builtins.toFile "ssh_config" ''
|
||||||
|
Host git.sealight.xyz
|
||||||
|
ForwardAgent yes
|
||||||
|
''}:/etc/ssh/ssh_config"
|
||||||
];
|
];
|
||||||
ExecStart = "${pkgs.woodpecker-server}/bin/woodpecker-server";
|
ExecStart = "${pkgs.woodpecker-server}/bin/woodpecker-server";
|
||||||
User = woodpecker;
|
User = woodpecker;
|
||||||
|
|
|
@ -25,8 +25,7 @@ in
|
||||||
"telegram-matrix-env.age".publicKeys = [ lituus ];
|
"telegram-matrix-env.age".publicKeys = [ lituus ];
|
||||||
|
|
||||||
"wallabag.age".publicKeys = [ mossnet ];
|
"wallabag.age".publicKeys = [ mossnet ];
|
||||||
"woodpecker-agent-secret.age".publicKeys = [ lituus helix ];
|
"woodpecker-agent-secret.age".publicKeys = [ mossnet helix ];
|
||||||
"woodpecker-client-id.age".publicKeys = [ helix ];
|
"woodpecker-server-secrets.age".publicKeys = [ helix ];
|
||||||
"woodpecker-client-secret.age".publicKeys = [ helix ];
|
|
||||||
"gitea-dbpass.age".publicKeys = [ helix ];
|
"gitea-dbpass.age".publicKeys = [ helix ];
|
||||||
}
|
}
|
||||||
|
|
9
secrets/woodpecker-agent-secret.age
Normal file
9
secrets/woodpecker-agent-secret.age
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 K2vF/Q SYAkEEvz6aqkzh8r+TgvnwfQNJ3pLxGUcYmHK3DaNhM
|
||||||
|
ayICZI0Ctmw1AtIReiXx5KXUSz8qZtkRZQx9eNS0z1g
|
||||||
|
-> ssh-ed25519 kgCrKA Ii00pfHYObHJbBJziVQLUR43s61t0JOTT0YZJ9OaqE0
|
||||||
|
NUJddte8zIZhrVtSeTU9iq9UW955ANlA6JZm8MQf+P8
|
||||||
|
-> QrEy[-grease yS' ]r: PIx`w:SK
|
||||||
|
uaB9Bdjdf3Sy5fL1qQNsfYZhoCRG51MPDfw75A
|
||||||
|
--- 8jiDkupjnxMlSfXvJQGK4pVFDTuqNbsvHGsqLzDHjQ0
|
||||||
|
eœT—8Ÿp<EFBFBD>`² øáG®¥Ç<C2A5>t·è÷‹4ƒòóѯ·Ç2ZŒ<5A>/‚ +fÝæxb¢TIèÕùnåÏ<C3A5>ú’#¶Rº5±úTíüñ9 åèä4=ÌYÉd¦\aìÔI
|
BIN
secrets/woodpecker-server-secrets.age
Normal file
BIN
secrets/woodpecker-server-secrets.age
Normal file
Binary file not shown.
Loading…
Reference in a new issue