mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 01:17:42 -04:00
Restructure modules/shared and update all imports
- Delete 2024-12-rework/ folder
- Rename modules/hosts/common to modules/shared, then split into:
- modules/shared/home/general
- modules/shared/home/linux
- modules/shared/nixos
- Update all import paths throughout the codebase
- Update lib/*.nix to use new paths
- Fix hardcoded /Users/${username} to use config.home.homeDirectory
- Update README and examples/flake-structure.nix
This commit is contained in:
parent
14fbadd9aa
commit
582f93d9ed
78 changed files with 88 additions and 406 deletions
20
modules/shared/nixos/flatpaks.nix
Normal file
20
modules/shared/nixos/flatpaks.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
{ ... }: {
|
||||
services = {
|
||||
flatpak = {
|
||||
enable = true;
|
||||
packages = [
|
||||
"im.riot.Riot"
|
||||
"com.cassidyjames.butler"
|
||||
"com.logseq.Logseq"
|
||||
"com.vivaldi.Vivaldi"
|
||||
"org.signal.Signal"
|
||||
"org.telegram.desktop"
|
||||
];
|
||||
update.auto = {
|
||||
enable = true;
|
||||
onCalendar = "daily";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
17
modules/shared/nixos/internationalisation.nix
Normal file
17
modules/shared/nixos/internationalisation.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ ... }: {
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
||||
25
modules/shared/nixos/lets-encrypt.nix
Normal file
25
modules/shared/nixos/lets-encrypt.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ config, username, ... }: {
|
||||
|
||||
##########################################################################
|
||||
# #
|
||||
# This module sets up Let's Encrypt certs via a DNS challenge to Gandi #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "lets-encrypt@technicalissues.us";
|
||||
credentialFiles = { "GANDIV5_PERSONAL_ACCESS_TOKEN_FILE" = "${config.sops.secrets.gandi_dns_pat.path}"; };
|
||||
dnsProvider = "gandiv5";
|
||||
dnsResolver = "ns1.gandi.net";
|
||||
# uncomment below for testing
|
||||
#server = "https://acme-staging-v02.api.letsencrypt.org/directory";
|
||||
};
|
||||
};
|
||||
|
||||
sops = {
|
||||
age.keyFile = "${config.users.users.${username}.home}/.config/sops/age/keys.txt";
|
||||
secrets.gandi_dns_pat.sopsFile = ../secrets.yaml;
|
||||
};
|
||||
}
|
||||
7
modules/shared/nixos/nixroutes.nix
Normal file
7
modules/shared/nixos/nixroutes.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
hostName = config.networking.hostName;
|
||||
in {
|
||||
programs.zsh.shellAliases.nixroutes =
|
||||
"cd ~/repos/dots && echo '=== Current Routes ===' && ip route show && ip -6 route show && echo '' && echo '=== New Build Routes ===' && nix eval --json '.#nixosConfigurations.${hostName}.config.systemd.network.networks.\"10-wan\".routes'";
|
||||
}
|
||||
32
modules/shared/nixos/restic.nix
Normal file
32
modules/shared/nixos/restic.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ config, pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
restic
|
||||
];
|
||||
|
||||
sops.secrets = {
|
||||
restic_env.sopsFile = ../secrets.yaml;
|
||||
restic_repo.sopsFile = ../secrets.yaml;
|
||||
restic_password.sopsFile = ../secrets.yaml;
|
||||
};
|
||||
|
||||
services.restic.backups = {
|
||||
daily = {
|
||||
initialize = true;
|
||||
|
||||
environmentFile = config.sops.secrets.restic_env.path;
|
||||
repositoryFile = config.sops.secrets.restic_repo.path;
|
||||
passwordFile = config.sops.secrets.restic_password.path;
|
||||
|
||||
extraBackupArgs = [
|
||||
"--retry-lock 2h"
|
||||
];
|
||||
|
||||
pruneOpts = [
|
||||
"--keep-daily 7"
|
||||
"--keep-weekly 5"
|
||||
"--keep-monthly 6"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
23
modules/shared/nixos/ripping.nix
Normal file
23
modules/shared/nixos/ripping.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ pkgs, ... }: {
|
||||
# Be sure this is added if on NixOS
|
||||
# boot.kernelModules = [ "sg" ];
|
||||
|
||||
# Also, get KEYDB.cfg per https://wiki.archlinux.org/title/Blu-ray
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
abcde
|
||||
asunder
|
||||
handbrake
|
||||
lame
|
||||
libaacs
|
||||
libbdplus
|
||||
libbluray
|
||||
libdvdcss
|
||||
libdvdnav
|
||||
libdvdread
|
||||
makemkv
|
||||
mkvtoolnix
|
||||
mkvtoolnix-cli
|
||||
];
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue