meta: Format tree
This commit is contained in:
parent
1435241e0c
commit
157210cefb
|
@ -149,7 +149,6 @@
|
|||
};
|
||||
|
||||
hydraJobs = {
|
||||
|
||||
build = {
|
||||
marvin = self.nixosConfigurations.marvin.config.system.build.toplevel;
|
||||
prefect = self.nixosConfigurations.prefect.config.system.build.toplevel;
|
||||
|
|
8
home.nix
8
home.nix
|
@ -143,10 +143,10 @@
|
|||
};
|
||||
|
||||
xdg.configFile = {
|
||||
"btop/themes".source = pkgs.my-pkgs.catppuccin-btop;
|
||||
"btop/themes".recursive = true;
|
||||
"bat/themes".source = pkgs.my-pkgs.catppuccin-bat;
|
||||
"bat/themes".recursive = true;
|
||||
"btop/themes".source = pkgs.my-pkgs.catppuccin-btop;
|
||||
"btop/themes".recursive = true;
|
||||
"bat/themes".source = pkgs.my-pkgs.catppuccin-bat;
|
||||
"bat/themes".recursive = true;
|
||||
};
|
||||
|
||||
# fonts.fontconfig.enable = true;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{ xdg.configFile."Yubico/u2f_keys".text = ''
|
||||
thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence
|
||||
'';}
|
||||
{
|
||||
xdg.configFile."Yubico/u2f_keys".text = ''
|
||||
thehedgehog:iC1dk7d+DYFX60wpkDlWdwNpkRLXmML7iDjxh4TRXe8OhsAb2pgKiY6tVLHeZIK3WOVA1DuWU8rWlHdma3eqJg==,NdBJTVCvOamU35ad3fJRv6A6YZQIYrojcVk9a8WYMVvTtKO+xyIeBvunlidHv4Zb0rYrOvK6u7Gb4N5x6T6FIQ==,es256,+presence:juWx2IphhNuHZHiv8nG3i2WWTyR5A+CWp5iHz2AmE7aj3b3rgj85Gl1PMpmZlvlwDgbCP+dlcP5PPzTFloB3Ow==,FEXBkP0PzZSURoIbLuGiRRHFIcSiqEz/ieNPRqRY/hqLJ4AsvGwJ1xdIX7F8qAQuMSp8m7usuBLS4u+4FGg3Ng==,es256,+presence
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,209 +1,209 @@
|
|||
{
|
||||
# color=1A1B26
|
||||
xdg.configFile."tridactyl/tridactylrc".text = ''
|
||||
" General Settings
|
||||
set update.lastchecktime 1657980206978
|
||||
set update.nag true
|
||||
set update.nagwait 7
|
||||
set update.lastnaggedversion 1.14.0
|
||||
set update.checkintervalsecs 86400
|
||||
set configversion 2.0
|
||||
set smoothscroll true
|
||||
set k scrollline -5
|
||||
set theme tokyo-night
|
||||
set newtab about:blank
|
||||
set allowautofocus false
|
||||
set allowautofocus false
|
||||
set followpagepatterns.prev Previous
|
||||
" General Settings
|
||||
set update.lastchecktime 1657980206978
|
||||
set update.nag true
|
||||
set update.nagwait 7
|
||||
set update.lastnaggedversion 1.14.0
|
||||
set update.checkintervalsecs 86400
|
||||
set configversion 2.0
|
||||
set smoothscroll true
|
||||
set k scrollline -5
|
||||
set theme tokyo-night
|
||||
set newtab about:blank
|
||||
set allowautofocus false
|
||||
set allowautofocus false
|
||||
set followpagepatterns.prev Previous
|
||||
|
||||
" Binds
|
||||
bind j scrollline 5
|
||||
bind ;x hint -F e => { const pos = tri.dom.getAbsoluteCentre(e); tri.excmds.exclaim_quiet("xdotool mousemove --sync " + window.devicePixelRatio * pos.x + " " + window.devicePixelRatio * pos.y + "; xdotool click 1")}
|
||||
bind ;X hint -F e => { const pos = tri.dom.getAbsoluteCentre(e); tri.excmds.exclaim_quiet("xdotool mousemove --sync " + window.devicePixelRatio * pos.x + " " + window.devicePixelRatio * pos.y + "; xdotool keydown ctrl+shift; xdotool click 1; xdotool keyup ctrl+shift")}
|
||||
bind <A-p> pin
|
||||
bind <A-m> mute toggle
|
||||
bind <F1> help
|
||||
bind o fillcmdline open
|
||||
bind O current_url open
|
||||
bind w fillcmdline winopen
|
||||
bind W current_url winopen
|
||||
bind t fillcmdline tabopen
|
||||
bind ]] followpage next
|
||||
bind [[ followpage prev
|
||||
bind [c urlincrement -1
|
||||
bind ]c urlincrement 1
|
||||
bind <C-x> urlincrement -1
|
||||
bind <C-a> urlincrement 1
|
||||
bind T current_url tabopen
|
||||
bind yy clipboard yank
|
||||
bind ys clipboard yankshort
|
||||
bind yc clipboard yankcanon
|
||||
bind ym clipboard yankmd
|
||||
bind yo clipboard yankorg
|
||||
bind yt clipboard yanktitle
|
||||
bind gh home
|
||||
bind gH home true
|
||||
bind p clipboard open
|
||||
bind P clipboard tabopen
|
||||
bind <C-e> scrollline 10
|
||||
bind k scrollline -5
|
||||
bind <C-y> scrollline -10
|
||||
bind h scrollpx -50
|
||||
bind l scrollpx 50
|
||||
bind G scrollto 100
|
||||
bind gg scrollto 0
|
||||
bind <C-u> scrollpage -0.5
|
||||
bind <C-d> scrollpage 0.5
|
||||
bind <C-f> scrollpage 1
|
||||
bind <C-b> scrollpage -1
|
||||
unbind <C-v>
|
||||
bind $ scrollto 100 x
|
||||
bind ^ scrollto 0 x
|
||||
bind H back
|
||||
bind L forward
|
||||
bind <C-o> jumpprev
|
||||
bind <C-i> jumpnext
|
||||
bind d tabclose
|
||||
bind D composite tabprev; tabclose #
|
||||
bind gx0 tabclosealltoleft
|
||||
bind gx$ tabclosealltoright
|
||||
bind << tabmove -1
|
||||
bind >> tabmove +1
|
||||
bind u undo
|
||||
bind U undo window
|
||||
bind r reload
|
||||
bind R reloadhard
|
||||
bind x tabclose
|
||||
bind gi focusinput -l
|
||||
bind g? rot13
|
||||
bind g! jumble
|
||||
bind g; changelistjump -1
|
||||
bind J tabprev
|
||||
bind K tabnext
|
||||
bind gt tabnext_gt
|
||||
bind gT tabprev
|
||||
bind g^ tabfirst
|
||||
bind g0 tabfirst
|
||||
bind g$ tablast
|
||||
bind ga tabaudio
|
||||
bind gr reader
|
||||
bind gu urlparent
|
||||
bind gU urlroot
|
||||
bind gf viewsource
|
||||
bind : fillcmdline_notrail
|
||||
bind s fillcmdline open search
|
||||
bind S fillcmdline tabopen search
|
||||
bind M gobble 1 quickmark
|
||||
bind B fillcmdline taball
|
||||
bind b fillcmdline tab
|
||||
bind ZZ qall
|
||||
bind f hint
|
||||
bind F hint -b
|
||||
bind gF hint -qb
|
||||
bind ;i hint -i
|
||||
bind ;b hint -b
|
||||
bind ;o hint
|
||||
bind ;I hint -I
|
||||
bind ;k hint -k
|
||||
bind ;K hint -K
|
||||
bind ;y hint -y
|
||||
bind ;Y hint -cF img i => tri.excmds.yankimage(tri.urlutils.getAbsoluteURL(i.src))
|
||||
bind ;p hint -p
|
||||
bind ;h hint -h
|
||||
bind v hint -h
|
||||
bind ;P hint -P
|
||||
bind ;r hint -r
|
||||
bind ;s hint -s
|
||||
bind ;S hint -S
|
||||
bind ;a hint -a
|
||||
bind ;A hint -A
|
||||
bind ;; hint -; *
|
||||
bind ;# hint -#
|
||||
bind ;v hint -W mpvsafe
|
||||
bind ;V hint -V
|
||||
bind ;w hint -w
|
||||
bind ;t hint -W tabopen
|
||||
bind ;O hint -W fillcmdline_notrail open
|
||||
bind ;W hint -W fillcmdline_notrail winopen
|
||||
bind ;T hint -W fillcmdline_notrail tabopen
|
||||
bind ;z hint -z
|
||||
bind ;m composite hint -Jpipe img src | open images.google.com/searchbyimage?image_url=
|
||||
bind ;M composite hint -Jpipe img src | tabopen images.google.com/searchbyimage?image_url=
|
||||
bind ;gi hint -qi
|
||||
bind ;gI hint -qI
|
||||
bind ;gk hint -qk
|
||||
bind ;gy hint -qy
|
||||
bind ;gp hint -qp
|
||||
bind ;gP hint -qP
|
||||
bind ;gr hint -qr
|
||||
bind ;gs hint -qs
|
||||
bind ;gS hint -qS
|
||||
bind ;ga hint -qa
|
||||
bind ;gA hint -qA
|
||||
bind ;g; hint -q;
|
||||
bind ;g# hint -q#
|
||||
bind ;gv hint -qW mpvsafe
|
||||
bind ;gw hint -qw
|
||||
bind ;gb hint -qb
|
||||
bind ;gF hint -qb
|
||||
bind ;gf hint -q
|
||||
bind <S-Insert> mode ignore
|
||||
bind <AC-Escape> mode ignore
|
||||
bind <AC-`> mode ignore
|
||||
bind <S-Escape> mode ignore
|
||||
bind <Escape> composite mode normal ; hidecmdline
|
||||
bind <C-[> composite mode normal ; hidecmdline
|
||||
bind a current_url bmark
|
||||
bind A bmark
|
||||
bind zi zoom 0.1 true
|
||||
bind zo zoom -0.1 true
|
||||
bind zm zoom 0.5 true
|
||||
bind zr zoom -0.5 true
|
||||
bind zM zoom 0.5 true
|
||||
bind zR zoom -0.5 true
|
||||
bind zz zoom 1
|
||||
bind zI zoom 3
|
||||
bind zO zoom 0.3
|
||||
bind . repeat
|
||||
bind <AS-ArrowUp><AS-ArrowUp><AS-ArrowDown><AS-ArrowDown><AS-ArrowLeft><AS-ArrowRight><AS-ArrowLeft><AS-ArrowRight>ba open https://www.youtube.com/watch?v=M3iOROuTuMA
|
||||
bind / fillcmdline find
|
||||
bind ? fillcmdline find -?
|
||||
bind n findnext 1
|
||||
bind N findnext -1
|
||||
unbindurl https://github.com --mode
|
||||
bindurl ^https://web.whatsapp.com f hint -c [tabindex]:not(.two)>div,a
|
||||
bindurl ^https://web.whatsapp.com F hint -bc [tabindex]:not(.two)>div,a
|
||||
unbindurl % x
|
||||
unbindurl refined-github-html-preview.kidonng.workers.dev x
|
||||
" Binds
|
||||
bind j scrollline 5
|
||||
bind ;x hint -F e => { const pos = tri.dom.getAbsoluteCentre(e); tri.excmds.exclaim_quiet("xdotool mousemove --sync " + window.devicePixelRatio * pos.x + " " + window.devicePixelRatio * pos.y + "; xdotool click 1")}
|
||||
bind ;X hint -F e => { const pos = tri.dom.getAbsoluteCentre(e); tri.excmds.exclaim_quiet("xdotool mousemove --sync " + window.devicePixelRatio * pos.x + " " + window.devicePixelRatio * pos.y + "; xdotool keydown ctrl+shift; xdotool click 1; xdotool keyup ctrl+shift")}
|
||||
bind <A-p> pin
|
||||
bind <A-m> mute toggle
|
||||
bind <F1> help
|
||||
bind o fillcmdline open
|
||||
bind O current_url open
|
||||
bind w fillcmdline winopen
|
||||
bind W current_url winopen
|
||||
bind t fillcmdline tabopen
|
||||
bind ]] followpage next
|
||||
bind [[ followpage prev
|
||||
bind [c urlincrement -1
|
||||
bind ]c urlincrement 1
|
||||
bind <C-x> urlincrement -1
|
||||
bind <C-a> urlincrement 1
|
||||
bind T current_url tabopen
|
||||
bind yy clipboard yank
|
||||
bind ys clipboard yankshort
|
||||
bind yc clipboard yankcanon
|
||||
bind ym clipboard yankmd
|
||||
bind yo clipboard yankorg
|
||||
bind yt clipboard yanktitle
|
||||
bind gh home
|
||||
bind gH home true
|
||||
bind p clipboard open
|
||||
bind P clipboard tabopen
|
||||
bind <C-e> scrollline 10
|
||||
bind k scrollline -5
|
||||
bind <C-y> scrollline -10
|
||||
bind h scrollpx -50
|
||||
bind l scrollpx 50
|
||||
bind G scrollto 100
|
||||
bind gg scrollto 0
|
||||
bind <C-u> scrollpage -0.5
|
||||
bind <C-d> scrollpage 0.5
|
||||
bind <C-f> scrollpage 1
|
||||
bind <C-b> scrollpage -1
|
||||
unbind <C-v>
|
||||
bind $ scrollto 100 x
|
||||
bind ^ scrollto 0 x
|
||||
bind H back
|
||||
bind L forward
|
||||
bind <C-o> jumpprev
|
||||
bind <C-i> jumpnext
|
||||
bind d tabclose
|
||||
bind D composite tabprev; tabclose #
|
||||
bind gx0 tabclosealltoleft
|
||||
bind gx$ tabclosealltoright
|
||||
bind << tabmove -1
|
||||
bind >> tabmove +1
|
||||
bind u undo
|
||||
bind U undo window
|
||||
bind r reload
|
||||
bind R reloadhard
|
||||
bind x tabclose
|
||||
bind gi focusinput -l
|
||||
bind g? rot13
|
||||
bind g! jumble
|
||||
bind g; changelistjump -1
|
||||
bind J tabprev
|
||||
bind K tabnext
|
||||
bind gt tabnext_gt
|
||||
bind gT tabprev
|
||||
bind g^ tabfirst
|
||||
bind g0 tabfirst
|
||||
bind g$ tablast
|
||||
bind ga tabaudio
|
||||
bind gr reader
|
||||
bind gu urlparent
|
||||
bind gU urlroot
|
||||
bind gf viewsource
|
||||
bind : fillcmdline_notrail
|
||||
bind s fillcmdline open search
|
||||
bind S fillcmdline tabopen search
|
||||
bind M gobble 1 quickmark
|
||||
bind B fillcmdline taball
|
||||
bind b fillcmdline tab
|
||||
bind ZZ qall
|
||||
bind f hint
|
||||
bind F hint -b
|
||||
bind gF hint -qb
|
||||
bind ;i hint -i
|
||||
bind ;b hint -b
|
||||
bind ;o hint
|
||||
bind ;I hint -I
|
||||
bind ;k hint -k
|
||||
bind ;K hint -K
|
||||
bind ;y hint -y
|
||||
bind ;Y hint -cF img i => tri.excmds.yankimage(tri.urlutils.getAbsoluteURL(i.src))
|
||||
bind ;p hint -p
|
||||
bind ;h hint -h
|
||||
bind v hint -h
|
||||
bind ;P hint -P
|
||||
bind ;r hint -r
|
||||
bind ;s hint -s
|
||||
bind ;S hint -S
|
||||
bind ;a hint -a
|
||||
bind ;A hint -A
|
||||
bind ;; hint -; *
|
||||
bind ;# hint -#
|
||||
bind ;v hint -W mpvsafe
|
||||
bind ;V hint -V
|
||||
bind ;w hint -w
|
||||
bind ;t hint -W tabopen
|
||||
bind ;O hint -W fillcmdline_notrail open
|
||||
bind ;W hint -W fillcmdline_notrail winopen
|
||||
bind ;T hint -W fillcmdline_notrail tabopen
|
||||
bind ;z hint -z
|
||||
bind ;m composite hint -Jpipe img src | open images.google.com/searchbyimage?image_url=
|
||||
bind ;M composite hint -Jpipe img src | tabopen images.google.com/searchbyimage?image_url=
|
||||
bind ;gi hint -qi
|
||||
bind ;gI hint -qI
|
||||
bind ;gk hint -qk
|
||||
bind ;gy hint -qy
|
||||
bind ;gp hint -qp
|
||||
bind ;gP hint -qP
|
||||
bind ;gr hint -qr
|
||||
bind ;gs hint -qs
|
||||
bind ;gS hint -qS
|
||||
bind ;ga hint -qa
|
||||
bind ;gA hint -qA
|
||||
bind ;g; hint -q;
|
||||
bind ;g# hint -q#
|
||||
bind ;gv hint -qW mpvsafe
|
||||
bind ;gw hint -qw
|
||||
bind ;gb hint -qb
|
||||
bind ;gF hint -qb
|
||||
bind ;gf hint -q
|
||||
bind <S-Insert> mode ignore
|
||||
bind <AC-Escape> mode ignore
|
||||
bind <AC-`> mode ignore
|
||||
bind <S-Escape> mode ignore
|
||||
bind <Escape> composite mode normal ; hidecmdline
|
||||
bind <C-[> composite mode normal ; hidecmdline
|
||||
bind a current_url bmark
|
||||
bind A bmark
|
||||
bind zi zoom 0.1 true
|
||||
bind zo zoom -0.1 true
|
||||
bind zm zoom 0.5 true
|
||||
bind zr zoom -0.5 true
|
||||
bind zM zoom 0.5 true
|
||||
bind zR zoom -0.5 true
|
||||
bind zz zoom 1
|
||||
bind zI zoom 3
|
||||
bind zO zoom 0.3
|
||||
bind . repeat
|
||||
bind <AS-ArrowUp><AS-ArrowUp><AS-ArrowDown><AS-ArrowDown><AS-ArrowLeft><AS-ArrowRight><AS-ArrowLeft><AS-ArrowRight>ba open https://www.youtube.com/watch?v=M3iOROuTuMA
|
||||
bind / fillcmdline find
|
||||
bind ? fillcmdline find -?
|
||||
bind n findnext 1
|
||||
bind N findnext -1
|
||||
unbindurl https://github.com --mode
|
||||
bindurl ^https://web.whatsapp.com f hint -c [tabindex]:not(.two)>div,a
|
||||
bindurl ^https://web.whatsapp.com F hint -bc [tabindex]:not(.two)>div,a
|
||||
unbindurl % x
|
||||
unbindurl refined-github-html-preview.kidonng.workers.dev x
|
||||
|
||||
" Subconfig Settings
|
||||
seturl ^https://docs.google.com/ preventautofocusjackhammer true
|
||||
seturl www.google.com followpagepatterns.next Next
|
||||
seturl https://nixos.org/manual/nixpkgs/stable/#python sourcegraph.com allowautofocus
|
||||
seturl sourcegraph.com allowautofocus true
|
||||
seturl https://docs.google.com allowautofocus true
|
||||
seturl myaccess.apsva.us allowautofocus true
|
||||
seturl webmail.migadu.com allowautofocus true
|
||||
seturl godbolt.org allowautofocus true
|
||||
seturl jsfiddle.net allowautofocus true
|
||||
" Subconfig Settings
|
||||
seturl ^https://docs.google.com/ preventautofocusjackhammer true
|
||||
seturl www.google.com followpagepatterns.next Next
|
||||
seturl https://nixos.org/manual/nixpkgs/stable/#python sourcegraph.com allowautofocus
|
||||
seturl sourcegraph.com allowautofocus true
|
||||
seturl https://docs.google.com allowautofocus true
|
||||
seturl myaccess.apsva.us allowautofocus true
|
||||
seturl webmail.migadu.com allowautofocus true
|
||||
seturl godbolt.org allowautofocus true
|
||||
seturl jsfiddle.net allowautofocus true
|
||||
|
||||
" Autocmds
|
||||
autocmd DocStart https://twitch.tv mode ignore
|
||||
autocmd DocStart twitch.tv mode ignore
|
||||
autocmd DocStart % mode ignore
|
||||
autocmd DocStart qmk.fm mode ignore
|
||||
autocmd DocStart config.qmk.fm mode ignore
|
||||
autocmd DocStart discourse.doomemacs.org mode ignore
|
||||
autocmd DocStart toptal.com mode ignore
|
||||
autocmd DocStart github.com mode ignore
|
||||
autocmd DocStart tpt-plus.glitch.me mode ignore
|
||||
autocmd DocStart ducdat0507.github.io mode ignore
|
||||
autocmd DocStart dontwordle.com mode ignore
|
||||
autocmd DocStart www.nytimes.com/games/wordle mode ignore
|
||||
autocmd DocLoad ^https://github.com/tridactyl/tridactyl/issues/new$ issue
|
||||
autocmd TriStart .* source_quiet
|
||||
" Autocmds
|
||||
autocmd DocStart https://twitch.tv mode ignore
|
||||
autocmd DocStart twitch.tv mode ignore
|
||||
autocmd DocStart % mode ignore
|
||||
autocmd DocStart qmk.fm mode ignore
|
||||
autocmd DocStart config.qmk.fm mode ignore
|
||||
autocmd DocStart discourse.doomemacs.org mode ignore
|
||||
autocmd DocStart toptal.com mode ignore
|
||||
autocmd DocStart github.com mode ignore
|
||||
autocmd DocStart tpt-plus.glitch.me mode ignore
|
||||
autocmd DocStart ducdat0507.github.io mode ignore
|
||||
autocmd DocStart dontwordle.com mode ignore
|
||||
autocmd DocStart www.nytimes.com/games/wordle mode ignore
|
||||
autocmd DocLoad ^https://github.com/tridactyl/tridactyl/issues/new$ issue
|
||||
autocmd TriStart .* source_quiet
|
||||
|
||||
" For syntax highlighting see https://github.com/tridactyl/vim-tridactyl
|
||||
" vim: set filetype=tridactyl
|
||||
" For syntax highlighting see https://github.com/tridactyl/vim-tridactyl
|
||||
" vim: set filetype=tridactyl
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{pkgs, ...}:
|
||||
with pkgs; {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
@ -62,7 +62,7 @@ with pkgs; {
|
|||
settings = {
|
||||
gui.showIcons = true;
|
||||
gui.showRandomTip = false;
|
||||
gui.theme.selectedLineBgColor = [ "default" ];
|
||||
gui.theme.selectedLineBgColor = ["default"];
|
||||
git.paging = {
|
||||
pager = "delta --dark --paging=never";
|
||||
colorArg = "always";
|
||||
|
|
|
@ -30,12 +30,12 @@
|
|||
pkgs.taplo-lsp
|
||||
pkgs.ueberzug
|
||||
];
|
||||
# extraConfig = ''
|
||||
# luafile ~/.config/nvim/init.generated.lua
|
||||
# colorscheme tokyonight
|
||||
# let g:python3_host_prog='${pkgs.python3Full}/bin/python'
|
||||
# let mapleader=' '
|
||||
# '';
|
||||
# extraConfig = ''
|
||||
# luafile ~/.config/nvim/init.generated.lua
|
||||
# colorscheme tokyonight
|
||||
# let g:python3_host_prog='${pkgs.python3Full}/bin/python'
|
||||
# let mapleader=' '
|
||||
# '';
|
||||
};
|
||||
xdg.configFile."nvim" = {
|
||||
source = ./config;
|
||||
|
|
|
@ -62,31 +62,31 @@ in {
|
|||
vim-tmux
|
||||
which-key-nvim
|
||||
nvim-treesitter
|
||||
# (nvim-treesitter.withPlugins (plugins:
|
||||
# with plugins; [
|
||||
# tree-sitter-bash
|
||||
# tree-sitter-comment
|
||||
# tree-sitter-commonlisp
|
||||
# tree-sitter-css
|
||||
# tree-sitter-elisp
|
||||
# tree-sitter-fennel
|
||||
# tree-sitter-fish
|
||||
# tree-sitter-html
|
||||
# tree-sitter-http
|
||||
# tree-sitter-javascript
|
||||
# tree-sitter-jsdoc
|
||||
# tree-sitter-json
|
||||
# tree-sitter-json5
|
||||
# tree-sitter-lua
|
||||
# tree-sitter-markdown
|
||||
# tree-sitter-nix
|
||||
# tree-sitter-norg
|
||||
# tree-sitter-org-nvim
|
||||
# tree-sitter-python
|
||||
# tree-sitter-regex
|
||||
# tree-sitter-rust
|
||||
# tree-sitter-toml
|
||||
# tree-sitter-vim
|
||||
# ]))
|
||||
# (nvim-treesitter.withPlugins (plugins:
|
||||
# with plugins; [
|
||||
# tree-sitter-bash
|
||||
# tree-sitter-comment
|
||||
# tree-sitter-commonlisp
|
||||
# tree-sitter-css
|
||||
# tree-sitter-elisp
|
||||
# tree-sitter-fennel
|
||||
# tree-sitter-fish
|
||||
# tree-sitter-html
|
||||
# tree-sitter-http
|
||||
# tree-sitter-javascript
|
||||
# tree-sitter-jsdoc
|
||||
# tree-sitter-json
|
||||
# tree-sitter-json5
|
||||
# tree-sitter-lua
|
||||
# tree-sitter-markdown
|
||||
# tree-sitter-nix
|
||||
# tree-sitter-norg
|
||||
# tree-sitter-org-nvim
|
||||
# tree-sitter-python
|
||||
# tree-sitter-regex
|
||||
# tree-sitter-rust
|
||||
# tree-sitter-toml
|
||||
# tree-sitter-vim
|
||||
# ]))
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{ xdg.configFile."wezterm" = {
|
||||
source = ./config;
|
||||
recursive = true;
|
||||
};}
|
||||
{
|
||||
xdg.configFile."wezterm" = {
|
||||
source = ./config;
|
||||
recursive = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,39 +1,46 @@
|
|||
{ pkgs, lib, config, ...}: let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
mod = config.wayland.windowManager.sway.config.modifier;
|
||||
homeDir = config.home.homeDirectory;
|
||||
menu = config.wayland.windowManager.sway.config.menu;
|
||||
term = config.wayland.windowManager.sway.config.terminal;
|
||||
in { wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault {
|
||||
"${mod}+d" = "${menu}";
|
||||
"${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox";
|
||||
"${mod}+Return" = "exec ${term}";
|
||||
"${mod}+x" = "exec wlogout";
|
||||
"XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
|
||||
"XF86MonBrightnessUp" = "exec brightnessctl set +5%";
|
||||
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"Ctrl+F3" = "exec grimshot save screen";
|
||||
"Ctrl+F4" = "exec grimshot save area";
|
||||
"Ctrl+F5" = "exec grimshot save active";
|
||||
"Ctrl+F6" = "exec grimshot save window";
|
||||
"Shift+F3" = "exec grimshot copy screen";
|
||||
"Shift+F4" = "exec grimshot copy area";
|
||||
"Shift+F5" = "exec grimshot copy active";
|
||||
"Shift+F6" = "exec grimshot copy window";
|
||||
"${mod}+Shift+1" = "move container to workspace number 1";
|
||||
"${mod}+Shift+2" = "move container to workspace number 2";
|
||||
"${mod}+Shift+3" = "move container to workspace number 3";
|
||||
"${mod}+Shift+4" = "move container to workspace number 4";
|
||||
"${mod}+Shift+5" = "move container to workspace number 5";
|
||||
"${mod}+Shift+6" = "move container to workspace number 6";
|
||||
"${mod}+Shift+7" = "move container to workspace number 7";
|
||||
"${mod}+Shift+8" = "move container to workspace number 8";
|
||||
"${mod}+Shift+9" = "move container to workspace number 9";
|
||||
"${mod}+Shift+0" = "move container to workspace number 10";
|
||||
"${mod}+0" = "workspace number 10";
|
||||
};}
|
||||
in {
|
||||
wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault {
|
||||
"${mod}+d" = "${menu}";
|
||||
"${mod}+Shift+F" = "exec MOZ_DISABLE_RDD_SANDBOX=1 firefox";
|
||||
"${mod}+Return" = "exec ${term}";
|
||||
"${mod}+x" = "exec wlogout";
|
||||
"XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
|
||||
"XF86MonBrightnessUp" = "exec brightnessctl set +5%";
|
||||
"XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"Ctrl+F3" = "exec grimshot save screen";
|
||||
"Ctrl+F4" = "exec grimshot save area";
|
||||
"Ctrl+F5" = "exec grimshot save active";
|
||||
"Ctrl+F6" = "exec grimshot save window";
|
||||
"Shift+F3" = "exec grimshot copy screen";
|
||||
"Shift+F4" = "exec grimshot copy area";
|
||||
"Shift+F5" = "exec grimshot copy active";
|
||||
"Shift+F6" = "exec grimshot copy window";
|
||||
"${mod}+Shift+1" = "move container to workspace number 1";
|
||||
"${mod}+Shift+2" = "move container to workspace number 2";
|
||||
"${mod}+Shift+3" = "move container to workspace number 3";
|
||||
"${mod}+Shift+4" = "move container to workspace number 4";
|
||||
"${mod}+Shift+5" = "move container to workspace number 5";
|
||||
"${mod}+Shift+6" = "move container to workspace number 6";
|
||||
"${mod}+Shift+7" = "move container to workspace number 7";
|
||||
"${mod}+Shift+8" = "move container to workspace number 8";
|
||||
"${mod}+Shift+9" = "move container to workspace number 9";
|
||||
"${mod}+Shift+0" = "move container to workspace number 10";
|
||||
"${mod}+0" = "workspace number 10";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
term = config.wayland.windowManager.sway.config.terminal;
|
||||
homeDir = config.home.homeDirectory;
|
||||
in {
|
||||
imports = [ ./keybindings.nix ];
|
||||
imports = [./keybindings.nix];
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
systemdIntegration = true;
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
{ networking = {
|
||||
nameservers = [
|
||||
"45.11.45.11"
|
||||
"100.64.0.3"
|
||||
"fd42:d42:d42:53::1"
|
||||
"fd42:d42:d42:54::1"
|
||||
"172.23.0.53"
|
||||
"172.20.0.53"
|
||||
];
|
||||
timeServers = [
|
||||
"0.pool.ntp.org"
|
||||
"1.pool.ntp.org"
|
||||
"2.pool.ntp.org"
|
||||
"3.pool.ntp.org"
|
||||
];
|
||||
resolvconf.extraConfig = ''
|
||||
name_servers="100.64.0.3 45.11.45.11 fd42:d42:d42:53::1 fd42:d42:d42:54::1 172.23.0.53 172.20.0.53"
|
||||
'';
|
||||
};}
|
||||
{
|
||||
networking = {
|
||||
nameservers = [
|
||||
"45.11.45.11"
|
||||
"100.64.0.3"
|
||||
"fd42:d42:d42:53::1"
|
||||
"fd42:d42:d42:54::1"
|
||||
"172.23.0.53"
|
||||
"172.20.0.53"
|
||||
];
|
||||
timeServers = [
|
||||
"0.pool.ntp.org"
|
||||
"1.pool.ntp.org"
|
||||
"2.pool.ntp.org"
|
||||
"3.pool.ntp.org"
|
||||
];
|
||||
resolvconf.extraConfig = ''
|
||||
name_servers="100.64.0.3 45.11.45.11 fd42:d42:d42:53::1 fd42:d42:d42:54::1 172.23.0.53 172.20.0.53"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{ imports = [
|
||||
./ssh.nix
|
||||
];}
|
||||
{
|
||||
imports = [
|
||||
./ssh.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{ imports = [
|
||||
./ntp.nix
|
||||
];}
|
||||
{
|
||||
imports = [
|
||||
./ntp.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
{ imports = [
|
||||
./common/networking.nix
|
||||
./common/nixConfig.nix
|
||||
./common/nixpkgsConfig.nix
|
||||
./common/packages.nix
|
||||
./common/programs
|
||||
./common/root.nix
|
||||
./common/services
|
||||
./common/ssh.nix
|
||||
./common/users.nix
|
||||
];}
|
||||
{
|
||||
imports = [
|
||||
./common/networking.nix
|
||||
./common/nixConfig.nix
|
||||
./common/nixpkgsConfig.nix
|
||||
./common/packages.nix
|
||||
./common/programs
|
||||
./common/root.nix
|
||||
./common/services
|
||||
./common/ssh.nix
|
||||
./common/users.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
networking.firewall.allowedTCPPorts = [80 443 6912];
|
||||
networking.firewall.trustedInterfaces = [ "tailscale0" ];
|
||||
networking.firewall.trustedInterfaces = ["tailscale0"];
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@ let
|
|||
yubi-main = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746";
|
||||
backup = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyTiGctsHaTUlRJn2XQ/745dD0UWGWO8W0en8J5rf7BLI8lL/hPUmbNt45vC5754LXcBjnp1t/1FNgiGhvNZIWJpC+elBmhyMhg8z1exRZPD+as7XaH7scnij2vSbSphQFUqH433ggAGe77x5bc7wKFp9n7vj8G1u0JJxMEe1M7kNFY0+ShNtaHna3LxiQOVcW7qVlNKZP8Ol1V7kZLblRADCJMTYOXDIbktA8bbGRfGhbNjJGkL665qz36haYwb2i6A4sC7Y583N8ro8hIDG/ByJqwbl/Sz4rSxkT6G4+OdBvS6sa7TovNXHjmQCculMIltdog7UhgyBsim1sTzxAen3YyFRi1Cz/kLM0oH39m/W4IoMvJcNZCJ3ItLgy+lEVMd87jVOqfuq/hyjHVI0wJtU2Si2HTxv7aKL8gPzqXwbNH+nhkhlQ0ZH8zKVBunOgLDgsmGIky5X/T3bpWZpIoFkOR7AYrId/5dOeGM3pHhHb6woZ3SRubZ43Ah/VdJM=";
|
||||
marvin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP60B1IOdfJRrDcCKajMV8YJNC01gSsccZi3DKHlS6YJ";
|
||||
me = [ yubi-main yubi-back backup ssh-new ];
|
||||
default = [ marvin yubi-back ssh-new ];
|
||||
me = [yubi-main yubi-back backup ssh-new];
|
||||
default = [marvin yubi-back ssh-new];
|
||||
in {
|
||||
"authentik-env.age".publicKeys = default;
|
||||
"external-wg-priv-key.age".publicKeys = default;
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
POSTGRES_USER = "authentik";
|
||||
POSTGRES_DB = "authentik";
|
||||
};
|
||||
extraOptions = [ "--network=authentik" ];
|
||||
extraOptions = ["--network=authentik"];
|
||||
};
|
||||
authentik-redis = {
|
||||
image = "redis:alpine";
|
||||
extraOptions = [ "--network=authentik" ];
|
||||
extraOptions = ["--network=authentik"];
|
||||
};
|
||||
authentik-server = {
|
||||
image = "ghcr.io/goauthentik/server:${authentikVersion}";
|
||||
|
@ -39,7 +39,7 @@
|
|||
"/var/lib/authentik/media:/media"
|
||||
"/var/lib/authentik/templates:/templates"
|
||||
];
|
||||
extraOptions = [ "--network=authentik" ];
|
||||
extraOptions = ["--network=authentik"];
|
||||
};
|
||||
authentik-worker = {
|
||||
image = "ghcr.io/goauthentik/server:${authentikVersion}";
|
||||
|
@ -58,7 +58,7 @@
|
|||
"/var/lib/authentik/templates:/templates"
|
||||
"/var/lib/authentik/certs:/certs"
|
||||
];
|
||||
extraOptions = [ "--network=authentik" ];
|
||||
extraOptions = ["--network=authentik"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
{ virtualisation.oci-containers.containers.deemix = {
|
||||
image = "registry.gitlab.com/bockiii/deemix-docker";
|
||||
volumes = [
|
||||
"/var/lib/deemix:/config"
|
||||
"/var/lib/music:/downloads"
|
||||
];
|
||||
ports = [ "6907:6595" ];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "1000";
|
||||
UMASK_SET = "022";
|
||||
DEEMIX_SINGLE_USER = "true";
|
||||
DISABLE_OWNERSHIP_CHECK = "true";
|
||||
{
|
||||
virtualisation.oci-containers.containers.deemix = {
|
||||
image = "registry.gitlab.com/bockiii/deemix-docker";
|
||||
volumes = [
|
||||
"/var/lib/deemix:/config"
|
||||
"/var/lib/music:/downloads"
|
||||
];
|
||||
ports = ["6907:6595"];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "1000";
|
||||
UMASK_SET = "022";
|
||||
DEEMIX_SINGLE_USER = "true";
|
||||
DISABLE_OWNERSHIP_CHECK = "true";
|
||||
};
|
||||
};
|
||||
};}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{lib, pkgs, ...}: {
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.dendrite = {
|
||||
enable = true;
|
||||
httpPort = 6921;
|
||||
|
|
|
@ -17,11 +17,10 @@
|
|||
}
|
||||
'';
|
||||
in {
|
||||
|
||||
systemd.services.go-jamming = {
|
||||
after = [ "network.target" ];
|
||||
after = ["network.target"];
|
||||
description = "Go-Jamming Webmentions Server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wantedBy = ["multi-user.target"];
|
||||
serviceConfig = {
|
||||
User = "go-jamming";
|
||||
Group = "go-jamming";
|
||||
|
|
|
@ -1,35 +1,36 @@
|
|||
{config, ...}: { services.grafana = {
|
||||
enable = true;
|
||||
domain = "stats.thehedgehog.me";
|
||||
port = 6914;
|
||||
addr = "0.0.0.0";
|
||||
rootUrl = "https://stats.thehedgehog.me";
|
||||
auth.google.enable = false;
|
||||
auth.azuread.enable = false;
|
||||
auth.disableLoginForm = true;
|
||||
security = {
|
||||
adminUser = "thehedgeh0g";
|
||||
adminPasswordFile = config.age.secrets.grafana-admin.path;
|
||||
};
|
||||
smtp = {
|
||||
{config, ...}: {
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
user = "grafana@thehedgehog.me";
|
||||
fromAddress = "grafana@thehedgehog.me";
|
||||
host = "smtp.migadu.com:465";
|
||||
passwordFile = config.age.secrets.grafana-smtp-password.path;
|
||||
domain = "stats.thehedgehog.me";
|
||||
port = 6914;
|
||||
addr = "0.0.0.0";
|
||||
rootUrl = "https://stats.thehedgehog.me";
|
||||
auth.google.enable = false;
|
||||
auth.azuread.enable = false;
|
||||
auth.disableLoginForm = true;
|
||||
security = {
|
||||
adminUser = "thehedgeh0g";
|
||||
adminPasswordFile = config.age.secrets.grafana-admin.path;
|
||||
};
|
||||
smtp = {
|
||||
enable = true;
|
||||
user = "grafana@thehedgehog.me";
|
||||
fromAddress = "grafana@thehedgehog.me";
|
||||
host = "smtp.migadu.com:465";
|
||||
passwordFile = config.age.secrets.grafana-smtp-password.path;
|
||||
};
|
||||
analytics.reporting.enable = false;
|
||||
extraOptions = {
|
||||
AUTH_GENERIC_OAUTH_NAME = "auth";
|
||||
AUTH_GENERIC_OAUTH_ICON = "signin";
|
||||
AUTH_GENERIC_OAUTH_ENABLED = "true";
|
||||
AUTH_GENERIC_OAUTH_CLIENT_ID = "89f4607cf446a777a6b25ebde8731cdcb80b04c1";
|
||||
AUTH_GENERIC_OAUTH_CLIENT_SECRET = "89eccaa8a31104c218df5cfe37c87f0ea0bbddcd1571bddb7f7fbf5a09045efd59c61f1caaa79483ad59aac2c19488b254acdaced47e66a6505865a14a63ac4a";
|
||||
AUTH_GENERIC_OAUTH_AUTH_URL = "https://auth.thehedgehog.me/application/o/authorize/";
|
||||
AUTH_GENERIC_OAUTH_TOKEN_URL = "https://auth.thehedgehog.me/application/o/token/";
|
||||
AUTH_GENERIC_OAUTH_API_URL = "https://auth.thehedgehog.me/application/o/userinfo/";
|
||||
AUTH_SIGNOUT_REDIRECT_URL = "https://auth.thehedgehog.me/if/session-end/stathog/";
|
||||
AUTH_GENERIC_OAUTH_SCOPES = "openid profile email";
|
||||
};
|
||||
};
|
||||
analytics.reporting.enable = false;
|
||||
extraOptions = {
|
||||
AUTH_GENERIC_OAUTH_NAME = "auth";
|
||||
AUTH_GENERIC_OAUTH_ICON = "signin";
|
||||
AUTH_GENERIC_OAUTH_ENABLED = "true";
|
||||
AUTH_GENERIC_OAUTH_CLIENT_ID = "89f4607cf446a777a6b25ebde8731cdcb80b04c1";
|
||||
AUTH_GENERIC_OAUTH_CLIENT_SECRET = "89eccaa8a31104c218df5cfe37c87f0ea0bbddcd1571bddb7f7fbf5a09045efd59c61f1caaa79483ad59aac2c19488b254acdaced47e66a6505865a14a63ac4a";
|
||||
AUTH_GENERIC_OAUTH_AUTH_URL = "https://auth.thehedgehog.me/application/o/authorize/";
|
||||
AUTH_GENERIC_OAUTH_TOKEN_URL = "https://auth.thehedgehog.me/application/o/token/";
|
||||
AUTH_GENERIC_OAUTH_API_URL = "https://auth.thehedgehog.me/application/o/userinfo/";
|
||||
AUTH_SIGNOUT_REDIRECT_URL = "https://auth.thehedgehog.me/if/session-end/stathog/";
|
||||
AUTH_GENERIC_OAUTH_SCOPES = "openid profile email";
|
||||
};
|
||||
};}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
services.jellyfin = {
|
||||
enable = true;
|
||||
};
|
||||
networking.firewall.allowedUDPPorts = [ 1900 7359 ];
|
||||
networking.firewall.allowedUDPPorts = [1900 7359];
|
||||
}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{inputs, ...}: let
|
||||
dns = inputs.dns.lib;
|
||||
in { services.nsd = {
|
||||
enable = false;
|
||||
zones = {
|
||||
"hog" = {
|
||||
# Don't enable DNSSEC with my internal zone. 1 less thing to break
|
||||
dnssec = false;
|
||||
data = dns.toString "hog" (import ./hog.nix { inherit dns; });
|
||||
in {
|
||||
services.nsd = {
|
||||
enable = false;
|
||||
zones = {
|
||||
"hog" = {
|
||||
# Don't enable DNSSEC with my internal zone. 1 less thing to break
|
||||
dnssec = false;
|
||||
data = dns.toString "hog" (import ./hog.nix {inherit dns;});
|
||||
};
|
||||
};
|
||||
};
|
||||
};}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ dns, ... }: with dns.combinators; {
|
||||
{dns, ...}:
|
||||
with dns.combinators; {
|
||||
SOA = {
|
||||
nameServer = "ns1";
|
||||
adminEmail = "me@thehedgehog.me";
|
||||
|
@ -10,8 +11,8 @@
|
|||
"ns2.hog"
|
||||
];
|
||||
|
||||
A = [ "100.64.0.3" ];
|
||||
AAAA = [ "4349:3909:beef::3" ];
|
||||
A = ["100.64.0.3"];
|
||||
AAAA = ["4349:3909:beef::3"];
|
||||
|
||||
subdomains = rec {
|
||||
# Default settings are for marvin's IPs
|
||||
|
|
|
@ -1,40 +1,42 @@
|
|||
{ virtualisation.oci-containers.containers = {
|
||||
tubearchivist-server = {
|
||||
image = "bbilly1/tubearchivist:latest";
|
||||
ports = [ "6912:8000" ];
|
||||
extraOptions = [ "--network=archivist" ];
|
||||
volumes = [
|
||||
"/var/lib/archivist/media:/youtube"
|
||||
"/var/lib/archivist/cache:/cache"
|
||||
];
|
||||
environment = {
|
||||
ES_URL = "http://tubearchivist-elastic:9200";
|
||||
REDIS_HOST = "tubearchivist-redis";
|
||||
TA_HOST = "tube.thehedgehog.me";
|
||||
TA_USERNAME = "thehedgeh0g";
|
||||
TA_PASSWORD = "insecurepassw0rd";
|
||||
ELASTIC_PASSWORD = "tub3arch1vist";
|
||||
TZ = "America/New_York";
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
tubearchivist-server = {
|
||||
image = "bbilly1/tubearchivist:latest";
|
||||
ports = ["6912:8000"];
|
||||
extraOptions = ["--network=archivist"];
|
||||
volumes = [
|
||||
"/var/lib/archivist/media:/youtube"
|
||||
"/var/lib/archivist/cache:/cache"
|
||||
];
|
||||
environment = {
|
||||
ES_URL = "http://tubearchivist-elastic:9200";
|
||||
REDIS_HOST = "tubearchivist-redis";
|
||||
TA_HOST = "tube.thehedgehog.me";
|
||||
TA_USERNAME = "thehedgeh0g";
|
||||
TA_PASSWORD = "insecurepassw0rd";
|
||||
ELASTIC_PASSWORD = "tub3arch1vist";
|
||||
TZ = "America/New_York";
|
||||
};
|
||||
dependsOn = ["tubearchivist-elastic" "tubearchivist-redis"];
|
||||
};
|
||||
dependsOn = [ "tubearchivist-elastic" "tubearchivist-redis" ];
|
||||
};
|
||||
tubearchivist-redis = {
|
||||
image = "redislabs/rejson:latest";
|
||||
dependsOn = [ "tubearchivist-elastic" ];
|
||||
volumes = [ "/var/lib/archivist/redis-data:/data" ];
|
||||
extraOptions = [ "--network=archivist" ];
|
||||
};
|
||||
tubearchivist-elastic = {
|
||||
image = "bbilly1/tubearchivist-es:latest";
|
||||
extraOptions = [ "--network=archivist" ];
|
||||
environment = {
|
||||
"xpack.security.enabled" = "true";
|
||||
ELASTIC_PASSWORD = "tub3arch1vist";
|
||||
"discovery.type" = "single-node";
|
||||
ES_JAVA_OPTS = "-Xms512m -Xmx512m";
|
||||
tubearchivist-redis = {
|
||||
image = "redislabs/rejson:latest";
|
||||
dependsOn = ["tubearchivist-elastic"];
|
||||
volumes = ["/var/lib/archivist/redis-data:/data"];
|
||||
extraOptions = ["--network=archivist"];
|
||||
};
|
||||
tubearchivist-elastic = {
|
||||
image = "bbilly1/tubearchivist-es:latest";
|
||||
extraOptions = ["--network=archivist"];
|
||||
environment = {
|
||||
"xpack.security.enabled" = "true";
|
||||
ELASTIC_PASSWORD = "tub3arch1vist";
|
||||
"discovery.type" = "single-node";
|
||||
ES_JAVA_OPTS = "-Xms512m -Xmx512m";
|
||||
};
|
||||
volumes = [
|
||||
"/var/lib/archivist/es-data:/usr/share/elasticsearch/data"
|
||||
];
|
||||
};
|
||||
volumes = [
|
||||
"/var/lib/archivist/es-data:/usr/share/elasticsearch/data"
|
||||
];
|
||||
};
|
||||
};}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ virtualisation.oci-containers.containers.ytdl = {
|
||||
image = "alexta69/metube";
|
||||
ports = [ "6906:8081" ];
|
||||
volumes = [ "/var/lib/music:/downloads" ];
|
||||
environment = {
|
||||
UID = "996";
|
||||
GID = "996";
|
||||
{
|
||||
virtualisation.oci-containers.containers.ytdl = {
|
||||
image = "alexta69/metube";
|
||||
ports = ["6906:8081"];
|
||||
volumes = ["/var/lib/music:/downloads"];
|
||||
environment = {
|
||||
UID = "996";
|
||||
GID = "996";
|
||||
};
|
||||
};
|
||||
};}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ in {
|
|||
frontend = {
|
||||
enable = true;
|
||||
whois = "whois.burble.dn42";
|
||||
protocolFilter = [ "bgp" "ospf" "static" ];
|
||||
protocolFilter = ["bgp" "ospf" "static"];
|
||||
servers = ["dn42"];
|
||||
netSpecificMode = "dn42";
|
||||
domain = "thehedgehog.me";
|
||||
|
@ -68,8 +68,16 @@ in {
|
|||
+ lib.concatStrings (builtins.map
|
||||
(x: "
|
||||
protocol bgp ${x.name} from dnpeers {
|
||||
${ if x.multihop then "multihop;" else "" }
|
||||
${ if x.gracefulRestart then "graceful restart on;" else "" }
|
||||
${
|
||||
if x.multihop
|
||||
then "multihop;"
|
||||
else ""
|
||||
}
|
||||
${
|
||||
if x.gracefulRestart
|
||||