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
|
||||
[submodule "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
|
||||
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/~.
|
||||
|
||||
|
@ -19,10 +19,7 @@
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wezterm = {
|
||||
url = "github:wez/wezterm?dir=nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wezterm.url = "github:wez/wezterm?dir=nix";
|
||||
agenix = {
|
||||
url = "github:yaxitech/ragenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@ -35,7 +32,7 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
blog = {
|
||||
url = "git+https://git.orion-technologies.io/blog/blog";
|
||||
url = "git+https://git.price-hiller.com/blog/blog";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
emacs-overlay = {
|
||||
@ -252,7 +249,7 @@
|
||||
in
|
||||
{
|
||||
luna = {
|
||||
hostname = "luna.hosts.orion-technologies.io";
|
||||
hostname = "luna.hosts.price-hiller.com";
|
||||
fastConnection = true;
|
||||
profiles.system = {
|
||||
sshUser = "price";
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
grafana_host = "grafana.orion-technologies.io";
|
||||
grafana_host = "grafana.${config.networking.domain}";
|
||||
in
|
||||
{
|
||||
services = {
|
||||
@ -23,4 +23,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
prometheus_host = "prometheus.orion-technologies.io";
|
||||
prometheus_host = "prometheus.${config.networking.domain}";
|
||||
in
|
||||
{
|
||||
services = {
|
||||
@ -89,4 +89,4 @@ in
|
||||
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 = {
|
||||
enable = true;
|
||||
dnssec = "allow-downgrade";
|
||||
domains = [ "~." ];
|
||||
fallbackDns = resolved_fallback_nameservers;
|
||||
llmnr = "resolve";
|
||||
extraConfig = ''
|
||||
MulticastDNS=yes
|
||||
DNSOverTLS=yes
|
||||
CacheFromLocalhost=no
|
||||
Cache=yes
|
||||
'';
|
||||
dnsovertls = "true";
|
||||
dnssec = "false";
|
||||
};
|
||||
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;
|
||||
enableIPv6 = true;
|
||||
nameservers = resolved_nameservers;
|
||||
nftables.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
2200
|
||||
];
|
||||
};
|
||||
hostName = "${hostname}";
|
||||
};
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
...
|
||||
}:
|
||||
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
|
||||
# Huge thank you to https://icewind.nl/entry/gitea-actions-nix/ -- wouldn't have figured this out
|
||||
# without that post 🙂
|
||||
@ -157,4 +157,4 @@ in
|
||||
group = config.services.gitea.group;
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
@ -10,15 +10,11 @@
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults.email = "price@orion-technologies.io";
|
||||
defaults.email = "price@price-hiller.com";
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
services.nginx.virtualHosts = {
|
||||
"blog.orion-technologies.io" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
globalRedirect = "price-hiller.com";
|
||||
};
|
||||
"price-hiller.com" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
@ -32,4 +28,4 @@
|
||||
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 =
|
||||
rec {
|
||||
luna = {
|
||||
hostname = "luna.hosts.orion-technologies.io";
|
||||
hostname = "luna.hosts.price-hiller.com";
|
||||
user = "price";
|
||||
port = 2200;
|
||||
};
|
||||
"luna.hosts.orion-technologies.io" = luna;
|
||||
"luna.hosts.price-hiller.com" = luna;
|
||||
asgard = {
|
||||
hostname = "asgard-eternal.com";
|
||||
user = "asgard";
|
||||
|
@ -11,9 +11,9 @@ return {
|
||||
},
|
||||
keys = {
|
||||
{ "<localleader>n", desc = "> Neotest" },
|
||||
{ "<localleader>nrr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
|
||||
{ "<localleader>nrl", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Tests in File" },
|
||||
{ "<localleader>nrl", "<cmd>Neotest run last<CR>", desc = "Neotest: Run Last Tests" },
|
||||
{ "<localleader>nr", "<cmd>Neotest run<CR>", desc = "Neotest: Run Test" },
|
||||
{ "<localleader>nf", "<cmd>Neotest run file<CR>", desc = "Neotest: Run Test(s) in File" },
|
||||
{ "<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>no", "<cmd>Neotest output<CR>", desc = "Neotest: Output" },
|
||||
{ "<localleader>nn", "<cmd>Neotest summary toggle<CR>", desc = "Neotest: Summary Toggle" },
|
||||
|
@ -202,92 +202,6 @@ in
|
||||
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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user