Modularize

This commit is contained in:
Jack Mechem 2025-07-24 11:16:51 -07:00
parent 4b1d7f684c
commit d6a288da0f
11 changed files with 346 additions and 66 deletions

View file

@ -0,0 +1,29 @@
{ pkgs, ... }:
let
shellAliases = {
rebuild-nix = "sudo nixos-rebuild switch --flake /home/jack/nixos/#t480";
};
in
{
programs.zsh = {
enable = true;
inherit shellAliases;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
};
programs.zsh.oh-my-zsh = {
enable = true;
theme = "gentoo";
plugins = [
"git"
"kubectl"
"helm"
"docker"
];
};
programs.bash = {
enable = true;
inherit shellAliases;
};
}

31
modules/nixos/fonts.nix Normal file
View file

@ -0,0 +1,31 @@
{ pkgs, ... }: {
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
jetbrains-mono
nerd-fonts.jetbrains-mono
font-awesome
google-fonts
corefonts
vista-fonts
inter
];
fontconfig = {
enable = true;
defaultFonts = {
serif = [ "Noto Serif" ];
sansSerif = [ "Noto Sans" ];
monospace = [ "JetBrains Mono" ];
emoji = [ "Noto Color Emoji" ];
};
};
};
}

15
modules/nixos/gtkapps.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, lib, pkgs, inputs, ... }:
let cfg = config.services.gtkapps;
in
{
options.services.gtkapps = {
enable = lib.mkEnableOption "Enable the gtkapps application";
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
[ inputs.gtkapps.packages.${pkgs.system}.default ];
};
}

15
modules/nixos/gtkbar.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, lib, pkgs, inputs, ... }:
let cfg = config.services.gtkbar;
in
{
options.services.gtkbar = {
enable = lib.mkEnableOption "Enable the gtkbar application";
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
[ inputs.gtkbar.packages.${pkgs.system}.default ];
};
}

10
modules/nixos/sound.nix Normal file
View file

@ -0,0 +1,10 @@
{ pkgs, ... }:
{
# Enable sound.
services.pipewire = {
enable = true;
pulse.enable = true;
};
}

View file

@ -0,0 +1,22 @@
{ pkgs, inputs, ... }:
{
programs.firefox.enable = true;
programs.hyprland.enable = true;
services.gtkapps.enable = true;
services.gtkbar.enable = true;
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
neovim
tree
vim # Both vim and neovim just in case
wget
ghostty
git
gcc
fastfetch
];
}

View file

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
users.users.jack = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
packages = with pkgs; [ zed-editor cargo ];
};
}