Massive rewrite, further modularized

This commit is contained in:
Bryan Ramos 2024-01-28 09:16:53 -05:00
parent 98e2bfe511
commit d725ffdbfa
Signed by: bryan
GPG key ID: 6ABDCD144D6643C8
28 changed files with 139 additions and 53 deletions

View file

@ -11,18 +11,11 @@
home.homeDirectory = "/home/${config.user.name}"; home.homeDirectory = "/home/${config.user.name}";
modules = { modules = {
gui.enable = true;
browsers.enable = true;
alacritty.enable = true;
fun.enable = true;
bash.enable = true; bash.enable = true;
git.enable = true; git.enable = true;
gpg.enable = true; gpg.enable = true;
neovim.enable = true; gui.enable = true;
utils.enable = true;
security.enable = true; security.enable = true;
corn.enable = true; utils.enable = true;
}; };
} }

View file

@ -1,16 +1,9 @@
{ pkgs, lib, config, ... }:
{ {
imports = [ imports = [
./alacritty
./bash ./bash
./browsers
./corn
./fun
./git ./git
./gpg ./gpg
./gui ./gui
./neovim
./security ./security
./utils ./utils
]; ];

View file

@ -6,11 +6,21 @@ let
in in
{ options.modules.gui = { enable = mkEnableOption "gui"; }; { options.modules.gui = { enable = mkEnableOption "gui"; };
imports = [ ./modules ];
config = mkIf cfg.enable { config = mkIf cfg.enable {
wayland.windowManager.sway = import ./config/sway.nix { inherit pkgs config lib; }; wayland.windowManager.sway = import ./config/sway.nix { inherit pkgs config lib; };
programs.rofi = import ./config/rofi.nix { inherit pkgs config lib; }; programs.rofi = import ./config/rofi.nix { inherit pkgs config lib; };
programs.bash.profileExtra = import ./config/shellHook.nix; programs.bash.profileExtra = import ./config/shellHook.nix;
modules = {
alacritty.enable = true;
browsers.enable = true;
corn.enable = true;
fun.enable = true;
guiUtils.enable = true;
neovim.enable = true;
};
gtk = { gtk = {
enable = true; enable = true;
theme.package = pkgs.juno-theme; theme.package = pkgs.juno-theme;
@ -25,25 +35,10 @@ in
platformTheme = "gtk"; platformTheme = "gtk";
}; };
programs.btop.enable = true; programs = {
imv.enable = true;
};
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.packages = with pkgs; [
xdg-utils
grim
slurp
wl-clipboard
autotiling
imv
gimp
okular
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
emote
];
}; };
} }

View file

@ -8,8 +8,12 @@ in
{ options.modules.corn = { enable = mkEnableOption "corn"; }; { options.modules.corn = { enable = mkEnableOption "corn"; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
trezor-suite trezorctl trezor-suite
electrum bisq-desktop trezorctl
trezord
electrum
bisq-desktop
]; ];
}; };
} }

View file

@ -0,0 +1,12 @@
{
imports = [
./alacritty
./browsers
./corn
./fun
./guiUtils
./neovim
];
}

View file

@ -17,7 +17,7 @@ in
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
spotify webcord showmethekey cmatrix spotify webcord showmethekey
]; ];
}; };
} }

View file

@ -0,0 +1,19 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.guiUtils;
in
{ options.modules.guiUtils = { enable = mkEnableOption "guiUtils"; };
config = mkIf cfg.enable {
programs.btop.enable = true;
home.packages = with pkgs; [
gimp
pdftk
teams-for-linux
zoom-us
exercism
];
};
}

View file

@ -6,22 +6,21 @@ let
in in
{ options.modules.utils = { enable = mkEnableOption "utils"; }; { options.modules.utils = { enable = mkEnableOption "utils"; };
imports = [ ./modules ];
config = mkIf cfg.enable { config = mkIf cfg.enable {
modules = {
vim.enable = false;
email.enable = true;
irc.enable = true;
dev.enable = true;
};
home.packages = with pkgs; [ home.packages = with pkgs; [
wget curl tree neofetch wget curl tree neofetch
unzip fping calc qrencode unzip fping calc qrencode
fd pkg-config pciutils fd pkg-config pciutils
mdbook rsync docker exercism pandoc mdbook rsync pandoc texlive.combined.scheme-tetex
texlive.combined.scheme-tetex glibc zip asciidoctor
pdftk zoom-us zip teams-for-linux
aerc weechat asciidoctor
gcc
]; ];
home.file.".config/aerc" = {
source = ./aerc;
recursive = true;
};
}; };
} }

View file

@ -0,0 +1,8 @@
{
imports = [
./dev
./email
./irc
./vim
];
}

View file

@ -0,0 +1,20 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.dev;
in
{ options.modules.dev = { enable = mkEnableOption "dev"; };
config = mkIf cfg.enable {
home.packages = with pkgs; [
nix-init
nix-prefetch-git
glibc
gcc
docker
];
};
}

View file

@ -0,0 +1,19 @@
{ lib, config, ... }:
with lib;
let
cfg = config.modules.email;
in
{ options.modules.email = { enable = mkEnableOption "email"; };
config = mkIf cfg.enable {
programs.aerc = {
enable = true;
};
home.file.".config/aerc" = {
source = ./config;
recursive = true;
};
};
}

View file

@ -0,0 +1,14 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.irc;
in
{ options.modules.irc = { enable = mkEnableOption "irc"; };
config = mkIf cfg.enable {
home.packages = with pkgs; [
weechat
];
};
}

View file

@ -0,0 +1,15 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.vim;
in
{ options.modules.vim = { enable = mkEnableOption "vim"; };
config = mkIf cfg.enable {
programs.vim = {
enable = true;
extraConfig = import ./config/vimrc;
};
};
}

View file

@ -45,9 +45,6 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
pavucontrol pavucontrol
nix-init
nix-prefetch-git
]; ];
# DE # DE
@ -83,8 +80,6 @@
# System Services # System Services
services = { services = {
trezord.enable = true;
cron = { cron = {
enable = true; enable = true;
systemCronJobs = []; systemCronJobs = [];