Merge branch 'main' of github.com:wi11-holdsworth/dots
This commit is contained in:
commit
73740ab091
10 changed files with 205 additions and 35 deletions
|
|
@ -25,7 +25,19 @@
|
||||||
|
|
||||||
networking.hostName = "${hostName}";
|
networking.hostName = "${hostName}";
|
||||||
|
|
||||||
services.openssh.enable = true;
|
# hardened openssh
|
||||||
|
services.openssh = {
|
||||||
|
passwordAuthentication = false;
|
||||||
|
allowSFTP = false;
|
||||||
|
challengeResponseAuthentication = false;
|
||||||
|
extraConfig = ''
|
||||||
|
AllowTcpForwarding yes
|
||||||
|
X11Forwarding no
|
||||||
|
AllowAgentForwarding no
|
||||||
|
AllowStreamLocalForwarding no
|
||||||
|
AuthenticationMethods publickey
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
"fish"
|
"fish"
|
||||||
"gh"
|
"gh"
|
||||||
"git"
|
"git"
|
||||||
|
"lazygit"
|
||||||
"starship"
|
"starship"
|
||||||
"yazi"
|
"yazi"
|
||||||
"zoxide"
|
"zoxide"
|
||||||
|
|
|
||||||
|
|
@ -18,34 +18,164 @@
|
||||||
sort = "-r date";
|
sort = "-r date";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
extraBinds = {
|
||||||
|
global = {
|
||||||
|
# keep-sorted start
|
||||||
|
"<C-n>" = ":next-tab <Enter>";
|
||||||
|
"<C-p>" = ":prev-tab<Enter>";
|
||||||
|
"<C-t>" = ":term<Enter>";
|
||||||
|
"?" = ":help keys<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
messages = {
|
||||||
|
# keep-sorted start
|
||||||
|
"!" = ":term<space>";
|
||||||
|
"$" = ":term<space>";
|
||||||
|
"/" = ":search<space>-a<space>";
|
||||||
|
"<C-b>" = ":prev 100%<Enter>";
|
||||||
|
"<C-d>" = ":next 50%<Enter>";
|
||||||
|
"<C-f>" = ":next 100%<Enter>";
|
||||||
|
"<C-u>" = ":prev 50%<Enter>";
|
||||||
|
"<Down>" = ":next<Enter>";
|
||||||
|
"<Enter>" = ":view<Enter>";
|
||||||
|
"<Esc>" = ":clear<Enter>";
|
||||||
|
"<PgDn>" = ":next 100%<Enter>";
|
||||||
|
"<PgUp>" = ":prev 100%<Enter>";
|
||||||
|
"<Up>" = ":prev<Enter>";
|
||||||
|
"\\" = ":filter <space>";
|
||||||
|
"|" = ":pipe<space>";
|
||||||
|
A = ":archive flat<Enter>";
|
||||||
|
C = ":compose<Enter>";
|
||||||
|
D = ":move Trash<Enter>";
|
||||||
|
G = ":select -1<Enter>";
|
||||||
|
H = ":collapse-folder<Enter>";
|
||||||
|
J = ":next-folder <Enter>";
|
||||||
|
K = ":prev-folder<Enter>";
|
||||||
|
L = ":expand-folder<Enter>";
|
||||||
|
N = ":prev-result<Enter>";
|
||||||
|
R = ":read<Enter>";
|
||||||
|
Rq = ":reply -q<Enter>";
|
||||||
|
Rr = ":reply<Enter>";
|
||||||
|
T = ":toggle-threads<Enter>";
|
||||||
|
U = ":unread<Enter>";
|
||||||
|
V = ":mark -v<Enter>";
|
||||||
|
c = ":cf<space>";
|
||||||
|
d = ":prompt 'Really delete this message?' 'delete-message'<Enter>";
|
||||||
|
g = ":select 0 <Enter>";
|
||||||
|
j = ":next <Enter>";
|
||||||
|
k = ":prev <Enter>";
|
||||||
|
n = ":next-result<Enter>";
|
||||||
|
q = ":quit<Enter>";
|
||||||
|
rq = ":reply -aq<Enter>";
|
||||||
|
rr = ":reply -a<Enter>";
|
||||||
|
v = ":mark -t<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
"messages:folder=Drafts" = {
|
||||||
|
"<Enter>" = ":recall<Enter>";
|
||||||
|
};
|
||||||
|
view = {
|
||||||
|
# keep-sorted start
|
||||||
|
"/" = ":toggle-key-passthrough <Enter> /";
|
||||||
|
"<C-j>" = ":next-part<Enter>";
|
||||||
|
"<C-k>" = ":prev-part<Enter>";
|
||||||
|
"<C-l>" = ":open-link <space>";
|
||||||
|
"|" = ":pipe<space>";
|
||||||
|
A = ":archive flat<Enter>";
|
||||||
|
D = ":move Trash<Enter>";
|
||||||
|
H = ":toggle-headers<Enter>";
|
||||||
|
J = ":next <Enter>";
|
||||||
|
K = ":prev<Enter>";
|
||||||
|
O = ":open<Enter>";
|
||||||
|
R = ":read<Enter>";
|
||||||
|
Rq = ":reply -q<Enter>";
|
||||||
|
Rr = ":reply<Enter>";
|
||||||
|
S = ":save<space>";
|
||||||
|
U = ":unread<Enter>";
|
||||||
|
f = ":forward <Enter>";
|
||||||
|
q = ":close<Enter>";
|
||||||
|
rq = ":reply -aq<Enter>";
|
||||||
|
rr = ":reply -a<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
"view::passthrough" = {
|
||||||
|
# keep-sorted start
|
||||||
|
"$ex" = "<C-x>";
|
||||||
|
"$noinherit" = "true";
|
||||||
|
"<Esc>" = ":toggle-key-passthrough<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
compose = {
|
||||||
|
# keep-sorted start
|
||||||
|
"$ex" = "<C-x>";
|
||||||
|
"$noinherit" = "true";
|
||||||
|
"<A-n>" = ":switch-account -n<Enter>";
|
||||||
|
"<A-p>" = ":switch-account -p<Enter>";
|
||||||
|
"<C-j>" = ":next-field<Enter>";
|
||||||
|
"<C-k>" = ":prev-field<Enter>";
|
||||||
|
"<C-n>" = ":next-tab<Enter>";
|
||||||
|
"<C-p>" = ":prev-tab<Enter>";
|
||||||
|
"<tab>" = ":next-field<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
"compose::editor" = {
|
||||||
|
# keep-sorted start
|
||||||
|
"$ex" = "<C-x>";
|
||||||
|
"$noinherit" = "true";
|
||||||
|
"<C-j>" = ":next-field<Enter>";
|
||||||
|
"<C-k>" = ":prev-field<Enter>";
|
||||||
|
"<C-n>" = ":next-tab<Enter>";
|
||||||
|
"<C-p>" = ":prev-tab<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
"compose::review" = {
|
||||||
|
# keep-sorted start
|
||||||
|
a = ":attach<space>";
|
||||||
|
d = ":detach<space>";
|
||||||
|
e = ":edit<Enter>";
|
||||||
|
n = ":abort<Enter>";
|
||||||
|
p = ":postpone<Enter>";
|
||||||
|
q = ":choose -o d discard abort -o p postpone postpone<Enter>";
|
||||||
|
y = ":send <Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
terminal = {
|
||||||
|
# keep-sorted start
|
||||||
|
"$ex" = "<C-x>";
|
||||||
|
"$noinherit" = "true";
|
||||||
|
"<C-n>" = ":next-tab<Enter>";
|
||||||
|
"<C-p>" = ":prev-tab<Enter>";
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
};
|
||||||
stylesets.catppuccin-mocha = ''
|
stylesets.catppuccin-mocha = ''
|
||||||
"*.default" = true;
|
"*.default" = true
|
||||||
"*.normal" = true;
|
"*.normal" = true
|
||||||
"default.fg" = "#cdd6f4";
|
"default.fg" = "#cdd6f4"
|
||||||
"error.fg" = "#f38ba8";
|
"error.fg" = "#f38ba8"
|
||||||
"warning.fg" = "#fab387";
|
"warning.fg" = "#fab387"
|
||||||
"success.fg" = "#a6e3a1";
|
"success.fg" = "#a6e3a1"
|
||||||
"tab.fg" = "#6c7086";
|
"tab.fg" = "#6c7086"
|
||||||
"tab.bg" = "#181825";
|
"tab.bg" = "#181825"
|
||||||
"tab.selected.fg" = "#cdd6f4";
|
"tab.selected.fg" = "#cdd6f4"
|
||||||
"tab.selected.bg" = "#1e1e2e";
|
"tab.selected.bg" = "#1e1e2e"
|
||||||
"tab.selected.bold" = true;
|
"tab.selected.bold" = true
|
||||||
"border.fg" = "#11111b";
|
"border.fg" = "#11111b"
|
||||||
"border.bold" = true;
|
"border.bold" = true
|
||||||
"msglist_unread.bold" = true;
|
"msglist_unread.bold" = true
|
||||||
"msglist_flagged.fg" = "#f9e2af";
|
"msglist_flagged.fg" = "#f9e2af"
|
||||||
"msglist_flagged.bold" = true;
|
"msglist_flagged.bold" = true
|
||||||
"msglist_result.fg" = "#89b4fa";
|
"msglist_result.fg" = "#89b4fa"
|
||||||
"msglist_result.bold" = true;
|
"msglist_result.bold" = true
|
||||||
"msglist_*.selected.bold" = true;
|
"msglist_*.selected.bold" = true
|
||||||
"msglist_*.selected.bg" = "#313244";
|
"msglist_*.selected.bg" = "#313244"
|
||||||
"dirlist_*.selected.bold" = true;
|
"dirlist_*.selected.bold" = true
|
||||||
"dirlist_*.selected.bg" = "#313244";
|
"dirlist_*.selected.bg" = "#313244"
|
||||||
"statusline_default.fg" = "#9399b2";
|
"statusline_default.fg" = "#9399b2"
|
||||||
"statusline_default.bg" = "#313244";
|
"statusline_default.bg" = "#313244"
|
||||||
"statusline_error.bold" = true;
|
"statusline_error.bold" = true
|
||||||
"statusline_success.bold" = true;
|
"statusline_success.bold" = true
|
||||||
"completion_default.selected.bg" = "#313244";
|
"completion_default.selected.bg" = "#313244"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
modules/home-manager/features/lazygit.nix
Normal file
14
modules/home-manager/features/lazygit.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.lazygit = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
log = {
|
||||||
|
localBranchSortOrder = "recency";
|
||||||
|
remoteBranchSortOrder = "recency";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -13,8 +13,7 @@
|
||||||
"localisation"
|
"localisation"
|
||||||
"network"
|
"network"
|
||||||
"nh"
|
"nh"
|
||||||
"nix-settings"
|
"nix"
|
||||||
"nixpkgs"
|
|
||||||
"nixvim"
|
"nixvim"
|
||||||
"syncthing"
|
"syncthing"
|
||||||
"systemd-boot"
|
"systemd-boot"
|
||||||
|
|
@ -46,7 +45,6 @@
|
||||||
hexyl # hexadecimal viewer
|
hexyl # hexadecimal viewer
|
||||||
hyperfine # benchmarking tool
|
hyperfine # benchmarking tool
|
||||||
keep-sorted # alphabetical formatter
|
keep-sorted # alphabetical formatter
|
||||||
lazygit # git tui
|
|
||||||
mprocs # run long running commands and monitor output
|
mprocs # run long running commands and monitor output
|
||||||
navi # cheatsheet browser
|
navi # cheatsheet browser
|
||||||
nb # note taking
|
nb # note taking
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,6 @@
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "${hostName}";
|
hostName = "${hostName}";
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
|
firewall.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,14 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
# rip out default packages
|
||||||
|
environment.defaultPackages = lib.mkForce [ ];
|
||||||
|
|
||||||
|
# allow packages with non-free licenses
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
@ -11,6 +21,7 @@
|
||||||
persistent = true;
|
persistent = true;
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
|
allowed-users = [ "@wheel" ];
|
||||||
experimental-features = [
|
experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
}
|
|
||||||
|
|
@ -30,7 +30,7 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nginx.virtualHosts."miniflux.fi33.buzz" = {
|
nginx.virtualHosts."paperless.fi33.buzz" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = "fi33.buzz";
|
useACMEHost = "fi33.buzz";
|
||||||
locations."/".proxyPass = "http://localhost:${port}";
|
locations."/".proxyPass = "http://localhost:${port}";
|
||||||
|
|
|
||||||
6
modules/nixos/features/sudo.nix
Normal file
6
modules/nixos/features/sudo.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
security.sudo.execWheelOnly = true;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue