This commit is contained in:
Peritia 2025-08-11 16:28:07 +02:00
parent 57736d3b98
commit 992fd5f726
18 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,28 @@
{
config,
pkgs,
lib,
...
}:
with lib; let
cfg = config.brave-and-extension;
in {
options.brave-and-extension.enable = mkEnableOption "Enable Brave with extensions and flags";
config = mkIf cfg.enable {
programs.brave = {
package = pkgs.brave;
enable = true;
extensions = [
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # uBlock Origin
];
commandLineArgs = [
"--disable-features=AutofillSavePaymentMethods"
"--disable-features=PasswordManagerOnboarding"
"--disable-features=AutofillEnableAccountWalletStorage"
];
};
};
}

View file

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

View file

@ -0,0 +1,15 @@
{
config,
lib,
pkgs,
...
}:
with lib; {
options.obsidian.enable = mkEnableOption "Enable Obsidian installation";
config = mkIf config.obsidian.enable {
home.packages = with pkgs; [
obsidian
];
};
}

View file

@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config;
officeApps = with pkgs; [
libreoffice
thunderbird
];
in {
options.officeApps.enable = mkEnableOption ''
Enable office/document applications (e.g., LibreOffice, Thunderbird)
'';
config = {
home.packages =
optionals cfg.officeApps.enable officeApps;
};
}

View file

@ -0,0 +1,17 @@
{
config,
pkgs,
lib,
...
}:
with lib; let
cfg = config.signal;
in {
options.signal.enable = mkEnableOption "Enable Signals Desktop Version";
config = mkIf cfg.enable {
home.packages = with pkgs; [
pkgs.signal-desktop
];
};
}

View file

@ -0,0 +1,16 @@
{
config,
lib,
pkgs,
...
}:
with lib; {
options.spotify.enable = mkEnableOption "Enable Spotify installation";
config = mkIf config.spotify.enable {
home.packages = with pkgs; [
spotify
cava
];
};
}

View file

@ -0,0 +1,22 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config;
standardApps = with pkgs; [
kdePackages.gwenview
kdePackages.okular
];
in {
options.standardApps.enable = mkEnableOption ''
Enable image and graphics applications (e.g., Gwenview, Okular)
'';
config = {
home.packages = optionals cfg.standardApps.enable standardApps;
};
}

View file

@ -0,0 +1,17 @@
{
config,
pkgs,
lib,
...
}:
with lib; let
cfg = config.vesktop;
in {
options.vesktop.enable = mkEnableOption "Enable Vesktop, the Custom Discord client, with extensions";
config = mkIf cfg.enable {
home.packages = with pkgs; [
pkgs.vesktop
];
};
}

View file

@ -0,0 +1,24 @@
{
config,
pkgs,
lib,
...
}:
with lib; let
cfg = config.vscodium-and-extension;
in {
options.vscodium-and-extension.enable = mkEnableOption "Enable VScodium with extensions";
config = mkIf cfg.enable {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
jnoortheen.nix-ide
ms-python.python
ms-azuretools.vscode-docker
];
};
};
}

View file

@ -0,0 +1,21 @@
{ config, lib, pkgs, ... }:
{
options.prismlauncher.enable = lib.mkEnableOption "Enable PrismLauncher and dependencies";
config = lib.mkIf config.prismlauncher.enable {
home.packages = [
(pkgs.prismlauncher.override {
# Add binary required by some mod
additionalPrograms = [ pkgs.ffmpeg ];
# Set Java runtimes
jdks = [
pkgs.jdk8
pkgs.jdk17
pkgs.jdk21 or pkgs.jdk
];
})
];
};
}

View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
options.protonvpn.enable = lib.mkEnableOption "Enable ProtonVPN and dependencies";
config = lib.mkIf config.protonvpn.enable {
home.packages = with pkgs; [
protonvpn-gui
];
};
}

View file

@ -0,0 +1,32 @@
# Import all modules so home.nix only needs to import this file
{ config, pkgs, lib, inputs, ... }: {
imports = [
################
# 🖥️ Desktop Apps #
################
./Desktop-Apps/krita.nix
./Desktop-Apps/obsidian.nix
./Desktop-Apps/office-apps.nix
./Desktop-Apps/signal-desktop.nix
./Desktop-Apps/spotify.nix
./Desktop-Apps/standard-apps.nix
./Desktop-Apps/vesktop.nix
./Desktop-Apps/vscodium.nix
#############
# 🌐 Browser #
#############
./Browser/brave/brave.nix
############
# 🎮 Gaming #
############
./Gaming/prismlauncher.nix
###########
# 🔐 VPNs #
###########
./VPN/protonvpn.nix
];
}

View file

@ -0,0 +1,17 @@
{ lib, config, pkgs, ... }:
{
options.cliTools.enable = lib.mkEnableOption "Enable CLI tools like fastfetch and hyfetch";
config = lib.mkIf config.cliTools.enable {
home.packages = with pkgs; [
fastfetch
hyfetch
bat
fzf
tree
lsd
tmux
];
};
}

View file

@ -0,0 +1,14 @@
# Import all modules so home.nix only needs to import this file
{ config, pkgs, lib, inputs, ... }: {
imports = [
####################
# 🧰 CLI Tools #
####################
./cli-tools/default.nix
####################
# 🐚 Zsh Shell #
####################
./zsh/default.nix
];
}

View file

@ -0,0 +1,43 @@
{
config,
pkgs,
lib,
...
}:
with lib; {
programs.zsh = {
enable = true;
enableCompletion = true;
plugins = [
{
name = "zsh-autosuggestions";
src = pkgs.zsh-autosuggestions;
}
{
name = "zsh-syntax-highlighting";
src = pkgs.zsh-syntax-highlighting;
}
];
initContent = ''
hyfetch
alias ls='lsd'
alias l='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias lt='ls --tree'
HISTFILE=~/.zsh_history;
HISTSIZE=10000;
SAVEHIST=10000;
setopt appendhistory;
'';
};
home.packages = with pkgs; [
zsh-autosuggestions
zsh-syntax-highlighting
];
}

View file

@ -0,0 +1,16 @@
# Import all modules so home.nix only needs to import this file
{ config, pkgs, lib, inputs, ... }: {
imports = [
#################
# 🖥 GUI Software #
#################
./GUI-Apps
#################
# 🐚 Shell Setup #
#################
./Shell
];
}