the refactor continues!

This commit is contained in:
martyTF 2026-04-01 16:00:52 +02:00
parent db2103a37d
commit 90513a119c
21 changed files with 216 additions and 234 deletions

View file

@ -8,8 +8,11 @@
{
imports = [
./audio
./development
./gaming
./image
./misc
./peripherals
./video
./terminal
];

View file

@ -0,0 +1,16 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
./git.nix
./vscodium.nix
./python.nix
./godot.nix
./openssl.nix
];
}

View file

@ -0,0 +1,28 @@
{
config,
lib,
pkgs,
...
}:
{
config = {
programs = {
git = {
enable = true;
settings = {
init = {
defaultBranch = "main";
};
user = {
email = "${config.user.email}";
name = "${config.user.userName}";
};
push = {
autoSetupRemote = true;
};
};
};
};
};
}

View file

@ -0,0 +1,20 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
development = {
godot.enable = lib.mkEnableOption "enable godot";
};
};
config = lib.mkIf config.development.godot.enable {
home.packages = with pkgs; [
godot
];
};
}

View file

@ -0,0 +1,38 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
development = {
vscodium.enable = lib.mkEnableOption "enable vscodium";
};
};
config = lib.mkIf config.development.vscodium.enable {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
jnoortheen.nix-ide
alefragnani.project-manager
naumovs.color-highlight
geequlim.godot-tools
stylelint.vscode-stylelint
ecmel.vscode-html-css
esbenp.prettier-vscode
];
};
home.packages = with pkgs; [
nixfmt
];
home.sessionVariables = {
EDITOR = lib.mkDefault "codium";
};
};
}

View file

@ -0,0 +1,56 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
apps.misc = {
obsidian.enable = lib.mkEnableOption "enable obsidian";
bitwarden.enable = lib.mkEnableOption "enable bitwarden";
blender.enable = lib.mkEnableOption "enable blender";
syncthing = {
enable = lib.mkEnableOption "enable syncthing";
devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
};
};
config = {
environment.systemPackages = with pkgs; [
(lib.mkIf (config.apps.misc.obsidian.enable) obsidian)
(lib.mkIf (config.apps.misc.bitwarden.enable) rbw (
lib.mkIf (config.desktop.shell.rofi.enable) pinentry-curses rofi-rbw
))
(lib.mkIf (config.apps.misc.blender.enable) blender)
];
services = {
syncthing = lib.mkIf config.apps.misc.syncthing.enable {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
settings = {
devices = config.apps.misc.syncthing.devices;
folders = config.apps.misc.syncthing.folders;
};
overrideDevices = lib.mkIf (config.apps.misc.syncthing.devices == { }) false;
overrideFolders = lib.mkIf (config.apps.misc.syncthing.folders == { }) false;
};
};
};
}

View file

@ -16,6 +16,8 @@
[
unzip
btop
bc
openssl
]
++ lib.mkIf config.apps.terminal.toys [

View file

@ -7,9 +7,9 @@
{
imports = [
./launcher.nix
./noctalia.nix
./swww.nix
./walker.nix
./waybar.nix
];
}

View file

@ -0,0 +1,31 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop.shell = {
walker.enable = lib.mkEnableOption "enable walker";
rofi.enable = lib.mkEnableOption "enable rofi";
launcher = lib.mkOption {
default = (lib.mkIf config.desktop.shell.walker.enable "walker");
description = "default launcher"
};
};
};
config = {
programs = {
walker = lib.mkIf config.desktop.shell.walker.enable {
enable = true;
};
};
environment.systemPackages = with pkgs; [
(lib.mkIf (config.desktop.shell.rofi.enable) rofi)
];
};
}

View file

@ -1,23 +0,0 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
desktop.shell = {
walker.enable = lib.mkEnableOption "enable walker";
};
};
config = lib.mkIf config.desktop.shell.walker.enable {
programs = {
walker = {
enable = true;
};
};
};
}

View file

@ -6,6 +6,32 @@
}:
{
options = {
keybinds = {
modifier = lib.mkOption {
default = "Meta";
description = "modifier key";
};
hotkeys = {
terminal = lib.mkOption {
default = "Return";
description = "terminal hotkey";
};
launcher = lib.mkOption {
default = "D";
description = "launcher hotkey";
};
browser = lib.mkOption {
default = "O";
description = "browser hotkey";
};
editor = lib.mkOption {
default = "E";
description = "editor hotkey";
};
};
}
};
imports = [
./hyprland.nix
./niri.nix

View file

@ -15,6 +15,10 @@
main user name
'';
};
email = lib.mkOption {
default = "${config.user.userName}@${config.domain}";
description = "main user email"
}
shell = lib.mkOption {
default = pkgs.fish;
description = ''