Skip to content

Instantly share code, notes, and snippets.

@worldofgeese
Created April 12, 2023 18:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save worldofgeese/6460b8332a834538259e3f861c940578 to your computer and use it in GitHub Desktop.
Save worldofgeese/6460b8332a834538259e3f861c940578 to your computer and use it in GitHub Desktop.
{ pkgs, ... }: {
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
fonts.fontconfig.enable = true;
programs.foot.enable = false;
programs.foot.settings = {
main = {
font = "RobotoMono Nerd Font Mono:size=6";
include = "/usr/share/sway/templates/foot.ini";
};
};
programs.git = {
enable = true;
userEmail = "59834693+worldofgeese@users.noreply.github.com";
userName = "worldofgeese";
signing.signByDefault = true;
signing.key = "63D28F81460A224A";
};
services.emacs.enable = false;
programs.doom-emacs = {
enable = false;
doomPrivateDir = /home/taohansen/.doom.d;
emacsPackage = pkgs.emacsPgtk;
extraPackages = with pkgs; [ fd findutils ripgrep nodejs ];
};
programs.exa = {
enable = true;
enableAliases = true;
};
programs.bash = {
enable = true;
bashrcExtra = ''
[[ -f ~/.bashrc.backup ]] && . ~/.bashrc.backup
'';
profileExtra = ''
[[ -f ~/.bash_profile.backup ]] && . ~/.bash_profile.backup
[[ -f ~/.profile.backup ]] && . ~/.profile.backup
'';
enableVteIntegration = true;
historyIgnore = [ "ls" "cd" "exit" "gopass" ];
shellAliases = {
cat = "bat";
cd = "z";
};
sessionVariables = {
EDITOR = "/usr/bin/emacsclient --alternate-editor= --create-frame %F";
PASSWORD_STORE_DIR = "$HOME/.local/share/password-store";
XDG_DATA_DIRS =
"/usr/local/share/:/usr/share/:$HOME/.nix-profile/share/:/var/lib/flatpak/exports/share:/home/taohansen/.local/share/flatpak/exports/share";
_JAVA_AWT_WM_NONREPARENTING = 1;
UPDATE_AUR = 1;
BROWSER = "firefox";
npm_config_prefix = "$HOME/.local";
};
};
programs.fish = {
enable = true;
interactiveShellInit = ''
bass source ~/.profile
'';
shellAliases = {
cat = "bat";
cd = "z";
};
plugins = [
{
name = "bass";
src = pkgs.fetchFromGitHub {
owner = "edc";
repo = "bass";
rev = "2fd3d2157d5271ca3575b13daec975ca4c10577a";
sha256 = "0mb01y1d0g8ilsr5m8a71j6xmqlyhf8w4xjf00wkk8k41cz3ypky";
};
}
];
};
programs.bat.enable = true;
programs.zoxide = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
};
programs.atuin = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
settings = {
auto_sync = true;
sync_frequency = "5m";
sync_address = "https://api.atuin.sh";
search_mode = "fuzzy";
};
};
programs.gpg.enable = true;
programs.password-store = { enable = true; };
programs.broot = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
settings.modal = true;
};
programs.jq.enable = true;
programs.navi = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
};
programs.pet.enable = true;
programs.ssh = {
enable = true;
controlMaster = "yes";
controlPersist = "10m";
matchBlocks = {
"mother" = {
hostname = "100.102.219.98";
user = "taohansen";
port = 2235;
};
};
};
programs.starship = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 60480000;
defaultCacheTtlSsh = 60480000;
maxCacheTtl = 60480000;
maxCacheTtlSsh = 60480000;
enableSshSupport = true;
sshKeys = [
"D615D7E91A02052C49082959B9F2F50C2D14C21A"
"90B63AAB0529F8EA3DBAEA2B1608B9C111896671"
];
};
programs.home-manager.enable = true;
home.username = "taohansen";
home.homeDirectory = "/home/taohansen";
home.stateVersion = "22.11";
home.sessionPath = [
"$HOME/bin"
"$HOME/.local/bin"
"$HOME/.garden/bin"
"/var/lib/snapd/snap/bin"
];
home.packages = with pkgs; [
awscli2 # Unified tool to manage your AWS services
aws-vault # A vault for securely storing and accessing AWS credentials in development environments
tfswitch # A command line tool to switch between different versions of terraform
openssh # An implementation of the SSH protocol
wl-clipboard # Command-line copy/paste utilities for Wayland
wget # Tool for retrieving files using HTTP, HTTPS, and FTP
rsync # A fast incremental file transfer utility
xh # Friendly and fast tool for sending HTTP requests
ripgrep # A utility that combines the usability of The Silver Searcher with the raw speed of grep
fd
croc # Easily and securely send things from one computer to another
# (import nixGL {
# inherit pkgs;
# }).nixGLIntel # OpenGL driver wrapper for nixplgs on non-NixOS systems
# steam # A digital distribution platform
# fzf # A command-line fuzzy finder written in Go
cloud-nuke # A tool for cleaning up your cloud accounts by nuking (deleting) all resources within it
chamber # A tool for managing secrets by storing them in AWS SSM Parameter Store
# gopass
# gopass-jsonapi
git-annex
oci-cli # Command Line Interface for Oracle Cloud Infrastructure
nodePackages.prettier # Prettier is an opinionated code formatter
shfmt # A shell parser and formatter
nixfmt # An opinionated formatter for Nix
jsonnet # Purely-functional configuration language that helps you define JSON data
keybase
openshift
pandoc
kubernetes-helm
helmfile
flyctl
arkade
yq
anki
racket
topgrade
btop
gnome.pomodoro
maestral
maestral-gui
ksnip
vhs
update-nix-fetchgit
blesh
gomuks
gnome-solanum # pomodoro tracker
fd # packages that make Doom better
findutils # packages that make Doom better
ripgrep # packages that make Doom better
nodejs # packages that make Doom better
tdesktop
kubectl
glab
gopass
cmctl
microsoft-edge
nodePackages.dockerfile-language-server-nodejs
hadolint
jetbrains-mono
docker-compose
k9s
yt-dlp-light
btop
cookiecutter
dig
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment