meta: Format tree

This commit is contained in:
The Hedgehog 2022-10-05 18:17:21 -04:00
parent 1435241e0c
commit 157210cefb
Signed by: thehedgehog
GPG key ID: 8CDF3F7CAA53A0F5
60 changed files with 877 additions and 775 deletions

View file

@ -149,7 +149,6 @@
};
hydraJobs = {
build = {
marvin = self.nixosConfigurations.marvin.config.system.build.toplevel;
prefect = self.nixosConfigurations.prefect.config.system.build.toplevel;

View file

@ -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;

View file

@ -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
'';
}

View file

@ -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
'';
}

View file

@ -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";

View file

@ -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;

View file

@ -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
# ]))
];
}

View file

@ -1,4 +1,6 @@
{ xdg.configFile."wezterm" = {
source = ./config;
recursive = true;
};}
{
xdg.configFile."wezterm" = {
source = ./config;
recursive = true;
};
}

View file

@ -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";
};
}

View file

@ -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;

View file

@ -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"
'';
};
}

View file

@ -1,3 +1,5 @@
{ imports = [
./ssh.nix
];}
{
imports = [
./ssh.nix
];
}

View file

@ -1,3 +1,5 @@
{ imports = [
./ntp.nix
];}
{
imports = [
./ntp.nix
];
}

View file

@ -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
];
}

View file

@ -1,4 +1,4 @@
{
networking.firewall.allowedTCPPorts = [80 443 6912];
networking.firewall.trustedInterfaces = [ "tailscale0" ];
networking.firewall.trustedInterfaces = ["tailscale0"];
}

View file

@ -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;

View file

@ -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"];
};
};
}

View file

@ -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";
};
};
};}
}

View file

@ -1,4 +1,8 @@
{lib, pkgs, ...}: {
{
lib,
pkgs,
...
}: {
services.dendrite = {
enable = true;
httpPort = 6921;

View file

@ -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";

View file

@ -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";
};
};}
}

View file

@ -2,5 +2,5 @@
services.jellyfin = {
enable = true;
};
networking.firewall.allowedUDPPorts = [ 1900 7359 ];
networking.firewall.allowedUDPPorts = [1900 7359];
}

View file

@ -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;});
};
};
};
};}
}

View file

@ -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

View file

@ -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"
];
};
};}
}

View file

@ -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";
};
};
};}
}

View file

@ -50,7 +50,7 @@ in {
frontend = {
enable = true;
whois = "whois.burble.dn42";
protocolFilter = [ "bgp" "ospf" "static" ];
protocolFilter = ["bgp" "ospf" "static"];
servers = ["dn42"];
netSpecificMode = "dn42";