Compare commits

...

3 Commits

Author SHA1 Message Date
Noah Masur
e90c6b1724 moving around reencrypt secrets 2025-03-09 05:02:20 +00:00
Noah Masur
2722a8bf61 fix fish user keybindings 2025-03-09 04:51:47 +00:00
Noah Masur
3e8b14d671 tweaks for flame 2025-03-09 04:46:34 +00:00
8 changed files with 43 additions and 45 deletions

View File

@ -1,9 +0,0 @@
{ pkgs, ... }:
{
# TODO: just replace with packages instead of apps
type = "app";
program = "${pkgs.nmasur.loadkey}/bin/loadkey";
}

View File

@ -1,27 +0,0 @@
{ pkgs, ... }:
{
# nix run github:nmasur/dotfiles#reencrypt-secrets ./private
type = "app";
program = builtins.toString (
pkgs.writeShellScript "reencrypt-secrets" ''
if [ $# -eq 0 ]; then
echo "Must provide directory to reencrypt."
exit 1
fi
encrypted=$1
for encryptedfile in ''${1}/*; do
tmpfile=$(mktemp)
echo "Decrypting ''${encryptedfile}..."
${pkgs.age}/bin/age --decrypt \
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
echo "Encrypting ''${encryptedfile}..."
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${builtins.toString ../misc/public-keys} $tmpfile > $encryptedfile
rm $tmpfile
done
echo "Finished."
''
);
}

View File

@ -447,14 +447,14 @@
packages = mypackages; packages = mypackages;
# Programs that can be run by calling this flake # # Programs that can be run by calling this flake
apps = forAllSystems ( # apps = forAllSystems (
system: # system:
let # let
pkgs = import nixpkgs { inherit system overlays; }; # pkgs = import nixpkgs { inherit system overlays; };
in # in
import ./apps { inherit pkgs; } # import ./apps { inherit pkgs; }
); # );
# Development environments # Development environments
devShells = forAllSystems ( devShells = forAllSystems (

View File

@ -27,6 +27,7 @@ rec {
nmasur.profiles = { nmasur.profiles = {
common.enable = true; common.enable = true;
linux-base.enable = true; linux-base.enable = true;
power-user.enable = true;
}; };
home.stateVersion = "23.05"; home.stateVersion = "23.05";
}; };

View File

@ -0,0 +1,21 @@
{ pkgs, ... }:
# nix run github:nmasur/dotfiles#reencrypt-secrets ./private
pkgs.writeShellScriptBin "reencrypt-secrets" ''
if [ $# -eq 0 ]; then
echo "Must provide directory to reencrypt."
exit 1
fi
encrypted=$1
find "''${1}" -type f -name "*.age" | while IFS= read -r encryptedfile; do
tmpfile=$(mktemp)
echo "Decrypting ''${encryptedfile}..."
${pkgs.age}/bin/age --decrypt \
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
echo "Encrypting ''${encryptedfile}..."
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${builtins.toString ../../../../misc/public-keys} $tmpfile > $encryptedfile
rm $tmpfile
done
echo "Finished."
''

View File

@ -40,6 +40,9 @@ in
description = "Evaluate a bash-like environment variables file"; description = "Evaluate a bash-like environment variables file";
body = ''set -gx (cat $argv | tr "=" " " | string split ' ')''; body = ''set -gx (cat $argv | tr "=" " " | string split ' ')'';
}; };
fish_user_key_bindings = {
body = cfg.fish_user_key_bindings;
};
ip = { ip = {
body = lib.getExe pkgs.nmasur.ip-check; body = lib.getExe pkgs.nmasur.ip-check;
}; };

View File

@ -40,6 +40,12 @@ in
settings = { settings = {
# Trust users for messing with Nix stuff
trusted-users = [
"root"
"@wheel"
];
# Add community Cachix to binary cache # Add community Cachix to binary cache
# Don't use at work because blocked by corporate firewall # Don't use at work because blocked by corporate firewall
builders-use-substitutes = true; builders-use-substitutes = true;

View File

@ -28,13 +28,16 @@ in
}; };
}; };
programs.fish.enable = lib.mkDefault config.home-manager.users.${username}.programs.fish.enable;
# Allows us to declaritively set password # Allows us to declaritively set password
users.mutableUsers = lib.mkDefault false; users.mutableUsers = lib.mkDefault false;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.${username} = { users.users.${username} = {
# Use fish by default if enabled in home-manager # Use fish by default if enabled in home-manager
shell = lib.mkIf (config.home-manager.users.${username}.programs.fish.enable) pkgs.fish; shell = lib.mkIf (config.programs.fish.enable) pkgs.fish;
# Create a home directory for human user # Create a home directory for human user
isNormalUser = lib.mkDefault true; isNormalUser = lib.mkDefault true;