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

@ -67,6 +67,9 @@
extraSpecialArgs.user = "random"; extraSpecialArgs.user = "random";
modules = [ modules = [
./home/headful-nixos.nix ./home/headful-nixos.nix
./home/modules/development.nix
./home/modules/gui-apps.nix
./home/modules/hacking.nix
]; ];
}; };
@ -83,6 +86,7 @@
extraSpecialArgs.user = "sampledb"; extraSpecialArgs.user = "sampledb";
modules = [ modules = [
./home/headless-nixos.nix ./home/headless-nixos.nix
./home/modules/development.nix
]; ];
}; };

View File

@ -10,6 +10,8 @@
imports = [ imports = [
./shared.nix ./shared.nix
./modules/utils.nix
./modules/development.nix
./modules/sketchybar.nix ./modules/sketchybar.nix
./modules/aerospace.nix ./modules/aerospace.nix
./modules/neovim.nix ./modules/neovim.nix

View File

@ -5,58 +5,23 @@
homeDirectory = "/home/${user}"; homeDirectory = "/home/${user}";
}; };
imports = [ imports = [
./shared.nix ./shared.nix
./modules/hacking.nix ./modules/utils.nix
./modules/linux-only-utils.nix
./modules/networking.nix
./modules/neovim.nix ./modules/neovim.nix
./modules/emacs.nix ./modules/emacs.nix
./modules/apps.nix ./modules/tmux.nix
./modules/zsh.nix ./modules/zsh.nix
]; ];
home.packages = with pkgs; [
feh
ncdu
dconf
docker
barrier
firefox
flameshot
traceroute
pavucontrol
virt-viewer
bitwarden-cli
wireguard-tools
nextcloud-client
protonmail-desktop
nvtopPackages.full
];
services.emacs.enable = true; services.emacs.enable = true;
dconf = { home.packages = with pkgs; [
enable = true; bitwarden-cli
settings = { wireguard-tools
"org/gnome/desktop/interface" = { ];
color-scheme = "prefer-dark";
};
};
};
gtk = {
enable = true;
theme = {
name = "Materia-dark";
package = pkgs.materia-theme;
};
};
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
obs-backgroundremoval
];
};
home.file = { home.file = {
".Xresources".source = ../dotfiles/.Xresources; ".Xresources".source = ../dotfiles/.Xresources;

View File

@ -7,13 +7,11 @@
imports = [ imports = [
./shared.nix ./shared.nix
./modules/utils.nix
./modules/linux-only-utils.nix
./modules/networking.nix
./modules/neovim.nix ./modules/neovim.nix
./modules/tmux.conf
./modules/zsh.nix ./modules/zsh.nix
]; ];
home.packages = with pkgs; [
ncdu
traceroute
nvtopPackages.full
];
} }

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 meslo-lgs-nf
]; ];
programs.zsh = { programs = {
enable = true; zoxide.enable = true;
enableCompletion = true; eza.enable = true;
autosuggestion.enable = true; fzf.enable = true;
syntaxHighlighting.enable = true; zsh = {
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; enable = true;
plugins = [ enableCompletion = true;
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } 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;
}
} }

View File

@ -1,55 +1,10 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }: {
let
mypkgs = import ../packages/all-packages.nix {
inherit pkgs lib config;
};
in {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.packages = with pkgs; [
# Nix specific utilities
manix
nix-tree
# Utilities
jq
bc
file
wget
curl
tmux
btop
iftop
p7zip
sshpass
ripgrep
openvpn
pciutils
fastfetch
# Network tools
dig
iperf
tcpdump
ethtool
# Dev tools
clang
clang-tools
cargo
python3
gnumake
ansible
];
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
zoxide.enable = true;
eza.enable = true;
fzf.enable = true;
git = { git = {
enable = true; enable = true;
userName = "Random936"; userName = "Random936";
@ -57,11 +12,5 @@ in {
}; };
}; };
home.file = {
".functions.zsh".source = ../dotfiles/.functions.zsh;
".tmux/plugins/tpm".source = "${mypkgs.tpm}";
".tmux.conf".source = ../dotfiles/.tmux.conf;
};
home.stateVersion = "24.05"; home.stateVersion = "24.05";
} }