Compare commits
5 Commits
e158434595
...
eebf8c8bb6
Author | SHA1 | Date | |
---|---|---|---|
eebf8c8bb6 | |||
b15d1e38c5 | |||
3156d0d494 | |||
b1fb018db5 | |||
309ae4cb17 |
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -24,4 +24,4 @@
|
|||||||
url = https://github.com/romkatv/powerlevel10k.git
|
url = https://github.com/romkatv/powerlevel10k.git
|
||||||
[submodule "secrets"]
|
[submodule "secrets"]
|
||||||
path = secrets
|
path = secrets
|
||||||
url = ssh://gitea@git.orion-technologies.io:2220/Price/Secrets.git
|
url = ssh://gitea@git.price-hiller.com:2220/Price/Secrets.git
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
* Price Hiller's Dots
|
* Price Hiller's Dots
|
||||||
This is a mirror from my Git server over [[https://git.orion-technologies.io/Price/dots][here]].
|
This is a mirror from my Git server over [[https://git.price-hiller.com/Price/dots][here]].
|
||||||
|
|
||||||
These are my dot files. All the actual dots can be found under ~users/price/dots/~.
|
These are my dot files. All the actual dots can be found under ~users/price/dots/~.
|
||||||
|
|
||||||
|
@ -19,10 +19,7 @@
|
|||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
wezterm = {
|
wezterm.url = "github:wez/wezterm?dir=nix";
|
||||||
url = "github:wez/wezterm?dir=nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
agenix = {
|
agenix = {
|
||||||
url = "github:yaxitech/ragenix";
|
url = "github:yaxitech/ragenix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -35,7 +32,7 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
blog = {
|
blog = {
|
||||||
url = "git+https://git.orion-technologies.io/blog/blog";
|
url = "git+https://git.price-hiller.com/blog/blog";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
emacs-overlay = {
|
emacs-overlay = {
|
||||||
@ -252,7 +249,7 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
luna = {
|
luna = {
|
||||||
hostname = "luna.hosts.orion-technologies.io";
|
hostname = "luna.hosts.price-hiller.com";
|
||||||
fastConnection = true;
|
fastConnection = true;
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
sshUser = "price";
|
sshUser = "price";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
grafana_host = "grafana.orion-technologies.io";
|
grafana_host = "grafana.${config.networking.domain}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
@ -23,4 +23,4 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
prometheus_host = "prometheus.orion-technologies.io";
|
prometheus_host = "prometheus.${config.networking.domain}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
@ -89,4 +89,4 @@ in
|
|||||||
group = "prometheus";
|
group = "prometheus";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
@ -1,105 +1,22 @@
|
|||||||
{ hostname, ... }:
|
{ hostname, config, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
networks_dhcp_use_dns = "no";
|
|
||||||
networks_dhcp = "ipv4";
|
|
||||||
networks_multicast_dns = "no";
|
|
||||||
networks_ipv6_privacy = "yes";
|
|
||||||
networks_ipv6_accept_ra = "yes";
|
|
||||||
networks_network_config = {
|
|
||||||
DHCP = networks_dhcp;
|
|
||||||
MulticastDNS = networks_multicast_dns;
|
|
||||||
IPv6PrivacyExtensions = networks_ipv6_privacy;
|
|
||||||
IPv6AcceptRA = networks_ipv6_accept_ra;
|
|
||||||
};
|
|
||||||
resolved_nameservers = [
|
|
||||||
"1.1.1.1#cloudflare-dns.com"
|
|
||||||
"9.9.9.9#dns.quad9.net"
|
|
||||||
"8.8.8.8#dns.google"
|
|
||||||
"2606:4700:4700::1111#cloudflare-dns.com"
|
|
||||||
"2620:fe::9#dns.quad9.net"
|
|
||||||
"2001:4860:4860::8888#dns.google"
|
|
||||||
];
|
|
||||||
resolved_fallback_nameservers = [
|
|
||||||
"1.1.1.1#one.one.one.one"
|
|
||||||
"1.0.0.1#one.one.one.one"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
systemd.network = {
|
|
||||||
enable = true;
|
|
||||||
# HACK: Disable wait-online, check in on https://github.com/NixOS/nixpkgs/pull/258680 &
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/247608
|
|
||||||
wait-online.enable = false;
|
|
||||||
networks = {
|
|
||||||
"10-wlan" = {
|
|
||||||
matchConfig.Name = [ "wl*" ];
|
|
||||||
networkConfig = networks_network_config;
|
|
||||||
dhcpV4Config = {
|
|
||||||
RouteMetric = 600;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
ipv6AcceptRAConfig = {
|
|
||||||
RouteMetric = 600;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"10-ethernet" = {
|
|
||||||
matchConfig.Name = [
|
|
||||||
"en*"
|
|
||||||
"eth*"
|
|
||||||
];
|
|
||||||
networkConfig = networks_network_config;
|
|
||||||
dhcpV4Config = {
|
|
||||||
RouteMetric = 100;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
ipv6AcceptRAConfig = {
|
|
||||||
RouteMetric = 100;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"10-wwan" = {
|
|
||||||
matchConfig.Name = [ "ww*" ];
|
|
||||||
networkConfig = networks_network_config;
|
|
||||||
dhcpV4Config = {
|
|
||||||
RouteMetric = 700;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
ipv6AcceptRAConfig = {
|
|
||||||
RouteMetric = 700;
|
|
||||||
UseDNS = networks_dhcp_use_dns;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.resolved = {
|
services.resolved = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dnssec = "allow-downgrade";
|
|
||||||
domains = [ "~." ];
|
domains = [ "~." ];
|
||||||
fallbackDns = resolved_fallback_nameservers;
|
dnsovertls = "true";
|
||||||
llmnr = "resolve";
|
dnssec = "false";
|
||||||
extraConfig = ''
|
|
||||||
MulticastDNS=yes
|
|
||||||
DNSOverTLS=yes
|
|
||||||
CacheFromLocalhost=no
|
|
||||||
Cache=yes
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
|
hostName = hostname;
|
||||||
|
domain = "price-hiller.com";
|
||||||
|
fqdn = "${config.networking.hostname}.hosts.${config.networking.domain}";
|
||||||
|
nameservers = [
|
||||||
|
"194.242.2.2#dns.mullvad.net"
|
||||||
|
"2a07:e340::2#dns.mullvad.net"
|
||||||
|
"91.239.100.100#anycast.uncensoreddns.org"
|
||||||
|
"2001:67c:28a4::#anycast.uncensoreddns.org"
|
||||||
|
];
|
||||||
useNetworkd = true;
|
useNetworkd = true;
|
||||||
enableIPv6 = true;
|
|
||||||
nameservers = resolved_nameservers;
|
|
||||||
nftables.enable = true;
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [
|
|
||||||
80
|
|
||||||
443
|
|
||||||
2200
|
|
||||||
];
|
|
||||||
};
|
|
||||||
hostName = "${hostname}";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
gitea_host = "git.orion-technologies.io";
|
gitea_host = "git.${config.networking.domain}";
|
||||||
# TODO: Move this docker image out to a separate package and NixOS Module
|
# TODO: Move this docker image out to a separate package and NixOS Module
|
||||||
# Huge thank you to https://icewind.nl/entry/gitea-actions-nix/ -- wouldn't have figured this out
|
# Huge thank you to https://icewind.nl/entry/gitea-actions-nix/ -- wouldn't have figured this out
|
||||||
# without that post 🙂
|
# without that post 🙂
|
||||||
@ -157,4 +157,4 @@ in
|
|||||||
group = config.services.gitea.group;
|
group = config.services.gitea.group;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
@ -10,15 +10,11 @@
|
|||||||
|
|
||||||
security.acme = {
|
security.acme = {
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
defaults.email = "price@orion-technologies.io";
|
defaults.email = "price@price-hiller.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||||
services.nginx.virtualHosts = {
|
services.nginx.virtualHosts = {
|
||||||
"blog.orion-technologies.io" = {
|
|
||||||
forceSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
globalRedirect = "price-hiller.com";
|
|
||||||
};
|
|
||||||
"price-hiller.com" = {
|
"price-hiller.com" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
@ -32,4 +28,4 @@
|
|||||||
locations."/".index = "home.html";
|
locations."/".index = "home.html";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
91
users/price/conf/git/default.nix
Normal file
91
users/price/conf/git/default.nix
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Price Hiller";
|
||||||
|
# TODO: Migrate GPG to price@price-hiller.com
|
||||||
|
userEmail = "price@orion-technologies.io";
|
||||||
|
aliases = {
|
||||||
|
unstage = "reset HEAD --";
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
merge.conflictstyle = "zdiff3";
|
||||||
|
branch.autosetupmerge = "always";
|
||||||
|
remote.pushDefault = "origin";
|
||||||
|
am.threeWay = true;
|
||||||
|
apply.ignoreWhitespace = "change";
|
||||||
|
# SEC: Integrate https://github.com/git-ecosystem/git-credential-manager with GPG to improve
|
||||||
|
# security stance around the credential store
|
||||||
|
credential.helper = "store";
|
||||||
|
pull.rebase = true;
|
||||||
|
commit.gpgsign = true;
|
||||||
|
transfer.fsckObjects = true;
|
||||||
|
receive.fsckObjects = true;
|
||||||
|
status.submoduleSummary = true;
|
||||||
|
submodule.recurse = true;
|
||||||
|
fetch = {
|
||||||
|
fsckObjects = true;
|
||||||
|
prune = true;
|
||||||
|
prunetags = true;
|
||||||
|
};
|
||||||
|
rebase = {
|
||||||
|
autosquash = true;
|
||||||
|
autostash = true;
|
||||||
|
updateRefs = true;
|
||||||
|
};
|
||||||
|
log = {
|
||||||
|
abbrevCommit = true;
|
||||||
|
decorate = "short";
|
||||||
|
date = "iso";
|
||||||
|
};
|
||||||
|
rerere = {
|
||||||
|
enabled = true;
|
||||||
|
autoUpdate = true;
|
||||||
|
};
|
||||||
|
core = {
|
||||||
|
ignorecase = false;
|
||||||
|
quotePath = false;
|
||||||
|
};
|
||||||
|
diff = {
|
||||||
|
colorMoved = "default";
|
||||||
|
submodule = "log";
|
||||||
|
tool = "nvimdiff";
|
||||||
|
};
|
||||||
|
push = {
|
||||||
|
autoSetupRemote = true;
|
||||||
|
default = "current";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
signing = {
|
||||||
|
signByDefault = true;
|
||||||
|
key = null;
|
||||||
|
};
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
navigate = true;
|
||||||
|
features = "interactive decorations";
|
||||||
|
interactive = {
|
||||||
|
keep-plus-minus-markers = false;
|
||||||
|
};
|
||||||
|
decorations = {
|
||||||
|
commit-decoration-style = "bold box ul";
|
||||||
|
dark = true;
|
||||||
|
file-style = "omit";
|
||||||
|
hunk-header-decoration-style = ''"#022b45" box ul'';
|
||||||
|
hunk-header-file-style = ''"#999999"'';
|
||||||
|
hunk-header-style = "file line-number syntax";
|
||||||
|
line-numbers = true;
|
||||||
|
line-numbers-left-style = ''"#022b45"'';
|
||||||
|
minus-emph-style = ''normal "#80002a"'';
|
||||||
|
minus-style = ''normal "#330011"'';
|
||||||
|
plus-emph-style = ''syntax "#003300"'';
|
||||||
|
plus-style = ''syntax "#001a00"'';
|
||||||
|
syntax-theme = "Solarized (dark)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -5,11 +5,11 @@
|
|||||||
matchBlocks =
|
matchBlocks =
|
||||||
rec {
|
rec {
|
||||||
luna = {
|
luna = {
|
||||||
hostname = "luna.hosts.orion-technologies.io";
|
hostname = "luna.hosts.price-hiller.com";
|
||||||
user = "price";
|
user = "price";
|
||||||
port = 2200;
|
port = 2200;
|
||||||
};
|
};
|
||||||
"luna.hosts.orion-technologies.io" = luna;
|
"luna.hosts.price-hiller.com" = luna;
|
||||||
asgard = {
|
asgard = {
|
||||||
hostname = "asgard-eternal.com";
|
hostname = "asgard-eternal.com";
|
||||||
user = "asgard";
|
user = "asgard";
|
||||||
|
@ -11,9 +11,9 @@ return {
|
|||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<localleader>n", desc = "> Neotest" },
|
{ "<localleader>n", desc = "> Neotest" },
|
||||||
{ "<localleader>nrr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
|
{ "<localleader>nr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
|
||||||
{ "<localleader>nrl", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Tests in File" },
|
{ "<localleader>nf", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Test(s) in File" },
|
||||||
{ "<localleader>nrl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Tests" },
|
{ "<localleader>nl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Test(s)" },
|
||||||
{ "<localleader>np", "<cmd>Neotest output-panel<CR>", desc = "Neotest: Output Panel" },
|
{ "<localleader>np", "<cmd>Neotest output-panel<CR>", desc = "Neotest: Output Panel" },
|
||||||
{ "<localleader>no", "<cmd>Neotest output<CR>", desc = "Neotest: Output" },
|
{ "<localleader>no", "<cmd>Neotest output<CR>", desc = "Neotest: Output" },
|
||||||
{ "<localleader>nn", "<cmd>Neotest summary toggle<CR>", desc = "Neotest: Summary Toggle" },
|
{ "<localleader>nn", "<cmd>Neotest summary toggle<CR>", desc = "Neotest: Summary Toggle" },
|
||||||
|
@ -202,92 +202,6 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
};
|
};
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Price Hiller";
|
|
||||||
userEmail = "price@orion-technologies.io";
|
|
||||||
aliases = {
|
|
||||||
unstage = "reset HEAD --";
|
|
||||||
};
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
merge.conflictstyle = "zdiff3";
|
|
||||||
branch.autosetupmerge = "always";
|
|
||||||
remote.pushDefault = "origin";
|
|
||||||
am.threeWay = true;
|
|
||||||
apply.ignoreWhitespace = "change";
|
|
||||||
# SEC: Integrate https://github.com/git-ecosystem/git-credential-manager with GPG to improve
|
|
||||||
# security stance around the credential store
|
|
||||||
credential.helper = "store";
|
|
||||||
pull.rebase = true;
|
|
||||||
commit.gpgsign = true;
|
|
||||||
transfer.fsckObjects = true;
|
|
||||||
receive.fsckObjects = true;
|
|
||||||
status.submoduleSummary = true;
|
|
||||||
submodule.recurse = true;
|
|
||||||
fetch = {
|
|
||||||
fsckObjects = true;
|
|
||||||
prune = true;
|
|
||||||
prunetags = true;
|
|
||||||
};
|
|
||||||
rebase = {
|
|
||||||
autosquash = true;
|
|
||||||
autostash = true;
|
|
||||||
updateRefs = true;
|
|
||||||
};
|
|
||||||
log = {
|
|
||||||
abbrevCommit = true;
|
|
||||||
decorate = "short";
|
|
||||||
date = "iso";
|
|
||||||
};
|
|
||||||
rerere = {
|
|
||||||
enabled = true;
|
|
||||||
autoUpdate = true;
|
|
||||||
};
|
|
||||||
core = {
|
|
||||||
ignorecase = false;
|
|
||||||
quotePath = false;
|
|
||||||
};
|
|
||||||
diff = {
|
|
||||||
colorMoved = "default";
|
|
||||||
submodule = "log";
|
|
||||||
tool = "nvimdiff";
|
|
||||||
};
|
|
||||||
push = {
|
|
||||||
autoSetupRemote = true;
|
|
||||||
default = "current";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
signing = {
|
|
||||||
signByDefault = true;
|
|
||||||
key = null;
|
|
||||||
};
|
|
||||||
delta = {
|
|
||||||
enable = true;
|
|
||||||
options = {
|
|
||||||
navigate = true;
|
|
||||||
features = "interactive decorations";
|
|
||||||
interactive = {
|
|
||||||
keep-plus-minus-markers = false;
|
|
||||||
};
|
|
||||||
decorations = {
|
|
||||||
commit-decoration-style = "bold box ul";
|
|
||||||
dark = true;
|
|
||||||
file-style = "omit";
|
|
||||||
hunk-header-decoration-style = ''"#022b45" box ul'';
|
|
||||||
hunk-header-file-style = ''"#999999"'';
|
|
||||||
hunk-header-style = "file line-number syntax";
|
|
||||||
line-numbers = true;
|
|
||||||
line-numbers-left-style = ''"#022b45"'';
|
|
||||||
minus-emph-style = ''normal "#80002a"'';
|
|
||||||
minus-style = ''normal "#330011"'';
|
|
||||||
plus-emph-style = ''syntax "#003300"'';
|
|
||||||
plus-style = ''syntax "#001a00"'';
|
|
||||||
syntax-theme = "Solarized (dark)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
|
Loading…
Reference in New Issue
Block a user