Restructured nixos home-manager config

This commit is contained in:
Random936
2025-02-09 10:47:35 -08:00
parent deb4233b93
commit fceb1282f0
13 changed files with 203 additions and 186 deletions

View File

@@ -1,10 +0,0 @@
{pkgs, ... }: {
home.packages = with pkgs; [
vlc
typora
zoom-us
discord
libreoffice
bitwarden-desktop
];
}

View File

@@ -0,0 +1,11 @@
{ pkgs, ... }: {
home.packages = with pkgs [
# Dev tools
clang
clang-tools
cargo
python3
gnumake
ansible
];
}

41
home/modules/gui-apps.nix Normal file
View File

@@ -0,0 +1,41 @@
{pkgs, ... }: {
home.packages = with pkgs; [
feh
vlc
firefox
zoom-us
discord
flameshot
libreoffice
pavucontrol
virt-viewer
nextcloud-client
protonmail-desktop
bitwarden-desktop
];
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
obs-backgroundremoval
];
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
gtk = {
enable = true;
theme = {
name = "Materia-dark";
package = pkgs.materia-theme;
};
};
}

View File

@@ -0,0 +1,6 @@
{ pkgs, ... }: {
home.packages = with pkgs [
ncdu
nvtopPackages.full
];
}

View File

@@ -0,0 +1,13 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
# Network tools
dig
iftop
iperf
tcpdump
ethtool
traceroute
];
}

9
home/modules/tmux.nix Normal file
View File

@@ -0,0 +1,9 @@
{ pkgs, lib, config, ... }: let
mypkgs = import ../../packages/all-packages.nix { inherit pkgs lib config };
in {
home.packages = with pkgs [ tmux ];
home.file = {
"tmux/plugins/tpm".source = "${mypkgs.tpm}";
".tmux.conf".source = ../../dotfiles/.tmux.conf;
};
}

21
home/modules/utils.nix Normal file
View File

@@ -0,0 +1,21 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
# Nix specific utilities
manix
nix-tree
# Utilities
jq
bc
file
wget
curl
btop
p7zip
sshpass
ripgrep
openvpn
pciutils
fastfetch
];
}

View File

@@ -4,80 +4,88 @@
meslo-lgs-nf
];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history.size = 100000000;
shellAliases = {
cd = "z";
ls = "eza";
awkuniq = "sort | uniq";
histogram = "awkuniq -c | sort -nr";
json-less = "jq -C . | less -R";
csv2json = "python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))'";
# Server user/address aliases
r330-idrac = "bw-ssh iDRAC root@192.168.100.11 racadm";
r730xd-idrac = "bw-ssh iDRAC root@192.168.100.12 racadm";
ideapad = "ssh root@192.168.100.20";
r330-proxmox = "ssh root@192.168.100.21";
r730xd-proxmox = "ssh root@192.168.100.22";
r330-media = "ssh media@192.168.100.40";
r330-logging = "ssh logging@192.168.100.41";
sampledb-dev = "ssh sampledb@192.168.100.42";
mindforge = "ssh mindforge@mindforge.randomctf.local";
# Nix Specific aliases
update-darwin = "darwin-rebuild switch --flake ~/dotfiles";
update-config = "sudo nixos-rebuild switch --flake ~/dotfiles";
update-home = "home-manager switch --flake ~/dotfiles";
update-all = "update-config && update-home";
};
initExtraBeforeCompInit = ''
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
'';
initExtra = ''
export PATH=$PATH:~/.cargo/bin
function .. { cd .. }
function ... { cd ../.. }
function .... { cd ../../.. }
function ..... { cd ../../../../.. }
function ...... { cd ../../../../../.. }
function ....... { cd ../../../../../../.. }
if [[ "$(uname)" == "Darwin" ]]; then
source <(/opt/homebrew/bin/brew shellenv)
fi
if [[ -n "$SSH_CONNECTION" && "$TERM" == "ghostty" ]]; then
export TERM="xterm-256color"
fi
'';
plugins = [
{
name = "custom-functions";
src = ../../dotfiles;
file = ".functions.zsh";
}
{
name = "powerlevel10k-config";
src = ../../dotfiles;
file = ".p10k.zsh";
}
];
zplug = {
programs = {
zoxide.enable = true;
eza.enable = true;
fzf.enable = true;
zsh = {
enable = true;
plugins = [
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
];
};
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history.size = 100000000;
shellAliases = {
cd = "z";
ls = "eza";
awkuniq = "sort | uniq";
histogram = "awkuniq -c | sort -nr";
json-less = "jq -C . | less -R";
csv2json = "python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))'";
# Server user/address aliases
r330-idrac = "bw-ssh iDRAC root@192.168.100.11 racadm";
r730xd-idrac = "bw-ssh iDRAC root@192.168.100.12 racadm";
ideapad = "ssh root@192.168.100.20";
r330-proxmox = "ssh root@192.168.100.21";
r730xd-proxmox = "ssh root@192.168.100.22";
r330-media = "ssh media@192.168.100.40";
r330-logging = "ssh logging@192.168.100.41";
sampledb-dev = "ssh sampledb@192.168.100.42";
mindforge = "ssh mindforge@mindforge.randomctf.local";
# Nix Specific aliases
update-darwin = "darwin-rebuild switch --flake ~/dotfiles";
update-config = "sudo nixos-rebuild switch --flake ~/dotfiles";
update-home = "home-manager switch --flake ~/dotfiles";
update-all = "update-config && update-home";
};
initExtraBeforeCompInit = ''
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
'';
initExtra = ''
export PATH=$PATH:~/.cargo/bin
function .. { cd .. }
function ... { cd ../.. }
function .... { cd ../../.. }
function ..... { cd ../../../../.. }
function ...... { cd ../../../../../.. }
function ....... { cd ../../../../../../.. }
if [[ "$(uname)" == "Darwin" ]]; then
source <(/opt/homebrew/bin/brew shellenv)
fi
if [[ -n "$SSH_CONNECTION" && "$TERM" == "ghostty" ]]; then
export TERM="xterm-256color"
fi
'';
plugins = [
{
name = "custom-functions";
src = ../../dotfiles;
file = ".functions.zsh";
}
{
name = "powerlevel10k-config";
src = ../../dotfiles;
file = ".p10k.zsh";
}
];
zplug = {
enable = true;
plugins = [
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
];
};
};
};
home.file = {
".functions.zsh".source ../../dotfiles/.functions.zsh;
}
}