This commit is contained in:
2025-09-23 13:19:48 +00:00
parent a04a4abef6
commit dd3753fab4
170 changed files with 907 additions and 1715 deletions

View File

@@ -0,0 +1,12 @@
{ config, pkgs, ... }:
let
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
# Import all other .nix files as modules
moduleFiles = builtins.map (fname: ./. + "/${fname}") (builtins.attrNames files);
in
{
# Import all the package modules
imports = moduleFiles;
}

View File

@@ -0,0 +1,93 @@
{
pkgs,
hostname,
...
}:
{
home.packages = with pkgs; [
# General packages
git
onefetch
gnupg
gh
nixfmt-rfc-style
nixd
nil
wget
fastfetch
_1password-cli
# Package management
devbox
# Development SDKs/Toolkits
gcc
pkg-config
gnumake
stdenv.cc
act # GitHub Actions CLI
# File and directory operations
eza # Modern ls
bat # Modern cat
broot # Interactive directory navigator
du-dust # Modern du
duf # Modern df
zip
unzip
glances # Advanced system monitoring tool
procs # Modern ps
hyperfine # Benchmarking tool
# Search and text processing
ripgrep # Modern grep
sd # Modern sed
choose # Modern cut
jq # JSON processor
yq # YAML processor
xan # CSV processor (xsv is no longer maintained)
ncdu # Disk usage analyzer
# System monitoring and process management
procs # Modern ps
hyperfine # Benchmarking tool
bandwhich # Network utilization tool
doggo # Modern dig
gping # Ping with graph
htop # Interactive process viewer
# Development utilities
delta # Better git diff
difftastic # Structural diff tool
fzf # Fuzzy finder
tokei # Code statistics
tealdeer # Modern tldr client
lazygit # Terminal UI for git
# Shell and terminal
starship # Cross-shell prompt
blesh # Bash ble.sh
zellij # Modern terminal multiplexer
screen # Terminal multiplexer
# File viewers and processors
hexyl # Modern hexdump
chafa # Terminal image viewer
glow # Markdown renderer
# Editors
neovim
## Neovim plugins
vimPlugins.LazyVim
nano
micro
# Lolz
fortune
cowsay
cmatrix
figlet
lolcat
];
}

View File

@@ -0,0 +1,49 @@
{ config, hostname, ... }:
{
config.programs.onepassword-secrets = {
enable = true;
tokenFile = "${config.home.homeDirectory}/.op_sat";
secrets = {
mennos2025Pem = {
reference = "op://Dotfiles/Fallback SSH Key/private key";
path = ".ssh/mennos-2025.pem";
mode = "0600";
};
mennos2025Pub = {
reference = "op://Dotfiles/Fallback SSH Key/public key";
path = ".ssh/mennos-2025.pub";
mode = "0644";
};
workWgVPn = {
reference = "op://Dotfiles/Work VPN/config";
path = ".config/wireguard/work-vpn.conf";
mode = "0600";
};
authorizedKeysForHost = {
reference = "op://Dotfiles/Authorized Keys/${hostname}";
path = ".ssh/authorized_keys";
mode = "0644";
};
personalSshConf = {
reference = "op://Dotfiles/SSH Configs/personal";
path = ".ssh/config.d/personal.conf";
mode = "0644";
};
workDevSshConf = {
reference = "op://Dotfiles/SSH Configs/work-dev";
path = ".ssh/config.d/work-dev.conf";
mode = "0644";
};
workProdSshConf = {
reference = "op://Dotfiles/SSH Configs/work-prod";
path = ".ssh/config.d/work-prod.conf";
mode = "0644";
};
tradawarePem = {
reference = "op://Dotfiles/Tradaware TransIP PEM/pem";
path = ".config/tradaware.pem";
mode = "0600";
};
};
};
}