This commit is contained in:
Jeffrey Serio 2024-08-28 14:35:12 -05:00
parent 475c8f2201
commit 63057f73af
3 changed files with 242 additions and 22 deletions

View File

@ -88,7 +88,7 @@ zplug load
# ENVIRONMENT VARS # ENVIRONMENT VARS
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
export SHELL=/usr/bin/zsh export SHELL=/usr/bin/zsh
export DOOMDIR="${HOME}/nextcloud/doom" export DOOMDIR="${HOME}/shared/doom"
export LS_COLORS=$(vivid generate catppuccin-mocha) export LS_COLORS=$(vivid generate catppuccin-mocha)
export PAGER="less -X" export PAGER="less -X"
export MANWIDTH="88" export MANWIDTH="88"
@ -147,3 +147,6 @@ add-zsh-hook -Uz chpwd() { print -Pn "\e]2;%m:%2~\a" }
# starship.rs # starship.rs
eval "$(starship init zsh)" eval "$(starship init zsh)"
# direnv
eval "$(direnv hook zsh)"

214
home-new.nix Normal file
View File

@ -0,0 +1,214 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "jas";
home.homeDirectory = "/home/jas";
home.stateVersion = "24.05"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
arp-scan
autossh
bat
catppuccin-kde
diskonaut
doggo
dust
fblog
fd
gcc
glances
glow
gum
html-tidy
hyfetch
hyperfine
just
kdePackages.kasts
kdePackages.yakuake
kdePackages.tokodon
kdePackages.kpeople
kdePackages.kbackup
kdePackages.kontrast
lagrange
lsd
nmap
nodejs
nodePackages.js-beautify
nodePackages.npm
nodePackages.prettier
procs
ripgrep
rustscan
starship
stylelint
tealdeer
vivid
wl-clipboard
wthrr
yazi
zellij
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
".justfile".source = dotfiles/just/.justfile;
".zshrc".source = dotfiles/zsh/.zshrc;
".zshrc.d".source = dotfiles/zsh/.zshrc.d;
".zpath".source = dotfiles/zsh/.zpath;
".zshenv".source = dotfiles/zsh/.zshenv;
".config/zellij".source = dotfiles/config/.config/zellij;
".config/starship.toml".source = dotfiles/config/.config/starship.toml;
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# borgmatic config
programs.borgmatic = {
enable = true;
backups = {
home = {
location = {
sourceDirectories = [
"/home/jas/.config"
"/home/jas/.config-pt"
"/home/jas/.face"
"/home/jas/.face.icon"
"/home/jas/.icons"
"/home/jas/.librewolf"
"/home/jas/.local/share/color-schemes"
"/home/jas/.local/share/direnv"
"/home/jas/.local/share/dolphin"
"/home/jas/.local/share/klipper"
"/home/jas/.local/share/konsole"
"/home/jas/.local/share/Trash"
"/home/jas/.mozilla"
"/home/jas/.shellmarks"
"/home/jas/.ssh"
"/home/jas/.zsh_history"
"/home/jas/dashy"
"/home/jas/shared"
];
repositories = [ "/mnt/backup/moonshadow-home" ];
};
excludeHomeManagerSymlinks = true;
storage.encryptionPasscommand = "${pkgs.password-store}/bin/pass borg-repo";
retention = {
keepDaily = 7;
keepWeekly = 4;
keepMonthly = 12;
keepYearly = 4;
};
consistency = {
checks = [
{
name = "repository";
frequency = "2 weeks";
}
{
name = "archives";
frequency = "4 weeks";
}
{
name = "data";
frequency = "6 weeks";
}
{
name = "extract";
frequency = "6 weeks";
}
];
};
};
}
}
# git config
programs.git = {
enable = true;
diff-so-fancy = {
enable = true;
pagerOpts = ["--tabs=4" "-RFX"];
};
userName = "Jeffrey Serio";
userEmail = "hyperreal@moonshadow.dev";
extraConfig = {
core = {
editor = "emacsclient";
};
init = {
defaultBranch = "main";
};
pull = {
rebase = true;
};
};
};
# ssh config
programs.ssh.enable = true;
programs.ssh.matchBlocks = {
"nixos.tail7dd4a.ts.net" = {
hostname = "nixos.tail7dd4a.ts.net";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"aux-vm" = {
hostname = "10.0.0.26";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"bttracker.nirn.quest" = {
hostname = "bttracker.nirn.quest";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"qbittorrent" = {
hostname = "10.0.0.82";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"truenas" = {
hostname = "10.0.0.81";
user = "admin";
identityFile = "~/.ssh/id_ed25519";
};
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
services.kdeconnect = {
enable = true;
indicator = true;
};
xdg.userDirs = {
enable = true;
createDirectories = true;
desktop = "/home/jas/desktop";
documents = "/home/jas/shared/documents";
download = "/home/jas/downloads";
pictures = "/home/jas/shared/pictures";
publicShare = "/home/jas/shared";
}
}

View File

@ -11,7 +11,6 @@
# The home.packages option allows you to install Nix packages into your # The home.packages option allows you to install Nix packages into your
# environment. # environment.
home.packages = with pkgs; [ home.packages = with pkgs; [
ansible
arp-scan arp-scan
autossh autossh
bat bat
@ -21,13 +20,8 @@
fblog fblog
fd fd
gcc gcc
glances
glow glow
go
gomodifytags
gopls
gore
gotests
gotools
gum gum
html-tidy html-tidy
hyfetch hyfetch
@ -42,10 +36,8 @@
nodePackages.prettier nodePackages.prettier
procs procs
ripgrep ripgrep
rustc
rustscan rustscan
starship starship
stow
stylelint stylelint
tealdeer tealdeer
vivid vivid
@ -98,21 +90,11 @@
# ssh config # ssh config
programs.ssh.enable = true; programs.ssh.enable = true;
programs.ssh.matchBlocks = { programs.ssh.matchBlocks = {
"hyperreal.coffee" = { "nixos.tail7dd4a.ts.net" = {
hostname = "hyperreal.coffee"; hostname = "nixos.tail7dd4a.ts.net";
user = "jas"; user = "jas";
identityFile = "~/.ssh/id_ed25519"; identityFile = "~/.ssh/id_ed25519";
}; };
"homelab" = {
hostname = "10.0.0.240";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"truenas" = {
hostname = "10.0.0.81";
user = "admin";
identityFile = "~/.ssh/id_ed25519";
};
"aux-vm" = { "aux-vm" = {
hostname = "10.0.0.26"; hostname = "10.0.0.26";
user = "jas"; user = "jas";
@ -123,5 +105,26 @@
user = "jas"; user = "jas";
identityFile = "~/.ssh/id_ed25519"; identityFile = "~/.ssh/id_ed25519";
}; };
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"qbittorrent" = {
hostname = "10.0.0.82";
user = "jas";
identityFile = "~/.ssh/id_ed25519";
};
"truenas" = {
hostname = "10.0.0.81";
user = "admin";
identityFile = "~/.ssh/id_ed25519";
};
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
}; };
} }