mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-18 18:57:32 -08:00
Merge branch 'master' of github.com:starr-dusT/dotfiles
This commit is contained in:
commit
07fa044aa1
@ -1,6 +1,10 @@
|
||||
Host github.com
|
||||
AddKeysToAgent yes
|
||||
IdentityFile /run/agenix/git/github_personal
|
||||
|
||||
Host fm2120.rsync.net
|
||||
AddKeysToAgent yes
|
||||
IdentityFile /run/agenix/borg/rsync/id_rsa
|
||||
{{ if eq .chezmoi.hostname "kestrel" }}
|
||||
Host torus
|
||||
AddKeysToAgent yes
|
||||
|
@ -46,7 +46,6 @@
|
||||
nipr.enable = true;
|
||||
ssh.enable = true;
|
||||
terminal.enable = true;
|
||||
secrets.enable = true;
|
||||
wireguard-client.enable = false;
|
||||
};
|
||||
};
|
||||
|
@ -3,6 +3,7 @@
|
||||
services.borgmatic.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
borgbackup # Deduplicating backup program
|
||||
tree
|
||||
(pkgs.writeScriptBin "stop-docker-containers" ''
|
||||
#!/bin/sh
|
||||
[ -e /tmp/docker_images ] && rm /tmp/docker_images
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, user, lib, ... }:
|
||||
{ config, pkgs, user, lib, inputs, ... }:
|
||||
{
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
@ -46,6 +46,7 @@
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cowsay # A program which generates ASCII pictures of a cow with a message
|
||||
inputs.agenix.packages.x86_64-linux.default
|
||||
];
|
||||
|
||||
# Did you read the comment?
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./backup.nix ./configuration.nix ./home-configuration.nix ];
|
||||
imports = [ ./git.nix ./backup.nix ./configuration.nix ./home-configuration.nix ];
|
||||
}
|
||||
|
15
provision/hosts/default/git.nix
Normal file
15
provision/hosts/default/git.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{ config, pkgs, user, lib, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
git # Version control system for tracking changes in source code during software development.
|
||||
git-annex # Manages files with git, without checking the file contents into git.
|
||||
lazygit # Terminal-based GUI for git, making it easier to use and visualize git repositories.
|
||||
];
|
||||
|
||||
age.secrets."git/github_personal" = {
|
||||
file = ../../secrets/git/github_personal.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
}
|
||||
|
@ -1,9 +1,33 @@
|
||||
{ config, pkgs, user, lib, ... }:
|
||||
{
|
||||
age.secrets."ssh/torus/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/torus/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/kestrel/id_ed25519" = {
|
||||
file = ../../secrets/ssh/kestrel/id_ed25519.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/kestrel/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/kestrel/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
|
||||
# Password-less logins for backup
|
||||
users.users."${user}".openssh.authorizedKeys.keyFiles = [
|
||||
config.age.secrets."ssh/torus/id_ed25519.pub".path
|
||||
];
|
||||
|
||||
# Password-less login for root
|
||||
programs.ssh.extraConfig = ''
|
||||
Host torus
|
||||
AddKeysToAgent yes
|
||||
IdentityFile /run/agenix/ssh/kestrel/id_ed25519
|
||||
'';
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /store 0775 ${user} users -"
|
||||
];
|
||||
|
@ -61,7 +61,6 @@
|
||||
};
|
||||
system = {
|
||||
nipr.enable = true;
|
||||
secrets.enable = true;
|
||||
ssh.enable = true;
|
||||
terminal.enable = true;
|
||||
wireguard-client = {
|
||||
|
@ -49,7 +49,6 @@
|
||||
};
|
||||
system = {
|
||||
nipr = true;
|
||||
secrets.enable = true;
|
||||
ssh.enable = true;
|
||||
terminal.enable = true;
|
||||
wireguard-client.enable = false;
|
||||
|
@ -1,8 +1,50 @@
|
||||
{ config, pkgs, user, lib, ... }:
|
||||
{
|
||||
# Password-less logins for backup
|
||||
age.secrets."ssh/kestrel/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/kestrel/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/torus/id_ed25519" = {
|
||||
file = ../../secrets/ssh/torus/id_ed25519.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/torus/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/torus/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."borg/torus/password" = {
|
||||
file = ../../secrets/borg/torus/password.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."borg/rsync/id_rsa" = {
|
||||
file = ../../secrets/borg/rsync/id_rsa.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."borg/rsync/id_rsa.pub" = {
|
||||
file = ../../secrets/borg/rsync/id_rsa.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
|
||||
# Password-less login for user
|
||||
users.users."${user}".openssh.authorizedKeys.keyFiles = [
|
||||
config.age.secrets."ssh/kestrel/id_ed25519.pub".path
|
||||
];
|
||||
|
||||
# Password-less login for root
|
||||
programs.ssh.extraConfig = ''
|
||||
Host kestrel
|
||||
AddKeysToAgent yes
|
||||
IdentityFile /run/agenix/ssh/torus/id_ed25519
|
||||
|
||||
Host fm2120.rsync.net
|
||||
AddKeysToAgent yes
|
||||
IdentityFile /run/agenix/borg/rsync/id_rsa
|
||||
'';
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,6 @@
|
||||
system = {
|
||||
terminal.enable = true;
|
||||
ssh.enable = true;
|
||||
secrets.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -21,5 +21,16 @@ in {
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
age.secrets."emu/switch/prod.keys" = {
|
||||
file = ../../secrets/emu/switch/prod.keys.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."emu/switch/title.keys" = {
|
||||
file = ../../secrets/emu/switch/title.keys.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./nipr.nix ./secrets.nix ./ssh.nix ./terminal.nix ./wireguard-client.nix ];
|
||||
imports = [ ./nipr.nix ./ssh.nix ./terminal.nix ./wireguard-client.nix ];
|
||||
}
|
||||
|
@ -1,53 +0,0 @@
|
||||
{ config, lib, pkgs, user, inputs, ... }:
|
||||
|
||||
let cfg = config.modules.system.secrets;
|
||||
in {
|
||||
options.modules.system.secrets.enable = lib.mkEnableOption "secrets";
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [
|
||||
inputs.agenix.packages.x86_64-linux.default
|
||||
];
|
||||
|
||||
# git secrets
|
||||
age.secrets."git/github_personal" = {
|
||||
file = ../../secrets/git/github_personal.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
|
||||
# ssh secrets
|
||||
age.secrets."ssh/kestrel/id_ed25519" = {
|
||||
file = ../../secrets/ssh/kestrel/id_ed25519.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/kestrel/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/kestrel/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/torus/id_ed25519" = {
|
||||
file = ../../secrets/ssh/torus/id_ed25519.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."ssh/torus/id_ed25519.pub" = {
|
||||
file = ../../secrets/ssh/torus/id_ed25519.pub.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
|
||||
# emu secrets
|
||||
age.secrets."emu/switch/prod.keys" = {
|
||||
file = ../../secrets/emu/switch/prod.keys.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
age.secrets."emu/switch/title.keys" = {
|
||||
file = ../../secrets/emu/switch/title.keys.age;
|
||||
owner = "${user}";
|
||||
group = "users";
|
||||
};
|
||||
};
|
||||
}
|
@ -6,9 +6,6 @@ in {
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
git # Version control system for tracking changes in source code during software development.
|
||||
git-annex # Manages files with git, without checking the file contents into git.
|
||||
lazygit # Terminal-based GUI for git, making it easier to use and visualize git repositories.
|
||||
killall # Command-line utility to terminate processes by name.
|
||||
pciutils # Utilities for inspecting and manipulating devices connected to the PCI bus.
|
||||
chezmoi # Manages your dotfiles across multiple machines, ensuring consistency and version control.
|
||||
|
BIN
provision/secrets/borg/rsync/id_rsa.age
Normal file
BIN
provision/secrets/borg/rsync/id_rsa.age
Normal file
Binary file not shown.
BIN
provision/secrets/borg/rsync/id_rsa.pub.age
Normal file
BIN
provision/secrets/borg/rsync/id_rsa.pub.age
Normal file
Binary file not shown.
BIN
provision/secrets/borg/torus/password.age
Normal file
BIN
provision/secrets/borg/torus/password.age
Normal file
Binary file not shown.
@ -21,5 +21,8 @@ in
|
||||
"ssh/kestrel/id_ed25519.pub.age".publicKeys = users ++ systems;
|
||||
"ssh/torus/id_ed25519.age".publicKeys = [ tstarr_torus ] ++ systems;
|
||||
"ssh/torus/id_ed25519.pub.age".publicKeys = users ++ systems;
|
||||
"borg/torus/password.age".publicKeys = [ tstarr_torus ] ++ systems;
|
||||
"borg/rsync/id_rsa.age".publicKeys = users ++ systems;
|
||||
"borg/rsync/id_rsa.pub.age".publicKeys = users ++ systems;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user